[cig-commits] r19718 - in seismo/3D/SPECFEM3D_GLOBE/trunk: . UTILS UTILS/Cluster UTILS/Cluster/CEA_CCRT_Paris UTILS/Cluster/IDRIS UTILS/Cluster/MareNostrum_Barcelona UTILS/Cluster/estimate_best_values_runs UTILS/Cluster/estimate_best_values_runs/scaling_nodes UTILS/Cluster/lsf UTILS/Cluster/lsf/remap_database UTILS/Cluster/pbs UTILS/Cluster/sge UTILS/Profiles UTILS/SeismiQuery UTILS/Visualization UTILS/Visualization/Blender UTILS/Visualization/GMT UTILS/Visualization/Gnuplot UTILS/Visualization/Gnuplot/display_PREM_model UTILS/Visualization/GoogleEarth UTILS/Visualization/Grace UTILS/Visualization/Paraview UTILS/Visualization/Paraview/global_slice_util UTILS/Visualization/Paraview/matlab UTILS/Visualization/Paraview/mesh2vtu UTILS/Visualization/VTK UTILS/Visualization/opendx_AVS UTILS/adjoint_sources UTILS/adjoint_sources/amplitude UTILS/adjoint_sources/traveltime UTILS/attenuation UTILS/central_cube UTILS/chunk_notes_scanned UTILS/collect_database UTILS/doubling_brick UTILS/extract_database UTILS/funaro_routines_bernhard UTILS/lib UTILS/models_1066a_ak135 UTILS/oldstuff UTILS/oldstuff/anisotropy_sebastien UTILS/oldstuff/inline_code UTILS/oldstuff/movie_keken_morin UTILS/oldstuff/older_versions UTILS/oldstuff/tsuboi_movie_feb2004 UTILS/s362ani UTILS/seis_process UTILS/seis_process/asc2sac UTILS/seis_process/sac2asc

dkomati1 at geodynamics.org dkomati1 at geodynamics.org
Sun Mar 4 10:23:59 PST 2012


Author: dkomati1
Date: 2012-03-04 10:23:58 -0800 (Sun, 04 Mar 2012)
New Revision: 19718

Added:
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/CMTSOLUTION_to_AkiRichards.c
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/CEA_CCRT_Paris/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/CEA_CCRT_Paris/script_MPI_150_mesher_CEA_CCRT.sh
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/CEA_CCRT_Paris/script_MPI_150_solver_CEA_CCRT.sh
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/CEA_CCRT_Paris/submit_all_MPI_150_mesher_CEA_CCRT.sh
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/CEA_CCRT_Paris/submit_all_MPI_150_solver_CEA_CCRT.sh
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/IDRIS/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/IDRIS/script_IDRIS_MPI.ll
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/IDRIS/script_IDRIS_OpenMP.ll
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/IDRIS/script_IDRIS_serial.ll
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/Makefile_things_to_add_to_use_ParaVer_and_PAPI.txt
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/README_important_paths_on_MareNostrum.txt
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/README_mpitrace_explained.xml
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/bash_profile_MareNostrum
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/generate_trace_marenostrum.sh
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/mpitrace.xml
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/script_marenostrum_parallel_merge_trace.ll
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/script_marenostrum_parallel_run_with_trace_mx.ll
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/script_marenostrum_parallel_run_without_trace_mx.ll
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/estimate_best_values_runs/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/estimate_best_values_runs/DATA
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/estimate_best_values_runs/estimate_best_values_runs.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/estimate_best_values_runs/scaling_nodes/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/estimate_best_values_runs/scaling_nodes/display_mesh_topology.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/estimate_best_values_runs/scaling_nodes/mesh_scaling_processors_ES_japan.xls
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/estimate_best_values_runs/scaling_nodes/mesh_scaling_processors_marenostrum.xls
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/go_mesher
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/go_solver
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/launch_solver_with_nohup.bash
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/cleanbase.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/cleanbase_all_nodes.bash
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/cleanbase_lsf_multi.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/go_mesher_lsf.bash
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/go_mesher_solver_lsf_globe.bash
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/go_mesher_solver_lsf_globe.kernel
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/go_solver_lsf.bash
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/remap_database/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/remap_database/compile
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/remap_database/exit_mpi.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/remap_database/old_machines
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/remap_database/remap.bash
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/remap_database/remap_database.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/remap_database/run_lsf
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/remap_lsf_machines.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/run_lsf.bash
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/run_lsf.kernel
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/pbs/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/pbs/go_mesher_pbs.bash
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/pbs/go_solver_pbs.bash
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/pbs/run_pbs.bash
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/pbs/valgrind_go_solver_pbs.bash
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/run3d.csh
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/sge/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/sge/go_mesher_sge.bash
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/sge/go_solver_sge.bash
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/sge/run_sge.bash
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/test_cache_size.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Profiles/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Profiles/README
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Profiles/write_profile.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/SeismiQuery/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/SeismiQuery/STATIONS_LH
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/SeismiQuery/STATIONS_LH_II_IU
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/SeismiQuery/dhi2mseed.py
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/SeismiQuery/find_sta.py
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/SeismiQuery/iris.txt
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/SeismiQuery/readme_STATIONS_LH
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/SeismiQuery/sta_info.py
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/SeismiQuery/stations_lh_info.txt
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Blender/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Blender/bin_movie_009000.d.png
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Blender/bin_sphere.blend
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Blender/bin_sphere.jpg
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Blender/readme.txt
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Blender/topo_globe.jpg
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Blender/topo_gray.cpt
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/README.txt
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/ascii_movie.jpg
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/blue_white_red.cpt
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/gmt_movie_009000.xyz.gif
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/gray_pyramid_inv.cpt
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_gmt_movie_file.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_gmt_movie_file_Japan.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_gmt_movie_file_qinya.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_movie_GMT_ascii.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_movie_GMT_ascii_PNG.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_movie_GMT_binary.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_movie_GMT_binary_PNG.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_movie_GMT_binary_gunzipped_PNG.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_seismos.gmt.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Gnuplot/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Gnuplot/PAS.TS.LHZ.gnu
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Gnuplot/create_gnuplot_script_to_compare_seismograms.csh
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Gnuplot/display_PREM_model/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Gnuplot/display_PREM_model/display_prem_model.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Gnuplot/display_PREM_model/plot_prem.gnu
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Gnuplot/draw_regular_2D_GLL_element_gnuplot.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Gnuplot/readme.txt
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GoogleEarth/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GoogleEarth/animation.jpg
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GoogleEarth/google-earth-kml.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GoogleEarth/readme.txt
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Grace/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Grace/create_record_section_Grace.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Grace/create_record_section_Grace.in
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Grace/readme.txt
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/AVS_continent_boundaries.inp
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/bird_boundaries_xyz.vtk
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/copy-info.sh
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/create_slice_VTK.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_number.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_number2.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_util/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_util/CMTSOLUTION
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_util/Makefile
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_util/constants.h
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_util/global_slice_number.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_util/make_az_stations.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_util/mod/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_util/normal_plane.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_util/obj/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_util/sub_slice_number.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/make_movie.m
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/README.lyx
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/README.pdf
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/chunk_map.m
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/compact_array.m
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/distaz.m
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/gcarc_station.m
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/norm_rot.m
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/norm_rot_back.m
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/normal_plane.m
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/normal_plane_orth.m
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/rotmat.m
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/slice_number.m
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/slice_number2.m
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/tp2norm.m
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/tp2norm2.m
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/tp2xyz.m
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/xsection_translate.m
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/xyz2tp.m
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/Makefile
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/cell2vtu.cxx
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/cell2vtu.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/century2xyz.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/mesh2vtu.cxx
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/mesh2vtu.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/points2vtu.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/surf2vtu.cxx
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/surf2vtu.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/ugrid.cxx
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/ugrid_pts.cxx
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/paraview-run.py
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/paraview_movie.000050.jpg
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/paraviewpython-example.py
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/readme.txt
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/VTK/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/VTK/bin_image.png
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/VTK/blue_white_red.cpt
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/VTK/convert_cpt_lookuptable_python.bash
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/VTK/gray_pyramid_inv.cpt
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/VTK/plot_VTK.py
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/VTK/plot_VTK_gray.py
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/VTK/plot_movie_GMT_binary_VTK.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/VTK/readme.txt
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/DX_continent_boundaries.dx
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/GMT_globe_palette_cropped.dat
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/GMT_globe_palette_opaque.cm
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/GMT_globe_palette_transparent.cm
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/add_logo_to_images.csh
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/assemble_final_MPEG_movie.csh
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/constants_topo.h
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/continent_boundaries_gmt.dat
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/convert_DX_to_AVS_slices.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/convert_DX_to_AVS_surface.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/convert_avs2dx_quads.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/convert_lat_long_epicenter_OpenDX.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/convert_lat_long_main_cities_OpenDX.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/convert_palette_GMT_OpenDX.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/convert_topo_bathy_to_OpenDX.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/create_continent_boundaries_AVS.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/create_continent_boundaries_DX.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/create_mpeg_OpenDX_sequences.csh
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/create_mpeg_title_sequences.csh
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/debug_val_proc_0.dx
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/earth_main_cities.dx
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/earth_topo_bathy.dx.bz2
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/epicenter.dx
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/frame_rate_MPEG.txt
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/frame_rates_MPEG_movies.txt
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/lat_long_main_cities_processed.dat
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/longlatdepth2xyz.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/min_max_topo_palette.txt
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/movie_network_DX_basic.cfg
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/movie_network_DX_basic.net
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/movie_network_DX_rotating_Earth.cfg
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/movie_network_DX_rotating_Earth.net
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/ori_GMT_globe_palette.dat
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/ori_lat_long_main_cities_Web.dat
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/permute_cubit_2_opendx.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/readme.txt
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/red_blue_waves.cm
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/shrink_elements_OpenDX_mesh.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/visu_valence_central_cube.cfg
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/visu_valence_central_cube.net
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/visualize_mesh_DX.cfg
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/visualize_mesh_DX.net
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/adjoint_sources/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/adjoint_sources/README
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/adjoint_sources/amplitude/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/adjoint_sources/amplitude/Makefile
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/adjoint_sources/amplitude/compile_cut
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/adjoint_sources/amplitude/create_adjsrc_amplitude.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/adjoint_sources/traveltime/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/adjoint_sources/traveltime/Makefile
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/adjoint_sources/traveltime/compile_cut
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/adjoint_sources/traveltime/create_adjsrc_traveltime.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/analyse_modules.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/analysedep.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/attenuation.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/attenuation_output.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/attenuation_prem.c
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/attenuation_simplex.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/input_Q_DK_01_1000
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/input_Q_DK_02_1000
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/input_Q_DK_03_1000
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/input_Q_DK_04_1000
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/input_Q_DK_05_1000
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/input_Q_DK_08_1000
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/input_Q_DK_10_1000
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/input_Q_DK_20_1000
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/makefile
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/prem_is222
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/run_attenuation.csh
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/run_attenuation2.sh
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/central_cube/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/central_cube/IC_analysis.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/central_cube/cube_line.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/central_cube/cube_surf.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/change_simulation_type.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/chunk_notes_scanned/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/chunk_notes_scanned/all_chunk_notes_scanned.pdf
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/chunk_notes_scanned/chunk_notes_scanned_1.jpg
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/chunk_notes_scanned/chunk_notes_scanned_2.jpg
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/chunk_notes_scanned/chunk_notes_scanned_3.jpg
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/chunk_notes_scanned/historic_cubed_sphere_Harvard_year_2000.pdf
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/chunk_notes_scanned/historic_cubed_sphere_Harvard_year_2000.tif
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/chunk_notes_scanned/numbering_convention_27_nodes.jpg
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/chunk_notes_scanned/numbering_convention_27_nodes.tif
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/clean_sac_headers_after_crash.sh
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/collect_database/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/collect_database/collect_seismo.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/collect_database/collect_seismo_lsf_multi.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/collect_database/copy_ic_globe_database.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/collect_database/copy_m_globe_database.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/collect_database/copy_m_globe_database_dvp.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/collect_database/copy_oc_globe_database.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/collect_database/copy_surf_globe_database.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/convolve_source_timefunction.csh
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/cmb.dat
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/compute_thickness_elements_crust.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/constants_modified_v36.h
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/constants_modified_v40.h
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/convert_elements_OpenDX_to_CUBIT.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/convert_points_OpenDX_to_CUBIT.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/convert_superbrick_OpenDX_SPECFEM_format.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/count_nglob_analytical.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/create_new_doubling_brick.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/create_superbrick_duplicates.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/create_superbrick_no_duplicates.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/define_superbrick.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/define_superbrick.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/dimitri_superbrick_without_duplicates_CUBIT.inp
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/dimitri_superbrick_without_duplicates_OpenDX.dx
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/display_prem_sampling_doubling_full_2D.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/display_prem_sampling_doubling_slice_2D.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/display_prem_sampling_doubling_v36.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/display_prem_sampling_doubling_v40.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/display_prem_sampling_tripling_1.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/display_prem_sampling_tripling_2.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/extract_unique_points.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/generate_multiples_32.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/icb.dat
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/normalize_original_brick.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/ori_tripling.inp.txt
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/original_points_emanuele_DX.txt
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/shrink_elements_OpenDX_mesh.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/extract_all_seismos_from_large_file.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/extract_database/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/extract_database/extract_database.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/filter_station_list.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/funaro_routines_bernhard/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/funaro_routines_bernhard/routines_SEM_Bernhard_diff_lagrange.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/funaro_routines_bernhard/routines_SEM_Bernhard_funaro.tar.gz
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/generate_station_list_NS.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/generate_station_list_equator.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/generate_station_list_one_fourth.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/generate_table_NEX_manual.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/CMT_TOOLS.pm
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/DELAZ5.pm
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/FILE_TOOLS.pm
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/GMT_PLOT.pm
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/GMT_PLOT_SC.pm
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/Makefile
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/SACLST.pm
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/SAC_TOOLS.pm
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/TrimWhitespace.pm
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/asc2sac.c
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/config.h
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/convolve_stf.c
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/drw_ascfile.h
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/rw_ascfile_c.c
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/rw_ascfile_f.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/rw_fortran_wrapper.c
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/models_1066a_ak135/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/models_1066a_ak135/1066a.dat
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/models_1066a_ak135/ak135.dat
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/models_1066a_ak135/read_model_1066a.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/models_1066a_ak135/read_model_ak135.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/anisotropy_sebastien/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/anisotropy_sebastien/aniso_sebastien_serial_final_clean_13jul2003.tar.bz2
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/inline_code/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/inline_code/generate_sed_commands.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/movie_keken_morin/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/movie_keken_morin/specfem3D_movie_morin_hires.tar.bz2
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/older_versions/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/older_versions/bak_full_fluid_with_iter.tar.bz2
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/tsuboi_movie_feb2004/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/tsuboi_movie_feb2004/SPECFEM3D_GLOBE_movie_tsuboi.tar.gz
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/tsuboi_movie_feb2004/movie_network_dx.cfg
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/tsuboi_movie_feb2004/movie_network_dx.net
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/tsuboi_movie_feb2004/subsample_movie_files_tsuboi.csh
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/tsuboi_movie_feb2004/subsample_movie_files_tsuboi.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/tsuboi_movie_feb2004/visualize_mesh_DX.cfg
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/tsuboi_movie_feb2004/visualize_mesh_DX.net
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/s362ani/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/s362ani/REF
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/s362ani/extract_reference_model.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/s362ani/program_test_s362ani.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/asc2sac/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/asc2sac/asc2sac.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/asc2sac/ascfile.f90
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/asc2sac/compile
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/ascii2sac.csh
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/phtimes.csh
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/process_data.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/process_syn.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/readme.txt
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/rotate.pl
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/sac2asc/
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/sac2asc/Makefile
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/sac2asc/sac2asc.c
   seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/strike_dip_rake_to_CMTSOLUTION.c
Log:
re-added UTILS, which had been lost when a SVN commit went wrong earlier today


Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/CMTSOLUTION_to_AkiRichards.c
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/CMTSOLUTION_to_AkiRichards.c	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/CMTSOLUTION_to_AkiRichards.c	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,74 @@
+/*---------------------------------------------------------------------------
+ *
+ *      Copyright (c) 2000-2004 by Onur TAN
+ *      See COPYING file for copying and redistribution conditions.
+ *
+ *      This program is free software; you can redistribute it and/or modify
+ *      it under the terms of the GNU General Public License as published by
+ *      the Free Software Foundation; version 2 of the License.
+ *
+ *      This program is distributed in the hope that it will be useful,
+ *      but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *      GNU General Public License for more details.
+ *
+ *      Contact info:   Onur TAN,
+ *      Istanbul Technical University, Faculty of Mines
+ *      Department of Geophysics, Maslak, Istanbul-TURKEY
+ *      www.geop.itu.edu.tr/~onur
+ *                    tano at itu.edu.tr
+ *--------------------------------------------------------------------------*/
+
+/*  cmt2aki.c  : Converts Harvard-CMT moment moment tensor elements to Aki&Richard 1980 convention
+  by Onur TAN
+  ITU, Dept. of Geophysics, Istanbul, Turkey,10Jan2004
+*/
+
+// Modified by Dimitri Komatitsch, University of Pau, France, September 2007
+
+/* Harvard CMTSOLUTION format is for instance
+Mrr:      -7.600000e+27
+Mtt:       7.700000e+27
+Mpp:      -2.000000e+26
+Mrt:      -2.500000e+28
+Mrp:       4.000000e+26
+Mtp:      -2.500000e+27
+*/
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <math.h>
+
+int main ( int argc, char* argv[] )
+{
+float Mrr, Mtt, Mpp, Mrt, Mrp, Mtp;
+float Mxx, Myy, Mzz, Mxy, Mxz, Myz;
+
+if ( argc != 7 )  {
+printf("\nHRV-CMT - Aki&Richards1980 Moment Tensor Element Converter (by Onur TAN)\n");
+printf("Usage : cmt2aki  Mrr Mtt Mpp Mrt Mrp Mtp\n") ;
+printf("Input Harvard CMTSOLUTION:  Mrr Mtt Mpp Mrt Mrp Mtp\n") ;
+printf("Output Aki&Richards1980:  Mxx  Myy  Mzz  Mxy  Mxz  Myz \n\n");
+exit(1);
+}
+
+Mrr  = atof ( argv[1] );
+Mtt  = atof ( argv[2] );
+Mpp  = atof ( argv[3] );
+Mrt  = atof ( argv[4] );
+Mrp  = atof ( argv[5] );
+Mtp  = atof ( argv[6] );
+
+Mxx  = Mtt ;
+Myy  = Mpp ;
+Mzz  = Mrr ;
+Mxy  = Mtp * -1. ;
+Mxz  = Mrt ;
+Myz  = Mrp * -1. ;
+
+printf("Output Aki&Richards1980:  Mxx  Myy  Mzz  Mxy  Mxz  Myz \n");
+printf("%9.5f %9.5f %9.5f %9.5f %9.5f %9.5f\n",Mxx, Myy, Mzz, Mxy, Mxz, Myz);
+
+}
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/CEA_CCRT_Paris/script_MPI_150_mesher_CEA_CCRT.sh
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/CEA_CCRT_Paris/script_MPI_150_mesher_CEA_CCRT.sh	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/CEA_CCRT_Paris/script_MPI_150_mesher_CEA_CCRT.sh	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,28 @@
+#!/bin/bash
+
+########### -n : number of tasks that will be used in parallel mode (default=1)
+########### -N : number of nodes to allocate for parallel usage (default is chosen by the underlying system)
+########### -c : number of cores per parallel task to allocate (default=1)
+#MSUB -n 150      # Reservation des coeurs de processeurs
+#MSUB -N 19      # nombre total de noeuds a utiliser (mettre n/8 car on prend 4 coeurs de CPUs par noeud)
+#MSUB -c  1     # 1 coeur par tache MPI
+
+#MSUB -r MESHFEM150          # Nom du job                
+#################################MSUB -T 3600                # Limite de temps elapsed du job en secondes
+#MSUB -T 1799                # Limite de temps elapsed du job en secondes
+#BSUB -x              # mode exclusif
+#MSUB -o output_night_mesher_150.o          # Sortie standard
+#MSUB -e output_night_mesher_150.e          # Sortie d'erreur       
+##############MSUB -@ dimitri.komatitsch at univ-pau.fr:end    # envoie un mail a l'adresse indiquee en fin de job
+##############MSUB -j oe                 # join output and error
+#MSUB -k n                  # do not keep older output and error from previous jobs with the same name
+
+set -x
+cd $BRIDGE_MSUB_PWD
+
+echo $PBS_NODEFILE
+
+##########################
+
+mpirun -np 150 ./xmeshfem3D
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/CEA_CCRT_Paris/script_MPI_150_mesher_CEA_CCRT.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/CEA_CCRT_Paris/script_MPI_150_solver_CEA_CCRT.sh
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/CEA_CCRT_Paris/script_MPI_150_solver_CEA_CCRT.sh	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/CEA_CCRT_Paris/script_MPI_150_solver_CEA_CCRT.sh	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,28 @@
+#!/bin/bash
+
+########### -n : number of tasks that will be used in parallel mode (default=1)
+########### -N : number of nodes to allocate for parallel usage (default is chosen by the underlying system)
+########### -c : number of cores per parallel task to allocate (default=1)
+#MSUB -n 150      # Reservation des coeurs de processeurs
+#MSUB -N 19      # nombre total de noeuds a utiliser (mettre n/8 car on prend 4 coeurs de CPUs par noeud)
+#MSUB -c  1     # 1 coeur par tache MPI
+
+#MSUB -r SPECFEM150          # Nom du job                
+################################MSUB -T 3600                # Limite de temps elapsed du job en secondes
+#MSUB -T 1799                # Limite de temps elapsed du job en secondes
+#BSUB -x              # mode exclusif
+#MSUB -o output_night_solver_150.o          # Sortie standard
+#MSUB -e output_night_solver_150.e          # Sortie d'erreur       
+##############MSUB -@ dimitri.komatitsch at univ-pau.fr:end    # envoie un mail a l'adresse indiquee en fin de job
+##############MSUB -j oe                 # join output and error
+#MSUB -k n                  # do not keep older output and error from previous jobs with the same name
+
+set -x
+cd $BRIDGE_MSUB_PWD
+
+echo $PBS_NODEFILE
+
+##########################
+
+mpirun -np 150 ./xspecfem3D
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/CEA_CCRT_Paris/script_MPI_150_solver_CEA_CCRT.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/CEA_CCRT_Paris/submit_all_MPI_150_mesher_CEA_CCRT.sh
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/CEA_CCRT_Paris/submit_all_MPI_150_mesher_CEA_CCRT.sh	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/CEA_CCRT_Paris/submit_all_MPI_150_mesher_CEA_CCRT.sh	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+\rm -f output_night.o output_night.e core.*
+
+ulimit -S -s unlimited
+
+ccc_msub -p gen6351 script_MPI_150_mesher_CEA_CCRT.sh
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/CEA_CCRT_Paris/submit_all_MPI_150_mesher_CEA_CCRT.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/CEA_CCRT_Paris/submit_all_MPI_150_solver_CEA_CCRT.sh
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/CEA_CCRT_Paris/submit_all_MPI_150_solver_CEA_CCRT.sh	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/CEA_CCRT_Paris/submit_all_MPI_150_solver_CEA_CCRT.sh	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+\rm -f output_night.o output_night.e core.*
+
+ulimit -S -s unlimited
+
+ccc_msub -p gen6351 script_MPI_150_solver_CEA_CCRT.sh
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/CEA_CCRT_Paris/submit_all_MPI_150_solver_CEA_CCRT.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/IDRIS/script_IDRIS_MPI.ll
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/IDRIS/script_IDRIS_MPI.ll	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/IDRIS/script_IDRIS_MPI.ll	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,80 @@
+
+# Choix du shell
+# @ shell = /bin/ksh
+
+# Nombre de processus MPI demandes
+# @ total_tasks = 24
+
+# Temps CPU maximum par processus MPI en hh:mm:ss
+# @ cpu_limit = 04:59:59
+
+# Memoire maximum utilisee par processus dans data et dans stack
+# @ data_limit = 2.0Gb
+
+# @ stack_limit = 1.0Gb,1.0Gb
+
+# Nom arbitraire du travail LoadLeveler
+# @ job_name = run_SPECFEM3D_acoustic_MPI
+
+#----------------------------------------------------
+
+# Type de travail
+# @ job_type = parallel
+
+# Fichier de sortie standard du travail
+# @ output = $(job_name).$(jobid)
+
+# Fichier de sortie d'erreur du travail
+# @ error =  $(job_name).$(jobid)
+
+# @ queue
+
+#----------------------------------------------------
+
+# Pour avoir l'echo des commandes
+set -x
+
+##### nom du repertoire depuis ou est lance le code
+##### et nom du sous-repertoire ou sera stockee la base de donnees
+##### La variable LOADL_STEP_INITDIR est automatiquement positionnee par
+##### LoadLeveler au repertoire dans lequel on tape la commande llsubmit
+export repertoire_code=$( basename $LOADL_STEP_INITDIR )
+export repertoire_database=DATABASES_MPI_DIMITRI
+
+# vider les sous-repertoires dans le repertoire de depart
+rm -r -f $LOADL_STEP_INITDIR/OUTPUT_FILES $LOADL_STEP_INITDIR/$repertoire_database
+
+# copier les codes source depuis le repertoire de depart vers le repertoire temporaire
+rm -r -f $TMPDIR/$repertoire_code
+cp -r -p $LOADL_STEP_INITDIR $TMPDIR
+
+# creer les nouveaux sous-repertoires dans le repertoire temporaire
+mkdir $TMPDIR/$repertoire_code/OUTPUT_FILES $TMPDIR/$repertoire_code/$repertoire_database
+
+# aller dans le repertoire temporaire
+cd $TMPDIR/$repertoire_code
+
+# compiler le mailleur et l'executer en MPI
+make clean
+make meshfem3D
+./bin/xmeshfem3D
+
+# compiler le solver et l'executer en MPI
+make clean
+make specfem3D
+./bin/xspecfem3D
+
+# deplacer les sismogrammes dans le repertoire de travail
+mv $TMPDIR/$repertoire_code/$repertoire_database/*.semd $TMPDIR/$repertoire_code
+
+# supprimer la base de donnees creee car elle est de tres grande taille
+rm -r -f $TMPDIR/$repertoire_code/$repertoire_database
+
+# recuperer le job ID
+export myjobid=$( echo $LOADL_STEP_ID | cut -d'.' -f4 )
+
+# deplacer tous les resultats dans le workdir en ajoutant le job ID au nom
+# sortir d'abord dans home pour pouvoir detruire le repertoire courant de tmpdir
+cd $HOME
+mv $TMPDIR/$repertoire_code $WORKDIR/${repertoire_code}_${myjobid}
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/IDRIS/script_IDRIS_OpenMP.ll
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/IDRIS/script_IDRIS_OpenMP.ll	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/IDRIS/script_IDRIS_OpenMP.ll	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,59 @@
+# Nom arbitraire du travail LoadLeveler
+# @ job_name = Maxwell_3D_FDTD_PML_OpenMP
+
+# Type de travail
+# @ job_type = serial
+
+# Choix de l'interpreteur de commande
+# @ shell = /bin/ksh
+
+# Fichier de sortie standard du travail
+# @ output = $(job_name).$(jobid)
+
+# Fichier de sortie d'erreur du travail
+# @ error =  $(job_name).$(jobid)
+
+# Temps CPU max. en seconde (pour 1 heure elapsed, compter OMP_NUM_THREADS heures)
+# @ cpu_limit = 43200
+
+# Memoire max. en data utilisee
+# @ data_limit = 11.5Gb
+
+# Memoire max. en stack utilisee
+# @ stack_limit = 1.2Gb,1.2Gb
+
+# Nombre de processeurs a affecter aux threads
+# OpenMP (ici 4, voir plus bas la variable OMP_NUM_THREADS).
+# @ resources = ConsumableCpus(4)
+
+# @ queue
+
+# Pour avoir l'echo des commandes
+set -x
+
+# Repertoire temporaire de travail
+################cd $TMPDIR
+
+# La variable LOADL_STEP_INITDIR est automatiquement positionnee par
+# LoadLeveler au repertoire dans lequel on tape la commande llsubmit
+################cp $LOADL_STEP_INITDIR/source.f .
+
+# Repertoire temporaire de travail
+cd $HOME/code_3D/with_PML_OpenMP_4tasks
+
+# Compilation et edition de liens d'un programme OpenMP au format libre
+rm -f xonde3D
+xlf_r -qsmp=omp -O4 -qfree=f90 -qsuffix=f=f90 -o xonde3D onde3d_mathieu_maxwell_PML_12oct2005.f90
+
+# La memoire STACK max. (defaut 4Mo) utilisee (ici 64 Mo) par
+# les variables privees de chaque thread
+export XLSMPOPTS=stack=65536000
+
+# Variables d'environnement indiquant le nombre de threads OpenMP
+# (indiquer une valeur identique a celle positionnee plus haut
+# dans la directive threads_per_task)
+export OMP_NUM_THREADS=4
+
+# Execution du programme OpenMP
+./xonde3D
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/IDRIS/script_IDRIS_serial.ll
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/IDRIS/script_IDRIS_serial.ll	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/IDRIS/script_IDRIS_serial.ll	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,73 @@
+
+# Choix du shell
+# @ shell = /bin/ksh
+
+# Temps CPU max. par processus MPI en hh:mm:ss
+# @ cpu_limit = 00:59:59
+
+# Mémoire max. utilisée par processus dans data et dans stack
+# @ data_limit = 14.5Gb
+
+# @ stack_limit = 1.0Gb,1.0Gb
+
+# Nom arbitraire du travail LoadLeveler
+# @ job_name = run_CPML_serial
+
+#----------------------------------------------------
+
+# Fichier de sortie standard du travail
+# @ output = $(job_name).$(jobid)
+
+# Fichier de sortie d'erreur du travail
+# @ error =  $(job_name).$(jobid)
+
+# @ queue
+
+#----------------------------------------------------
+
+# Pour avoir l'echo des commandes
+set -x
+
+##### nom du repertoire depuis ou est lance le code
+##### et nom du sous-repertoire ou sera stockee la base de donnees
+##### La variable LOADL_STEP_INITDIR est automatiquement positionnee par
+##### LoadLeveler au repertoire dans lequel on tape la commande llsubmit
+export repertoire_code=$( basename $LOADL_STEP_INITDIR )
+export repertoire_database=DATABASES_MPI_DIMITRI
+
+# vider les repertoires dans le home
+rm -r -f $LOADL_STEP_INITDIR/OUTPUT_FILES $LOADL_STEP_INITDIR/$repertoire_database
+
+# copier les codes source depuis le home vers le repertoire temporaire
+rm -r -f $TMPDIR/$repertoire_code
+cp -r -p $LOADL_STEP_INITDIR $TMPDIR
+
+# creer les nouveaux repertoires temporaires
+mkdir $TMPDIR/$repertoire_code/OUTPUT_FILES $TMPDIR/$repertoire_code/$repertoire_database
+
+cd $TMPDIR/$repertoire_code
+
+# compiler et executer le mailleur en MPI
+make clean
+make meshfem3D
+./xmeshfem3D
+
+# compiler et executer le solver en MPI
+make clean
+make specfem3D
+./bin/xspecfem3D
+
+# deplacer les sismogrammes dans le repertoire de travail
+mv $TMPDIR/$repertoire_code/$repertoire_database/*.semd $TMPDIR/$repertoire_code
+
+# supprimer la base de donnees creee
+rm -r -f $TMPDIR/$repertoire_code/$repertoire_database
+
+# recuperer le job ID
+export myjobid=$( echo $LOADL_STEP_ID | cut -d'.' -f4 )
+
+# deplacer tous les resultats dans le workdir en ajoutant le job ID au nom
+# sortir d'abord dans home pour pouvoir detruire le repertoire courant de tmpdir
+cd $HOME
+mv $TMPDIR/$repertoire_code $WORKDIR/${repertoire_code}_${myjobid}
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/IDRIS/script_IDRIS_serial.ll
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/Makefile_things_to_add_to_use_ParaVer_and_PAPI.txt
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/Makefile_things_to_add_to_use_ParaVer_and_PAPI.txt	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/Makefile_things_to_add_to_use_ParaVer_and_PAPI.txt	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,9 @@
+
+May 2009: there is no need to add tracing libraries to the Makefile any more
+to generate some ParaVer traces. Just type on MareNostrum:
+
+./configure FC=xlf_r
+
+and then edit the Makefile to use
+-qtune=ppc970 -qarch=ppc64v instead of -qtune=auto -qarch=auto
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/README_important_paths_on_MareNostrum.txt
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/README_important_paths_on_MareNostrum.txt	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/README_important_paths_on_MareNostrum.txt	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,16 @@
+
+Right path of ParaVer, May 2009:
+/gpfs/apps/CEPBATOOLS/mpitrace-mx/64
+
+Right path of examples of ParaVer, May 2009:
+/gpfs/apps/CEPBATOOLS/mpitrace-mx/64/share/example
+
+Storage space available (do NOT use the home directory, which is limited to 20 GB):
+
+# added in May 2009: directories with a lot of free space
+## DK DK the best is to work in "projects", NOT "scratch"
+## DK DK because it is bigger and is kind of permanent
+
+alias cdprojects='pushd /gpfs/projects/bsc42/bsc42023'
+alias cdscratch='pushd /gpfs/scratch/bsc42/bsc42023'
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/README_mpitrace_explained.xml
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/README_mpitrace_explained.xml	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/README_mpitrace_explained.xml	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,172 @@
+<?xml version='1.0'?>
+
+<!-- Here comes the MPItrace configuration.
+     As a general rule, "enabled" means that the feature is enabled :)  If
+     it's not enabled, then the value can be set to some default.
+-->
+
+<!-- Must we activate the tracing? Which is the tracing mode? (detail/bursts) Where is it located? Which kind of trace? Version of the XML parser?-->
+<trace enabled="yes"
+ home="/gpfs/apps/CEPBATOOLS/mpitrace-mx/64"
+ initial-mode="detail"
+ type="paraver"
+ xml-parser-id="Id: xml-parse.c,v 1.20 2008/05/19 13:55:11 harald Exp $"
+>
+
+  <!-- Configuration of some MPI dependant values -->
+  <mpi enabled="yes">
+    <!-- Gather counters in the MPI routines? -->
+    <counters enabled="yes" />
+  </mpi>
+
+  <!-- Emit information of the callstack -->
+  <callers enabled="yes">
+    <!-- At MPI calls, select depth level -->
+    <mpi enabled="yes">1-3</mpi>
+    <!-- At sampling points, select depth level -->
+    <sampling enabled="yes">1-5</sampling>
+  </callers>
+
+  <!-- Configuration of some OpenMP dependant values -->
+  <openmp enabled="no">
+    <!-- If the library instruments OpenMP, shall we gather info about locks?
+         Obtaining such information can make the final trace quite large.
+    -->
+    <locks enabled="no" />
+    <!-- Gather counters in the OpenMP routines? -->
+    <counters enabled="yes" />
+  </openmp>
+
+  <!-- Configuration of User Functions -->
+  <user-functions enabled="yes" list="/home/bsc41/bsc41273/user-functions.dat">
+    <!-- Set a depth limit for the UF routines -->
+    <max-depth enabled="no">3</max-depth>
+    <!-- Gather counters on the UF routines? -->
+    <counters enabled="yes" />
+  </user-functions>
+
+  <!-- Configure which software/hardware counters must be collected -->
+  <counters enabled="yes">
+    <!-- Configure the CPU hardware counters. You can define here as many sets
+         as you want. You can also define if MPI/OpenMP calls must report such
+         counters.
+         Starting-set property defines which set is chosen from every task.
+         Possible values are:
+           - cyclic : The sets are distributed in a cyclic fashion among all
+           tasks. So Task 0 takes set 1, Task 1 takes set 2,...
+           - block  : The sets are distributed in block fashion among all tasks.
+           Task [0..i-1] takes set 1, Task [i..2*i-1] takes set 2, ...
+           - Number : All the tasks will start with the given set 
+           (from 1..N).
+    -->
+    <cpu enabled="yes" starting-set-distribution="1">
+      <!-- In this example, we configure two sets of counters. The first will 
+           be changed into the second after 5 calls to some collective
+           operation on MPI_COMM_WORLD. Once the second is activated, it will
+           turn to the first after 5seconds (aprox. depending on the MPI calls
+           granularity)
+           If you want that any set be counting forever, just don't set
+           changeat-globalops, or, changeat-time.
+
+           Each set has it's own properties.
+           domain -> in which domain must PAPI obtain the information (see
+                       PAPI info)
+           changeat-globalops=num -> choose the next set after num
+                       MPI_COMM_WORLD operations
+           changeat-time=numTime -> choose the next set after num Time
+                       (for example 5s, 15m,..)
+      -->
+      <set enabled="yes" domain="all" changeat-globalops="5">
+        PAPI_TOT_INS,PAPI_TOT_CYC,PAPI_L1_DCM
+        <!-- Samples the application based on a frequency on a selected HWC  -->
+        <sampling enabled="yes" frequency="100000000">PAPI_TOT_CYC</sampling>
+      </set>
+      <set enabled="yes" domain="user" changeat-globalops="5">
+        PAPI_TOT_INS,PAPI_FP_INS,PAPI_TOT_CYC
+      </set>
+    </cpu>
+
+    <!-- Do we want to gather information of the network counters?
+         Nowadays we can gather information about MX/GM cards.
+     -->
+    <network enabled="yes" />
+
+    <!-- Obtain resource usage information -->
+    <resource-usage enabled="yes" />
+  </counters>
+
+  <!-- Define the characteristics of the tracing storage. If not defined,
+       or set, the tracing will send the traces to the current directory
+       with a default output name.
+  -->
+  <storage enabled="no">
+    <!-- The intermediate files will take the name of the application -->
+    <trace-prefix enabled="yes">TRACE</trace-prefix>
+    <!-- Stop the tracing when the intermediate file reaches this amount of MBs -->
+    <size enabled="no">5</size>
+    <!-- Where must we store the MPIT files while the app runs?
+         Set make-dir to yes if you want to make this directory before running -->
+    <temporal-directory enabled="yes" make-dir="no">/scratch</temporal-directory>
+    <!-- Where must we store the MPIT files once the app ends?
+         Set make-dir to yes if you want to make this directory before running -->
+    <final-directory enabled="yes" make-dir="no">/gpfs/scratch/bsc41/bsc41273</final-directory>
+    <!-- Must the MPITs be gathered once the app ends into a single node? -->
+    <gather-mpits enabled="no" />
+  </storage>
+
+  <!-- Buffer configuration -->
+  <buffer enabled="yes">
+    <!-- How many events can we handle before any flush -->
+    <size enabled="yes">150000</size>
+    <!-- Use the event buffer in a circular manner? You can use this option to
+         trace the last set of events. Needs MPI global routines operating on
+         MPI_COMM_WORLD communicator to be merged
+    -->
+    <circular enabled="no" />
+  </buffer>
+
+  <!-- Control tracing -->
+  <trace-control enabled="yes">
+    <!-- We can start the application with a "latent tracing" and wake it up
+         once a control file is created. Use the property 'frequency' to
+         choose at which frequency this check must be done. If not supplied,
+         it will be checked every 100 global operations on MPI_COMM_WORLD.
+    -->
+    <file enabled="no" frequency="5m">/gpfs/scratch/bsc41/bsc41273/control</file>
+    <!-- 
+    -->
+    <global-ops enabled="no"></global-ops>
+    <!-- A signal can be used to terminate the tracing. Available values can be
+         only USR1/USR2 Some MPI implementations handle one of those, so check
+         first which is available to you. -->
+    <remote-control enabled="no" method="signal">USR1</remote-control>
+  </trace-control>
+
+  <!-- Other options -->
+  <others enabled="yes">
+    <!-- Want to force a minimum amount of time of tracing? Here we force 10
+         minutes -->
+    <minimum-time enabled="no">10m</minimum-time>
+  </others>
+
+  <!-- Bursts library enabled? This requires an special library! -->
+  <bursts enabled="no">
+    <!-- Specify the threshold. This is mandatory! In this example, the
+         threshold is limitted to 500 microseconds
+     -->
+    <threshold enabled="yes">500u</threshold>
+    <!-- Report MPI statistics? -->
+    <mpi-statistics enabled="yes" />
+  </bursts>
+
+  <!-- Cell BE specific tracing options -->
+  <cell enabled="no">
+    <!-- Limit the size of the intermediate files for every SPU -->
+    <spu-file-size enabled="yes">5</spu-file-size>
+    <!-- Which is the buffer size per SPU? -->
+    <spu-buffer-size enabled="yes">64</spu-buffer-size>
+    <!-- Which DMA tag to use for the tracing flushes? -->
+    <spu-dma-channel enabled="yes">2</spu-dma-channel>
+  </cell>
+
+</trace>

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/bash_profile_MareNostrum
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/bash_profile_MareNostrum	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/bash_profile_MareNostrum	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,73 @@
+
+alias l1='ssh login1'
+alias l2='ssh login2'
+alias l3='ssh login3'
+alias l4='ssh login4'
+alias l5='ssh login5'
+alias l6='ssh login6'
+alias l7='ssh login7'
+alias l8='ssh login8'
+
+alias vi='/usr/bin/vim -i NONE'
+
+alias gosis='pushd /gpfs/scratch/hpce07/hpce07084/seismograms_BSC'
+
+alias gotrace='pushd /gpfs/scratch/hpce07/hpce07084/traces_BSC'
+alias gotraces='pushd /gpfs/scratch/hpce07/hpce07084/traces_BSC'
+
+# added in June 2007: directories with ParaVer and LoadLeveler examples
+alias goparaver='pushd /gpfs/apps/CEPBATOOLS/tracing-example'
+alias goloadlever='pushd /home/usertest/usertest'
+
+# autoriser destruction de fichiers existants
+unset noclobber
+ 
+alias rm='/bin/rm -f'
+
+export PATH=/gpfs/apps/CEPBATOOLS/bin:/usr/local/bin:/gpfs/home/hpce07/hpce07084/bin:.:$PATH
+export PARAVER_HOME=/gpfs/apps/CEPBATOOLS/
+umask 077
+
+# acces a MareNostrum
+alias sshmarenostrum='ssh hpce07084 at mn1.bsc.es'
+
+# diverses definitions
+#####alias .='echo $cwd'
+alias ..='set dot=$cwd;cd ..'
+alias ls='/bin/ls '
+alias ll='/bin/ls -lagF '
+alias lm='/bin/ls -lagF | less'
+alias po='popd'
+alias pu='pushd'
+alias k='kill -9 '
+alias h='history'
+alias cls='clear'
+alias m='less'
+alias more='less'
+alias bc='bc -l'
+
+# du in megabytes with only one level of subdirectories
+##alias du='du --max-depth=1 --block-size=MB --human-readable'
+alias du='du --max-depth=1 --human-readable'
+
+# set prompt: ``username at hostname:/directory $ ''
+#PS1="[\u@\h:\w] "
+PS1="\u@\h: "
+
+# Check for bash (and that we haven't already been sourced).
+[ -z "$BASH_VERSION" -o -n "$BASH_COMPLETION" ] && return
+
+# Check for recent enough version of bash.
+bash=${BASH_VERSION%.*}; bmajor=${bash%.*}; bminor=${bash#*.}
+
+# Check for interactive shell.
+if [ -n "$PS1" ]; then
+  if [ $bmajor -eq 2 -a $bminor '>' 04 ] || [ $bmajor -gt 2 ]; then
+    if [ -r /etc/bash_completion ]; then
+      # Source completion code (with variable location)
+      . ${BASH_COMPLETION:=/etc/bash_completion}
+    fi
+  fi
+fi
+unset bash bminor bmajor
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/generate_trace_marenostrum.sh
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/generate_trace_marenostrum.sh	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/generate_trace_marenostrum.sh	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+export MPITRACE_HOME=/gpfs/apps/CEPBATOOLS/mpitrace-mx/64
+export MPTRACE_CONFIG_FILE=mpitrace.xml
+
+export LD_PRELOAD=${MPITRACE_HOME}/lib/libmpitrace.so
+
+## Run the desired program
+$*
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/mpitrace.xml
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/mpitrace.xml	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/mpitrace.xml	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,78 @@
+<?xml version='1.0'?>
+
+<trace enabled="yes"
+ home="/gpfs/apps/CEPBATOOLS/mpitrace-mx/64"
+ initial-mode="detail"
+ type="paraver"
+ xml-parser-id="Id: xml-parse.c,v 1.20 2008/05/19 13:55:11 harald Exp $"
+>
+  <mpi enabled="yes">
+    <counters enabled="yes" />
+  </mpi>
+
+  <openmp enabled="no">
+    <locks enabled="no" />
+    <counters enabled="yes" />
+  </openmp>
+
+  <callers enabled="yes">
+    <mpi enabled="yes">1-3</mpi>
+    <sampling enabled="no">1-5</sampling>
+  </callers>
+
+  <user-functions enabled="no" list="/home/bsc41/bsc41273/user-functions.dat">
+    <max-depth enabled="no">3</max-depth>
+    <counters enabled="yes" />
+  </user-functions>
+
+  <counters enabled="yes">
+    <cpu enabled="yes" starting-set-distribution="1">
+      <set enabled="yes" domain="all" changeat-globalops="0">
+        PAPI_TOT_INS,PAPI_TOT_CYC,PAPI_L1_DCM
+        <sampling enabled="no" frequency="100000000">PAPI_TOT_CYC</sampling>
+      </set>
+      <set enabled="yes" domain="user" changeat-globalops="0">
+        PAPI_TOT_INS,PAPI_FP_INS,PAPI_TOT_CYC
+      </set>
+    </cpu>
+
+    <network enabled="no" />
+
+    <resource-usage enabled="yes" />
+  </counters>
+
+  <storage enabled="no">
+    <trace-prefix enabled="yes">TRACE</trace-prefix>
+    <size enabled="no">5</size>
+    <temporal-directory enabled="yes" make-dir="no">/scratch</temporal-directory>
+    <final-directory enabled="yes" make-dir="no">/gpfs/scratch/bsc41/bsc41273</final-directory>
+    <gather-mpits enabled="no" />
+  </storage>
+
+  <buffer enabled="yes">
+    <size enabled="yes">250000</size>
+    <circular enabled="no" />
+  </buffer>
+
+  <trace-control enabled="no">
+    <file enabled="no" frequency="5m">/gpfs/scratch/bsc41/bsc41273/control</file>
+    <global-ops enabled="no"></global-ops>
+    <remote-control enabled="no" method="signal">USR1</remote-control>
+  </trace-control>
+
+  <others enabled="no">
+    <minimum-time enabled="no">10m</minimum-time>
+  </others>
+
+  <bursts enabled="no">
+    <threshold enabled="yes">500u</threshold>
+    <mpi-statistics enabled="yes" />
+  </bursts>
+
+  <cell enabled="no">
+    <spu-file-size enabled="yes">5</spu-file-size>
+    <spu-buffer-size enabled="yes">64</spu-buffer-size>
+    <spu-dma-channel enabled="yes">2</spu-dma-channel>
+  </cell>
+
+</trace>

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/script_marenostrum_parallel_merge_trace.ll
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/script_marenostrum_parallel_merge_trace.ll	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/script_marenostrum_parallel_merge_trace.ll	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,36 @@
+#! /bin/ksh
+
+### DK DK submit this with "mnsubmit name_of_script.ll"
+
+#@ job_name = Specfem3D_MPI
+
+#@ initialdir = .
+
+#####
+# One node of MareNostrum has two dual-core processors
+# therefore the maximum number of tasks per node is four.
+#####
+
+#####################################################################
+## parallel merging step
+#####################################################################
+#@ output = Specfem3D_merge_%j.out
+#@ error = Specfem3D_merge_%j.err
+#@ total_tasks = 32
+#@ tasks_per_node = 4
+############## Wall clock limit hhh:mm:ss
+#@ wall_clock_limit = 02:00:00
+#@ queue
+#@ features = mx 
+#####################################################################
+
+# DK DK this below OK in May 2009
+MPITRACE_HOME=/gpfs/apps/CEPBATOOLS/mpitrace-mx/64
+
+#environment
+MP_EUILIB=mx
+OBJECT_MODE=64
+MP_RSH=ssh
+
+  srun ${MPITRACE_HOME}/bin/mpimpi2prv -f TRACE.mpits -maxmem 1024 -syn -o trace.prv
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/script_marenostrum_parallel_merge_trace.ll
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/script_marenostrum_parallel_run_with_trace_mx.ll
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/script_marenostrum_parallel_run_with_trace_mx.ll	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/script_marenostrum_parallel_run_with_trace_mx.ll	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,36 @@
+#! /bin/ksh
+
+### DK DK submit this with "mnsubmit name_of_script.ll"
+
+#@ job_name = Specfem3D_MPI
+
+#@ initialdir = .
+
+#####
+# One node of MareNostrum has two dual-core processors
+# therefore the maximum number of tasks per node is four.
+#####
+
+#####################################################################
+## Running the job with tracing step
+#####################################################################
+#@ total_tasks = 64
+#@ tasks_per_node = 4
+############## Wall clock limit hhh:mm:ss
+#@ wall_clock_limit = 02:00:00
+#@ output = Specfem3D_run_%j.out
+#@ error = Specfem3D_run_%j.err
+#@ queue
+#@ features = mx
+
+#environment
+MP_EUILIB=mx
+OBJECT_MODE=64
+MP_RSH=ssh
+
+    srun ./generate_trace_marenostrum.sh ./bin/xspecfem3D
+
+# then merge the trace at the end
+    sleep 5
+    mnsubmit script_marenostrum_parallel_merge_trace.ll
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/script_marenostrum_parallel_run_with_trace_mx.ll
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/script_marenostrum_parallel_run_without_trace_mx.ll
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/script_marenostrum_parallel_run_without_trace_mx.ll	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/script_marenostrum_parallel_run_without_trace_mx.ll	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,33 @@
+#! /bin/ksh
+
+### DK DK submit this with "mnsubmit name_of_script.ll"
+
+#@ job_name = Specfem3D_MPI
+
+#@ initialdir = .
+
+#####
+# One node of MareNostrum has two dual-core processors
+# therefore the maximum number of tasks per node is four.
+#####
+
+#####################################################################
+## Running the job with tracing step
+#####################################################################
+#@ total_tasks = 64
+#@ tasks_per_node = 4
+############## Wall clock limit hhh:mm:ss
+#@ wall_clock_limit = 02:00:00
+#@ output = Specfem3D_run_%j.out
+#@ error = Specfem3D_run_%j.err
+#@ queue
+#@ features = mx
+
+#environment
+MP_EUILIB=mx
+OBJECT_MODE=64
+MP_RSH=ssh
+
+    srun ./xgenerate_databases
+#    srun ./bin/xspecfem3D
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/MareNostrum_Barcelona/script_marenostrum_parallel_run_without_trace_mx.ll
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/estimate_best_values_runs/DATA
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/estimate_best_values_runs/DATA	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/estimate_best_values_runs/DATA	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1 @@
+link ../../../DATA/
\ No newline at end of file


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/estimate_best_values_runs/DATA
___________________________________________________________________
Name: svn:special
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/estimate_best_values_runs/estimate_best_values_runs.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/estimate_best_values_runs/estimate_best_values_runs.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/estimate_best_values_runs/estimate_best_values_runs.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,329 @@
+!=====================================================================
+!
+!          S p e c f e m 3 D  G l o b e  V e r s i o n  5 . 1
+!          --------------------------------------------------
+!
+!          Main authors: Dimitri Komatitsch and Jeroen Tromp
+!                        Princeton University, USA
+!             and University of Pau / CNRS / INRIA, France
+! (c) Princeton University / California Institute of Technology and University of Pau / CNRS / INRIA
+!                            April 2011
+!
+! This program is free software; you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation; either version 2 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License along
+! with this program; if not, write to the Free Software Foundation, Inc.,
+! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+!
+!=====================================================================
+
+! output a table with the best parameters to use for large runs on a given machine
+! in order to use the total amount of memory available in the best possible way
+
+  program estimate_best_values_runs
+
+  implicit none
+
+  include "../../../constants.h"
+
+  integer, parameter :: NB_COLUMNS_TABLE = 10
+
+! maximum total number of processors we want to see in the table
+! integer, parameter :: MAX_NUMBER_OF_PROCS = 100000
+! integer, parameter :: MAX_NUMBER_OF_PROCS =  4000  ! current maximum on pangu at Caltech
+! integer, parameter :: MAX_NUMBER_OF_PROCS = 10240  ! current maximum on MareNostrum in Barcelona
+! integer, parameter :: MAX_NUMBER_OF_PROCS = 62976  ! current maximum on Ranger in Texas
+! integer, parameter :: MAX_NUMBER_OF_PROCS = 212992 ! current maximum on BlueGene at LLNL
+  integer, parameter :: MAX_NUMBER_OF_PROCS = 12150  ! current maximum at CINES in France
+
+! minimum total number of processors we want to see in the table
+! integer, parameter :: MIN_NUMBER_OF_PROCS =  100
+  integer, parameter :: MIN_NUMBER_OF_PROCS = 1000
+
+! amount of memory installed per processor core on the system (in gigabytes)
+! double precision, parameter :: MAX_MEMORY_PER_CORE = 1.5d0 ! pangu at Caltech
+! double precision, parameter :: MAX_MEMORY_PER_CORE = 2.0d0 ! Ranger in Texas, MareNostrum in Barcelona
+  double precision, parameter :: MAX_MEMORY_PER_CORE = 4.0d0 ! CINES in France
+
+! base value depends if we implement three or four doublings (default is three)
+  integer, parameter :: NB_DOUBLING = 3
+  integer :: BASE_VALUE
+
+! parameters read from parameter file
+  integer MIN_ATTENUATION_PERIOD,MAX_ATTENUATION_PERIOD,NER_CRUST, &
+          NER_80_MOHO,NER_220_80,NER_400_220,NER_600_400,NER_670_600,NER_771_670, &
+          NER_TOPDDOUBLEPRIME_771,NER_CMB_TOPDDOUBLEPRIME,NER_OUTER_CORE, &
+          NER_TOP_CENTRAL_CUBE_ICB,NEX_XI,NEX_ETA, &
+          NPROC_XI,NPROC_ETA,NTSTEP_BETWEEN_OUTPUT_SEISMOS, &
+          NTSTEP_BETWEEN_READ_ADJSRC,NSTEP,NSOURCES,NTSTEP_BETWEEN_FRAMES, &
+          NTSTEP_BETWEEN_OUTPUT_INFO,NUMBER_OF_RUNS,NUMBER_OF_THIS_RUN,NCHUNKS,SIMULATION_TYPE, &
+          REFERENCE_1D_MODEL,THREE_D_MODEL,MOVIE_VOLUME_TYPE,MOVIE_START,MOVIE_STOP
+
+  double precision DT,ANGULAR_WIDTH_XI_IN_DEGREES,ANGULAR_WIDTH_ETA_IN_DEGREES,CENTER_LONGITUDE_IN_DEGREES, &
+          CENTER_LATITUDE_IN_DEGREES,GAMMA_ROTATION_AZIMUTH,ROCEAN,RMIDDLE_CRUST, &
+          RMOHO,R80,R120,R220,R400,R600,R670,R771,RTOPDDOUBLEPRIME,RCMB,RICB, &
+          R_CENTRAL_CUBE,RHO_TOP_OC,RHO_BOTTOM_OC,RHO_OCEANS,HDUR_MOVIE, &
+          MOVIE_TOP,MOVIE_BOTTOM,MOVIE_WEST,MOVIE_EAST,MOVIE_NORTH,MOVIE_SOUTH,RMOHO_FICTITIOUS_IN_MESHER
+
+  logical TRANSVERSE_ISOTROPY,ANISOTROPIC_3D_MANTLE,ANISOTROPIC_INNER_CORE, &
+          CRUSTAL,ELLIPTICITY,GRAVITY,ONE_CRUST,ROTATION,ISOTROPIC_3D_MANTLE, &
+          TOPOGRAPHY,OCEANS,MOVIE_SURFACE,MOVIE_VOLUME,MOVIE_COARSE,ATTENUATION_3D, &
+          RECEIVERS_CAN_BE_BURIED,PRINT_SOURCE_TIME_FUNCTION, &
+          SAVE_MESH_FILES,ATTENUATION,CASE_3D, &
+          ABSORBING_CONDITIONS,INCLUDE_CENTRAL_CUBE,INFLATE_CENTRAL_CUBE,SAVE_FORWARD, &
+          OUTPUT_SEISMOS_ASCII_TEXT,OUTPUT_SEISMOS_SAC_ALPHANUM,OUTPUT_SEISMOS_SAC_BINARY, &
+          ROTATE_SEISMOGRAMS_RT,HONOR_1D_SPHERICAL_MOHO,WRITE_SEISMOGRAMS_BY_MASTER,&
+          SAVE_ALL_SEISMOS_IN_ONE_FILE,USE_BINARY_FOR_LARGE_FILE,first_time,HETEROGEN_3D_MANTLE
+
+  character(len=150) LOCAL_PATH,MODEL
+
+! parameters deduced from parameters read from file
+  integer NPROC,NPROCTOT,NEX_PER_PROC_XI,NEX_PER_PROC_ETA,ratio_divide_central_cube
+  integer, dimension(MAX_NUMBER_OF_MESH_LAYERS) :: ner,ratio_sampling_array
+  integer, dimension(MAX_NUMBER_OF_MESH_LAYERS) :: doubling_index
+  logical, dimension(MAX_NUMBER_OF_MESH_LAYERS) :: this_region_has_a_doubling
+  double precision, dimension(MAX_NUMBER_OF_MESH_LAYERS) :: r_bottom,r_top
+  double precision, dimension(MAX_NUMBER_OF_MESH_LAYERS) :: rmins,rmaxs
+
+! this for all the regions
+  integer, dimension(MAX_NUM_REGIONS) :: NSPEC,NSPEC2D_XI,NSPEC2D_ETA, &
+               NSPEC2DMAX_XMIN_XMAX,NSPEC2DMAX_YMIN_YMAX, &
+               NSPEC2D_BOTTOM,NSPEC2D_TOP, &
+               NSPEC1D_RADIAL,NGLOB1D_RADIAL, &
+               NGLOB2DMAX_XMIN_XMAX,NGLOB2DMAX_YMIN_YMAX,nglob
+
+  double precision :: static_memory_size
+  integer :: NSPECMAX_ANISO_IC,NSPECMAX_ISO_MANTLE,NSPECMAX_TISO_MANTLE, &
+         NSPECMAX_ANISO_MANTLE,NSPEC_CRUST_MANTLE_ATTENUAT, &
+         NSPEC_INNER_CORE_ATTENUATION, &
+         NSPEC_CRUST_MANTLE_STR_OR_ATT,NSPEC_INNER_CORE_STR_OR_ATT, &
+         NSPEC_CRUST_MANTLE_STR_AND_ATT,NSPEC_INNER_CORE_STR_AND_ATT, &
+         NSPEC_CRUST_MANTLE_STRAIN_ONLY,NSPEC_INNER_CORE_STRAIN_ONLY, &
+         NSPEC_CRUST_MANTLE_ADJOINT, &
+         NSPEC_OUTER_CORE_ADJOINT,NSPEC_INNER_CORE_ADJOINT, &
+         NGLOB_CRUST_MANTLE_ADJOINT,NGLOB_OUTER_CORE_ADJOINT, &
+         NGLOB_INNER_CORE_ADJOINT,NSPEC_OUTER_CORE_ROT_ADJOINT, &
+         NSPEC_CRUST_MANTLE_STACEY,NSPEC_OUTER_CORE_STACEY, &
+         NGLOB_CRUST_MANTLE_OCEANS,NSPEC_OUTER_CORE_ROTATION
+
+  logical :: CUT_SUPERBRICK_XI,CUT_SUPERBRICK_ETA,EMULATE_ONLY,already_printed
+  integer, dimension(NB_SQUARE_CORNERS,NB_CUT_CASE) :: DIFF_NSPEC1D_RADIAL
+  integer, dimension(NB_SQUARE_EDGES_ONEDIR,NB_CUT_CASE) :: DIFF_NSPEC2D_XI,DIFF_NSPEC2D_ETA
+
+  integer :: c,counter,offset
+
+  double precision :: mem_per_core,percent
+
+! ************** PROGRAM STARTS HERE **************
+
+! count the total number of sources in the CMTSOLUTION file
+  NSOURCES = 1
+
+  BASE_VALUE = 2**NB_DOUBLING
+
+  first_time = .true.
+
+  print *
+  print *,'Number of GB of memory per core installed in the machine: ',MAX_MEMORY_PER_CORE
+  print *
+
+! make sure we do not start below the lower limit
+  if(6 * int(sqrt(MIN_NUMBER_OF_PROCS / 6.d0))**2 == MIN_NUMBER_OF_PROCS) then
+    offset = 0
+  else
+    offset = 1
+  endif
+
+! the total number of processors is 6 * NPROC_XI^2
+  do NPROC_XI = int(sqrt(MIN_NUMBER_OF_PROCS / 6.d0)) + offset,int(sqrt(MAX_NUMBER_OF_PROCS / 6.d0))
+
+    counter = 1
+    c = 0
+    NEX_XI = 0
+    already_printed = .false.
+
+! loop on the columns of the table
+    do while (counter <= NB_COLUMNS_TABLE)
+
+      c = c + 1
+      NEX_XI = BASE_VALUE * c * NPROC_XI
+
+! impose an upper limit on current "reasonably large" values to avoid an infinite loop
+! these values should be okay for the next few years (i.e., on machines around 1 petaflops)
+! (this written in August 2008)
+      if(c > 15 .or. NEX_XI > 6000) exit
+
+! also exclude very coarse meshes below NEX_XI = 64
+      if(NEX_XI >= 64 .and. mod(NEX_XI,2*BASE_VALUE) == 0) then
+
+        counter = counter + 1
+
+! read the parameter file and compute additional parameters
+    EMULATE_ONLY = .true.
+    call read_compute_parameters(MIN_ATTENUATION_PERIOD,MAX_ATTENUATION_PERIOD,NER_CRUST, &
+          NER_80_MOHO,NER_220_80,NER_400_220,NER_600_400,NER_670_600,NER_771_670, &
+          NER_TOPDDOUBLEPRIME_771,NER_CMB_TOPDDOUBLEPRIME,NER_OUTER_CORE, &
+          NER_TOP_CENTRAL_CUBE_ICB,NEX_XI,NEX_ETA,RMOHO_FICTITIOUS_IN_MESHER, &
+          NPROC_XI,NPROC_ETA,NTSTEP_BETWEEN_OUTPUT_SEISMOS, &
+          NTSTEP_BETWEEN_READ_ADJSRC,NSTEP,NTSTEP_BETWEEN_FRAMES, &
+          NTSTEP_BETWEEN_OUTPUT_INFO,NUMBER_OF_RUNS,NUMBER_OF_THIS_RUN,NCHUNKS,DT, &
+          ANGULAR_WIDTH_XI_IN_DEGREES,ANGULAR_WIDTH_ETA_IN_DEGREES,CENTER_LONGITUDE_IN_DEGREES, &
+          CENTER_LATITUDE_IN_DEGREES,GAMMA_ROTATION_AZIMUTH,ROCEAN,RMIDDLE_CRUST, &
+          RMOHO,R80,R120,R220,R400,R600,R670,R771,RTOPDDOUBLEPRIME,RCMB,RICB, &
+          R_CENTRAL_CUBE,RHO_TOP_OC,RHO_BOTTOM_OC,RHO_OCEANS,HDUR_MOVIE,MOVIE_VOLUME_TYPE, &
+          MOVIE_TOP,MOVIE_BOTTOM,MOVIE_WEST,MOVIE_EAST,MOVIE_NORTH,MOVIE_SOUTH,MOVIE_START,MOVIE_STOP, &
+          TRANSVERSE_ISOTROPY,ANISOTROPIC_3D_MANTLE, &
+          ANISOTROPIC_INNER_CORE,CRUSTAL,ELLIPTICITY,GRAVITY,ONE_CRUST, &
+          ROTATION,ISOTROPIC_3D_MANTLE,HETEROGEN_3D_MANTLE,TOPOGRAPHY,OCEANS,MOVIE_SURFACE, &
+          MOVIE_VOLUME,MOVIE_COARSE,ATTENUATION_3D,RECEIVERS_CAN_BE_BURIED, &
+          PRINT_SOURCE_TIME_FUNCTION,SAVE_MESH_FILES, &
+          ATTENUATION,REFERENCE_1D_MODEL,THREE_D_MODEL,ABSORBING_CONDITIONS, &
+          INCLUDE_CENTRAL_CUBE,INFLATE_CENTRAL_CUBE,LOCAL_PATH,MODEL,SIMULATION_TYPE,SAVE_FORWARD, &
+          NPROC,NPROCTOT,NEX_PER_PROC_XI,NEX_PER_PROC_ETA, &
+          NSPEC,NSPEC2D_XI,NSPEC2D_ETA, &
+          NSPEC2DMAX_XMIN_XMAX,NSPEC2DMAX_YMIN_YMAX,NSPEC2D_BOTTOM,NSPEC2D_TOP, &
+          NSPEC1D_RADIAL,NGLOB1D_RADIAL,NGLOB2DMAX_XMIN_XMAX,NGLOB2DMAX_YMIN_YMAX,NGLOB, &
+          ratio_sampling_array, ner, doubling_index,r_bottom,r_top,this_region_has_a_doubling,rmins,rmaxs,CASE_3D, &
+          OUTPUT_SEISMOS_ASCII_TEXT,OUTPUT_SEISMOS_SAC_ALPHANUM,OUTPUT_SEISMOS_SAC_BINARY, &
+          ROTATE_SEISMOGRAMS_RT,ratio_divide_central_cube,HONOR_1D_SPHERICAL_MOHO,CUT_SUPERBRICK_XI,CUT_SUPERBRICK_ETA,&
+          DIFF_NSPEC1D_RADIAL,DIFF_NSPEC2D_XI,DIFF_NSPEC2D_ETA,&
+          WRITE_SEISMOGRAMS_BY_MASTER,SAVE_ALL_SEISMOS_IN_ONE_FILE,USE_BINARY_FOR_LARGE_FILE,EMULATE_ONLY)
+
+  if(first_time) then
+    first_time = .false.
+    if(ATTENUATION) then
+      print *,'ATTENUATION = .true.'
+    else
+      print *,'ATTENUATION = .false.'
+    endif
+  endif
+
+!! compute memory usage per processor core
+! evaluate the amount of static memory needed by the solver
+  call memory_eval(OCEANS,ABSORBING_CONDITIONS,ATTENUATION,ANISOTROPIC_3D_MANTLE,&
+                   TRANSVERSE_ISOTROPY,ANISOTROPIC_INNER_CORE,ROTATION,&
+                   ONE_CRUST,doubling_index,this_region_has_a_doubling,&
+                   ner,NEX_PER_PROC_XI,NEX_PER_PROC_ETA,ratio_sampling_array,&
+                   NSPEC,nglob,SIMULATION_TYPE,MOVIE_VOLUME,SAVE_FORWARD, &
+         NSPECMAX_ANISO_IC,NSPECMAX_ISO_MANTLE,NSPECMAX_TISO_MANTLE, &
+         NSPECMAX_ANISO_MANTLE,NSPEC_CRUST_MANTLE_ATTENUAT, &
+         NSPEC_INNER_CORE_ATTENUATION, &
+         NSPEC_CRUST_MANTLE_STR_OR_ATT,NSPEC_INNER_CORE_STR_OR_ATT, &
+         NSPEC_CRUST_MANTLE_STR_AND_ATT,NSPEC_INNER_CORE_STR_AND_ATT, &
+         NSPEC_CRUST_MANTLE_STRAIN_ONLY,NSPEC_INNER_CORE_STRAIN_ONLY, &
+         NSPEC_CRUST_MANTLE_ADJOINT, &
+         NSPEC_OUTER_CORE_ADJOINT,NSPEC_INNER_CORE_ADJOINT, &
+         NGLOB_CRUST_MANTLE_ADJOINT,NGLOB_OUTER_CORE_ADJOINT, &
+         NGLOB_INNER_CORE_ADJOINT,NSPEC_OUTER_CORE_ROT_ADJOINT, &
+         NSPEC_CRUST_MANTLE_STACEY,NSPEC_OUTER_CORE_STACEY, &
+         NGLOB_CRUST_MANTLE_OCEANS,NSPEC_OUTER_CORE_ROTATION,static_memory_size)
+
+  mem_per_core = static_memory_size/1073741824.d0
+
+  percent = 100.d0 * mem_per_core / MAX_MEMORY_PER_CORE
+
+  if(percent > 100.d0) goto 777
+
+  if(percent < 0.d0) then
+    if(.not. already_printed) then
+      print *
+      print *,'NPROC, % of the machine, NPROC_XI, NEX_XI, GB used/core, % mem used/core:'
+    endif
+    already_printed = .true.
+    write(*,"(' ',i5,'  ',f6.2,'% ',i3,'  ',i4,'  ',f6.2,'GB  ',f6.2,'% **mesher fails/bug**')") &
+      6*NPROC_XI**2,100.d0*6*NPROC_XI**2/dble(MAX_NUMBER_OF_PROCS),NPROC_XI,NEX_XI,mem_per_core,percent
+    goto 777
+
+  else if(percent >= 93.d0) then
+    if(.not. already_printed) then
+      print *
+      print *,'NPROC, % of the machine, NPROC_XI, NEX_XI, GB used/core, % mem used/core:'
+    endif
+    already_printed = .true.
+    write(*,"(' ',i5,'  ',f6.2,'% ',i3,'  ',i4,'  ',f6.2,'GB  ',f6.2,'% **too high**')") &
+      6*NPROC_XI**2,100.d0*6*NPROC_XI**2/dble(MAX_NUMBER_OF_PROCS),NPROC_XI,NEX_XI,mem_per_core,percent
+    goto 777
+
+  else if(percent >= 85.d0) then
+    if(.not. already_printed) then
+      print *
+      print *,'NPROC, % of the machine, NPROC_XI, NEX_XI, GB used/core, % mem used/core:'
+    endif
+    already_printed = .true.
+    write(*,"(' ',i5,'  ',f6.2,'% ',i3,'  ',i4,'  ',f6.2,'GB  ',f6.2,'% **excellent**')") &
+      6*NPROC_XI**2,100.d0*6*NPROC_XI**2/dble(MAX_NUMBER_OF_PROCS),NPROC_XI,NEX_XI,mem_per_core,percent
+    goto 777
+
+  else if(percent >= 80.d0) then
+    if(.not. already_printed) then
+      print *
+      print *,'NPROC, % of the machine, NPROC_XI, NEX_XI, GB used/core, % mem used/core:'
+    endif
+    already_printed = .true.
+    write(*,"(' ',i5,'  ',f6.2,'% ',i3,'  ',i4,'  ',f6.2,'GB  ',f6.2,'% **very good**')") &
+      6*NPROC_XI**2,100.d0*6*NPROC_XI**2/dble(MAX_NUMBER_OF_PROCS),NPROC_XI,NEX_XI,mem_per_core,percent
+    goto 777
+
+  else if(percent >= 70.d0) then
+    if(.not. already_printed) then
+      print *
+      print *,'NPROC, % of the machine, NPROC_XI, NEX_XI, GB used/core, % mem used/core:'
+    endif
+    already_printed = .true.
+    write(*,"(' ',i5,'  ',f6.2,'% ',i3,'  ',i4,'  ',f6.2,'GB  ',f6.2,'% **not bad**')") &
+      6*NPROC_XI**2,100.d0*6*NPROC_XI**2/dble(MAX_NUMBER_OF_PROCS),NPROC_XI,NEX_XI,mem_per_core,percent
+    goto 777
+
+  else if(percent >= 60.d0) then
+    if(.not. already_printed) then
+      print *
+      print *,'NPROC, % of the machine, NPROC_XI, NEX_XI, GB used/core, % mem used/core:'
+    endif
+    already_printed = .true.
+    write(*,"(' ',i5,'  ',f6.2,'% ',i3,'  ',i4,'  ',f6.2,'GB  ',f6.2,'% **possible**')") &
+      6*NPROC_XI**2,100.d0*6*NPROC_XI**2/dble(MAX_NUMBER_OF_PROCS),NPROC_XI,NEX_XI,mem_per_core,percent
+
+! uncomment line below to completely suppress cases that give an occupancy below 50%
+  else ! if(percent >= 50.d0) then
+    if(.not. already_printed) then
+      print *
+      print *,'NPROC, % of the machine, NPROC_XI, NEX_XI, GB used/core, % mem used/core:'
+    endif
+    already_printed = .true.
+    write(*,"(' ',i5,'  ',f6.2,'% ',i3,'  ',i4,'  ',f6.2,'GB  ',f6.2,'%')") &
+      6*NPROC_XI**2,100.d0*6*NPROC_XI**2/dble(MAX_NUMBER_OF_PROCS),NPROC_XI,NEX_XI,mem_per_core,percent
+  endif
+
+      endif
+    enddo
+
+ 777 continue
+
+  enddo
+
+  print *
+
+  end program estimate_best_values_runs
+
+!
+!----  include subroutines from the main code
+!
+
+  include "../../read_compute_parameters.f90"
+
+  include "../../memory_eval.f90"
+
+  include "../../read_value_parameters.f90"
+
+  include "../../get_value_parameters.f90"
+
+  include "../../auto_ner.f90"
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/estimate_best_values_runs/scaling_nodes/display_mesh_topology.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/estimate_best_values_runs/scaling_nodes/display_mesh_topology.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/estimate_best_values_runs/scaling_nodes/display_mesh_topology.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,112 @@
+
+! display mesh topology (how processor numbers are assigned in the cubed sphere)
+
+  program display_mesh_topology
+
+  implicit none
+
+  integer, parameter :: NCHUNKS = 6
+
+! define block type based upon chunk number (between 1 and 6)
+! do not change this numbering, chunk AB must be number 1 for central cube
+  integer, parameter :: CHUNK_AB = 1
+  integer, parameter :: CHUNK_AC = 2
+  integer, parameter :: CHUNK_BC = 3
+  integer, parameter :: CHUNK_AC_ANTIPODE = 4
+  integer, parameter :: CHUNK_BC_ANTIPODE = 5
+  integer, parameter :: CHUNK_AB_ANTIPODE = 6
+
+  integer NPROC_XI,NPROC_ETA,NPROC
+  integer iproc_xi,iproc_eta,ichunk
+
+! addressing for all the slices
+  integer, dimension(:,:,:), allocatable :: addressing
+
+  print *
+  print *,'enter the number of processors in each direction of each of the 6 blocks (NPROC_XI):'
+  print *
+  read(*,*) NPROC_XI
+
+  NPROC_ETA = NPROC_XI
+
+! total number of processors in each of the six chunks
+  NPROC = NPROC_XI * NPROC_ETA
+
+  print *
+  print *,'the total number of processors used is ',NCHUNKS*NPROC
+  print *
+
+  allocate(addressing(NCHUNKS,0:NPROC_XI-1,0:NPROC_ETA-1))
+
+! loop on all the chunks to create global slice addressing for solver
+  do ichunk = 1,NCHUNKS
+    do iproc_eta=0,NPROC_ETA-1
+      do iproc_xi=0,NPROC_XI-1
+        addressing(ichunk,iproc_xi,iproc_eta) = (ichunk-1)*NPROC + iproc_eta * NPROC_XI + iproc_xi
+      enddo
+    enddo
+  enddo
+
+! output a topology map of slices
+    write(*,*) 'Bloc 1'
+    do iproc_xi = NPROC_XI-1, 0, -1
+      write(*,'(2x)',advance='no')
+      do iproc_eta = NPROC_ETA -1, 0, -1
+        write(*,'(i5)',advance='no') addressing(CHUNK_AB,iproc_xi,iproc_eta)
+      enddo
+      write(*,'(1x)',advance='yes')
+    enddo
+    write(*, *) ' '
+
+    write(*,*) 'Bloc 2'
+    do iproc_xi = NPROC_XI-1, 0, -1
+      write(*,'(2x)',advance='no')
+      do iproc_eta = NPROC_ETA -1, 0, -1
+        write(*,'(i5)',advance='no') addressing(CHUNK_BC,iproc_xi,iproc_eta)
+      enddo
+      write(*,'(1x)',advance='yes')
+    enddo
+    write(*, *) ' '
+
+    write(*,*) 'Bloc 3'
+    do iproc_xi = NPROC_XI-1, 0, -1
+      write(*,'(2x)',advance='no')
+      do iproc_eta = NPROC_ETA -1, 0, -1
+        write(*,'(i5)',advance='no') addressing(CHUNK_AC,iproc_xi,iproc_eta)
+      enddo
+      write(*,'(1x)',advance='yes')
+    enddo
+    write(*, *) ' '
+
+    write(*,*) 'Bloc 4'
+    do iproc_xi = NPROC_XI-1, 0, -1
+      write(*,'(2x)',advance='no')
+      do iproc_eta = NPROC_ETA -1, 0, -1
+        write(*,'(i5)',advance='no') addressing(CHUNK_BC_ANTIPODE,iproc_xi,iproc_eta)
+      enddo
+      write(*,'(1x)',advance='yes')
+    enddo
+    write(*, *) ' '
+
+    write(*,*) 'Bloc 5'
+    do iproc_xi = NPROC_XI-1, 0, -1
+      write(*,'(2x)',advance='no')
+      do iproc_eta = NPROC_ETA -1, 0, -1
+        write(*,'(i5)',advance='no') addressing(CHUNK_AB_ANTIPODE,iproc_xi,iproc_eta)
+      enddo
+      write(*,'(1x)',advance='yes')
+    enddo
+    write(*, *) ' '
+
+    write(*,*) 'Bloc 6'
+    do iproc_xi = NPROC_XI-1, 0, -1
+      write(*,'(2x)',advance='no')
+      do iproc_eta = NPROC_ETA -1, 0, -1
+        write(*,'(i5)',advance='no') addressing(CHUNK_AC_ANTIPODE,iproc_xi,iproc_eta)
+      enddo
+      write(*,'(1x)',advance='yes')
+    enddo
+    write(*, *) ' '
+
+  end program display_mesh_topology
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/estimate_best_values_runs/scaling_nodes/mesh_scaling_processors_ES_japan.xls
===================================================================
(Binary files differ)


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/estimate_best_values_runs/scaling_nodes/mesh_scaling_processors_ES_japan.xls
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/estimate_best_values_runs/scaling_nodes/mesh_scaling_processors_marenostrum.xls
===================================================================
(Binary files differ)


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/estimate_best_values_runs/scaling_nodes/mesh_scaling_processors_marenostrum.xls
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/go_mesher
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/go_mesher	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/go_mesher	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,61 @@
+#!/bin/csh
+
+# script to run the mesher
+
+# read DATA/Par_file to get information about the run
+
+# name of the file that contains the list of machines
+set machine_file = "mymachines"
+
+set my_local_path = `grep LOCAL_PATH DATA/Par_file | cut -d '=' -f 2 `
+
+# compute total number of processors needed
+set NCHUNKS = `grep NCHUNKS DATA/Par_file | cut -d '=' -f 2 `
+set NPROC_XI = `grep NPROC_XI DATA/Par_file | cut -d '=' -f 2 `
+set NPROC_ETA = `grep NPROC_ETA DATA/Par_file | cut -d '=' -f 2 `
+
+# total number of processors is the product of the values read
+@ numprocessors = $NCHUNKS * $NPROC_XI * $NPROC_ETA
+
+rm -r -f OUTPUT_FILES
+mkdir OUTPUT_FILES
+
+# suppress old processor list files
+rm -f PI*
+
+if ( ! -d $my_local_path ) mkdir $my_local_path
+
+if ( -f $machine_file ) then
+  echo " "
+  echo using machine file \"$machine_file\"
+  echo " "
+  echo list of active machines:
+  echo " "
+  cat $machine_file
+  echo " "
+# this only used on a cluster if specifying list of machines in MACHINE_FILE
+# assumes the name of the machines is n001, n002 etc...
+# if name is different then change the  tr -d 'n' below
+  grep -v '#' $machine_file | tr -d ' ' | tr -d 'n' > OUTPUT_FILES/filtered_machines.txt
+endif
+
+echo NCHUNKS = $NCHUNKS
+echo NPROC_XI = $NPROC_XI
+echo NPROC_ETA = $NPROC_ETA
+echo " "
+echo starting MPI mesher on $numprocessors processors
+echo " "
+echo starting run in current directory $PWD
+echo " "
+echo mesh files will be saved in directory $my_local_path
+echo " "
+
+#### use this on Beowulf
+mpirun -nolocal -machinefile $machine_file -np $numprocessors $PWD/bin/xmeshfem3D
+
+#### use this on SGI
+#  mpirun -np $numprocessors ./bin/xmeshfem3D
+
+#### use this on Compaq Dec Alpha
+# dmpirun -np $numprocessors ./bin/xmeshfem3D
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/go_mesher
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/go_solver
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/go_solver	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/go_solver	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,52 @@
+#!/bin/csh
+
+# script to run the solver
+
+# read DATA/Par_file to get information about the run
+
+# name of the file that contains the list of machines
+set machine_file = "mymachines"
+
+set my_local_path = `grep LOCAL_PATH DATA/Par_file | cut -d '=' -f 2 `
+
+# compute total number of processors needed
+set NCHUNKS = `grep NCHUNKS DATA/Par_file | cut -d '=' -f 2 `
+set NPROC_XI = `grep NPROC_XI DATA/Par_file | cut -d '=' -f 2 `
+set NPROC_ETA = `grep NPROC_ETA DATA/Par_file | cut -d '=' -f 2 `
+
+# total number of processors is the product of the values read
+@ numprocessors = $NCHUNKS * $NPROC_XI * $NPROC_ETA
+
+# suppress old processor list files
+rm -f PI*
+
+if ( -f $machine_file ) then
+  echo " "
+  echo using machine file \"$machine_file\"
+  echo " "
+  echo list of active machines:
+  echo " "
+  cat $machine_file
+  echo " "
+endif
+
+echo NCHUNKS = $NCHUNKS
+echo NPROC_XI = $NPROC_XI
+echo NPROC_ETA = $NPROC_ETA
+echo " "
+echo starting MPI solver on $numprocessors processors
+echo " "
+echo starting run in current directory $PWD
+echo " "
+echo mesh files will be read from directory $my_local_path
+echo " "
+
+#### use this on Beowulf
+mpirun -nolocal -machinefile $machine_file -np $numprocessors $PWD/bin/xspecfem3D 
+
+#### use this on SGI
+#  mpirun -np $numprocessors ./bin/xspecfem3D
+
+#### use this on Compaq Dec Alpha
+# dmpirun -np $numprocessors ./bin/xspecfem3D
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/go_solver
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/launch_solver_with_nohup.bash
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/launch_solver_with_nohup.bash	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/launch_solver_with_nohup.bash	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+# useful for instance on the cluster at LMA Marseille
+
+# put this in file "mymachines" there:
+# gpu-1 slots=4 max_slots=8
+# gpu-2 slots=4 max_slots=8
+# gpu-3 slots=4 max_slots=8
+
+nohup mpirun -np 24 --byslot -machinefile mymachines ./bin/xspecfem3D > output_night.txt 2> output_err.txt &
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/launch_solver_with_nohup.bash
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/cleanbase.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/cleanbase.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/cleanbase.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,14 @@
+#!/usr/bin/perl -w
+
+# completely cleans your scratch disk, and regenerate DATABASES_MPI/ directory in the scratch disk
+#   uses 'shmux' to have simultaneous access to all nodes
+
+# Qinya Liu, Caltech, May 2007
+
+
+if (@ARGV != 1) {die("cleanbase.pl machinefile\n");}
+$mymachine = $ARGV[0];
+if (not -f $mymachine) {die("check if $mymachine is a file or not\n");}
+
+`shmux -M50 -Sall -c "rm -rf /scratch/$ENV{USER}/*; mkdir /scratch/$ENV{USER}/DATABASES_MPI;" - < $mymachine `;
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/cleanbase.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/cleanbase_all_nodes.bash
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/cleanbase_all_nodes.bash	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/cleanbase_all_nodes.bash	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+# remove all the old mesh files in the local /scratch of each blade
+# on "pangu" at Caltech
+
+# Dimitri Komatitsch, University of Pau, November 2007
+
+if [ -z $USER ]; then
+	echo "cannot run this script because no USER env is set"
+	exit 2
+fi
+
+BASEMPIDIR=/scratch/$USER
+
+echo cleaning local scratch space $BASEMPIDIR on each node of the cluster
+
+grep compute- /opt/lsfhpc/conf/lsf.cluster.lsfhpc | expand | cut -f 1 -d ' ' > ___________bubu
+
+shmux -M 50 -S all -c "rm -r -f $BASEMPIDIR" - < ___________bubu >/dev/null
+
+rm ___________bubu
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/cleanbase_all_nodes.bash
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/cleanbase_lsf_multi.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/cleanbase_lsf_multi.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/cleanbase_lsf_multi.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,27 @@
+#!/usr/bin/perl -w
+
+# this script cleans ONLY the scratch directory given by Par_file
+#   assumes that machine file lists the nodes line by line
+#   requires 'shmux'
+# Qinya Liu, Caltech, May 2007
+
+if (@ARGV != 2) {die("cleanbase_lsf_multi.pl machinefile Par_file\n");}
+
+$machine = $ARGV[0];
+$par_file = $ARGV[1];
+
+open(FILE3,"<$par_file") or die ("Fatal Error openning file $par_file\n");
+while (<FILE3>) {
+   if ($_ =~ /^LOCAL_PATH/) {
+	chop;	
+	@vals = split("=", $_);
+	$mpidir = $vals[1];
+	$mpidir =~ s/^\s+//;
+	$mpidir =~ s/\s+$//;
+	close(FILE3);
+	last;
+   }
+}
+
+`shmux -M50 -Sall -c "rm -rf $mpidir" - < $machine`;
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/cleanbase_lsf_multi.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/go_mesher_lsf.bash
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/go_mesher_lsf.bash	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/go_mesher_lsf.bash	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,60 @@
+#!/bin/bash
+
+## job name and output file
+#BSUB -J specfem_mesher
+#BSUB -o OUTPUT_FILES/%J.o
+#BSUB -e OUTPUT_FILES/%J.e
+
+###########################################################
+# USER PARAMETERS
+
+## 150 CPUs ( 18*8 + 6 ), walltime 1 hour
+#BSUB -W 1:00
+#BSUB -R span[ptile=8]
+#BSUB -q short_parallel
+#BSUB -a openmpi
+#BSUB -n 150
+
+###########################################################
+
+BASEMPIDIR=`grep LOCAL_PATH DATA/Par_file | cut -d = -f 2 `
+
+# script to run the mesher and the solver
+# read DATA/Par_file to get information about the run
+# compute total number of nodes needed
+NPROC_XI=`grep NPROC_XI DATA/Par_file | cut -d = -f 2 `
+NPROC_ETA=`grep NPROC_ETA DATA/Par_file | cut -d = -f 2`
+NCHUNKS=`grep NCHUNKS DATA/Par_file | cut -d = -f 2 `
+
+# total number of nodes is the product of the values read
+numnodes=$(( $NCHUNKS * $NPROC_XI * $NPROC_ETA ))
+
+# clean OUTPUT_FILES
+rm -r -f OUTPUT_FILES
+mkdir OUTPUT_FILES
+
+# backup for files used for this simulation
+cp DATA/Par_file OUTPUT_FILES/
+
+rm -rf OUTPUT_FILES/src
+mkdir OUTPUT_FILES/src
+cp -p *.f90 OUTPUT_FILES/src/
+cp -p *.c OUTPUT_FILES/src/
+cp -p *.in OUTPUT_FILES/src/
+cp -p *.h OUTPUT_FILES/src/
+
+# obtain job information
+cat $LSB_DJOB_HOSTFILE > OUTPUT_FILES/compute_nodes
+echo "$LSB_JOBID" > OUTPUT_FILES/jobid
+
+echo starting MPI mesher on $numnodes processors
+echo " "
+
+sleep 2 
+mpirun --hostfile $LSB_DJOB_HOSTFILE -n $numnodes $PWD/bin/xmeshfem3D
+#mpirun.lsf $PWD/bin/xmeshfem3D
+
+# backup important files addressing.txt and list*.txt 
+cp OUTPUT_FILES/*.txt $BASEMPIDIR/
+
+echo "done"


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/go_mesher_lsf.bash
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/go_mesher_solver_lsf_globe.bash
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/go_mesher_solver_lsf_globe.bash	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/go_mesher_solver_lsf_globe.bash	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,51 @@
+#!/bin/bash
+#BSUB -o OUTPUT_FILES/%J.o
+#BSUB -a mpich_gm
+#BSUB -J go_mesher_solver_lsf
+
+if [ -z $USER ]; then
+	echo "could not run go_mesher_solver_...bash as no USER env is set"
+	exit 2
+fi
+
+BASEMPIDIR=/scratch/$USER/DATABASES_MPI
+
+# script to run the mesher and the solver
+
+# read DATA/Par_file to get information about the run
+
+# compute total number of nodes needed
+NPROC_XI=`grep NPROC_XI DATA/Par_file | cut -d = -f 2 `
+NPROC_ETA=`grep NPROC_ETA DATA/Par_file | cut -d = -f 2`
+NCHUNKS=`grep NCHUNKS DATA/Par_file | cut -d = -f 2 `
+
+# total number of nodes is the product of the values read
+numnodes=$(( $NCHUNKS * $NPROC_XI * $NPROC_ETA ))
+
+rm -r -f OUTPUT_FILES
+mkdir OUTPUT_FILES
+
+# obtain lsf job information
+echo "$LSB_MCPU_HOSTS" > OUTPUT_FILES/lsf_machines
+echo "$LSB_JOBID" > OUTPUT_FILES/jobid
+
+remap_lsf_machines.pl OUTPUT_FILES/lsf_machines >OUTPUT_FILES/machines
+
+# now cleanup and make the dir (seismos are now written by the master, no more need to collect them on the nodes), this for avoiding crashes
+shmux -M 50 -S all -c "rm -r -f /scratch/$USER; mkdir -p /scratch/$USER; mkdir -p $BASEMPIDIR" - < OUTPUT_FILES/machines >/dev/null
+
+echo starting MPI mesher on $numnodes processors
+echo " "
+echo starting run in current directory $PWD
+echo " "
+
+sleep 20
+mpirun.lsf --gm-no-shmem --gm-copy-env $PWD/bin/xmeshfem3D
+
+sleep 20
+mpirun.lsf --gm-no-shmem --gm-copy-env $PWD/bin/xspecfem3D
+
+# cleanup after the run
+sleep 10
+shmux -M 50 -S all -c "rm -r -f /scratch/$USER" - < OUTPUT_FILES/machines >/dev/null
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/go_mesher_solver_lsf_globe.bash
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/go_mesher_solver_lsf_globe.kernel
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/go_mesher_solver_lsf_globe.kernel	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/go_mesher_solver_lsf_globe.kernel	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,44 @@
+#!/bin/bash -v
+#BSUB -o OUTPUT_FILES/%J.o
+#BSUB -a mpich_gm
+#BSUB -J go_mesher_solver_lsf
+
+# this is the launch script to run a kernel simulation
+# on CITerra with the LSF scheduler
+# assumes 'remap_lsf_machines.pl' is already in the $PATH
+#  Qinya Liu, Caltech, May 2007
+
+BASEMPIDIR=/scratch/$USER/DATABASES_MPI
+BASESCRATCHDIR=/scratch/$USER
+
+echo "$LSB_MCPU_HOSTS" > OUTPUT_FILES/lsf_machines
+echo "$LSB_JOBID" > OUTPUT_FILES/jobid
+
+remap_lsf_machines.pl OUTPUT_FILES/lsf_machines >OUTPUT_FILES/machines
+
+# clean old files that may be in the local /scratch directory
+# and create a directory for this job
+shmux -M 50 -S all -c "rm -r -f /scratch/$USER; mkdir -p /scratch/$USER; mkdir -p $BASEMPIDIR" - < OUTPUT_FILES/machines >/dev/null
+
+current_pwd=$PWD
+
+mpirun.lsf --gm-no-shmem --gm-copy-env $current_pwd/bin/xmeshfem3D
+change_simulation_type.pl -F
+mpirun.lsf --gm-no-shmem --gm-copy-env $current_pwd/bin/xspecfem3D
+
+#### this is the part needs to be revised for each kernel simulation #####
+cd $current_pwd/SEM
+## no need to collect the seismograms from the nodes anymore in v4.0
+mv ../OUTPUT_FILES/*.ascii .
+rename .semd.ascii .for *.semd.ascii
+# P waves
+#/home/lqy/bin/utils_bin/xcut_velocity 460 525 3 T60*.for
+~/SPECFEM3D_GLOBE/UTILS/adjoint_sources/traveltime/xcreate_adjsrc_traveltime 460. 535. 3 T60*.for
+
+rename .for.ad .adj *.for.ad
+cd $current_pwd
+##########################################################################
+
+change_simulation_type.pl -b
+mpirun.lsf --gm-no-shmem --gm-copy-env $current_pwd/bin/xspecfem3D
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/go_mesher_solver_lsf_globe.kernel
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/go_solver_lsf.bash
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/go_solver_lsf.bash	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/go_solver_lsf.bash	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,63 @@
+#!/bin/bash
+
+## job name and output file
+#BSUB -J specfem_solver
+#BSUB -o OUTPUT_FILES/%J.o
+#BSUB -e OUTPUT_FILES/%J.e
+
+###########################################################
+# USER PARAMETERS
+
+## 150 CPUs ( 18*8 + 6 ), walltime 1 hour
+#BSUB -W 5:00
+#BSUB -R span[ptile=8]
+#BSUB -q normal_parallel
+#BSUB -a openmpi
+#BSUB -n 150
+
+###########################################################
+
+BASEMPIDIR=`grep LOCAL_PATH DATA/Par_file | cut -d = -f 2 `
+
+# script to run the mesher and the solver
+# read DATA/Par_file to get information about the run
+# compute total number of nodes needed
+NPROC_XI=`grep NPROC_XI DATA/Par_file | cut -d = -f 2 `
+NPROC_ETA=`grep NPROC_ETA DATA/Par_file | cut -d = -f 2`
+NCHUNKS=`grep NCHUNKS DATA/Par_file | cut -d = -f 2 `
+
+# total number of nodes is the product of the values read
+numnodes=$(( $NCHUNKS * $NPROC_XI * $NPROC_ETA ))
+
+mkdir -p OUTPUT_FILES
+
+# backup files used for this simulation
+cp DATA/Par_file OUTPUT_FILES/
+cp DATA/STATIONS OUTPUT_FILES/
+cp DATA/CMTSOLUTION OUTPUT_FILES/
+
+rm -rf OUTPUT_FILES/src
+mkdir OUTPUT_FILES/src
+cp -p *.f90 OUTPUT_FILES/src/
+cp -p *.c OUTPUT_FILES/src/
+cp -p *.in OUTPUT_FILES/src/
+cp -p *.h OUTPUT_FILES/src/
+
+# obtain job information
+cat $LSB_DJOB_HOSTFILE > OUTPUT_FILES/compute_nodes
+echo "$LSB_JOBID" > OUTPUT_FILES/jobid
+
+echo starting run in current directory $PWD
+echo " "
+
+cp $BASEMPIDIR/addr*.txt OUTPUT_FILES/
+cp $BASEMPIDIR/list*.txt OUTPUT_FILES/
+
+sleep 2 
+mpirun --hostfile $LSB_DJOB_HOSTFILE -n $numnodes $PWD/bin/xspecfem3D
+#mpirun.lsf $PWD/bin/xspecfem3D
+
+# backup important files addressing.txt and list*.txt 
+cp OUTPUT_FILES/*.txt $BASEMPIDIR/
+
+echo "finished successfully"


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/go_solver_lsf.bash
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/remap_database/compile
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/remap_database/compile	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/remap_database/compile	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,2 @@
+\rm *.o remap_database
+mpif90 -o remap_database -O3 remap_database.f90 exit_mpi.f90


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/remap_database/compile
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/remap_database/exit_mpi.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/remap_database/exit_mpi.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/remap_database/exit_mpi.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,57 @@
+!=====================================================================
+!
+!          S p e c f e m 3 D  G l o b e  V e r s i o n  3 . 5
+!          --------------------------------------------------
+!
+!                 Dimitri Komatitsch and Jeroen Tromp
+!    Seismological Laboratory - California Institute of Technology
+!        (c) California Institute of Technology July 2004
+!
+! This program is free software; you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation; either version 2 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License along
+! with this program; if not, write to the Free Software Foundation, Inc.,
+! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+!
+!=====================================================================
+
+! end the simulation and exit MPI
+
+! version with rank number printed in the error message
+  subroutine exit_MPI(myrank,error_msg)
+
+  implicit none
+
+! standard include of the MPI library
+  include 'mpif.h'
+
+
+  integer myrank
+  character(len=*) error_msg
+
+  integer ier
+  character(len=80) outputname
+
+! write error message to screen
+  write(*,*) error_msg(1:len(error_msg))
+  write(*,*) 'Error detected, aborting MPI... proc ',myrank
+
+! stop all the MPI processes, and exit
+! on some machines, MPI_FINALIZE needs to be called before MPI_ABORT
+  call MPI_FINALIZE(ier)
+  call MPI_ABORT(ier)
+  stop 'error, program ended in exit_MPI'
+
+  end subroutine exit_MPI
+
+!
+!----
+!

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/remap_database/old_machines
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/remap_database/old_machines	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/remap_database/old_machines	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,150 @@
+compute-35-7
+2
+compute-45-29
+2
+compute-47-14
+2
+compute-41-26
+2
+compute-26-28
+2
+compute-45-1
+2
+compute-17-22
+2
+compute-37-21
+2
+compute-45-18
+2
+compute-26-36
+2
+compute-13-22
+2
+compute-27-23
+2
+compute-12-8
+2
+compute-32-38
+2
+compute-11-31
+2
+compute-47-38
+2
+compute-26-35
+2
+compute-16-33
+2
+compute-31-15
+2
+compute-14-7
+2
+compute-27-3
+2
+compute-35-10
+2
+compute-25-14
+2
+compute-41-5
+2
+compute-11-14
+2
+compute-37-32
+2
+compute-15-31
+2
+compute-15-9
+2
+compute-33-1
+2
+compute-45-27
+2
+compute-35-38
+2
+compute-26-21
+2
+compute-43-11
+2
+compute-44-4
+2
+compute-35-3
+2
+compute-41-2
+2
+compute-17-12
+2
+compute-27-38
+2
+compute-27-9
+2
+compute-36-26
+2
+compute-11-32
+2
+compute-17-39
+2
+compute-36-19
+2
+compute-46-5
+2
+compute-31-23
+2
+compute-31-19
+2
+compute-32-37
+2
+compute-46-10
+2
+compute-35-35
+2
+compute-11-8
+2
+compute-37-14
+2
+compute-36-28
+2
+compute-15-21
+2
+compute-32-40
+2
+compute-26-25
+2
+compute-46-25
+2
+compute-41-21
+2
+compute-32-19
+2
+compute-25-24
+2
+compute-26-9
+2
+compute-15-7
+2
+compute-16-34
+2
+compute-44-3
+2
+compute-47-9
+2
+compute-24-1
+2
+compute-25-29
+2
+compute-45-37
+2
+compute-27-35
+2
+compute-33-22
+2
+compute-27-1
+2
+compute-31-6
+2
+compute-11-18
+2
+compute-25-38
+2
+compute-27-19
+2
+compute-45-7
+2

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/remap_database/remap.bash
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/remap_database/remap.bash	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/remap_database/remap.bash	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,16 @@
+#!/bin/bash -v
+#BSUB -o OUTPUT_FILES/%J.o
+#BSUB -a mpich_gm
+#BSUB -J go_mesher_solver_lsf
+
+BASEMPIDIR=/scratch/$USER/DATABASES_MPI
+
+echo "$LSB_MCPU_HOSTS" > OUTPUT_FILES/lsf_machines
+echo "$LSB_JOBID" > OUTPUT_FILES/jobid
+
+remap_lsf_machines.pl OUTPUT_FILES/lsf_machines >OUTPUT_FILES/machines
+
+shmux -M50 -Sall -c "mkdir -p $BASEMPIDIR" - < OUTPUT_FILES/machines >/dev/null
+
+# you can use . to replace the jobid's if no jobid sub-directory was made on the scratch
+mpirun.lsf --gm-no-shmem --gm-copy-env $PWD/remap old_machines 150 old_jobid new_jobid

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/remap_database/remap_database.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/remap_database/remap_database.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/remap_database/remap_database.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,80 @@
+program remap_databases
+
+implicit none
+
+! standard include of the MPI library
+  include 'mpif.h'
+
+  integer, parameter :: MAX_PROCS = 1000
+  integer ier,sizeprocs,myrank,ios,i
+  character(len=150) old_machine_file,junk,junk2,junk3 
+  character(len=150) slice_to_old_machine(MAX_PROCS),mymachine, &
+  old_local_data_base, new_local_data_base,scp_outfile, command_string
+
+  integer num_slices, num_slices2,num, old_jobid, new_jobid
+  logical use_jobid
+
+! initialize the MPI communicator and start the NPROCTOT MPI processes.
+  call MPI_INIT(ier)
+
+! run the main program
+  call MPI_COMM_SIZE(MPI_COMM_WORLD,sizeprocs,ier)
+  call MPI_COMM_RANK(MPI_COMM_WORLD,myrank,ier)
+
+  call getarg(1,old_machine_file)
+  call getarg(2,junk)
+  if (trim(old_machine_file) == '' .or. trim(junk) == '') call exit_mpi(myrank,'Usage: remap old-mach num-slice [old-jobid new-jobid]')
+  read(junk,*) num_slices
+ 
+  call getarg(3,junk2)
+  if (trim(junk2) == '') then
+     use_jobid=.false.
+  else
+     call getarg(4,junk3)
+     if (trim(junk3) == '') call exit_mpi(myrank,'Usage: remap old-mach num-slice [old-jobid new-jobid]')
+     read(junk2,*) old_jobid
+     read(junk3,*) new_jobid
+     use_jobid=.true.
+  endif
+  if (num_slices /= sizeprocs) call exit_mpi(myrank,'number of slices does not match')
+
+  num_slices2 = num_slices
+  open(11,file=trim(old_machine_file),status='old',iostat=ios)
+  if (ios /= 0) stop 'Error opening old machine file'
+  do while (1 == 1)
+    read(11,'(a)',iostat=ios) junk2
+    if (ios /= 0) exit
+    read(11,'(i)',iostat=ios) num
+    if (ios /= 0) exit
+    do i = 1, num
+      slice_to_old_machine(num_slices2-i+1) = junk2
+    enddo
+    num_slices2 = num_slices2 - num
+  enddo
+  if (num_slices2 /= 0) stop 'Error counting number of slices'
+  close(11)
+
+  mymachine = slice_to_old_machine(myrank+1)
+
+  if (use_jobid) then
+    write(old_local_data_base,'(a,i0)') '/scratch/lqy/DATABASES_MPI.',old_jobid 
+    write(new_local_data_base,'(a,i0)') '/scratch/lqy/DATABASES_MPI.',new_jobid
+  else
+    old_local_data_base = '/scratch/lqy/DATABASES_MPI'
+    new_local_data_base = '/scratch/lqy/DATABASES_MPI'
+  endif
+
+  write(scp_outfile,'(a,i4.4)') 'OUTPUT_FILES/scp_out.',myrank
+
+  write(command_string,'(a,i4.4,a)') 'scp lqy@'//trim(mymachine)//':'//trim(old_local_data_base)//'/*', &
+             myrank, '*  '//trim(new_local_data_base)
+
+!  call system('echo '//trim(command_string)//' > '//trim(scp_outfile))
+  
+  call system(trim(command_string)) !//' >> '//trim(scp_outfile))
+           
+! stop all the MPI processes, and exit
+  call MPI_FINALIZE(ier)
+
+end program remap_databases
+          

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/remap_database/run_lsf
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/remap_database/run_lsf	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/remap_database/run_lsf	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,2 @@
+\rm OUTPUT_FILES/*
+bsub -q normal -n 150 -K < remap.bash 


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/remap_database/run_lsf
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/remap_lsf_machines.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/remap_lsf_machines.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/remap_lsf_machines.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,23 @@
+#!/usr/bin/perl -w
+
+# this program remaps the LSF output machine file to
+# the standard one-node-per-column machine file
+
+if (@ARGV != 1) {die("remap_lsf_machines.pl machinefile\n");}
+
+$machine = $ARGV[0];
+
+open(FILE,"$machine") or die("Error opening file $machine\n");
+(@junk) = <FILE>;
+close(FILE);
+
+for($i=0;$i<@junk;$i++) {
+  @node_array = split(" ",$junk[$i]);
+  foreach $node (@node_array) {
+	next if ( $node =~ /^[0-9]/ );
+  	push(@nodes, $node);
+  }
+}
+foreach $node (@nodes) {
+    print "$node\n";
+}


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/remap_lsf_machines.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/run_lsf.bash
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/run_lsf.bash	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/run_lsf.bash	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+# this is the launch script to run a regular forward simulation
+# on CITerra at Caltech with the LSF scheduler
+# Qinya Liu, Caltech, May 2007
+
+# use the normal queue unless otherwise directed
+queue="-q normal"
+if [ $# -eq 1 ]; then
+	echo "Setting the queue to $1"
+	queue="-q $1"
+fi
+
+d=`date`
+echo "Starting compilation $d"
+make clean
+make xmeshfem3D
+make xcreate_header_file
+./bin/xcreate_header_file
+make xspecfem3D
+d=`date`
+echo "Finished compilation $d"
+
+# compute total number of nodes needed
+NPROC_XI=`grep NPROC_XI DATA/Par_file | cut -d = -f 2`
+NPROC_ETA=`grep NPROC_ETA DATA/Par_file | cut -d = -f 2`
+NCHUNKS=`grep NCHUNKS DATA/Par_file | cut -d = -f 2`
+
+# total number of nodes is the product of the values read
+numnodes=$(( $NCHUNKS * $NPROC_XI * $NPROC_ETA ))
+
+#rm -r -f OUTPUT_FILES/*
+
+echo "Submitting job"
+
+# time below is given in hh:mm
+bsub $queue -n $numnodes -W 48:00 -C 0 < go_mesher_solver_lsf_globe.bash
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/run_lsf.bash
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/run_lsf.kernel
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/run_lsf.kernel	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/run_lsf.kernel	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,42 @@
+#!/bin/bash
+
+# this is the launch script to run a kernel simulation 
+# on CITerra with the LSF scheduler
+#  Qinya Liu, Caltech, May 2007
+
+# use the normal queue unless otherwise directed
+queue="-q normal"
+if [ $# -eq 1 ]; then
+	echo "Setting the queue to $1"
+	queue="-q $1"
+fi
+
+rm -f OUTPUT_FILES/*
+
+d=`date`
+echo "Starting compilation $d"
+# you have to make sure you set this first before compiling the mesher & solver
+change_simulation_type.pl -b
+make clean
+make meshfem3D
+make create_header_file
+./bin/xcreate_header_file
+make specfem3D
+d=`date`
+echo "Finished compilation $d"
+
+# compute total number of nodes needed
+NPROC_XI=`grep NPROC_XI DATA/Par_file | cut -d = -f 2`
+NPROC_ETA=`grep NPROC_ETA DATA/Par_file | cut -d = -f 2`
+NCHUNKS=`grep NCHUNKS DATA/Par_file | cut -d = -f 2`
+
+# total number of nodes is the product of the values read
+numnodes=$(( $NCHUNKS * $NPROC_XI * $NPROC_ETA ))
+
+#rm -r -f OUTPUT_FILES/*
+
+echo "Submitting job"
+
+# time below is given in hh:mm
+bsub $queue -n $numnodes -W 48:00 -C 0 < go_mesher_solver_lsf_globe.kernel
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/lsf/run_lsf.kernel
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/pbs/go_mesher_pbs.bash
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/pbs/go_mesher_pbs.bash	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/pbs/go_mesher_pbs.bash	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,60 @@
+#!/bin/bash
+#PBS -S /bin/bash
+
+## job name and output file
+#PBS -N go_mesher
+#PBS -j oe
+#PBS -o OUTPUT_FILES/job.o
+
+###########################################################
+# USER PARAMETERS
+
+## 150 CPUs ( 18*8 + 6 ), walltime 1 hour
+#PBS -l nodes=18:ppn=8+1:ppn=6,walltime=1:00:00
+
+###########################################################
+
+cd $PBS_O_WORKDIR
+
+BASEMPIDIR=`grep LOCAL_PATH DATA/Par_file | cut -d = -f 2 `
+
+# script to run the mesher and the solver
+# read DATA/Par_file to get information about the run
+# compute total number of nodes needed
+NPROC_XI=`grep NPROC_XI DATA/Par_file | cut -d = -f 2 `
+NPROC_ETA=`grep NPROC_ETA DATA/Par_file | cut -d = -f 2`
+NCHUNKS=`grep NCHUNKS DATA/Par_file | cut -d = -f 2 `
+
+# total number of nodes is the product of the values read
+numnodes=$(( $NCHUNKS * $NPROC_XI * $NPROC_ETA ))
+
+# cleans OUTPUT_FILES
+rm -r -f OUTPUT_FILES
+mkdir OUTPUT_FILES
+
+# backup for files used for this simulation
+cp DATA/Par_file OUTPUT_FILES/
+
+rm -rf OUTPUT_FILES/src
+mkdir OUTPUT_FILES/src
+cp -p *.f90 OUTPUT_FILES/src/
+cp -p *.c OUTPUT_FILES/src/
+cp -p *.in OUTPUT_FILES/src/
+cp -p *.h OUTPUT_FILES/src/
+
+# obtain job information
+cat $PBS_NODEFILE > OUTPUT_FILES/compute_nodes
+echo "$PBS_JOBID" > OUTPUT_FILES/jobid
+
+
+echo starting MPI mesher on $numnodes processors
+echo " "
+
+sleep 2 
+mpiexec -np $numnodes $PWD/bin/xmeshfem3D
+
+# backup important files addressing.txt and list*.txt 
+cp OUTPUT_FILES/*.txt $BASEMPIDIR/
+
+
+echo "done"


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/pbs/go_mesher_pbs.bash
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/pbs/go_solver_pbs.bash
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/pbs/go_solver_pbs.bash	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/pbs/go_solver_pbs.bash	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,62 @@
+#!/bin/bash
+#PBS -S /bin/bash
+
+## job name and output file
+#PBS -N go_solver
+#PBS -j oe
+#PBS -o OUTPUT_FILES/job.o
+
+###########################################################
+# USER PARAMETERS
+
+## 150 CPUs ( 18*8 + 6 ), walltime 5 hour
+#PBS -l nodes=18:ppn=8+1:ppn=6,walltime=5:00:00
+
+###########################################################
+
+cd $PBS_O_WORKDIR
+
+BASEMPIDIR=`grep LOCAL_PATH DATA/Par_file | cut -d = -f 2 `
+
+# script to run the mesher and the solver
+# read DATA/Par_file to get information about the run
+# compute total number of nodes needed
+NPROC_XI=`grep NPROC_XI DATA/Par_file | cut -d = -f 2 `
+NPROC_ETA=`grep NPROC_ETA DATA/Par_file | cut -d = -f 2`
+NCHUNKS=`grep NCHUNKS DATA/Par_file | cut -d = -f 2 `
+
+# total number of nodes is the product of the values read
+numnodes=$(( $NCHUNKS * $NPROC_XI * $NPROC_ETA ))
+
+mkdir -p OUTPUT_FILES
+
+
+# backup files used for this simulation
+cp DATA/Par_file OUTPUT_FILES/
+cp DATA/STATIONS OUTPUT_FILES/
+cp DATA/CMTSOLUTION OUTPUT_FILES/
+
+rm -rf OUTPUT_FILES/src
+mkdir OUTPUT_FILES/src
+cp -p *.f90 OUTPUT_FILES/src/
+cp -p *.c OUTPUT_FILES/src/
+cp -p *.in OUTPUT_FILES/src/
+cp -p *.h OUTPUT_FILES/src/
+
+
+# obtain job information
+cat $PBS_NODEFILE > OUTPUT_FILES/compute_nodes
+echo "$PBS_JOBID" > OUTPUT_FILES/jobid
+
+
+echo starting run in current directory $PWD
+echo " "
+
+cp $BASEMPIDIR/addr*.txt OUTPUT_FILES/
+cp $BASEMPIDIR/list*.txt OUTPUT_FILES/
+
+sleep 2 
+mpiexec -np $numnodes $PWD/bin/xspecfem3D
+
+echo "finished successfully"
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/pbs/go_solver_pbs.bash
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/pbs/run_pbs.bash
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/pbs/run_pbs.bash	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/pbs/run_pbs.bash	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,24 @@
+#!/bin/bash
+# use the normal queue unless otherwise directed
+
+#module load openmpi/intel-11.1
+
+rm -f OUTPUT_FILES/*
+
+d=`date`
+echo "Starting compilation $d"
+make clean
+make xmeshfem3D
+make xcreate_header_file
+./bin/xcreate_header_file
+make xspecfem3D
+d=`date`
+echo "Finished compilation $d"
+
+echo "Submitting job"
+
+# mesher
+qsub < go_mesher_sge.bash
+
+# solver
+#qsub < go_solver_sge.bash


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/pbs/run_pbs.bash
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/pbs/valgrind_go_solver_pbs.bash
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/pbs/valgrind_go_solver_pbs.bash	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/pbs/valgrind_go_solver_pbs.bash	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,89 @@
+#!/bin/bash
+#
+# Valgrind, a suite of tools for debugging and profiling
+# http://valgrind.org/
+#
+
+# bash script
+#PBS -S /bin/bash
+
+# job name 
+#PBS -N go_solver
+
+# joins output and error information
+#PBS -j oe
+
+# job output file
+#PBS -o OUTPUT_FILES/job.o
+
+###########################################################
+# USER PARAMETERS
+
+# Queue
+#PBS -q tromp
+
+# 150 CPUs ( 18*8+6 ), walltime 15 hour
+#PBS -l nodes=18:ppn=8+1:ppn=6,walltime=15:00:00
+
+# valgrind mpi library 
+PRELOAD_LIB=/my_valgrind_path/valgrind/lib/valgrind/libmpiwrap-x86-linux.so
+
+###########################################################
+
+cd $PBS_O_WORKDIR
+
+BASEMPIDIR=`grep LOCAL_PATH DATA/Par_file | cut -d = -f 2 `
+
+# script to run the mesher and the solver
+# read DATA/Par_file to get information about the run
+# compute total number of nodes needed
+NPROC_XI=`grep NPROC_XI DATA/Par_file | cut -d = -f 2 `
+NPROC_ETA=`grep NPROC_ETA DATA/Par_file | cut -d = -f 2`
+NCHUNKS=`grep NCHUNKS DATA/Par_file | cut -d = -f 2 `
+
+# total number of nodes is the product of the values read
+numnodes=$(( $NCHUNKS * $NPROC_XI * $NPROC_ETA ))
+
+mkdir -p OUTPUT_FILES
+
+# backup for files used for this simulation
+cp DATA/Par_file OUTPUT_FILES/
+cp DATA/STATIONS OUTPUT_FILES/
+cp DATA/CMTSOLUTION OUTPUT_FILES/
+
+rm -rf OUTPUT_FILES/src
+mkdir OUTPUT_FILES/src
+cp -p *.f90 OUTPUT_FILES/src/
+cp -p *.c OUTPUT_FILES/src/
+cp -p *.in OUTPUT_FILES/src/
+cp -p *.h OUTPUT_FILES/src/
+
+
+# obtain job information
+cat $PBS_NODEFILE > OUTPUT_FILES/compute_nodes
+echo "$PBS_JOBID" > OUTPUT_FILES/jobid
+
+echo starting run in current directory $PWD
+echo " "
+
+cp $BASEMPIDIR/addr*.txt OUTPUT_FILES/
+cp $BASEMPIDIR/list*.txt OUTPUT_FILES/
+
+sleep 2
+
+# memory leaks
+LD_PRELOAD=$PRELOAD_LIB mpiexec -np $numnodes valgrind --leak-check=full $PWD/bin/xspecfem3D
+
+cp OUTPUT_FILES/job.o OUTPUT_FILES/job.memory-leaks.o
+
+sleep 2
+
+# cache misses
+LD_PRELOAD=$PRELOAD_LIB mpiexec -np $numnodes valgrind --tool=cachegrind $PWD/bin/xspecfem3D
+
+cp OUTPUT_FILES/job.o OUTPUT_FILES/job.cache-misses.o
+cp cachegrind.out.* OUTPUT_FILES/
+
+
+echo "finished successfully"
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/pbs/valgrind_go_solver_pbs.bash
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/run3d.csh
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/run3d.csh	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/run3d.csh	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,29 @@
+#!/bin/csh
+
+# compile and run the mesher and then the solver, then collect the seismograms
+
+set OUTDIR="SEM"
+
+sleep 1
+make clean
+sleep 1
+make meshfem3D
+sleep 10
+go_mesher
+
+sleep 5
+make clean
+sleep 1
+make specfem3D
+sleep 10
+go_solver
+
+sleep 5
+if (! -d $OUTDIR) then
+   mkdir $OUTDIR
+endif 
+cd $OUTDIR
+cp ../DATA/CMTSOLUTION .
+cp ../DATA/STATIONS .
+cp ../DATA/Par_file .
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/run3d.csh
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/sge/go_mesher_sge.bash
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/sge/go_mesher_sge.bash	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/sge/go_mesher_sge.bash	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,61 @@
+#!/bin/sh 
+# sun grid engine cluster @ oxford
+
+# use current working directory
+#$ -cwd
+
+# merge error output into standard output stream
+#$ -j yes
+#$ -o OUTPUT_FILES/job.o
+
+###########################################################
+# USER PARAMETERS
+
+# specific environment with 180 cpu total, request to use 150 cpus:
+#$ -pe make 150
+
+###########################################################
+
+
+BASEMPIDIR=`grep LOCAL_PATH DATA/Par_file | cut -d = -f 2 `
+
+# script to run the mesher and the solver
+# read DATA/Par_file to get information about the run
+# compute total number of nodes needed
+NPROC_XI=`grep NPROC_XI DATA/Par_file | cut -d = -f 2 `
+NPROC_ETA=`grep NPROC_ETA DATA/Par_file | cut -d = -f 2`
+NCHUNKS=`grep NCHUNKS DATA/Par_file | cut -d = -f 2 `
+
+# total number of nodes is the product of the values read
+numnodes=$(( $NCHUNKS * $NPROC_XI * $NPROC_ETA ))
+
+mkdir -p OUTPUT_FILES
+
+# backup for files used for this simulation
+cp DATA/Par_file OUTPUT_FILES/
+cp DATA/STATIONS OUTPUT_FILES/
+cp DATA/CMTSOLUTION OUTPUT_FILES/
+
+rm -rf OUTPUT_FILES/src
+mkdir OUTPUT_FILES/src
+cp -p *.f90 OUTPUT_FILES/src/
+cp -p *.c OUTPUT_FILES/src/
+cp -p *.in OUTPUT_FILES/src/
+cp -p *.h OUTPUT_FILES/src/
+
+
+echo starting run in current directory $PWD
+echo " "
+
+cp $BASEMPIDIR/addr*.txt OUTPUT_FILES/
+cp $BASEMPIDIR/list*.txt OUTPUT_FILES/
+
+# run in parallel with sge as resource manager
+#set echo
+
+/opt/SUNWhpc/bin/mprun -x sge ./bin/xmeshfem3D
+
+# or using mpiexec 
+#/opt/mpich/bin/mpiexec -np $numnodes ./bin/xmeshfem3D
+
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/sge/go_mesher_sge.bash
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/sge/go_solver_sge.bash
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/sge/go_solver_sge.bash	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/sge/go_solver_sge.bash	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,59 @@
+#!/bin/sh 
+# sun grid engine cluster @ oxford
+
+# use current working directory
+#$ -cwd
+
+# merge error output into standard output stream
+#$ -j yes
+#$ -o OUTPUT_FILES/job.o
+
+###########################################################
+# USER PARAMETERS
+
+# specific environment with 180 cpu total, request to use 150 cpus:
+#$ -pe make 150
+
+###########################################################
+
+
+BASEMPIDIR=`grep LOCAL_PATH DATA/Par_file | cut -d = -f 2 `
+
+# script to run the mesher and the solver
+# read DATA/Par_file to get information about the run
+# compute total number of nodes needed
+NPROC_XI=`grep NPROC_XI DATA/Par_file | cut -d = -f 2 `
+NPROC_ETA=`grep NPROC_ETA DATA/Par_file | cut -d = -f 2`
+NCHUNKS=`grep NCHUNKS DATA/Par_file | cut -d = -f 2 `
+
+# total number of nodes is the product of the values read
+numnodes=$(( $NCHUNKS * $NPROC_XI * $NPROC_ETA ))
+
+mkdir -p OUTPUT_FILES
+
+# backup for files used for this simulation
+cp DATA/Par_file OUTPUT_FILES/
+cp DATA/STATIONS OUTPUT_FILES/
+cp DATA/CMTSOLUTION OUTPUT_FILES/
+
+rm -rf OUTPUT_FILES/src
+mkdir OUTPUT_FILES/src
+cp -p *.f90 OUTPUT_FILES/src/
+cp -p *.c OUTPUT_FILES/src/
+cp -p *.in OUTPUT_FILES/src/
+cp -p *.h OUTPUT_FILES/src/
+
+
+echo starting run in current directory $PWD
+echo " "
+
+cp $BASEMPIDIR/addr*.txt OUTPUT_FILES/
+cp $BASEMPIDIR/list*.txt OUTPUT_FILES/
+
+# run in parallel with sge as resource manager
+#set echo
+
+/opt/SUNWhpc/bin/mprun -x sge ./bin/xspecfem3D
+
+# or using mpiexec 
+#/opt/mpich/bin/mpiexec -np $numnodes ./bin/xspecfem3D
\ No newline at end of file


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/sge/go_solver_sge.bash
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/sge/run_sge.bash
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/sge/run_sge.bash	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/sge/run_sge.bash	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,26 @@
+#!/bin/bash
+# use the normal queue unless otherwise directed
+# specific queue: 
+#     pe.q with 130 cpus, 
+#     all.q with 49 cpus 
+# can be added to qsub command at the end -p pe.q
+
+rm -f OUTPUT_FILES/*
+
+d=`date`
+echo "Starting compilation $d"
+make clean
+make xmeshfem3D
+make xcreate_header_file
+./bin/xcreate_header_file
+make xspecfem3D
+d=`date`
+echo "Finished compilation $d"
+
+echo "Submitting job"
+
+# mesher
+qsub go_mesher_sge.bash
+
+# solver
+#qsub go_solver_sge.bash


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/sge/run_sge.bash
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/test_cache_size.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/test_cache_size.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/test_cache_size.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,128 @@
+!=====================================================================
+!
+!          S p e c f e m 3 D  G l o b e  V e r s i o n  5 . 1
+!          --------------------------------------------------
+!
+!          Main authors: Dimitri Komatitsch and Jeroen Tromp
+!                        Princeton University, USA
+!                    and University of Pau, France
+! (c) California Institute of Technology / Princeton University and University of Pau, October 2007
+!
+! This program is free software; you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation; either version 2 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License along
+! with this program; if not, write to the Free Software Foundation, Inc.,
+! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+!
+!=====================================================================
+
+  program test_cache_size
+
+! test processor cache size as in the book of Deville et al. (2002), Chapter 8
+
+! Dimitri Komatitsch, University of Pau, France, May 2007
+
+  implicit none
+
+! timer to count elapsed time
+  character(len=8) datein
+  character(len=10) timein
+  character(len=5)  :: zone
+  integer, dimension(8) :: time_values_in,time_values_out
+  double precision :: time_start,time_end
+
+  integer, parameter :: NELEM_ARRAY_MAX = 10000000
+
+  real, dimension(NELEM_ARRAY_MAX) :: a
+
+  real :: c
+
+  double precision :: megaflops
+
+  integer :: NELEM_ARRAY,l,chiffre,puissance,NLOOP
+
+!***********************************************************************
+
+! count elapsed wall-clock time
+  datein = ''
+  timein = ''
+  zone = ''
+
+  NELEM_ARRAY = 1000
+
+  c = 1.0
+
+  do puissance = 0,6
+
+  do chiffre = 1,9
+
+  NELEM_ARRAY = chiffre * 10**puissance
+
+  a(:) = 0.0
+
+  call c_add(a,c,NELEM_ARRAY)
+
+  if(NELEM_ARRAY <= 1000) then
+    NLOOP = 10000000
+  else if(NELEM_ARRAY <= 10000) then
+    NLOOP = 600000
+  else if(NELEM_ARRAY <= 100000) then
+    NLOOP = 60000
+  else
+    NLOOP = 5000
+  endif
+
+  call date_and_time(datein,timein,zone,time_values_in)
+  do l = 1,NLOOP
+    call c_add(a,c,NELEM_ARRAY)
+  enddo
+  call date_and_time(datein,timein,zone,time_values_out)
+
+! time_values_in(3): day of the month
+! time_values_in(5): hour of the day
+! time_values_in(6): minutes of the hour
+! time_values_in(7): seconds of the minute
+! time_values_in(8): milliseconds of the second
+
+! this fails if we cross the end of the hour
+  time_start = 60000.d0*time_values_in(6) + 1000.d0*time_values_in(7) + time_values_in(8)
+  time_end   = 60000.d0*time_values_out(6) + 1000.d0*time_values_out(7) + time_values_out(8)
+
+  megaflops = dble(NELEM_ARRAY) * dble(NLOOP) / (time_end - time_start) / 1.d3
+
+  print *,NELEM_ARRAY,' elements -> megaflops = ',megaflops
+
+  enddo
+
+  enddo
+
+  end program test_cache_size
+
+!---
+
+  subroutine c_add(a,c,NELEM_ARRAY)
+
+  implicit none
+
+  integer :: NELEM_ARRAY
+
+  integer :: i
+
+  real, dimension(NELEM_ARRAY) :: a
+
+  real :: c
+
+  do i = 1,NELEM_ARRAY
+   a(i) = a(i) + c
+  enddo
+
+  end subroutine c_add
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Cluster/test_cache_size.f90
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Profiles/README
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Profiles/README	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Profiles/README	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,23 @@
+write_profile.f90:
+
+This program writes profiles of material properties for the model chosen in Par_file.  It was written for revision r17328 and was found to work for some models.  It will most likely not work with other revisions, but can be used as a template for creating a new program.
+
+To update the program:
+Most of the code is from get_model.f90 and is marked with comments.  Copy paste the corresponding part from the most recent get_model.f90 and paste it
+into write_profile.f90.   Updated calls to subroutines may be necessary, in particular to read_compute_parameters which often changes.  Copy write_profile.f90 to the trunk directory.  Add the following lines to the Makefile:
+
+xwrite_profile: $O/write_profile.o $O/exit_mpi.o  $O/meshfem3D_models.o $(LIBSPECFEM_MESHER)
+	${MPIFCCOMPILE_CHECK} -o xwrite_profile $O/exit_mpi.o $O/write_profile.o  $O/meshfem3D_models.o $(LIBSPECFEM_MESHER) $(MPILIBS)
+
+$O/write_profile.o: constants.h write_profile.f90
+	${MPIFCCOMPILE_CHECK} -c -o $O/write_profile.o ${FCFLAGS_f90} write_profile.f90
+
+Then execute:
+make write_profile
+./xwrite_profile
+
+The code should write profiles every 2x2 degrees for the entire globe.
+
+July 15th, 2008, updated Oct 27th, 2010
+Vala Hjorleifsdottir, vala at geofisica.unam.mx
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Profiles/write_profile.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Profiles/write_profile.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Profiles/write_profile.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,510 @@
+!=====================================================================
+!
+!          S p e c f e m 3 D  G l o b e  V e r s i o n  5 . 1
+!          --------------------------------------------------
+!
+!          Main authors: Dimitri Komatitsch and Jeroen Tromp
+!                        Princeton University, USA
+!             and University of Pau / CNRS / INRIA, France
+! (c) Princeton University / California Institute of Technology and University of Pau / CNRS / INRIA
+!                            April 2011
+!
+! This program is free software; you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation; either version 2 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License along
+! with this program; if not, write to the Free Software Foundation, Inc.,
+! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+!
+!=====================================================================
+
+!=====================================================================
+! write_profile.f90
+!
+! This is a utility code written to ouput profiles through the model used by SPECFEM,
+! as it were if it was sampled on a radial line through the Earth at 2x2 degree
+! intervals, with discontinuities honored by the mesh and those of the MOHO and
+! crust/ocean indicated by repeating points with different values.
+
+! The code shortcuts through meshfem3D -> create_regions_mesh ->
+! create_regular_elements -> compute_element_properties -> compute_element_properties ->
+! get_model, cutting and pasting the relevant parts.
+
+! This code IS NOT MAINTAINED and most likely will not work without modification as
+! it calls functions that may have changed since it was last updated.
+!
+! I have tried to indicate where different parts come from to facilitate updates.
+!   - vala hjorleifsdottir (vala at geofisica.unam.mx)
+!=====================================================================
+
+  program xwrite_profile
+
+  use meshfem3D_models_par
+
+  implicit none
+
+! standard include of the MPI library
+  include 'mpif.h'
+
+  include "precision.h"
+!  include "constants.h"
+
+
+! parameters needed to store the radii of the grid points
+! in the spherically symmetric Earth
+  integer idoubling
+
+! proc numbers for MPI
+  integer myrank,sizeprocs,ier
+
+
+! for loop on all the slices
+  integer iregion_code
+
+! for ellipticity
+!  integer nspl
+!  double precision rspl(NR),espl(NR),espl2(NR)
+
+! for stretching
+ double precision gamma
+
+
+! parameters read from parameter file
+  integer MIN_ATTENUATION_PERIOD,MAX_ATTENUATION_PERIOD,NER_CRUST, &
+          NER_80_MOHO,NER_220_80,NER_400_220,NER_600_400,NER_670_600,NER_771_670, &
+          NER_TOPDDOUBLEPRIME_771,NER_CMB_TOPDDOUBLEPRIME,NER_OUTER_CORE, &
+          NER_TOP_CENTRAL_CUBE_ICB,NEX_XI,NEX_ETA, &
+          NPROC_XI,NPROC_ETA,NTSTEP_BETWEEN_OUTPUT_SEISMOS, &
+          NTSTEP_BETWEEN_READ_ADJSRC,NSTEP,NSOURCES,NTSTEP_BETWEEN_FRAMES, &
+          NTSTEP_BETWEEN_OUTPUT_INFO,NUMBER_OF_RUNS,NUMBER_OF_THIS_RUN,NCHUNKS,SIMULATION_TYPE, &
+          MOVIE_VOLUME_TYPE,MOVIE_START,MOVIE_STOP,NOISE_TOMOGRAPHY
+
+  double precision DT,ANGULAR_WIDTH_XI_IN_DEGREES,ANGULAR_WIDTH_ETA_IN_DEGREES,CENTER_LONGITUDE_IN_DEGREES, &
+          CENTER_LATITUDE_IN_DEGREES,GAMMA_ROTATION_AZIMUTH,ROCEAN,RMIDDLE_CRUST, &
+          RMOHO,R80,R120,R220,R400,R600,R670,R771,RTOPDDOUBLEPRIME,RCMB,RICB, &
+          R_CENTRAL_CUBE,RHO_TOP_OC,RHO_BOTTOM_OC,RHO_OCEANS,HDUR_MOVIE, &
+          MOVIE_TOP,MOVIE_BOTTOM,MOVIE_WEST,MOVIE_EAST,MOVIE_NORTH,MOVIE_SOUTH, &
+          RMOHO_FICTITIOUS_IN_MESHER
+
+  logical MOVIE_SURFACE,MOVIE_VOLUME,MOVIE_COARSE, &
+          RECEIVERS_CAN_BE_BURIED,PRINT_SOURCE_TIME_FUNCTION, &
+          SAVE_MESH_FILES,ABSORBING_CONDITIONS,INCLUDE_CENTRAL_CUBE,INFLATE_CENTRAL_CUBE,SAVE_FORWARD, &
+          OUTPUT_SEISMOS_ASCII_TEXT,OUTPUT_SEISMOS_SAC_ALPHANUM,OUTPUT_SEISMOS_SAC_BINARY, &
+          ROTATE_SEISMOGRAMS_RT,WRITE_SEISMOGRAMS_BY_MASTER,&
+          SAVE_ALL_SEISMOS_IN_ONE_FILE,USE_BINARY_FOR_LARGE_FILE
+
+  character(len=150) OUTPUT_FILES,LOCAL_PATH,MODEL
+
+! parameters deduced from parameters read from file
+  integer NPROC,NPROCTOT,NEX_PER_PROC_XI,NEX_PER_PROC_ETA,ratio_divide_central_cube
+
+  integer, external :: err_occurred
+
+! this for all the regions
+  integer, dimension(MAX_NUM_REGIONS) :: NSPEC,NSPEC2D_XI,NSPEC2D_ETA, &
+               NSPEC2DMAX_XMIN_XMAX,NSPEC2DMAX_YMIN_YMAX, &
+               NSPEC2D_BOTTOM,NSPEC2D_TOP,NSPEC1D_RADIAL,NGLOB1D_RADIAL, &
+               NGLOB2DMAX_XMIN_XMAX,NGLOB2DMAX_YMIN_YMAX, &
+               NGLOB
+
+! computed in read_compute_parameters
+  integer, dimension(MAX_NUMBER_OF_MESH_LAYERS) :: ner,ratio_sampling_array
+  integer, dimension(MAX_NUMBER_OF_MESH_LAYERS) :: doubling_index
+  double precision, dimension(MAX_NUMBER_OF_MESH_LAYERS) :: r_bottom,r_top
+  logical, dimension(MAX_NUMBER_OF_MESH_LAYERS) :: this_region_has_a_doubling
+  double precision, dimension(MAX_NUMBER_OF_MESH_LAYERS) :: rmins,rmaxs
+
+
+  integer, dimension(NB_SQUARE_CORNERS,NB_CUT_CASE) :: DIFF_NSPEC1D_RADIAL
+  integer, dimension(NB_SQUARE_EDGES_ONEDIR,NB_CUT_CASE) :: DIFF_NSPEC2D_XI,DIFF_NSPEC2D_ETA
+  logical :: CUT_SUPERBRICK_XI,CUT_SUPERBRICK_ETA
+
+
+  integer i,j
+  double precision rho,drhodr,vp,vs,Qkappa,Qmu
+  double precision vpv,vph,vsv,vsh,eta_aniso
+  double precision dvp,dvs,drho
+  real(kind=4) xcolat,xlon,xrad,dvpv,dvph,dvsv,dvsh
+  double precision r,r_prem,r_moho,theta,phi,theta_deg,phi_deg,theta_degrees,phi_degrees
+  double precision lat,lon,elevation
+  double precision vpc,vsc,rhoc,moho
+  integer NUMBER_OF_MESH_LAYERS
+
+  double precision c11,c12,c13,c14,c15,c16,c22,c23,c24,c25,c26,c33, &
+                   c34,c35,c36,c44,c45,c46,c55,c56,c66
+
+  double precision rmin,rmax,rmax_last
+
+! Attenuation values
+  double precision, dimension(N_SLS)                     :: tau_s, tau_e
+  double precision  T_c_source
+
+  logical found_crust
+
+  integer nit,ilayer,islice,iline,iline_icb,iline_cmb,iline_moho,iline_ocean
+  integer ilayers_ocean,nlayers_ocean
+  double precision delta,scaleval,r_ocean
+  character(len=200) outfile
+
+!--- from compute_element_properties
+  ! Parameter used to decide whether this element is in the crust or not
+  logical:: elem_in_crust,elem_in_mantle
+!---
+
+!--- from
+  ! local parameters
+  double precision xmesh,ymesh,zmesh
+!---
+
+! ************** PROGRAM STARTS HERE **************
+  call MPI_INIT(ier)
+
+!!! -- this part is from meshfem3D (read parfile and output info)
+
+! get the base pathname for output files
+  call get_value_string(OUTPUT_FILES, 'OUTPUT_FILES', 'OUTPUT_FILES')
+
+  open(unit=IMAIN,file=trim(OUTPUT_FILES)//'/output_profile.txt',status='unknown')
+  write(IMAIN,*) 'reading parameter file..'
+
+! read the parameter file and compute additional parameters
+    call read_compute_parameters(MIN_ATTENUATION_PERIOD,MAX_ATTENUATION_PERIOD,NER_CRUST, &
+          NER_80_MOHO,NER_220_80,NER_400_220,NER_600_400,NER_670_600,NER_771_670, &
+          NER_TOPDDOUBLEPRIME_771,NER_CMB_TOPDDOUBLEPRIME,NER_OUTER_CORE, &
+          NER_TOP_CENTRAL_CUBE_ICB,NEX_XI,NEX_ETA,RMOHO_FICTITIOUS_IN_MESHER, &
+          NPROC_XI,NPROC_ETA,NTSTEP_BETWEEN_OUTPUT_SEISMOS, &
+          NTSTEP_BETWEEN_READ_ADJSRC,NSTEP,NTSTEP_BETWEEN_FRAMES, &
+          NTSTEP_BETWEEN_OUTPUT_INFO,NUMBER_OF_RUNS,NUMBER_OF_THIS_RUN,NCHUNKS,DT, &
+          ANGULAR_WIDTH_XI_IN_DEGREES,ANGULAR_WIDTH_ETA_IN_DEGREES,CENTER_LONGITUDE_IN_DEGREES, &
+          CENTER_LATITUDE_IN_DEGREES,GAMMA_ROTATION_AZIMUTH,ROCEAN,RMIDDLE_CRUST, &
+          RMOHO,R80,R120,R220,R400,R600,R670,R771,RTOPDDOUBLEPRIME,RCMB,RICB, &
+          R_CENTRAL_CUBE,RHO_TOP_OC,RHO_BOTTOM_OC,RHO_OCEANS,HDUR_MOVIE,MOVIE_VOLUME_TYPE, &
+          MOVIE_TOP,MOVIE_BOTTOM,MOVIE_WEST,MOVIE_EAST,MOVIE_NORTH,MOVIE_SOUTH,MOVIE_START,MOVIE_STOP, &
+          TRANSVERSE_ISOTROPY,ANISOTROPIC_3D_MANTLE, &
+          ANISOTROPIC_INNER_CORE,CRUSTAL,ELLIPTICITY,GRAVITY,ONE_CRUST, &
+          ROTATION,ISOTROPIC_3D_MANTLE,HETEROGEN_3D_MANTLE,TOPOGRAPHY,OCEANS,MOVIE_SURFACE, &
+          MOVIE_VOLUME,MOVIE_COARSE,ATTENUATION_3D,RECEIVERS_CAN_BE_BURIED, &
+          PRINT_SOURCE_TIME_FUNCTION,SAVE_MESH_FILES, &
+          ATTENUATION,REFERENCE_1D_MODEL,THREE_D_MODEL,ABSORBING_CONDITIONS, &
+          INCLUDE_CENTRAL_CUBE,INFLATE_CENTRAL_CUBE,LOCAL_PATH,MODEL,SIMULATION_TYPE,SAVE_FORWARD, &
+          NPROC,NPROCTOT,NEX_PER_PROC_XI,NEX_PER_PROC_ETA, &
+          NSPEC,NSPEC2D_XI,NSPEC2D_ETA,NSPEC2DMAX_XMIN_XMAX, &
+          NSPEC2DMAX_YMIN_YMAX,NSPEC2D_BOTTOM,NSPEC2D_TOP, &
+          NSPEC1D_RADIAL,NGLOB1D_RADIAL,NGLOB2DMAX_XMIN_XMAX,NGLOB2DMAX_YMIN_YMAX,NGLOB, &
+          ratio_sampling_array, ner, doubling_index,r_bottom,r_top,&
+          this_region_has_a_doubling,rmins,rmaxs,CASE_3D, &
+          OUTPUT_SEISMOS_ASCII_TEXT,OUTPUT_SEISMOS_SAC_ALPHANUM,OUTPUT_SEISMOS_SAC_BINARY, &
+          ROTATE_SEISMOGRAMS_RT,ratio_divide_central_cube, &
+          HONOR_1D_SPHERICAL_MOHO,CUT_SUPERBRICK_XI,CUT_SUPERBRICK_ETA,&
+          DIFF_NSPEC1D_RADIAL,DIFF_NSPEC2D_XI,DIFF_NSPEC2D_ETA,&
+          WRITE_SEISMOGRAMS_BY_MASTER,SAVE_ALL_SEISMOS_IN_ONE_FILE, &
+          USE_BINARY_FOR_LARGE_FILE,.false.,NOISE_TOMOGRAPHY)
+
+  ! distributes 3D models
+  print *,'Reading 3D models'
+  call meshfem3D_models_broadcast(myrank,NSPEC, &
+       MIN_ATTENUATION_PERIOD,MAX_ATTENUATION_PERIOD,&
+       R80,R220,R670,RCMB,RICB)
+  print *,'Done reading 3D models'
+
+!!    call meshfem3D_output_info(myrank,sizeprocs,NEX_XI,NEX_ETA, &
+ !                               NPROC_XI,NPROC_ETA,NPROC,NCHUNKS,NPROCTOT,&
+ !                               R_CENTRAL_CUBE)
+
+!!! -- end part from meshfem3D
+
+!!! -- this part is from create_regions_mesh
+
+  if(ONE_CRUST) then
+     NUMBER_OF_MESH_LAYERS = MAX_NUMBER_OF_MESH_LAYERS-1
+  else
+     NUMBER_OF_MESH_LAYERS = MAX_NUMBER_OF_MESH_LAYERS
+  endif
+!!! -- end of part from create_regions_mesh
+
+! loop over all theta (colatitude) and phis (longitude), every two degrees
+! do i=0,89
+  do i=15,15
+  theta_degrees = 1.0d0 + i*2.0d0
+   do j=45,45
+!  do j=0,179
+   phi_degrees = 1.0d0 + j*2.0d0
+
+! open output file
+
+  write(*,'(a,i04.4,a,i04.4)') &
+     'OUTPUT_FILES/CARDS_th',int(theta_degrees),'_ph',int(phi_degrees)
+  write(outfile,'(a,i04.4,a,i04.4)') &
+     'OUTPUT_FILES/CARDS_th',int(theta_degrees),'_ph',int(phi_degrees)
+  open(unit=57,file=outfile,status='unknown')
+
+    rmax_last = 0.0d0
+    theta = theta_degrees*TWO_PI/360.0d0
+    phi   = phi_degrees  *TWO_PI/360.0d0
+
+!  keep track of line number to be able to write out locations of discontinuities at end
+    iline = 0
+
+! read crustal models and topo models as they are needed to modify the depths of the discontinuities
+    if(CRUSTAL) then
+       call reduce(theta,phi)
+       ! convert from rthetaphi to xyz, with r=-7km
+       r = (1.0d0 - 7.0d0/R_EARTH_KM)
+       call rthetaphi_2_xyz(xmesh,ymesh,zmesh,r,theta,phi)
+       print *, 'xmesh,ymesh,zmesh,r,theta,phi',xmesh,ymesh,zmesh,r,theta,phi
+       elem_in_crust = .true.
+       call meshfem3D_models_get3Dcrust_val(IREGION_CRUST_MANTLE,xmesh,ymesh,zmesh,r, &
+            vpv,vph,vsv,vsh,rho,eta_aniso,dvp, &
+            c11,c12,c13,c14,c15,c16,c22,c23,c24,c25, &
+            c26,c33,c34,c35,c36,c44,c45,c46,c55,c56,c66, &
+            elem_in_crust,moho)
+       print *, 'moho depth [km]:',moho*R_EARTH_KM, (1.0d0-moho)*R_EARTH_KM,  vpv,vph,vsv,vsh,rho,eta_aniso,dvp !, 'moho radius:',1.0d0 - moho, 'in km: ',(1.0d0-moho)*R_EARTH_KM
+    endif
+    if(TOPOGRAPHY .or. OCEANS) then
+       lat=(PI/2.0d0-theta)*180.0d0/PI
+       lon=phi*180.0d0/PI
+       if(lon>180.0d0) lon=lon-360.0d0
+       print *,'get_topo_bathy(lat,lon,elevation,ibathy_topo',lat,lon,elevation
+       call get_topo_bathy(lat,lon,elevation,ibathy_topo)
+       print *,'get_topo_bathy(lat,lon,elevation,ibathy_topo',lat,lon,elevation
+       print *, 'elevation [km]:',elevation/1000.0d0!, 'surface radius:',1.0d0 + elevation /R_EARTH
+    endif
+
+    do ilayer = 1,NUMBER_OF_MESH_LAYERS  ! loop over all layers
+
+       if(ilayer == 1) then
+         rmin = 0.0d0
+         rmax = rmins(NUMBER_OF_MESH_LAYERS-1)
+         idoubling = IFLAG_INNER_CORE_NORMAL
+       else
+         rmin = rmins(NUMBER_OF_MESH_LAYERS-ilayer+1)
+         rmax = rmaxs(NUMBER_OF_MESH_LAYERS-ilayer+1)
+         idoubling = doubling_index(NUMBER_OF_MESH_LAYERS-ilayer+1)
+       endif
+
+!  make sure that the Moho discontinuity is at the real moho
+      if(CRUSTAL) then
+        if(rmin == RMOHO_FICTITIOUS_IN_MESHER/R_EARTH) then
+          rmin = 1.0d0 - moho
+!          write(*,*) 'rmin == RMOHO',iline
+        endif
+        if(rmax == RMOHO_FICTITIOUS_IN_MESHER/R_EARTH) rmax = 1.0d0 - moho
+      endif
+
+
+      if(rmin == rmax_last) then  !!!! this means that we have just jumped between layers
+
+       ! write values every 10 km in the deep earth and every 1 km in the shallow earth
+       if(rmin>(R_EARTH_KM-100.0d0)/R_EARTH_KM) then
+         delta = 1.0d0/R_EARTH_KM
+       else
+         delta = 10.0d0/R_EARTH_KM
+       endif
+
+       if((TOPOGRAPHY .or. OCEANS) .or. ((.not. CRUSTAL) .and. (ROCEAN < R_EARTH))) then
+        if(rmax == 1.0d0) rmax = ROCEAN /R_EARTH
+       endif
+
+       rmax_last = rmax
+       nit = floor((rmax - rmin)/delta) + 1
+       do islice = 1,nit+1
+         r = rmin + (islice-1)*delta
+         if(rmin == RICB/R_EARTH .and. islice == 1) iline_icb = iline
+         if(rmin == RCMB/R_EARTH .and. islice == 1) iline_cmb = iline
+         if(CRUSTAL) then
+           if(rmin == (1.0d0 - moho) .and. islice == 1) then
+              iline_moho = iline
+           endif
+         else
+           if(rmin == RMOHO/R_EARTH .and. islice == 1) iline_moho = iline
+         endif
+
+        ! initializes values
+        rho = 0.d0
+        vpv = 0.d0
+        vph = 0.d0
+        vsv = 0.d0
+        vsh = 0.d0
+        eta_aniso = 0.d0
+        c11 = 0.d0
+        c12 = 0.d0
+        c13 = 0.d0
+        c14 = 0.d0
+        c15 = 0.d0
+        c16 = 0.d0
+        c22 = 0.d0
+        c23 = 0.d0
+        c24 = 0.d0
+        c25 = 0.d0
+        c26 = 0.d0
+        c33 = 0.d0
+        c34 = 0.d0
+        c35 = 0.d0
+        c36 = 0.d0
+        c44 = 0.d0
+        c45 = 0.d0
+        c46 = 0.d0
+        c55 = 0.d0
+        c56 = 0.d0
+        c66 = 0.d0
+        Qmu = 0.d0
+        Qkappa = 0.d0 ! not used, not stored so far...
+        tau_e(:) = 0.d0
+        dvp = 0.d0
+
+        ! make sure we are within the right shell in PREM to honor discontinuities
+        ! use small geometrical tolerance
+        r_prem = r
+        if(r <= rmin*1.000001d0) r_prem = rmin*1.000001d0
+        if(r >= rmax*0.999999d0) r_prem = rmax*0.999999d0
+
+        ! convert from rthetaphi to xyz to use in function calls.
+
+        call rthetaphi_2_xyz(xmesh,ymesh,zmesh,r_prem,theta,phi)
+
+!!!!-------------------------------------
+        !!start GET_MODEL
+
+        ! checks r_prem,rmin/rmax and assigned idoubling
+        call get_model_check_idoubling(r_prem,xmesh,ymesh,zmesh,rmin,rmax,idoubling, &
+                            RICB,RCMB,RTOPDDOUBLEPRIME, &
+                            R220,R670,myrank)
+
+        ! gets reference model values: rho,vpv,vph,vsv,vsh and eta_aniso
+        call meshfem3D_models_get1D_val(myrank,iregion_code,idoubling, &
+                              r_prem,rho,vpv,vph,vsv,vsh,eta_aniso, &
+                              Qkappa,Qmu,RICB,RCMB, &
+                              RTOPDDOUBLEPRIME,R80,R120,R220,R400,R600,R670,R771, &
+                              RMOHO,RMIDDLE_CRUST,ROCEAN)
+
+        ! gets the 3-D model parameters for the mantle
+        call meshfem3D_models_get3Dmntl_val(iregion_code,r_prem,rho,dvp,&
+                              vpv,vph,vsv,vsh,eta_aniso, &
+                              RCMB,R670,RMOHO, &
+                              xmesh,ymesh,zmesh,r, &
+                              c11,c12,c13,c14,c15,c16,c22,c23,c24,c25,c26,&
+                              c33,c34,c35,c36,c44,c45,c46,c55,c56,c66)
+
+        ! gets the 3-D crustal model
+        if( CRUSTAL ) then
+          if( .not. elem_in_mantle) &
+            call meshfem3D_models_get3Dcrust_val(iregion_code,xmesh,ymesh,zmesh,r, &
+                              vpv,vph,vsv,vsh,rho,eta_aniso,dvp, &
+                              c11,c12,c13,c14,c15,c16,c22,c23,c24,c25, &
+                              c26,c33,c34,c35,c36,c44,c45,c46,c55,c56,c66, &
+                              elem_in_crust,moho)
+        endif
+
+!!! VH  commented out following two lines from get_model
+!        ! overwrites with tomographic model values (from iteration step) here, given at all GLL points
+!        call meshfem3D_models_impose_val(vpv,vph,vsv,vsh,rho,dvp,eta_aniso,&
+!                                        myrank,iregion_code,ispec,i,j,k)
+
+        ! checks vpv: if close to zero then there is probably an error
+        if( vpv < TINYVAL ) then
+          print*,'error vpv: ',vpv,vph,vsv,vsh,rho
+          print*,'radius:',r*R_EARTH_KM
+          call exit_mpi(myrank,'error get_model values')
+        endif
+
+        !> Hejun
+        ! New Attenuation assignment
+        ! Define 3D and 1D Attenuation after moho stretch
+        ! and before TOPOGRAPHY/ELLIPCITY
+        !
+        !note:  only Qmu attenuation considered, Qkappa attenuation not used so far...
+        if( ATTENUATION ) then
+          call meshfem3D_models_getatten_val(idoubling,xmesh,ymesh,zmesh,r_prem, &
+                              tau_e,tau_s,T_c_source, &
+                              moho,Qmu,Qkappa,elem_in_crust) ! R80
+        endif
+
+!END GET_MODEL
+!!!!--------------------------
+!   make sure that the first point of the profile is at zero and the last is at the surface
+      if(islice == 1) then
+         r_prem = rmin
+      elseif(islice == nit+1) then
+         r_prem = rmax
+      endif
+
+!---
+! add_topography
+if((THREE_D_MODEL/=0 .or. TOPOGRAPHY ) .and. &
+   (idoubling == IFLAG_CRUST .or. idoubling == IFLAG_80_MOHO .or. idoubling == IFLAG_220_80)) then
+
+   !print *, 'adding topography.  elevation: ',elevation
+   gamma = (r_prem - R220/R_EARTH) / (R_UNIT_SPHERE - R220/R_EARTH)
+   if(gamma < -0.02 .or. gamma > 1.02) print *, 'incorrect value of gamma for topograpy'
+!   print *,'rprem before: ',r_prem*R_EARTH
+   r_prem = r_prem*(ONE + gamma * (elevation/R_EARTH) /r_prem)
+!   print *,'r_prem after: ',r_prem*R_EARTH
+elseif((.not. CRUSTAL) .and. (ROCEAN < R_EARTH)) then
+   r_prem = ROCEAN/R_EARTH
+endif
+! end add_topography
+!--------
+
+! scale values read from routines back to true values
+      scaleval = dsqrt(PI*GRAV*RHOAV)
+      rho = rho*RHOAV/1000.0d0
+      vpv  = vpv*R_EARTH*scaleval/1000.0d0
+      vph  = vph*R_EARTH*scaleval/1000.0d0
+      vsv  = vsv*R_EARTH*scaleval/1000.0d0
+      vsh  = vsh*R_EARTH*scaleval/1000.0d0
+
+       iline = iline +1
+!       write(57,'(i3,11F10.4)') &
+!            iline,sngl(rmin*R_EARTH_KM),sngl(rmax*R_EARTH_KM),sngl(r_prem*R_EARTH_KM),sngl(r*R_EARTH_KM), &
+!            sngl(vpv),sngl(vph),sngl(vsv),sngl(vsh),sngl(rho),sngl(eta_aniso),sngl(Qmu)
+! finally write the values obtained at the given depth to file
+
+       write(57,'(F8.0,7F9.2,F9.5)') &
+           sngl(r_prem*R_EARTH),sngl(rho*1000.d0),sngl(vpv*1000.d0),sngl(vsv*1000.d0), &
+            sngl(Qkappa),sngl(Qmu),sngl(vph*1000.d0),sngl(vsh*1000.d0),sngl(eta_aniso)
+    enddo !islice
+   endif !rmin == rmax_last
+  enddo !ilayer
+
+!--------
+!!  This part adds the ocean to profile where needed
+
+  if((OCEANS .and. elevation < -500.0) .or. ((.not. CRUSTAL) .and. (ROCEAN < R_EARTH))) then
+     iline_ocean = iline
+     if(OCEANS .and. elevation < -500.0) then
+!        iline_ocean = iline
+        nlayers_ocean = floor(-elevation/500.0d0)
+     elseif((.not. CRUSTAL) .and. (ROCEAN < R_EARTH)) then
+        nlayers_ocean = floor((R_EARTH - ROCEAN)/500.0d0)
+     endif
+
+     do ilayers_ocean=0,nlayers_ocean
+        r_ocean = r_prem + ilayers_ocean*0.5d0/R_EARTH_KM
+        write(57,'(F8.0,7F9.2,F9.5)') &
+            sngl(r_ocean*R_EARTH),1020.0,1450.,0.0,57822.5,0.0,1450.0,0.0,1.0
+        iline = iline +1
+     enddo
+     write(57,'(F8.0,7F9.2,F9.5)') &
+       sngl(1.0d0*R_EARTH),1020.0,1450.,0.0,57822.5,0.0,1450.,0.0,1.0
+     iline = iline+1
+     write(57,'(5i5)') iline,iline_icb,iline_cmb,iline_moho,iline_ocean
+  else
+     write(57,'(5i5)') iline,iline_icb,iline_cmb,iline_moho
+  endif
+!------end adding ocean
+
+  enddo !sum over phi
+  enddo !sum over theta
+!!!!!!!!
+
+  call MPI_FINALIZE(ier)
+
+  end program xwrite_profile
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/SeismiQuery/STATIONS_LH
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/SeismiQuery/STATIONS_LH	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/SeismiQuery/STATIONS_LH	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,1838 @@
+DLV        AD       11.9520    108.4815      50.0     0.0
+SIM        AD       20.1332     92.8852      50.0     0.0
+SLV        AD       21.3338    103.9050      50.0     0.0
+SZP        AD       17.5520    120.4550      50.0     0.0
+CNG        AF      -26.2917     32.1883     100.0     0.0
+CVNA       AF      -31.4821     19.7617    1050.0     0.0
+GRM        AF      -33.3133     26.5733     610.0     0.0
+GSN        AF      -22.5667     17.1000    1728.0     0.0
+HVD        AF      -30.6050     25.4967    1342.0     0.0
+KIG        AF       -1.9634     30.0633    1545.0     0.0
+MOPA       AF      -23.5173     31.3977     362.0     0.0
+PKA        AF      -29.6700     22.7570     290.0     0.0
+POGA       AF      -28.3233     27.6250    1486.0     0.0
+SEK        AF      -28.3233     27.6250    1486.0     0.0
+SWZ        AF      -27.1817     25.3250    1342.0     0.0
+UPI        AF      -28.3620     21.2530     845.0     0.0
+WIN        AF      -22.5667     17.1000    1728.0     0.0
+CTAO       AS      -20.0882    146.2545     357.0    37.0
+KAAO       AS       34.5407     69.0428    1920.0     7.0
+KONO       AS       59.6491      9.5982     216.0   340.0
+MAJO       AS       36.5409    138.2083     431.0    48.0
+ZOBO       AS      -16.2700    -68.1250    4450.0   300.0
+BVA2       AZ       33.3265   -116.3655       0.0     0.0
+BVDA2      AZ       33.3265   -116.3655       0.0     0.0
+BZN        AZ       33.4915   -116.6670    1301.0     0.0
+CPE        AZ       32.8889   -117.1051     150.0     0.0
+CRON       AZ       33.6118   -116.4597    1268.0     0.0
+CRY        AZ       33.5654   -116.7373    1128.0     0.0
+FLV2       AZ       32.9114   -117.0619     278.0     0.0
+FRD        AZ       33.4947   -116.6022    1164.0     0.0
+FSE        AZ       33.0057   -116.5926    1708.0     0.0
+GLA        AZ       33.0512   -114.8270     579.0     0.0
+HWB        AZ       33.0262   -116.9596     478.0     0.0
+JOHN       AZ       33.6118   -116.4597    1268.0     0.0
+JOSE       AZ       33.6118   -116.4597    1268.0     0.0
+KNW        AZ       33.7141   -116.7119    1507.0     0.0
+LVA2       AZ       33.3516   -116.5615    1435.0     0.0
+MONP2      AZ       32.8920   -116.4223    1000.0     0.0
+MONP       AZ       32.8927   -116.4225    1920.0     0.0
+PFO        AZ       33.6117   -116.4594    1259.0     0.0
+RDM        AZ       33.6300   -116.8478    1365.0     0.0
+SCV1       AZ       33.6118   -116.4597    1268.0     0.0
+SCV2       AZ       33.6118   -116.4597    1268.0     0.0
+SMER2      AZ       33.4577   -117.1708     355.0     0.0
+SMTC       AZ       32.9449   -115.7999     100.0     0.0
+SND        AZ       33.5519   -116.6129    1358.0     0.0
+SOL        AZ       32.8410   -117.2480     245.0     0.0
+ST2C       AZ       33.6118   -116.4597    1268.0     0.0
+STS2       AZ       33.6118   -116.4597    1268.0     0.0
+TRIL       AZ       33.6118   -116.4597    1268.0     0.0
+TRO        AZ       33.5234   -116.4257    2628.0     0.0
+WMC        AZ       33.5736   -116.6747    1271.0     0.0
+YAQ        AZ       33.1666   -116.3539     430.0     0.0
+MEM        BE       50.6092      6.0067     250.0     0.0
+BFO        BF       48.3319      8.3311     589.0   150.0
+ARC        BK       40.8777   -124.0774      30.1     0.0
+BDM        BK       37.9540   -121.8655     219.8    34.7
+BKS        BK       37.8762   -122.2356     243.9    25.6
+BRIB       BK       37.9188   -122.1518     218.9     3.3
+BRK        BK       37.8735   -122.2610      49.4     2.7
+CMB        BK       38.0346   -120.3865     697.0     2.0
+CVS        BK       38.3453   -122.4584     295.1    23.2
+ELFS       BK       40.6183   -120.7279    1553.8     0.7
+FARB       BK       37.6978   -123.0011     -18.5     0.0
+GASB       BK       39.6547   -122.7160    1354.8     1.5
+HAST       BK       36.3887   -121.5514     539.5     2.5
+HATC       BK       40.8161   -121.4612    1008.6     0.7
+HELL       BK       36.6801   -119.0228    1137.5     2.5
+HOPS       BK       38.9935   -123.0723     299.1     3.0
+HUMO       BK       42.6071   -122.9567     554.9    50.0
+JAS1       BK       37.9266   -120.4210     398.1     0.0
+JCC        BK       40.8175   -124.0296      27.2     0.0
+JRSC       BK       37.4037   -122.2387      70.5     0.0
+KCC        BK       37.3236   -119.3187     888.1    87.3
+MCCM       BK       38.1448   -122.8802      -7.7     4.0
+MHC        BK       37.3416   -121.6426    1250.4     0.0
+MIN        BK       40.3460   -121.6066    1470.9     0.0
+MNRC       BK       38.8787   -122.4428     709.9     6.5
+MOD        BK       41.9025   -120.3029    1554.5     5.0
+ORV        BK       39.5545   -121.5004     334.7     3.0
+PACP       BK       37.0080   -121.2870     844.0     6.5
+PKD1       BK       35.8894   -120.4261     431.6     0.0
+POTR       BK       38.2026   -121.9353      20.0     6.5
+RAMR       BK       35.6360   -120.8698     414.3     2.5
+SAO        BK       36.7640   -121.4472     317.2     3.0
+STAN       BK       37.4039   -122.1751     125.5     0.0
+SUTB       BK       39.2291   -121.7861     249.5     2.5
+WDC        BK       40.5799   -122.5411     268.3    75.0
+WENL       BK       37.6221   -121.7570     138.9    30.3
+YBH        BK       41.7319   -122.7104    1059.6    50.0
+BJI        CD       40.0403    116.1750      43.0     3.0
+ENH        CD       30.2718    109.4868     487.0     0.0
+HIA        CD       49.2667    119.7417     610.0    15.0
+KMI        CD       25.1233    102.7400    1940.0    35.0
+LSA        CD       29.7000     91.1500    3774.0    15.0
+LZH        CD       36.0867    103.8444    1440.0   120.0
+MDJ        CD       44.6164    129.5919     250.0    50.0
+QIZ        CD       19.0294    109.8433     230.0     0.0
+SSE        CD       31.0956    121.1867      15.0     0.0
+WMQ        CD       43.8211     87.6950     897.0     6.0
+ADO        CI       34.5505   -117.4339     908.0     0.0
+AGA        CI       33.6384   -116.4011     809.0     0.0
+ALP        CI       34.6871   -118.2995     753.0     0.0
+ARV        CI       35.1269   -118.8301     258.0     0.0
+BAK        CI       35.3444   -119.1044     116.0     0.0
+BAR        CI       32.6801   -116.6722     529.0     0.0
+BBR        CI       34.2623   -116.9207    2069.0     0.0
+BBS        CI       33.9214   -116.9806     785.0     0.0
+BC3        CI       33.6551   -115.4537    1137.0     0.0
+BCC        CI       33.5751   -117.2612     391.0     0.0
+BCW        CI       34.9401   -119.4131    1101.0     1.6
+BEL        CI       34.0006   -115.9982    1388.0     0.0
+BFS        CI       34.2388   -117.6585    1312.0     0.0
+BHP        CI       33.9905   -118.3617      81.0     1.6
+BKR        CI       35.2693   -116.0703     275.0     0.0
+BLA2       CI       34.0693   -116.3899    1247.0     1.4
+BLA        CI       34.0695   -116.3890    1243.0     0.0
+BLY        CI       33.7503   -114.5238     196.0     0.0
+BOM        CI       33.3646   -115.7296     -54.0     1.8
+BOR        CI       33.2682   -116.4172     252.0     0.0
+BRE        CI       33.8078   -117.9812      24.0     0.0
+BTC        CI       33.0121   -115.2199      39.0     0.0
+BTP        CI       34.6822   -118.5740    1702.0     0.0
+CAP        CI       33.3882   -117.1950     285.0     0.0
+CAR        CI       35.3082   -119.8458     765.0     0.0
+CCC        CI       35.5249   -117.3645     670.0     0.0
+CGO        CI       36.5504   -117.8029    2795.0     0.0
+CHF        CI       34.3334   -118.0259    1594.0     0.0
+CHN        CI       33.9988   -117.6804     208.0     0.0
+CIA        CI       33.4019   -118.4150     477.0     0.0
+CIU        CI       33.4458   -118.4830     203.0     0.0
+CLC        CI       35.8157   -117.5975     775.0     0.0
+CLT        CI       34.0928   -117.3169     325.0     0.0
+CPP        CI       34.0602   -117.8090     205.0     0.0
+CRP        CI       34.1362   -118.1270     233.0     0.0
+CTC        CI       33.6552   -115.9901     538.0     0.0
+CWC        CI       36.4399   -118.0802    1595.0     0.0
+DAN        CI       34.6375   -115.3812     428.0     0.0
+DEC        CI       34.2535   -118.3338     519.0     0.0
+DEV        CI       33.9360   -116.5779     337.0     0.0
+DGR        CI       33.6500   -117.0095     650.0     0.0
+DJJ        CI       34.1062   -118.4550     268.0     0.0
+DLA        CI       33.8482   -118.0962      14.0     0.0
+DNR        CI       33.5667   -116.6306    1274.0     0.0
+DPP        CI       32.9986   -116.9415     463.0     0.0
+DRC        CI       32.8054   -115.4465     -15.0     0.0
+DRE        CI       32.8053   -115.4468     -13.0     0.0
+DSC        CI       35.1425   -116.1039     283.0     0.0
+DVT        CI       32.6591   -116.1006     881.0     0.0
+EDW2       CI       34.8811   -117.9939     772.0     0.0
+EDW        CI       34.8830   -117.9911     789.0     0.0
+EML        CI       32.8908   -116.8457     161.0     0.0
+ERR        CI       33.1168   -115.8227     -56.0     0.0
+FIG        CI       34.7283   -119.9880     945.0     0.0
+FMP        CI       33.7126   -118.2938      89.0     0.0
+FPC        CI       35.0820   -117.5827     853.0     0.0
+FUR        CI       36.4670   -116.8632     -37.0     0.0
+GATR       CI       34.5527   -120.5024     590.0     0.0
+GLA        CI       33.0515   -114.8271     610.0     0.0
+GMR        CI       34.7846   -115.6599    1326.0     0.0
+GOR        CI       33.1537   -117.2292     138.0     0.0
+GPO        CI       35.6494   -117.6619     735.0     0.0
+GR2        CI       34.1182   -118.3002     342.0     0.0
+GRA        CI       36.9961   -117.3662     689.0     0.0
+GSC        CI       35.3018   -116.8057    1000.0     0.0
+HEC        CI       34.8294   -116.3350     920.0     0.0
+HLL        CI       34.1764   -118.3597     193.0     0.0
+IRM        CI       34.1574   -115.1451     567.0     0.0
+ISA        CI       35.6628   -118.4740     873.0     0.0
+JCS        CI       33.0859   -116.5959    1264.0     0.0
+JEM        CI       33.0810   -116.5975    1308.0     1.0
+JRC2       CI       35.9825   -117.8089    1469.0     0.0
+JVA        CI       34.3662   -116.6127     904.0     0.0
+LAF        CI       33.8689   -118.3314      20.0     0.0
+LCG        CI       34.0003   -118.3779     108.0     0.0
+LCP        CI       34.7355   -120.2800     199.0     0.0
+LDF        CI       35.1307   -115.1842    1239.0     0.0
+LDR        CI       34.9906   -118.3416    1121.0     0.0
+LFP        CI       34.3053   -118.4881     368.0     0.0
+LGB        CI       33.9753   -118.1492      42.0     0.0
+LGU        CI       34.1082   -119.0659     416.0     0.0
+LJR        CI       34.8076   -118.8678    1443.0     0.0
+LKL        CI       34.6159   -117.8249     810.0     0.0
+LLS        CI       33.6845   -117.9430       8.0     0.0
+LMR2       CI       34.9344   -117.6963     964.0     0.0
+LPC        CI       34.3148   -117.5464    1351.0     0.0
+LRL        CI       35.4795   -117.6821    1340.0     0.0
+LTP        CI       33.8811   -118.1757      20.0     0.0
+LUG        CI       34.3656   -117.3668    1140.0     0.0
+MCT        CI       34.2264   -116.0407     661.0     0.0
+MGE        CI       33.8184   -116.3687      68.0     0.0
+MLAC       CI       37.6302   -118.8361    2162.0     0.0
+MLS        CI       34.0046   -117.5616     230.0     0.0
+MOP        CI       34.2809   -118.9049     143.0     0.0
+MPI        CI       34.8126   -119.1453    2673.0     0.0
+MPM        CI       36.0580   -117.4890    1839.0     0.0
+MPP        CI       34.8885   -119.8136    1739.0     0.0
+MSC        CI       34.0385   -116.6479     938.0     1.8
+MSJ        CI       33.8080   -116.9679     466.0     0.0
+MTL        CI       34.2688   -118.2374     471.0     0.0
+MTP        CI       35.4843   -115.5532    1588.0     0.0
+MUR        CI       33.6000   -117.1954     562.0     3.0
+MWC        CI       34.2236   -118.0583    1725.0     0.0
+NBS        CI       34.7803   -116.5580     590.0     0.0
+NEE2       CI       34.7676   -114.6188     271.0     0.0
+NEE        CI       34.8249   -114.5994     170.0     0.0
+NJQ        CI       34.5341   -120.1774     219.0     0.0
+NSS2       CI       33.5555   -115.9459      17.0     0.0
+OLI        CI       33.9454   -117.9237     162.0     0.0
+OLP        CI       32.6078   -116.9304     159.0     0.0
+OSI        CI       34.6145   -118.7235     718.0     0.0
+PASA       CI       34.1484   -118.1711     257.0     0.0
+PASC       CI       34.1714   -118.1852     341.0     0.0
+PAS        CI       34.1484   -118.1712     314.0     0.0
+PDE        CI       34.4420   -118.5821     328.0     0.0
+PDM        CI       34.3034   -114.1415     144.0     0.0
+PDR        CI       33.9627   -118.4370      45.0     0.0
+PDU        CI       34.1207   -117.6381     445.0     0.0
+PER        CI       33.8616   -117.2053     468.0     0.0
+PFO        CI       33.6116   -116.4586    1288.0     0.0
+PHL        CI       35.4077   -120.5456     355.0     0.0
+PLC        CI       33.8244   -116.5119     130.0     0.0
+PLM        CI       33.3536   -116.8627    1691.0     0.0
+PLS        CI       33.7953   -117.6091    1199.0     0.0
+PMD        CI       33.6478   -116.3777     296.0     0.0
+PSD        CI       33.8239   -116.5503     144.0     0.0
+PSR        CI       34.0918   -117.8071     305.0     1.5
+RCT        CI       36.3052   -119.2438     107.0     0.0
+RIN        CI       34.2820   -118.4792     304.0     0.0
+RIO        CI       34.1047   -117.9796     118.0     0.0
+RPV        CI       33.7435   -118.4041     107.0     0.0
+RRX        CI       34.8753   -116.9968     439.0     0.0
+RSS        CI       33.9733   -117.3267     298.0     0.0
+RUS        CI       34.0507   -118.0808      70.0     0.0
+RVR        CI       33.9935   -117.3755     266.0     0.0
+RXH        CI       33.1831   -115.6226     -59.0     0.0
+SAL        CI       33.2801   -115.9858      14.0     0.0
+SBB2       CI       34.6885   -117.8245     825.0     0.0
+SBC        CI       34.4408   -119.7149      94.0     0.0
+SBI        CI       33.4805   -119.0299      41.0     0.0
+SBPX       CI       34.2324   -117.2348    1860.0     0.0
+SCI2       CI       32.9799   -118.5470     199.0     0.0
+SCI        CI       32.9799   -118.5470     199.0     0.0
+SCZ2       CI       33.9954   -119.6351     440.0     0.0
+SDD        CI       33.5526   -117.6617     120.0     0.0
+SDG        CI       32.7840   -117.1381     101.0     0.0
+SDP        CI       34.5655   -120.5014     631.0     0.0
+SDR        CI       32.7356   -116.9424     113.0     0.0
+SES        CI       34.4369   -119.1375     480.0     0.0
+SHO        CI       35.8995   -116.2753     451.0     0.0
+SLA        CI       35.8909   -117.2833    1174.0     0.0
+SLB        CI       33.4852   -115.8664       0.0     1.8
+SLR        CI       33.8336   -116.7974    1567.0     0.0
+SMB        CI       34.9022   -120.4471      74.0     0.0
+SMM        CI       35.3142   -119.9958     599.0     0.0
+SMR        CI       35.3770   -120.6125     341.0     2.0
+SMS        CI       34.0144   -118.4562      43.0     0.0
+SMW        CI       35.0111   -120.4100     169.0     1.0
+SNCC       CI       33.2479   -119.5244     275.0     0.0
+SNO        CI       34.0352   -116.8078    2339.0     0.0
+SOT        CI       34.4160   -118.4490     409.0     0.0
+SPF        CI       34.0593   -118.6461     470.0     0.0
+SPG2       CI       36.2006   -118.7662     627.0     1.5
+SPG        CI       36.1355   -118.8110     314.0     0.0
+SRN        CI       33.8285   -117.7894     208.0     0.0
+SSW        CI       33.1775   -115.6156     -64.0     0.0
+STC        CI       34.3030   -119.1868     180.0     0.0
+STG        CI       33.6640   -117.7686      49.0     0.0
+STS        CI       33.7903   -118.1988       4.0     0.0
+SVD        CI       34.1065   -117.0982     605.0     0.0
+SWS        CI       32.9408   -115.7958     140.0     0.0
+SYP        CI       34.5277   -119.9783    1278.0     0.0
+TA2        CI       34.3820   -117.6782    2249.0     0.0
+TEH        CI       35.2913   -118.4208     846.0     0.0
+TFT        CI       35.1459   -119.4195     233.0     0.0
+THM        CI       33.6507   -116.0773      60.0     1.5
+THX        CI       33.6350   -116.1640     -31.0     0.0
+TIN        CI       37.0542   -118.2301    1197.0     0.0
+TOR        CI       33.5753   -116.2258       4.0     0.0
+TOV        CI       34.1561   -118.8204     298.0     0.0
+TUQ        CI       35.4358   -115.9239    1350.0     0.0
+USC        CI       34.0192   -118.2863      58.0     0.0
+VCS        CI       34.4836   -118.1178     991.0     0.0
+VES        CI       35.8409   -119.0847     154.0     0.0
+VTV        CI       34.5607   -117.3296     843.0     0.0
+WBS        CI       35.5366   -118.1403    1927.0     0.0
+WER        CI       35.0605   -119.0271     130.0     0.0
+WES        CI       32.7590   -115.7316      -8.0     0.0
+WGR        CI       34.5108   -119.2741     554.0     0.0
+WLT        CI       34.0095   -117.9508     107.0     0.0
+WSS        CI       34.1717   -118.6497     316.0     0.0
+WTT        CI       33.9487   -118.2555      39.0     0.0
+WWC        CI       33.9407   -116.4088     619.0     1.7
+BBB        CN       52.1847   -128.1133      14.0     0.0
+DRLN       CN       49.2560    -57.5042     238.0     0.0
+FRB        CN       63.7467    -68.5467      18.0     0.0
+GAC        CN       45.7032    -75.4783      62.0   100.0
+INK        CN       68.3067   -133.5200      40.0     0.0
+LLLB       CN       50.6090   -121.8815     700.0     0.0
+RES        CN       74.6870    -94.9000      15.0     0.0
+SADO       CN       44.7694    -79.1417     243.0     0.0
+SCHQ       CN       54.8319    -66.8336     501.0     0.0
+ULM        CN       50.2503    -95.8750     250.9     0.0
+WHY        CN       60.6597   -134.8806    1292.0     0.0
+YKW1       CN       62.4822   -114.4843     170.7     0.0
+YKW2       CN       62.4337   -114.6038     143.8     0.0
+YKW3       CN       62.5608   -114.6164     200.0     0.0
+YKW4       CN       62.4925   -114.7432     160.6     0.0
+YKW5       CN        0.0000      0.0000       0.0     0.0
+ANWB       CU       17.6685    -61.7856      39.0     0.0
+BBGH       CU       13.1434    -59.5588     180.0     0.0
+BCIP       CU        9.1665    -79.8373      61.0     0.0
+GRGR       CU       12.1324    -61.6540     195.0     0.0
+GRTK       CU       21.5115    -71.1327      12.0     0.0
+GTBY       CU       19.9268    -75.1108      79.0     0.0
+MTDJ       CU       18.2261    -77.5345     925.0     0.0
+SDDR       CU       18.9821    -71.2878     589.0     0.0
+TGUH       CU       14.0570    -87.2730       0.0     0.0
+DPC        CZ       50.3583     16.4111     760.0     0.0
+ILULI      DK       69.2121    -51.1048      53.5     0.0
+KULLO      DK       74.5805    -57.2201      44.0     0.0
+AFI        DW      -13.9093   -171.7773     706.0     2.0
+ALQ        DW       34.9425   -106.4575    1849.0    10.0
+BDF        DW      -15.6639    -47.9033    1260.0     2.0
+BER        DW       60.3838      5.3339      50.0    64.0
+CMB        DW       38.0350   -120.3850     719.0     0.0
+COL        DW       64.9000   -147.7933     320.0     0.0
+GDH        DW       69.2500    -53.5333      23.0     0.0
+HON        DW       21.3217   -158.0083       2.0     0.0
+JAS1       DW       37.9467   -120.4383     457.0     7.0
+KBS        DW       78.9175     11.9239      46.0     0.0
+KEV        DW       69.7553     27.0067      80.0    15.0
+LEM        DW       -6.8333    107.6167    1252.0     0.0
+LON        DW       46.7500   -121.8100     854.0     0.0
+SCP        DW       40.7949    -77.8650     352.0     0.0
+SLR        DW      -25.7349     28.2816    1348.0     1.0
+TAU        DW      -42.9099    147.3204     132.0     7.0
+TOL        DW       39.8814     -4.0485     480.0     0.0
+AIS        G       -37.7970     77.5690      35.9     3.0
+ATD        G        11.5300     42.8470     610.0     0.0
+BNG        G         4.4350     18.5470     378.0     0.0
+CAN        G       -35.3210    148.9990     650.0     0.0
+CLF        G        48.0258      2.2600     145.0     0.0
+CRZF       G       -46.4300     51.8610     140.0     0.0
+0001       GD       48.3897   -123.4875      32.0     0.0
+0011       GD       48.3897   -123.4875      32.0     0.0
+0012       GD       48.3897   -123.4875      32.0     0.0
+0015       GD       48.3897   -123.4875      32.0     0.0
+0016       GD       48.3897   -123.4875      32.0     0.0
+0019       GD       48.3897   -123.4875      32.0     0.0
+0105       GD       48.3897   -123.4875      32.0     0.0
+0107       GD       48.3897   -123.4875      32.0     0.0
+0109       GD       48.3897   -123.4875      32.0     0.0
+0110       GD       44.0068    142.1517     196.2     0.0
+0111       GD       44.0056    143.3337     233.3     0.0
+0112       GD       42.8945    143.9269      39.7     0.0
+0119       GD       43.3669    145.8011      50.5     0.0
+0120       GD       43.2926    140.5971      47.0     0.0
+0121       GD       43.2895    143.5624     150.1     0.0
+0124       GD       43.1206    144.1265      70.1     0.0
+0125       GD       43.0576    144.8430      62.5     0.0
+0133       GD       42.7272    142.2958      62.5     0.0
+0134       GD       42.6993    143.1033     239.5     0.0
+0135       GD       42.6679    141.0750     425.1     0.0
+0136       GD       42.6555    141.6023      51.3     0.0
+0138       GD       42.5516    143.4611      90.5     0.0
+0141       GD       42.4813    142.0602      41.6     0.0
+0142       GD       42.2477    142.5675      64.4     0.0
+0144       GD       42.1309    142.9354      32.9     0.0
+0147       GD       42.0430    140.8055      44.6     0.0
+0505       GD       43.9888    144.2933      73.7     0.0
+0510       GD       43.7714    142.9030     527.3     0.0
+0516       GD       43.2484    141.8909      79.8     0.0
+0521       GD       42.9389    143.1706      76.0     0.0
+0532       GD       42.1256    143.3157      30.7     0.0
+0533       GD       41.4047    141.4476      67.8     0.0
+ALBH       GD       48.3897   -123.4875      32.0     0.0
+AMC2       GD       42.3897   -104.5246      32.0     0.0
+BREW       GD       48.1315   -119.6827     249.9     0.0
+DRA2       GD       49.3226   -119.6250     351.0     0.0
+DSLK       GD       58.4357   -129.9890     795.0     0.0
+ELDD       GD       58.9720   -135.2223      10.0     0.0
+ESQM       GD       48.4292   -123.4288       9.0     0.0
+FAIR       GD       64.9779   -147.4993     319.0     0.0
+FNEL       GD       58.8052   -147.4993     319.0     0.0
+FS32       GD       59.1487   -135.3470      19.0     0.0
+FTSJ       GD       56.2549   -120.8487      19.0     0.0
+GODE       GD       39.0216    -76.8269      54.9     0.0
+HNSC       GD       59.2420   -135.5178      10.0     0.0
+INVM       GD       50.5092   -116.0287     859.0     0.0
+MSOL       GD       46.9293   -114.1089     975.4     0.0
+PGC4       GD       48.6484   -123.4510      10.0     0.0
+PRDS       GD       50.8713   -114.2935    1264.3     0.0
+PTHY       GD       50.6855   -127.3754      24.4     0.0
+DRV        G       -66.6650    140.0020      40.0     4.0
+SMLD       GD       49.5654   -119.6443     437.7     0.0
+TEM1       GD       59.4502   -135.3301      13.4     0.0
+TNK1       GD       59.2722   -135.4406      11.3     0.0
+TRRC       GD       54.5148   -128.6267      68.9     0.0
+TSEA       GD       61.1873   -149.8950      36.0     0.0
+WHIT       GD       60.7505   -135.2222    1168.9     0.0
+WLBC       GD       52.1305   -122.1369     605.0     0.0
+YELL       GD       62.4808   -114.4807     265.5     0.0
+APEZ       GE       34.9777     24.8859     435.0     0.0
+BGIO       GE       31.7219     35.0877     752.0     0.0
+BKB        GE       -1.2558    116.9155       0.0     0.0
+BOAB       GE       12.4493    -85.6659     381.0     0.0
+BRNL       GE       52.4278     13.3580      42.0     0.0
+CART       GE       37.5868     -1.0012      65.0     0.0
+CEU        GE       35.8987     -5.3731     320.0     0.0
+ECH        G        48.2160      7.1580     580.0     0.0
+CSS        GE       34.9611     33.3310     396.0     0.0
+DAG        GE       76.7713    -18.6550      23.0     0.0
+DSB        GE       53.2452     -6.3762     236.0     0.0
+EIL        GE       29.6699     34.9512     210.0     0.0
+FODE       GE       35.3797     24.9576      50.0     0.0
+GHAR       GE       32.1224     13.0885     650.0     0.0
+GSI        GE        1.3039     97.5755     107.0     0.0
+GVD        GE       34.8392     24.0873     180.0     0.0
+HLG        GE       54.1847      7.8839      41.0     0.0
+IBBN       GE       52.3072      7.7566     140.0     0.0
+ISP        GE       37.8433     30.5093    1100.0     0.0
+JER        GE       31.7719     35.1972     770.0     0.0
+KARN       GE       35.4019     23.9174     420.0     0.0
+KBS        GE       78.9256     11.9417      77.0     0.0
+KBU        GE       34.5151     69.1347    1820.0     0.0
+KERA       GE       35.3692     23.5577     240.0     0.0
+KMBO       GE       -1.1268     37.2523    1940.0     0.0
+KRIS       GE       35.1780     25.5030     850.0     0.0
+KSDI       GE       33.1920     35.6590     123.0     0.0
+KWP        GE       49.6305     22.7078     463.0     0.0
+LAST       GE       35.1611     25.4786     870.0     0.0
+LID        GE       54.5481     13.3664       1.0     0.0
+LVC        GE      -22.6182    -68.9113    2915.0     0.0
+MAHO       GE       39.8959      4.2665      15.0     0.0
+MALT       GE       38.3134     38.4273    1120.0     0.0
+MARJ       GE       32.5226     20.8776     650.0     0.0
+MATE       GE       40.6491     16.7044     494.0     0.0
+MAUI       GE       20.7668   -156.2448    2060.0     0.0
+MELI       GE       35.2938     -2.9350       5.0     0.0
+MHV        GE       54.9595     37.7664     150.0     0.0
+MLR        GE       45.4912     25.9456    1378.0     0.0
+MMRI       GE       -8.6357    122.2376     137.0     0.0
+MNAI       GE       -4.4500    102.9170       0.0     0.0
+MORC       GE       49.7766     17.5428     740.0     0.0
+MRNI       GE       33.1178     35.3920     918.0     0.0
+MTE        GE       40.3997     -7.5442     815.0     0.0
+NAI        GE       -1.2739     36.8037    1692.0     0.0
+PMBI       GE       -2.9270    104.7720      30.0     0.0
+PMG        GE       -9.4092    147.1539      67.0     0.0
+PSZ        GE       47.9184     19.8944     940.0     0.0
+PUL        GE       59.7670     30.3170      65.0     0.0
+PVLZ       GE       35.1730     -4.3010      90.0     0.0
+RGN        GE       54.5477     13.3214      15.0     0.0
+RIOB       GE      -10.1501    -67.7470     220.0     0.0
+RUE        GE       52.4759     13.7800      40.0     0.0
+SANT       GE       36.3710     25.4590     540.0     0.0
+SELV       GE       37.2383     -3.7277     650.0     0.0
+SFJD       GE       66.9960    -50.6215      80.0     0.0
+SFJ        GE       66.9967    -50.6156     365.0     0.0
+SFS        GE       36.4656     -6.2055      21.0     0.0
+SFUC       GE       36.6370     -6.1750      88.0     0.0
+SIVA       GE       35.0175     24.8100      95.0     0.0
+SKD        GE       35.4120     23.9280     306.0     0.0
+SLIT       GE       57.6300     22.2900      15.0     0.0
+SMRI       GE       -7.0492    110.4407     203.0     0.0
+SNAA       GE      -71.6707     -2.8379     846.0     0.0
+STU        GE       48.7719      9.1950     360.0     0.0
+SUMG       GE       72.5763    -38.4539    3240.0     0.0
+SUW        GE       54.0125     23.1808     152.0     0.0
+TIRR       GE       44.4581     28.4128      77.0     0.0
+TNTI       GE        0.7718    127.3667      43.0     0.0
+TRTE       GE       58.3786     26.7205       0.0     0.0
+UGM        GE       -7.9125    110.5231     350.0     0.0
+EVO        G        38.5320     -8.0130       0.0     0.0
+VSU        GE       58.4620     26.7347      63.0     0.0
+WLF        GE       49.6646      6.1526     295.0     0.0
+YOGI       GE       -7.8166    110.2949     160.0     0.0
+ZKR        GE       35.1147     26.2170     270.0     0.0
+FDF        G        14.7350    -61.1430     467.0     0.0
+FOMA       G       -24.9756     46.9788      26.0     0.0
+GRC        G        47.2955      3.0736     191.0     0.0
+HDC        G        10.0000    -84.1120    1150.0     0.0
+HYB        G        17.4170     78.5530     510.0     0.0
+INU        G        35.3500    137.0290     132.0     0.0
+KIP        G        21.4230   -158.0150      70.0     0.0
+KOG        G         5.2070    -52.7320      10.0     0.0
+MBO        G        14.3910    -16.9550       3.0     0.0
+MPG        G         5.1100    -52.6440     147.0     0.0
+NOC        G       -22.2840    166.4320       5.0     0.0
+NOUC       G       -22.1010    166.3030     112.0     0.0
+PAF        G       -49.3510     70.2130      17.0     2.0
+PEL        G       -33.1460    -70.6750     660.0     0.0
+PPTF       G       -17.5896   -149.5652     705.0     0.0
+PVC        G       -17.7400    168.3120      80.0     0.0
+RER        G       -21.1710     55.7400     834.0     0.0
+SCZ        G        36.5980   -121.4030     261.0     0.0
+SEY        G        62.9330    152.3730     206.0     0.0
+SPB        G       -23.5920    -47.4320      85.0     0.0
+SSB2       G        45.2790      4.5420     700.0     0.0
+SSB3       G        45.2790      4.5420     700.0     0.0
+SSB        G        45.2790      4.5420     700.0     0.0
+TAM        G        22.7910      5.5270    1377.0     0.0
+BDFB       GT      -15.6418    -48.0148    1095.0   100.0
+BGCA       GT        5.1764     18.4242     576.0   100.0
+BOSA       GT      -28.6141     25.2555    1180.0   100.0
+CPUP       GT      -26.3306    -57.3309       5.0   100.0
+DBIC       GT        6.6702     -4.8566      25.0   100.0
+LBTB       GT      -25.0151     25.5967    1028.0   100.0
+LPAZ       GT      -16.2879    -68.1307    4717.0   100.0
+PLCA       GT      -40.7328    -70.5508     950.0   100.0
+TRIS       G       -37.0578    -12.3159      -2.0     2.0
+SBA        GT      -77.8491    166.7573      20.0     0.0
+VNDA       GT      -77.5172    161.8528      51.0   100.0
+UNM        G        19.3290    -99.1780    2280.0     0.0
+WUS        G        41.1990     79.2180    1457.0     0.0
+H2O        H2       27.8819   -141.9917   -4947.0     0.4
+ALQ        HG       34.9425   -106.4575    1849.0    10.0
+CHG        HG       18.7900     98.9769     416.0     0.0
+CTA        HG      -20.0883    146.2544     357.0    37.0
+EIL        HG       29.5500     34.9500     200.0   200.0
+KIP        HG       21.4233   -158.0150      37.0    33.0
+KON        HG       59.6491      9.5982     216.0   340.0
+MAT        HG       36.5431    138.2066     403.0    48.0
+OGD        HG       41.0875    -74.5958    -367.0   549.0
+TLO        HG       39.8600     -4.0147     465.0     0.0
+ZLP        HG      -16.2700    -68.1250    4450.0   300.0
+LIT        HT       40.1008     22.4900     480.0     0.0
+LKD        HT       38.7072     20.6506    1140.0     0.0
+SOH        HT       40.8217     23.3539     670.0     0.0
+CCRK       HW       46.5585   -119.8548     561.0     0.0
+DDRF       HW       46.4911   -119.0595     233.0     0.0
+PHIN       HW       45.8951   -119.9278     227.0     0.0
+BJT        IC       40.0183    116.1679     137.0    60.0
+ENH        IC       30.2762    109.4944     500.0     0.0
+HIA        IC       49.2667    119.7417     610.0     0.0
+KMI        IC       25.1233    102.7400    1940.0    35.0
+LSA        IC       29.7031     91.1270    3645.0    15.0
+MDJ        IC       44.6170    129.5908     220.0    50.0
+QIZ        IC       19.0291    109.8445     240.0     0.0
+SSE        IC       31.0948    121.1908      40.0     0.0
+WMQ        IC       43.8138     87.7049     844.0     6.0
+XAN        IC       34.0313    108.9237     630.0     0.0
+AAK        II       42.6390     74.4940    1645.0    30.0
+ABKT       II       37.9304     58.1189     678.0     7.0
+ABPO       II      -19.0180     47.2290    1528.0     5.3
+ALE        II       82.5033    -62.3500      60.0     0.0
+ARU        II       56.4302     58.5625     250.0     0.0
+ASCN       II       -7.9327    -14.3601     173.0   100.0
+BFO        II       48.3319      8.3311     589.0     0.0
+BORG       II       64.7474    -21.3268     110.0    95.0
+BRVK       II       53.0581     70.2828     330.0    15.0
+CMLA       II       37.7637    -25.5243     429.0     7.0
+COCO       II      -12.1901     96.8349       1.0    70.0
+DGAR       II       -7.4121     72.4525       1.0     2.0
+EFI        II      -51.6753    -58.0637     110.0    80.0
+ERM        II       42.0150    143.1572      40.0     0.0
+ESK        II       55.3167     -3.2050     242.0     0.0
+FFC        II       54.7250   -101.9783     338.0     0.0
+GAR        II       39.0000     70.3167    1300.0     0.0
+HOPE       II      -54.2836    -36.4879      20.0     0.0
+JTS        II       10.2908    -84.9525     340.0     0.0
+KAPI       II       -5.0142    119.7517     300.0   100.0
+KDAK       II       57.7828   -152.5835     152.0     5.5
+KIV        II       43.9562     42.6888    1210.0     0.0
+KURK       II       50.7154     78.6202     184.0    25.0
+KWAJ       II        8.8019    167.6130       0.0     0.0
+LVZ        II       67.8979     34.6514     630.0   200.0
+MBAR       II       -0.6019     30.7382    1390.0   100.0
+MSEY       II       -4.6737     55.4792     475.0    91.0
+MSVF       II      -17.7448    178.0528     801.1   100.0
+NIL        II       33.6506     73.2686     629.0    68.0
+NNA        II      -11.9875    -76.8422     575.0    40.0
+NRIL       II       69.5049     88.4414      92.0   506.0
+NVS        II       54.8404     83.2346     150.0     0.0
+OBN        II       55.1146     36.5674     160.0    30.0
+PALK       II        7.2728     80.7022     460.0    90.0
+RAYN       II       23.5225     45.5032     631.0     2.0
+RPN        II      -27.1267   -109.3344     110.0     0.0
+SACV       II       14.9702    -23.6085     387.0    97.0
+SHEL       II      -15.9588     -5.7457     537.0    60.0
+SUR        II      -32.3797     20.8117    1770.0     0.0
+TAU        II      -42.9099    147.3204     132.0     0.0
+TLY        II       51.6807    103.6438     579.0    20.0
+UOSS       II       24.9453     56.2042     284.4     0.0
+WRAB       II      -19.9336    134.3600     366.0   100.0
+XPFO       II       33.6107   -116.4555    1280.0     0.0
+VNDA       IM      -77.5139    161.8456      98.0     0.0
+AAE        IU        9.0292     38.7656    2442.0     0.0
+ADK        IU       51.8823   -176.6842     130.0     0.0
+AFI        IU      -13.9093   -171.7773     705.0     1.0
+ANMO       IU       34.9459   -106.4572    1720.0   100.0
+ANTO       IU       39.8680     32.7934     895.0   195.0
+BBSR       IU       32.3713    -64.6963      -1.3    31.4
+BILL       IU       68.0653    166.4531     320.0     0.0
+BOCO       IU        4.5869    -74.0432    3137.0    23.0
+CASY       IU      -66.2792    110.5354       5.0     5.0
+CCM        IU       38.0557    -91.2446     171.0    51.0
+CHTO       IU       18.8141     98.9443     420.0     0.0
+COLA       IU       64.8736   -147.8616     200.0     0.0
+COR        IU       44.5855   -123.3046     110.0     0.0
+CTAO       IU      -20.0882    146.2545     320.0    37.0
+DAV        IU        7.0697    125.5791     149.0     1.0
+DWPF       IU       28.1103    -81.4327    -132.0   162.0
+FUNA       IU       -8.5259    179.1966      19.0     1.0
+FURI       IU        8.8952     38.6798    2565.0     5.0
+GNI        IU       40.1480     44.7410    1509.0   100.0
+GRFO       IU       49.6909     11.2203     384.0   116.0
+GUMO       IU       13.5893    144.8684      61.0   109.0
+HKT        IU       29.9618    -95.8384    -413.0   450.0
+HNR        IU       -9.4387    159.9475       0.0   100.0
+HRV        IU       42.5064    -71.5583     200.0     0.0
+INCN       IU       37.4776    126.6239      79.0     1.0
+JOHN       IU       16.7329   -169.5292     -37.0    39.0
+KBS        IU       78.9154     11.9385      90.0     3.0
+KEV        IU       69.7565     27.0035      85.0    15.0
+KIEV       IU       50.7012     29.2242     140.0    40.0
+KIP        IU       21.4233   -158.0150      37.0    33.0
+KMBO       IU       -1.1271     37.2525    1930.0    20.0
+KNTN       IU       -2.7744   -171.7186      18.0     2.0
+KONO       IU       59.6491      9.5982     216.0   340.0
+KOWA       IU       14.4967     -4.0140     316.0     5.0
+LCO        IU      -29.0110    -70.7004    2300.0     0.0
+LSZ        IU      -15.2779     28.1882    1200.0     0.0
+LVC        IU      -22.6127    -68.9111    2930.0    30.0
+MA2        IU       59.5756    150.7700     337.0     2.0
+MAJO       IU       36.5457    138.2041     405.0     0.0
+MAKZ       IU       46.8080     81.9770     590.0    10.0
+MBWA       IU      -21.1590    119.7313     181.0     9.0
+MIDW       IU       28.2155   -177.3697      17.8     1.0
+MSKU       IU       -1.6557     13.6116     287.0    25.0
+NAI        IU       -1.2739     36.8037    1692.0     0.0
+NWAO       IU      -32.9277    117.2390     370.9     9.1
+OTAV       IU        0.2376    -78.4508    3495.0    15.0
+PAB        IU       39.5446     -4.3499     950.0     0.0
+PAYG       IU       -0.6742    -90.2861     170.0   100.0
+PET        IU       53.0233    158.6499     105.0     5.0
+PMG        IU       -9.4047    147.1597      90.0     0.0
+PMSA       IU      -64.7744    -64.0489      40.0     0.0
+POHA       IU       19.7573   -155.5326    1910.0    80.0
+PTCN       IU      -25.0713   -130.0953     218.0     2.0
+PTGA       IU       -0.7308    -59.9666     141.0    96.0
+QSPA       IU      -89.9289    144.4382    2847.0     3.0
+RAIO       IU       46.0403   -122.8851      11.0     0.0
+RAO        IU      -29.2450   -177.9290      59.5     0.5
+RAR        IU      -21.2125   -159.7733     -72.0   100.0
+RCBR       IU       -5.8274    -35.9014     291.0   109.0
+RSSD       IU       44.1212   -104.0359    2022.7    67.3
+SAML       IU       -8.9489    -63.1831     120.0     0.0
+SBA        IU      -77.8492    166.7572      48.0     2.0
+SDV        IU        8.8839    -70.6340    1588.0    32.0
+SFJD       IU       66.9961    -50.6208     329.0     1.0
+SJG        IU       18.1091    -66.1500     420.0     0.0
+SLBS       IU       23.6858   -109.9443     825.0     0.0
+SNZO       IU      -41.3087    174.7043      20.0   100.0
+SSPA       IU       40.6358    -77.8876     170.0   100.0
+TARA       IU        1.3549    172.9229      19.0     1.0
+TATO       IU       24.9735    121.4971      77.1    82.9
+TBT        IU       28.6794    -17.9145     180.0    40.0
+TEIG       IU       20.2263    -88.2763      15.0    25.0
+TIXI       IU       71.6341    128.8667      40.0     0.0
+TOL        IU       39.8814     -4.0485     480.0     0.0
+TRIS       IU      -37.0681    -12.3152      58.0     2.0
+TRQA       IU      -38.0568    -61.9787     439.0   101.0
+TSUM       IU      -19.2022     17.5838    1260.0     0.0
+TUC        IU       32.3098   -110.7847     909.0     1.0
+ULN        IU       47.8651    107.0532    1610.0     0.0
+WAKE       IU       19.2834    166.6520      19.0     1.0
+WCI        IU       38.2289    -86.2939      78.0   132.0
+WVT        IU       36.1297    -87.8300     170.0     0.0
+XMAS       IU        2.0448   -157.4457      19.0     1.0
+YAK        IU       62.0310    129.6805     110.0    14.0
+YSS        IU       46.9587    142.7604     148.0     2.0
+AAK        KN       42.6333     74.4944    1680.0     0.0
+AML        KN       42.1311     73.6941    3400.0     0.0
+CHM        KN       42.9986     74.7513     655.0     0.0
+EKS2       KN       42.6615     73.7772    1360.0     0.0
+ERPT       KN       42.6011     76.0735    3790.0     0.0
+KBK        KN       42.6564     74.9478    1760.0     0.0
+KZA        KN       42.0778     75.2496    3520.0     0.0
+NRPT       KN       42.6011     76.0735    3790.0     0.0
+TKM2       KN       42.9208     75.5966    2020.0     0.0
+UCH        KN       42.2275     74.5134    3850.0     0.0
+ULHL       KN       42.2456     76.2417    2040.0     0.0
+USP        KN       43.2669     74.4997     740.0     0.0
+BMN        LB       40.4315   -117.2218    1500.0     0.0
+DAC        LB       36.2770   -117.5937    1813.0     0.0
+LDS        LB       37.2425   -113.3514    1101.0     0.0
+MVU        LB       38.5037   -112.2123    2239.0     0.0
+TPH        LB       38.0750   -117.2225    1883.0     0.0
+MMNY       LD       42.7319    -77.9066     241.0     0.0
+NPNY       LD       41.7546    -74.1435     216.0     0.0
+PAL        LD       41.0057    -73.9071      91.0     0.0
+PANJ       LD       40.3769    -74.7029     100.0     0.0
+LTH        LI       46.4617   -119.4177     157.0     0.0
+LTL        LI       30.5374    -90.7660      21.0     0.0
+AIO        MN       37.9712     15.2330     751.4     5.0
+AQU        MN       42.3540     13.4050     710.0    15.0
+BGY        MN       44.8026     20.5158     250.0     7.0
+BLY        MN       44.7488     17.1839     256.0     1.0
+BNI        MN       45.0520      6.6780    1395.0    50.0
+CEL        MN       38.2603     15.8939     702.0     0.0
+CII        MN       41.7230     14.3050     910.0     0.0
+CLTB       MN       37.5780     13.2160     949.0     5.0
+CUC        MN       39.9938     15.8155     637.0     0.0
+DIVS       MN       44.0981     19.9917    1000.0     3.0
+GFA        MN       34.3380      9.0730     250.0   200.0
+IDI        MN       35.2880     24.8900     750.0     7.0
+ISP        MN       37.8430     30.5090    1100.0     0.0
+KEG        MN       29.9275     31.8292     460.0     7.0
+MDT        MN       32.8170     -4.6140    1200.0   300.0
+MEB        MN       36.3030      2.7300     500.0    20.0
+PDG        MN       42.4297     19.2608      40.0     5.0
+RTC        MN       33.9881     -6.8569      50.0     4.5
+TIP        MN       39.1794     16.7583     789.0     0.0
+TIR        MN       41.3472     19.8631     247.0     3.0
+TNV        MN      -74.7000    164.1200      40.0     5.0
+TRI        MN       45.7090     13.7640     161.0   100.0
+TTE        MN       45.6600     13.7900      92.0     0.0
+TUE        MN       46.4722      9.3473    1924.0     0.0
+VAE        MN       37.4690     14.3533     735.1    10.0
+VLC        MN       44.1594     10.3864     555.0     3.0
+VSL        MN       39.4960      9.3780     370.0    10.0
+VTS        MN       42.6180     23.2350    1490.0    50.0
+WDD        MN       35.8373     14.5242      44.1    20.0
+BTDF       MS        1.3617    103.7750      57.0     0.0
+IPM        MY        4.4795    101.0255     247.0     0.0
+KKM        MY        6.0443    116.2147     830.0     0.0
+KOM        MY        1.7922    103.8467      49.0     0.0
+KSM        MY        1.4733    110.3083      66.0     0.0
+KUM        MY        5.2902    100.6492      74.0     0.0
+LDM        MY        5.1777    118.4980     177.0     0.0
+SBM        MY        2.4529    112.2140     237.0     0.0
+BLO        NM       39.1719    -86.5222     246.0     0.0
+FVM        NM       37.9812    -90.4273     137.0     0.0
+MGMO       NM       37.1540    -92.2687     453.0     0.0
+MPH        NM       35.1230    -89.9320      93.0     0.0
+OLIL       NM       38.7338    -88.0991     150.0     0.0
+PBMO       NM       36.7785    -90.4297     143.9     0.0
+PLAL       NM       34.9824    -88.0755     165.0     0.0
+PVMO       NM       36.4137    -89.6997      98.3     0.0
+SIUC       NM       37.7148    -89.2174     120.0     0.0
+SLM        NM       38.6361    -90.2364     186.0     0.0
+UALR       NM       34.7751    -92.3429     138.0     0.0
+USIN       NM       37.9650    -87.6660     170.7     0.0
+UTMT       NM       36.3424    -88.8654     120.0     0.0
+BEK        NN       39.8667   -120.3586    1743.0     0.0
+OMM        NN       37.6214   -118.9994    2750.0     0.0
+WCN        NN       39.3017   -119.7563    1704.0     0.0
+NE70       NR       32.4209   -115.2608     -23.0     0.0
+NE71       NR       31.6897   -115.9053    1155.0     0.0
+NE72       NR       30.8484   -116.0586      17.0     0.0
+NE73       NR       30.0651   -115.3485     489.0     0.0
+NE74       NR       28.0075   -114.0138      21.0     0.0
+NE75       NR       27.2933   -112.8565     137.0     0.0
+NE76       NR       26.8889   -111.9990      35.0     0.0
+NE77       NR       26.0158   -111.3613      40.0     0.0
+NE78       NR       24.3982   -111.1064      82.0     0.0
+NE79       NR       23.1194   -109.7561     225.0     0.0
+NE80       NR       30.5000   -112.3199     225.0     0.0
+NE81       NR       28.9183   -109.6363     295.0     0.0
+NE82       NR       26.9157   -109.2308     183.0     0.0
+NE83       NR       24.7309   -107.7393      28.0     0.0
+NE84       NR       24.9135   -111.5452      20.0     0.0
+NE85       NR       24.1296   -110.4368     -12.0     0.0
+BFZ        NZ      -40.6814    176.2461     283.0     0.0
+BKZ        NZ      -39.1674    176.4923     706.0     0.0
+CTZ        NZ      -43.7355   -176.6172      99.0     0.0
+HIZ        NZ      -38.5147    174.8555     237.0     0.0
+KHZ        NZ      -42.4160    173.5390      64.0     0.0
+ODZ        NZ      -45.0456    170.6445     274.0     0.0
+OUZ        NZ      -35.2215    173.5960      63.0     0.0
+QRZ        NZ      -40.8272    172.5290     263.0     0.0
+RPZ        NZ      -43.7163    171.0538     453.0    50.0
+URZ        NZ      -38.2610    177.1107      95.0    50.0
+WPVZ       NZ      -39.2058    175.5457    1244.0     0.0
+ARSA       OE       47.2505     15.5232     577.0     0.0
+DAVA       OE       47.2867      9.8803    1602.0     0.0
+KBA        OE       47.0784     13.3447    1721.0     0.0
+HDC3       OV       10.0010    -84.0660    1220.0     0.0
+B001       PB       48.0431   -123.1314     237.0   144.4
+B003       PB       48.0624   -124.1409     314.0   159.7
+B004       PB       48.2019   -124.4270      30.0   156.1
+B005       PB       48.0595   -123.5033     302.7   153.0
+B006       PB       48.0588   -123.5008     302.0   150.1
+B007       PB       48.0576   -123.5041     293.0   131.8
+B009       PB       48.6487   -123.4512      15.0   217.6
+B010       PB       48.6502   -123.4513       5.0   199.0
+B011       PB       48.6495   -123.4482      22.0   217.6
+B012       PB       48.9246   -125.5420      13.0   162.7
+B013       PB       47.8130   -122.9108      75.3   162.3
+B014       PB       47.5133   -123.8125      64.7   218.8
+B017       PB       46.9960   -123.5575      33.9   219.6
+B018       PB       46.9795   -123.0203      10.0   217.6
+B019       PB       46.6527   -123.6518       9.0   155.4
+B020       PB       46.3828   -123.8445       0.0     0.0
+B022       PB       45.9546   -123.9310      10.0   211.5
+B023       PB       46.1112   -123.0787     177.4   233.2
+B024       PB       45.6340   -123.8630     226.2   211.5
+B026       PB       45.3094   -123.8230     106.8   223.7
+B027       PB       44.4973   -122.9622     216.0   226.8
+B028       PB       44.4937   -122.9638     140.0   232.3
+B030       PB       43.9713   -122.7717     263.6   160.9
+B031       PB       43.6643   -123.3967     688.5   134.7
+B032       PB       43.6680   -123.3923      63.8   225.6
+B033       PB       43.2917   -123.1245     312.1     0.0
+B035       PB       42.5035   -123.3834     370.0   219.4
+B036       PB       42.5058   -123.3817     315.3   175.0
+B039       PB       41.4667   -122.4847     923.9   202.1
+B040       PB       41.8308   -122.4205     819.5   224.9
+B045       PB       40.4360   -123.9965      29.4   217.6
+B046       PB       40.3220   -124.2843      44.0   187.5
+B047       PB       40.2505   -124.1713      80.0   175.3
+B049       PB       40.2375   -123.8197     117.0   122.0
+B054       PB       37.8602   -122.1995     405.6     0.0
+B057       PB       38.0273   -122.5655      14.4   212.6
+B058       PB       36.7995   -121.5808     114.2   159.4
+B065       PB       36.7437   -121.4742     643.0   185.7
+B066       PB       36.8573   -121.5922      67.0   223.9
+B067       PB       36.7650   -121.5655     126.2   150.6
+B072       PB       35.8310   -120.3450     397.7   154.5
+B073       PB       35.9467   -120.4717     535.3   236.1
+B075       PB       35.9292   -120.5153     583.0   165.4
+B076       PB       35.9398   -120.4248    1362.2   192.7
+B078       PB       35.8376   -120.3443    1474.0   175.1
+B079       PB       35.7160   -120.2047    1362.0   175.1
+B081       PB       33.7112   -116.7142    1467.0   229.8
+B082       PB       33.5982   -116.5960    1374.8   220.7
+B084       PB       33.6116   -116.4564    1271.0   147.6
+B086       PB       33.5575   -116.5300    1392.0   226.8
+B087       PB       33.4955   -116.6027    1139.0   147.5
+B088       PB       33.3749   -116.6205    1403.9   147.4
+B093       PB       33.5937   -116.7641    1229.6   125.0
+B201       PB       46.3033   -122.2648     990.0   237.3
+B202       PB       46.2447   -122.1367    1218.6   236.8
+B203       PB       46.1690   -122.3337     814.4   218.8
+B204       PB       46.1360   -122.1690     784.2   223.0
+B205       PB       44.7135   -110.6783    2360.0   142.2
+B206       PB       44.7177   -110.5117    2399.5    74.1
+B207       PB       44.6190   -110.8485    2182.0   202.1
+B208       PB       44.5602   -110.4015    2405.8     0.0
+B900       PB       35.6300   -120.0150     245.0   181.0
+B901       PB       35.6900   -120.1420     275.3   173.1
+B916       PB       36.1925   -117.6685    1859.9   166.9
+B917       PB       35.3892   -117.2587    1125.9     0.0
+B918       PB       35.9372   -117.5906    1042.6   189.9
+B921       PB       35.5865   -117.4622     694.5   139.9
+B926       PB       48.8202   -124.1312     191.6   233.5
+B927       PB       49.2188   -124.8113      98.7   221.7
+B928       PB       48.8337   -125.1345       9.5   236.5
+B932       PB       40.2750   -124.2212      52.0     0.0
+B933       PB       40.0600   -123.9690     268.1   139.0
+B934       PB       39.8445   -123.6913     331.0     0.0
+B935       PB       40.4787   -123.5732     696.7   152.4
+B941       PB       46.9868   -122.2190     151.0   147.2
+B943       PB       47.8132   -122.9113      84.2   215.6
+B944       PB       44.3897   -110.5438    2364.6   114.3
+B945       PB       44.8940   -110.7441    2241.4   135.6
+P403       PB       48.0624   -124.1409     314.0   159.7
+B1         PI       34.0730    106.9190    1437.0     0.0
+B3         PI       34.0730    106.9190    1437.0     0.0
+B4         PI       34.0736   -106.9189      12.9     0.0
+B5         PI       34.0730    106.9190    1437.0     0.0
+B6         PI       34.0736   -106.9189      12.9     0.0
+B7         PI       34.0730    106.9190    1437.0     0.0
+B8         PI       34.0736   -106.9189      12.9     0.0
+B9         PI       34.0736   -106.9188    1418.0     0.0
+NP00       PI       34.0740   -106.9190    1430.0     0.0
+NP01       PI       34.0740   -106.9191    1430.0     0.0
+NP02       PI       34.0740   -106.9190    1430.0     0.0
+NP03       PI       34.0740   -106.9190    1430.0     0.0
+NP04       PI       34.0740   -106.9191    1430.0     0.0
+NP05       PI       34.0740   -106.9190    1430.0     0.0
+NP06       PI       34.0740   -106.9191    1430.0     0.0
+NP07       PI       34.0740   -106.9190    1430.0     0.0
+NP08       PI       34.0740   -106.9191    1430.0     0.0
+NP09       PI       34.0740   -106.9190    1430.0     0.0
+SP00       PI       34.0740   -106.9190    1430.0     0.0
+SP01       PI       34.0740   -106.9190    1430.0     0.0
+SP02       PI       34.0740   -106.9190    1430.0     0.0
+SP03       PI       34.0740   -106.9190    1430.0     0.0
+SP04       PI       34.0740   -106.9190    1430.0     0.0
+SP05       PI       34.0740   -106.9190    1430.0     0.0
+SP06       PI       34.0740   -106.9190    1430.0     0.0
+SP07       PI       34.0740   -106.9190    1430.0     0.0
+SP08       PI       34.0740   -106.9190    1430.0     0.0
+SP09       PI       34.0740   -106.9190    1430.0     0.0
+PESTR      PM       38.8672     -7.5902     410.0     0.0
+PFVI       PM       37.1328     -8.8268     189.0     3.0
+PMOZ       PM       32.8230    -17.1972    1027.0     0.0
+PVAQ       PM       37.4037     -7.7173     200.0     7.0
+ROSA       PM       38.7208    -28.2470     310.0     0.0
+BAG        PS       16.4108    120.5797    1507.0     0.0
+OGS        PS       27.0570    142.2030      20.0     0.0
+PATS       PS        6.8367    158.3152      10.0     0.0
+PSI        PS        2.6938     98.9237     987.0     0.0
+SYO        PS      -69.0067     39.5850      20.0     0.0
+RSCP       RS       35.6000    -85.5689     485.0   100.0
+RSNT       RS       62.4797   -114.5917     -50.0   100.0
+RSNY       RS       44.5481    -74.5297     357.0   100.0
+RSON       RS       50.8589    -93.7022     221.0   103.0
+RSSD       RS       44.1204   -104.0362    1950.0   110.0
+PH008      SF       35.9742   -120.5519    -412.2  1040.0
+ANMO       SR       34.9462   -106.4567    1740.0   100.0
+ANTO       SR       39.8689     32.7936     883.0   195.0
+BCAO       SR        4.4335     18.5354     336.0    64.0
+BGIO       SR       31.7220     35.0878     752.0   100.0
+BOCO       SR        4.5869    -74.0432    3071.0   100.0
+CHTO       SR       18.7900     98.9769     316.0   100.0
+GRFO       SR       49.6909     11.2203     384.0   116.0
+GUMO       SR       13.5892    144.8684     164.0     0.0
+MAIO       SR       36.3000     59.4945    1000.0   100.0
+NWAO       SR      -32.9266    117.2333     265.0   100.0
+SHIO       SR       25.5666     91.8830    1509.0    91.0
+SNZO       SR      -41.3103    174.7046      62.0   100.0
+TATO       SR       24.9735    121.4971     157.0    90.0
+109C       TA       32.8889   -117.1051     150.0     0.0
+112A       TA       32.5356   -114.5804      87.0     0.0
+113A       TA       32.7683   -113.7667     118.0     0.0
+114A       TA       32.7513   -112.8830     279.0     0.0
+115A       TA       32.7006   -112.2279     606.2     0.0
+116A       TA       32.5618   -111.7042     477.3     0.0
+117A       TA       32.5716   -110.7393    1544.0     0.0
+118A       TA       32.6399   -109.9697    1440.0     0.0
+119A       TA       32.7663   -109.3029    1406.0     0.0
+120A       TA       32.5466   -108.6330    1528.0     0.0
+121A       TA       32.5324   -107.7851    1652.0     0.0
+122A       TA       32.6995   -107.0005    1333.0     0.0
+123A       TA       32.6349   -106.2622    1206.0     0.0
+124A       TA       32.7001   -105.4544    2078.0     0.0
+125A       TA       32.6588   -104.6573    1212.0     0.0
+126A       TA       32.6462   -104.0204    1032.0     0.0
+127A       TA       32.6764   -103.3575    1160.0     0.0
+128A       TA       32.6213   -102.4850     966.0     0.0
+129A       TA       32.6309   -101.8662     876.0     0.0
+130A       TA       32.5961   -100.9652     676.0     0.0
+131A       TA       32.6737   -100.3888     622.0     0.0
+214A       TA       31.9559   -112.8115     543.0     0.0
+216A       TA       32.0022   -111.4574     908.0     0.0
+217A       TA       31.7748   -110.8162    1412.0     0.0
+218A       TA       31.9737   -110.0464    1486.0     0.0
+219A       TA       31.9989   -109.2592    1581.0     0.0
+220A       TA       31.9041   -108.5266    1395.0     0.0
+221A       TA       32.0094   -107.7782    1277.0     0.0
+222A       TA       32.1046   -107.1013    1324.0     0.0
+223A       TA       32.0062   -106.4276    1232.0     0.0
+224A       TA       32.0760   -105.5226    1487.0     0.0
+225A       TA       32.1101   -104.8229    1703.0     0.0
+226A       TA       32.0618   -104.1014     929.0     0.0
+226B       TA       32.0778   -104.1654     981.0     0.0
+227A       TA       32.0120   -103.2924     879.0     0.0
+228A       TA       32.1180   -102.5918     954.0     0.0
+229A       TA       31.9671   -101.8107     804.0     0.0
+230A       TA       31.8878   -101.1124     742.0     0.0
+231A       TA       31.9353   -100.3163     574.0     0.0
+232A       TA       31.8880    -99.6469     621.0     0.0
+318A       TA       31.4390   -109.9907    1576.0     0.0
+319A       TA       31.3757   -109.2809    1187.0     0.0
+320A       TA       31.3369   -108.5284    1414.0     0.0
+324A       TA       31.4425   -105.4828    1441.0     0.0
+325A       TA       31.3711   -104.9712    1666.0     0.0
+326A       TA       31.3165   -103.9786     982.0     0.0
+327A       TA       31.3691   -103.4923     784.0     0.0
+328A       TA       31.3818   -102.8097     755.0     0.0
+329A       TA       31.4870   -101.9808     842.0     0.0
+330A       TA       31.4063   -101.1752     742.0     0.0
+331A       TA       31.3085   -100.4266     615.0     0.0
+332A       TA       31.3829    -99.7423     513.0     0.0
+425A       TA       30.7862   -104.9857    1337.0     0.0
+426A       TA       30.6689   -104.0293    1943.0     0.0
+427A       TA       30.8498   -103.4018    1031.0     0.0
+428A       TA       30.7263   -102.6847     982.0     0.0
+429A       TA       30.6248   -101.8938     804.0     0.0
+430A       TA       30.7866   -101.2362     768.0     0.0
+431A       TA       30.6824   -100.6079     700.0     0.0
+432A       TA       30.8755    -99.7937     647.0     0.0
+526A       TA       30.0609   -104.0898    1405.0     0.0
+527A       TA       30.1456   -103.6119    1419.0     0.0
+528A       TA       30.1615   -102.7880    1183.0     0.0
+529A       TA       30.1246   -102.2204     764.0     0.0
+530A       TA       30.1489   -101.3379     636.0     0.0
+531A       TA       30.1645   -100.5464     661.0     0.0
+532A       TA       30.1278    -99.9049     703.0     0.0
+626A       TA       29.5540   -104.1335     979.0     0.0
+627A       TA       29.4528   -103.3887    1163.0     0.0
+628A       TA       29.4862   -102.8885     655.0     0.0
+631A       TA       29.4123   -100.5759     344.0     0.0
+632A       TA       29.5071    -99.7863     420.0     0.0
+732A       TA       28.7292    -99.9707     178.0     0.0
+A04A       TA       48.7197   -122.7070      23.0     0.0
+A05A       TA       48.9983   -122.0852     174.3     0.0
+A06A       TA       49.0983   -121.4804     576.0     0.0
+A07A       TA       49.0480   -120.3837    1842.0     0.0
+A08A       TA       48.9534   -119.2725    1089.0     0.0
+A09A       TA       48.9752   -118.5851     931.0     0.0
+A10A       TA       48.9813   -117.5586     688.0     0.0
+A11A       TA       48.9580   -116.3631    1455.0     0.0
+A12A       TA       48.9339   -115.6526     928.0     0.0
+A13A       TA       48.9330   -114.4135    1199.0     0.0
+A14A       TA       48.9725   -113.4218    1420.0     0.0
+A15A       TA       48.9777   -112.7327    1236.0     0.0
+A16A       TA       48.9482   -111.5968    1394.0     0.0
+A17A       TA       48.9448   -110.6994     973.0     0.0
+A18A       TA       48.9198   -109.8459     804.0     0.0
+A19A       TA       48.9286   -108.7429     971.0     0.0
+A20A       TA       48.8799   -107.9257     868.0     0.0
+A21A       TA       48.9912   -106.9254     779.0     0.0
+A22A       TA       48.9926   -105.9153     861.0     0.0
+A23A       TA       48.9592   -104.8786     665.0     0.0
+A24A       TA       48.9239   -104.0018     677.0     0.0
+A25A       TA       48.9388   -103.1128     584.0     0.0
+A26A       TA       48.8973   -102.0380     570.0     0.0
+A27A       TA       48.9533   -101.2407     466.0     0.0
+A28A       TA       48.9096   -100.2669     692.0     0.0
+A29A       TA       48.9228    -99.2321     480.0     0.0
+A30A       TA       48.9402    -98.3009     484.0     0.0
+ABTX       TA       32.6238    -99.6431     502.0     0.0
+B04A       TA       48.0575   -123.5040     293.8     0.0
+B05A       TA       48.2641   -122.0960     154.5     0.0
+B06A       TA       48.5183   -121.4845      75.0     0.0
+B07A       TA       48.4607   -120.1197     781.0     0.0
+B08A       TA       48.3584   -119.3332     696.0     0.0
+B09A       TA       48.4226   -118.1488     630.0     0.0
+B10A       TA       48.2995   -117.2252     585.0     0.0
+B11A       TA       48.4366   -116.3674     870.0     0.0
+B12A       TA       48.4694   -115.5889     764.0     0.0
+B13A       TA       48.3739   -114.4676     933.0     0.0
+B14A       TA       48.3609   -113.2729    1529.0     0.0
+B15A       TA       48.3129   -112.5619    1222.0     0.0
+B16A       TA       48.4128   -111.7073    1038.0     0.0
+B17A       TA       48.2921   -110.7988     894.0     0.0
+B18A       TA       48.3943   -109.7775     950.0     0.0
+B19A       TA       48.4551   -108.9443     803.0     0.0
+B20A       TA       48.4389   -108.0209     827.0     0.0
+B21A       TA       48.4278   -107.0166     661.0     0.0
+B22A       TA       48.3008   -105.9964     836.0     0.0
+B23A       TA       48.4643   -104.9909     716.0     0.0
+B25A       TA       48.2716   -103.1613     705.0     0.0
+B26A       TA       48.3762   -102.2341     708.0     0.0
+B27A       TA       48.4044   -101.2600     492.0     0.0
+B28A       TA       48.4492   -100.3616     451.0     0.0
+B29A       TA       48.4649    -99.3535     460.0     0.0
+B30A       TA       48.4505    -98.3286     480.0     0.0
+BGNE       TA       41.4083    -98.1502     573.0     0.0
+BNLO       TA       37.1311   -122.1729     794.0     0.0
+BRSD       TA       44.4430    -98.9563     519.0     0.0
+C03A       TA       47.9475   -124.5662      48.4     0.0
+C04A       TA       47.7172   -122.9718      53.0     0.0
+C05A       TA       47.6947   -121.6895     541.0     0.0
+C06A       TA       47.9230   -120.8944     594.0     0.0
+C07A       TA       47.6902   -120.0613     863.0     0.0
+C08A       TA       47.7849   -119.0454     783.0     0.0
+C09A       TA       47.8006   -118.2741     495.0     0.0
+C10A       TA       47.8192   -117.3077     684.0     0.0
+C11A       TA       47.8397   -116.2557     914.0     0.0
+C12A       TA       47.7039   -115.4811     782.0     0.0
+C12B       TA       47.7092   -115.4750     801.0     0.0
+C13A       TA       47.6795   -114.5735     976.0     0.0
+C14A       TA       47.7687   -113.7468    1173.0     0.0
+C15A       TA       47.7750   -112.6072    1522.0     0.0
+C16A       TA       47.8012   -111.7458    1240.0     0.0
+C17A       TA       47.6327   -110.7626    1080.0     0.0
+C19A       TA       47.7343   -109.0489     966.0     0.0
+C20A       TA       47.7133   -108.0042     781.0     0.0
+C21A       TA       47.8264   -107.0960     804.0     0.0
+C22A       TA       47.7456   -105.8841     745.0     0.0
+C23A       TA       47.8026   -105.1844     729.0     0.0
+C24A       TA       47.5302   -104.4252     713.0     0.0
+C25A       TA       47.7124   -103.2558     700.0     0.0
+C26A       TA       47.8259   -102.0957     656.0     0.0
+C27A       TA       47.7139   -101.5029     602.0     0.0
+C28A       TA       47.7157   -100.3871     524.0     0.0
+C30A       TA       47.7026    -98.4783     480.0     0.0
+D03A       TA       47.1161   -123.7714      31.0     0.0
+D04A       TA       47.1109   -122.8035      31.1     0.0
+D05A       TA       47.1881   -121.9888     266.4     0.0
+D06A       TA       47.1935   -120.8445     575.0     0.0
+D07A       TA       47.1936   -119.9732     453.0     0.0
+D08A       TA       47.0573   -118.9210     385.0     0.0
+D09A       TA       47.0615   -118.3092     540.0     0.0
+D10A       TA       47.0547   -117.2759     775.0     0.0
+D11A       TA       47.0477   -116.3353     849.0     0.0
+D12A       TA       47.0528   -115.3525    1135.0     0.0
+D13A       TA       47.0943   -114.4587    1000.0     0.0
+D14A       TA       47.0816   -113.5062    1444.0     0.0
+D15A       TA       47.0418   -112.5204    1593.0     0.0
+D16A       TA       47.0308   -111.5492    1427.0     0.0
+D17A       TA       47.1523   -110.6873    1535.0     0.0
+D18A       TA       47.1961   -109.8023    1202.0     0.0
+D19A       TA       47.1646   -108.8800    1047.0     0.0
+D20A       TA       47.0911   -108.1362     902.0     0.0
+D21A       TA       47.0658   -106.9939     934.0     0.0
+D22A       TA       47.1498   -106.1797     791.0     0.0
+D23A       TA       47.1730   -105.2071     895.0     0.0
+D24A       TA       47.1152   -104.3270     766.0     0.0
+D25A       TA       47.1508   -103.3203     850.0     0.0
+D26A       TA       47.0301   -102.4357     693.0     0.0
+D27A       TA       47.1081   -101.5254     685.0     0.0
+D28A       TA       47.1929   -100.5692     621.0     0.0
+D29A       TA       47.0605    -99.5957     551.0     0.0
+D30A       TA       47.1082    -98.7576     465.0     0.0
+E03A       TA       46.5459   -123.5632      72.8     0.0
+E04A       TA       46.5934   -122.7204     215.2     0.0
+E05A       TA       46.5605   -121.7608    1481.0     0.0
+E06A       TA       46.5433   -120.9791     911.0     0.0
+E07A       TA       46.5585   -119.8548     561.0     0.0
+E08A       TA       46.4911   -119.0595     233.0     0.0
+E09A       TA       46.5139   -118.1455     304.0     0.0
+E10A       TA       46.4850   -117.1102     903.0     0.0
+E11A       TA       46.3559   -116.2092     831.0     0.0
+E12A       TA       46.4151   -115.5705    1555.0     0.0
+E13A       TA       46.4423   -114.1880    1257.0     0.0
+E14A       TA       46.4162   -113.4926    1675.0     0.0
+E15A       TA       46.4246   -112.6412    1520.0     0.0
+E16A       TA       46.5336   -111.6764    1398.0     0.0
+E17A       TA       46.4620   -110.8576    1835.0     0.0
+E18A       TA       46.5663   -109.9137    1459.0     0.0
+E19A       TA       46.4611   -108.7860    1059.0     0.0
+E20A       TA       46.5038   -108.1301     954.0     0.0
+E21A       TA       46.5408   -107.0757     834.0     0.0
+E22A       TA       46.4386   -105.9488     784.0     0.0
+E23A       TA       46.4978   -105.3062     750.0     0.0
+E24A       TA       46.5608   -104.3073     912.0     0.0
+E25A       TA       46.5009   -103.4013     885.0     0.0
+E26A       TA       46.4712   -102.4621     806.0     0.0
+E27A       TA       46.4293   -101.5645     738.0     0.0
+E28A       TA       46.5748   -100.6934     579.0     0.0
+E29A       TA       46.5682    -99.6420     628.0     0.0
+E30A       TA       46.5021    -98.9098     544.0     0.0
+ELFS       TA       40.6183   -120.7279    1553.0     0.0
+F03A       TA       45.9306   -123.5591     324.6     0.0
+F04A       TA       45.9325   -122.4193     211.2     0.0
+F05A       TA       45.8839   -121.4588     454.8     0.0
+F06A       TA       45.7664   -120.7817     577.0     0.0
+F07A       TA       45.8951   -119.9278     227.0     0.0
+F08A       TA       45.7971   -118.7768     487.0     0.0
+F09A       TA       45.7087   -117.9094     894.0     0.0
+F10A       TA       45.9734   -117.2277    1136.0     0.0
+F11A       TA       45.8883   -116.1549    1186.0     0.0
+F12A       TA       45.7565   -115.2547    1442.0     0.0
+F13A       TA       45.7893   -114.3317    1462.0     0.0
+F14A       TA       45.8122   -113.3699    1851.0     0.0
+F15A       TA       45.8409   -112.4929    1995.0     0.0
+F16A       TA       45.7843   -111.6262    1350.0     0.0
+F17A       TA       45.9054   -110.6590    1545.0     0.0
+F18A       TA       45.9046   -109.7158    1291.0     0.0
+F19A       TA       45.8538   -108.9437    1243.0     0.0
+F20A       TA       45.8006   -108.1488    1194.0     0.0
+F21A       TA       45.8231   -107.1233    1026.0     0.0
+F22A       TA       45.7794   -106.2569     882.0     0.0
+F23A       TA       45.7212   -105.4056     953.0     0.0
+F24A       TA       45.8452   -104.4448    1105.0     0.0
+F25A       TA       45.9256   -103.4576     912.0     0.0
+F26A       TA       45.8512   -102.6697     852.0     0.0
+F27A       TA       45.8727   -102.0203     757.0     0.0
+F28A       TA       45.8485   -100.8005     633.0     0.0
+F29A       TA       45.8336    -99.8273     575.0     0.0
+F30A       TA       45.8356    -99.0250     601.0     0.0
+G03A       TA       45.3153   -123.2811     208.0     0.0
+G04A       TA       45.2059   -122.4784     272.8     0.0
+G05A       TA       45.2422   -121.3167     594.4     0.0
+G06A       TA       45.2357   -120.6351     780.0     0.0
+G07A       TA       45.2664   -119.6692     801.0     0.0
+G08A       TA       45.2904   -118.9595    1318.0     0.0
+G09A       TA       45.2781   -117.7802    1027.0     0.0
+G10A       TA       45.2925   -117.1204    1527.0     0.0
+G11A       TA       45.3997   -116.2680    1343.0     0.0
+G12A       TA       45.1285   -115.3257    1780.0     0.0
+G13A       TA       45.0931   -114.2329    1538.0     0.0
+G14A       TA       45.2432   -113.4604    2140.0     0.0
+G15A       TA       45.1660   -112.4887    1857.0     0.0
+G16A       TA       45.2285   -111.8046    1769.0     0.0
+G17A       TA       45.3212   -110.7398    1574.0     0.0
+G18A       TA       45.3171   -109.5631    1699.0     0.0
+G20A       TA       45.2202   -108.2141    1431.0     0.0
+G21A       TA       45.2250   -107.2070    1227.0     0.0
+G22A       TA       45.2189   -106.2924    1203.0     0.0
+G23A       TA       45.2012   -105.3907    1064.0     0.0
+G24A       TA       45.3280   -104.4163    1147.0     0.0
+G25A       TA       45.1935   -103.4173     894.0     0.0
+G26A       TA       45.2937   -102.5990     833.0     0.0
+G27A       TA       45.3791   -102.9310     761.0     0.0
+G28A       TA       45.0749   -100.9161     709.0     0.0
+G29A       TA       45.1926    -99.9234     588.0     0.0
+G30A       TA       45.1293    -99.1446     496.0     0.0
+H02A       TA       44.6764   -123.9997     209.1     0.0
+H03A       TA       44.6765   -123.2923     214.3     0.0
+H04A       TA       44.6837   -122.1862     652.0     0.0
+H05A       TA       44.6473   -121.2271     720.8     0.0
+H06A       TA       44.7344   -120.3346     516.0     0.0
+H07A       TA       44.5913   -119.5646    1204.0     0.0
+H08A       TA       44.5191   -118.6704    1373.0     0.0
+H09A       TA       44.6653   -117.6643    1263.0     0.0
+H10A       TA       44.5890   -116.7474     882.0     0.0
+H11A       TA       44.7035   -116.0127    1525.0     0.0
+H12A       TA       44.5494   -114.8554    1777.0     0.0
+H13A       TA       44.5642   -114.2545    1563.0     0.0
+H14A       TA       44.6165   -113.3674    1933.0     0.0
+H15A       TA       44.6173   -112.6439    1957.0     0.0
+H16A       TA       44.7038   -111.2478    2080.0     0.0
+H17A       TA       44.3951   -110.5762    2400.0     0.0
+H18A       TA       44.6769   -109.6641    2221.0     0.0
+H19A       TA       44.6704   -108.9857    1479.0     0.0
+H20A       TA       44.4868   -107.9990    1236.0     0.0
+H21A       TA       44.6277   -107.0423    1411.0     0.0
+H22A       TA       44.5943   -106.3521    1276.0     0.0
+H23A       TA       44.5620   -105.4007    1213.0     0.0
+H24A       TA       44.7473   -104.5524    1166.0     0.0
+H25A       TA       44.6215   -103.5981     942.0     0.0
+H26A       TA       44.6168   -102.7739     879.0     0.0
+H27A       TA       44.6329   -102.0775     748.0     0.0
+H28A       TA       44.6751   -101.0206     642.0     0.0
+H29A       TA       44.6261   -100.2125     548.0     0.0
+HAST       TA       36.3887   -121.5514     542.0     0.0
+HATC       TA       40.8161   -121.4612    1013.0     0.0
+HELL       TA       36.6801   -119.0228    1145.0     0.0
+I02A       TA       44.0035   -123.8299     170.1     0.0
+I03A       TA       43.9726   -123.2777     205.7     0.0
+I04A       TA       43.7941   -122.4113     731.0     0.0
+I05A       TA       44.1626   -121.2675    1011.0     0.0
+I06A       TA       43.9437   -120.2107    1296.9     0.0
+I07A       TA       44.0820   -119.5042    1293.0     0.0
+I08A       TA       43.9104   -118.5692    1189.0     0.0
+I09A       TA       43.9733   -117.7407     950.0     0.0
+I10A       TA       44.0860   -116.8029     782.0     0.0
+I11A       TA       43.9121   -115.9578    1288.0     0.0
+I12A       TA       43.7945   -115.1328    1849.0     0.0
+I13A       TA       43.9146   -114.1169    2104.0     0.0
+I14A       TA       43.9286   -113.4518    1897.0     0.0
+I15A       TA       43.9997   -112.4850    1470.0     0.0
+I16A       TA       43.8756   -111.4868    1744.0     0.0
+I17A       TA       43.9200   -110.5759    2134.0     0.0
+I18A       TA       43.7013   -109.8171    2322.0     0.0
+I19A       TA       44.0363   -108.9943    1982.0     0.0
+I20A       TA       43.9496   -108.1283    1342.0     0.0
+I21A       TA       43.8122   -107.2920    1639.0     0.0
+I22A       TA       43.8924   -106.4840    1430.0     0.0
+I23A       TA       43.9605   -105.4629    1462.0     0.0
+I24A       TA       43.8594   -104.6263    1338.0     0.0
+I25A       TA       44.0196   -103.7324    1856.0     0.0
+I26A       TA       44.0309   -102.8596     971.0     0.0
+I27A       TA       44.0690   -102.0525     867.0     0.0
+I28A       TA       43.9996   -101.1692     655.0     0.0
+I29A       TA       44.0215   -100.3034     592.0     0.0
+I30A       TA       43.9143    -99.4262     549.0     0.0
+J02A       TA       43.3654   -123.5747     136.2     0.0
+J03A       TA       43.3717   -122.9646     292.0     0.0
+J04A       TA       43.2406   -122.1093    1952.0     0.0
+J05A       TA       43.2843   -121.2357    1540.0     0.0
+J06A       TA       43.2515   -120.1528    1407.2     0.0
+J07A       TA       43.3736   -119.3105    1273.0     0.0
+J08A       TA       43.3580   -118.4743    1229.0     0.0
+J09A       TA       43.3471   -117.7542    1303.0     0.0
+J10A       TA       43.4275   -116.7670     748.0     0.0
+J11A       TA       43.4151   -115.8278    1302.0     0.0
+J12A       TA       43.2500   -115.0980    1587.0     0.0
+J13A       TA       43.3979   -114.1742    1552.0     0.0
+J14A       TA       43.3234   -113.5178    1649.0     0.0
+J15A       TA       43.3998   -112.4334    1497.0     0.0
+J16A       TA       43.2741   -111.6119    2004.0     0.0
+J17A       TA       43.3629   -110.7118    1975.0     0.0
+J18A       TA       43.2112   -110.0200    2357.0     0.0
+J19A       TA       43.2649   -109.0531    1782.0     0.0
+J20A       TA       43.3531   -108.0842    1500.0     0.0
+J21A       TA       43.3459   -107.4459    1913.0     0.0
+J22A       TA       43.4126   -106.4785    1587.0     0.0
+J23A       TA       43.4036   -105.5524    1499.0     0.0
+J24A       TA       43.3305   -104.6613    1315.0     0.0
+J25A       TA       43.3901   -103.8026    1220.0     0.0
+J26A       TA       43.3126   -103.0752     993.0     0.0
+J27A       TA       43.2526   -102.0069    1081.0     0.0
+J28A       TA       43.4239   -101.2359     835.0     0.0
+J29A       TA       43.4061   -100.3253     644.0     0.0
+J30A       TA       43.3248    -99.4922     608.0     0.0
+K01A       TA       42.8088   -124.4692     175.0     0.0
+K02A       TA       42.7667   -123.4898     963.0     0.0
+K04A       TA       42.6133   -121.7307    1305.0     0.0
+K05A       TA       42.7258   -120.8934    1887.0     0.0
+K06A       TA       42.7991   -120.2510    1340.2     0.0
+K07A       TA       42.6912   -119.2469    1407.0     0.0
+K08A       TA       42.7308   -118.4864    1391.0     0.0
+K09A       TA       42.6996   -117.7251    1176.0     0.0
+K10A       TA       42.7779   -116.8705    1701.0     0.0
+K11A       TA       42.7713   -116.0323     914.0     0.0
+K12A       TA       42.6360   -114.9029    1091.0     0.0
+K13A       TA       42.6493   -114.0840    1222.0     0.0
+K14A       TA       42.5452   -113.1760    1387.0     0.0
+K15A       TA       42.6852   -112.5305    1566.0     0.0
+K16A       TA       42.8321   -111.5884    1885.0     0.0
+K17A       TA       42.7507   -110.9201    1922.0     0.0
+K18A       TA       42.6372   -110.0417    2129.0     0.0
+K19A       TA       42.8247   -108.8466    1878.0     0.0
+K20A       TA       42.6579   -108.3418    1736.0     0.0
+K21A       TA       42.6332   -107.2510    1960.0     0.0
+K22A       TA       42.6507   -106.5240    1686.0     0.0
+K23A       TA       42.7546   -105.6251    1612.0     0.0
+K24A       TA       42.7225   -104.8152    1593.0     0.0
+K25A       TA       42.6120   -103.8705    1437.0     0.0
+K26A       TA       42.7016   -103.1783    1122.0     0.0
+K27A       TA       42.7036   -102.2364    1131.0     0.0
+K28A       TA       42.7136   -101.3665     986.0     0.0
+K29A       TA       42.7612   -100.3182     840.0     0.0
+K30A       TA       42.6742    -99.6131     712.0     0.0
+KMSC       TA       35.1420    -81.3333     240.0     0.0
+KSCO       TA       39.0112   -102.6273    1382.0     0.0
+L02A       TA       42.1560   -123.6018     484.6     0.0
+L04A       TA       42.1750   -121.8910    1336.0     0.0
+L05A       TA       42.0472   -120.8336    1751.0     0.0
+L07A       TA       42.0187   -119.3398    1816.0     0.0
+L08A       TA       42.1901   -118.3445    1490.0     0.0
+L09A       TA       42.0192   -117.6667    1430.5     0.0
+L10A       TA       42.0773   -116.4711    1537.0     0.0
+L11A       TA       42.1669   -115.7541    1511.0     0.0
+L12A       TA       42.1460   -115.0162    1756.0     0.0
+L13A       TA       42.0886   -113.9444    1482.0     0.0
+L14A       TA       42.0343   -113.2398    1528.0     0.0
+L15A       TA       42.0041   -112.3860    1645.6     0.0
+L16A       TA       42.0149   -111.4319    2013.0     0.0
+L17A       TA       42.0995   -110.8727    1996.0     0.0
+L18A       TA       41.9243   -110.0364    2051.0     0.0
+L19A       TA       42.1012   -109.3575    2034.0     0.0
+L20A       TA       42.0073   -108.3398    2028.0     0.0
+L21A       TA       41.9641   -107.3695    2065.0     0.0
+L22A       TA       42.0310   -106.4338    2012.0     0.0
+L23A       TA       42.1143   -105.7012    2153.0     0.0
+L24A       TA       42.0432   -104.9326    1479.0     0.0
+L25A       TA       42.1548   -103.9657    1379.0     0.0
+L26A       TA       42.0367   -103.0795    1248.0     0.0
+L27A       TA       42.0837   -102.3154    1186.0     0.0
+L28A       TA       42.0073   -101.5196    1155.0     0.0
+L29A       TA       42.0641   -100.4779     901.0     0.0
+L30A       TA       41.9492    -99.7196     782.0     0.0
+L31A       TA       42.1760    -98.8387     670.0     0.0
+LAVA       TA       38.7552   -120.7395     828.0     0.0
+M01C       TA       41.8473   -124.1221      38.0     0.0
+M02C       TA       41.3920   -122.8538     960.0     0.0
+M03C       TA       41.2742   -122.1220    1047.0     0.0
+M04C       TA       41.7826   -121.8393    1391.0     0.0
+M05C       TA       41.3593   -121.1457    1333.0     0.0
+M06C       TA       41.2047   -120.4772    1434.0     0.0
+M07A       TA       41.3884   -119.1711    1400.0     0.0
+M08A       TA       41.4483   -118.3792    1288.4     0.0
+M09A       TA       41.4230   -117.4497    1355.8     0.0
+M10A       TA       41.5220   -116.5396    1687.4     0.0
+M11A       TA       41.4311   -115.7912    1849.0     0.0
+M12A       TA       41.4157   -114.9151    1930.0     0.0
+M13A       TA       41.3602   -114.1655    1514.0     0.0
+M14A       TA       41.5030   -113.3471    1318.0     0.0
+M15A       TA       41.4632   -112.4477    1348.0     0.0
+M16A       TA       41.3146   -111.6298    1872.0     0.0
+M17A       TA       41.4729   -110.6664    2101.0     0.0
+M18A       TA       41.4272   -110.0674    2103.0     0.0
+M19A       TA       41.5047   -109.1569    2080.0     0.0
+M20A       TA       41.4906   -108.1865    2134.0     0.0
+M21A       TA       41.6067   -107.3635    2275.0     0.0
+M22A       TA       41.4033   -106.5958    2334.0     0.0
+M23A       TA       41.4680   -105.7221    2166.0     0.0
+M24A       TA       41.4676   -104.8248    1816.0     0.0
+M25A       TA       41.4347   -104.0551    1636.0     0.0
+M26A       TA       41.4661   -103.1427    1348.0     0.0
+M27A       TA       41.5281   -102.3872    1147.0     0.0
+M28A       TA       41.3956   -101.3715    1071.0     0.0
+M29A       TA       41.4441   -100.6892     952.0     0.0
+M30A       TA       41.5371    -99.8723     853.0     0.0
+M31A       TA       41.3440    -98.9766     699.0     0.0
+MDND       TA       47.8481    -99.6029     479.0     0.0
+MSTX       TA       33.9696   -102.7724    1167.0     0.0
+N02C       TA       40.8220   -123.3057     717.0     0.0
+N06A       TA       40.7484   -119.8346    1341.0     0.0
+N07A       TA       40.7721   -118.9716    1305.5     0.0
+N07B       TA       40.7797   -118.9711    1302.0     0.0
+N08A       TA       40.7811   -118.1337    1492.9     0.0
+N09A       TA       40.8520   -117.5244    1617.3     0.0
+N10A       TA       40.7186   -116.5080    1392.0     0.0
+N11A       TA       40.8167   -115.7360    1643.0     0.0
+N12A       TA       40.8522   -115.0387    1786.0     0.0
+N13A       TA       40.8556   -114.2045    1385.0     0.0
+N14A       TA       40.8513   -113.1867    1325.0     0.0
+N15A       TA       40.8903   -112.5201    1408.0     0.0
+N16A       TA       40.8869   -111.4370    2028.0     0.0
+N17A       TA       40.9425   -110.8335    2500.0     0.0
+N18A       TA       40.9763   -109.6731    1893.0     0.0
+N19A       TA       40.8936   -109.1772    1703.0     0.0
+N20A       TA       40.8338   -108.2626    2192.0     0.0
+N21A       TA       40.7600   -107.5196    2235.0     0.0
+N22A       TA       40.8023   -106.4544    2472.0     0.0
+N23A       TA       40.8947   -105.9440    2458.0     0.0
+N24A       TA       40.8271   -104.8824    1695.0     0.0
+N25A       TA       40.8132   -104.0873    1607.0     0.0
+N26A       TA       40.8289   -103.2221    1284.0     0.0
+N27A       TA       40.8063   -102.5367    1228.0     0.0
+N28A       TA       40.6873   -101.5406    1009.0     0.0
+N29A       TA       40.8189   -100.6264     897.0     0.0
+N30A       TA       40.7957   -100.1001     842.0     0.0
+N31A       TA       40.8235    -98.9544     687.0     0.0
+N32A       TA       40.7639    -98.2955     587.0     0.0
+O01C       TA       40.1398   -123.8195     137.8     0.0
+O02C       TA       40.1767   -122.7883     962.0     0.0
+O03C       TA       39.9971   -122.0319      85.0     0.0
+O04C       TA       40.3200   -121.0860    1513.0     0.0
+O05C       TA       39.9620   -120.9176    1032.0     0.0
+O06A       TA       40.1650   -119.8275    1228.7     0.0
+O07A       TA       40.1614   -118.8772    1203.0     0.0
+O08A       TA       40.2903   -118.1550    2137.6     0.0
+O09A       TA       40.1697   -117.1899    1491.7     0.0
+O10A       TA       40.2917   -116.4999    1470.0     0.0
+O11A       TA       40.1313   -115.6570    1948.0     0.0
+O12A       TA       40.2679   -114.7454    1743.0     0.0
+O13A       TA       40.1314   -113.9814    1573.0     0.0
+O15A       TA       40.2807   -112.4694    1611.0     0.0
+O16A       TA       40.2067   -111.5024    1789.0     0.0
+O17A       TA       40.1948   -110.7378    2079.0     0.0
+O18A       TA       40.2655   -110.0082    1582.0     0.0
+O19A       TA       40.2982   -109.1236    1649.0     0.0
+O20A       TA       40.1348   -108.2416    1915.0     0.0
+O21A       TA       40.2149   -107.4705    2343.0     0.0
+O22A       TA       40.1618   -106.5470    2747.0     0.0
+O23A       TA       40.2109   -105.9178    2635.0     0.0
+O24A       TA       40.1227   -105.0729    1553.0     0.0
+O25A       TA       40.1129   -104.1201    1444.0     0.0
+O26A       TA       40.2422   -103.3128    1413.0     0.0
+O27A       TA       40.1900   -102.4794    1206.0     0.0
+O28A       TA       40.1262   -101.7735    1032.0     0.0
+O29A       TA       40.1253   -100.7977     826.0     0.0
+O30A       TA       40.1791   -100.0571     751.0     0.0
+O31A       TA       40.1521    -99.3261     631.0     0.0
+O32A       TA       40.2610    -98.2764     579.0     0.0
+P01C       TA       39.4690   -123.3375     440.9     0.0
+P05C       TA       39.3028   -120.6077    1756.5     0.0
+P06A       TA       39.6785   -119.8983    1368.6     0.0
+P07A       TA       39.5399   -118.8893    1218.6     0.0
+P08A       TA       39.6946   -118.0800    1040.2     0.0
+P09A       TA       39.5516   -117.1395    1737.7     0.0
+P10A       TA       39.6202   -116.4639    1874.0     0.0
+P11A       TA       39.5530   -115.7536    1787.0     0.0
+P12A       TA       39.4731   -114.9075    1878.0     0.0
+P13A       TA       39.4550   -114.0156    1555.0     0.0
+P14A       TA       39.5906   -113.0687    1784.0     0.0
+P15A       TA       39.5708   -112.2786    1576.0     0.0
+P16A       TA       39.6092   -111.6595    1822.0     0.0
+P17A       TA       39.4730   -110.7400    1687.0     0.0
+P18A       TA       39.6279   -110.2457    2743.0     0.0
+P19A       TA       39.6333   -108.9812    2099.0     0.0
+P20A       TA       39.4998   -108.3912    1738.0     0.0
+P21A       TA       39.5240   -107.4493    2097.0     0.0
+P22A       TA       39.5952   -106.7589    2170.0     0.0
+P23A       TA       39.3741   -105.8388    3006.0     0.0
+P24A       TA       39.5144   -104.9082    1861.0     0.0
+P25A       TA       39.5125   -104.1680    1753.0     0.0
+P26A       TA       39.5602   -103.3465    1566.0     0.0
+P27A       TA       39.5559   -102.5782    1286.0     0.0
+P28A       TA       39.5732   -101.7548    1105.0     0.0
+P29A       TA       39.6021   -100.9316     929.0     0.0
+P30A       TA       39.5442   -100.2468     788.0     0.0
+P31A       TA       39.5211    -99.3783     665.0     0.0
+P32A       TA       39.6223    -98.6011     524.0     0.0
+P33A       TA       39.4363    -97.6946     488.0     0.0
+Q03C       TA       38.6333   -122.0145     108.0     0.0
+Q04C       TA       38.8390   -121.3769      14.0     0.0
+Q07A       TA       38.9383   -118.8078    1275.9     0.0
+Q08A       TA       38.8606   -117.9316    1411.5     0.0
+Q09A       TA       38.8340   -117.1816    1703.5     0.0
+Q10A       TA       38.8247   -116.3999    2027.0     0.0
+Q11A       TA       38.8455   -115.6541    1562.0     0.0
+Q12A       TA       39.0400   -114.8299    1625.0     0.0
+Q13A       TA       38.9551   -114.0202    1583.0     0.0
+Q14A       TA       38.9882   -113.2769    1464.0     0.0
+Q15A       TA       38.9995   -112.3793    1477.0     0.0
+Q16A       TA       38.9176   -111.1716    1912.0     0.0
+Q18A       TA       39.1025   -110.1328    1295.0     0.0
+Q19A       TA       38.9553   -109.2630    1283.0     0.0
+Q20A       TA       38.9541   -108.2956    1716.0     0.0
+Q21A       TA       38.8347   -107.5738    1881.0     0.0
+Q22A       TA       38.8627   -106.9096    2727.0     0.0
+Q23A       TA       38.9045   -105.8337    2774.0     0.0
+Q24A       TA       38.9641   -105.1492    2775.0     0.0
+Q25A       TA       38.9145   -104.2472    2001.0     0.0
+Q26A       TA       38.9234   -103.5195    1546.0     0.0
+Q28A       TA       39.0623   -101.8309    1133.0     0.0
+Q29A       TA       38.8905   -100.9787     895.0     0.0
+Q30A       TA       38.9772   -100.2207     797.0     0.0
+Q31A       TA       39.0048    -99.3950     680.0     0.0
+R04C       TA       38.2571   -120.9363     115.0     0.0
+R05C       TA       38.7028   -120.0755    2366.0     0.0
+R06C       TA       38.5226   -119.4509    1698.0     0.0
+R07C       TA       38.0890   -119.0469    1996.0     0.0
+R08A       TA       38.3489   -118.1064    1419.8     0.0
+R09A       TA       38.2397   -117.0718    1759.0     0.0
+R10A       TA       38.2886   -116.3021    1600.0     0.0
+R11A       TA       38.3489   -115.5854    1756.0     0.0
+R12A       TA       38.3281   -114.6076    1845.0     0.0
+R13A       TA       38.1802   -113.9691    1969.0     0.0
+R14A       TA       38.2987   -113.0213    1542.0     0.0
+R15A       TA       38.2108   -112.2767    1861.0     0.0
+R16A       TA       38.2843   -111.4827    2202.0     0.0
+R17A       TA       38.4187   -110.7109    1357.0     0.0
+R18A       TA       38.3862   -109.8942    1828.0     0.0
+R19A       TA       38.2916   -109.2607    2035.0     0.0
+R20A       TA       38.1888   -108.3792    2003.0     0.0
+R21A       TA       38.3685   -107.5501    2260.0     0.0
+R22A       TA       38.2289   -106.7561    2773.0     0.0
+R23A       TA       38.1907   -105.8264    2547.0     0.0
+R24A       TA       38.2315   -105.1075    1978.0     0.0
+R25A       TA       38.1474   -104.2834    1461.0     0.0
+R26A       TA       38.3009   -103.4470    1304.0     0.0
+R27A       TA       38.2859   -102.7980    1201.0     0.0
+R28A       TA       38.3423   -101.8106    1108.0     0.0
+R29A       TA       38.4243   -101.1383     957.0     0.0
+R30A       TA       38.2844   -100.2769     776.0     0.0
+R31A       TA       38.2888    -99.5271     667.0     0.0
+S04C       TA       37.5049   -121.3278     310.0     0.0
+S05C       TA       37.3460   -120.3296      85.0     0.0
+S06C       TA       37.8817   -119.8488    1377.0     0.0
+S08C       TA       37.4993   -118.1711    3087.0     0.0
+S09A       TA       37.7243   -117.2246    1767.8     0.0
+S10A       TA       37.9230   -116.5948    1796.0     0.0
+S11A       TA       37.6444   -115.7472    1456.0     0.0
+S12A       TA       37.6083   -114.8489    1479.0     0.0
+S13A       TA       37.5808   -113.8604    1698.0     0.0
+S14A       TA       37.7601   -113.1684    1746.0     0.0
+S15A       TA       37.6761   -112.3627    2102.0     0.0
+S16A       TA       37.7222   -111.5961    1785.0     0.0
+S17A       TA       37.6354   -110.8018    1373.0     0.0
+S18A       TA       37.6903   -109.9948    2351.0     0.0
+S19A       TA       37.7459   -109.1366    2059.0     0.0
+S20A       TA       37.8300   -108.3605    2355.0     0.0
+S21A       TA       37.6620   -107.7917    2723.0     0.0
+S22A       TA       37.7461   -106.8293    2626.0     0.0
+S23A       TA       37.7059   -106.0023    2323.0     0.0
+S24A       TA       37.6407   -105.2126    2672.0     0.0
+S25A       TA       37.6606   -104.4349    1821.0     0.0
+S26A       TA       37.6216   -103.4711    1394.0     0.0
+S27A       TA       37.6837   -102.8982    1439.0     0.0
+S28A       TA       37.5899   -101.8979    1064.0     0.0
+S29A       TA       37.6199   -101.1180     931.0     0.0
+S30A       TA       37.6402   -100.4640     853.0     0.0
+S31A       TA       37.6193    -99.4845     700.0     0.0
+S32A       TA       37.7001    -98.9363     558.0     0.0
+SFIN       TA       40.3790    -87.0967     165.0     0.0
+SPMN       TA       45.2246    -92.8037     311.0     0.0
+SUTB       TA       39.2291   -121.7861     252.0     0.0
+T05C       TA       36.8953   -120.6737      46.0     0.0
+T06C       TA       37.0069   -119.7089     216.0     0.0
+T11A       TA       37.2408   -115.2202    1402.0     0.0
+T12A       TA       36.7256   -114.7147     538.0     0.0
+T13A       TA       37.0195   -113.9073     878.0     0.0
+T14A       TA       37.0615   -113.0840    1529.0     0.0
+T15A       TA       37.0183   -112.3824    1561.0     0.0
+T16A       TA       36.9839   -111.5060    1177.0     0.0
+T17A       TA       36.9969   -110.8041    1876.0     0.0
+T18A       TA       37.1364   -109.8741    1297.0     0.0
+T19A       TA       36.8299   -109.0249    1736.0     0.0
+T21A       TA       36.9914   -107.5342    2006.0     0.0
+T22A       TA       37.0138   -106.9030    2224.0     0.0
+T23A       TA       37.0361   -106.0372    2429.0     0.0
+T24A       TA       37.0738   -105.0521    2510.0     0.0
+T24B       TA       37.0624   -105.3817    2625.0     0.0
+T25A       TA       37.1388   -104.4108    2017.0     0.0
+T26A       TA       37.1747   -103.5933    1830.0     0.0
+T27A       TA       37.0614   -102.7214    1366.0     0.0
+T28A       TA       37.1204   -102.1136    1148.0     0.0
+T29A       TA       37.1565   -101.2942     936.0     0.0
+T30A       TA       37.0526   -100.5274     778.0     0.0
+T31A       TA       37.0977    -99.6771     564.0     0.0
+TIGA       TA       31.4389    -83.5898     109.0     0.0
+TUL1       TA       35.9104    -95.7919     256.0     0.0
+U04C       TA       36.3627   -120.7828     812.6     0.0
+U05C       TA       36.3356   -120.1205      92.0     0.0
+U10A       TA       36.4193   -116.3297     668.0     0.0
+U11A       TA       36.4230   -115.3835     867.0     0.0
+U12A       TA       36.4321   -114.5388     644.0     0.0
+U13A       TA       36.4151   -113.9653     712.0     0.0
+U14A       TA       36.4182   -113.1805    1916.0     0.0
+U15A       TA       36.4280   -112.2915    2489.0     0.0
+U16A       TA       36.1428   -111.1297    1544.0     0.0
+U17A       TA       36.5996   -110.6624    1976.0     0.0
+U18A       TA       36.4199   -109.8696    1878.0     0.0
+U19A       TA       36.2925   -109.2076    2166.0     0.0
+U20A       TA       36.3758   -108.5204    1682.0     0.0
+U21A       TA       36.4277   -107.6578    2124.0     0.0
+U22A       TA       36.3773   -106.8546    2119.0     0.0
+U23A       TA       36.3289   -106.1919    2093.0     0.0
+U24A       TA       36.4093   -105.2784    2573.0     0.0
+U25A       TA       36.3998   -104.4081    1845.0     0.0
+U26A       TA       36.3945   -103.7439    1861.0     0.0
+U27A       TA       36.4213   -102.8246    1342.0     0.0
+U28A       TA       36.3793   -102.2243    1165.0     0.0
+U29A       TA       36.4519   -101.2702     928.0     0.0
+U30A       TA       36.5304   -100.6509     881.0     0.0
+U31A       TA       36.3695    -99.8508     725.0     0.0
+V03C       TA       36.0214   -121.2356     336.0     0.0
+V04C       TA       35.6360   -120.8699     431.0     0.0
+V05C       TA       35.8667   -119.9028     118.0     0.0
+V11A       TA       35.8384   -115.4305    1117.0     0.0
+V12A       TA       35.7266   -114.8511    1098.0     0.0
+V13A       TA       35.8522   -113.9840    1402.0     0.0
+V14A       TA       35.6339   -113.1053    1731.0     0.0
+V15A       TA       35.8191   -112.1731    1891.0     0.0
+V17A       TA       35.6218   -110.7938    1596.0     0.0
+V18A       TA       35.7113   -109.9327    1977.0     0.0
+V19A       TA       35.7147   -109.0456    2082.0     0.0
+V20A       TA       35.7992   -108.4662    1889.0     0.0
+V21A       TA       35.8054   -107.6378    2046.0     0.0
+V22A       TA       35.9138   -106.9094    2164.0     0.0
+V23A       TA       35.7452   -106.1833    1991.0     0.0
+V24A       TA       35.7259   -105.2716    2187.0     0.0
+V25A       TA       35.8383   -104.6164    1861.0     0.0
+V26A       TA       35.7964   -103.7860    1362.0     0.0
+V27A       TA       35.7569   -102.8361    1228.0     0.0
+V28A       TA       35.7505   -102.2243    1163.0     0.0
+V29A       TA       35.8734   -101.5209     953.0     0.0
+V30A       TA       35.7623   -100.6892     931.0     0.0
+V31A       TA       35.7739    -99.8425     687.0     0.0
+W12A       TA       35.3010   -114.8701     774.5     0.0
+W13A       TA       35.0990   -113.8854    1988.2     0.0
+W14A       TA       35.2127   -113.0834    1756.3     0.0
+W15A       TA       35.1787   -112.2666    2034.2     0.0
+W16A       TA       35.0951   -111.5318    2192.0     0.0
+W17A       TA       35.0789   -110.7127    1461.0     0.0
+W18A       TA       35.1181   -109.7357    1750.0     0.0
+W19A       TA       35.1118   -109.3879    1785.0     0.0
+W20A       TA       35.1259   -108.5001    2110.0     0.0
+W21A       TA       35.1170   -107.6476    1966.0     0.0
+W22A       TA       35.0719   -106.8674    1813.0     0.0
+W23A       TA       35.1605   -106.1503    2020.0     0.0
+W24A       TA       35.2106   -105.4075    1902.0     0.0
+W25A       TA       35.2177   -104.4606    1446.0     0.0
+W26A       TA       35.0891   -103.7656    1314.0     0.0
+W27A       TA       35.0637   -103.0627    1233.0     0.0
+W28A       TA       35.2574   -102.2063    1156.0     0.0
+W29A       TA       35.1212   -101.6476    1072.0     0.0
+W30A       TA       35.1818   -100.5770     870.0     0.0
+W31A       TA       35.1864    -99.9435     644.0     0.0
+WHTX       TA       31.9913    -97.4561     190.0     0.0
+X13A       TA       34.5935   -113.8302     889.4     0.0
+X14A       TA       34.4692   -112.8906    1077.5     0.0
+X15A       TA       34.4866   -112.2368    1331.8     0.0
+X16A       TA       34.4178   -111.4411    1759.4     0.0
+X17A       TA       34.3371   -110.8058    2280.0     0.0
+X18A       TA       34.5293   -109.9501    1751.0     0.0
+X19A       TA       34.4275   -109.2901    1861.0     0.0
+X20A       TA       34.5421   -108.4980    2057.0     0.0
+X21A       TA       34.4457   -107.7857    2141.0     0.0
+X22A       TA       34.5058   -107.0102    1604.0     0.0
+X23A       TA       34.5810   -106.1881    1948.0     0.0
+X24A       TA       34.5646   -105.4349    1917.0     0.0
+X25A       TA       34.5271   -104.6621    1494.0     0.0
+X26A       TA       34.5508   -103.8103    1393.0     0.0
+X27A       TA       34.6469   -103.0974    1304.0     0.0
+X28A       TA       34.5185   -102.1973    1160.0     0.0
+X29A       TA       34.4452   -101.7008    1039.0     0.0
+X30A       TA       34.4461   -100.8740     698.0     0.0
+X31A       TA       34.6309    -99.9793     514.0     0.0
+Y12C       TA       33.7503   -114.5238     196.0     0.0
+Y13A       TA       33.8142   -113.8287     356.9     0.0
+Y14A       TA       33.9383   -113.0048     730.7     0.0
+Y15A       TA       33.9535   -112.3331     572.0     0.0
+Y16A       TA       33.8798   -111.4783    1068.0     0.0
+Y17A       TA       33.6953   -110.8444     866.0     0.0
+Y18A       TA       33.7776   -110.0341    1512.0     0.0
+Y19A       TA       33.9571   -109.2541    2448.0     0.0
+Y20A       TA       33.9085   -108.3769    2177.0     0.0
+Y21A       TA       34.0087   -107.6740    2168.0     0.0
+Y22A       TA       33.9370   -106.9652    1674.0     0.0
+Y22C       TA       34.0741   -106.9211    1436.0     0.0
+Y22D       TA       34.0739   -106.9210    1436.0     0.0
+Y23A       TA       33.9315   -106.0549    1789.0     0.0
+Y24A       TA       33.9257   -105.4361    1827.0     0.0
+Y25A       TA       33.9229   -104.6928    1364.0     0.0
+Y26A       TA       33.9232   -103.8246    1371.0     0.0
+Y27A       TA       33.8839   -103.1633    1253.0     0.0
+Y28A       TA       33.9086   -102.2479    1068.0     0.0
+Y29A       TA       33.8602   -101.6712     991.0     0.0
+Y30A       TA       33.8766   -100.8978     812.0     0.0
+Y31A       TA       33.9629   -100.2615     530.0     0.0
+Y32A       TA       34.0036    -99.4420     412.0     0.0
+Z13A       TA       33.1999   -113.6568     375.0     0.0
+Z14A       TA       33.3627   -112.9458     297.8     0.0
+Z15A       TA       33.2893   -112.1581     318.0     0.0
+Z16A       TA       33.3410   -111.4273     537.0     0.0
+Z17A       TA       33.2969   -110.4723     846.0     0.0
+Z18A       TA       33.0851   -110.0362     812.0     0.0
+Z19A       TA       33.2921   -109.2657    1397.0     0.0
+Z20A       TA       33.1132   -108.5922    1547.0     0.0
+Z21A       TA       33.3086   -107.6712    1964.0     0.0
+Z22A       TA       33.2555   -106.9639    1497.0     0.0
+Z23A       TA       33.2621   -106.2319    1278.0     0.0
+Z24A       TA       33.3298   -105.3649    1863.0     0.0
+Z25A       TA       33.2797   -104.7171    1233.0     0.0
+Z26A       TA       33.2716   -103.9798    1163.0     0.0
+Z27A       TA       33.3150   -103.2145    1197.0     0.0
+Z28A       TA       33.2884   -102.3866    1045.0     0.0
+Z29A       TA       33.2595   -101.7062     938.0     0.0
+Z30A       TA       33.2861   -101.1282     729.0     0.0
+Z31A       TA       33.3183   -100.1435     547.0     0.0
+Z32A       TA       33.3066    -99.4783     427.0     0.0
+BAR        TS       32.6800   -116.6720     548.0     0.0
+CALB       TS       34.1430   -118.6270       0.0     0.0
+CWC        TS       36.4399   -118.0802    1553.0     0.0
+DGR        TS       33.6500   -117.0090     700.0     0.0
+GLA        TS       33.0520   -114.8270     623.0     4.0
+GPO        TS       35.6494   -117.6619     735.0     0.0
+GSC        TS       35.3028   -116.8083     990.0     0.0
+ISA        TS       35.6630   -118.4733     835.0     0.0
+MLAC       TS       37.6310   -118.8340    2170.0     0.0
+NEE        TS       34.8230   -114.5960     139.0     0.0
+OSI        TS       34.6145   -118.7235     706.0     0.0
+PAS        TS       34.1484   -118.1712     314.0     0.0
+PFO        TS       33.6092   -116.4553    1280.0     0.0
+RPV        TS       33.7438   -118.4035     115.0     0.0
+SBC        TS       34.4417   -119.7133      90.0     0.0
+SMTC       TS       32.9490   -115.7200     -50.0     0.0
+SNCC       TS       33.2480   -119.5240     227.0     0.0
+SVD        TS       34.1045   -117.0970     600.0     0.0
+USC        TS       34.0210   -118.2870      60.0     0.0
+VTV        TS       34.5670   -117.3330     847.0     0.0
+ANPB       TW       25.1865    121.5202     825.0     0.0
+HWAB       TW       23.9800    121.6000       0.0     0.0
+KMNB       TW       24.4638    118.3884      43.0     0.0
+LYUB       TW       22.0017    121.5840      40.0     0.0
+MATB       TW       26.1515    119.9456      75.1     0.0
+NACB       TW       24.1755    121.5867     130.0     0.0
+SSLB       TW       23.7909    120.9510     450.0     0.0
+TATO       TW       24.9754    121.4881      53.0    90.0
+TDCB       TW       24.2574    121.2550    1280.0     0.0
+TPUB       TW       23.3038    120.6270     370.0     0.0
+TWGB       TW       22.8207    121.0717     195.0     0.0
+TWKB       TW       21.9433    120.8053      90.0     0.0
+WFSB       TW       25.0710    121.7810     100.0     0.0
+YHNB       TW       24.6698    121.3748     775.0     0.0
+YULB       TW       23.3964    121.2972     294.7     0.0
+AAM        US       42.3012    -83.6567     172.0     0.0
+ACSO       US       40.2319    -82.9820     288.0     0.0
+AGMN       US       48.2977    -95.8619     351.1     0.0
+AHID       US       42.7654   -111.1004    1960.0     0.0
+AMTX       US       34.8837   -101.6808    1010.0     0.0
+BINY       US       42.1993    -75.9861     498.0     0.0
+BLA        US       37.2113    -80.4210     634.0     0.0
+BMN        US       40.4315   -117.2218    1500.0     0.0
+BMO        US       44.8525   -117.3060    1154.0     0.0
+BOZ        US       45.6470   -111.6296    1589.0     0.0
+BRAL       US       31.1687    -87.0506      61.0     0.0
+BW06       US       42.7667   -109.5583    2224.0     0.0
+CBKS       US       38.8140    -99.7374     677.0     0.0
+CBM        US       46.9325    -68.1208     250.0     0.0
+CBN        US       38.2046    -77.3732      70.0     0.0
+CCM        US       38.0557    -91.2446     171.0    51.0
+CEH        US       35.8908    -79.0928     152.0     0.0
+CMB        US       38.0350   -120.3850     719.0     0.0
+CNNC       US       35.2393    -77.8901      29.0     0.0
+COR        US       44.5857   -123.3032     121.0     0.0
+COWI       US       46.1003    -89.1369     523.3     0.0
+DGMT       US       48.4702   -104.1959     646.0     0.0
+DUG        US       40.1950   -112.8133    1477.0     0.0
+DWPF       US       28.1103    -81.4328    -142.0   162.0
+ECSD       US       43.7337    -96.6141     432.9    45.1
+EGAK       US       64.7774   -141.1581     296.6     0.0
+EGMT       US       48.0240   -109.7547    1055.0     0.0
+ELK        US       40.7448   -115.2388    2210.0     0.0
+ERPA       US       42.1175    -79.9891     306.3     0.0
+EYMN       US       47.9462    -91.4950     475.0     0.0
+GLMI       US       44.8245    -84.6174     387.0     0.0
+GOGA       US       33.4112    -83.4666     116.5     0.0
+GOL        US       39.7003   -105.3711    2359.0     0.0
+GWDE       US       38.8256    -75.6171      19.0     0.0
+HAWA       US       46.3925   -119.5326     364.0     0.0
+HDIL       US       40.5560    -89.2940     219.4     0.0
+HKT        US       29.9500    -95.8333    -415.0     1.0
+HLID       US       43.5625   -114.4138    1772.0     0.0
+HRV        US       42.5064    -71.5583     180.0     0.0
+HWUT       US       41.6069   -111.5652    1830.0     0.0
+ISA        US       35.6628   -118.4740     873.0     0.0
+ISCO       US       39.7997   -105.6134    2743.0     0.0
+JCT        US       30.4794    -99.8022     591.0     0.0
+JFWS       US       42.9142    -90.2481     335.0     0.0
+KNB        US       37.0166   -112.8224    1715.0     0.0
+KSU1       US       39.1009    -96.6094     286.5    30.5
+KVTX       US       27.5459    -97.8929      14.6     0.0
+LAO        US       46.6885   -106.2231     902.0     0.0
+LBNH       US       44.2401    -71.9259     367.0     0.0
+LKWY       US       44.5652   -110.4000    2424.0     0.0
+LONY       US       44.6197    -74.5829     440.0     0.0
+LRAL       US       33.0348    -86.9978     130.0     0.0
+LSCT       US       41.6784    -73.2244     318.0     0.0
+LTX        US       29.3339   -103.6669    1013.0     0.0
+MCWV       US       39.6581    -79.8456     280.0     0.0
+MIAR       US       34.5454    -93.5765     207.0     0.0
+MNTX       US       31.6985   -105.3821     404.8     0.0
+MNV        US       38.4328   -118.1531    1524.0     0.0
+MSO        US       46.8292   -113.9406    1264.0     0.0
+MVCO       US       37.2103   -108.4986    2169.9     0.0
+MYNC       US       35.0739    -84.1279     550.0     0.0
+NATX       US       31.7598    -94.6610     168.0     0.0
+NCB        US       43.9708    -74.2236     500.0     0.0
+NEW        US       48.2633   -117.1200     760.0     0.0
+NHSC       US       33.1067    -80.1778      11.0     0.0
+NLWA       US       47.3917   -123.8691     640.0     0.0
+OCWA       US       47.7489   -124.1781     671.0     0.0
+OGNE       US       40.9451   -102.0330    1054.0     0.0
+OXF        US       34.5118    -89.4092     101.0     0.0
+PKME       US       45.2644    -69.2917     108.5     0.0
+RLMT       US       45.1221   -109.2673    2086.0     0.0
+RSNY       US       44.5483    -74.5300     396.0     0.0
+RSSD       US       44.1204   -104.0360    2060.0   100.0
+SAO        US       36.7650   -121.4450     350.0     0.0
+SCIA       US       41.9069    -93.2153     311.5     0.0
+SDCO       US       37.7456   -105.5012    2569.0     0.0
+SSPA       US       40.6401    -77.8914     252.0   100.0
+TPNV       US       36.9488   -116.2495    1600.0     0.0
+TUC        US       32.3097   -110.7842     906.0     0.0
+TZTN       US       36.5439    -83.5490     394.0     0.0
+VBMS       US       32.2185    -90.5177      16.0     0.0
+WCI        US       38.2290    -86.2938     500.0    37.0
+WDC        US       40.5800   -122.5397     300.0     0.0
+WMOK       US       34.7379    -98.7810     486.0     0.0
+WRAK       US       56.4191   -132.3466      80.9     0.0
+WUAZ       US       35.5169   -111.3739    1592.0     0.0
+WVOR       US       42.4339   -118.6367    1344.0     0.0
+WVT        US       36.1300    -87.8300     153.0     0.0
+YSNY       US       42.4758    -78.5375     628.0     0.0
+BLOW       UW       44.6837   -122.1862     652.0     0.0
+BRAN       UW       45.9734   -117.2277    1136.0     0.0
+DAVN       UW       47.8006   -118.2741     495.0     0.0
+FISH       UW       45.9306   -123.5591     324.6     0.0
+IRON       UW       43.3580   -118.4743    1229.0     0.0
+IZEE       UW       44.0820   -119.5042    1293.0     0.0
+KENT       UW       45.2357   -120.6351     780.0     0.0
+LCCR       UW       45.2059   -122.4784     272.8     0.0
+LEBA       UW       46.5459   -123.5632      72.8     0.0
+MRBL       UW       48.5183   -121.4845      75.0     0.0
+OMAK       UW       48.3584   -119.3332     696.0     0.0
+PASS       UW       48.9983   -122.0852     174.3     0.0
+STOR       UW       47.1881   -121.9888     266.4     0.0
+TREE       UW       42.7258   -120.8934    1887.0     0.0
+TUCA       UW       46.5139   -118.1455     304.0     0.0
+UMAT       UW       45.2904   -118.9595    1318.0     0.0
+WOLL       UW       47.0573   -118.9210     385.0     0.0
+YACT       UW       45.9325   -122.4193     211.2     0.0

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/SeismiQuery/STATIONS_LH_II_IU
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/SeismiQuery/STATIONS_LH_II_IU	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/SeismiQuery/STATIONS_LH_II_IU	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,129 @@
+AAK        II       42.6390     74.4940    1645.0    30.0
+ABKT       II       37.9304     58.1189     678.0     7.0
+ABPO       II      -19.0180     47.2290    1528.0     5.3
+ALE        II       82.5033    -62.3500      60.0     0.0
+ARU        II       56.4302     58.5625     250.0     0.0
+ASCN       II       -7.9327    -14.3601     173.0   100.0
+BFO        II       48.3319      8.3311     589.0     0.0
+BORG       II       64.7474    -21.3268     110.0    95.0
+BRVK       II       53.0581     70.2828     330.0    15.0
+CMLA       II       37.7637    -25.5243     429.0     7.0
+COCO       II      -12.1901     96.8349       1.0    70.0
+DGAR       II       -7.4121     72.4525       1.0     2.0
+EFI        II      -51.6753    -58.0637     110.0    80.0
+ERM        II       42.0150    143.1572      40.0     0.0
+ESK        II       55.3167     -3.2050     242.0     0.0
+FFC        II       54.7250   -101.9783     338.0     0.0
+GAR        II       39.0000     70.3167    1300.0     0.0
+HOPE       II      -54.2836    -36.4879      20.0     0.0
+JTS        II       10.2908    -84.9525     340.0     0.0
+KAPI       II       -5.0142    119.7517     300.0   100.0
+KDAK       II       57.7828   -152.5835     152.0     5.5
+KIV        II       43.9562     42.6888    1210.0     0.0
+KURK       II       50.7154     78.6202     184.0    25.0
+KWAJ       II        8.8019    167.6130       0.0     0.0
+LVZ        II       67.8979     34.6514     630.0   200.0
+MBAR       II       -0.6019     30.7382    1390.0   100.0
+MSEY       II       -4.6737     55.4792     475.0    91.0
+MSVF       II      -17.7448    178.0528     801.1   100.0
+NIL        II       33.6506     73.2686     629.0    68.0
+NNA        II      -11.9875    -76.8422     575.0    40.0
+NRIL       II       69.5049     88.4414      92.0   506.0
+NVS        II       54.8404     83.2346     150.0     0.0
+OBN        II       55.1146     36.5674     160.0    30.0
+PALK       II        7.2728     80.7022     460.0    90.0
+RAYN       II       23.5225     45.5032     631.0     2.0
+RPN        II      -27.1267   -109.3344     110.0     0.0
+SACV       II       14.9702    -23.6085     387.0    97.0
+SHEL       II      -15.9588     -5.7457     537.0    60.0
+SUR        II      -32.3797     20.8117    1770.0     0.0
+TAU        II      -42.9099    147.3204     132.0     0.0
+TLY        II       51.6807    103.6438     579.0    20.0
+UOSS       II       24.9453     56.2042     284.4     0.0
+WRAB       II      -19.9336    134.3600     366.0   100.0
+XPFO       II       33.6107   -116.4555    1280.0     0.0
+AAE        IU        9.0292     38.7656    2442.0     0.0
+ADK        IU       51.8823   -176.6842     130.0     0.0
+AFI        IU      -13.9093   -171.7773     705.0     1.0
+ANMO       IU       34.9459   -106.4572    1720.0   100.0
+ANTO       IU       39.8680     32.7934     895.0   195.0
+BBSR       IU       32.3713    -64.6963      -1.3    31.4
+BILL       IU       68.0653    166.4531     320.0     0.0
+BOCO       IU        4.5869    -74.0432    3137.0    23.0
+CASY       IU      -66.2792    110.5354       5.0     5.0
+CCM        IU       38.0557    -91.2446     171.0    51.0
+CHTO       IU       18.8141     98.9443     420.0     0.0
+COLA       IU       64.8736   -147.8616     200.0     0.0
+COR        IU       44.5855   -123.3046     110.0     0.0
+CTAO       IU      -20.0882    146.2545     320.0    37.0
+DAV        IU        7.0697    125.5791     149.0     1.0
+DWPF       IU       28.1103    -81.4327    -132.0   162.0
+FUNA       IU       -8.5259    179.1966      19.0     1.0
+FURI       IU        8.8952     38.6798    2565.0     5.0
+GNI        IU       40.1480     44.7410    1509.0   100.0
+GRFO       IU       49.6909     11.2203     384.0   116.0
+GUMO       IU       13.5893    144.8684      61.0   109.0
+HKT        IU       29.9618    -95.8384    -413.0   450.0
+HNR        IU       -9.4387    159.9475       0.0   100.0
+HRV        IU       42.5064    -71.5583     200.0     0.0
+INCN       IU       37.4776    126.6239      79.0     1.0
+JOHN       IU       16.7329   -169.5292     -37.0    39.0
+KBS        IU       78.9154     11.9385      90.0     3.0
+KEV        IU       69.7565     27.0035      85.0    15.0
+KIEV       IU       50.7012     29.2242     140.0    40.0
+KIP        IU       21.4233   -158.0150      37.0    33.0
+KMBO       IU       -1.1271     37.2525    1930.0    20.0
+KNTN       IU       -2.7744   -171.7186      18.0     2.0
+KONO       IU       59.6491      9.5982     216.0   340.0
+KOWA       IU       14.4967     -4.0140     316.0     5.0
+LCO        IU      -29.0110    -70.7004    2300.0     0.0
+LSZ        IU      -15.2779     28.1882    1200.0     0.0
+LVC        IU      -22.6127    -68.9111    2930.0    30.0
+MA2        IU       59.5756    150.7700     337.0     2.0
+MAJO       IU       36.5457    138.2041     405.0     0.0
+MAKZ       IU       46.8080     81.9770     590.0    10.0
+MBWA       IU      -21.1590    119.7313     181.0     9.0
+MIDW       IU       28.2155   -177.3697      17.8     1.0
+MSKU       IU       -1.6557     13.6116     287.0    25.0
+NAI        IU       -1.2739     36.8037    1692.0     0.0
+NWAO       IU      -32.9277    117.2390     370.9     9.1
+OTAV       IU        0.2376    -78.4508    3495.0    15.0
+PAB        IU       39.5446     -4.3499     950.0     0.0
+PAYG       IU       -0.6742    -90.2861     170.0   100.0
+PET        IU       53.0233    158.6499     105.0     5.0
+PMG        IU       -9.4047    147.1597      90.0     0.0
+PMSA       IU      -64.7744    -64.0489      40.0     0.0
+POHA       IU       19.7573   -155.5326    1910.0    80.0
+PTCN       IU      -25.0713   -130.0953     218.0     2.0
+PTGA       IU       -0.7308    -59.9666     141.0    96.0
+QSPA       IU      -89.9289    144.4382    2847.0     3.0
+RAIO       IU       46.0403   -122.8851      11.0     0.0
+RAO        IU      -29.2450   -177.9290      59.5     0.5
+RAR        IU      -21.2125   -159.7733     -72.0   100.0
+RCBR       IU       -5.8274    -35.9014     291.0   109.0
+RSSD       IU       44.1212   -104.0359    2022.7    67.3
+SAML       IU       -8.9489    -63.1831     120.0     0.0
+SBA        IU      -77.8492    166.7572      48.0     2.0
+SDV        IU        8.8839    -70.6340    1588.0    32.0
+SFJD       IU       66.9961    -50.6208     329.0     1.0
+SJG        IU       18.1091    -66.1500     420.0     0.0
+SLBS       IU       23.6858   -109.9443     825.0     0.0
+SNZO       IU      -41.3087    174.7043      20.0   100.0
+SSPA       IU       40.6358    -77.8876     170.0   100.0
+TARA       IU        1.3549    172.9229      19.0     1.0
+TATO       IU       24.9735    121.4971      77.1    82.9
+TBT        IU       28.6794    -17.9145     180.0    40.0
+TEIG       IU       20.2263    -88.2763      15.0    25.0
+TIXI       IU       71.6341    128.8667      40.0     0.0
+TOL        IU       39.8814     -4.0485     480.0     0.0
+TRIS       IU      -37.0681    -12.3152      58.0     2.0
+TRQA       IU      -38.0568    -61.9787     439.0   101.0
+TSUM       IU      -19.2022     17.5838    1260.0     0.0
+TUC        IU       32.3098   -110.7847     909.0     1.0
+ULN        IU       47.8651    107.0532    1610.0     0.0
+WAKE       IU       19.2834    166.6520      19.0     1.0
+WCI        IU       38.2289    -86.2939      78.0   132.0
+WVT        IU       36.1297    -87.8300     170.0     0.0
+XMAS       IU        2.0448   -157.4457      19.0     1.0
+YAK        IU       62.0310    129.6805     110.0    14.0
+YSS        IU       46.9587    142.7604     148.0     2.0

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/SeismiQuery/dhi2mseed.py
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/SeismiQuery/dhi2mseed.py	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/SeismiQuery/dhi2mseed.py	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,98 @@
+#!/usr/bin/python
+
+# requesting data for events and convert them to sac format
+# written by Qinya Liu, Nov 2009, for global shakemovie website
+
+import os, sys, glob, getopt, datetime
+
+usage='\nUsage: dhi2mseed.py -m CMT -d duration (min) [-j DHI2mseed.jar_file -p iris.txt -s station_file -o out_datadir]\n'
+
+try:
+  opts,arg=getopt.getopt(sys.argv[1:],'j:m:d:p:s:o:')
+except getopt.GetoptError:
+  sys.exit(usage)
+if (len(opts) == 0):
+  sys.exit(usage)
+
+# dir where _GSN.dataless or II/IU.dataless is placed
+dataless_dir='/data2/Datalib/stations/'
+jar_file='/data2/Datalib/iris_request/DHI2mseed.jar'
+iris_file='/data2/Datalib/iris_request/iris.txt'
+sta_file='/data2/Datalib/stations/STATIONS_LH_II_IU'
+out_dir='data'
+
+for o,a in opts:
+  if o == '-j':
+    jar_file=a
+  if o == '-m':
+    cmt_file=a
+  if o == '-d':
+    dur=float(a)
+  if o == '-p':
+    iris_file=a
+  if o == '-s':
+    sta_file=a
+  if o == '-o':
+    out_dir=a
+
+if (not os.path.isfile(jar_file)):
+  sys.exit(jar_file+' does not exist')
+if (not os.path.isfile(cmt_file)):
+  sys.exit(cmt_file+' does not exist')
+if (not os.path.isfile(iris_file)):
+  sys.exit(iris_file+' does not exist')
+if (not os.path.isfile(sta_file)):
+  sys.exit(sta_file+' does not exist')
+if (not os.path.isdir(out_dir)):
+  os.mkdir(out_dir)
+
+# write station request file
+f=open(out_dir+'/scnl.list','w')
+lines = file(sta_file, 'r').readlines()
+for i in range(0,len(lines)):
+  sp = lines[i].split()
+#  print "%s LH* %s *" % (sp[0], sp[1])
+  f.write("%s LH* %s *\n" % (sp[0], sp[1]))
+f.close()
+
+# calculate request start time
+[year,mon,day,hr,min,sec]=os.popen("awk 'NR == 1 {print $0}' "+cmt_file).readline().split()[1:7]
+
+starttime=(datetime.datetime(int(year), int(mon), int(day), int(hr), int(min), int(float(sec)))+datetime.timedelta(minutes=-3)).isoformat(' ')
+
+command='java -jar '+jar_file+' -starttime "'+starttime+'" -duration '+str(dur)+' -p '+iris_file+' -f '+out_dir+'/scnl.list -o '+out_dir
+
+print '\n**** requesting data from IRIS ***'
+print command+'\n'
+if (os.system(command+' |grep writingi 1>&2') != 0):
+  sys.exit('Error requesting data')
+
+print '\n**** convert miniSEED files to sac files ****'
+if (not os.path.isdir(dataless_dir)):
+  sys.exit(dataless_dir+' does not exist')
+
+# use different dataless seed file for files from different networks
+net_input={};
+for file in glob.glob(out_dir+'/*.mseed'):
+  bfile=os.path.basename(file)
+  net=bfile.split('.')[2]
+  if (net in net_input.keys()):
+    net_input[net]=net_input[net]+bfile+'\n\n\nd\n\n\n\n\n\n\n\n\n3\n\n\n\n\n\n'
+  else:
+    net_input[net]=bfile+'\n\n\nd\n\n\n\n\n\n\n\n\n3\n\n\n\n\n\n'
+
+for net,ni in net_input.iteritems():
+  dataless_file=dataless_dir+'/'+net+'.dataless'
+#  dataless_file=dataless_dir+'/_GSN.dataless'
+  if (not os.path.isfile(dataless_file)):
+    print dataless_file+' does not exist'; exit()
+  print 'Using dataless file ' + dataless_file+' for network '+ net
+
+  os.environ['ALT_RESPONSE_FILE']=dataless_file
+
+#  print 'cd '+out_dir+'; rdseed <<EOF\n'+ni+'Quit\nEOF\n' # debug
+  if (os.system('cd '+out_dir+'; rdseed <<EOF 2> /dev/null | grep Writing 1>&2 \n'+ni+'Quit\nEOF\n') != 0):
+    sys.exit('Error converting miniseed to sac for '+net)
+
+# move original mseed files to a sub-directory
+os.system('rm -f scnl.list; cd '+out_dir+'; mkdir -p mseed_files; mv *.mseed mseed_files/')


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/SeismiQuery/dhi2mseed.py
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/SeismiQuery/find_sta.py
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/SeismiQuery/find_sta.py	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/SeismiQuery/find_sta.py	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,11 @@
+#!/usr/bin/python
+# this script converts the output downloaded from IRIS SeismicQuery to
+# a proper STATIONS file  - Qinya Liu
+import os
+lines=file("lh2.txt",'r').readlines()
+for i in range(0,len(lines)):
+  sp = lines[i].split()
+  str = "egrep '%s .*%s' lh.txt " % (sp[0],sp[1])
+  sp2 = os.popen(str).read().split()
+  print "%-10s %-5s %10.4f  %10.4f  %8.1f  %6.1f" % (sp2[1],sp2[0],float(sp2[7]),float(sp2[8]),float(sp2[9]),float(sp2[10]))
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/SeismiQuery/find_sta.py
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/SeismiQuery/iris.txt
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/SeismiQuery/iris.txt	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/SeismiQuery/iris.txt	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,5 @@
+NameService=corbaloc:iiop:dmc.iris.washington.edu:6371/NameService
+NetworkDNS=edu/iris/dmc
+NetworkDC=IRIS_NetworkDC
+SeismogramDNS=edu/iris/dmc
+SeismogramDC=IRIS_DataCenter

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/SeismiQuery/readme_STATIONS_LH
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/SeismiQuery/readme_STATIONS_LH	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/SeismiQuery/readme_STATIONS_LH	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,37 @@
+# the stations file needs to be updated at least once six months:
+# and here is how **** 
+#
+# first download all LH station info from
+# http://www.iris.edu/SeismiQuery/channel.htm
+# check on network, station, channel (LH_), start time(1000/1/1), end time, 
+# elevation, depth, latitude and longitude (up right corner above the map).
+# and ask it to be delivered to your email address.
+#
+# Get rid of the headers and save it as a text file: lh.txt
+# lh.txt -> lh2.txt
+# count the line where all temporary networks starts: ^X
+sort -k 1 lh.txt | awk 'NR <= 20969 {print $0}' | awk '{print $1,$2}' | uniq> lh2.txt
+
+# then use python script
+find_sta.py > STATIONS_LH
+
+# delete repeating lines
+awk '{print $1,$2}' STATIONS_LH | sort -k 1 > t1.txt
+uniq t1.txt > t2.txt
+diff t1.txt t2.txt
+# and hand-delete repeating lines (I'll script it in the future)
+
+# find II/IU stations only
+awk '$2=="II" || $2=="IU" {print $0}' STATIONS_LH > STATIONS_LH_II_IU 
+
+# to get corresponding station naming information
+# http://www.iris.edu/SeismiQuery/station.htm
+# use the following permanent networks:
+# AD AF AZ BE BK CI CN CU DK G GD G GD GE G GE G GT G HT HW IC II IM IU KN LB LD L I MN MS MY NM NN NR NZ OE OV PB PI PM PS SF TA TS TW US UW
+# and select network station, lat,lon
+# Delete the headers (grep -v NETWORK) from the output and save as a text file station_info.txt
+# select the lines corresponding to our lh stations by sta_info.py --> stations_info_lh.txt
+#
+#
+# at the end of all operations, cp STATIONS_II_IU to DATA/STATIONS and STATIONS_LH to STATIONS_LH_TIMESTAMP
+# Qinya Liu, Oct 16, 2009

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/SeismiQuery/sta_info.py
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/SeismiQuery/sta_info.py	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/SeismiQuery/sta_info.py	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,17 @@
+#!/usr/bin/python
+# this script finds the corresponding name info for STATIONS_LH from downloaded
+# IRIS station info file
+# - Qinya Liu
+import os
+t=" "
+lines=file("lh2.txt",'r').readlines()
+for i in range(0,len(lines)):
+  sp = lines[i].split()
+  str = "egrep '^%s .*%s ' stations_info.txt " % (sp[0],sp[1])
+  error=os.system(str+">/dev/null")
+  if (error != 0):
+    print "error ====" + t.join(sp)
+  else:
+    sp2=os.popen(str + " | awk 'NR == 1 {print $0}'").read().split()
+    print "%-8s %-5s %9.4f  %9.4f  %-40s" % (sp2[1],sp2[0],float(sp2[2]),float(sp2[3]),t.join(sp2[4:]))
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/SeismiQuery/sta_info.py
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/SeismiQuery/stations_lh_info.txt
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/SeismiQuery/stations_lh_info.txt	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/SeismiQuery/stations_lh_info.txt	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,1787 @@
+DLV      AD      11.9520   108.4815  Dalat Central Vietnam                   
+SIM      AD      20.1332    92.8852  Sittwe Myanmar                          
+SLV      AD      21.3338   103.9050  Son La Vietnam                          
+SZP      AD      17.5520   120.4550  Santa Ilocos Sur                        
+CNG      AF     -26.2917    32.1883  Changalane, Mozambique                  
+CVNA     AF     -31.4821    19.7617  Calvinia, South Africa                  
+GRM      AF     -33.3133    26.5733  Grahamstown, South Africa               
+GSN      AF     -22.5667    17.1000  Windhoek, Namibia                       
+HVD      AF     -30.6050    25.4967  Gariep Dam, South Africa                
+KIG      AF      -1.9634    30.0633  Kigali, Rwanda                          
+MOPA     AF     -23.5173    31.3977  Mopani, South Africa                    
+PKA      AF     -29.6700    22.7570  Prieska, South Africa                   
+POGA     AF     -27.3460    31.7070  Pongola, South Africa                   
+SEK      AF     -28.3233    27.6250  Senekal, South Africa                   
+SWZ      AF     -27.1817    25.3250  Schweizer Reneke, South Africa          
+UPI      AF     -28.3619    21.2527  Upington, South Africa                  
+WIN      AF     -22.5667    17.1000  Windhoek, Namibia (formerly called GSN) 
+BVA2     AZ      33.3265  -116.3655  Borrego Valley (UCSB) 2, San Diego, CA, USA
+BVDA2    AZ      33.3265  -116.3655  Borrego Valley (UCSB) 2, San Diego, CA, USA
+BZN      AZ      33.4915  -116.6670  Buzz Northern's Place, Terwilliger, CA, USA
+CPE      AZ      32.8889  -117.1051  Camp Elliot, Miramar, CA, USA           
+CRON     AZ      33.6118  -116.4597  Test site, Pinon Flat, CA, USA          
+CRY      AZ      33.5654  -116.7373  Cary Ranch, Anza, CA, USA               
+FLV2     AZ      32.9114  -117.0619  Frank Vernon's Place 2, San Diego, CA, USA
+FRD      AZ      33.4947  -116.6022  Ford Ranch, Terwillger, CA, USA         
+FSE      AZ      33.0057  -116.5926  Frieder Seibol's Place, San Diego, CA, USA
+GLA      AZ      33.0512  -114.8270  Glamis, CA, USA                         
+HWB      AZ      33.0262  -116.9596  Hans Werver Braun's Place, San Diego, CA, USA
+JOHN     AZ      33.6118  -116.4597  Test site, Pinon Flat, CA, USA          
+JOSE     AZ      33.6118  -116.4597  Test site, Pinon Flat, CA, USA          
+KNW      AZ      33.7141  -116.7119  Keenwild Fire Station, Mountain Center, CA, USA
+LVA2     AZ      33.3516  -116.5615  Lost Valley Boy Scout Camp, San Diego Co., CA, USA
+MONP2    AZ      32.8920  -116.4223  Monument Peak TA Vault, Anza, CA, USA   
+MONP     AZ      32.8927  -116.4225  Monument Peak, CA, USA                  
+PFO      AZ      33.6117  -116.4594  Pinon Flats Observatory, CA, USA        
+RDM      AZ      33.6300  -116.8478  Red Mountain, Riverside Co., CA, USA    
+SCV1     AZ      33.6118  -116.4597  Super Conducting Vault #1 Test site, Pinon Flat, CA, USA
+SCV2     AZ      33.6118  -116.4597  Super Conducting Vault #2 Test site, Pinon Flat, CA, USA
+SMER2    AZ      33.4577  -117.1708  Santa Margarita Ecological Reserve 2, San Diego, CA, USA
+SMER     AZ      33.4577  -117.1708  Santa Margarita Ecological Reserve, San Diego, CA, USA
+SMTC     AZ      32.9449  -115.7999  Superstition Mountain, CA, USA          
+SND      AZ      33.5519  -116.6129  Jim Saunders Place, Anza, CA, USA       
+SOL      AZ      32.8410  -117.2480  MPL Laboratory, Mt. Soledad, La Jolla, CA, USA
+ST2C     AZ      33.6118  -116.4597  Test STS2, Pinon Flat, CA, USA          
+STS2     AZ      33.6118  -116.4597  Test STS2, Pinon Flat, CA, USA          
+TRIL     AZ      33.6118  -116.4597  Test TRIL, Pinon Flat, CA, USA          
+TRO      AZ      33.5234  -116.4257  Toro Peak, Riverside Co., CA, USA       
+WMC      AZ      33.5736  -116.6747  Walmic Ranch, Anza, CA, USA             
+YAQ      AZ      33.1666  -116.3539  Yaqui Meadows, CA, USA                  
+MEM      BE      50.6092     6.0067  Membach, Belgium                        
+ARC      BK      40.8777  -124.0774  Humboldt State University, Arcata, CA, USA
+BDM      BK      37.9540  -121.8655  Black Diamond Mines Park, Antioch, CA, USA
+BKS      BK      37.8762  -122.2356  Byerly Seismographic Vault, Berkeley, CA, USA
+BRIB     BK      37.9189  -122.1518  Briones Reserve, Orinda, CA, USA        
+BRK      BK      37.8735  -122.2610  Haviland Hall, Berkeley, CA, USA        
+CMB      BK      38.0346  -120.3865  Columbia College, Columbia, CA, USA     
+CVS      BK      38.3453  -122.4584  Carmenet Vineyards, Sonoma, CA, USA     
+ELFS     BK      40.6183  -120.7279  Eagle Lake Biol. Field Stn., Susanville, CA, USA
+FARB     BK      37.6978  -123.0011  Farallon Islands, CA, USA               
+GASB     BK      39.6547  -122.7160  Alder Springs, CA, USA                  
+HAST     BK      36.3887  -121.5514  UC Hastings Preserve, Carmel Valley, CA, USA
+HATC     BK      40.8161  -121.4612  Hat Creek Radio Astronomy Obs., Cassel, CA, USA
+HELL     BK      36.6801  -119.0228  Rademacher Property, Miramonte, CA, USA 
+HOPS     BK      38.9935  -123.0723  Hopland Field Station, Hopland, CA, USA 
+HUMO     BK      42.6071  -122.9567  Hull Mountain, OR, USA                  
+JAS1     BK      37.9266  -120.4210  Jamestown, CA, USA                      
+JAS      BK      37.9466  -120.4393  Jamestown, CA, USA                      
+JCC      BK      40.8175  -124.0296  Jacoby Creek, Bayside, CA, USA          
+JRSC     BK      37.4037  -122.2387  Jasper Ridge Biol. Preserve, Stanford, CA, USA
+KCC      BK      37.3236  -119.3187  Kaiser Creek, CA, USA                   
+MCCM     BK      38.1448  -122.8802  Marconi Conference Center, Marshall, CA, USA
+MHC      BK      37.3416  -121.6426  Lick Observatory, Mt. Hamiliton, CA, USA
+MIN      BK      40.3460  -121.6066  Mt. Lassen Park Hdqts, Mineral, CA, USA 
+MNRC     BK      38.8787  -122.4428  McLaughlin Mine, CA, USA                
+MOD      BK      41.9025  -120.3029  Modoc Plateau, CA, USA                  
+ORV      BK      39.5545  -121.5004  Oroville Dam, Oroville, CA, USA         
+PACP     BK      37.0080  -121.2870  Pacheco Peak, CA, USA                   
+PKD1     BK      35.8894  -120.4261  Haliburton House, Parkfield, CA, USA    
+PKD      BK      35.9452  -120.5416  Bear Valley Ranch, Parkfield, CA, USA   
+POTR     BK      38.2026  -121.9353  Potrero Hills, Fairfield, CA, USA       
+RAMR     BK      35.6360  -120.8698  Ramage Ranch, Paso Robles, CA, USA      
+SAO      BK      36.7640  -121.4472  San Andreas Geophysical Obs., Hollister, CA, USA
+STAN     BK      37.4039  -122.1751  Stanford, CA, USA                       
+SUTB     BK      39.2291  -121.7861  Sutter Buttes, CA, USA                  
+WDC      BK      40.5799  -122.5411  Whiskeytown Dam, Whiskeytown, CA, USA   
+WENL     BK      37.6221  -121.7570  Wente Vineyards, Livermore, CA, USA     
+YBH      BK      41.7320  -122.7104  Yreka Blue Horn Mine, Yreka, CA, USA    
+ADO      CI      34.5505  -117.4339  Adelanto Receiving Station, Adelanto, CA, USA
+AGA      CI      33.6384  -116.4011  Agave Hill, Palm Desert, CA, USA        
+ALP      CI      34.6871  -118.2995  Antelope, Lake Hughes, CA, USA          
+ARV      CI      35.1269  -118.8301  Arvin, Arvin, CA, USA                   
+BAK      CI      35.3444  -119.1044  Calstate Bakersfield, Bakersfield, CA, USA
+BAR      CI      32.6801  -116.6722  Barrett, Jamul, CA, USA                 
+BBR      CI      34.2623  -116.9207  Big Bear Solar Observatory, Big Bear Lake, CA, USA
+BBS      CI      33.9214  -116.9806  Beaumont Base, Beaumont, CA, USA        
+BC3      CI      33.6551  -115.4537  Big Chuckawalla Mtns, Desert Center, CA, USA
+BCC      CI      33.5751  -117.2612  Bear Creek Country Club, Murrieta, CA, USA
+BCW      CI      34.9401  -119.4131  Bitter Creek Wildlife, Maricopa, CA, USA
+BEL      CI      34.0006  -115.9982  Belle Mountain Joshua Tree, Twentynine Palms, CA, USA
+BFS      CI      34.2388  -117.6585  Mt. Baldy Ranger Station, Mount Baldy, CA, USA
+BHP      CI      33.9905  -118.3617  Baldwin Hills Oil, Los Angeles, CA, USA 
+BKR      CI      35.2693  -116.0703  Baker, Baker, CA, USA                   
+BLA2     CI      34.0693  -116.3899  Black Rock Canyon Campground 2, Yucca Valley, CA, USA
+BLA      CI      34.0695  -116.3890  Blackrock Canyon Campground, Yucca Valley, CA, USA
+BLY      CI      33.7503  -114.5238  Blythe, Blythe, CA, USA                 
+BOM      CI      33.3646  -115.7296  Bombay Beach, Bombay Beach, CA, USA     
+BOR      CI      33.2682  -116.4172  Borrego Springs, Borrego Springs, CA, USA
+BRE      CI      33.8078  -117.9812  Barre Substation, Stanton, CA, USA      
+BTC      CI      33.0121  -115.2199  Brunts Corner, Glamis, CA, USA          
+BTP      CI      34.6822  -118.5740  Burnt Peak, Lake Hughes, CA, USA        
+CAP      CI      33.3882  -117.1950  Capra Ranch, Fallbrook, CA, USA         
+CAR      CI      35.3082  -119.8458  Carrizo Plain, Carrizo Plain, CA, USA   
+CCC      CI      35.5249  -117.3645  Christmas Canyon China Lake, Trona, CA, USA
+CGO      CI      36.5504  -117.8029  Cerro Gordo, Keeler, CA, USA            
+CHF      CI      34.3334  -118.0259  Chilao Flat Rngr Sta, Altadena, CA, USA 
+CHN      CI      33.9988  -117.6804  Chino, Chino, CA, USA                   
+CIA      CI      33.4019  -118.4150  Catalina Island Airport, Avalon, CA, USA
+CIU      CI      33.4458  -118.4830  Catalina Island, Avalon, CA, USA        
+CLC      CI      35.8157  -117.5975  China Lake, Trona, CA, USA              
+CLT      CI      34.0928  -117.3169  Calectric, Colton, CA, USA              
+CPP      CI      34.0602  -117.8090  Cal Poly Pomona, Pomona, CA, USA        
+CRP      CI      34.1362  -118.1270  Caltech Robinson Pit, Pasadena, CA, USA 
+CTC      CI      33.6552  -115.9901  Cactus City, Mecca, CA, USA             
+CWC      CI      36.4399  -118.0802  Cottonwood Creek, Lone Pine, CA, USA    
+DAN      CI      34.6375  -115.3812  Danby, Needles, CA, USA                 
+DEC      CI      34.2535  -118.3338  Green Verdugo Microwave Site, Sunland, CA, USA
+DEV      CI      33.9360  -116.5779  Devers, Desert Hot Springs, CA, USA     
+DGR      CI      33.6500  -117.0095  Domenigoni Reservoir, Winchester, CA, USA
+DJJ      CI      34.1062  -118.4550  Donna Jones Jenkins, Sherman Oaks, CA, USA
+DLA      CI      33.8482  -118.0962  Del Amo, Artesia, CA, USA               
+DNR      CI      33.5667  -116.6306  Dunn Ranch, Anza, CA, USA               
+DPP      CI      32.9986  -116.9415  Dos Picos County Park, Ramona, CA, USA  
+DRC      CI      32.8054  -115.4465  Desert Research Center, Holtville, CA, USA
+DRE      CI      32.8053  -115.4468  Desert Research Extended Center, Holtville, CA, USA
+DSC      CI      35.1425  -116.1039  Desert Studies Center, Baker, CA, USA   
+DVT      CI      32.6591  -116.1006  Desert View Tower, Jacumba, CA, USA     
+EDW2     CI      34.8811  -117.9939  Edwards Air Force Base 2, Rosamond, CA, USA
+EDW      CI      34.8830  -117.9911  Edwards Air Force Base, Rosamond, CA, USA
+EML      CI      32.8908  -116.8457  El Monte County Park, EL Cajon, CA, USA 
+ERR      CI      33.1168  -115.8227  Elmore'S Ranch, Westmorland, CA, USA    
+FIG      CI      34.7283  -119.9880  Figueroa Mountain, Los Olivos, CA, USA  
+FMP      CI      33.7126  -118.2938  Fort Macarthur Park, San Pedro, CA, USA 
+FPC      CI      35.0820  -117.5827  Federal Prison Camp, Boron, CA, USA     
+FUR      CI      36.4670  -116.8632  Furnace Creek, Death Valley, CA, USA    
+GATR     CI      34.5527  -120.5024  Ground to Air Transmit and Receive Compound, Lompoc, CA, USA
+GLA      CI      33.0515  -114.8271  Glamis, Glamis, CA, USA                 
+GMR      CI      34.7846  -115.6599  Granite Mountains Research Center, Essex, CA, USA
+GOR      CI      33.1537  -117.2292  Green Oak Ranch, Vista, CA, USA         
+GPO      CI      35.6494  -117.6619  Geothermal Program Office, California, USA
+GR2      CI      34.1182  -118.3002  Griffith Observatory, Los Angeles, CA, USA
+GRA      CI      36.9961  -117.3662  Grapevine Ranger Station, Death Valley, CA, USA
+GSC      CI      35.3018  -116.8057  Goldstone, Barstow, CA, USA             
+HEC      CI      34.8294  -116.3350  Hector, Ludlow, CA, USA                 
+HLL      CI      34.1764  -118.3597  North Hollywood, Burbank, CA, USA       
+IRM      CI      34.1574  -115.1451  Iron Mountain Pumping Station, Desert Center, CA, USA
+ISA      CI      35.6628  -118.4740  Isabella, Lake Isabella, CA, USA        
+JCS      CI      33.0859  -116.5959  Julian Camp Stevens, Julian, CA, USA    
+JEM      CI      33.0810  -116.5975  Julian Eagle Mine, Julian, CA, USA      
+JRC2     CI      35.9825  -117.8089  Joshua Ridge: China Lake, Little Lake, CA, USA
+JRC      CI      35.9823  -117.8076  Joshua Ridge, Little Lake, CA, USA      
+JVA      CI      34.3662  -116.6127  Johnson Valley, Johnson Valley, CA, USA 
+LAF      CI      33.8689  -118.3314  La Fresa, Gardena, CA, USA              
+LCG      CI      34.0003  -118.3779  La Cienega, Culver City, CA, USA        
+LCP      CI      34.7355  -120.2800  Los Alamos County Park, Los Alamos, CA, USA
+LDF      CI      35.1307  -115.1842  Lanfair, Essex, CA, USA                 
+LDR      CI      34.9906  -118.3416  Leduc Ranch, Tehachapi, CA, USA         
+LFP      CI      34.3053  -118.4881  Los Angeles Filtration Plant, San Fernando, CA, USA
+LGB      CI      33.9753  -118.1492  Laguna Bell, Bell Gardens, CA, USA      
+LGU      CI      34.1082  -119.0659  Laguna Peak, Port Hueneme, CA, USA      
+LJR      CI      34.8076  -118.8678  Lone Juniper Ranch, Gorman, CA, USA     
+LKL      CI      34.6159  -117.8249  Lake Los Angeles, Pearblossom, CA, USA  
+LLS      CI      33.6845  -117.9430  Ellis, Fountain Valley, CA, USA         
+LMR2     CI      34.9344  -117.6963  Leuhmann Ridge Extension, Boron, CA, USA
+LMR      CI      34.9343  -117.6966  Leuhmann Ridge, Boron, CA, USA          
+LPC      CI      34.3148  -117.5464  Lone Pine Canyon, Lytle Creek, CA, USA  
+LRL      CI      35.4795  -117.6821  Laurel Mtn Radio Fac, Ridgecrest, CA, USA
+LTP      CI      33.8811  -118.1757  Lighthipe, Paramount, CA, USA           
+LUG      CI      34.3656  -117.3668  Lugo, Hesperia, CA, USA                 
+MCT      CI      34.2264  -116.0407  Marine Combat Center 29palms, Twentynine Palms, CA, USA
+MGE      CI      33.8184  -116.3687  Mirage, Thousand Palms, CA, USA         
+MLAC     CI      37.6302  -118.8361  Mammoth, Mammoth Lakes, CA, USA         
+MLS      CI      34.0046  -117.5616  Mira Loma Substation, Mira Loma, CA, USA
+MOP      CI      34.2809  -118.9049  Moorpark, Moorpark, CA, USA             
+MPI      CI      34.8126  -119.1453  Mount Pinos, Frazier Park, CA, USA      
+MPM      CI      36.0580  -117.4890  Manuel Prospect Mine, Trona, CA, USA    
+MPP      CI      34.8885  -119.8136  Mcpherson Peak, Los Olivos, CA, USA     
+MSC      CI      34.0385  -116.6479  Mission Creek, Morongo Valley, CA, USA  
+MSJ      CI      33.8080  -116.9679  Mt. San Jacinto Campus, San Jacinto, CA, USA
+MTL      CI      34.2688  -118.2374  Mount Lukens, California, USA           
+MTP      CI      35.4843  -115.5532  Mountain Pass, Nipton, CA, USA          
+MUR      CI      33.6000  -117.1954  Murrieta, Murrieta, CA, USA             
+MWC      CI      34.2236  -118.0583  Mount Wilson Obsv, Altadena, CA, USA    
+NBS      CI      34.7803  -116.5580  Newberry Springs, Newberry Springs, CA, USA
+NEE2     CI      34.7676  -114.6188  Needles Airport, Needles, CA, USA       
+NEE      CI      34.8249  -114.5994  Needles, Needles, CA, USA               
+NJQ      CI      34.5341  -120.1774  Nojoqui County Park, Las Cruces, CA, USA
+NSS2     CI      33.5555  -115.9459  North Shore Salton Sea 2, North Shore, CA, USA
+NSS      CI      33.5561  -115.9465  North Shore Salton Sea, Mecca, CA, USA  
+OLI      CI      33.9454  -117.9237  Olinda, La Habra, CA, USA               
+OLP      CI      32.6078  -116.9304  Otay Lakes Park, Chula Vista, CA, USA   
+OSI      CI      34.6145  -118.7235  Osito Audit: Castaic Lake Dam, Castaic, CA, USA
+PASA     CI      34.1484  -118.1711  Pasadena, Pasadena, CA, USA             
+PASC     CI      34.1714  -118.1852  Pasadena Art Center, College of Design, Pasadena, CA, USA
+PAS      CI      34.1484  -118.1712  Pasadena, Pasadena, CA, USA             
+PDE      CI      34.4420  -118.5821  Pardee, Santa Clarita, CA, USA          
+PDM      CI      34.3034  -114.1415  Parker Dam, Lake Havasu City, AZ, USA   
+PDR      CI      33.9627  -118.4370  Playa Del Rey, El Segundo, CA, USA      
+PDU      CI      34.1207  -117.6381  Padua, Upland, CA, USA                  
+PER      CI      33.8616  -117.2053  Lake Perris, Moreno Valley, CA, USA     
+PFO      CI      33.6116  -116.4586  Pinyon Flats Observatory, , CA, USA     
+PHL      CI      35.4077  -120.5456  Park Hill, Santa Margarita, CA, USA     
+PLC      CI      33.8244  -116.5119  Palm Spgs City Hall, Palm Springs, CA, USA
+PLM      CI      33.3536  -116.8627  Palomar, Palomar Mountain, CA, USA      
+PLS      CI      33.7953  -117.6091  Pleasants Peak, Silverado, CA, USA      
+PMD      CI      33.6478  -116.3777  Palm Desert, Palm Desert, CA, USA       
+PSD      CI      33.8239  -116.5503  Palm Springs Desert Museum, Palm Springs, CA, USA
+PSR      CI      34.0918  -117.8071  Puddingstone Reservoir, San Dimas, CA, USA
+RCT      CI      36.3052  -119.2438  Rector, Farmersville, CA, USA           
+RIN      CI      34.2820  -118.4792  Rinaldi, San Fernando, CA, USA          
+RIO      CI      34.1047  -117.9796  Rio Hondo, Baldwin Park, CA, USA        
+RPV      CI      33.7435  -118.4041  Rancho Palos Verdes, Rancho Palos Verdes, CA, USA
+RRX      CI      34.8753  -116.9968  Edison Barstow Service Cntr 30553 Rimrock , Barstow, CA, USA
+RSS      CI      33.9733  -117.3267  Riverside Surface, Riverside, CA, USA   
+RUS      CI      34.0507  -118.0808  Rush, Rosemead, CA, USA                 
+RVR      CI      33.9935  -117.3755  Riverside, Riverside, CA, USA           
+RXH      CI      33.1831  -115.6226  Rock Hill, Niland, CA, USA              
+SAL      CI      33.2801  -115.9858  Salton City, Mecca, CA, USA             
+SBB2     CI      34.6885  -117.8245  Saddle Butte State Park, Pearblossom, CA, USA
+SBC      CI      34.4408  -119.7149  Santa Barbara, Santa Barbara, CA, USA   
+SBI      CI      33.4805  -119.0299  Santa Barbara Island, , CA, USA         
+SBPX     CI      34.2324  -117.2348  Strawberry Peak, Twin Peaks, CA, USA    
+SCI2     CI      32.9799  -118.5470  San Clemente Island 2, , CA, USA        
+SCI      CI      32.9799  -118.5470  San Clemente Island, , CA, USA          
+SCZ2     CI      33.9954  -119.6351  Santa Cruz Island 2, , CA, USA          
+SCZ      CI      33.9953  -119.6343  Santa Cruz Island, , CA, USA            
+SDD      CI      33.5526  -117.6617  Saddleback, Mission Viejo, CA, USA      
+SDG      CI      32.7840  -117.1381  San Diego Mission Control, San Diego, CA, USA
+SDP      CI      34.5655  -120.5014  Sudden Peak, Lompoc, CA, USA            
+SDR      CI      32.7356  -116.9424  San Diego Road Dept, El Cajon, CA, USA  
+SES      CI      34.4369  -119.1375  Summit Elementary School, Ojai, CA, USA 
+SHO      CI      35.8995  -116.2753  Shoshone, Tecopa, CA, USA               
+SLA      CI      35.8909  -117.2833  Slate Mountain, Trona, CA, USA          
+SLB      CI      33.4852  -115.8664  Salton Beach, North Shore, CA, USA      
+SLR      CI      33.8336  -116.7974  Skyland Ranch, Cabazon, CA, USA         
+SMB      CI      34.9022  -120.4471  Santa Maria Base, Santa Maria, CA, USA  
+SMM      CI      35.3142  -119.9958  Simmler, Simmler, CA, USA               
+SMR      CI      35.3770  -120.6125  Santa Margarita Ranch, Santa Margarita, CA, USA
+SMS      CI      34.0144  -118.4562  Santa Monica Fire St, Santa Monica, CA, USA
+SMW      CI      35.0111  -120.4100  Santa Maria Wineman, Nipomo, CA, USA    
+SNCC     CI      33.2479  -119.5244  San Nicolas Island, , CA, USA           
+SNO      CI      34.0352  -116.8078  Snow Peak, Banning, CA, USA             
+SOT      CI      34.4160  -118.4490  Solamint, Newhall, CA, USA              
+SPF      CI      34.0593  -118.6461  Saddle Peak Fire Camp 8, Malibu, CA, USA
+SPG2     CI      36.2006  -118.7662  Springville 2, Springville, CA, USA     
+SPG      CI      36.1355  -118.8110  Springville, Springville, CA, USA       
+SRN      CI      33.8285  -117.7894  Serrano, Villa Park, CA, USA            
+SSW      CI      33.1775  -115.6156  Salton Sea Wildlife, , ,                
+STC      CI      34.3030  -119.1868  Santa Clara, Ventura, CA, USA           
+STG      CI      33.6640  -117.7686  Santiago, Irvine, CA, USA               
+STS      CI      33.7903  -118.1988  State Street, Long Beach, CA, USA       
+SVD      CI      34.1065  -117.0982  Seven Oaks Dam, Redlands, CA, USA       
+SWS      CI      32.9408  -115.7958  Sam W. Stewart, Westmorland, CA, USA    
+SYP      CI      34.5277  -119.9783  Santa Ynez Peak, Santa Ynez, CA, USA    
+TA2      CI      34.3820  -117.6782  Table Mountain, Wrightwood, CA, USA     
+TEH      CI      35.2913  -118.4208  Cattani Ranch, Tehachapi, CA, USA       
+TFT      CI      35.1459  -119.4195  Taft Base, Taft, CA, USA                
+THM      CI      33.6507  -116.0773  Thermal Canyon, Thermal, CA, USA        
+THX      CI      33.6350  -116.1640  Thermal Airport, Thermal, CA, USA       
+TIN      CI      37.0542  -118.2301  Tinemaha, Big Pine, CA, USA             
+TOR      CI      33.5753  -116.2258  Toro Canyon, Thermal, CA, USA           
+TOV      CI      34.1561  -118.8204  Thousand Oaks Ventura, Thousand Oaks, CA, USA
+TUQ      CI      35.4358  -115.9239  Turquoise Mountain, Baker, CA, USA      
+USC      CI      34.0192  -118.2863  Univ Southern Ca, Los Angeles, CA, USA  
+VCS      CI      34.4836  -118.1178  Vincent Substation, Palmdale, CA, USA   
+VES      CI      35.8409  -119.0847  Vestal, Richgrove, CA, USA              
+VTV      CI      34.5607  -117.3296  Victorville, Victorville, CA, USA       
+WBS      CI      35.5366  -118.1403  Bird Spring, Onyx, CA, USA              
+WER      CI      35.0605  -119.0271  Wheeler Ridge, Wheeler Ridge, CA, USA   
+WES      CI      32.7590  -115.7316  Westside Elementary School, Seeley, CA, USA
+WGR      CI      34.5108  -119.2741  Wheeler Gorge Ranger Station, Wheeler Springs, CA, USA
+WLT      CI      34.0095  -117.9508  Walnut, La Puente, CA, USA              
+WSS      CI      34.1717  -118.6497  West Side Station, Calabasas, CA, USA   
+WTT      CI      33.9487  -118.2555  Watts, South Gate, CA, USA              
+WWC      CI      33.9407  -116.4088  West Wide Canyon, Desert Hot Springs, CA, USA
+BBB      CN      52.1847  -128.1133  Bella Bella, British Columbia, Canada   
+DRLN     CN      49.2560   -57.5042  Deer Lake, Newfoundland, Canada         
+FRB      CN      63.7467   -68.5467  Iqaluit (Frobisher), Nunavut Territory, Canada
+GAC      CN      45.7033   -75.4783  Glen Almond, Quebec, Canada             
+INK      CN      68.3067  -133.5200  Inuvik, Northwest Territories, Canada   
+LLLB     CN      50.6090  -121.8815  Lillooet, British Columbia, Canada      
+RES      CN      74.6870   -94.9000  Resolute, Nunavut Territory, Canada     
+SADO     CN      44.7694   -79.1417  Sadowa, Ontario, Canada                 
+SCHQ     CN      54.8319   -66.8336  Schefferville, Quebec, Canada           
+ULM      CN      50.2503   -95.8750  Lac Du Bonnet, Manitoba, Canada         
+WHY      CN      60.6597  -134.8806  Whitehorse, Yukon Territory, Canada     
+YKW1     CN      62.4822  -114.4843  Yellowknife Array Element, Northwest Territories, Canada
+YKW2     CN      62.4337  -114.6038  Yellowknife Array Element, Northwest Territories, Canada
+YKW3     CN      62.5616  -114.6099  Yellowknife Array Element, Northwest Territories, Canada
+YKW4     CN      62.4925  -114.7432  Yellowknife Array Element, Northwest Territories, Canada
+YKW5     CN      62.4822  -114.4843  Yellowknife Array Element, Northwest Territories, Canada
+ANWB     CU      17.6685   -61.7856  Willy Bob, Antigua and Barbuda          
+BBGH     CU      13.1434   -59.5588  Gun Hill, Barbados                      
+BCIP     CU       9.1665   -79.8373  Isla Barro Colorado, Panama             
+GRGR     CU      12.1324   -61.6540  Grenville, Grenada                      
+GRTK     CU      21.5115   -71.1327  Grand Turk, Turks and Caicos Islands    
+GTBY     CU      19.9268   -75.1108  Guantanamo Bay, Cuba                    
+MTDJ     CU      18.2261   -77.5345  Mount Denham, Jamaica                   
+SDDR     CU      18.9821   -71.2878  Presa de Sabenta, Dominican Republic    
+TGUH     CU      14.0570   -87.2730  Tegucigalpa, Honduras                   
+ILULI    DK      69.2121   -51.1048  Illulissat, Greenland                   
+KULLO    DK      74.5805   -57.2201  Illulissat, Greenland                   
+AIS      G      -37.7970    77.5690  Nouvelle-Amsterdam - TAAF, France       
+ATD      G       11.5300    42.8470  Arta Cave - Arta, Republic of Djibouti  
+BNG      G        4.4350    18.5470  Bangui, Republique Centrafricaine       
+CAN      G      -35.3210   148.9990  Canberra, Australia                     
+CLF      G       48.0258     2.2600  Chambon la Foret Observatory, France    
+CRZF     G      -46.4300    51.8610  Port Alfred - Ile de la Possession - Crozet Islands, France
+0001     GD      45.4030   141.7504  Wakkanai, Japan                         
+0011     GD      43.0286   143.4592  Ikeda, Japan                            
+0012     GD      42.9805   142.4020  Simukappu, Japan                        
+0015     GD      42.3216   143.3310  Hiroh, Japan                            
+0016     GD      42.3569   142.3646  Shizunai, Japan                         
+0019     GD      42.0059   143.1565  Erimoi, Japan                           
+0105     GD      44.7285   142.2652  Otoineppu, Japan                        
+0107     GD      44.2946   142.6256  Shimokawa, Japan                        
+0109     GD      44.0192   145.1861  Rausu, Japan                            
+0110     GD      44.0068   142.1517  Horokanai, Japan                        
+0111     GD      44.0056   143.3337  Maruseppu, Japan                        
+0112     GD      42.8945   143.9269  Onbetsu, Japan                          
+0119     GD      43.3669   145.8011  Nemuro2, Japan                          
+0120     GD      43.2926   140.5971  Shakotan, Japan                         
+0121     GD      43.2895   143.5624  Ashoro, Japan                           
+0124     GD      43.1206   144.1265  Akani, Japan                            
+0125     GD      43.0576   144.8430  Akkeshi, Japan                          
+0133     GD      42.7272   142.2958  Biratori, Japan                         
+0134     GD      42.6993   143.1033  Nakasatsunai, Japan                     
+0135     GD      42.6679   141.0750  Ootaki, Japan                           
+0136     GD      42.6555   141.6023  Tomakomai, Japan                        
+0138     GD      42.5516   143.4611  Taiki, Japan                            
+0141     GD      42.4813   142.0602  Monbetsu, Japan                         
+0142     GD      42.2477   142.5675  Mitsuishi, Japan                        
+0144     GD      42.1309   142.9354  Samani, Japan                           
+0147     GD      42.0430   140.8055  Shikabe, Japan                          
+0505     GD      43.9888   144.2933  Abasiri, Japan                          
+0510     GD      43.7714   142.9030  Kamikawa, Japan                         
+0516     GD      43.2484   141.8909  Mikasa, Japan                           
+0521     GD      42.9389   143.1706  Obihiro, Japan                          
+0532     GD      42.1256   143.3157  Erimo2, Japan                           
+0533     GD      41.4047   141.4476  Higasidoori, Japan                      
+ALBH     GD      48.3897  -123.4875  Alberthead, British Columbia, CANADA    
+AMC2     GD      38.8031  -104.5246  Alternate Master Clock (USNO), Schriever AFB, CO, USA
+BREW     GD      48.1315  -119.6827  Brewster, WA, USA                       
+DRA2     GD      49.3226  -119.6250  Dominion Radio Astrophysical Observatory, Penticton,CANADA
+DSLK     GD      58.4357  -129.9890  Dease Lake, British Columbia, CANADA    
+ELDD     GD      58.9720  -135.2223  UNKNOWN                                 
+ESQM     GD      48.4292  -123.4288  Esquimalt, British Columbia, CANADA     
+FAIR     GD      64.9779  -147.4993  Gilmore Creek Observatory, Fairbanks, AK, USA
+FNEL     GD      58.8052  -122.7321  Fort Nelson, British Columbia, CANADA   
+FS32     GD      59.1487  -135.3470  Haines, AK, USA                         
+FTSJ     GD      56.2549  -120.8487  Fort St. John, British Columbia, CANADA 
+GODE     GD      39.0216   -76.8269  Greenbelt, Maryland, USA                
+HNSC     GD      59.2420  -135.5178  Haines, AK, USA                         
+INVM     GD      50.5092  -116.0287  Invermere, British Columbia, CANADA     
+MSOL     GD      46.9293  -114.1089  Missoula, MT, USA                       
+PGC4     GD      48.6484  -123.4510  Pacific Geoscience Center, Sidney, British Columbia, CANADA
+PRDS     GD      50.8713  -114.2935  Priddis, Alberta, CANADA                
+PTHY     GD      50.6855  -127.3754  Port Hardy, Vancouver Island, British Columbia, CANADA
+DRV      G      -66.6641   140.0016  Dumont d'Urville - Terre Adelie, Antarctica
+SMLD     GD      49.5654  -119.6443  Summerland, British Columbia, CANADA    
+TEM1     GD      59.4502  -135.3301  Skagway Airport, AK, USA                
+TNK1     GD      59.2722  -135.4406  Tank 1, Haines, AK, USA                 
+TRRC     GD      54.5148  -128.6267  Terrace, British Columbia, CANADA       
+TSEA     GD      61.1873  -149.8950  The Surveyors Ex, Anchorage, AK, USA    
+WHIT     GD      60.7505  -135.2222  Whitehorse, Yukon, CANADA               
+WLBC     GD      52.1305  -122.1369  Williams Lake, British Columbia, CANADA 
+YELL     GD      62.4808  -114.4807  Yellowknife, Northwest Territories, CANADA
+APE      GE      37.0689    25.5306  GEOFON/NOA Station Apirathos, Naxos, Greece
+APEZ     GE      34.9777    24.8859  GEOFON Station Moni Apezanon, Greece    
+BGIO     GE      31.7219    35.0877  GII/GEOFON Station Bar Giyyora, Israel  
+BKB      GE      -1.2558   116.9155  Permanent GEOFON network                
+BOAB     GE      12.4493   -85.6659  INETER/GEOFON Station Boaco, Nicaragua  
+BOA      GE      12.4493   -85.6659  GEOFON Station Boaco, Nicaragua         
+BRNL     GE      52.4278    13.3580  GRSN Station Berlin-Lankwitz, Germany   
+CART     GE      37.5868    -1.0012  ROA/UCM/GEOFON Station Cartagena, Spain 
+CEU      GE      35.8987    -5.3731  ROA/UCM/GEOFON Station Ceuta Spain      
+ECH      G       48.2160     7.1580  Echery - Sainte Marie aux Mines, France 
+CSS      GE      34.9611    33.3310  GEOFON/GII Station Mathiatis, Cyprus    
+DAG      GE      76.7713   -18.6550  GEOFON/AWI Station Danmarkshavn, Greenland
+DSB      GE      53.2452    -6.3762  GEOFON Station Dublin, Ireland          
+EIL      GE      29.6699    34.9512  GEOFON Station Eilat, Israel            
+FODE     GE      35.3797    24.9576  GEOFON Station Fodele, Crete, Greece    
+GHAR     GE      32.1224    13.0885  GEOFON/ETHZ Station Gharyan, Libya      
+GSI      GE       1.3039    97.5755  GEOFON Station                          
+GVD      GE      34.8392    24.0873  GEOFON Station Gavdos Island, Greece    
+HLG      GE      54.1847     7.8839  UKiel/GEOFON Station Helgoland, Germany 
+IBBN     GE      52.3072     7.7566  RUB/GEOFON Station Ibbenbueren, Germany 
+ISP      GE      37.8433    30.5093  GEOFON/MedNet Station Isparta, Turkey   
+JER      GE      31.7719    35.1972  GII Station Jerusalem, Israel           
+KARN     GE      35.4019    23.9174  Karanos, Crete, Greece                  
+KBS      GE      78.9256    11.9417  IRIS/GEOFON/AWI Station Ny Alesund, Spitsbergen
+KBU      GE      34.5151    69.1347  GEOFON Station Kabul, Afghanistan       
+KERA     GE      35.3692    23.5577  Keramoti, Crete, Greece                 
+KMBO     GE      -1.1268    37.2523  IRIS/GEOFON Station                     
+KRIS     GE      35.1780    25.5030  Temp GEOFON Station Kristallenia, Greece
+KSDI     GE      33.1920    35.6590  GII Station Kfar Sold, Israel           
+KWP      GE      49.6305    22.7078  GEOFON Station Kalwaria Paclawska, Poland
+LAST     GE      35.1611    25.4786  GEOFON Station Lasithi, Greece          
+LID      GE      54.5481    13.3664  GRSN/GEOFON Station Liddow, Germany     
+LVC      GE     -22.6182   -68.9113  IRIS/GEOFON/ Station                    
+MAHO     GE      39.8959     4.2665  UCM/ROA/GEOFON Station Mahon, Menorca, Spain
+MALT     GE      38.3134    38.4273  GEOFON/MedNet Station Malatya, Turkey   
+MARJ     GE      32.5226    20.8776  GEOFON Station Al Marj, Libya,          
+MATE     GE      40.6491    16.7044  U Basilicata/GEOFON Station Matera, Italy
+MAUI     GE      20.7668  -156.2448  GEOFON Station Haleakala, Maui, Hawaii, USA
+MELI     GE      35.2938    -2.9350  ROA/UCM/GEOFON Station Melilla, Spain   
+MHV      GE      54.9595    37.7664  GEOFON Station Michnevo, Russia         
+MLR      GE      45.4912    25.9456  GEOFON Station Muntele Rosu, Romania    
+MMRI     GE      -8.6357   122.2376  Permanent GEOFON network                
+MNAI     GE      -4.4500   102.9170  Permanent GEOFON network                
+MORC     GE      49.7766    17.5428  GEOFON Station Moravsky Beroun, Czech Republic
+MRNI     GE      33.1178    35.3920  GII Station Mount Meron, Israel         
+MTE      GE      40.3997    -7.5442  GEOFON Station Manteigas, Portugal      
+MNAI     GE      -4.4500   102.9170  Permanent GEOFON network                
+PMBI     GE      -2.9270   104.7720  GEOFON Station Palembang, Sumatra, Indonesia
+PMG      GE      -9.4092   147.1539  IRIS/GEOFON/PACIFIC21 Station           
+PSZ      GE      47.9184    19.8944  GKKI/GEOFON Station Piszkes, Hungary    
+PUL      GE      59.7670    30.3170  GEOFON Station Pulkovo, Russia          
+PVLZ     GE      35.1730    -4.3010  ROA/UCM/GEOFON Station Penon de Velez-Gomera, Spain
+RGN      GE      54.5477    13.3214  GRSN/GEOFON Station Ruegen, Germany     
+RIOB     GE     -10.1501   -67.7470  GEOFON Station Rio Branco, Brazil       
+RUE      GE      52.4759    13.7800  GRSN/GEOFON Station Ruedersdorf, Germany
+SANT     GE      36.3710    25.4590  Temp GEOFON Station Santorini, Greece   
+SELV     GE      37.2383    -3.7277  IAG Station Sierra Elvira, Spain        
+SFJD     GE      66.9967   -50.6156  IRIS/GEOFON Station                     
+SFJ      GE      66.9967   -50.6156  IRIS/GEOFON Station Sondre Stromfjord, Greenland
+SFS      GE      36.4656    -6.2055  ROA/UCM/GEOFON Station San Fernando, Spain
+SFUC     GE      36.6370    -6.1750  ROA/UCM/GEOFON Station San Fernando, Spain
+SIVA     GE      35.0175    24.8100  GEOFON Station Sivas, Crete, Greece     
+SKD      GE      35.4120    23.9280  GEOFON Station Skordalos, Greece        
+SLIT     GE      57.6300    22.2900  LEGMA/GEOFON Station Slitere, Latvia    
+SMRI     GE      -7.0492   110.4407  Permanent GEOFON network                
+SNAA     GE     -71.6707    -2.8379  GEOFON/AWI Station Sanae, Antarctica    
+STU      GE      48.7719     9.1950  VBB Station Stuttgart, Germany          
+SUMG     GE      72.5763   -38.4539  GEOFON Station Summit Camp, Greenland   
+SUW      GE      54.0125    23.1808  GEOFON Station Suwalki, Poland          
+TIRR     GE      44.4581    28.4128  GEOFON Station                          
+TNTI     GE       0.7718   127.3667  Permanent GEOFON network                
+TRTE     GE      58.3786    26.7205  GEOFON Station Tartu, Estonia           
+UGM      GE      -7.9125   110.5231  GEOFON Station                          
+EVO      G       38.5320    -8.0130  Evora, Portugal                         
+VSU      GE      58.4620    26.7347  GEOFON Station Vasula, Estonia          
+WLF      GE      49.6646     6.1526  GEOFON Station Walferdange, Luxembourg  
+YOGI     GE      -7.8166   110.2949  GEOFON Station Yogyakarta, Java, Indonesia
+ZKR      GE      35.1147    26.2170  GEOFON Station Zakros, Crete, Greece    
+FDF      G       14.7350   -61.1430  Fort de France - Martinique island, France
+FOMA     G      -24.9756    46.9788  Nahampoana reservation - Fort Dauphin, Madagascar
+GRC      G       47.2955     3.0736  Garchy, France                          
+HDC      G       10.0020   -84.1114  Heredia, Costa Rica                     
+HYB      G       17.4187    78.5521  Hyderabad, India                        
+INU      G       35.3500   137.0290  Inuyama, Japan                          
+KIP      G       21.4230  -158.0150  Kipapa - Hawaii, USA                    
+KOG      G        5.2070   -52.7320  Kourou - French Guiana, France          
+MBO      G       14.3910   -16.9550  M'Bour, Senegal                         
+MPG      G        5.1108   -52.6444  Montagne des Peres - French Guiana, France
+NOC      G      -22.2840   166.4320  Noumea - New Caledonia, France          
+NOUC     G      -22.1010   166.3030  Port Laguerre - New Caledonia, France   
+PAF      G      -49.3510    70.2130  Port aux Francais - Kerguelen - TAAF, France
+PEL      G      -33.1436   -70.6749  Peldehue, Chile                         
+PPTF     G      -17.5896  -149.5652  Pamatai - Papeete - Tahiti island - French Polynesia, France
+PPT      G      -17.5690  -149.5760  Pamatai - Papeete - Tahiti island - French Polynesia, France
+PVC      G      -17.7400   168.3120  Port Vila - Efate island, Vanuatu       
+RER      G      -21.1710    55.7400  Riviere de l'Est - Sainte Rose - La Reunion island, France
+SCZ      G       36.5980  -121.4048  Chualar Canyon - Santa Cruz - California, USA
+SEY      G       62.9330   152.3730  Seymchan, Russia                        
+SPB      G      -23.5920   -47.4320  Sao Paulo, Brazil                       
+SSB2     G       45.2790     4.5420  Tunnel de Badole - Saint Sauveur en Rue, France
+SSB3     G       45.2790     4.5420  Tunnel de Badole - Saint Sauveur en Rue, France
+SSB      G       45.2790     4.5420  Tunnel de Badole - Saint Sauveur en Rue, France
+TAM      G       22.7915     8.5284  Tamanrasset, Algeria                    
+BDFB     GT     -15.6418   -48.0148  Brasilia, Brazil                        
+BGCA     GT       5.1764    18.4242  Bogoin, Central African Republic        
+BOSA     GT     -28.6141    25.2555  Boshof, South Africa                    
+CPUP     GT     -26.3306   -57.3309  Villa Florida, Paraguay                 
+DBIC     GT       6.6702    -4.8566  Dimbokro, Cote d'Ivoire                 
+LBTB     GT     -25.0151    25.5967  Lobatse, Botswana, Africa               
+LPAZ     GT     -16.2879   -68.1307  La Paz , Bolivia                        
+PLCA     GT     -40.7328   -70.5508  Paso Flores, Argentina                  
+TRIS     G      -37.0682   -12.3152  Tristan da Cunha - Atlantic Ocean, Great Britain
+SBA      GT     -77.8491   166.7573  Scott Base, Antarctica                  
+VNDA     GT     -77.5172   161.8528  Wright Valley (Bull Pass) Antarctica    
+UNM      G       19.3290   -99.1780  Unam - Mexico, Mexico                   
+WUS      G       41.1990    79.2180  Wushi - Xinjiang Uygur, China           
+LIT      HT      40.1008    22.4900  Litochoro, Greece, HT-Net               
+LKD      HT      38.7072    20.6506  Lefkada, Greece, HT-Net                 
+SOH      HT      40.8217    23.3539  Sohos, Greece, HT-Net                   
+CCRK     HW      46.5585  -119.8548  Sunnyside, WA, USA                      
+DDRF     HW      46.4911  -119.0595  Dider Farm, Eltopia, WA, USA            
+PHIN     HW      45.8951  -119.9278  Phinny Hill Vineyards, Prosser, WA, USA 
+BJT      IC      40.0183   116.1679  Baijiatuan, Beijing, China              
+ENH      IC      30.2762   109.4944  Enshi, Hubei Province, China            
+HIA      IC      49.2704   119.7414  Hailar, Neimenggu Province, China       
+KMI      IC      25.1233   102.7400  Kunming, Yunnan Province, China         
+LSA      IC      29.7031    91.1270  Tibet, China                            
+MDJ      IC      44.6170   129.5908  Mudanjiang, Heilongjiang Province, China
+SSE      IC      31.0948   121.1908  Shanghai, China                         
+WMQ      IC      43.8138    87.7049  Urumqi, Xinjiang Province, China        
+XAN      IC      34.0313   108.9237  Xi'an, China                            
+AAK      II      42.6390    74.4940  Ala Archa, Kyrgyzstan                   
+ABKT     II      37.9304    58.1189  Alibek, Turkmenistan                    
+ABPO     II     -19.0180    47.2290  Ambohimpanompo, Madagascar              
+ALE      II      82.5033   -62.3500  Alert, N.W.T., Canada                   
+ARU      II      56.4302    58.5625  Arti, Russia                            
+ASCN     II      -7.9327   -14.3601  Butt Crater, Ascension Island           
+BFO      II      48.3319     8.3311  Black Forest Observatory, Schiltach, Germany
+BORG     II      64.7474   -21.3268  Borgarfjordur, Asbjarnarstadir, Iceland 
+BRVK     II      53.0581    70.2828  Borovoye, Kazakhstan                    
+CMLA     II      37.7637   -25.5243  Cha de Macela, Sao Miguel Island, Azores
+COCO     II     -12.1901    96.8349  West Island, Cocos (Keeling) Islands    
+DGAR     II      -7.4121    72.4525  Diego Garcia, Chagos Islands, Indian Ocean
+EFI      II     -51.6753   -58.0637  Mount Kent, East Falkland Island        
+ERM      II      42.0150   143.1572  Erimo, Hokkaido Island, Japan           
+ESK      II      55.3167    -3.2050  Eskdalemuir, Scotland, UK               
+FFC      II      54.7250  -101.9783  Flin Flon, Canada                       
+DGAR     II      -7.4121    72.4525  Diego Garcia, Chagos Islands, Indian Ocean
+HOPE     II     -54.2836   -36.4879  Hope Point, South Georgia Island        
+JTS      II      10.2908   -84.9525  Las Juntas de Abangares, Costa Rica     
+KAPI     II      -5.0142   119.7517  Kappang, Sulawesi, Indonesia            
+KDAK     II      57.7828  -152.5835  Kodiak Island, Alaska, USA              
+KIV      II      43.9553    42.6863  Kislovodsk, Russia                      
+KURK     II      50.7154    78.6202  Kurchatov, Kazakhstan                   
+KWAJ     II       8.8019   167.6130  Kwajalein Atoll, Pacific Ocean          
+LVZ      II      67.8979    34.6514  Lovozero, Russia                        
+MBAR     II      -0.6019    30.7382  Mbarara, Uganda                         
+MSEY     II      -4.6737    55.4792  Mahe, Seychelles                        
+MSVF     II     -17.7448   178.0528  Monasavu, Fiji                          
+NIL      II      33.6506    73.2686  Nilore, Pakistan                        
+NNA      II     -11.9875   -76.8422  Nana, Peru                              
+NRIL     II      69.5049    88.4414  Norilsk, Russia                         
+NVS      II      54.8404    83.2346  Novosibirsk, Russia                     
+OBN      II      55.1146    36.5674  Obninsk, Russia                         
+PALK     II       7.2728    80.7022  Pallekele, Sri Lanka                    
+PFO      II      33.6107  -116.4555  Pinon Flat, California, USA             
+RAYN     II      23.5225    45.5032  Ar Rayn, Saudi Arabia                   
+RPN      II     -27.1267  -109.3344  Rapanui, Easter Island, Chile           
+SACV     II      14.9702   -23.6085  Santiago Island, Cape Verde             
+SHEL     II     -15.9588    -5.7457  Horse Pasture, St. Helena Island        
+SUR      II     -32.3797    20.8117  Sutherland, South Africa                
+TAU      II     -42.9099   147.3204  Hobart, Tasmania, Australia             
+TLY      II      51.6807   103.6438  Talaya, Russia                          
+UOSS     II      24.9453    56.2042  Univ. of Sharjah, Sharjah, United Arab Emirates
+WRAB     II     -19.9336   134.3600  Tennant Creek, NT, Australia            
+XPF      II      33.6107  -116.4555  Pinon Flat, California, USA             
+XPFO     II      33.6107  -116.4555  Pinon Flat, California, USA             
+VNDA     IM     -77.5139   161.8456  Vanda, Antarctica                       
+AAE      IU       9.0292    38.7656  Addis Ababa, Ethiopia                   
+ADK      IU      51.8823  -176.6842  Adak, Aleutian Islands, Alaska          
+AFI      IU     -13.9093  -171.7773  Afiamalu, Samoa                         
+ANMO     IU      34.9502  -106.4602  Albuquerque, New Mexico, USA            
+ANTO     IU      39.8680    32.7934  Ankara, Turkey                          
+BBSR     IU      32.3713   -64.6963  Bermuda Biological Station for Research, St George's Bermuda
+BILL     IU      68.0653   166.4531  Bilibino, Russia                        
+BOCO     IU       4.5869   -74.0432  Bogota, Colombia                        
+CASY     IU     -66.2792   110.5354  Casey, Antarctica                       
+CCM      IU      38.0557   -91.2446  Cathedral Cave, Missouri, USA           
+CHTO     IU      18.8141    98.9443  Chiang Mai, Thailand                    
+COLA     IU      64.8736  -147.8616  College Outpost, Alaska, USA            
+COL      IU      64.9000  -147.7933  College Outpost, Alaska, USA            
+COR      IU      44.5855  -123.3046  Corvallis, Oregon, USA                  
+CTAO     IU     -20.0882   146.2545  Charters Towers, Australia              
+DAV      IU       7.0697   125.5791  Davao, Philippines                      
+DWPF     IU      28.1103   -81.4327  Disney Wilderness Preserve, Florida, USA
+FUNA     IU      -8.5259   179.1966  Funafuti, Tuvalu                        
+FURI     IU       8.8952    38.6798  Mt. Furi, Ethiopia                      
+GNI      IU      40.1480    44.7410  Garni, Armenia                          
+GRFO     IU      49.6909    11.2203  Grafenberg, Germany                     
+GUMO     IU      13.5893   144.8684  Guam, Mariana Islands                   
+HKT      IU      29.9618   -95.8384  Hockley, Texas                          
+HNR      IU      -9.4387   159.9475  Honiara, Solomon Islands                
+HRV      IU      42.5064   -71.5583  Adam Dziewonski Observatory (Oak Ridge), Massachusetts, USA
+INCN     IU      37.4776   126.6239  Inchon, Republic of Korea               
+JOHN     IU      16.7329  -169.5292  Johnston Island, USA                    
+KBS      IU      78.9154    11.9385  Ny-Alesund, Spitzbergen, Norway         
+KEV      IU      69.7565    27.0035  Kevo, Finland                           
+KIEV     IU      50.7012    29.2242  Kiev, Ukraine                           
+KIP      IU      21.4200  -158.0112  Kipapa, Hawaii, USA                     
+KMBO     IU      -1.1271    37.2525  Kilima Mbogo, Kenya                     
+KNTN     IU      -2.7744  -171.7186  Kanton, Kiritibati                      
+KONO     IU      59.6491     9.5982  Kongsberg, Norway                       
+KOWA     IU      14.4967    -4.0140  Kowa, Mali                              
+LCO      IU     -29.0110   -70.7004  Las Campanas Astronomical Observatory, Chile
+LSZ      IU     -15.2779    28.1882  Lusaka, Zambia                          
+LVC      IU     -22.6127   -68.9111  Limon Verde, Chile                      
+MA2      IU      59.5756   150.7700  Magadan, Russia                         
+MAJO     IU      36.5457   138.2041  Matsushiro, Japan                       
+MAKZ     IU      46.8080    81.9770  Makanchi, Kazakhstan                    
+MBWA     IU     -21.1590   119.7313  Marble Bar, Western Australia           
+MIDW     IU      28.2156  -177.3698  Midway Island, USA                      
+MSKU     IU      -1.6557    13.6116  Masuku, Gabon                           
+NAI      IU      -1.2739    36.8037  Nairobi, Kenya                          
+NWAO     IU     -32.9277   117.2390  Narrogin, Australia                     
+OTAV     IU       0.2376   -78.4508  Otavalo, Ecuador                        
+PAB      IU      39.5446    -4.3499  San Pablo, Spain                        
+PAYG     IU      -0.6742   -90.2861  Puerto Ayora, Galapagos Islands         
+PET      IU      53.0233   158.6499  Petropavlovsk, Russia                   
+PMG      IU      -9.4047   147.1597  Port Moresby, New Guinea                
+PMSA     IU     -64.7744   -64.0489  Palmer Station, Antarctica              
+POHA     IU      19.7573  -155.5326  Pohakuloa, Hawaii, USA                  
+PTCN     IU     -25.0713  -130.0953  Pitcairn Island, South Pacific          
+PTGA     IU      -0.7308   -59.9666  Pitinga, Brazil                         
+QSPA     IU     -89.9289   144.4382  South Pole Remote Earth Science Observatory (Quiet Zone)
+RAIO     IU      46.0403  -122.8851  Rainier, Oregon, USA                    
+RAO      IU     -29.2450  -177.9290  Raoul, Kermadec Islands                 
+RAR      IU     -21.2125  -159.7733  Rarotonga, Cook Islands                 
+RCBR     IU      -5.8274   -35.9014  Riachuelo, Brazil                       
+RSSD     IU      44.1212  -104.0359  Black Hills, South Dakota, USA          
+SAML     IU      -8.9489   -63.1831  Samuel, Brazil                          
+SBA      IU     -77.8492   166.7572  Scott Base, Antarctica                  
+SDV      IU       8.8839   -70.6340  Santo Domingo, Venezuela                
+SFJD     IU      66.9961   -50.6208  Sondre Stromfjord, Greenland            
+SFJ      IU      66.9967   -50.6156  Sondre Stromfjord, Greenland            
+SJG      IU      18.1091   -66.1500  San Juan, Puerto Rico                   
+SLBS     IU      23.6858  -109.9443  Sierra la Laguna Baja California Sur, Mexico
+SNZO     IU     -41.3087   174.7043  South Karori, New Zealand               
+SSPA     IU      40.6358   -77.8876  Standing Stone, Pennsylvania            
+SSPA     IU      40.6358   -77.8876  Standing Stone, Pennsylvania            
+TARA     IU       1.3549   172.9229  Tarawa Island, Republic of Kiribati     
+TATO     IU      24.9735   121.4971  Taipei, Taiwan                          
+TBT      IU      28.6794   -17.9145  Taburiente, Canary Islands, Spain       
+TEIG     IU      20.2263   -88.2763  Tepich, Yucatan, Mexico                 
+TIXI     IU      71.6341   128.8667  Tiksi, Russia                           
+TOL      IU      39.8814    -4.0485  Toledo, Spain                           
+TRIS     IU     -37.0681   -12.3152  Tristan da Cunha                        
+TRQA     IU     -38.0568   -61.9787  Tornquist, Argentina                    
+TSUM     IU     -19.2022    17.5838  Tsumeb, Namibia                         
+TUC      IU      32.3098  -110.7847  Tucson, Arizona                         
+ULN      IU      47.8651   107.0532  Ulaanbaatar, Mongolia                   
+WAKE     IU      19.2834   166.6520  Wake Island                             
+WCI      IU      38.2289   -86.2939  Wyandotte Cave, Indiana, USA            
+WVT      IU      36.1297   -87.8300  Waverly, Tennessee, USA                 
+XMAS     IU       2.0448  -157.4457  Kiritimati Island, Republic of Kiribati 
+YAK      IU      62.0310   129.6805  Yakutsk, Russia                         
+YSS      IU      46.9587   142.7604  Yuzhno Sakhalinsk, Russia               
+AAK      KN      42.6333    74.4944  -                                       
+AML      KN      42.1311    73.6941  -                                       
+CHM      KN      42.9986    74.7513  -                                       
+EKS2     KN      42.6615    73.7772  -                                       
+ERPT     KN      42.6011    76.0735  -                                       
+KBK      KN      42.6564    74.9478  -                                       
+KZA      KN      42.0778    75.2496  -                                       
+NRPT     KN      42.6011    76.0735  -                                       
+TKM2     KN      42.9208    75.5966  -                                       
+UCH      KN      42.2275    74.5134  -                                       
+ULHL     KN      42.2456    76.2417  -                                       
+USP      KN      43.2669    74.4997  -                                       
+BMN      LB      40.4315  -117.2218  Battle Mountain, Nevada, USA            
+DAC      LB      36.2770  -117.5937  Inyo County, Darwin, CA, USA            
+LDS      LB      37.2425  -113.3514  Leeds, Washington County, Utah, USA     
+MVU      LB      38.5037  -112.2123  Piute County, Marysvale, UT, USA        
+TPH      LB      38.0750  -117.2225  Tonopah, NV, USA                        
+MMNY     LD      42.7319   -77.9066  Mount Morris Dam, NY                    
+NPNY     LD      41.7546   -74.1435  Mohonk Preserve, New Paltz, NY          
+PAL      LD      41.0056   -73.9079  Palisades, New York                     
+PANJ     LD      40.3769   -74.7029  Princeton, NJ                           
+AIO      MN      37.9712    15.2330  Antillo, Italy                          
+AQU      MN      42.3540    13.4050  L'Aquila, Italy                         
+BGY      MN      44.8026    20.5158  Beograd, Serbia                         
+BLY      MN      44.7488    17.1839  Banja Luka, Bosnia and Herzegovina      
+BNI      MN      45.0520     6.6780  Bardonecchia, Italy                     
+CEL      MN      38.2603    15.8939  Celeste, Italy                          
+CII      MN      41.7230    14.3050  Isernia, Italy                          
+CLTB     MN      37.5780    13.2160  Caltabellotta, Italy                    
+CUC      MN      39.9938    15.8155  Castrocucco, Italy                      
+DIVS     MN      44.0981    19.9917  Divcibare,Serbia                        
+GFA      MN      34.3380     9.0730  Gafsa, Tunisia                          
+IDI      MN      35.2880    24.8900  Anogia, Greece                          
+ISP      MN      37.8430    30.5090  Isparta, Turkey                         
+KEG      MN      29.9275    31.8292  Kottamya, Egypt                         
+MDT      MN      32.8170    -4.6140  Midelt, Morocco                         
+MEB      MN      36.3030     2.7300  Medea, Algeria                          
+PDG      MN      42.4297    19.2608  Podgorica, Crna Gora                    
+RTC      MN      33.9881    -6.8569  Rabat, Morocco                          
+TIP      MN      39.1794    16.7583  Timpagrande, Italy                      
+TIR      MN      41.3472    19.8631  Tirana, Albania                         
+TNV      MN     -74.7000   164.1200  Terra Nova Bay, Antarctica              
+TRI      MN      45.7090    13.7640  Trieste, Italy                          
+TTE      MN      45.6600    13.7900  Trieste, Italy                          
+TUE      MN      46.4722     9.3473  Stuetta, Italy                          
+VAE      MN      37.4690    14.3533  Valguarnera, Italy                      
+VLC      MN      44.1594    10.3864  Villacollemandina, Italy                
+VSL      MN      39.4960     9.3780  Villasalto, Italy                       
+VTS      MN      42.6180    23.2350  Vitosha, Bulgary                        
+WDD      MN      35.8373    14.5242  Wied Dalam                              
+BTDF     MS       1.3608   103.7729  Bukit Timah Dairy Farm, Singapore       
+IPM      MY       4.4795   101.0255  Ipoh                                    
+KKM      MY       6.0443   116.2147  Kota Kinabalu                           
+KOM      MY       1.7922   103.8467  Kota Tinggi                             
+KSM      MY       1.4733   110.3083  Kuching                                 
+KUM      MY       5.2902   100.6492  Kulim                                   
+LDM      MY       5.1777   118.4980  Lahad Datu                              
+SBM      MY       2.4529   112.2140  Sibu                                    
+BLO      NM      39.1719   -86.5222  Bloomington, IN                         
+FVM      NM      37.9812   -90.4273  French Village, MO                      
+MGMO     NM      37.1540   -92.2687  Mountain Grove, MO                      
+MPH      NM      35.1230   -89.9320  Memphis, TN                             
+OLIL     NM      38.7338   -88.0991  Olney Central College Olney, IL         
+PBMO     NM      36.7785   -90.4297  Three Rivers Community College, Poplar Bluff, MO
+PLAL     NM      34.9824   -88.0755  Pickwick Lake, AR                       
+PVMO     NM      36.4137   -89.6997  UM Delta Research Portageville, MO      
+SIUC     NM      37.7148   -89.2174  Carbondale, IL                          
+SLM      NM      38.6361   -90.2364  St. Louis, MO                           
+UALR     NM      34.7751   -92.3429  University of Arkansas, Little Rock     
+USIN     NM      37.9650   -87.6660  Univ. of Southern Indiana, Evansville, IN
+UTMT     NM      36.3424   -88.8654  Martin, TN                              
+BEK      NN      39.8667  -120.3586  Beckworth, CA, USA                      
+OMM      NN      37.6214  -118.9994  Old Mammoth Mine, Mammoth Lakes, CA, USA
+WCN      NN      39.3017  -119.7563  Washoe City, NV, USA                    
+NE70     NR      32.4209  -115.2608  Mexicali, Mexico                        
+NE71     NR      31.6897  -115.9053  Agua Blanca, Mexico                     
+NE72     NR      30.8484  -116.0586  Camalu, Mexico                          
+NE73     NR      30.0651  -115.3485  Turquesa, Mexico                        
+NE74     NR      28.0075  -114.0138  Guerrero Negro, Mexico                  
+NE75     NR      27.2933  -112.8565  San Ignacio, Mexico                     
+NE76     NR      26.8889  -111.9990  Mulege, Mexico                          
+NE77     NR      26.0158  -111.3613  Loreto, Mexico                          
+NE78     NR      24.3982  -111.1064  Las Pocitas, Mexico                     
+NE79     NR      23.1194  -109.7561  San Jose del Cabo, Mexico               
+NE80     NR      30.5000  -112.3199  Caborca, Mexico                         
+NE81     NR      28.9183  -109.6363  Novillo, Mexico                         
+NE82     NR      26.9157  -109.2308  Navajoa, Mexico                         
+NE83     NR      24.7309  -107.7393  Navolato, Mexico                        
+NE84     NR      24.9135  -111.5452  El Toro, Mexico                         
+NE85     NR      24.1296  -110.4368  La Paz, Mexico                          
+BFZ      NZ     -40.6814   176.2461  Birch Farm                              
+BKZ      NZ     -39.1674   176.4923  Black Stump Farm                        
+CTZ      NZ     -43.7355  -176.6172  Chatham Island                          
+HIZ      NZ     -38.5147   174.8555  Hauiti                                  
+KHZ      NZ     -42.4160   173.5390  Kahutara                                
+ODZ      NZ     -45.0456   170.6445  Otahua Downs                            
+OUZ      NZ     -35.2215   173.5960  Omahuta                                 
+QRZ      NZ     -40.8272   172.5290  Quartz Range                            
+RPZ      NZ     -43.7163   171.0538  Rata Peaks                              
+URZ      NZ     -38.2610   177.1107  Urewera                                 
+WPVZ     NZ     -39.2058   175.5457  Whakapapa                               
+ARSA     OE      47.2505    15.5232  Arzberg, Steiermark, Austria            
+DAVA     OE      47.2867     9.8803  Damuels, Vorarlberg, Austria            
+KBA      OE      47.0784    13.3447  Koelnbreinsperre, Kaernten, Austria     
+HDC3     OV      10.0010   -84.0660  Heredia, Costa Rica                     
+B001     PB      48.0431  -123.1314  golbeck01bwa2005, Sequim, WA, USA       
+B003     PB      48.0624  -124.1409  floequarybwa2005, FloeQuarry, WA, USA   
+B004     PB      48.2019  -124.4270  hokofallsbwa2005, Sekiu, WA, USA        
+B005     PB      48.0595  -123.5033  shoresnw1bwa2005, Port Angeles, WA, USA 
+B006     PB      48.0588  -123.5008  shoresne2bwa2005, Port Angeles, WA, USA 
+B007     PB      48.0576  -123.5041  shoresso3bwa2005, Shores, WA, USA       
+B009     PB      48.6487  -123.4512  pacgeosi1bbc2005, Sidney, BC, CA        
+B010     PB      48.6502  -123.4513  pacgeosi2bbc2005, Sidney, BC, CA        
+B011     PB      48.6495  -123.4482  pacgeosi3bbc2005, Sidney, BC, CA        
+B012     PB      48.9246  -125.5420  ucluelet1bbc2005, Ucluelet, BC, CA      
+B013     PB      47.8130  -122.9108  pnycrk013bwa2007, Quilcene, WA, USA     
+B014     PB      47.5133  -123.8125  quinlt014bwa2008, Olympic NP, WA, USA   
+B017     PB      46.9960  -123.5575  flinkm017bwa2007, Montesano, WA, USA    
+B018     PB      46.9795  -123.0203  delphi018bor2006, Delphi, OR, USA       
+B019     PB      46.6527  -123.6518  waldrf019bwa2008, Raymond, WA, USA      
+B020     PB      46.3828  -123.8445  wirkla020bwa2008, Naselle, WA, USA      
+B022     PB      45.9546  -123.9310  seaside22bor2006, OR, USA               
+B023     PB      46.1112  -123.0787  cataln023bor2008, Claskanie, OR, USA    
+B024     PB      45.6340  -123.8630  kuntza024bor2006, Portland, OR, USA     
+B026     PB      45.3094  -123.8230  roosbc026bor2007, Portland, OR, USA     
+B027     PB      44.4973  -122.9622  lester027bor2007, Albany, OR, USA       
+B028     PB      44.4937  -122.9638  lester028bor2007, Albany, OR, USA       
+B030     PB      43.9713  -122.7717  pattrs030bor2007, Springfield, OR, USA  
+B031     PB      43.6643  -123.3967  hergrt031bor2007, Hergert, OR, USA      
+B032     PB      43.6680  -123.3923  hergrt032bor2007, Hergert, OR, USA      
+B033     PB      43.2917  -123.1245  vanvlk033bor2007, Glide, OR, USA        
+B035     PB      42.5035  -123.3834  grants035bor2006, OR, USA               
+B036     PB      42.5058  -123.3817  grants036bor2007, Grant's Pass, OR, USA 
+B039     PB      41.4667  -122.4847  cofflt039bcn2007, Weed, CA, USA         
+B040     PB      41.8308  -122.4205  yorkmn040bcn2007, Montague, CA, USA     
+B045     PB      40.4360  -123.9965  rdcrst045bcn2008, Pepperwood, CA, USA   
+B046     PB      40.3220  -124.2843  mattol046scn2008, Petrolia, CA, USA     
+B047     PB      40.2505  -124.1713  chapmn047scn2008, Mendocino, CA, USA    
+B049     PB      40.2375  -123.8197  mirand049scn2008, Mendocino, CA, USA    
+B054     PB      37.8602  -122.1995  sibley054bcn2008 , Orinda, CA, USA      
+B057     PB      38.0273  -122.5655  lucasv057bcn2008, Lucas Valley, CA, USA 
+B058     PB      36.7995  -121.5808  sjgrad058bcn2007, San Juan Bautista, CA, USA
+B065     PB      36.7437  -121.4742  gabiln065bcn2007, San Juan Bautista, CA, USA
+B066     PB      36.8573  -121.5922  rockrd066bcn2007, San Juan Bautista, CA, USA
+B067     PB      36.7650  -121.5655  stoney067bcn2007, San Juan Bautista, CA, USA
+B072     PB      35.8310  -120.3450  goldhl072bcn2007, Parkfield, CA, USA    
+B073     PB      35.9467  -120.4717  varian073bcs2006, Parkfield, CA, USA    
+B075     PB      35.9292  -120.5153  flengt075bcs2006, Parkfield, CA, USA    
+B076     PB      35.9398  -120.4248  donnal076bcs2006, Parkfield, CA, USA    
+B078     PB      35.8376  -120.3443  goldhl078bcs2006, Parkfield, CA, USA    
+B079     PB      35.7160  -120.2047  jackcn079bcs2006, Parkfield, CA, USA    
+B081     PB      33.7112  -116.7142  keenwi081bcs2006, Anza, CA, USA         
+B082     PB      33.5982  -116.5960  pathfi082bcs2006, Anza, CA, USA         
+B084     PB      33.6116  -116.4564  pinyon084bcs2006, Anza, CA, USA         
+B086     PB      33.5575  -116.5300  santar086bcs2006, Anza, CA, USA         
+B087     PB      33.4955  -116.6027  fordra087bcs2006, Anza, CA, USA         
+B088     PB      33.3749  -116.6205  skyoks088bcs2007, Anza, CA, USA         
+B093     PB      33.5937  -116.7641  trippf093bcs2007, Anza, CA, USA         
+B201     PB      46.3033  -122.2648  coldwt201bwa2007, Mt St Helens, WA, USA 
+B202     PB      46.2447  -122.1367  windyr202bwa2007, Mt St Helens, WA, USA 
+B203     PB      46.1690  -122.3337  quarry203bwa2007, Mount Saint Helens, WA, USA
+B204     PB      46.1360  -122.1690  marble204bwa2007, Mt St Helens, WA, USA 
+B205     PB      44.7135  -110.6783  norris205bwy2008, Yellowstone, WY, USA  
+B206     PB      44.7177  -110.5117  canyon206bwy2008, Yellowstone, WY, USA  
+B207     PB      44.6190  -110.8485  madisn207bwy2007, Yellowstone, Wy, USA  
+B208     PB      44.5602  -110.4015  lakejn208bwy2007, Yellowstone, Wy, USA  
+B900     PB      35.6300  -120.0150  blacka900bcn2007, Parkfield, CA, USA    
+B901     PB      35.6900  -120.1420  indspr901bcn2007, Parkfield, CA, USA    
+B916     PB      36.1925  -117.6685  marips916bcs2008, China Lake, CA, USA   
+B917     PB      35.3892  -117.2587  tonyso917bcs2008, China Lake, CA, USA   
+B918     PB      35.9372  -117.5906  mtsprn918bcs2008, China Lake, CA, USA   
+B921     PB      35.5865  -117.4622  randsb921bcs2008, China Lake, CA, USA   
+B926     PB      48.8202  -124.1312  cowich926bbc2007, Port Renfrew, BC, Canada
+B927     PB      49.2188  -124.8113  albern927bbc2007, Port Alberni, BC, USA 
+B928     PB      48.8337  -125.1345  bamfld928bbc2007, Bamfield, BC, Canada  
+B932     PB      40.2750  -124.2212  burogh932scn2008, Petrolia, CA, USA     
+B933     PB      40.0600  -123.9690  mckeem933bcn2008, Thorn Junction, CA, USA
+B934     PB      39.8445  -123.6913  legget934bcn2008, Leggett, CA, USA      
+B935     PB      40.4787  -123.5732  dinsmr935bcn2008, Dinsmore, CA, USA     
+B941     PB      46.9868  -122.2190  kapows941bwa2008, Kapowsin, WA, USA     
+B943     PB      47.8132  -122.9113  pnycrk943bwa2008, Seattle, WA, USA      
+B944     PB      44.3897  -110.5438  grantt944bwy2008, Yellowstone, WY, USA  
+B945     PB      44.8940  -110.7441  panthr945swy2008, Yellowstone, WY, USA  
+P403     PB      48.0624  -124.1409  floequarybwa2005, FloeQuarry, WA, USA   
+B1       PI      34.0730   106.9190  Pier B1                                 
+B3       PI      34.0736  -106.9189  Adjacent to B1 (PIC)                    
+B4       PI      34.0736  -106.9189  Adjacent to B2 (PIC)                    
+B7       PI      34.0736  -106.9189  Adjacent to B5 (PIC)                    
+B6       PI      34.0736  -106.9189  Pier Station B6                         
+B7       PI      34.0736  -106.9189  Adjacent to B5 (PIC)                    
+B8       PI      34.0736  -106.9189  Pier Station B8                         
+B9       PI      34.0736  -106.9188  SE Corner of Pier                       
+NP00     PI      34.0740  -106.9190  Pier2_P0                                
+NP01     PI      34.0740  -106.9191  Pier2_P1                                
+NP02     PI      34.0740  -106.9190  Pier2_P2                                
+NP03     PI      34.0740  -106.9190  Pier2_P3                                
+NP04     PI      34.0740  -106.9191  Pier2_P4                                
+NP05     PI      34.0740  -106.9190  Pier2_P5                                
+NP06     PI      34.0740  -106.9191  Pier2_P6                                
+NP07     PI      34.0740  -106.9190  Pier2_P7                                
+NP08     PI      34.0740  -106.9191  Pier2_P8                                
+NP09     PI      34.0740  -106.9190  Pier2_P9                                
+SP00     PI      34.0740  -106.9190  Pier1_B0                                
+SP01     PI      34.0740  -106.9190  Pier1_B1                                
+SP02     PI      34.0740  -106.9190  Pier1_B2                                
+SP03     PI      34.0740  -106.9190  Pier1_B3                                
+SP04     PI      34.0740  -106.9190  Pier1_B4                                
+SP05     PI      34.0740  -106.9190  Pier1_B5                                
+SP06     PI      34.0740  -106.9190  Pier1_B6                                
+SP07     PI      34.0740  -106.9190  Pier1_B7                                
+SP08     PI      34.0740  -106.9190  Pier1_B8                                
+SP09     PI      34.0740  -106.9190  Pier1_B9                                
+PESTR    PM      38.8672    -7.5902  Estremoz, Portugal                      
+PFVI     PM      37.1328    -8.8268                                          
+PMOZ     PM      32.8230   -17.1972                                          
+PVAQ     PM      37.4037    -7.7173  Vaqueiros, Portugal                     
+ROSA     PM      38.7208   -28.2470                                          
+BAG      PS      16.4108   120.5797  Baguio City, Luzon, Philippines         
+OGS      PS      27.0570   142.2030  Ogasawara, Bonin Islands, Japan         
+PATS     PS       6.8367   158.3152  Pohnpei, Micronesia                     
+PSI      PS       2.6938    98.9237  Prapat, Sumatera, Indonesia             
+SYO      PS     -69.0067    39.5850  Syowa Station, Antarctica               
+PH008    SF      35.9743  -120.5521  SAFOD Pilot Hole, Parkfield, CA         
+109C     TA      32.8889  -117.1051  Camp Elliot, Miramar, CA, USA           
+112A     TA      32.5356  -114.5804  Yuma, AZ, USA                           
+113A     TA      32.7683  -113.7667  Mohawk Valley, Roll, AZ, USA            
+114A     TA      32.7513  -112.8830  Black Gap (USAF), Gila Bend, AZ, USA    
+115A     TA      32.7006  -112.2279  Sonoran Desert, Stanfield, AZ, USA      
+116A     TA      32.5618  -111.7042  Eloy, AZ, USA                           
+117A     TA      32.5716  -110.7393  Oracle, AZ, USA                         
+118A     TA      32.6399  -109.9697  Homack Ranch, Wilcox, AZ, USA           
+119A     TA      32.7663  -109.3029  Ashpeak Ranch, Duncan, AZ, USA          
+120A     TA      32.5466  -108.6330  U Bar Ranch, Lordsburg, NM, USA         
+121A     TA      32.5324  -107.7851  Cookes Peak, Deming, NM, USA            
+122A     TA      32.6995  -107.0005  Conniff Cattle Co., Rinco, NM, USA      
+123A     TA      32.6349  -106.2622  Bell Site, White Sands Missle Range, NM, USA
+124A     TA      32.7001  -105.4544  Stringfield Ranch, Weed, NM, USA        
+125A     TA      32.6588  -104.6573  Gardner Draw, Artesia, NM, USA          
+126A     TA      32.6462  -104.0204  Clayton Basin, Artesia, NM, USA         
+127A     TA      32.6764  -103.3575  Arkansas Junction, Hobbs, NM, USA       
+128A     TA      32.6213  -102.4850  Castleberry Farm, Seminole, TX, USA     
+129A     TA      32.6309  -101.8662  Stewart Farms, Lamesa, TX, USA          
+130A     TA      32.5961  -100.9652  Snyder, TX, USA                         
+131A     TA      32.6737  -100.3888  Roby, TX, USA                           
+214A     TA      31.9559  -112.8115  Organ Pipe National Monument, Ajo, AZ, USA
+216A     TA      32.0022  -111.4574  Three Points, Tucson, AZ, USA           
+217A     TA      31.7748  -110.8162  Green Valley, AZ, USA                   
+218A     TA      31.9737  -110.0464  Dragoon, AZ, USA                        
+219A     TA      31.9989  -109.2592  White Tail Canyon, San Simon, AZ, USA   
+220A     TA      31.9041  -108.5266  Playas Peak, Playas, NM, USA            
+221A     TA      32.0094  -107.7782  Mesquite Ranch, Deming, NM, USA         
+222A     TA      32.1046  -107.1013  Williams Family Ranch, Las Cruces, NM, USA
+223A     TA      32.0062  -106.4276  Chaparral, Anthony, NM, USA             
+224A     TA      32.0760  -105.5226  Cornudas Mountain, Dell City, TX, USA   
+225A     TA      32.1101  -104.8229  Deer Hill, Carlsbad, NM, USA            
+226A     TA      32.0618  -104.1014  Malaga, Loving, NM, USA                 
+226B     TA      32.0778  -104.1654  Tecolote Peak, Malaga, NM, USA          
+227A     TA      32.0120  -103.2924  Bennet, Jal, NM, USA                    
+228A     TA      32.1180  -102.5918  UT Block 9, Goldsmith, TX, USA          
+229A     TA      31.9671  -101.8107  Bryant Ranch, Stanton, TX, USA          
+230A     TA      31.8878  -101.1124  Sterling City, TX, USA                  
+231A     TA      31.9353  -100.3163  Bronte, TX, USA                         
+232A     TA      31.8880   -99.6469  Coleman, TX, USA                        
+318A     TA      31.4390  -109.9907  Bisbee, AZ, USA                         
+319A     TA      31.3757  -109.2809  Douglas, AZ, USA                        
+320A     TA      31.3369  -108.5284  Kipp Ranch, Antelope Well, NM, USA      
+324A     TA      31.4425  -105.4828  Moseley Ranch, Sierra Blanca, TX, USA   
+325A     TA      31.3711  -104.9712  Bean Ranch, Sierra Blanca, TX, USA      
+326A     TA      31.3165  -103.9786  Caldwell Ranch, Toyah, TX, USA          
+327A     TA      31.3691  -103.4923  Balmorhea Ranch, Pecos, TX, USA         
+328A     TA      31.3818  -102.8097  Wristen Ranch, Grandfalls, TX, USA      
+329A     TA      31.4870  -101.9808  Wagon Wheel Ranch, Midkiff, TX, USA     
+330A     TA      31.4063  -101.1752  Mertzon, TX, USA                        
+331A     TA      31.3085  -100.4266  San Angelo, TX, USA                     
+332A     TA      31.3829   -99.7423  Millersview, TX, USA                    
+425A     TA      30.7862  -104.9857  Indio Mountain, Van Horn, TX, USA       
+426A     TA      30.6689  -104.0293  McDonald Observatory, Fort Davis, TX, USA
+427A     TA      30.8498  -103.4018  Hayter Ranch, Fort Stockton, TX, USA    
+428A     TA      30.7263  -102.6847  Kincaid Ranch, Fort Stockton, TX, USA   
+429A     TA      30.6248  -101.8938  Davenport Ranch, Sheffield, TX, USA     
+430A     TA      30.7866  -101.2362  Baggett Ranch, Ozona, TX, USA           
+431A     TA      30.6824  -100.6079  Sonora, TX, USA                         
+432A     TA      30.8755   -99.7937  Menard, TX, USA                         
+526A     TA      30.0609  -104.0898  Mary Lane Ranch, Marfa, TX, USA         
+527A     TA      30.1456  -103.6119  Woodward Ranch, Alpine, TX, USA         
+528A     TA      30.1615  -102.7880  Cox Ranch, Sanderson, TX, USA           
+529A     TA      30.1246  -102.2204  Stev Forest Ranch, Sanderson, TX, USA   
+530A     TA      30.1489  -101.3379  J-C Ranch, Comstock, TX, USA            
+531A     TA      30.1645  -100.5464  Rocksprings, TX, USA                    
+532A     TA      30.1278   -99.9049  Rocksprings, TX, USA                    
+626A     TA      29.5540  -104.1335  Big Bend Ranch, Presidio, TX, USA       
+627A     TA      29.4528  -103.3887  Terlingua Ranch, Terlingua, TX, USA     
+628A     TA      29.4862  -102.8885  Black Gap, Marathon, TX, USA            
+631A     TA      29.4123  -100.5759  Perdido Creek Ranch, Del Rio, TX, USA   
+632A     TA      29.5071   -99.7863  Uvalde, TX, USA                         
+732A     TA      28.7292   -99.9707  Laxson Ranch, Crystal City, TX, USA     
+A04A     TA      48.7197  -122.7070  Legoe Bay, Lummi Island, WA, USA        
+A05A     TA      48.9983  -122.0852  Maple Falls, WA, USA                    
+A06A     TA      49.0983  -121.4804  Chilliwack, BC, Canada                  
+A07A     TA      49.0480  -120.3837  Ashnola River, Keremeos, BC, Canada     
+A08A     TA      48.9534  -119.2725  Turner Farm, Oroville, WA, USA          
+A09A     TA      48.9752  -118.5851  Danville, WA, USA                       
+A10A     TA      48.9813  -117.5586  Northport, WA, USA                      
+A11A     TA      48.9580  -116.3631  Hall Mountain, Copeland, ID, USA        
+A12A     TA      48.9339  -115.6526  Yaak River Ranch, Troy, MT, USA         
+A13A     TA      48.9330  -114.4135  Flathead National Forest, Polebridge, MT, USA
+A14A     TA      48.9725  -113.4218  Double T Ranch, Babb, MT, USA           
+A15A     TA      48.9777  -112.7327  Johnson Ranch, Cut Bank, MT, USA        
+A16A     TA      48.9482  -111.5968  West Butte Ranch, Sweetgrass, MT, USA   
+A17A     TA      48.9448  -110.6994  Triple J Farms, Joplin, MT, USA         
+A18A     TA      48.9198  -109.8459  Metzger Ranch, Havre, MT, USA           
+A19A     TA      48.9286  -108.7429  Klindworth Farms, Hogeland, MT, USA     
+A20A     TA      48.8799  -107.9257  Cobblestone Ranch, Loring, MT, USA      
+A21A     TA      48.9912  -106.9254  Bergtoll Ranch, Theony, MT, USA         
+A22A     TA      48.9926  -105.9153  Carney Farms, Richland, MT, USA         
+A23A     TA      48.9592  -104.8786  Redstone, MT, USA                       
+A24A     TA      48.9239  -104.0018  Westby, ND, USA                         
+A25A     TA      48.9388  -103.1128  Svangstu Ranch, Noonan, ND, USA         
+A26A     TA      48.8973  -102.0380  Wade Farm, Kenmare, ND, USA             
+A27A     TA      48.9533  -101.2407  Ledoux Ranch, Antler, ND, USA           
+A28A     TA      48.9096  -100.2669  Rude Farm, Bottineau, ND, USA           
+A29A     TA      48.9228   -99.2321  Manning Farm, Rocklake, ND, USA         
+A30A     TA      48.9402   -98.3009  Hoffart Farm, Langdon, ND, USA          
+ABTX     TA      32.6238   -99.6431  Abilene, Hawley, TX, USA                
+B04A     TA      48.0575  -123.5040  Port Angeles, WA, USA                   
+B05A     TA      48.2641  -122.0960  Bryant, WA, USA                         
+B06A     TA      48.5183  -121.4845  Marblemount, WA, USA                    
+B07A     TA      48.4607  -120.1197  Winthrop, WA, USA                       
+B08A     TA      48.3584  -119.3332  Colville Reservation, Omak, WA, USA     
+B09A     TA      48.4226  -118.1488  Rice, WA, USA                           
+B10A     TA      48.2995  -117.2252  Chitwood Farm, Usk, WA, USA             
+B11A     TA      48.4366  -116.3674  Sandpoint, ID, USA                      
+B12A     TA      48.4694  -115.5889  Libby, MT, USA                          
+B13A     TA      48.3739  -114.4676  Whitefish, MT, USA                      
+B14A     TA      48.3609  -113.2729  Marquette Ranch, East Glacier, MT, USA  
+B15A     TA      48.3129  -112.5619  Bradely Ranch, Valier, MT, USA          
+B16A     TA      48.4128  -111.7073  M & M Farms, Shelby, MT, USA            
+B17A     TA      48.2921  -110.7988  L&G Farms, Chester, MT, USA             
+B18A     TA      48.3943  -109.7775  Beardsley Farm, Havre, MT, USA          
+B19A     TA      48.4551  -108.9443  Brinkman Farms, Chinook, MT, USA        
+B20A     TA      48.4389  -108.0209  Solberg Farm, Malta, MT, USA            
+B21A     TA      48.4278  -107.0166  Ellsworth Farm, Hinsdale, MT, USA       
+B22A     TA      48.3008  -105.9964  Reddig Ranch South, Frazer, MT, USA     
+B23A     TA      48.4643  -104.9909  Brockton, MT, USA                       
+B25A     TA      48.2716  -103.1613  Knox Farm, Ray, ND, USA                 
+B26A     TA      48.3762  -102.2341  Jensen Ranch, Palermo, ND, USA          
+B27A     TA      48.4044  -101.2600  Peters Farms, Glenburn, ND, USA         
+B28A     TA      48.4492  -100.3616  Dugan Ranch, Towner, ND, USA            
+B29A     TA      48.4649   -99.3535  Wagenman Farm, Cando, ND, USA           
+B30A     TA      48.4505   -98.3286  Myrvik Farm, Edmore, ND, USA            
+BGNE     TA      41.4083   -98.1502  Belgrade, NE, USA                       
+BNLO     TA      37.1311  -122.1729  Ben Lomond (Santa Cruz Mountains), CA, USA
+BRSD     TA      44.4430   -98.9563  Miller, SD, USA                         
+C03A     TA      47.9475  -124.5662  Quillayute Airport, Forks, WA, USA      
+C04A     TA      47.7172  -122.9718  Brinnon, WA, USA                        
+C05A     TA      47.6947  -121.6895  Tolt Reservoir, WA, USA                 
+C06A     TA      47.9230  -120.8944  Tall Timber Ranch, Leavenworth, WA, USA 
+C07A     TA      47.6902  -120.0613  Waterville, WA, USA                     
+C08A     TA      47.7849  -119.0454  Higginbotham Farm, Almira, WA, USA      
+C09A     TA      47.8006  -118.2741  Chrisman Ranch, Davenport, WA, USA      
+C10A     TA      47.8192  -117.3077  Spilker Farm, Colbert, WA, USA          
+C11A     TA      47.8397  -116.2557  Tepee Creek (NFS), Magee, ID, USA       
+C12A     TA      47.7039  -115.4811  Trout Creek, MT, USA                    
+C12B     TA      47.7092  -115.4750  Naegeli Ranch, Trout Creek, MT, USA     
+C13A     TA      47.6795  -114.5735  Hot Springs, MT, USA                    
+C14A     TA      47.7687  -113.7468  Swan Lake, MT, USA                      
+C15A     TA      47.7750  -112.6072  Salmond Ranch, Choteau, MT, USA         
+C16A     TA      47.8012  -111.7458  Fuhringer Ranch, Dutton, MT, USA        
+C17A     TA      47.6327  -110.7626  Wharram Farm, Highwood, MT, USA         
+C19A     TA      47.7343  -109.0489  Slack Wire Ranch, Winifred, MT, USA     
+C20A     TA      47.7133  -108.0042  Veseth Ranch, Zortman, MT, USA          
+C21A     TA      47.8264  -107.0960  Desert Coulee Ranch, Glasgow, MT, USA   
+C22A     TA      47.7456  -105.8841  Vida, MT, USA                           
+C23A     TA      47.8026  -105.1844  Lambert, MT, USA                        
+C24A     TA      47.5302  -104.4252  Savage, MT, USA                         
+C25A     TA      47.7124  -103.2558  Freed Ranch, Watford, ND, USA           
+C26A     TA      47.8259  -102.0957  Wahner Farm, Parshall, ND, USA          
+C27A     TA      47.7139  -101.5029  Sayler Ranch, Douglas, ND, USA          
+C28A     TA      47.7157  -100.3871  Hausauer Farms, Kief, ND, USA           
+C30A     TA      47.7026   -98.4783  Mose, Pekin, ND, USA                    
+D03A     TA      47.1161  -123.7714  Wishkah Elem. School, Wishkah, WA, USA  
+D04A     TA      47.1109  -122.8035  Dobbs Creek Ranch, Lacey, WA, USA       
+D05A     TA      47.1881  -121.9888  Enumclaw, WA, USA                       
+D06A     TA      47.1935  -120.8445  Cle Elum, WA, USA                       
+D07A     TA      47.1936  -119.9732  Quincy, WA, USA                         
+D08A     TA      47.0573  -118.9210  Wollman Farm, Schrag, WA, USA           
+D09A     TA      47.0615  -118.3092  Jones Farm, Ritzville, WA, USA          
+D10A     TA      47.0547  -117.2759  Wagner Farm, Oakesdale, WA, USA         
+D11A     TA      47.0477  -116.3353  Klaveano Farm, Fernwood, ID, USA        
+D12A     TA      47.0528  -115.3525  Red Ives Forest Station, Avery, ID, USA 
+D13A     TA      47.0943  -114.4587  Huson, MT, USA                          
+D14A     TA      47.0816  -113.5062  Greenough, MT, USA                      
+D15A     TA      47.0418  -112.5204  Lincoln, MT, USA                        
+D16A     TA      47.0308  -111.5492  Dana Ranch, Cascade, MT, USA            
+D17A     TA      47.1523  -110.6873  Six Diamond Ranch, Ranyesford, MT, USA  
+D18A     TA      47.1961  -109.8023  Linhart Farms, Moccasin, MT, USA        
+D19A     TA      47.1646  -108.8800  Cripps Ranch, Grass Range, MT, USA      
+D20A     TA      47.0911  -108.1362  Manuel Ranch, Winnett, MT, USA          
+D21A     TA      47.0658  -106.9939  La Casta Ranch, Jordon, MT, USA         
+D22A     TA      47.1498  -106.1797  Cohagen, MT, USA                        
+D23A     TA      47.1730  -105.2071  Lindsay, MT, USA                        
+D24A     TA      47.1152  -104.3270  Glendive, MT, USA                       
+D25A     TA      47.1508  -103.3203  Fairfield, ND, USA                      
+D26A     TA      47.0301  -102.4357  Manning, ND, USA                        
+D27A     TA      47.1081  -101.5254  Center, ND, USA                         
+D28A     TA      47.1929  -100.5692  Regan, ND, USA                          
+D29A     TA      47.0605   -99.5957  Pettibone, Tappen, ND, USA              
+D30A     TA      47.1082   -98.7576  Buchanan, ND, USA                       
+E03A     TA      46.5459  -123.5632  Lebam, WA, USA                          
+E04A     TA      46.5934  -122.7204  Onalaska, WA, USA                       
+E05A     TA      46.5605  -121.7608  Randle, WA, USA                         
+E06A     TA      46.5433  -120.9791  Yakima, WA, USA                         
+E07A     TA      46.5585  -119.8548  Sunnyside, WA, USA                      
+E08A     TA      46.4911  -119.0595  Dider Farm, Eltopia, WA, USA            
+E09A     TA      46.5139  -118.1455  Wood Farm, Starbuck, WA, USA            
+E10A     TA      46.4850  -117.1102  Myers Farm, Uniontown, WA, USA          
+E11A     TA      46.3559  -116.2092  Bogner Ranch, Nez Perce, ID, USA        
+E12A     TA      46.4151  -115.5705  Beaver Dam Saddle, Pierce, ID, USA      
+E13A     TA      46.4423  -114.1880  Victor, MT, USA                         
+E14A     TA      46.4162  -113.4926  Clinton, MT, USA                        
+E15A     TA      46.4246  -112.6412  Deer Lodge, MT, USA                     
+E16A     TA      46.5336  -111.6764  East Helena, MT, USA                    
+E17A     TA      46.4620  -110.8576  Martinsdale, MT, USA                    
+E18A     TA      46.5663  -109.9137  Harlowton, MT, USA                      
+E19A     TA      46.4611  -108.7860  Rath Farm, Roundup, MT, USA             
+E20A     TA      46.5038  -108.1301  Meyer Farm, Musselshell, MT, USA        
+E21A     TA      46.5408  -107.0757  Keefer Ranch, Vananda, MT, USA          
+E22A     TA      46.4386  -105.9488  Miles City, MT, USA                     
+E23A     TA      46.4978  -105.3062  Ismay, MT, USA                          
+E24A     TA      46.5608  -104.3073  Baker, MT, USA                          
+E25A     TA      46.5009  -103.4013  Miller Ranch, Amidon, ND, USA           
+E26A     TA      46.4712  -102.4621  Carlson Angus Ranch, Regent, ND, USA    
+E27A     TA      46.4293  -101.5645  Carson, ND, USA                         
+E28A     TA      46.5748  -100.6934  Huff, ND, USA                           
+E29A     TA      46.5682   -99.6420  Napoleon, ND, USA                       
+E30A     TA      46.5021   -98.9098  Jud, ND, USA                            
+ELFS     TA      40.6183  -120.7279  Eagle Lake Field Station, Susanville, CA, USA
+F03A     TA      45.9306  -123.5591  Seaside, OR, USA                        
+F04A     TA      45.9325  -122.4193  Amboy, WA, USA                          
+F05A     TA      45.8839  -121.4588  White Salmon, WA, USA                   
+F06A     TA      45.7664  -120.7817  Goldendale, WA, USA                     
+F07A     TA      45.8951  -119.9278  Phinny Hill Vineyards, Prosser, WA, USA 
+F08A     TA      45.7971  -118.7768  Pendleton, OR, USA                      
+F09A     TA      45.7087  -117.9094  S2 Ranch, Elgin, OR, USA                
+F10A     TA      45.9734  -117.2277  Beach Ranch, Enterprise, OR, USA        
+F11A     TA      45.8883  -116.1549  Grangeville, ID, USA                    
+F12A     TA      45.7565  -115.2547  Elk City, ID, USA                       
+F13A     TA      45.7893  -114.3317  Darby, MT, USA                          
+F14A     TA      45.8122  -113.3699  Wisdom, MT, USA                         
+F15A     TA      45.8409  -112.4929  Butte, MT, USA                          
+F16A     TA      45.7843  -111.6262  Kennard Place, Willow Creek, MT, USA    
+F17A     TA      45.9054  -110.6590  Fitzpatrick Place, Clyde Park, MT, USA  
+F18A     TA      45.9046  -109.7158  Big Timber, MT, USA                     
+F19A     TA      45.8538  -108.9437  Roth Fram, Molt, MT, USA                
+F20A     TA      45.8006  -108.1488  Billings, MT, USA                       
+F21A     TA      45.8231  -107.1233  Absaloka Mine, Hardin, MT, USA          
+F22A     TA      45.7794  -106.2569  Rosebud, MT, USA                        
+F23A     TA      45.7212  -105.4056  Volborg, MT, USA                        
+F24A     TA      45.8452  -104.4448  Ekalaka, MT, USA                        
+F25A     TA      45.9256  -103.4576  Bowman, SD, USA                         
+F26A     TA      45.8512  -102.6697  Lodgepole, SD, USA                      
+F27A     TA      45.8727  -102.0203  Lemmon, SD, USA                         
+F28A     TA      45.8485  -100.8005  McLaughlin, SD, USA                     
+F29A     TA      45.8336   -99.8273  Eureka, SD, USA                         
+F30A     TA      45.8356   -99.0250  Leola, SD, USA                          
+G03A     TA      45.3153  -123.2811  Yamhill, OR, USA                        
+G04A     TA      45.2059  -122.4784  Mulino, OR, USA                         
+G05A     TA      45.2422  -121.3167  Wamic, OR, USA                          
+G06A     TA      45.2357  -120.6351  Carlson Farm, Grass Valley, OR, USA     
+G07A     TA      45.2664  -119.6692  Ruggs Ranch, Heppner, OR, USA           
+G08A     TA      45.2904  -118.9595  Pilot Rock, OR, USA                     
+G09A     TA      45.2781  -117.7802  Cove, OR, USA                           
+G10A     TA      45.2925  -117.1204  Bishop Farm, Joseph, OR, USA            
+G11A     TA      45.3997  -116.2680  Walters Elk Ranch, Riggins, ID, USA     
+G12A     TA      45.1285  -115.3257  Big Creek, Yellow Pine, ID, USA         
+G13A     TA      45.0931  -114.2329  Cobalt, ID, USA                         
+G14A     TA      45.2432  -113.4604  Jackson, MT, USA                        
+G15A     TA      45.1660  -112.4887  Dillon, MT, USA                         
+G16A     TA      45.2285  -111.8046  Moss Hill, Ennis, MT, USA               
+G17A     TA      45.3212  -110.7398  Pierce Place, Pray, MT, USA             
+G18A     TA      45.3171  -109.5631  Lazy EL Ranch, Roscoe, MT, USA          
+G20A     TA      45.2202  -108.2141  Bridger, MT, USA                        
+G21A     TA      45.2250  -107.2070  Lodge Grass, MT, USA                    
+G22A     TA      45.2189  -106.2924  Birney, MT, USA                         
+G23A     TA      45.2012  -105.3907  Biddle, MT, USA                         
+G24A     TA      45.3280  -104.4163  Alzada, MT, USA                         
+G25A     TA      45.1935  -103.4173  Newell, SD, USA                         
+G26A     TA      45.2937  -102.5990  Maurine, SD, USA                        
+G27A     TA      45.3791  -102.9310  Dupree, SD, USA                         
+G28A     TA      45.0749  -100.9161  Parade, SD, USA                         
+G29A     TA      45.1926   -99.9234  Hoven, SD, USA                          
+G30A     TA      45.1293   -99.1446  Faulkton, SD, USA                       
+H02A     TA      44.6764  -123.9997  Toledo, OR, USA                         
+H03A     TA      44.6765  -123.2923  Soap Creek Ranch, Albany, OR, USA       
+H04A     TA      44.6837  -122.1862  Detroit Lake, OR, USA                   
+H05A     TA      44.6473  -121.2271  Madras, OR, USA                         
+H06A     TA      44.7344  -120.3346  Lindquist Farm, Mitchell, OR, USA       
+H07A     TA      44.5913  -119.5646  Lands Inn, Kimberly, OR, USA            
+H08A     TA      44.5191  -118.6704  Prairie City, OR, USA                   
+H09A     TA      44.6653  -117.6643  Durkee, OR, USA                         
+H10A     TA      44.5890  -116.7474  Noah's Angus Ranch, Cambridge, ID, USA  
+H11A     TA      44.7035  -116.0127  Donnelly, ID, USA                       
+H12A     TA      44.5494  -114.8554  Diamond D Ranch, Stanley, ID, USA       
+H13A     TA      44.5642  -114.2545  Challis, ID, USA                        
+H14A     TA      44.6165  -113.3674  Leadore, ID, USA                        
+H15A     TA      44.6173  -112.6439  Lima, MT, USA                           
+H16A     TA      44.7038  -111.2478  Russell Place, West Yellowstone, MT, USA
+H17A     TA      44.3951  -110.5762  Grant Village (NPS), Yellowstone Nt. Park, WY, USA
+H18A     TA      44.6769  -109.6641  Shoshone NF, Cody, WY, USA              
+H19A     TA      44.6704  -108.9857  Powell, WY, USA                         
+H20A     TA      44.4868  -107.9990  Greybull, WY, USA                       
+H21A     TA      44.6277  -107.0423  Big Horn, Sheridan, WY, USA             
+H22A     TA      44.5943  -106.3521  Lovato Ranch, Clearmont, WY, USA        
+H23A     TA      44.5620  -105.4007  Clabaugh Cattle Company, Gillette, WY, USA
+H24A     TA      44.7473  -104.5524  Dirks Ranch, Alva, WY, USA              
+H25A     TA      44.6215  -103.5981  Fruitdale, SD, USA                      
+H26A     TA      44.6168  -102.7739  Fairpoint, SD, USA                      
+H27A     TA      44.6329  -102.0775  Howes, SD, USA                          
+H28A     TA      44.6751  -101.0206  Mission Ridge, SD, USA                  
+H29A     TA      44.6261  -100.2125  Onida, SD, USA                          
+HAST     TA      36.3887  -121.5514  UC Hastings Reserve, Carmel Valley, CA, USA
+HATC     TA      40.8161  -121.4612  Hat Creek Radio Observatory, Hat Creek, CA, USA
+HELL     TA      36.6801  -119.0228  Mitchell Peak, Miramonte, CA, USA       
+I02A     TA      44.0035  -123.8299  Mapleton, OR, USA                       
+I03A     TA      43.9726  -123.2777  Eugene, OR, USA                         
+I04A     TA      43.7941  -122.4113  Tendick Farm, Oakridge, OR, USA         
+I05A     TA      44.1626  -121.2675  Bend, OR, USA                           
+I06A     TA      43.9437  -120.2107  Prineville, OR, USA                     
+I07A     TA      44.0820  -119.5042  Izee, OR, USA                           
+I08A     TA      43.9104  -118.5692  Drewsey, OR, USA                        
+I09A     TA      43.9733  -117.7407  Lost Marbles Ranch, Westfall, OR, USA   
+I10A     TA      44.0860  -116.8029  Payette, ID, USA                        
+I11A     TA      43.9121  -115.9578  Placerville, ID, USA                    
+I12A     TA      43.7945  -115.1328  Atlanta, ID, USA                        
+I13A     TA      43.9146  -114.1169  Wildhorse Creek, Mackay, ID, USA        
+I14A     TA      43.9286  -113.4518  Mackay, ID, USA                         
+I15A     TA      43.9997  -112.4850  Monteview, ID, USA                      
+I16A     TA      43.8756  -111.4868  Newdale, ID, USA                        
+I17A     TA      43.9200  -110.5759  Pilgram Creek (NPS), Teton National Park, WY, USA
+I18A     TA      43.7013  -109.8171  Diamond G Ranch, Dubois, WY, USA        
+I19A     TA      44.0363  -108.9943  Meeteetse, WY, USA                      
+I20A     TA      43.9496  -108.1283  Worland, WY, USA                        
+I21A     TA      43.8122  -107.2920  Big Trails, Ten Sleep, WY, USA          
+I22A     TA      43.8924  -106.4840  9 Mile Ranch, Kaycee, WY, USA           
+I23A     TA      43.9605  -105.4629  Meade Ranch, Gillette, WY, USA          
+I24A     TA      43.8594  -104.6263  Kuemmerle Ranch, Upton, WY, USA         
+I25A     TA      44.0196  -103.7324  Rochford, SD, USA                       
+I26A     TA      44.0309  -102.8596  New Underwood, SD, USA                  
+I27A     TA      44.0690  -102.0525  Quinn, SD, USA                          
+I28A     TA      43.9996  -101.1692  Midland, SD, USA                        
+I29A     TA      44.0215  -100.3034  Vivian, Onida, SD, USA                  
+I30A     TA      43.9143   -99.4262  Oacoma, SD, USA                         
+J02A     TA      43.3654  -123.5747  Umpqua, OR, USA                         
+J03A     TA      43.3717  -122.9646  Ideyld Park, OR, USA                    
+J04A     TA      43.2406  -122.1093  Umpqua National Forest, Toketee, OR, USA
+J05A     TA      43.2843  -121.2357  Fort Rock, OR, USA                      
+J06A     TA      43.2515  -120.1528  Christmas Valley, OR, USA               
+J07A     TA      43.3736  -119.3105  Hines, OR, USA                          
+J08A     TA      43.3580  -118.4743  Circle Bar Ranch, Crane, OR, USA        
+J09A     TA      43.3471  -117.7542  Fry Pan Ranch, Harper, OR, USA          
+J10A     TA      43.4275  -116.7670  Berg Farm, Melba ID, USA                
+J11A     TA      43.4151  -115.8278  Camas Ranch, Mayfield, ID, USA          
+J12A     TA      43.2500  -115.0980  Stokes Ranch, Hill City, ID, USA        
+J13A     TA      43.3979  -114.1742  Cove Ranch, Picabo, ID, USA             
+J14A     TA      43.3234  -113.5178  Carey, ID, USA                          
+J15A     TA      43.3998  -112.4334  Blackfoot, ID, USA                      
+J16A     TA      43.2741  -111.6119  Bone, ID, USA                           
+J17A     TA      43.3629  -110.7118  Brown Place, Jackson, WY, USA           
+J18A     TA      43.2112  -110.0200  Kendall Valley, Cora, WY, USA           
+J19A     TA      43.2649  -109.0531  Crowheart, WY, USA                      
+J20A     TA      43.3531  -108.0842  Shoshoni, WY, USA                       
+J21A     TA      43.3459  -107.4459  Lysite, WY, USA                         
+J22A     TA      43.4126  -106.4785  Midwest, WY, USA                        
+J23A     TA      43.4036  -105.5524  Dilts Ranch, Bill, WY, USA              
+J24A     TA      43.3305  -104.6613  Dixon Ranch, Lance Creek, WY, USA       
+J25A     TA      43.3901  -103.8026  Sunshine Ranch, Edgemont, SD, USA       
+J26A     TA      43.3126  -103.0752  Sides Ranch, Smithwick, SD, USA         
+J27A     TA      43.2526  -102.0069  Elkhorn Farm, Martin, SD, USA           
+J28A     TA      43.4239  -101.2359  Allard Ranch, Norris, SD, USA           
+J29A     TA      43.4061  -100.3253  Okreek, SD, USA                         
+J30A     TA      43.3248   -99.4922  Dallas, SD, USA                         
+K01A     TA      42.8088  -124.4692  Sixes, OR, USA                          
+K02A     TA      42.7667  -123.4898  Glendale, OR, USA                       
+K04A     TA      42.6133  -121.7307  Chilquin, OR, USA                       
+K05A     TA      42.7258  -120.8934  Summer Lake, OR, USA                    
+K06A     TA      42.7991  -120.2510  Valley Falls, OR, USA                   
+K07A     TA      42.6912  -119.2469  Rock Creek Ranch, Frenchglen, OR, USA   
+K08A     TA      42.7308  -118.4864  Mann Creek Ranch, Princeton, OR, USA    
+K09A     TA      42.6996  -117.7251  Rome, OR, USA                           
+K10A     TA      42.7779  -116.8705  MacKenzie Ranch, Jordan Valley, OR, USA 
+K11A     TA      42.7713  -116.0323  Parker Ranch, Bruneau, ID, USA          
+K12A     TA      42.6360  -114.9029  Draper Farm, Castleford, ID, USA        
+K13A     TA      42.6493  -114.0840  Stover Farm, Hazelton, ID, USA          
+K14A     TA      42.5452  -113.1760  Jones Ranch, Declo, ID, USA             
+K15A     TA      42.6852  -112.5305  Arbon, ID, USA                          
+K16A     TA      42.8321  -111.5884  Soda Springs, ID, USA                   
+K17A     TA      42.7507  -110.9201  Gardner Place, Afton, WY, USA           
+K18A     TA      42.6372  -110.0417  Toltan Ranch, Big Piney, WY, USA        
+K19A     TA      42.8247  -108.8466  Absolon Red Butte, Lander, WY, USA      
+K20A     TA      42.6579  -108.3418  Yellowstone Ranch, Lander, WY, USA      
+K21A     TA      42.6332  -107.2510  Alcova, Casper, WY, USA                 
+K22A     TA      42.6507  -106.5240  Casper, WY, USA                         
+K23A     TA      42.7546  -105.6251  Bowen Ranch, Douglas, WY, USA           
+K24A     TA      42.7225  -104.8152  Anderson Ranch, Keeline, WY, USA        
+K25A     TA      42.6120  -103.8705  Mack Ranch, Harrison, NE, USA           
+K26A     TA      42.7016  -103.1783  Motz Farm, Whitney, NE, USA             
+K27A     TA      42.7036  -102.2364  Flueckinger Farm, Gordon, NE, USA       
+K28A     TA      42.7136  -101.3665  Ten Mile Ranch, Cody, NE, USA           
+K29A     TA      42.7612  -100.3182  Lazy Trails Angus Ranch, Wood Lake, NE, USA
+K30A     TA      42.6742   -99.6131  Basset, NE, USA                         
+KMSC     TA      35.1420   -81.3333  Kings Mountain, Blacksburg, SC, USA     
+KSCO     TA      39.0112  -102.6273  Kaye Shedlock's, Cheyenne Wells, CO, USA
+L02A     TA      42.1560  -123.6018  Cave Junction, OR, USA                  
+L04A     TA      42.1750  -121.8910  Klamath Falls, OR, USA                  
+L05A     TA      42.0472  -120.8336  Lakeview, OR, USA                       
+L07A     TA      42.0187  -119.3398  Adell, OR, USA                          
+L08A     TA      42.1901  -118.3445  Fields, OR, USA                         
+L09A     TA      42.0192  -117.6667  Wilkinson Ranch, McDermitt, NV, USA     
+L10A     TA      42.0773  -116.4711  Juniper Basin Ranch, Riddle, ID, USA    
+L11A     TA      42.1669  -115.7541  Cat Creek Ranch, Riddle, ID, USA        
+L12A     TA      42.1460  -115.0162  House Creek Ranch, Rogerson, ID, USA    
+L13A     TA      42.0886  -113.9444  Double Diamond Ranch, Oakley, ID, USA   
+L14A     TA      42.0343  -113.2398  Malta, ID, USA                          
+L15A     TA      42.0041  -112.3860  Malad City, ID, USA                     
+L16A     TA      42.0149  -111.4319  Fish Haven, ID, USA                     
+L17A     TA      42.0995  -110.8727  Cokeville, WY, USA                      
+L18A     TA      41.9243  -110.0364  Fontenelle, Green River, WY, USA        
+L19A     TA      42.1012  -109.3575  Farson, WY, USA                         
+L20A     TA      42.0073  -108.3398  Wamsutter, WY, USA                      
+L21A     TA      41.9641  -107.3695  Rawlins, WY, USA                        
+L22A     TA      42.0310  -106.4338  Ellis Ranch, Medicine Bow, WY, USA      
+L23A     TA      42.1143  -105.7012  Garrett, WY, USA                        
+L24A     TA      42.0432  -104.9326  Wheatland, WY, USA                      
+L25A     TA      42.1548  -103.9657  Engebretsen Ranch, Morrill, NE, USA     
+L26A     TA      42.0367  -103.0795  Underwood Farm, Alliance, NE, USA       
+L27A     TA      42.0837  -102.3154  T5 Ranch, Ellsworth, NE, USA            
+L28A     TA      42.0073  -101.5196  Connealy Angus Ranch, Whitman, NE, USA  
+L29A     TA      42.0641  -100.4779  Maesberg Ranch, Thedford, NE, USA       
+L30A     TA      41.9492   -99.7196  Spencer Herefords Ranch, Brewster, NE, USA
+L31A     TA      42.1760   -98.8387  Butterfield Farm, Chambers, NE, USA     
+LAVA     TA      38.7552  -120.7395  Lava Cap Winery, Placerville, CA, USA   
+M01C     TA      41.8473  -124.1221  Crescent City, CA, USA                  
+M02C     TA      41.3920  -122.8538  Callahan, CA, USA                       
+M03C     TA      41.2742  -122.1220  McCloud, CA, USA                        
+M04C     TA      41.7826  -121.8393  Macdoel, CA, USA                        
+M05C     TA      41.3593  -121.1457  Lookout, CA, USA                        
+M06C     TA      41.2047  -120.4772  Likely Place Golf, Likely, CA, USA      
+M07A     TA      41.3884  -119.1711  Soldier Meadows, NV, USA                
+M08A     TA      41.4483  -118.3792  Happy Creek Ranch, Winnemucca, NV, USA  
+M09A     TA      41.4230  -117.4497  Marrel Ranch, Paradise Valley, NV, USA  
+M10A     TA      41.5220  -116.5396  I.L. Ranch, Tuscararo, NV, USA          
+M11A     TA      41.4311  -115.7912  Holland Ranch, North Fork, NV, USA      
+M12A     TA      41.4157  -114.9151  Wells, NV, USA                          
+M13A     TA      41.3602  -114.1655  Montello, NV, USA                       
+M14A     TA      41.5030  -113.3471  Sheep Mountain BLM, Rosette, UT, USA    
+M15A     TA      41.4632  -112.4477  Larsen Ranch, Promontory, UT, USA       
+M16A     TA      41.3146  -111.6298  Huntsville, UT, USA                     
+M17A     TA      41.4729  -110.6664  Scullys Gap (BLM), Evanston, WY, USA    
+M18A     TA      41.4272  -110.0674  Lyman, WY, USA                          
+M19A     TA      41.5047  -109.1569  Rock Springs, WY, USA                   
+M20A     TA      41.4906  -108.1865  Sweetwater, Wamsutter, WY, USA          
+M21A     TA      41.6067  -107.3635  Separation Peak, Rawlins, WY, USA       
+M22A     TA      41.4033  -106.5958  Cedar Creek Ranch, Saratoga, WY, USA    
+M23A     TA      41.4680  -105.7221  Laramie, WY, USA                        
+M24A     TA      41.4676  -104.8248  Cheyenne, WY, USA                       
+M25A     TA      41.4347  -104.0551  Palm-Egli Farm, Albin, WY, USA          
+M26A     TA      41.4661  -103.1427  McRoberts Ranch, Bridgeport, NE, USA    
+M27A     TA      41.5281  -102.3872  Reverse DX Ranch, Oshkosh, NE, USA      
+M28A     TA      41.3956  -101.3715  Bar X Bar Ranch, Keystone, NE, USA      
+M29A     TA      41.4441  -100.6892  Burnside Ranch, Stapleton, NE, USA      
+M30A     TA      41.5371   -99.8723  Dale-Ortello Valley, Anselmo, NE, USA   
+M31A     TA      41.3440   -98.9766  Lambtecht Ranch, Loup City, NE, USA     
+MDND     TA      47.8481   -99.6029  Maddock, ND, USA                        
+MSTX     TA      33.9696  -102.7724  Muleshoe, TX, USA                       
+N02C     TA      40.8220  -123.3057  Big Bar, CA, USA                        
+N06A     TA      40.7484  -119.8346  Buffalo Meadows, Empire, NV, USA        
+N07A     TA      40.7721  -118.9716  Gerlach, NV, USA                        
+N07B     TA      40.7797  -118.9711  Gerlach, NV, USA                        
+N08A     TA      40.7811  -118.1337  GE Springer Mine, Mill City, NV, USA    
+N09A     TA      40.8520  -117.5244  Rock Creek Ranch, Golconda, NV, USA     
+N10A     TA      40.7186  -116.5080  Dunphy, NV, USA                         
+N11A     TA      40.8167  -115.7360  Elko Archery Club, Elko, NV, USA        
+N12A     TA      40.8522  -115.0387  Clover Valley, Wells, NV, USA           
+N13A     TA      40.8556  -114.2045  Wendover, West Wendover, NV, USA        
+N14A     TA      40.8513  -113.1867  Grayback Hills BLM, Clive, UT, USA      
+N15A     TA      40.8903  -112.5201  Stansbury Island BLM, Grantsville, UT, USA
+N16A     TA      40.8869  -111.4370  Rees Ranch, Coalville, UT, USA          
+N17A     TA      40.9425  -110.8335  Moffit Pass, UT, USA                    
+N18A     TA      40.9763  -109.6731  Larsen Ranch, Manila, UT, USA           
+N19A     TA      40.8936  -109.1772  John Jarvie Ranch (BLM), Flaming Gorge, UT, USA
+N20A     TA      40.8338  -108.2626  Spence Gulch, Sunbeam, CO, USA          
+N21A     TA      40.7600  -107.5196  Black Mountain, Craig, CO, USA          
+N22A     TA      40.8023  -106.4544  Wattenberg Ranch, Walden, CO, USA       
+N23A     TA      40.8947  -105.9440  Red Feather Lakes, CO, USA              
+N24A     TA      40.8271  -104.8824  Carr, CO, USA                           
+N25A     TA      40.8132  -104.0873  Grover, CO, USA                         
+N26A     TA      40.8289  -103.2221  Koester Ranch, Padroni, CO, USA         
+N27A     TA      40.8063  -102.5367  Anderson Farm, Haxtun, CO, USA          
+N28A     TA      40.6873  -101.5406  Pribbeno Ranch, Imperial, NE, USA       
+N29A     TA      40.8189  -100.6264  Votaw Ranch, Wellfleet, NE, USA         
+N30A     TA      40.7957  -100.1001  Hueftle Ranch, Cozad, NE, USA           
+N31A     TA      40.8235   -98.9544  Bailey Ranch, Gibbon, NE, USA           
+N32A     TA      40.7639   -98.2955  Stulken Farm, Doniphan, NE, USA         
+O01C     TA      40.1398  -123.8195  Eel River Conservation Camp, Redway, CA, USA
+O02C     TA      40.1767  -122.7883  Red Bluff, CA, USA                      
+O03C     TA      39.9971  -122.0319  Acorn Hollow, Los Molinos, CA, USA      
+O04C     TA      40.3200  -121.0860  Chester, CA, USA                        
+O05C     TA      39.9620  -120.9176  Quincy, CA, USA                         
+O06A     TA      40.1650  -119.8275  Flanigan, NV, USA                       
+O07A     TA      40.1614  -118.8772  Toulon, NV, USA                         
+O08A     TA      40.2903  -118.1550  Rochester Mine, Lovelock, NV, USA       
+O09A     TA      40.1697  -117.1899  Fish Creek Ranch, Battle Mountain, NV, USA
+O10A     TA      40.2917  -116.4999  Cortez Mining, Crescent City, NV, USA   
+O11A     TA      40.1313  -115.6570  Cowboy Ranch, Jiggs, NV, USA            
+O12A     TA      40.2679  -114.7454  Currie, NV, USA                         
+O13A     TA      40.1314  -113.9814  Hicks Ranch, Ibapah, UT, USA            
+O15A     TA      40.2807  -112.4694  The Old Anderson's Place, Rush Valley, UT, USA
+O16A     TA      40.2067  -111.5024  Springville, UT, USA                    
+O17A     TA      40.1948  -110.7378  Robinson Place, Fruitland, UT, USA      
+O18A     TA      40.2655  -110.0082  Roosevelt, UT, USA                      
+O19A     TA      40.2982  -109.1236  Miners Draw (BLM), Jensen, UT, USA      
+O20A     TA      40.1348  -108.2416  White River City, CO, USA               
+O21A     TA      40.2149  -107.4705  Pagoda, CO, USA                         
+O22A     TA      40.1618  -106.5470  Kremmling, CO, USA                      
+O23A     TA      40.2109  -105.9178  Lake Granby, Granby, CO, USA            
+O24A     TA      40.1227  -105.0729  Longmont, CO, USA                       
+O25A     TA      40.1129  -104.1201  Wiggins, CO, USA                        
+O26A     TA      40.2422  -103.3128  Horse Wrangler Ranch, Akron, CO, USA    
+O27A     TA      40.1900  -102.4794  Beecher Island, Eckley, CO, USA         
+O28A     TA      40.1262  -101.7735  Krutsinger Ranch, Parks, NE, USA        
+O29A     TA      40.1253  -100.7977  4D Ranch, Culbertson, NE, USA           
+O30A     TA      40.1791  -100.0571  M W Ranch, Wilsonville, NE, USA         
+O31A     TA      40.1521   -99.3261  Woollen Ranch, Alma, NE, USA            
+O32A     TA      40.2610   -98.2764  Brockman Farm, Red Cloud, NE, USA       
+P01C     TA      39.4690  -123.3375  Double 8 Ranch, Willits, CA, USA        
+P05C     TA      39.3028  -120.6077  Yuba Gap, Truckee, CA, USA              
+P06A     TA      39.6785  -119.8983  Stead Airport, Stead, NV, USA           
+P07A     TA      39.5399  -118.8893  Fallon, NV, USA                         
+P08A     TA      39.6946  -118.0800  Dixie Valley, NV, USA                   
+P09A     TA      39.5516  -117.1395  Austin, NV, USA                         
+P10A     TA      39.6202  -116.4639  Eureka, NV, USA                         
+P11A     TA      39.5530  -115.7536  Circle Ranch, Eureka, NV, USA           
+P12A     TA      39.4731  -114.9075  McGill, NV, USA                         
+P13A     TA      39.4550  -114.0156  Bates Ranch, Gandy, UT, USA             
+P14A     TA      39.5906  -113.0687  Drum Mountains (BLM), Topaz, UT, USA    
+P15A     TA      39.5708  -112.2786  Leamington, UT, USA                     
+P16A     TA      39.6092  -111.6595  Fountain Green, UT, USA                 
+P17A     TA      39.4730  -110.7400  Butcher Ranch, Price, UT, USA           
+P18A     TA      39.6279  -110.2457  Preston Nutter Ranch, Sunnyside, UT, USA
+P19A     TA      39.6333  -108.9812  Cripple Cowboy Ranch, Baxter Pass, CO, USA
+P20A     TA      39.4998  -108.3912  De Beque, CO, USA                       
+P21A     TA      39.5240  -107.4493  Newcastle, CO, USA                      
+P22A     TA      39.5952  -106.7589  Eagle, CO, USA                          
+P23A     TA      39.3741  -105.8388  Jefferson, CO, USA                      
+P24A     TA      39.5144  -104.9082  Kohler Place, Littleton, CO, USA        
+P25A     TA      39.5125  -104.1680  Willow Gulch Bison Ranch, Deer Trail, CO, USA
+P26A     TA      39.5602  -103.3465  Davis Ranch, Arriba, CO, USA            
+P27A     TA      39.5559  -102.5782  Ficken Ranch, Kirk, CO, USA             
+P28A     TA      39.5732  -101.7548  Satin Francis, KS, USA                  
+P29A     TA      39.6021  -100.9316  Atwood, KS, USA                         
+P30A     TA      39.5442  -100.2468  Selden, KS, USA                         
+P31A     TA      39.5211   -99.3783  Stockton, KS, USA                       
+P32A     TA      39.6223   -98.6011  Huiting Farm, Downs, KS, USA            
+P33A     TA      39.4363   -97.6946  Williams Farm, Concordia, KS, USA       
+Q03C     TA      38.6333  -122.0145  Winters, CA, USA                        
+Q04C     TA      38.8390  -121.3769  Lincoln, CA, USA                        
+Q07A     TA      38.9383  -118.8078  Schurz, NV, USA                         
+Q08A     TA      38.8606  -117.9316  Gabbs, NV, USA                          
+Q09A     TA      38.8340  -117.1816  Carvers, NV, USA                        
+Q10A     TA      38.8247  -116.3999  Clear Creek Ranch, Tonopah, NV, USA     
+Q11A     TA      38.8455  -115.6541  Duckwater, NV, USA                      
+Q12A     TA      39.0400  -114.8299  Willow Creek Ranch, Ely, NV, USA        
+Q13A     TA      38.9551  -114.0202  Wheeler Ranch, Garrison, UT, USA        
+Q14A     TA      38.9882  -113.2769  Sevier Lake (BLM), Delta, UT, USA       
+Q15A     TA      38.9995  -112.3793  Fillmore, UT, USA                       
+Q16A     TA      38.9176  -111.1716  Castle Valley Ranch, Emery, UT, USA     
+Q18A     TA      39.1025  -110.1328  Rafter H Ranch, Green River, UT, USA    
+Q19A     TA      38.9553  -109.2630  Hogan Spring (BLM), Cisco, UT, USA      
+Q20A     TA      38.9541  -108.2956  Ridgley Place, Grand Junction, CO, USA  
+Q21A     TA      38.8347  -107.5738  Lamborn Mesa, Paonia, CO, USA           
+Q22A     TA      38.8627  -106.9096  Crested Butte, Gunnison, CO, USA        
+Q23A     TA      38.9045  -105.8337  Hartsel, CO, USA                        
+Q24A     TA      38.9641  -105.1492  Divide, CO, USA                         
+Q25A     TA      38.9145  -104.2472  Bedland, Calhan, CO, USA                
+Q26A     TA      38.9234  -103.5195  Hugo, CO, USA                           
+Q28A     TA      39.0623  -101.8309  Sharon Springs, KS, USA                 
+Q29A     TA      38.8905  -100.9787  Oakley, KS, USA                         
+Q30A     TA      38.9772  -100.2207  Quinter, KS, USA                        
+Q31A     TA      39.0048   -99.3950  Ellis, KS, USA                          
+R04C     TA      38.2571  -120.9363  Big Horse Ranch, Ione, CA, USA          
+R05C     TA      38.7028  -120.0755  Kirkwood Meadows Resort, Kirkwood, CA, USA
+R06C     TA      38.5226  -119.4509  Coleville, CA, USA                      
+R07C     TA      38.0890  -119.0469  Lee Vining, CA, USA                     
+R08A     TA      38.3489  -118.1064  Mina, NV, USA                           
+R09A     TA      38.2397  -117.0718  Tonopah, NV, USA                        
+R10A     TA      38.2886  -116.3021  Warm Springs, NV, USA                   
+R11A     TA      38.3489  -115.5854  Troy Canyon, Currant, NV, USA           
+R12A     TA      38.3281  -114.6076  Pony Springs, Pioche, NV, USA           
+R13A     TA      38.1802  -113.9691  O'Grain Ranch, Modena, UT, USA          
+R14A     TA      38.2987  -113.0213  James Farms, Milford, UT, USA           
+R15A     TA      38.2108  -112.2767  Junction, UT, USA                       
+R16A     TA      38.2843  -111.4827  Teasdale, UT, USA                       
+R17A     TA      38.4187  -110.7109  Hanksville Airport, Hanksville, UT, USA 
+R18A     TA      38.3862  -109.8942  Canyonlands National Park, Moab, UT, USA
+R19A     TA      38.2916  -109.2607  Curley Farm, La Sal, UT, USA            
+R20A     TA      38.1888  -108.3792  Redvale, CO, USA                        
+R21A     TA      38.3685  -107.5501  Cimarron, CO, USA                       
+R22A     TA      38.2289  -106.7561  Saguache, Gunnison, CO, USA             
+R23A     TA      38.1907  -105.8264  Moffat, CO, USA                         
+R24A     TA      38.2315  -105.1075  Sanders Place, Florence, CO, USA        
+R25A     TA      38.1474  -104.2834  Fountain Ranch, Boone, CO, USA          
+R26A     TA      38.3009  -103.4470  Arlington, CO, USA                      
+R27A     TA      38.2859  -102.7980  Eads, CO, USA                           
+R28A     TA      38.3423  -101.8106  Tribune, KS, USA                        
+R29A     TA      38.4243  -101.1383  Marienthal, KS, USA                     
+R30A     TA      38.2844  -100.2769  Dighton, KS, USA                        
+R31A     TA      38.2888   -99.5271  Burdett, KS, USA                        
+S04C     TA      37.5049  -121.3278  Ingram Canyon, Westley, CA, USA         
+S05C     TA      37.3460  -120.3296  Merced, CA, USA                         
+S06C     TA      37.8817  -119.8488  San Francisco Camp Mather, Mather, CA, USA
+S08C     TA      37.4993  -118.1711  White Mtn Res Sta-Crooked Creek, Bishop, CA, USA
+S09A     TA      37.7243  -117.2246  Goldfield, NV, USA                      
+S10A     TA      37.9230  -116.5948  Tonopah Range, Tonopah, NV, USA         
+S11A     TA      37.6444  -115.7472  Rachel, NV, USA                         
+S12A     TA      37.6083  -114.8489  Delamar Landing Field, Caliente, NV, USA
+S13A     TA      37.5808  -113.8604  Holt Ranch, Enterprise, UT, USA         
+S14A     TA      37.7601  -113.1684  Cedar City, UT, USA                     
+S15A     TA      37.6761  -112.3627  Panguitch, UT, USA                      
+S16A     TA      37.7222  -111.5961  Weppner Ranch, Escalante, UT, USA       
+S17A     TA      37.6354  -110.8018  Black Ridge (BLM), Bullfrog Basin, UT, USA
+S18A     TA      37.6903  -109.9948  Hurst Farm, Blanding, UT, USA           
+S19A     TA      37.7459  -109.1366  Harvey Farm, Monticello, UT, USA        
+S20A     TA      37.8300  -108.3605  Disappointment Valley, Cahone, CO, USA  
+S21A     TA      37.6620  -107.7917  Coal Bank Pass, Durango, CO, USA        
+S22A     TA      37.7461  -106.8293  4UR Ranch, Creede, CO, USA              
+S23A     TA      37.7059  -106.0023  Nye Farm, Monte Vista, CO, USA          
+S24A     TA      37.6407  -105.2126  Houchin Ranch, La Veta, CO, USA         
+S25A     TA      37.6606  -104.4349  Robets Cordova Ranch, Walsenberg, CO, USA
+S26A     TA      37.6216  -103.4711  Kim, CO, USA                            
+S27A     TA      37.6837  -102.8982  Los Animas, CO, USA                     
+S28A     TA      37.5899  -101.8979  Manter, KS, USA                         
+S29A     TA      37.6199  -101.1180  Ulysses, KS, USA                        
+S30A     TA      37.6402  -100.4640  Montezuma, KS, USA                      
+S31A     TA      37.6193   -99.4845  Mullinville, KS, USA                    
+S32A     TA      37.7001   -98.9363  Newby Ranch, Pratt, KS, USA             
+SFIN     TA      40.3790   -87.0967  Lafayette, IN, USA                      
+SPMN     TA      45.2246   -92.8037  Marine on St. Croix, MN, USA            
+SUTB     TA      39.2291  -121.7861  Sutter Butte, CA, USA                   
+T05C     TA      36.8953  -120.6737  Eagle Field, Dos Palos, CA, USA         
+T06C     TA      37.0069  -119.7089  Millerton Lake Dam, Friant, CA, USA     
+T11A     TA      37.2408  -115.2202  Corn Creek, Alamo, NV, USA              
+T12A     TA      36.7256  -114.7147  Moapa, NV, USA                          
+T13A     TA      37.0195  -113.9073  Saint George, UT, USA                   
+T14A     TA      37.0615  -113.0840  Hurricane, UT, USA                      
+T15A     TA      37.0183  -112.3824  Red Dirt Ranch, Kanab, UT, USA          
+T16A     TA      36.9839  -111.5060  Glen Canyon Dam (NPS), Page, AZ, USA    
+T17A     TA      36.9969  -110.8041  Navajo Res., Navajo Mountain, AZ, USA   
+T18A     TA      37.1364  -109.8741  Mexican Hat, UT, USA                    
+T19A     TA      36.8299  -109.0249  Beclabito, NM, USA                      
+T21A     TA      36.9914  -107.5342  Navajo Lake, Ignacio, CO, USA           
+T22A     TA      37.0138  -106.9030  Edith, CO, USA                          
+T23A     TA      37.0361  -106.0372  Casias Ranch, Antonito, CO, USA         
+T24A     TA      37.0738  -105.0521  Torres, Weston, CO, USA                 
+T24B     TA      37.0624  -105.3817  San Luis, CO, USA                       
+T25A     TA      37.1388  -104.4108  Trinidad, CO, USA                       
+T26A     TA      37.1747  -103.5933  Comanche National Grassland Park, Kim, CO, USA
+T27A     TA      37.0614  -102.7214  Campo, CO, USA                          
+T28A     TA      37.1204  -102.1136  Walsh, CO, USA                          
+T29A     TA      37.1565  -101.2942  Hugoton, KS, USA                        
+T30A     TA      37.0526  -100.5274  Plains, KS, USA                         
+T31A     TA      37.0977   -99.6771  Randall Ranch, Ashland, KS, USA         
+TIGA     TA      31.4389   -83.5898  Tifton, GA, USA                         
+TUL1     TA      35.9104   -95.7919  Leonard, OK, USA                        
+U04C     TA      36.3627  -120.7828  Hernandez Reservoir, Idria, CA, USA     
+U05C     TA      36.3356  -120.1205  Westside ANR, Five Points, CA, USA      
+U10A     TA      36.4193  -116.3297  Ash Meadows, Armagosa, NV, USA          
+U11A     TA      36.4230  -115.3835  Corn Creek, NV, USA                     
+U12A     TA      36.4321  -114.5388  Valley of Fire, Overton, NV, USA        
+U13A     TA      36.4151  -113.9653  Pakoon Wash, AZ, USA                    
+U14A     TA      36.4182  -113.1805  Mt Trumbull, AZ, USA                    
+U15A     TA      36.4280  -112.2915  North Rim, AZ, USA                      
+U16A     TA      36.1428  -111.1297  Tuba City, AZ, USA                      
+U17A     TA      36.5996  -110.6624  Shonto, AZ, USA                         
+U18A     TA      36.4199  -109.8696  Rough Rock, Chinle, AZ, USA             
+U19A     TA      36.2925  -109.2076  Dine' College, Tsaile, AZ, USA          
+U20A     TA      36.3758  -108.5204  Newcomb, NM, USA                        
+U21A     TA      36.4277  -107.6578  Nageezi, NM, USA                        
+U22A     TA      36.3773  -106.8546  Llaves, NM, USA                         
+U23A     TA      36.3289  -106.1919  El Rito, NM, USA                        
+U24A     TA      36.4093  -105.2784  Moreno Valley High School, Angel Fire, NM, USA
+U25A     TA      36.3998  -104.4081  Circle Dot Ranch, Maxwell, NM, USA      
+U26A     TA      36.3945  -103.7439  Atchley Ranch, Grenville, NM, USA       
+U27A     TA      36.4213  -102.8246  Thompson Grove, Rita Blanca Nat Grassland, TX, USA
+U28A     TA      36.3793  -102.2243  Mallet, Rita Blanca National Grassland, TX, USA
+U29A     TA      36.4519  -101.2702  Oasis Ranch, Spearman, TX, USA          
+U30A     TA      36.5304  -100.6509  WK&E Inc., Balko, OK, USA               
+U31A     TA      36.3695   -99.8508  Nine Bar Ranch, Gage, OK, USA           
+V03C     TA      36.0214  -121.2356  Hunter Liggett MR Jolon, CA, USA        
+V04C     TA      35.6360  -120.8699  Ramage Ranch, Paso Robles, CA, USA      
+V05C     TA      35.8667  -119.9028  Boulder Hill, Kettleman City, CA, USA   
+V11A     TA      35.8384  -115.4305  Goodsprings, NV, USA                    
+V12A     TA      35.7266  -114.8511  Nelson, NV, USA                         
+V13A     TA      35.8522  -113.9840  Grand Canyon West Ranch, Meadview, AZ, USA
+V14A     TA      35.6339  -113.1053  Boquillas Ranch, Navajo N., Peach Springs, AZ, USA
+V15A     TA      35.8191  -112.1731  Kaibab National Forest USFS, William, AZ, USA
+V17A     TA      35.6218  -110.7938  Tonalea, Kykotsmovi, AZ, USA            
+V18A     TA      35.7113  -109.9327  Ganado, AZ, USA                         
+V19A     TA      35.7147  -109.0456  Window Rock, AZ, USA                    
+V20A     TA      35.7992  -108.4662  Brimhall, NM, USA                       
+V21A     TA      35.8054  -107.6378  Milan, NM, USA                          
+V22A     TA      35.9138  -106.9094  San Miguel Ranch, Cuba, NM, USA         
+V23A     TA      35.7452  -106.1833  Ortiz Mt. (NFS), Santa Fe National Forest, NM, USA
+V24A     TA      35.7259  -105.2716  Rampart Ranch, Las Vegas, NM, USA       
+V25A     TA      35.8383  -104.6164  Rancho No Tengo, Wagon Mound, NM, USA   
+V26A     TA      35.7964  -103.7860  Tequesquite Ranch, Mosquero, NM, USA    
+V27A     TA      35.7569  -102.8361  Dan Oppilter Farms, Dalhart, TX, USA    
+V28A     TA      35.7505  -102.2243  Channing, TX, USA                       
+V29A     TA      35.8734  -101.5209  Stinnett, TX, USA                       
+V30A     TA      35.7623  -100.6892  Spur Ranch, Miami, TX, USA              
+V31A     TA      35.7739   -99.8425  Spring Creek Lake, Blk. Kettle Nat Grslnd, OK, USA
+W12A     TA      35.3010  -114.8701  Cal Nev Ari, NV, USA                    
+W13A     TA      35.0990  -113.8854  Hualapai Mountain Park, Kingman, AZ, USA
+W14A     TA      35.2127  -113.0834  Seligman, AZ, USA                       
+W15A     TA      35.1787  -112.2666  Williams, AZ, USA                       
+W16A     TA      35.0951  -111.5318  Flagstaff, AZ, USA                      
+W17A     TA      35.0789  -110.7127  Winslow, AZ, USA                        
+W18A     TA      35.1181  -109.7357  Petrified Forest, AZ, USA               
+W19A     TA      35.1118  -109.3879  Sanders, AZ, USA                        
+W20A     TA      35.1259  -108.5001  Ramah, NM, USA                          
+W21A     TA      35.1170  -107.6476  San Fidel, NM, USA                      
+W22A     TA      35.0719  -106.8674  Albuquerque, NM, USA                    
+W23A     TA      35.1605  -106.1503  Werner Place, Edgewood, NM, USA         
+W24A     TA      35.2106  -105.4075  Lazy 6 Ranch, Villanueva, NM, USA       
+W25A     TA      35.2177  -104.4606  X Bar L Ranch, Newkirk, NM, USA         
+W26A     TA      35.0891  -103.7656  Owens Ranch, Tucumcari, NM, USA         
+W27A     TA      35.0637  -103.0627  Bowe Ranch, Endee, NM, USA              
+W28A     TA      35.2574  -102.2063  Vega, TX, USA                           
+W29A     TA      35.1212  -101.6476  Amraillo, TX, USA                       
+W30A     TA      35.1818  -100.5770  Crockett Farms Inc., McLean, TX, USA    
+W31A     TA      35.1864   -99.9435  Holland Ranch, Erick, OK, USA           
+WHTX     TA      31.9913   -97.4561  Lake Whitney, Meridian, TX, USA         
+X13A     TA      34.5935  -113.8302  Yucca, AZ, USA                          
+X14A     TA      34.4692  -112.8906  Yava, AZ, USA                           
+X15A     TA      34.4866  -112.2368  Humboldt, AZ, USA                       
+X16A     TA      34.4178  -111.4411  Lo Mia Camp, Pine, AZ, USA              
+X17A     TA      34.3371  -110.8058  Forest Lakes, AZ, USA                   
+X18A     TA      34.5293  -109.9501  Snowflake, AZ, USA                      
+X19A     TA      34.4275  -109.2901  St. Johns, AZ, USA                      
+X20A     TA      34.5421  -108.4980  Quemado, NM, USA                        
+X21A     TA      34.4457  -107.7857  Alamocita Creek, Datil, NM, USA         
+X22A     TA      34.5058  -107.0102  Bernardo, NM, USA                       
+X23A     TA      34.5810  -106.1881  Hourglass Bar Ranch, Mountainair, NM, USA
+X24A     TA      34.5646  -105.4349  Lazy VL Ranch, Encino, NM, USA          
+X25A     TA      34.5271  -104.6621  Clemmons Ranch, Yeso, NM, USA           
+X26A     TA      34.5508  -103.8103  CR and CF Franklin Farms, Melrose, NM, USA
+X27A     TA      34.6469  -103.0974  F and S Farms, Texico, NM, USA          
+X28A     TA      34.5185  -102.1973  Dimmitt, TX, USA                        
+X29A     TA      34.4452  -101.7008  Tulia, tX, USA                          
+X30A     TA      34.4461  -100.8740  Coker Ranch, Turkey, TX, USA            
+X31A     TA      34.6309   -99.9793  McDonald Ranch, Hollis, OK, USA         
+Y12C     TA      33.7503  -114.5238  Blythe, CA, USA                         
+Y13A     TA      33.8142  -113.8287  Salome, AZ, USA                         
+Y14A     TA      33.9383  -113.0048  Wickenburg, AZ, USA                     
+Y15A     TA      33.9535  -112.3331  Casa Rosa Ranch, Morristown, AZ, USA    
+Y16A     TA      33.8798  -111.4783  Circle Bar Ranch, Sunflower, AZ, USA    
+Y17A     TA      33.6953  -110.8444  Roosevelt, AZ, USA                      
+Y18A     TA      33.7776  -110.0341  Canyon Day Junior High, Whiteriver, AZ, USA
+Y19A     TA      33.9571  -109.2541  Nutrioso, AZ, USA                       
+Y20A     TA      33.9085  -108.3769  Horse Springs, Datil, NM, USA           
+Y21A     TA      34.0087  -107.6740  Point of Rocks Canyon, Magdalena, NM, USA
+Y22A     TA      33.9370  -106.9652  Socorro, NM, USA                        
+Y22C     TA      34.0741  -106.9211  IRIS PASSCAL Instrument Center, Socorro, NM, USA
+Y22D     TA      34.0739  -106.9210  IRIS PASSCAL Instrument Center, Socorro, NM, USA
+Y23A     TA      33.9315  -106.0549  Lovelace Mesa, Carrizozo, NM, USA       
+Y24A     TA      33.9257  -105.4361  Capitan, NM, USA                        
+Y25A     TA      33.9229  -104.6928  Mesa, Roswell, NM, USA                  
+Y26A     TA      33.9232  -103.8246  Elida, NM, USA                          
+Y27A     TA      33.8839  -103.1633  Causey, NM, USA                         
+Y28A     TA      33.9086  -102.2479  McKinney Farm, Littlefield, TX, USA     
+Y29A     TA      33.8602  -101.6712  Porterfield Farm, Petersburg, TX, USA   
+Y30A     TA      33.8766  -100.8978  Stafford Cattle Company, Roaring Springs, TX, USA
+Y31A     TA      33.9629  -100.2615  Rekieta Farm, Paducah, TX, USA          
+Y32A     TA      34.0036   -99.4420  R-V Farms, Vernon, TX, USA              
+Z13A     TA      33.1999  -113.6568  Yuma Proving Gounds (US Army), Dateland, AZ, USA
+Z14A     TA      33.3627  -112.9458  Wintersburg, AZ, USA                    
+Z15A     TA      33.2893  -112.1581  Gila River Indian Community, Laveen, AZ, USA
+Z16A     TA      33.3410  -111.4273  Peralta Trail, Apache Junction, AZ, USA 
+Z17A     TA      33.2969  -110.4723  San Carlos High School, San Carlos, AZ, USA
+Z18A     TA      33.0851  -110.0362  Geronimo, AZ, USA                       
+Z19A     TA      33.2921  -109.2657  T-Link Ranch, Clifton, AZ, USA          
+Z20A     TA      33.1132  -108.5922  Nine Sixteen Ranch, Cliff, NM, USA      
+Z21A     TA      33.3086  -107.6712  St. Cloud Mine, Winston, NM, USA        
+Z22A     TA      33.2555  -106.9639  Elephant Butte, Truth or Consequences, NM, USA
+Z23A     TA      33.2621  -106.2319  Rita Site, White Sands Missle Range, NM, USA
+Z24A     TA      33.3298  -105.3649  Sheeppen Canyon, Tinnie, NM, USA        
+Z25A     TA      33.2797  -104.7171  Roswell, NM, USA                        
+Z26A     TA      33.2716  -103.9798  Caprock, NM, USA                        
+Z27A     TA      33.3150  -103.2145  Tatum, NM, USA                          
+Z28A     TA      33.2884  -102.3866  Tucker Farm, Meadow, TX, USA            
+Z29A     TA      33.2595  -101.7062  Hungry Hill Ranch, Wilson, TX, USA      
+Z30A     TA      33.2861  -101.1282  Sanderson Ranch, Post, TX, USA          
+Z31A     TA      33.3183  -100.1435  Sharp Cattle Ranch, Aspermont, TX, USA  
+Z32A     TA      33.3066   -99.4783  Haskell, TX, USA                        
+BAR      TS      32.6800  -116.6720  Barrett Dam, California, USA            
+CALB     TS      34.1430  -118.6270  Calabasas, California, USA              
+CWC      TS      36.4399  -118.0802  Cottonwood Creek Canyon, California, USA
+DGR      TS      33.6500  -117.0090  Domenigoni Valley Reservior, California, USA
+GLA      TS      33.0520  -114.8270  Glamis, California, USA                 
+GPO      TS      35.6494  -117.6619  China Lake , California, USA            
+GSC      TS      35.3028  -116.8083  Goldston, California, USA               
+ISA      TS      35.6630  -118.4733  Isabella, California, USA               
+MLAC     TS      37.6310  -118.8340  Mammoth Lakes, California, USA          
+NEE      TS      34.8230  -114.5960  Needles, California, USA                
+OSI      TS      34.6145  -118.7235  Osito Adit, California, USA             
+PAS      TS      34.1484  -118.1712  Pasadena, California, USA               
+PFO      TS      33.6092  -116.4553  Pinon Flat, California, USA             
+RPV      TS      33.7438  -118.4035  Rancho Palos Verde California, USA      
+SBC      TS      34.4417  -119.7133  Santa Barbara, California, USA          
+SMTC     TS      32.9490  -115.7200  Superstition Mountain, California, USA  
+SNCC     TS      33.2480  -119.5240  San Nicolas Island, California, USA     
+SVD      TS      34.1045  -117.0970  Seven Oaks Dam, California, USA         
+USC      TS      34.0210  -118.2870  USC, Los Angeles, California, USA       
+VTV      TS      34.5670  -117.3330  Victorville, California, USA            
+ANPB     TW      25.1865   121.5202  AN-PU                                   
+HWAB     TW      23.9770   121.6050  HUA-LIEA                                
+KMNB     TW      24.4638   118.3882  KING-MEN                                
+LYUB     TW      22.0017   121.5840  LAN-YU                                  
+MATB     TW      26.1515   119.9456  MA-TSU                                  
+NACB     TW      24.1738   121.5947  NING-AN-CHIAO                           
+SSLB     TW      23.7875   120.9540  SUANG-LONG                              
+TATO     TW      24.9754   121.4881  TAI-PEI                                 
+TDCB     TW      24.2520   121.1583  TE-CHI                                  
+TPUB     TW      23.3005   120.6296  TA-PU                                   
+TWGB     TW      22.8176   121.0799  TAI-TUNG                                
+TWKB     TW      21.9406   120.8125  KEN-DING                                
+WFSB     TW      25.0716   121.7806  WU-FENG-SHAN                            
+YHNB     TW      24.6698   121.3748  YE-HENG, Taoyuan                        
+YULB     TW      23.3924   121.2973  YU-LI                                   
+AAM      US      42.3012   -83.6567  Ann Arbor, Michigan, USA                
+ACSO     US      40.2319   -82.9820  Alum Creek State Park, Ohio, USA        
+AGMN     US      48.2977   -95.8619  Agassiz National Wildlife Refuge, Minnesota, USA
+AHID     US      42.7654  -111.1004  Auburn Hatchery, Idaho, USA             
+AMTX     US      34.8837  -101.6808  Amarillo, Texas, USA                    
+BINY     US      42.1993   -75.9861  Binghamton, New York, USA               
+BLA      US      37.2113   -80.4210  Blacksburg, Virginia, USA               
+BMN      US      40.4315  -117.2218  Battle Mountain, Nevada, USA            
+BMO      US      44.8525  -117.3060  Blue Mountains Array (Baker), Oregon, USA
+BOZ      US      45.6470  -111.6296  Bozeman, Montana, USA                   
+BRAL     US      31.1687   -87.0506  Brewton, Alabama, USA                   
+BW06     US      42.7667  -109.5583  Boulder Array Site 6 (Pinedale Array Site 6), Wyoming, USA
+CBKS     US      38.8140   -99.7374  Cedar Bluff, Kansas, USA                
+CBM      US      46.9325   -68.1208  Caribou, Maine, USA                     
+CBN      US      38.2046   -77.3732  Corbin (Fredericksburg Observatory), Virginia, USA
+CCM      US      38.0557   -91.2446  Cathedral Cave, Missouri, USA           
+CEH      US      35.8908   -79.0928  Chapel Hill, North Carolina, USA        
+CMB      US      38.0350  -120.3850  Columbia College, California, USA       
+CNNC     US      35.2393   -77.8901  Cliffs of the Neuse, North Carolina, USA
+COR      US      44.5857  -123.3032  Corvallis, Oregon, USA                  
+COWI     US      46.1003   -89.1369  Conover, Wisconsin, USA                 
+DGMT     US      48.4702  -104.1959  Dagmar, Montana, USA                    
+DUG      US      40.1950  -112.8133  Dugway, Tooele County, Utah, USA        
+DWPF     US      28.1103   -81.4328  Disney Wilderness Preserve, Florida, USA
+ECSD     US      43.7337   -96.6141  EROS Data Center, Sioux Falls, South Dakota, USA
+EGAK     US      64.7774  -141.1581  Eagle, Central Alaska, Alaska, USA      
+EGMT     US      48.0240  -109.7547  Eagleton, Montana, USA                  
+ELK      US      40.7448  -115.2388  Elko, Nevada, USA                       
+ERPA     US      42.1175   -79.9891  Erie, Pennsylvania, USA                 
+EYMN     US      47.9462   -91.4950  Ely, Minnesota, USA                     
+GLMI     US      44.8245   -84.6174  Grayling, Michigan, USA                 
+GOGA     US      33.4112   -83.4666  Godfrey, Georgia, USA                   
+GOL      US      39.7003  -105.3711  Golden (Bergen Park), Colorado, USA     
+GWDE     US      38.8256   -75.6171  Greenwood, Delaware, USA                
+HAWA     US      46.3925  -119.5326  Hanford, Washington, USA                
+HDIL     US      40.5560   -89.2940  Hopedale, Illinois, USA                 
+HKT      US      29.9500   -95.8333  Hockley, Texas, USA                     
+HLID     US      43.5625  -114.4138  Hailey, Idaho, USA                      
+HRV      US      42.5064   -71.5583  Harvard--Oak Ridge, Massachusetts, USA  
+HWUT     US      41.6069  -111.5652  Hardware Ranch, Cache County, Utah, USA 
+ISA      US      35.6628  -118.4740  Isabella, Kern County, California, USA  
+ISCO     US      39.7997  -105.6134  Idaho Springs, Colorado, USA            
+JCT      US      30.4794   -99.8022  Junction, Texas, USA                    
+JFWS     US      42.9142   -90.2481  Jewell Farm, Wisconsin, USA             
+KNB      US      37.0166  -112.8224  Kanab, Kane County, Utah, USA           
+KSU1     US      39.1009   -96.6094  Kansas State University--Konza Prairie, Kansas, USA
+KVTX     US      27.5459   -97.8929  Kingsville, Texas, USA                  
+LAO      US      46.6885  -106.2231  LASA Array, Montana, USA                
+LBNH     US      44.2401   -71.9259  Lisbon, New Hampshire, USA              
+LKWY     US      44.5652  -110.4000  Lake (Yellowstone--Lake), Yellowstone National Park, Wyoming
+LONY     US      44.6197   -74.5829  Lake Ozonia, New York, USA              
+LRAL     US      33.0348   -86.9978  Lakeview Retreat, Alabama, USA          
+LSCT     US      41.6784   -73.2244  Lakeside, Connecticut, USA              
+LTX      US      29.3339  -103.6669  Lajitas, Texas, USA                     
+MCWV     US      39.6581   -79.8456  Mont Chateau, West Virginia, USA        
+MIAR     US      34.5454   -93.5765  Mount Ida, Arkansas, USA                
+MNTX     US      31.6985  -105.3821  Cornudas Mountains, Texas, USA          
+MNV      US      38.4328  -118.1531  Mina, Nevada, USA                       
+MSO      US      46.8292  -113.9406  Missoula, Montana, USA                  
+MVCO     US      37.2103  -108.4986  Mesa Verde, Colorado, USA               
+MYNC     US      35.0739   -84.1279  Murphy, North Carolina, USA             
+NATX     US      31.7598   -94.6610  Nacogdoches, Texas, USA                 
+NCB      US      43.9708   -74.2236  Newcomb, New York, USA                  
+NEW      US      48.2633  -117.1200  Newport, Washington, USA                
+NHSC     US      33.1067   -80.1778  New Hope, South Carolina, USA           
+NLWA     US      47.3917  -123.8691  Neilton Lookout, Washington, USA        
+OCWA     US      47.7489  -124.1781  Octopus Mountain, Washington, USA       
+OGNE     US      40.9451  -102.0330  Ogallala, Nebraska, USA                 
+OXF      US      34.5118   -89.4092  Oxford, Mississippi, USA                
+PKME     US      45.2644   -69.2917  Peaks-Kenny State Park, Maine, USA      
+RLMT     US      45.1221  -109.2673  Red Lodge, Montana, USA                 
+RSNY     US      44.5483   -74.5300  Adirondack, New York, USA               
+RSSD     US      44.1204  -104.0360  Black Hills, South Dakota, USA          
+SAO      US      36.7650  -121.4450  San Andreas Geological Observatory, San Benito County, Calif
+SCIA     US      41.9069   -93.2153  State Center, Iowa, USA                 
+SDCO     US      37.7456  -105.5012  Great Sand Dunes National Park, Colorado, USA
+SSPA     US      40.6358   -77.8880  Standing Stone, Pennsylvania, USA       
+TPNV     US      36.9488  -116.2495  Topopah Spring, Nevada, USA             
+TUC      US      32.3097  -110.7842  Tucson, Arizona, USA                    
+TZTN     US      36.5439   -83.5490  Tazewell, Tennessee, USA                
+VBMS     US      32.2185   -90.5177  Vicksburg, Mississippi                  
+WCI      US      38.2290   -86.2938  Wyandotte Cave, Indiana, USA            
+WDC      US      40.5800  -122.5397  Whiskeytown Dam, Shasta County, California, USA
+WMOK     US      34.7379   -98.7810  Wichita Mountains, Oklahoma, USA        
+WRAK     US      56.4191  -132.3466  Wrangell Island, Southeastern Alaska, Alaska, USA
+WUAZ     US      35.5169  -111.3739  Wupatki, Arizona, USA                   
+WVOR     US      42.4339  -118.6367  Wild Horse Valley, Oregon, USA          
+WVT      US      36.1300   -87.8300  Waverly, Tennessee, USA                 
+YSNY     US      42.4758   -78.5375  Yorkshire, New York, USA                
+BLOW     UW      44.6837  -122.1862  Detroit Lake, OR, USA                   
+BRAN     UW      45.9734  -117.2277  Beach Ranch, Enterprise, OR, USA        
+DAVN     UW      47.8006  -118.2741  Chrisman Ranch, Davenport, WA, USA      
+FISH     UW      45.9306  -123.5591  Seaside, OR, USA                        
+IRON     UW      43.3580  -118.4743  Circle Bar Ranch, Crane, OR, USA        
+IZEE     UW      44.0820  -119.5042  Izee, OR, USA                           
+KENT     UW      45.2357  -120.6351  Carlson Farm, Grass Valley, OR, USA     
+LCCR     UW      45.2059  -122.4784  Mulino, OR, USA                         
+LEBA     UW      46.5459  -123.5632  Lebam, WA, USA                          
+MRBL     UW      48.5183  -121.4845  Marblemount, WA, USA                    
+OMAK     UW      48.3584  -119.3332  Colville Reservation, Omak, WA, USA     
+PASS     UW      48.9983  -122.0852  Maple Falls, WA, USA                    
+STOR     UW      47.1881  -121.9888  Enumclaw, WA, USA                       
+TREE     UW      42.7258  -120.8934  Summer Lake, OR, USA                    
+TUCA     UW      46.5139  -118.1455  Wood Farm, Starbuck, WA, USA            
+UMAT     UW      45.2904  -118.9595  Pilot Rock, OR, USA                     
+WOLL     UW      47.0573  -118.9210  Wollman Farm, Schrag, WA, USA           
+YACT     UW      45.9325  -122.4193  Amboy, WA, USA                          

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Blender/bin_movie_009000.d.png
===================================================================
(Binary files differ)


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Blender/bin_movie_009000.d.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Blender/bin_sphere.blend
===================================================================
(Binary files differ)


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Blender/bin_sphere.blend
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Blender/bin_sphere.jpg
===================================================================
(Binary files differ)


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Blender/bin_sphere.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Blender/readme.txt
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Blender/readme.txt	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Blender/readme.txt	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,55 @@
+--------------------------------
+readme
+--------------------------------
+
+Blender, open source, cross platform suite of tools for 3D creation
+http://www.blender.org/
+
+
+
+- load example file 'bin_sphere.blend':
+
+  run Blender:
+  
+      -> Menu -> File -> Open...
+      
+         select 'bin_sphere.blend'
+
+
+  to render image: 
+      
+      -> Menu -> Render -> Render Current Frame
+
+
+  it needs: ./topo_globe.jpg
+            ./bin_movie_009000.d.png
+               
+  these images are used as textures on a sphere:  
+  
+  - a wavefield PNG image created with GMT:  
+      
+      > ../GMT/plot_movie_GMT_binary.pl OUTPUT_FILES/bin_movie_*.d
+      
+  - a topography image 'topo_globe.jpg':
+      
+      to create a topographic global map with GMT,
+
+      1. create a grid file
+
+        > grdraster ETOPO2 -Rg -I2m -Getopo2.grd
+
+      2. create a gradient file
+
+        > grdgradient etopo2.grd -Nt1 -A45 -Getopo2gradient.grd -V
+
+      3. render image with gradient illumination
+         (must copy topo_gray.cpt to current directory)
+
+         projection uses: plate caree projection -JQ
+
+        > grdimage etopo2.grd -Ietopo2gradient.grd -JQ0/0/15 -Ctopo_gray.cpt -V -P > topo_globe.ps
+
+      4. convert to jpg using convert command from ImageMagick (http://www.imagemagick.org)
+        
+        > convert topo_globe.ps topo_globe.jpg
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Blender/topo_globe.jpg
===================================================================
(Binary files differ)


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Blender/topo_globe.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Blender/topo_gray.cpt
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Blender/topo_gray.cpt	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Blender/topo_gray.cpt	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,106 @@
+#	cpt file created by: makecpt -Cgray -T0/1/0.01
+#COLOR_MODEL = RGB
+#
+0	1	1	1	0.01	1	1	1
+0.01	4	4	4	0.02	4	4	4
+0.02	6	6	6	0.03	6	6	6
+0.03	9	9	9	0.04	9	9	9
+0.04	11	11	11	0.05	11	11	11
+0.05	14	14	14	0.06	14	14	14
+0.06	17	17	17	0.07	17	17	17
+0.07	19	19	19	0.08	19	19	19
+0.08	22	22	22	0.09	22	22	22
+0.09	24	24	24	0.1	24	24	24
+0.1	27	27	27	0.11	27	27	27
+0.11	29	29	29	0.12	29	29	29
+0.12	32	32	32	0.13	32	32	32
+0.13	34	34	34	0.14	34	34	34
+0.14	37	37	37	0.15	37	37	37
+0.15	40	40	40	0.16	40	40	40
+0.16	42	42	42	0.17	42	42	42
+0.17	45	45	45	0.18	45	45	45
+0.18	47	47	47	0.19	47	47	47
+0.19	50	50	50	0.2	50	50	50
+0.2	52	52	52	0.21	52	52	52
+0.21	55	55	55	0.22	55	55	55
+0.22	57	57	57	0.23	57	57	57
+0.23	60	60	60	0.24	60	60	60
+0.24	62	62	62	0.25	62	62	62
+0.25	65	65	65	0.26	65	65	65
+0.26	68	68	68	0.27	68	68	68
+0.27	70	70	70	0.28	70	70	70
+0.28	73	73	73	0.29	73	73	73
+0.29	75	75	75	0.3	75	75	75
+0.3	78	78	78	0.31	78	78	78
+0.31	80	80	80	0.32	80	80	80
+0.32	83	83	83	0.33	83	83	83
+0.33	85	85	85	0.34	85	85	85
+0.34	88	88	88	0.35	88	88	88
+0.35	91	91	91	0.36	91	91	91
+0.36	93	93	93	0.37	93	93	93
+0.37	96	96	96	0.38	96	96	96
+0.38	98	98	98	0.39	98	98	98
+0.39	101	101	101	0.4	101	101	101
+0.4	103	103	103	0.41	103	103	103
+0.41	106	106	106	0.42	106	106	106
+0.42	108	108	108	0.43	108	108	108
+0.43	111	111	111	0.44	111	111	111
+0.44	113	113	113	0.45	113	113	113
+0.45	116	116	116	0.46	116	116	116
+0.46	119	119	119	0.47	119	119	119
+0.47	121	121	121	0.48	121	121	121
+0.48	124	124	124	0.49	124	124	124
+0.49	126	126	126	0.5	126	126	126
+0.5	129	129	129	0.51	129	129	129
+0.51	131	131	131	0.52	131	131	131
+0.52	134	134	134	0.53	134	134	134
+0.53	136	136	136	0.54	136	136	136
+0.54	139	139	139	0.55	139	139	139
+0.55	142	142	142	0.56	142	142	142
+0.56	144	144	144	0.57	144	144	144
+0.57	147	147	147	0.58	147	147	147
+0.58	149	149	149	0.59	149	149	149
+0.59	152	152	152	0.6	152	152	152
+0.6	154	154	154	0.61	154	154	154
+0.61	157	157	157	0.62	157	157	157
+0.62	159	159	159	0.63	159	159	159
+0.63	162	162	162	0.64	162	162	162
+0.64	164	164	164	0.65	164	164	164
+0.65	167	167	167	0.66	167	167	167
+0.66	170	170	170	0.67	170	170	170
+0.67	172	172	172	0.68	172	172	172
+0.68	175	175	175	0.69	175	175	175
+0.69	177	177	177	0.7	177	177	177
+0.7	180	180	180	0.71	180	180	180
+0.71	182	182	182	0.72	182	182	182
+0.72	185	185	185	0.73	185	185	185
+0.73	187	187	187	0.74	187	187	187
+0.74	190	190	190	0.75	190	190	190
+0.75	193	193	193	0.76	193	193	193
+0.76	195	195	195	0.77	195	195	195
+0.77	198	198	198	0.78	198	198	198
+0.78	200	200	200	0.79	200	200	200
+0.79	203	203	203	0.8	203	203	203
+0.8	205	205	205	0.81	205	205	205
+0.81	208	208	208	0.82	208	208	208
+0.82	210	210	210	0.83	210	210	210
+0.83	213	213	213	0.84	213	213	213
+0.84	215	215	215	0.85	215	215	215
+0.85	218	218	218	0.86	218	218	218
+0.86	221	221	221	0.87	221	221	221
+0.87	223	223	223	0.88	223	223	223
+0.88	226	226	226	0.89	226	226	226
+0.89	228	228	228	0.9	228	228	228
+0.9	231	231	231	0.91	231	231	231
+0.91	233	233	233	0.92	233	233	233
+0.92	236	236	236	0.93	236	236	236
+0.93	238	238	238	0.94	238	238	238
+0.94	241	241	241	0.95	241	241	241
+0.95	244	244	244	0.96	244	244	244
+0.96	246	246	246	0.97	246	246	246
+0.97	249	249	249	0.98	249	249	249
+0.98	251	251	251	0.99	251	251	251
+0.99	254	254	254	1	254	254	254
+B	0	0	0
+F	255	255	255
+N	128	128	128

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/README.txt
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/README.txt	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/README.txt	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,65 @@
+--------------------------------
+readme
+--------------------------------
+
+GMT, the Generic Mapping Tools 
+http://www.soest.hawaii.edu/GMT/ 
+
+
+
+- procedure to make a GMT image:
+
+1. run specfem with the movie options (see Par_file):
+
+   MOVIE_SURFACE = .true.
+   MOVIE_COARSE  = .false.
+   
+   and adjust the time steps NSTEP_BETWEEN_FRAMES   
+   
+   this creates binary files in directory OUTPUT_FILES/ like: moviedata000100,...
+
+
+now, you have basically two options:
+
+
+2.A) convert binary files to GMT-files:
+
+   in SPECFEM3D_GLOBE:  > make xcreate_movie_AVS_DX
+                          
+	         run it > ./xcreate_movie_AVS_DX
+
+                          choose option 4 for individual files
+                          
+   outputs file like: OUTPUT_FILES/gmt_movie_000100.xyz
+   
+
+  - render gif files using GMT:
+
+    > ./plot_gmt_movie_file.pl OUTPUT_FILES/gmt_movie*.xyz
+
+
+
+2.B) convert binary files to GMT-files:
+
+   in SPECFEM3D_GLOBE:  > make xcreate_movie_GMT_global
+   
+	         run it > ./xcreate_movie_GMT_global
+
+                          choose either option for ascii (F) or binary (T)
+                          to create individual files
+
+
+  - render ascii files to create ps files using GMT:
+
+    > ./plot_movie_GMT_ascii.pl OUTPUT_FILES/ascii_movie_00***.d
+
+
+  - render binary files to create PNG files using GMT:
+
+    > ./plot_movie_GMT_binary.pl OUTPUT_FILES/bin_movie_00***.d
+
+
+please, change the rendering scripts plot_movie_GMT_ascii.pl, etc.
+according to your needs.
+
+note: these scripts make use of commands from ImageMagick (http://www.imagemagick.org)
\ No newline at end of file

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/ascii_movie.jpg
===================================================================
(Binary files differ)


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/ascii_movie.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/blue_white_red.cpt
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/blue_white_red.cpt	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/blue_white_red.cpt	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,261 @@
+#	cpt file created by: makecpt -V -Cpolar -T0/255/1 -Z
+#COLOR_MODEL = RGB
+#
+0	0	0	255	1	2	2	255
+1	2	2	255	2	4	4	255
+2	4	4	255	3	6	6	255
+3	6	6	255	4	8	8	255
+4	8	8	255	5	10	10	255
+5	10	10	255	6	12	12	255
+6	12	12	255	7	14	14	255
+7	14	14	255	8	16	16	255
+8	16	16	255	9	18	18	255
+9	18	18	255	10	20	20	255
+10	20	20	255	11	22	22	255
+11	22	22	255	12	24	24	255
+12	24	24	255	13	26	26	255
+13	26	26	255	14	28	28	255
+14	28	28	255	15	30	30	255
+15	30	30	255	16	32	32	255
+16	32	32	255	17	34	34	255
+17	34	34	255	18	36	36	255
+18	36	36	255	19	38	38	255
+19	38	38	255	20	40	40	255
+20	40	40	255	21	42	42	255
+21	42	42	255	22	44	44	255
+22	44	44	255	23	46	46	255
+23	46	46	255	24	48	48	255
+24	48	48	255	25	50	50	255
+25	50	50	255	26	52	52	255
+26	52	52	255	27	54	54	255
+27	54	54	255	28	56	56	255
+28	56	56	255	29	58	58	255
+29	58	58	255	30	60	60	255
+30	60	60	255	31	62	62	255
+31	62	62	255	32	64	64	255
+32	64	64	255	33	66	66	255
+33	66	66	255	34	68	68	255
+34	68	68	255	35	70	70	255
+35	70	70	255	36	72	72	255
+36	72	72	255	37	74	74	255
+37	74	74	255	38	76	76	255
+38	76	76	255	39	78	78	255
+39	78	78	255	40	80	80	255
+40	80	80	255	41	82	82	255
+41	82	82	255	42	84	84	255
+42	84	84	255	43	86	86	255
+43	86	86	255	44	88	88	255
+44	88	88	255	45	90	90	255
+45	90	90	255	46	92	92	255
+46	92	92	255	47	94	94	255
+47	94	94	255	48	96	96	255
+48	96	96	255	49	98	98	255
+49	98	98	255	50	100	100	255
+50	100	100	255	51	102	102	255
+51	102	102	255	52	104	104	255
+52	104	104	255	53	106	106	255
+53	106	106	255	54	108	108	255
+54	108	108	255	55	110	110	255
+55	110	110	255	56	112	112	255
+56	112	112	255	57	114	114	255
+57	114	114	255	58	116	116	255
+58	116	116	255	59	118	118	255
+59	118	118	255	60	120	120	255
+60	120	120	255	61	122	122	255
+61	122	122	255	62	124	124	255
+62	124	124	255	63	126	126	255
+63	126	126	255	64	128	128	255
+64	128	128	255	65	130	130	255
+65	130	130	255	66	132	132	255
+66	132	132	255	67	134	134	255
+67	134	134	255	68	136	136	255
+68	136	136	255	69	138	138	255
+69	138	138	255	70	140	140	255
+70	140	140	255	71	142	142	255
+71	142	142	255	72	144	144	255
+72	144	144	255	73	146	146	255
+73	146	146	255	74	148	148	255
+74	148	148	255	75	150	150	255
+75	150	150	255	76	152	152	255
+76	152	152	255	77	154	154	255
+77	154	154	255	78	156	156	255
+78	156	156	255	79	158	158	255
+79	158	158	255	80	160	160	255
+80	160	160	255	81	162	162	255
+81	162	162	255	82	164	164	255
+82	164	164	255	83	166	166	255
+83	166	166	255	84	168	168	255
+84	168	168	255	85	170	170	255
+85	170	170	255	86	172	172	255
+86	172	172	255	87	174	174	255
+87	174	174	255	88	176	176	255
+88	176	176	255	89	178	178	255
+89	178	178	255	90	180	180	255
+90	180	180	255	91	182	182	255
+91	182	182	255	92	184	184	255
+92	184	184	255	93	186	186	255
+93	186	186	255	94	188	188	255
+94	188	188	255	95	190	190	255
+95	190	190	255	96	192	192	255
+96	192	192	255	97	194	194	255
+97	194	194	255	98	196	196	255
+98	196	196	255	99	198	198	255
+99	198	198	255	100	200	200	255
+100	200	200	255	101	202	202	255
+101	202	202	255	102	204	204	255
+102	204	204	255	103	206	206	255
+103	206	206	255	104	208	208	255
+104	208	208	255	105	210	210	255
+105	210	210	255	106	212	212	255
+106	212	212	255	107	214	214	255
+107	214	214	255	108	216	216	255
+108	216	216	255	109	218	218	255
+109	218	218	255	110	220	220	255
+110	220	220	255	111	222	222	255
+111	222	222	255	112	224	224	255
+112	224	224	255	113	226	226	255
+113	226	226	255	114	228	228	255
+114	228	228	255	115	230	230	255
+115	230	230	255	116	232	232	255
+116	232	232	255	117	234	234	255
+117	234	234	255	118	236	236	255
+118	236	236	255	119	238	238	255
+119	238	238	255	120	240	240	255
+120	240	240	255	121	242	242	255
+121	242	242	255	122	244	244	255
+122	244	244	255	123	246	246	255
+123	246	246	255	124	248	248	255
+124	248	248	255	125	250	250	255
+125	250	250	255	126	252	252	255
+126	252	252	255	127	254	254	255
+127	254	254	254	128	254	254	254
+128	255	254	254	129	255	252	252
+129	255	252	252	130	255	250	250
+130	255	250	250	131	255	248	248
+131	255	248	248	132	255	246	246
+132	255	246	246	133	255	244	244
+133	255	244	244	134	255	242	242
+134	255	242	242	135	255	240	240
+135	255	240	240	136	255	238	238
+136	255	238	238	137	255	236	236
+137	255	236	236	138	255	234	234
+138	255	234	234	139	255	232	232
+139	255	232	232	140	255	230	230
+140	255	230	230	141	255	228	228
+141	255	228	228	142	255	226	226
+142	255	226	226	143	255	224	224
+143	255	224	224	144	255	222	222
+144	255	222	222	145	255	220	220
+145	255	220	220	146	255	218	218
+146	255	218	218	147	255	216	216
+147	255	216	216	148	255	214	214
+148	255	214	214	149	255	212	212
+149	255	212	212	150	255	210	210
+150	255	210	210	151	255	208	208
+151	255	208	208	152	255	206	206
+152	255	206	206	153	255	204	204
+153	255	204	204	154	255	202	202
+154	255	202	202	155	255	200	200
+155	255	200	200	156	255	198	198
+156	255	198	198	157	255	196	196
+157	255	196	196	158	255	194	194
+158	255	194	194	159	255	192	192
+159	255	192	192	160	255	190	190
+160	255	190	190	161	255	188	188
+161	255	188	188	162	255	186	186
+162	255	186	186	163	255	184	184
+163	255	184	184	164	255	182	182
+164	255	182	182	165	255	180	180
+165	255	180	180	166	255	178	178
+166	255	178	178	167	255	176	176
+167	255	176	176	168	255	174	174
+168	255	174	174	169	255	172	172
+169	255	172	172	170	255	170	170
+170	255	170	170	171	255	168	168
+171	255	168	168	172	255	166	166
+172	255	166	166	173	255	164	164
+173	255	164	164	174	255	162	162
+174	255	162	162	175	255	160	160
+175	255	160	160	176	255	158	158
+176	255	158	158	177	255	156	156
+177	255	156	156	178	255	154	154
+178	255	154	154	179	255	152	152
+179	255	152	152	180	255	150	150
+180	255	150	150	181	255	148	148
+181	255	148	148	182	255	146	146
+182	255	146	146	183	255	144	144
+183	255	144	144	184	255	142	142
+184	255	142	142	185	255	140	140
+185	255	140	140	186	255	138	138
+186	255	138	138	187	255	136	136
+187	255	136	136	188	255	134	134
+188	255	134	134	189	255	132	132
+189	255	132	132	190	255	130	130
+190	255	130	130	191	255	128	128
+191	255	128	128	192	255	126	126
+192	255	126	126	193	255	124	124
+193	255	124	124	194	255	122	122
+194	255	122	122	195	255	120	120
+195	255	120	120	196	255	118	118
+196	255	118	118	197	255	116	116
+197	255	116	116	198	255	114	114
+198	255	114	114	199	255	112	112
+199	255	112	112	200	255	110	110
+200	255	110	110	201	255	108	108
+201	255	108	108	202	255	106	106
+202	255	106	106	203	255	104	104
+203	255	104	104	204	255	102	102
+204	255	102	102	205	255	100	100
+205	255	100	100	206	255	98	98
+206	255	98	98	207	255	96	96
+207	255	96	96	208	255	94	94
+208	255	94	94	209	255	92	92
+209	255	92	92	210	255	90	90
+210	255	90	90	211	255	88	88
+211	255	88	88	212	255	86	86
+212	255	86	86	213	255	84	84
+213	255	84	84	214	255	82	82
+214	255	82	82	215	255	80	80
+215	255	80	80	216	255	78	78
+216	255	78	78	217	255	76	76
+217	255	76	76	218	255	74	74
+218	255	74	74	219	255	72	72
+219	255	72	72	220	255	70	70
+220	255	70	70	221	255	68	68
+221	255	68	68	222	255	66	66
+222	255	66	66	223	255	64	64
+223	255	64	64	224	255	62	62
+224	255	62	62	225	255	60	60
+225	255	60	60	226	255	58	58
+226	255	58	58	227	255	56	56
+227	255	56	56	228	255	54	54
+228	255	54	54	229	255	52	52
+229	255	52	52	230	255	50	50
+230	255	50	50	231	255	48	48
+231	255	48	48	232	255	46	46
+232	255	46	46	233	255	44	44
+233	255	44	44	234	255	42	42
+234	255	42	42	235	255	40	40
+235	255	40	40	236	255	38	38
+236	255	38	38	237	255	36	36
+237	255	36	36	238	255	34	34
+238	255	34	34	239	255	32	32
+239	255	32	32	240	255	30	30
+240	255	30	30	241	255	28	28
+241	255	28	28	242	255	26	26
+242	255	26	26	243	255	24	24
+243	255	24	24	244	255	22	22
+244	255	22	22	245	255	20	20
+245	255	20	20	246	255	18	18
+246	255	18	18	247	255	16	16
+247	255	16	16	248	255	14	14
+248	255	14	14	249	255	12	12
+249	255	12	12	250	255	10	10
+250	255	10	10	251	255	8	8
+251	255	8	8	252	255	6	6
+252	255	6	6	253	255	4	4
+253	255	4	4	254	255	2	2
+254	255	2	2	255	255	0	0
+B	0	0       0	
+F	0	0	0
+N	0	0	0

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/gmt_movie_009000.xyz.gif
===================================================================
(Binary files differ)


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/gmt_movie_009000.xyz.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/gray_pyramid_inv.cpt
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/gray_pyramid_inv.cpt	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/gray_pyramid_inv.cpt	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,261 @@
+#	cpt file created by: makecpt -V -I -Cgray -T0/128/1 -Z
+#COLOR_MODEL = RGB
+#
+0	255	255	255	1	253	253	253
+1	253	253	253	2	251	251	251
+2	251	251	251	3	249	249	249
+3	249	249	249	4	247	247	247
+4	247	247	247	5	245	245	245
+5	245	245	245	6	243	243	243
+6	243	243	243	7	241	241	241
+7	241	241	241	8	239	239	239
+8	239	239	239	9	237	237	237
+9	237	237	237	10	235	235	235
+10	235	235	235	11	233	233	233
+11	233	233	233	12	231	231	231
+12	231	231	231	13	229	229	229
+13	229	229	229	14	227	227	227
+14	227	227	227	15	225	225	225
+15	225	225	225	16	223	223	223
+16	223	223	223	17	221	221	221
+17	221	221	221	18	219	219	219
+18	219	219	219	19	217	217	217
+19	217	217	217	20	215	215	215
+20	215	215	215	21	213	213	213
+21	213	213	213	22	211	211	211
+22	211	211	211	23	209	209	209
+23	209	209	209	24	207	207	207
+24	207	207	207	25	205	205	205
+25	205	205	205	26	203	203	203
+26	203	203	203	27	201	201	201
+27	201	201	201	28	199	199	199
+28	199	199	199	29	197	197	197
+29	197	197	197	30	195	195	195
+30	195	195	195	31	193	193	193
+31	193	193	193	32	191	191	191
+32	191	191	191	33	189	189	189
+33	189	189	189	34	187	187	187
+34	187	187	187	35	185	185	185
+35	185	185	185	36	183	183	183
+36	183	183	183	37	181	181	181
+37	181	181	181	38	179	179	179
+38	179	179	179	39	177	177	177
+39	177	177	177	40	175	175	175
+40	175	175	175	41	173	173	173
+41	173	173	173	42	171	171	171
+42	171	171	171	43	169	169	169
+43	169	169	169	44	167	167	167
+44	167	167	167	45	165	165	165
+45	165	165	165	46	163	163	163
+46	163	163	163	47	161	161	161
+47	161	161	161	48	159	159	159
+48	159	159	159	49	157	157	157
+49	157	157	157	50	155	155	155
+50	155	155	155	51	153	153	153
+51	153	153	153	52	151	151	151
+52	151	151	151	53	149	149	149
+53	149	149	149	54	147	147	147
+54	147	147	147	55	145	145	145
+55	145	145	145	56	143	143	143
+56	143	143	143	57	141	141	141
+57	141	141	141	58	139	139	139
+58	139	139	139	59	137	137	137
+59	137	137	137	60	135	135	135
+60	135	135	135	61	133	133	133
+61	133	133	133	62	131	131	131
+62	131	131	131	63	129	129	129
+63	129	129	129	64	127	127	127
+64	127	127	127	65	126	126	126
+65	126	126	126	66	124	124	124
+66	124	124	124	67	122	122	122
+67	122	122	122	68	120	120	120
+68	120	120	120	69	118	118	118
+69	118	118	118	70	116	116	116
+70	116	116	116	71	114	114	114
+71	114	114	114	72	112	112	112
+72	112	112	112	73	110	110	110
+73	110	110	110	74	108	108	108
+74	108	108	108	75	106	106	106
+75	106	106	106	76	104	104	104
+76	104	104	104	77	102	102	102
+77	102	102	102	78	100	100	100
+78	100	100	100	79	98	98	98
+79	98	98	98	80	96	96	96
+80	96	96	96	81	94	94	94
+81	94	94	94	82	92	92	92
+82	92	92	92	83	90	90	90
+83	90	90	90	84	88	88	88
+84	88	88	88	85	86	86	86
+85	86	86	86	86	84	84	84
+86	84	84	84	87	82	82	82
+87	82	82	82	88	80	80	80
+88	80	80	80	89	78	78	78
+89	78	78	78	90	76	76	76
+90	76	76	76	91	74	74	74
+91	74	74	74	92	72	72	72
+92	72	72	72	93	70	70	70
+93	70	70	70	94	68	68	68
+94	68	68	68	95	66	66	66
+95	66	66	66	96	64	64	64
+96	64	64	64	97	62	62	62
+97	62	62	62	98	60	60	60
+98	60	60	60	99	58	58	58
+99	58	58	58	100	56	56	56
+100	56	56	56	101	54	54	54
+101	54	54	54	102	52	52	52
+102	52	52	52	103	50	50	50
+103	50	50	50	104	48	48	48
+104	48	48	48	105	46	46	46
+105	46	46	46	106	44	44	44
+106	44	44	44	107	42	42	42
+107	42	42	42	108	40	40	40
+108	40	40	40	109	38	38	38
+109	38	38	38	110	36	36	36
+110	36	36	36	111	34	34	34
+111	34	34	34	112	32	32	32
+112	32	32	32	113	30	30	30
+113	30	30	30	114	28	28	28
+114	28	28	28	115	26	26	26
+115	26	26	26	116	24	24	24
+116	24	24	24	117	22	22	22
+117	22	22	22	118	20	20	20
+118	20	20	20	119	18	18	18
+119	18	18	18	120	16	16	16
+120	16	16	16	121	14	14	14
+121	14	14	14	122	12	12	12
+122	12	12	12	123	10	10	10
+123	10	10	10	124	8	8	8
+124	8	8	8	125	6	6	6
+125	6	6	6	126	4	4	4
+126	4	4	4	127	2	2	2
+127	2	2	2	128	0	0	0
+128	0	0	0	129	2	2	2
+129	2	2	2	130	4	4	4
+130	4	4	4	131	6	6	6
+131	6	6	6	132	8	8	8
+132	8	8	8	133	10	10	10
+133	10	10	10	134	12	12	12
+134	12	12	12	135	14	14	14
+135	14	14	14	136	16	16	16
+136	16	16	16	137	18	18	18
+137	18	18	18	138	20	20	20
+138	20	20	20	139	22	22	22
+139	22	22	22	140	24	24	24
+140	24	24	24	141	26	26	26
+141	26	26	26	142	28	28	28
+142	28	28	28	143	30	30	30
+143	30	30	30	144	32	32	32
+144	32	32	32	145	34	34	34
+145	34	34	34	146	36	36	36
+146	36	36	36	147	38	38	38
+147	38	38	38	148	40	40	40
+148	40	40	40	149	42	42	42
+149	42	42	42	150	44	44	44
+150	44	44	44	151	46	46	46
+151	46	46	46	152	48	48	48
+152	48	48	48	153	50	50	50
+153	50	50	50	154	52	52	52
+154	52	52	52	155	54	54	54
+155	54	54	54	156	56	56	56
+156	56	56	56	157	58	58	58
+157	58	58	58	158	60	60	60
+158	60	60	60	159	62	62	62
+159	62	62	62	160	64	64	64
+160	64	64	64	161	66	66	66
+161	66	66	66	162	68	68	68
+162	68	68	68	163	70	70	70
+163	70	70	70	164	72	72	72
+164	72	72	72	165	74	74	74
+165	74	74	74	166	76	76	76
+166	76	76	76	167	78	78	78
+167	78	78	78	168	80	80	80
+168	80	80	80	169	82	82	82
+169	82	82	82	170	84	84	84
+170	84	84	84	171	86	86	86
+171	86	86	86	172	88	88	88
+172	88	88	88	173	90	90	90
+173	90	90	90	174	92	92	92
+174	92	92	92	175	94	94	94
+175	94	94	94	176	96	96	96
+176	96	96	96	177	98	98	98
+177	98	98	98	178	100	100	100
+178	100	100	100	179	102	102	102
+179	102	102	102	180	104	104	104
+180	104	104	104	181	106	106	106
+181	106	106	106	182	108	108	108
+182	108	108	108	183	110	110	110
+183	110	110	110	184	112	112	112
+184	112	112	112	185	114	114	114
+185	114	114	114	186	116	116	116
+186	116	116	116	187	118	118	118
+187	118	118	118	188	120	120	120
+188	120	120	120	189	122	122	122
+189	122	122	122	190	124	124	124
+190	124	124	124	191	126	126	126
+191	126	126	126	192	129	129	129
+192	129	129	129	193	131	131	131
+193	131	131	131	194	133	133	133
+194	133	133	133	195	135	135	135
+195	135	135	135	196	137	137	137
+196	137	137	137	197	139	139	139
+197	139	139	139	198	141	141	141
+198	141	141	141	199	143	143	143
+199	143	143	143	200	145	145	145
+200	145	145	145	201	147	147	147
+201	147	147	147	202	149	149	149
+202	149	149	149	203	151	151	151
+203	151	151	151	204	153	153	153
+204	153	153	153	205	155	155	155
+205	155	155	155	206	157	157	157
+206	157	157	157	207	159	159	159
+207	159	159	159	208	161	161	161
+208	161	161	161	209	163	163	163
+209	163	163	163	210	165	165	165
+210	165	165	165	211	167	167	167
+211	167	167	167	212	169	169	169
+212	169	169	169	213	171	171	171
+213	171	171	171	214	173	173	173
+214	173	173	173	215	175	175	175
+215	175	175	175	216	177	177	177
+216	177	177	177	217	179	179	179
+217	179	179	179	218	181	181	181
+218	181	181	181	219	183	183	183
+219	183	183	183	220	185	185	185
+220	185	185	185	221	187	187	187
+221	187	187	187	222	189	189	189
+222	189	189	189	223	191	191	191
+223	191	191	191	224	193	193	193
+224	193	193	193	225	195	195	195
+225	195	195	195	226	197	197	197
+226	197	197	197	227	199	199	199
+227	199	199	199	228	201	201	201
+228	201	201	201	229	203	203	203
+229	203	203	203	230	205	205	205
+230	205	205	205	231	207	207	207
+231	207	207	207	232	209	209	209
+232	209	209	209	233	211	211	211
+233	211	211	211	234	213	213	213
+234	213	213	213	235	215	215	215
+235	215	215	215	236	217	217	217
+236	217	217	217	237	219	219	219
+237	219	219	219	238	221	221	221
+238	221	221	221	239	223	223	223
+239	223	223	223	240	225	225	225
+240	225	225	225	241	227	227	227
+241	227	227	227	242	229	229	229
+242	229	229	229	243	231	231	231
+243	231	231	231	244	233	233	233
+244	233	233	233	245	235	235	235
+245	235	235	235	246	237	237	237
+246	237	237	237	247	239	239	239
+247	239	239	239	248	241	241	241
+248	241	241	241	249	243	243	243
+249	243	243	243	250	245	245	245
+250	245	245	245	251	247	247	247
+251	247	247	247	252	249	249	249
+252	249	249	249	253	251	251	251
+253	251	251	251	254	253	253	253
+254	253	253	253	255	255	255	255
+B	0	0	0
+F	0	0	0
+N	0	0	0

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_gmt_movie_file.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_gmt_movie_file.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_gmt_movie_file.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,96 @@
+#!/usr/bin/perl
+#
+# reads in files produced from xcreate_movie_AVS_DX for GMT plotting
+# and creates gif files (with option for one-color transparency)
+#
+
+use Getopt::Std;
+use POSIX;
+
+sub Usage {
+  print STDERR <<EOF;
+  
+Usage: plot_gmt_movie_file.pl file_name
+  
+  ex. ./plot_gmt_movie_file.pl OUTPUT_FILES/gmt_movie_000***.xyz
+  
+EOF
+exit(1)
+}
+
+if (!getopts('l:L:cdts')) {die('Check input arguments\n');}
+ at ARGV > 0 or Usage();
+
+
+#######################################################
+## region
+# global
+$R = "-Rd";
+
+#plate carré projection (centered at 0 meridian, parallel to equator, plot width 15 inches)
+$JM = "-JQ0/0/15"; 
+
+# use white as transparent color
+$transparency = 0;
+
+#######################################################
+
+
+open(CSH,">plot_movie.csh");
+print CSH "gmtset BASEMAP_TYPE plain ANOT_FONT_SIZE 9 HEADER_FONT_SIZE 15\n";
+print CSH "makecpt -Cpolar -T0/255/1 -Z -V > grd.cpt\n";
+
+foreach $file (@ARGV) {
+  
+  if (not -f $file) {die("No $file\n");}
+  
+  print "Processing frame $file...\n";
+  
+  open FILE, "$file" or die $!;
+  @lines_f = <FILE>;
+  close(FILE);
+  $nlines_f = @lines_f;
+  
+  $ps_file = "$file.ps";
+  
+  $grdfile = "ascii_movie.grd";
+  $B = " -B10/10wesn ";
+  
+  # start ps-file
+  print CSH "psxy -JX1/1 -R0/1/0/1 -K -P -V -X1 -Y1 <<EOF >$ps_file\nEOF\n";
+  
+  
+  print CSH "xyz2grd $file -I0.4/0.4 $R -G$grdfile -N127.5 -V \n";
+  print CSH "grdsample $grdfile -G$grdfile.1 -I0.4/0.4 -F -V\n";
+  print CSH "grdimage $grdfile.1 $JM $R  -Cgrd.cpt $B -K -O -V -P >> $ps_file\n";
+  
+  # coast 
+####  print CSH "pscoast $JM $R -W0.1 -Dl  -A10000 -K -O -P -V >> $ps_file \n";  
+  print CSH "pscoast $JM $R -W0.1 -Dh -A1000 -K -O -P -V >> $ps_file \n";  
+  # color scale
+  print CSH "psscale -D3/-0.5/3/0.2h -Ba50:'': -Cgrd.cpt -K -O -V -P >> $ps_file\n";
+  # base map
+  print CSH "psbasemap  -R -J -Ba90/a30:.'':WeSn -O -K -P -V  >> $ps_file\n";
+  
+  # end ps-file
+  print CSH "psxy -JX1/1 -R0/1/0/1 -O -P -V <<EOF >>$ps_file\nEOF\n";
+  
+  # convert to gif
+  if( $transparency == 1 ){
+    print CSH "convert -crop 1080x540+72+6 -transparent 'rgb(254,254,255)' $ps_file $file.gif\n";  
+  }
+  else{
+    print CSH "convert -crop 1080x540+72+6 $ps_file $file.gif\n";    
+  }
+  
+  print CSH "rm -f $ps_file\n";
+  
+  print CSH "\necho $file.gif\n";
+}
+close(CSH);
+
+print "\nplotting... \n\n";
+
+system("csh -fv plot_movie.csh");
+system("rm -f plot_movie.csh $grdfile $grdfile.1 grd.cpt");
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_gmt_movie_file.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_gmt_movie_file_Japan.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_gmt_movie_file_Japan.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_gmt_movie_file_Japan.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,95 @@
+#!/usr/bin/perl
+#
+# reads in files produced from xcreate_movie_AVS_DX for GMT plotting
+# and creates gif files (with option for one-color transparency)
+#
+
+use Getopt::Std;
+use POSIX;
+
+sub Usage {
+  print STDERR <<EOF;
+  
+Usage: plot_gmt_movie_file.pl file_name
+  
+  ex. ./plot_gmt_movie_file.pl OUTPUT_FILES/gmt_movie_000***.xyz
+  
+EOF
+exit(1)
+}
+
+if (!getopts('l:L:cdts')) {die('Check input arguments\n');}
+ at ARGV > 0 or Usage();
+
+
+#######################################################
+# region around Japan
+$R = "-R110/170/6/66";
+
+# projection centered at 135 meridian, parallel to equator, plot width 6 inch
+$JM = "-JQ135/0/6"; 
+
+# use white as transparent color
+$transparency = 0;
+
+#######################################################
+
+
+open(CSH,">plot_movie.csh");
+print CSH "gmtset BASEMAP_TYPE plain ANOT_FONT_SIZE 9 HEADER_FONT_SIZE 15\n";
+print CSH "makecpt -Cpolar -T0/255/1 -Z -V > grd.cpt\n";
+
+foreach $file (@ARGV) {
+  
+  if (not -f $file) {die("No $file\n");}
+  
+  print "Processing frame $file...\n";
+  
+  open FILE, "$file" or die $!;
+  @lines_f = <FILE>;
+  close(FILE);
+  $nlines_f = @lines_f;
+  
+  $ps_file = "$file.ps";
+  
+  $grdfile = "ascii_movie.grd";
+  $B = " -B10/10wesn ";
+  
+  # start ps-file
+  print CSH "psxy -JX1/1 -R0/1/0/1 -K -P -V -X1 -Y1 <<EOF >$ps_file\nEOF\n";
+  
+  
+  print CSH "xyz2grd $file -I0.4/0.4 $R -G$grdfile -N127.5 -V \n";
+  print CSH "grdsample $grdfile -G$grdfile.1 -I0.4/0.4 -F -V\n";
+  print CSH "grdimage $grdfile.1 $JM $R  -Cgrd.cpt $B -K -O -V -P >> $ps_file\n";
+  
+  # coast 
+#####  print CSH "pscoast $JM $R -W0.1 -Dl  -A10000 -K -O -P -V >> $ps_file \n";  
+  print CSH "pscoast $JM $R -W0.1 -Dh -A1000 -K -O -P -V >> $ps_file \n";  
+  # color scale
+  print CSH "psscale -D3/-0.5/3/0.2h -Ba50:'': -Cgrd.cpt -K -O -V -P >> $ps_file\n";
+  # base map
+  print CSH "psbasemap  -R -J -Ba90/a30:.'':WeSn -O -K -P -V  >> $ps_file\n";
+  
+  # end ps-file
+  print CSH "psxy -JX1/1 -R0/1/0/1 -O -P -V <<EOF >>$ps_file\nEOF\n";
+  
+  # convert to gif
+  if( $transparency == 1 ){
+    print CSH "convert -crop 1080x540+72+6 -transparent 'rgb(254,254,255)' $ps_file $file.gif\n";  
+  }
+  else{
+    print CSH "convert -crop 1080x540+72+6 $ps_file $file.gif\n";    
+  }
+  
+  print CSH "rm -f $ps_file\n";
+  
+  print CSH "\necho $file.gif\n";
+}
+close(CSH);
+
+print "\nplotting... \n\n";
+
+system("csh -fv plot_movie.csh");
+system("rm -f plot_movie.csh $grdfile $grdfile.1 grd.cpt");
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_gmt_movie_file_Japan.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_gmt_movie_file_qinya.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_gmt_movie_file_qinya.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_gmt_movie_file_qinya.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,85 @@
+#!/usr/bin/perl -w
+#
+# reads in files produced from xcreate_movie_AVS_DX for GMT plotting
+#
+
+use POSIX;
+
+$cmt_file = "CMTSOLUTION";
+if (not -f $cmt_file) {die("No such file as $cmt_file");}
+(undef,undef,undef,,undef,undef,undef,undef,undef,undef,$elat,$elon) = &get_cmt($cmt_file);
+
+$dx = 0.0145833333332916;
+$dy = 0.01197916666667;
+ at frame = ("04","08","12","16","20","24","28","32","36","40","44","48");
+#@frame = ("000800","001600","002400","003200","004000","004800","005600","006400","007200","008000","008800","009600");
+$nframe = @frame;
+$ncolumn = 3;
+$nrow = ceil($nframe/$ncolumn);
+
+$xlen = 7; $ylen = 9;
+$drow = $ylen/$nrow; $dcolumn = $xlen/$ncolumn;
+$dcolumn1 = $dcolumn * 0.9;
+$x0 = 0; $y0 = 0;
+
+$R = "-R-120.3/-114.7/32.2/36.8";
+$JM = "-JM${dcolumn1}i";
+$ps_file = "movie.ps";
+$null = 127.5000;
+
+open(CSH,">plot_movie.csh");
+print CSH "gmtset BASEMAP_TYPE plain ANOT_FONT_SIZE 9 HEADER_FONT_SIZE 15\n";
+print CSH "makecpt -Cpolar -T0/255/2 -Z -V > grd.cpt\n";
+print CSH "psxy -JX1/1 -R0/1/0/1 -K -P -V -X1 -Y1 <<EOF >$ps_file\nEOF\n";
+print CSH "psxy -JX1/1 -R0/1/0/1 -X$x0 -Y$y0 -K -O -P -V  <<EOF >>$ps_file\nEOF\n";
+
+column: for ($j=0; $j<$ncolumn; $j++) {
+  for ($i=0;$i<$nrow; $i++) {
+    if ($i + $j*$nrow + 1 > $nframe) {last column;}
+    $frame = $frame[$i+$nrow* $j]; $time = $frame * 200 * 0.009 - 1.0;
+    $file = "gmt_movie_0000${frame}.xyz";
+    if (not -f $file) {die("No $file\n");}
+    print "Processing frame $file...\n";
+    $grdfile = "gmt_movie_0000${frame}.grd";
+    $xpos = $j * $dcolumn; $ypos = $drow * ($nrow - $i-1);
+    $XY = " -X$xpos -Y$ypos "; $NXY = " -X-$xpos -Y-$ypos ";
+    $B = " -B2/2wesn ";
+    print CSH "awk '\$3 != $null {print \$0}' $file | xyz2grd -I$dx/$dy $R -G$grdfile -N128 -V \n";
+    print CSH "grdsample $grdfile -G$grdfile.1 -I0.00833333/0.00833333 -F -V\n";
+    print CSH "grdimage $grdfile.1 $JM $R $XY -Itopo.int -Cgrd.cpt $B -K -O -V -P >> $ps_file\n";
+    print CSH "pscoast $JM $R -W4 -Na -Dh -K -O -P -V >> $ps_file \n";
+    print CSH "psxy $JM $R -M -W2 -K -O -P -V /home/lqy/datalib/jennings.xy >> $ps_file\n";
+    print CSH "psxy $JM $R -Sa0.10 -W1 -G0/0/0 -K -O -P -V <<EOF >> $ps_file\n$elon $elat\nEOF\n";
+    print CSH "pstext $JM $R -N -W255/255/255 -K -O -P -V <<EOF >>$ps_file \n";
+    print CSH "-114.8 36.5 12 0 0 RT time = $time s \nEOF\n";
+    print  CSH "psxy -JX1/1 -R0/1/0/1 $NXY -K -O -P -V <<EOF >>$ps_file\nEOF\n";
+  }
+}
+print  CSH "psxy -JX1/1 -R0/1/0/1 -O -P -V <<EOF >>$ps_file\nEOF\n";
+close(CSH);
+
+system("csh -fv plot_movie.csh; xv $ps_file");
+
+
+#######################################
+sub get_cmt {
+  my ($cmt_file)=@_;
+  open(CMT, "$cmt_file") or die("Error opening $cmt_file\n");
+  @cmt = <CMT>;
+  my(undef,$oyear,$omonth,$oday,$ohr,$omin,$osec1,undef,undef,undef,$mw,undef, at evnm)=split(" ",$cmt[0]);
+  my($osec,$omsec)=split(/\./,$osec1); $omsec=$omsec*10;
+  my(undef,undef,$evid) = split(" ",$cmt[1]);
+  my(undef,undef,$tshift)=split(" ",$cmt[2]);
+  my(undef,undef,$hdur)=split(" ",$cmt[3]);
+  my(undef,$elat)=split(" ",$cmt[4]);
+  my(undef,$elon)=split(" ",$cmt[5]);
+  my(undef,$edep)=split(" ",$cmt[6]);
+  my(undef,$Mrr)=split(" ",$cmt[7]);
+  my(undef,$Mtt)=split(" ",$cmt[8]);
+  my(undef,$Mpp)=split(" ",$cmt[9]);
+  my(undef,$Mrt)=split(" ",$cmt[10]);
+  my(undef,$Mrp)=split(" ",$cmt[11]);
+  my(undef,$Mtp)=split(" ",$cmt[12]);
+  close(CMT);
+  return ($oyear,$omonth,$oday,$ohr,$omin,$osec,$omsec,$tshift,$hdur,$elat,$elon,$edep,$Mrr,$Mtt,$Mpp,$Mrt,$Mrp,$Mtp,$mw, at evnm);
+}

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_movie_GMT_ascii.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_movie_GMT_ascii.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_movie_GMT_ascii.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,142 @@
+#!/usr/bin/perl
+#
+# reads in ascii files produced from xcreate_movie_GMT_global
+# and creates ps files
+#
+
+use Getopt::Std;
+use POSIX;
+
+sub Usage {
+  print STDERR <<EOF;
+  
+Usage: plot_movie_GMT_ascii.pl file_name
+  
+  ex. ./plot_movie_GMT_ascii.pl OUTPUT_FILES/ascii_movie_000100.d
+  
+EOF
+exit(1)
+}
+
+if (!getopts('l:L:cdts')) {die('Check input arguments\n');}
+ at ARGV > 0 or Usage();
+
+#######################################################
+## PARAMETERS
+
+# point locations
+$xy_file = "OUTPUT_FILES/ascii_movie.xy";
+
+# global region
+$R = "-Rd";
+
+#plate carré projection
+$JM = "-JQ0/0/5"; 
+
+#interpolation
+$interp = "-I1.5/1.5";
+#######################################################
+
+# parameters
+$grdfile = "movie.grd";
+$B = " -B10/10wesn ";
+
+open(CSH,">plot_movie.csh");
+print CSH "gmtset BASEMAP_TYPE plain ANOT_FONT_SIZE 9 HEADER_FONT_SIZE 15\n";
+print CSH "makecpt -Cpolar -T0/255/2 -Z -V > grd.cpt\n";
+
+print "Processing locations: $xy_file\n";
+
+open FILE, "$xy_file" or die $!;
+ at lines = <FILE>;
+close(FILE);
+$nlines = @lines;
+print "  number of lines: $nlines\n\n";
+
+
+foreach $file (@ARGV) {
+
+  if (not -f $file) {die("No $file\n");}
+  
+  print "Processing frame $file...\n";
+
+  # reads displacement file
+  open FILE, "$file" or die $!;
+  @lines_f = <FILE>;
+  close(FILE);
+  $nlines_f = @lines_f;
+  
+  if ($nlines_f != $nlines) {die("number of lines differ\n");}
+  
+  # determines min/max of displacements
+  $minmax = `minmax $file | awk '{print \$5}' | sed -e "s:<: :" | sed -e "s:>: :" `;
+  chomp($minmax);
+  ($min,$max) = split("/",$minmax);  
+  print "file min/max: $minmax \n  min: $min\n  max: $max\n";  
+  
+  # transforms displacements to range [0,255] for colors
+  if( abs($min) > abs($max) ){$max = abs($min);}  
+  open FILE, ">$file.xyz" or die $!;
+  for($i=0;$i<$nlines;$i++){
+    # scale between 0,1
+    $val = ($lines_f[$i] + $max)/(2.0*$max);
+    # scale between 0, 255
+    $val = $val * 255.0;
+        
+    $coord = $lines[$i];
+    chomp($coord);
+    print FILE "$coord $val \n";
+  }
+  close(FILE);
+ 
+  # determines new min/max of scaled displacements
+  $minmax2 = `minmax $file.xyz | awk '{print \$7}' | sed -e "s:<: :" | sed -e "s:>: :" `;
+  chomp($minmax2);
+  ($min2,$max2) = split("/",$minmax2);  
+  print "  min2/max2: $minmax2 \n\n";
+  
+  #print CSH "paste $xy_file $file > $file.xyz \n";
+
+  # output file
+  $ps_file = "$file.ps";  
+  
+  # interpolates displacement field    
+  print CSH "xyz2grd $file.xyz $interp $R -G$grdfile -N127.5 -V \n";
+  print CSH "grdsample $grdfile -G$grdfile.1 $interp -F -V\n";
+  print CSH "grdimage $grdfile.1 $JM $R  -Cgrd.cpt $B -K -V -P > $ps_file\n";
+
+  # draws grid points
+  print CSH "awk '{print \$0}' $file.xyz | psxy -J -R -Sc0.01 -Cgrd.cpt -V -K -O -P >> $ps_file \n";
+  
+  # river, states, coast
+  #print CSH "pscoast $JM $R -W4 -Na -Dh -K -O -P -V >> $ps_file \n";
+
+  # coast only
+  print CSH "pscoast $JM $R -W1 -Dl  -A10000 -K -O -P -V >> $ps_file \n";
+
+  # color scale
+  print CSH "psscale -D3/-0.5/3/0.2h -Ba50:'': -Cgrd.cpt -K -O -V -P >> $ps_file\n";
+  
+  # base map
+  print CSH "psbasemap  -R -J -Ba90/a30:.'':WeSn -O -P -V  >> $ps_file\n";
+
+  # remove temporary data file
+  print CSH "rm -f $file.xyz \n";
+  
+  # removes temporary images
+  
+  print CSH "echo \n";
+  print CSH "echo 'plotted: $file.ps' \n";
+  print CSH "echo \n";
+  
+}
+close(CSH);
+
+print "\nplotting... \n\n";
+
+# executes script
+system("csh -f plot_movie.csh");
+
+# cleanup
+system("rm -f plot_movie.csh");
+system("rm -f $grdfile $grdfile.1 grd.cpt");


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_movie_GMT_ascii.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_movie_GMT_ascii_PNG.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_movie_GMT_ascii_PNG.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_movie_GMT_ascii_PNG.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,143 @@
+#!/usr/bin/perl
+#
+# reads in ascii files produced from xcreate_movie_GMT_global
+# and creates PNG files with transparency
+#
+
+use Getopt::Std;
+use POSIX;
+
+sub Usage {
+  print STDERR <<EOF;
+  
+Usage: plot_movie_GMT_ascii_PNG.pl file_name
+  
+  ex. ./plot_movie_GMT_ascii_PNG.pl OUTPUT_FILES/ascii_movie_*.d
+  
+  converts ps-file to *.png file format with transparency
+  
+EOF
+exit(1)
+}
+
+if (!getopts('l:L:cdts')) {die('Check input arguments\n');}
+ at ARGV > 0 or Usage();
+
+
+#######################################################
+## PARAMETERS
+
+# point locations
+$xy_file = "OUTPUT_FILES/ascii_movie.xy";
+
+# global region
+$R = "-Rd";
+
+#plate carré projection
+$JM = "-JQ0/0/15"; 
+
+# interpolation on a regular spaced grid file  
+$mesh_degree = "0.8/0.8";
+$intp_degree = "0.1/0.1";
+
+# verbosity
+$verbose = ""; # "-V";
+# grid
+$grdfile = "ascii_movie.grd";
+# annotation
+$B = " -B10/10wesn ";
+
+# color tables
+$colorcpt = "blue_white_red.cpt";
+$maskcpt = "gray_pyramid_inv.cpt";
+
+#######################################################
+
+open FILE, "$xy_file" or die $!;
+ at lines = <FILE>;
+close(FILE);
+$nlines = @lines;
+
+
+open(CSH,">plot_movie.csh");
+print CSH "gmtset BASEMAP_TYPE plain ANOT_FONT_SIZE 9 HEADER_FONT_SIZE 15\n";
+
+
+foreach $file (@ARGV) {
+  
+  if (not -f $file) {die("No $file\n");}
+  
+  print "Processing frame $file...\n";
+  
+  # reads displacement file
+  open FILE, "$file" or die $!;
+  @lines_f = <FILE>;
+  close(FILE);
+  $nlines_f = @lines_f;
+  
+  if ($nlines_f != $nlines) {die("number of lines differ\n");}
+  
+  # determines min/max of displacements
+  $minmax = `minmax $file | awk '{print \$5}' | sed -e "s:<: :" | sed -e "s:>: :" `;
+  chomp($minmax);
+  ($min,$max) = split("/",$minmax);  
+  
+  # transforms displacements to range [0,255] for colors
+  if( abs($min) > abs($max) ){$max = abs($min);}  
+  open FILE, ">$file.xyz" or die $!;
+  for($i=0;$i<$nlines;$i++){
+    # scale between 0,1
+    $val = ($lines_f[$i] + $max)/(2.0*$max);
+    # scale between 0, 255
+    $val = $val * 255.0;
+    
+    # prints value together with coordinates		        
+    $coord = $lines[$i];
+    chomp($coord);
+    #if( $val < 107 || $val > 148) {print FILE "$coord $val \n";}
+    print FILE "$coord $val \n";
+  }
+  close(FILE);
+  
+  # interpolates values on a regular spaced grid file  
+  print CSH "xyz2grd $file.xyz -I$mesh_degree $R -G$grdfile  $verbose \n"; # -N127.5
+  print CSH "grdsample $grdfile  -I$intp_degree -G$grdfile.1 -F $verbose\n";
+  
+  
+  $ps_file = "$file.ps";  
+  
+  # start ps-file
+  print CSH "psxy -JX1/1 -R0/1/0/1 -K -P $verbose -X1 -Y1 <<EOF >$ps_file\nEOF\n";
+  print CSH "grdimage $grdfile.1 $JM $R -Q -C$colorcpt $B -K -O $verbose -P >> $ps_file\n";  
+  print CSH "psxy -JX1/1 -R0/1/0/1 -O -P $verbose <<EOF >>$ps_file\nEOF\n";
+  # end ps-file
+  
+  # start ps-file mask
+  print CSH "psxy -JX1/1 -R0/1/0/1 -K -P $verbose -X1 -Y1 <<EOF >$ps_file.mask\nEOF\n";
+  print CSH "grdimage $grdfile.1 $JM $R -Q -C$maskcpt $B -K -O $verbose -P >> $ps_file.mask\n";
+  print CSH "psxy -JX1/1 -R0/1/0/1 -O -P $verbose <<EOF >>$ps_file.mask\nEOF\n";
+  # end ps-file mask
+  
+  # convert to png
+  print CSH "convert -crop 1080x540+6+6 $ps_file $file.disp.png\n";
+  print CSH "convert -crop 1080x540+6+6 $ps_file.mask $file.mask.png\n";
+  
+  # creates file with transparency (opacity)
+  print CSH "composite -compose CopyOpacity $file.mask.png $file.disp.png $file.png\n";
+	
+  print CSH "\necho $file.png\n";
+  
+  # remove temporary data file
+  print CSH "rm -f $file.xyz\n";
+  
+  # removes temporary images
+  print CSH "rm -f $ps_file $ps_file.mask $file.mask.png $file.disp.png \n";  
+  
+}
+close(CSH);
+
+print "\nplotting... \n\n";
+
+system("csh -fv plot_movie.csh");
+system("rm -f plot_movie.csh $grdfile $grdfile.1");
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_movie_GMT_binary.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_movie_GMT_binary.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_movie_GMT_binary.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,214 @@
+#!/usr/bin/perl
+#
+# reads in binary files produced from xcreate_movie_GMT_global
+# and creates ps files
+#
+
+use Getopt::Std;
+use POSIX;
+
+sub Usage {
+  print STDERR <<EOF;
+  
+Usage: plot_movie_GMT_binary.pl file_name
+  
+  ex. ./plot_movie_GMT_binary.pl OUTPUT_FILES/bin_movie_*.d
+  
+EOF
+exit(1)
+}
+
+if (!getopts('l:L:cdts')) {die('Check input arguments\n');}
+ at ARGV > 0 or Usage();
+
+
+#######################################################
+## PARAMETERS
+
+# point locations
+$xy_file = "OUTPUT_FILES/bin_movie.xy";
+
+
+# global region
+$R = "-Rd";
+
+#plate carré projection
+$JM = "-JQ0/0/15"; 
+
+# interpolation
+$interp = "-I1.5/1.5";
+#######################################################
+
+# verbosity
+$verbose = ""; # "-V";
+# grid
+$grdfile = "movie.grd";
+# annotation
+$B = " -B10/10wesn ";
+
+open(CSH,">plot_movie.csh");
+print CSH "gmtset BASEMAP_TYPE plain ANOT_FONT_SIZE 9 HEADER_FONT_SIZE 15\n";
+print CSH "makecpt -Cpolar -T0/255/2 -Z -V > grd.cpt\n";
+
+print "Processing locations: $xy_file\n";
+
+# reads in locations (binary data)
+open FILE, "$xy_file" or die $!;
+binmode FILE;
+
+ at lines= () ;
+$line="";
+$is_ok = 1;
+$count = 0;
+while ( $is_ok != 0) {
+  read FILE, $junk, 4;
+  
+  $n1 = read FILE, $data1, 4;
+  if( $n1 != 0 ){
+    ($lon) = unpack( "f",$data1);
+  }
+  $n2 = read FILE, $data2, 4;
+  if( $n2 != 0 ){
+    ($lat) = unpack( "f",$data2);
+  }
+  read FILE, $junk, 4;
+  
+  #print "$n1 $n2 bytes read: lon=$lon \t \t lat=$lat\n";
+  
+  if( $n1 != 0 && $n2 != 0  ){
+    $line = "$lon $lat \n";
+    push(@lines, $line);
+    $is_ok = 1;
+  }
+  else{ $is_ok = 0;}
+  
+  $count++;
+  #if( $count == 8 ) {die("end");}
+}
+$nlines = @lines;
+close(FILE);
+print "  number of lines: $nlines\n\n";
+
+
+foreach $file (@ARGV) {
+  
+  if (not -f $file) {die("No $file\n");}
+  
+  print "Processing frame $file...\n";
+    
+  # reads displacement file (binary data)
+  open FILE, "$file" or die $!;
+  binmode FILE;
+  
+  @lines_f= () ; 
+  $line="";
+  $is_ok = 1;
+  $min = 1.e30;
+  $max = -1.e30;
+  while ( $is_ok != 0) {
+    read FILE, $junk, 4;
+    
+    $n1 = read FILE, $data1, 4;
+    if( $n1 != 0 ){
+      ($val) = unpack( "f",$data1);
+    }
+    
+    read FILE, $junk, 4;
+    
+    if( $power_scaling > 0 ) {
+      if( $val > 0 ){ $val = $val**$power_scaling;
+      }else{
+        $val = - abs($val)**$power_scaling;
+      }
+      
+    }
+    
+    #print "$n1 bytes read: value=$val \n";
+    
+    if( $n1 != 0 ){
+      $line = "$val \n";
+      push(@lines_f, $line);
+      
+      # determines min/max of displacements
+      if( $val < $min) {$min = $val;}
+      if( $val > $max) {$max = $val;}
+      
+      $is_ok = 1;
+    }
+    else{ $is_ok = 0;}
+  }
+  $nlines_f = @lines_f;  
+  close(FILE);
+    
+  if ($nlines_f != $nlines) {die("number of lines differ\n");}
+  
+  
+  # transforms displacements to range [0,255] for colors
+  if( abs($min) > abs($max) ){$max = abs($min);}  
+  open FILE, ">$file.xyz" or die $!;
+  
+  @elem_corners = ();
+  @elem_val = ();
+  for($i=0;$i<$nlines;$i++){
+    # scale between 0,1
+    $val = ($lines_f[$i] + $max)/(2.0*$max);
+    # scale between 0, 255
+    $val = $val * 255.0;
+    
+    # prints value together with coordinates		        
+    $coord = $lines[$i];
+    chomp($coord);
+    
+    # adds point 
+    print FILE "$coord $val \n";
+    
+    # stores values in arrays
+    push(@elem_val, $val );
+    $line = "$coord $val ";
+    push(@elem_corners, $line);
+  }
+  close(FILE);
+
+  # output file    
+  $ps_file = "$file.ps";  
+  
+  # interpolates displacement field    
+  print CSH "xyz2grd $file.xyz $interp $R -G$grdfile -N127.5 -V \n";
+  print CSH "grdsample $grdfile -G$grdfile.1 $interp -F -V\n";
+  print CSH "grdimage $grdfile.1 $JM $R  -Cgrd.cpt $B -K -V -P > $ps_file\n";
+  
+  # draws grid points
+  print CSH "awk '{print \$0}' $file.xyz | psxy -J -R -Sc0.01 -Cgrd.cpt -V -K -O -P >> $ps_file \n";
+  
+  # river, states, coast
+  #print CSH "pscoast $JM $R -W4 -Na -Dh -K -O -P -V >> $ps_file \n";
+  
+  # coast only
+  print CSH "pscoast $JM $R -W1 -Dl  -A10000 -K -O -P -V >> $ps_file \n";
+  
+  # color scale
+  print CSH "psscale -D3/-0.5/3/0.2h -Ba50:'': -Cgrd.cpt -K -O -V -P >> $ps_file\n";
+  
+  # base map
+  print CSH "psbasemap  -R -J -Ba90/a30:.'':WeSn -O -P -V  >> $ps_file\n";
+	
+  # remove temporary data file
+  print CSH "rm -f $file.xyz \n";
+  
+  # removes temporary images
+  
+  print CSH "echo \n";
+  print CSH "echo 'plotted: $file.ps' \n";
+  print CSH "echo \n";
+  
+}
+close(CSH);
+
+print "\nplotting... \n\n";
+
+# executes script
+system("csh -f plot_movie.csh");
+
+# cleanup
+system("rm -f plot_movie.csh");
+system("rm -f $grdfile $grdfile.1 grd.cpt");


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_movie_GMT_binary.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_movie_GMT_binary_PNG.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_movie_GMT_binary_PNG.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_movie_GMT_binary_PNG.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,258 @@
+#!/usr/bin/perl
+#
+# reads in binary files produced from xcreate_movie_GMT_global
+# and creates png files with transparency
+#
+# uses segmented M-file to plot with psxy
+#
+
+use Getopt::Std;
+use POSIX;
+
+sub Usage {
+  print STDERR <<EOF;
+  
+Usage: plot_movie_GMT_binary_PNG.pl file_name
+  
+  ex. ./plot_movie_GMT_binary_PNG.pl OUTPUT_FILES/bin_movie_*.d
+  
+EOF
+exit(1)
+}
+
+if (!getopts('l:L:cdts')) {die('Check input arguments\n');}
+ at ARGV > 0 or Usage();
+
+
+#######################################################
+## PARAMETERS
+
+# point locations
+$xy_file = "OUTPUT_FILES/bin_movie.xy";
+
+# specfem3D Par_file settings
+$nex = 160;
+$nproc = 5;
+$nchunks = 6;
+
+# non-linear scaling 
+$power_scaling = 0.5;
+
+# global region
+$R = "-Rd";
+
+#plate carré projection
+$JM = "-JQ0/0/15"; 
+
+# color tables
+$colorcpt = "blue_white_red.cpt";
+$maskcpt = "gray_pyramid_inv.cpt";
+
+#######################################################
+
+# verbosity
+$verbose = ""; # "-V";
+# grid
+$grdfile = "movie.grd";
+# annotation
+$B = " -B10/10wesn ";
+
+
+print "Processing locations: $xy_file\n";
+
+# reads in locations (binary data)
+open FILE, "$xy_file" or die $!;
+binmode FILE;
+
+ at lines= () ;
+$line="";
+$is_ok = 1;
+$count = 0;
+while ( $is_ok != 0) {
+  read FILE, $junk, 4;
+  
+  $n1 = read FILE, $data1, 4;
+  if( $n1 != 0 ){
+    ($lon) = unpack( "f",$data1);
+  }
+  $n2 = read FILE, $data2, 4;
+  if( $n2 != 0 ){
+    ($lat) = unpack( "f",$data2);
+  }
+  read FILE, $junk, 4;
+  
+  #print "$n1 $n2 bytes read: lon=$lon \t \t lat=$lat\n";
+  
+  if( $n1 != 0 && $n2 != 0  ){
+    $line = "$lon $lat \n";
+    push(@lines, $line);
+    $is_ok = 1;
+  }
+  else{ $is_ok = 0;}
+  
+  $count++;
+  #if( $count == 8 ) {die("end");}
+}
+$nlines = @lines;
+close(FILE);
+print "  number of lines: $nlines\n\n";
+
+
+open(CSH,">plot_movie.csh");
+print CSH "gmtset BASEMAP_TYPE plain ANOT_FONT_SIZE 9 HEADER_FONT_SIZE 15\n";
+
+foreach $file (@ARGV) {
+  
+  if (not -f $file) {die("No $file\n");}
+  
+  print "Processing frame $file...\n";
+    
+  # reads displacement file (binary data)
+  open FILE, "$file" or die $!;
+  binmode FILE;
+  
+  @lines_f= () ; 
+  $line="";
+  $is_ok = 1;
+  $min = 1.e30;
+  $max = -1.e30;
+  while ( $is_ok != 0) {
+    read FILE, $junk, 4;
+    
+    $n1 = read FILE, $data1, 4;
+    if( $n1 != 0 ){
+      ($val) = unpack( "f",$data1);
+    }
+    
+    read FILE, $junk, 4;
+    
+    if( $power_scaling > 0 ) {
+      if( $val > 0 ){ $val = $val**$power_scaling;
+      }else{
+        $val = - abs($val)**$power_scaling;
+      }
+      
+    }
+    
+    #print "$n1 bytes read: value=$val \n";
+    
+    if( $n1 != 0 ){
+      $line = "$val \n";
+      push(@lines_f, $line);
+      
+      # determines min/max of displacements
+      if( $val < $min) {$min = $val;}
+      if( $val > $max) {$max = $val;}
+      
+      $is_ok = 1;
+    }
+    else{ $is_ok = 0;}
+  }
+  $nlines_f = @lines_f;  
+  close(FILE);
+  
+  # restore gzipped file
+  if( $gzipped == 1 ) {system("mv $filegz.org $filegz");}
+  
+  if ($nlines_f != $nlines) {die("number of lines differ\n");}
+  
+  
+  # transforms displacements to range [0,255] for colors
+  if( abs($min) > abs($max) ){$max = abs($min);}  
+  open FILE, ">$file.xyz" or die $!;
+  
+  @elem_corners = ();
+  @elem_val = ();
+  for($i=0;$i<$nlines;$i++){
+    # scale between 0,1
+    $val = ($lines_f[$i] + $max)/(2.0*$max);
+    # scale between 0, 255
+    $val = $val * 255.0;
+    
+    # prints value together with coordinates		        
+    $coord = $lines[$i];
+    chomp($coord);
+    
+    # calculates a nice rectangle size
+    ($lon,$lat) = split(" ",$coord);
+    $rect_length = abs($lat) / 90. ;
+    $rect_length = 0.03 + ($rect_length**2) * 0.1;
+    $rect_height = 0.03 + ($rect_length**2) * 0.005; 
+    
+    # adds point 
+    print FILE "$coord $val $rect_length $rect_height \n";
+    
+    # stores values in arrays
+    push(@elem_val, $val );
+    $line = "$coord $val ";
+    push(@elem_corners, $line);
+  }
+  close(FILE);
+  
+  
+  # specfem3D output for MOVIE_COARSE
+  $nex_per_proc = $nex / $nproc  ;  
+  $total = $nproc * $nex_per_proc * $nproc * $nex_per_proc * $nchunks;
+  if( $total != $nlines ){ die("error nex/proc $nlines $total");}
+  
+  # writes out segment file
+  open MFILE, ">$file.M.xyz" or die $!; 
+  for($n=0;$n<$nproc*$nproc*$nchunks;$n++){
+    for($m=0;$m<$nex_per_proc-1;$m++){
+      for ($k=0;$k<$nex_per_proc-1;$k++){  
+        # global array index
+        $i = $k + $m*$nex_per_proc + $n*$nex_per_proc*$nex_per_proc;
+        $val = $elem_val[$i];
+        # adds element
+        print MFILE "> -Z$val -W- \n";
+        print MFILE "$elem_corners[$i] \n"; 
+        print MFILE "$elem_corners[$i+1] \n"; 
+        print MFILE "$elem_corners[$i+$nex_per_proc+1] \n"; 
+        print MFILE "$elem_corners[$i+$nex_per_proc] \n"; 
+      }
+    }
+  }  
+  close(MFILE);
+  
+  $ps_file = "$file.ps";  
+  
+  # start ps-file
+  print CSH "psxy $file.xyz $JM $R $B -Sr -C$colorcpt -K -P $verbose > $ps_file\n";  
+  print CSH "psxy $file.M.xyz $JM $R $B -M -L -N -C$colorcpt -P -O  $verbose >> $ps_file\n";
+  # end ps-file
+  
+  # start ps-file mask
+  print CSH "psbasemap $JM $R $B -G0 -P $verbose -K > $ps_file.mask\n";
+  print CSH "psxy $file.xyz $JM $R $B -Sr -C$maskcpt -P -K -O $verbose >> $ps_file.mask\n";  
+  print CSH "psxy $file.M.xyz $JM $R $B -M -L -N -C$maskcpt -P -O $verbose >> $ps_file.mask\n";
+  # end ps-file mask
+  
+  # convert to png
+  print CSH "convert -crop 1080x540+6+6 $ps_file $file.disp.png\n";
+  print CSH "convert -crop 1080x540+6+6 $ps_file.mask $file.mask.png\n";
+  
+  # creates file with transparency (opacity)
+  print CSH "composite -compose CopyOpacity $file.mask.png $file.disp.png $file.png\n";
+	
+  # remove temporary data file
+  print CSH "rm -f $file.xyz $file.M.xyz\n";
+  
+  # removes temporary images
+  print CSH "rm -f $ps_file $ps_file.mask  \n";  
+  print CSH "rm -f $file.mask.png $file.disp.png \n"; 
+  
+  print CSH "echo \n";
+  print CSH "echo 'plotted: $file.png' \n";
+  print CSH "echo \n";
+  
+}
+close(CSH);
+
+print "\nplotting... \n\n";
+
+system("csh -f plot_movie.csh");
+
+system("rm -f plot_movie.csh");
+system("rm -f $grdfile $grdfile.1");
+
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_movie_GMT_binary_PNG.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_movie_GMT_binary_gunzipped_PNG.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_movie_GMT_binary_gunzipped_PNG.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_movie_GMT_binary_gunzipped_PNG.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,279 @@
+#!/usr/bin/perl
+#
+# reads in binary files (gzipped) produced from xcreate_movie_GMT_global
+# and creates png files with transparency
+#
+# uses segmented M-file to plot with psxy
+#
+
+use Getopt::Std;
+use POSIX;
+
+sub Usage {
+  print STDERR <<EOF;
+  
+Usage: plot_movie_GMT_binary_gunzipped_PNG.pl file_name
+  
+  ex. ./plot_movie_GMT_binary_gunzipped_PNG.pl OUTPUT_FILES/bin_movie_*.d.gz
+  
+EOF
+exit(1)
+}
+
+if (!getopts('l:L:cdts')) {die('Check input arguments\n');}
+ at ARGV > 0 or Usage();
+
+
+#######################################################
+## PARAMETERS
+
+# gunzipped files (ending .gz)
+$gzipped = 1;
+
+# point locations
+$xy_file = "OUTPUT_FILES/bin_movie.xy";
+
+# specfem3D Par_file settings
+$nex = 160;
+$nproc = 5;
+$nchunks = 6;
+
+# non-linear scaling 
+$power_scaling = 0.5;
+
+# global region
+$R = "-Rd";
+
+#plate carré projection
+$JM = "-JQ0/0/15"; 
+
+# color tables
+$colorcpt = "blue_white_red.cpt";
+$maskcpt = "gray_pyramid_inv.cpt";
+
+#######################################################
+
+# verbosity
+$verbose = ""; # "-V";
+# grid
+$grdfile = "movie.grd";
+# annotation
+$B = " -B10/10wesn ";
+
+
+# gunzips location file
+if( $gzipped == 1 ){
+  system("cp $xy_file.gz $xy_file.gz.org");
+  system("gunzip -f $xy_file.gz");
+}
+
+print "Processing locations: $xy_file\n";
+
+# reads in locations (binary data)
+open FILE, "$xy_file" or die $!;
+binmode FILE;
+
+ at lines= () ;
+$line="";
+$is_ok = 1;
+$count = 0;
+while ( $is_ok != 0) {
+  read FILE, $junk, 4;
+  
+  $n1 = read FILE, $data1, 4;
+  if( $n1 != 0 ){
+    ($lon) = unpack( "f",$data1);
+  }
+  $n2 = read FILE, $data2, 4;
+  if( $n2 != 0 ){
+    ($lat) = unpack( "f",$data2);
+  }
+  read FILE, $junk, 4;
+  
+  #print "$n1 $n2 bytes read: lon=$lon \t \t lat=$lat\n";
+  
+  if( $n1 != 0 && $n2 != 0  ){
+    $line = "$lon $lat \n";
+    push(@lines, $line);
+    $is_ok = 1;
+  }
+  else{ $is_ok = 0;}
+  
+  $count++;
+  #if( $count == 8 ) {die("end");}
+}
+$nlines = @lines;
+close(FILE);
+print "  number of lines: $nlines\n\n";
+
+# restore gzipped file
+if( $gzipped == 1 ) {system("mv $xy_file.gz.org $xy_file.gz");}
+
+open(CSH,">plot_movie.csh");
+print CSH "gmtset BASEMAP_TYPE plain ANOT_FONT_SIZE 9 HEADER_FONT_SIZE 15\n";
+
+
+foreach $file (@ARGV) {
+  
+  if (not -f $file) {die("No $file\n");}
+  
+  print "Processing frame $file...\n";
+  
+  # gunzips data file
+  if( $gzipped == 1 ){
+    $filegz = $file;
+    $file = substr($file,0,length($filegz)-3);
+    system("cp $filegz $filegz.org");
+    system("gunzip -f $filegz");
+  }
+  print "    $file\n";
+  
+  # reads displacement file (binary data)
+  open FILE, "$file" or die $!;
+  binmode FILE;
+  
+  @lines_f= () ; 
+  $line="";
+  $is_ok = 1;
+  $min = 1.e30;
+  $max = -1.e30;
+  while ( $is_ok != 0) {
+    read FILE, $junk, 4;
+    
+    $n1 = read FILE, $data1, 4;
+    if( $n1 != 0 ){
+      ($val) = unpack( "f",$data1);
+    }
+    
+    read FILE, $junk, 4;
+    
+    if( $power_scaling > 0 ) {
+      if( $val > 0 ){ $val = $val**$power_scaling;
+      }else{
+        $val = - abs($val)**$power_scaling;
+      }
+      
+    }
+    
+    #print "$n1 bytes read: value=$val \n";
+    
+    if( $n1 != 0 ){
+      $line = "$val \n";
+      push(@lines_f, $line);
+      
+      # determines min/max of displacements
+      if( $val < $min) {$min = $val;}
+      if( $val > $max) {$max = $val;}
+      
+      $is_ok = 1;
+    }
+    else{ $is_ok = 0;}
+  }
+  $nlines_f = @lines_f;  
+  close(FILE);
+  
+  # restore gzipped file
+  if( $gzipped == 1 ) {system("mv $filegz.org $filegz");}
+  
+  if ($nlines_f != $nlines) {die("number of lines differ\n");}
+  
+  
+  # transforms displacements to range [0,255] for colors
+  if( abs($min) > abs($max) ){$max = abs($min);}  
+  open FILE, ">$file.xyz" or die $!;
+  
+  @elem_corners = ();
+  @elem_val = ();
+  for($i=0;$i<$nlines;$i++){
+    # scale between 0,1
+    $val = ($lines_f[$i] + $max)/(2.0*$max);
+    # scale between 0, 255
+    $val = $val * 255.0;
+    
+    # prints value together with coordinates		        
+    $coord = $lines[$i];
+    chomp($coord);
+    
+    # calculates a nice rectangle size
+    ($lon,$lat) = split(" ",$coord);
+    $rect_length = abs($lat) / 90. ;
+    $rect_length = 0.03 + ($rect_length**2) * 0.1;
+    $rect_height = 0.03 + ($rect_length**2) * 0.005; 
+    
+    # adds point 
+    print FILE "$coord $val $rect_length $rect_height \n";
+    
+    # stores values in arrays
+    push(@elem_val, $val );
+    $line = "$coord $val ";
+    push(@elem_corners, $line);
+  }
+  close(FILE);
+  
+  
+  # specfem3D output for MOVIE_COARSE
+  $nex_per_proc = $nex / $nproc  ;  
+  $total = $nproc * $nex_per_proc * $nproc * $nex_per_proc * $nchunks;
+  if( $total != $nlines ){ die("error nex/proc $nlines $total");}
+  
+  # writes out segment file
+  open MFILE, ">$file.M.xyz" or die $!; 
+  for($n=0;$n<$nproc*$nproc*$nchunks;$n++){
+    for($m=0;$m<$nex_per_proc-1;$m++){
+      for ($k=0;$k<$nex_per_proc-1;$k++){  
+        # global array index
+        $i = $k + $m*$nex_per_proc + $n*$nex_per_proc*$nex_per_proc;
+        $val = $elem_val[$i];
+        # adds element
+        print MFILE "> -Z$val -W- \n";
+        print MFILE "$elem_corners[$i] \n"; 
+        print MFILE "$elem_corners[$i+1] \n"; 
+        print MFILE "$elem_corners[$i+$nex_per_proc+1] \n"; 
+        print MFILE "$elem_corners[$i+$nex_per_proc] \n"; 
+      }
+    }
+  }  
+  close(MFILE);
+  
+  $ps_file = "$file.ps";  
+  
+  # start ps-file
+  print CSH "psxy $file.xyz $JM $R $B -Sr -C$colorcpt -K -P $verbose > $ps_file\n";  
+  print CSH "psxy $file.M.xyz $JM $R $B -M -L -N -C$colorcpt -P -O  $verbose >> $ps_file\n";
+  # end ps-file
+  
+  # start ps-file mask
+  print CSH "psbasemap $JM $R $B -G0 -P $verbose -K > $ps_file.mask\n";
+  print CSH "psxy $file.xyz $JM $R $B -Sr -C$maskcpt -P -K -O $verbose >> $ps_file.mask\n";  
+  print CSH "psxy $file.M.xyz $JM $R $B -M -L -N -C$maskcpt -P -O $verbose >> $ps_file.mask\n";
+  # end ps-file mask
+  
+  # convert to png
+  print CSH "convert -crop 1080x540+6+6 $ps_file $file.disp.png\n";
+  print CSH "convert -crop 1080x540+6+6 $ps_file.mask $file.mask.png\n";
+  
+  # creates file with transparency (opacity)
+  print CSH "composite -compose CopyOpacity $file.mask.png $file.disp.png $file.png\n";
+	
+  # remove temporary data file
+  print CSH "rm -f $file.xyz $file.M.xyz\n";
+  
+  # removes temporary images
+  print CSH "rm -f $ps_file $ps_file.mask  \n";  
+  print CSH "rm -f $file.mask.png $file.disp.png \n"; 
+  
+  print CSH "echo \n";
+  print CSH "echo 'plotted: $file.png' \n";
+  print CSH "echo \n";
+  
+}
+close(CSH);
+
+print "\nplotting... \n\n";
+
+system("csh -f plot_movie.csh");
+
+system("rm -f plot_movie.csh");
+system("rm -f $grdfile $grdfile.1");
+
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_movie_GMT_binary_gunzipped_PNG.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_seismos.gmt.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_seismos.gmt.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_seismos.gmt.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,99 @@
+#!/usr/bin/perl -w
+#
+# usage: 
+#
+#  ./plot_seismos.gmt.pl OUTPUT_FILES/Y*.LHZ.semd
+#
+# GMT package must be installed...
+use POSIX;
+use Getopt::Std;
+
+
+#---------------------------------------------------------------------------
+## PARAMETERS
+
+# min/max range scaling 
+$SCALE = 10. ;
+
+#---------------------------------------------------------------------------
+
+sub Usage{
+  print STDERR <<END;
+  
+Usage: e.g.  ./plot_seismos.gmt.pl OUTPUT_FILES/Y*.LHZ.semd
+
+END
+exit(1);
+}
+
+ at ARGV > 0 or Usage();
+
+# find start and end time and a reasonable step 
+$narg = @ARGV;
+$mid = int($narg/2.0);
+$trace = $ARGV[$mid];
+#print "trace: $trace\n";
+
+# set region
+$minmax=`minmax $trace -C  `;
+chomp($minmax);
+
+($t_start,$t_end,$min,$max) = split(" ",$minmax);
+
+$min = $SCALE*$min;
+$max = $SCALE*$max;
+
+$region="$t_start/$t_end/$min/$max";
+
+#print "region: $region\n";
+
+$proj="X6/1.5";
+$color="0/0/200";
+
+open(GMT,">plot_gmtseismos.sh");
+print GMT "gmtset PAPER_MEDIA letter MEASURE_UNIT inch HEADER_FONT_SIZE 14p LABEL_FONT_SIZE 16p\n";
+
+
+# set output filename
+$out="seis.ps";
+print GMT "psbasemap -R$region -J$proj -B::.:'Time (s)':/S -K -P -Y1 > $out \n";
+
+
+#################################
+# plot seismograms 
+#################################
+
+$offset = 8./$narg;
+
+$counter=0;
+$xoff = 0;
+$yoff = 0;
+foreach $file (@ARGV) {
+
+  $counter++;
+
+  $xoff=0;
+  $yoff=$offset;
+
+  # plots  
+  print GMT "psxy $file -R$region -J$proj -W2/$color -X$xoff -Y$yoff -O -K >> $out \n";
+
+}
+
+# finishes plot with annotations
+#print GMT "pstext -R$region -J$proj -N -O -K <<  END >> $out \n";
+#print GMT "$t_start $max 12 0 0 LT Seismograms \n";
+#print GMT "END \n";
+
+# end ps-file
+print GMT "psxy -J -R -O -P -V <<EOF >>$out\nEOF\n";
+
+print GMT "convert $out seis.pdf \n";
+print GMT "rm -f $out\n";
+
+close(GMT);
+
+system("sh plot_gmtseismos.sh");
+system("rm -f plot_gmtseismos.sh");
+
+print "plotted to: seis.pdf \n";


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GMT/plot_seismos.gmt.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Gnuplot/PAS.TS.LHZ.gnu
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Gnuplot/PAS.TS.LHZ.gnu	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Gnuplot/PAS.TS.LHZ.gnu	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,8 @@
+#!/usr/local/bin/gnuplot -persist
+#
+#    
+
+set xlabel "time (s)"
+set ylabel "displacement (m)"
+
+plot 'OUTPUT_FILES/PAS.TS.LHZ.sem.ascii' w l

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Gnuplot/create_gnuplot_script_to_compare_seismograms.csh
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Gnuplot/create_gnuplot_script_to_compare_seismograms.csh	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Gnuplot/create_gnuplot_script_to_compare_seismograms.csh	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,26 @@
+#!/bin/csh
+
+#echo set term postscript color solid "Helvetica" 22
+#echo set output \"all_seismograms_comparison.ps\"
+
+echo set term pdf color solid
+echo set output \"all_seismograms_comparison.pdf\"
+
+#echo "set term x11"
+#echo "set term wxt"
+
+echo set xrange \[0:3300\]
+
+foreach file ( OUTPUT_FILES/*.sem.ascii )
+
+  set newfile = `basename $file`
+
+  echo plot \"OUTPUT_FILES_reference_OK/$newfile\" w l lc 1, \"$file\" w l lc 3
+# use the line below instead if you have an old install of Gnuplot (the Gnuplot syntax was different back then)
+# echo plot \"OUTPUT_FILES_reference_OK/$newfile\" w l 1, \"$file\" w l 3
+
+# uncomment this only when outputting to the screen (X11 or wxt)
+#  echo "pause -1 'hit any key...'"
+
+end
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Gnuplot/create_gnuplot_script_to_compare_seismograms.csh
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Gnuplot/display_PREM_model/display_prem_model.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Gnuplot/display_PREM_model/display_prem_model.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Gnuplot/display_PREM_model/display_prem_model.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,148 @@
+!=====================================================================
+!
+!          S p e c f e m 3 D  G l o b e  V e r s i o n  3 . 2
+!          --------------------------------------------------
+!
+!                 Dimitri Komatitsch and Jeroen Tromp
+!    Seismological Laboratory - California Institute of Technology
+!          (c) California Institute of Technology July 2002
+!
+! This program is free software; you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation; either version 2 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License along
+! with this program; if not, write to the Free Software Foundation, Inc.,
+! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+!
+!=====================================================================
+
+  program prem_iso
+
+  implicit none
+
+  include "../../../constants.h"
+
+! PREM
+  double precision, parameter :: RMOHO = 6346600.d0
+  double precision, parameter :: R220 = 6151000.d0
+  double precision, parameter :: R400 = 5971000.d0
+  double precision, parameter :: R600 = 5771000.d0
+  double precision, parameter :: R670 = 5701000.d0
+  double precision, parameter :: R771 = 5600000.d0
+  double precision, parameter :: RTOPDDOUBLEPRIME = 3630000.d0
+  double precision, parameter :: RCMB = 3480000.d0
+  double precision, parameter :: RICB = 1221000.d0
+
+! values common to PREM and IASP91
+  double precision, parameter :: ROCEAN = 6368000.d0
+  double precision, parameter :: RMIDDLE_CRUST = 6356000.d0
+  double precision, parameter :: R80 = 6291000.d0
+
+  integer i
+
+  double precision r
+  double precision x,rho,vp,vs
+
+! compute real physical radius in meters
+  do i=1,1000
+
+  x = dble(i)/1000.d0
+
+  r = x * R_EARTH
+
+!
+! PREM
+!
+!--- inner core
+!
+  if(r >= 0.d0 .and. r <= RICB) then
+    rho=13.0885d0-8.8381d0*x*x
+    vp=11.2622d0-6.3640d0*x*x
+    vs=3.6678d0-4.4475d0*x*x
+!
+!--- outer core
+!
+  else if(r > RICB .and. r <= RCMB) then
+    rho=12.5815d0-1.2638d0*x-3.6426d0*x*x-5.5281d0*x*x*x
+    vp=11.0487d0-4.0362d0*x+4.8023d0*x*x-13.5732d0*x*x*x
+    vs=0.0d0
+!
+!--- D" at the base of the mantle
+!
+  else if(r > RCMB .and. r <= RTOPDDOUBLEPRIME) then
+    rho=7.9565d0-6.4761d0*x+5.5283d0*x*x-3.0807d0*x*x*x
+    vp=15.3891d0-5.3181d0*x+5.5242d0*x*x-2.5514d0*x*x*x
+    vs=6.9254d0+1.4672d0*x-2.0834d0*x*x+0.9783d0*x*x*x
+!
+!--- mantle: from top of D" to d670
+!
+  else if(r > RTOPDDOUBLEPRIME .and. r <= R771) then
+    rho=7.9565d0-6.4761d0*x+5.5283d0*x*x-3.0807d0*x*x*x
+    vp=24.9520d0-40.4673d0*x+51.4832d0*x*x-26.6419d0*x*x*x
+    vs=11.1671d0-13.7818d0*x+17.4575d0*x*x-9.2777d0*x*x*x
+  else if(r > R771 .and. r <= R670) then
+    rho=7.9565d0-6.4761d0*x+5.5283d0*x*x-3.0807d0*x*x*x
+    vp=29.2766d0-23.6027d0*x+5.5242d0*x*x-2.5514d0*x*x*x
+    vs=22.3459d0-17.2473d0*x-2.0834d0*x*x+0.9783d0*x*x*x
+!
+!--- mantle: above d670
+!
+  else if(r > R670 .and. r <= R600) then
+    rho=5.3197d0-1.4836d0*x
+    vp=19.0957d0-9.8672d0*x
+    vs=9.9839d0-4.9324d0*x
+  else if(r > R600 .and. r <= R400) then
+    rho=11.2494d0-8.0298d0*x
+    vp=39.7027d0-32.6166d0*x
+    vs=22.3512d0-18.5856d0*x
+  else if(r > R400 .and. r <= R220) then
+    rho=7.1089d0-3.8045d0*x
+    vp=20.3926d0-12.2569d0*x
+    vs=8.9496d0-4.4597d0*x
+  else if(r > R220 .and. r <= R80) then
+    rho=2.6910d0+0.6924d0*x
+    vp=4.1875d0+3.9382d0*x
+    vs=2.1519d0+2.3481d0*x
+  else
+! use PREM crust
+    if(r > R80 .and. r <= RMOHO) then
+      rho=2.6910d0+0.6924d0*x
+      vp=4.1875d0+3.9382d0*x
+      vs=2.1519d0+2.3481d0*x
+    else if(r > RMOHO .and. r <= RMIDDLE_CRUST) then
+      rho=2.9d0
+      vp=6.8d0
+      vs=3.9d0
+    else if(r > RMIDDLE_CRUST .and. r <= ROCEAN) then
+      rho=2.6d0
+      vp=5.8d0
+      vs=3.2d0
+! for density profile for gravity, we do not check that r <= R_EARTH
+    else if(r > ROCEAN) then
+      rho=2.6d0
+      vp=5.8d0
+      vs=3.2d0
+    endif
+  endif
+
+  rho=rho*1000.0d0
+  vp=vp*1000.0d0
+  vs=vs*1000.0d0
+
+  print *,sngl(r/1000.d0),sngl(vp),sngl(vs),sngl(rho)
+
+  enddo
+
+  print *
+  print *,'use gnuplot to display radius,vp,vs,rho file'
+  print *
+
+  end program prem_iso
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Gnuplot/display_PREM_model/plot_prem.gnu
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Gnuplot/display_PREM_model/plot_prem.gnu	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Gnuplot/display_PREM_model/plot_prem.gnu	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,9 @@
+
+set term x11
+
+plot "prem.dat" us 1:2 t 'vp' w l 1, "prem.dat" us 1:3 t 'vs' w l 2
+
+#########plot "prem.dat" us 1:2 t 'vp' w l 1, "prem.dat" us 1:3 t 'vs' w l 2, "prem.dat" us 1:4 t 'rho' w l 3
+
+pause -1 "hit key"
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Gnuplot/draw_regular_2D_GLL_element_gnuplot.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Gnuplot/draw_regular_2D_GLL_element_gnuplot.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Gnuplot/draw_regular_2D_GLL_element_gnuplot.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,650 @@
+
+  program draw_regular_GLL_element
+
+! for articles or presentations, draw regular 2D GLL element using Gnuplot
+! Author: Dimitri Komatitsch
+
+  implicit none
+
+! number of spatial dimensions
+  integer, parameter :: NDIM = 2
+
+! number of GLL points
+  integer, parameter :: NGLLX = 5
+  integer, parameter :: NGLLY = NGLLX
+
+! for the Gauss-Lobatto-Legendre points and weights
+  double precision, parameter :: GAUSSALPHA = 0.d0,GAUSSBETA = 0.d0
+
+  double precision, dimension(NDIM,NGLLX,NGLLY) :: coord
+
+! Gauss-Lobatto-Legendre points and weights of integration
+  double precision, dimension(NGLLX) :: xigll,wxgll
+  double precision, dimension(NGLLY) :: yigll,wygll
+
+  integer ix,iy
+
+! set up coordinates of the Gauss-Lobatto-Legendre points
+  call zwgljd(xigll,wxgll,NGLLX,GAUSSALPHA,GAUSSBETA)
+  call zwgljd(yigll,wygll,NGLLY,GAUSSALPHA,GAUSSBETA)
+
+! define the GLL coordinates of the reference element
+  do iy = 1,NGLLY
+    do ix = 1,NGLLX
+      coord(1,ix,iy) = xigll(ix)
+      coord(2,ix,iy) = yigll(iy)
+    enddo
+  enddo
+
+!
+!---- print the GLL mesh in a Gnuplot file
+!
+
+  write(*,*)
+  write(*,*) 'Generating gnuplot mesh...'
+  write(*,*)
+
+  open(unit=20,file='gllfullmesh.gnu',status='unknown')
+  open(unit=21,file='gllmeshedges.gnu',status='unknown')
+
+!
+!----    plot the lines in the xi-direction
+!
+  do iy = 1,NGLLY
+  do ix = 1,NGLLX-1
+
+  write(20,*) sngl(coord(1,ix,iy)),sngl(coord(2,ix,iy))
+  write(20,*) sngl(coord(1,ix+1,iy)),sngl(coord(2,ix+1,iy))
+  write(20,"('')")
+
+  if(iy == 1 .or. iy == NGLLY) then
+    write(21,*) sngl(coord(1,ix,iy)),sngl(coord(2,ix,iy))
+    write(21,*) sngl(coord(1,ix+1,iy)),sngl(coord(2,ix+1,iy))
+    write(21,"('')")
+  endif
+
+  enddo
+  enddo
+
+!
+!----    plot the lines in the eta-direction
+!
+  do ix = 1,NGLLX
+  do iy = 1,NGLLY-1
+
+  write(20,*) sngl(coord(1,ix,iy)),sngl(coord(2,ix,iy))
+  write(20,*) sngl(coord(1,ix,iy+1)),sngl(coord(2,ix,iy+1))
+  write(20,"('')")
+
+  if(ix == 1 .or. ix == NGLLX) then
+    write(21,*) sngl(coord(1,ix,iy)),sngl(coord(2,ix,iy))
+    write(21,*) sngl(coord(1,ix,iy+1)),sngl(coord(2,ix,iy+1))
+    write(21,"('')")
+  endif
+
+  enddo
+  enddo
+
+  close(20)
+  close(21)
+
+!
+!----  generate the command file for Gnuplot
+!
+  open(unit=20,file='plotall.gnu',status='unknown')
+
+! write postscript script
+  write(20,*) 'set term postscript eps monochrome dashed "Helvetica" 22'
+  write(20,*) 'set output "grid_GLL.eps"'
+  write(20,*) 'set size square'
+  write(20,*) 'set noborder'
+  write(20,*) 'set nogrid'
+  write(20,*) 'set nozeroaxis'
+  write(20,*) 'set noxtics'
+  write(20,*) 'set noytics'
+  write(20,*) 'plot "gllfullmesh.gnu" title '''' w linesp 2 4, "gllmeshedges.gnu" title '''' w l 1'
+
+! write X11 script
+! write(20,*) 'set term x11'
+! write(20,*) 'set xlabel "X"'
+! write(20,*) 'set ylabel "Y"'
+! write(20,*) 'set title "Gauss-Lobatto-Legendre Mesh"'
+! write(20,*) 'plot "gllfullmesh.gnu" title '''' w l 2, "gllmeshedges.gnu" title '''' w linesp 1 3'
+! write(20,*) 'pause -1 "Hit any key"'
+
+  close(20)
+
+  end program draw_regular_GLL_element
+
+!*************************************************************
+!*************************************************************
+!*************************************************************
+
+!=======================================================================
+!
+!  Library to compute the Gauss-Lobatto-Legendre points and weights
+!  Based on Gauss-Lobatto routines from M.I.T.
+!  Department of Mechanical Engineering
+!
+!=======================================================================
+
+  double precision function endw1(n,alpha,beta)
+
+  implicit none
+
+  integer n
+  double precision alpha,beta
+
+  double precision, parameter :: zero=0.d0,one=1.d0,two=2.d0,three=3.d0,four=4.d0
+  double precision apb,f1,fint1,fint2,f2,di,abn,abnn,a1,a2,a3,f3
+  double precision, external :: gammaf
+  integer i
+
+  f3 = zero
+  apb   = alpha+beta
+  if (n == 0) then
+   endw1 = zero
+   return
+  endif
+  f1   = gammaf(alpha+two)*gammaf(beta+one)/gammaf(apb+three)
+  f1   = f1*(apb+two)*two**(apb+two)/two
+  if (n == 1) then
+   endw1 = f1
+   return
+  endif
+  fint1 = gammaf(alpha+two)*gammaf(beta+one)/gammaf(apb+three)
+  fint1 = fint1*two**(apb+two)
+  fint2 = gammaf(alpha+two)*gammaf(beta+two)/gammaf(apb+four)
+  fint2 = fint2*two**(apb+three)
+  f2    = (-two*(beta+two)*fint1 + (apb+four)*fint2) * (apb+three)/four
+  if (n == 2) then
+   endw1 = f2
+   return
+  endif
+  do i=3,n
+   di   = dble(i-1)
+   abn  = alpha+beta+di
+   abnn = abn+di
+   a1   = -(two*(di+alpha)*(di+beta))/(abn*abnn*(abnn+one))
+   a2   =  (two*(alpha-beta))/(abnn*(abnn+two))
+   a3   =  (two*(abn+one))/((abnn+two)*(abnn+one))
+   f3   =  -(a2*f2+a1*f1)/a3
+   f1   = f2
+   f2   = f3
+  enddo
+  endw1  = f3
+
+  end function endw1
+
+!
+!=======================================================================
+!
+
+  double precision function endw2(n,alpha,beta)
+
+  implicit none
+
+  integer n
+  double precision alpha,beta
+
+  double precision, parameter :: zero=0.d0,one=1.d0,two=2.d0,three=3.d0,four=4.d0
+  double precision apb,f1,fint1,fint2,f2,di,abn,abnn,a1,a2,a3,f3
+  double precision, external :: gammaf
+  integer i
+
+  apb   = alpha+beta
+  f3 = zero
+  if (n == 0) then
+   endw2 = zero
+   return
+  endif
+  f1   = gammaf(alpha+one)*gammaf(beta+two)/gammaf(apb+three)
+  f1   = f1*(apb+two)*two**(apb+two)/two
+  if (n == 1) then
+   endw2 = f1
+   return
+  endif
+  fint1 = gammaf(alpha+one)*gammaf(beta+two)/gammaf(apb+three)
+  fint1 = fint1*two**(apb+two)
+  fint2 = gammaf(alpha+two)*gammaf(beta+two)/gammaf(apb+four)
+  fint2 = fint2*two**(apb+three)
+  f2    = (two*(alpha+two)*fint1 - (apb+four)*fint2) * (apb+three)/four
+  if (n == 2) then
+   endw2 = f2
+   return
+  endif
+  do i=3,n
+   di   = dble(i-1)
+   abn  = alpha+beta+di
+   abnn = abn+di
+   a1   =  -(two*(di+alpha)*(di+beta))/(abn*abnn*(abnn+one))
+   a2   =  (two*(alpha-beta))/(abnn*(abnn+two))
+   a3   =  (two*(abn+one))/((abnn+two)*(abnn+one))
+   f3   =  -(a2*f2+a1*f1)/a3
+   f1   = f2
+   f2   = f3
+  enddo
+  endw2  = f3
+
+  end function endw2
+
+!
+!=======================================================================
+!
+
+  double precision function gammaf (x)
+
+  implicit none
+
+  double precision, parameter :: pi = 3.141592653589793d0
+
+  double precision x
+
+  double precision, parameter :: half=0.5d0,one=1.d0,two=2.d0
+
+  gammaf = one
+
+  if (x == -half) gammaf = -two*dsqrt(pi)
+  if (x ==  half) gammaf =  dsqrt(pi)
+  if (x ==  one ) gammaf =  one
+  if (x ==  two ) gammaf =  one
+  if (x ==  1.5d0) gammaf =  dsqrt(pi)/2.d0
+  if (x ==  2.5d0) gammaf =  1.5d0*dsqrt(pi)/2.d0
+  if (x ==  3.5d0) gammaf =  2.5d0*1.5d0*dsqrt(pi)/2.d0
+  if (x ==  3.d0 ) gammaf =  2.d0
+  if (x ==  4.d0 ) gammaf = 6.d0
+  if (x ==  5.d0 ) gammaf = 24.d0
+  if (x ==  6.d0 ) gammaf = 120.d0
+
+  end function gammaf
+
+!
+!=====================================================================
+!
+
+  subroutine jacg (xjac,np,alpha,beta)
+
+!=======================================================================
+!
+! computes np Gauss points, which are the zeros of the
+! Jacobi polynomial with parameters alpha and beta
+!
+!                  .alpha = beta =  0.0  ->  Legendre points
+!                  .alpha = beta = -0.5  ->  Chebyshev points
+!
+!=======================================================================
+
+  implicit none
+
+  integer np
+  double precision alpha,beta
+  double precision xjac(np)
+
+  integer k,j,i,jmin,jm,n
+  double precision xlast,dth,x,x1,x2,recsum,delx,xmin,swap
+  double precision p,pd,pm1,pdm1,pm2,pdm2
+
+  integer, parameter :: K_MAX_ITER = 10
+  double precision, parameter :: zero = 0.d0, eps = 1.0d-12
+
+  pm1 = zero
+  pm2 = zero
+  pdm1 = zero
+  pdm2 = zero
+
+  xlast = 0.d0
+  n   = np-1
+  dth = 4.d0*datan(1.d0)/(2.d0*dble(n)+2.d0)
+  p = 0.d0
+  pd = 0.d0
+  jmin = 0
+  do j=1,np
+   if(j == 1) then
+      x = dcos((2.d0*(dble(j)-1.d0)+1.d0)*dth)
+   else
+      x1 = dcos((2.d0*(dble(j)-1.d0)+1.d0)*dth)
+      x2 = xlast
+      x  = (x1+x2)/2.d0
+   endif
+   do k=1,K_MAX_ITER
+      call jacobf (p,pd,pm1,pdm1,pm2,pdm2,np,alpha,beta,x)
+      recsum = 0.d0
+      jm = j-1
+      do i=1,jm
+         recsum = recsum+1.d0/(x-xjac(np-i+1))
+      enddo
+      delx = -p/(pd-recsum*p)
+      x    = x+delx
+      if(abs(delx) < eps) goto 31
+   enddo
+ 31      continue
+   xjac(np-j+1) = x
+   xlast        = x
+  enddo
+  do i=1,np
+   xmin = 2.d0
+   do j=i,np
+      if(xjac(j) < xmin) then
+         xmin = xjac(j)
+         jmin = j
+      endif
+   enddo
+   if(jmin /= i) then
+      swap = xjac(i)
+      xjac(i) = xjac(jmin)
+      xjac(jmin) = swap
+   endif
+  enddo
+
+  end subroutine jacg
+
+!
+!=====================================================================
+!
+
+  subroutine jacobf (poly,pder,polym1,pderm1,polym2,pderm2,n,alp,bet,x)
+
+!=======================================================================
+!
+! Computes the Jacobi polynomial of degree n and its derivative at x
+!
+!=======================================================================
+
+  implicit none
+
+  double precision poly,pder,polym1,pderm1,polym2,pderm2,alp,bet,x
+  integer n
+
+  double precision apb,polyl,pderl,dk,a1,a2,b3,a3,a4,polyn,pdern,psave,pdsave
+  integer k
+
+  apb  = alp+bet
+  poly = 1.d0
+  pder = 0.d0
+  psave = 0.d0
+  pdsave = 0.d0
+
+  if (n == 0) return
+
+  polyl = poly
+  pderl = pder
+  poly  = (alp-bet+(apb+2.d0)*x)/2.d0
+  pder  = (apb+2.d0)/2.d0
+  if (n == 1) return
+
+  do k=2,n
+    dk = dble(k)
+    a1 = 2.d0*dk*(dk+apb)*(2.d0*dk+apb-2.d0)
+    a2 = (2.d0*dk+apb-1.d0)*(alp**2-bet**2)
+    b3 = (2.d0*dk+apb-2.d0)
+    a3 = b3*(b3+1.d0)*(b3+2.d0)
+    a4 = 2.d0*(dk+alp-1.d0)*(dk+bet-1.d0)*(2.d0*dk+apb)
+    polyn  = ((a2+a3*x)*poly-a4*polyl)/a1
+    pdern  = ((a2+a3*x)*pder-a4*pderl+a3*poly)/a1
+    psave  = polyl
+    pdsave = pderl
+    polyl  = poly
+    poly   = polyn
+    pderl  = pder
+    pder   = pdern
+  enddo
+
+  polym1 = polyl
+  pderm1 = pderl
+  polym2 = psave
+  pderm2 = pdsave
+
+  end subroutine jacobf
+
+!
+!------------------------------------------------------------------------
+!
+
+  double precision FUNCTION PNDLEG (Z,N)
+
+!------------------------------------------------------------------------
+!
+!     Compute the derivative of the Nth order Legendre polynomial at Z.
+!     Based on the recursion formula for the Legendre polynomials.
+!
+!------------------------------------------------------------------------
+  implicit none
+
+  double precision z
+  integer n
+
+  double precision P1,P2,P1D,P2D,P3D,FK,P3
+  integer k
+
+  P1   = 1.d0
+  P2   = Z
+  P1D  = 0.d0
+  P2D  = 1.d0
+  P3D  = 1.d0
+
+  do K = 1, N-1
+    FK  = dble(K)
+    P3  = ((2.d0*FK+1.d0)*Z*P2 - FK*P1)/(FK+1.d0)
+    P3D = ((2.d0*FK+1.d0)*P2 + (2.d0*FK+1.d0)*Z*P2D - FK*P1D) / (FK+1.d0)
+    P1  = P2
+    P2  = P3
+    P1D = P2D
+    P2D = P3D
+  enddo
+
+  PNDLEG = P3D
+
+  end function pndleg
+
+!
+!------------------------------------------------------------------------
+!
+
+  double precision FUNCTION PNLEG (Z,N)
+
+!------------------------------------------------------------------------
+!
+!     Compute the value of the Nth order Legendre polynomial at Z.
+!     Based on the recursion formula for the Legendre polynomials.
+!
+!------------------------------------------------------------------------
+  implicit none
+
+  double precision z
+  integer n
+
+  double precision P1,P2,P3,FK
+  integer k
+
+  P1   = 1.d0
+  P2   = Z
+  P3   = P2
+
+  do K = 1, N-1
+    FK  = dble(K)
+    P3  = ((2.d0*FK+1.d0)*Z*P2 - FK*P1)/(FK+1.d0)
+    P1  = P2
+    P2  = P3
+  enddo
+
+  PNLEG = P3
+
+  end function pnleg
+
+!
+!------------------------------------------------------------------------
+!
+
+  double precision function pnormj (n,alpha,beta)
+
+  implicit none
+
+  double precision alpha,beta
+  integer n
+
+  double precision one,two,dn,const,prod,dindx,frac
+  double precision, external :: gammaf
+  integer i
+
+  one   = 1.d0
+  two   = 2.d0
+  dn    = dble(n)
+  const = alpha+beta+one
+
+  if (n <= 1) then
+    prod   = gammaf(dn+alpha)*gammaf(dn+beta)
+    prod   = prod/(gammaf(dn)*gammaf(dn+alpha+beta))
+    pnormj = prod * two**const/(two*dn+const)
+    return
+  endif
+
+  prod  = gammaf(alpha+one)*gammaf(beta+one)
+  prod  = prod/(two*(one+const)*gammaf(const+one))
+  prod  = prod*(one+alpha)*(two+alpha)
+  prod  = prod*(one+beta)*(two+beta)
+
+  do i=3,n
+    dindx = dble(i)
+    frac  = (dindx+alpha)*(dindx+beta)/(dindx*(dindx+alpha+beta))
+    prod  = prod*frac
+  enddo
+
+  pnormj = prod * two**const/(two*dn+const)
+
+  end function pnormj
+
+!
+!------------------------------------------------------------------------
+!
+
+  subroutine zwgjd(z,w,np,alpha,beta)
+
+!=======================================================================
+!
+!     Z w g j d : Generate np Gauss-Jacobi points and weights
+!                 associated with Jacobi polynomial of degree n = np-1
+!
+!     Note : Coefficients alpha and beta must be greater than -1.
+!     ----
+!=======================================================================
+
+  implicit none
+
+  double precision, parameter :: zero=0.d0,one=1.d0,two=2.d0
+
+  integer np
+  double precision z(np),w(np)
+  double precision alpha,beta
+
+  integer n,np1,np2,i
+  double precision p,pd,pm1,pdm1,pm2,pdm2
+  double precision apb,dnp1,dnp2,fac1,fac2,fac3,fnorm,rcoef
+  double precision, external :: gammaf,pnormj
+
+  pd = zero
+  pm1 = zero
+  pm2 = zero
+  pdm1 = zero
+  pdm2 = zero
+
+  n    = np-1
+  apb  = alpha+beta
+  p    = zero
+  pdm1 = zero
+
+  if (np <= 0) stop 'minimum number of Gauss points is 1'
+
+  if ((alpha <= -one) .or. (beta <= -one)) stop 'alpha and beta must be greater than -1'
+
+  if (np == 1) then
+   z(1) = (beta-alpha)/(apb+two)
+   w(1) = gammaf(alpha+one)*gammaf(beta+one)/gammaf(apb+two) * two**(apb+one)
+   return
+  endif
+
+  call jacg(z,np,alpha,beta)
+
+  np1   = n+1
+  np2   = n+2
+  dnp1  = dble(np1)
+  dnp2  = dble(np2)
+  fac1  = dnp1+alpha+beta+one
+  fac2  = fac1+dnp1
+  fac3  = fac2+one
+  fnorm = pnormj(np1,alpha,beta)
+  rcoef = (fnorm*fac2*fac3)/(two*fac1*dnp2)
+  do i=1,np
+    call jacobf(p,pd,pm1,pdm1,pm2,pdm2,np2,alpha,beta,z(i))
+    w(i) = -rcoef/(p*pdm1)
+  enddo
+
+  end subroutine zwgjd
+
+!
+!------------------------------------------------------------------------
+!
+
+  subroutine zwgljd(z,w,np,alpha,beta)
+
+!=======================================================================
+!
+!     Z w g l j d : Generate np Gauss-Lobatto-Jacobi points and the
+!     -----------   weights associated with Jacobi polynomials of degree
+!                   n = np-1.
+!
+!     Note : alpha and beta coefficients must be greater than -1.
+!            Legendre polynomials are special case of Jacobi polynomials
+!            just by setting alpha and beta to 0.
+!
+!=======================================================================
+
+  implicit none
+
+  double precision, parameter :: zero=0.d0,one=1.d0,two=2.d0
+
+  integer np
+  double precision alpha,beta
+  double precision z(np), w(np)
+
+  integer n,nm1,i
+  double precision p,pd,pm1,pdm1,pm2,pdm2
+  double precision alpg,betg
+  double precision, external :: endw1,endw2
+
+  p = zero
+  pm1 = zero
+  pm2 = zero
+  pdm1 = zero
+  pdm2 = zero
+
+  n   = np-1
+  nm1 = n-1
+  pd  = zero
+
+  if (np <= 1) stop 'minimum number of Gauss-Lobatto points is 2'
+
+! with spectral elements, use at least 3 points
+  if (np <= 2) stop 'minimum number of Gauss-Lobatto points for the SEM is 3'
+
+  if ((alpha <= -one) .or. (beta <= -one)) stop 'alpha and beta must be greater than -1'
+
+  if (nm1 > 0) then
+    alpg  = alpha+one
+    betg  = beta+one
+    call zwgjd(z(2),w(2),nm1,alpg,betg)
+  endif
+
+  z(1)  = - one
+  z(np) =  one
+
+  do i=2,np-1
+   w(i) = w(i)/(one-z(i)**2)
+  enddo
+
+  call jacobf(p,pd,pm1,pdm1,pm2,pdm2,n,alpha,beta,z(1))
+  w(1)  = endw1(n,alpha,beta)/(two*pd)
+  call jacobf(p,pd,pm1,pdm1,pm2,pdm2,n,alpha,beta,z(np))
+  w(np) = endw2(n,alpha,beta)/(two*pd)
+
+  end subroutine zwgljd
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Gnuplot/readme.txt
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Gnuplot/readme.txt	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Gnuplot/readme.txt	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,54 @@
+--------------------------------
+readme
+--------------------------------
+
+gnuplot
+http://www.gnuplot.info/
+
+
+
+- contains sources to plot PREM model in directory:
+  Gnuplot/display_PREM_model
+
+- contains source file to create gnuplot scripts of regular 2D GLL elements:
+  draw_regular_2D_GLL_element_gnuplot.f90
+    
+    
+- basic procedure to execute gnuplot scripts:
+
+  simple example to plot a single seismogram: 
+  
+  run:
+
+  > gnuplot
+
+  then either use
+  
+    A) a provided script:
+    
+      gnuplot> load "PAS.TS.LHZ.gnu"
+
+  or
+  
+    B) the gnuplot command plot:
+    
+    gnuplot> plot 'OUTPUT_FILES/PAS.TS.LHZ.sem.ascii' w l
+    
+    
+  Writing the figure to a file may depend on your gnuplot settings.
+    
+  One example to generate a postscript is shown below:
+
+    gnuplot> plot 'OUTPUT_FILES/PAS.TS.LHZ.sem.ascii' w l
+    gnuplot> set term postscript color solid
+    
+         Terminal type set to 'postscript'
+         Options are 'landscape noenhanced color colortext \
+            solid dashlength 1.0 linewidth 1.0 defaultplex \
+            palfuncparam 2000,0.003 \
+            butt "Helvetica" 14'
+            
+    gnuplot> set output 'my_figure.ps'
+    gnuplot> replot
+    gnuplot> quit
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GoogleEarth/animation.jpg
===================================================================
(Binary files differ)


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GoogleEarth/animation.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GoogleEarth/google-earth-kml.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GoogleEarth/google-earth-kml.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GoogleEarth/google-earth-kml.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,124 @@
+#!/usr/bin/perl
+
+use Getopt::Std;
+use POSIX;
+
+sub Usage {
+  print STDERR <<EOF;
+  
+Usage: google-earth-kml.pl file_name
+  
+  
+  ex. ./google-earth-kml.pl gmt_movie*.gif
+  
+EOF
+exit(1)
+}
+
+
+if (!getopts('l:L:cdts')) {die('Check input arguments\n');}
+ at ARGV > 0 or Usage();
+
+#######################################################
+## USER/EVENT PARAMETERS
+
+# look at viewpoint
+$lookat_lon= 78.0;
+$lookat_lat= 10.0;
+
+# from CMTSOLUTION file
+$starttime="2003-12-26T01:56:52.4Z";
+
+# time increment per image ( 100 time steps per 0.124 s ~ 12.4 s)
+$tinc = 12.4;
+
+#######################################################
+
+open(KML,">animation.kml") or die("error file open");
+
+print KML '<?xml version="1.0" encoding="UTF-8"?>';print KML "\n";
+print KML '<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">';print KML "\n";
+print KML "<Folder>\n";
+print KML "<name>Animation</name>\n";
+print KML "<open>0</open>\n";
+
+
+# look at view
+print KML "<LookAt>\n";
+print KML "<longitude> $lookat_lon </longitude>\n";
+print KML "<latitude> $lookat_lat </latitude>\n";
+print KML "<altitude> 0 </altitude>\n";
+print KML "<range>10929687.63258196</range>\n";
+print KML "<tilt>0</tilt>\n";
+print KML "<heading>6.327702684212388</heading>\n";
+print KML "<altitudeMode>relativeToGround</altitudeMode>\n";
+print KML "</LookAt>\n";
+
+
+foreach $file (@ARGV) {
+  print "processing $file\n";
+  if (! -f $file) {die (" check to see if $file exists or not\n");}
+
+  # image overlay  
+  print KML "<GroundOverlay>\n";
+  print KML "	<name>test-movie</name>\n";
+  print KML "	<TimeSpan>\n";
+
+
+  # takes starttime from last image
+  ($cal,$utc) = split("T",$starttime);
+  ($year,$month,$day) = split("-",$cal);
+      
+  $utc2 = substr($utc,1,10);
+  ($hh,$mm,$ss) = split(":",$utc2);
+  
+  # adds time increment
+  $ss = $ss+$tinc;
+
+  # calculates image time in hours/minutes/seconds
+  if( $ss > 60.0 ){
+    $ss = $ss - 60.0;
+    $mm = $mm + 1;
+  }
+  if( $mm > 60 ){
+    $hh = $hh + 1;
+    $mm = $mm - 60;
+  }  
+  if( $hh > 23 ){
+    $hh = 00;
+    $day = $day+1;
+  }
+  
+  $time = sprintf("%4.4i-%2.2i-%2.2iT%2.2i:%2.2i:%03.1fZ",$year,$month,$day,$hh,$mm,$ss);
+
+  print KML "	<begin>$starttime</begin>\n";
+  print KML "	<end>$time</end>\n";
+  print KML "	</TimeSpan>\n";
+  print KML "	<color>a1ffffff</color>\n";
+  print KML "	<Icon>\n";
+  print KML "  <href>$file</href>\n";
+  print KML "  <viewBoundScale>0.75</viewBoundScale>\n";
+  print KML "	</Icon>\n";
+
+  # image box (spans the whole globe)
+  print KML "	<LatLonBox>\n";
+  print KML "  <north>90.0</north>\n";
+  print KML "  <south>-90.0</south>\n";
+  print KML "  <east>180.0</east>\n";
+  print KML "  <west>-180.0</west>\n";
+  
+  print KML "	</LatLonBox>\n";
+  print KML "  </GroundOverlay>\n";
+  
+  # sets new starttime
+  $starttime = $time;
+  
+}
+
+print KML "</Folder>\n";
+print KML "</kml>";
+
+
+close(KML);
+
+print "   Done !\n";


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GoogleEarth/google-earth-kml.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GoogleEarth/readme.txt
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GoogleEarth/readme.txt	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/GoogleEarth/readme.txt	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,47 @@
+--------------------------------
+readme
+--------------------------------
+
+Google Earth
+http://earth.google.com/
+
+
+
+- procedure to make a google earth movie plot:
+
+1. run specfem with the movie options (see Par_file):
+
+   MOVIE_SURFACE = .true.
+   MOVIE_COARSE  = .false.
+   
+   and adjust the time steps NSTEP_BETWEEN_FRAMES   
+   
+   this creates binary files in directory OUTPUT_FILES/ like: moviedata000100,...
+
+   
+2. convert binary files to GMT-files:
+
+   in SPECFEM3D_GLOBE:  > make xcreate_movie_AVS_DX
+                          
+	         run it > ./xcreate_movie_AVS_DX
+
+                          choose option 4 for individual files
+                          
+   outputs file like: OUTPUT_FILES/gmt_movie_000100.xyz
+   
+
+3. render gif files using GMT:
+
+    > UTILS/Visualization/GMT/plot_gmt_movie_file.pl OUTPUT_FILES/gmt_movie*.xyz
+
+
+4. create google animation.kml file:
+
+   > ./google-earth-kml.pl OUTPUT_FILES/gmt_movie*.gif
+     
+     
+     this will create a file 'animation.kml' which can be opened
+     with GoogleEarth application (http://earth.google.com/)
+
+
+please, change the rendering script 'google-earth-kml.pl' according to your needs.     

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Grace/create_record_section_Grace.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Grace/create_record_section_Grace.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Grace/create_record_section_Grace.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,84 @@
+
+  program create_record_section_Grace
+
+! creates files to plot record sections with "Grace"
+! then call with " xmgrace *.sem.recordsection "
+! call this program with " xcreate_record_section_Grace < create_record_section_Grace.in "
+
+! Authors: Jeroen Tromp and Dimitri Komatitsch, mid-2000 and September 2007
+
+  implicit none
+
+! total number of time steps in each seismogram
+  integer, parameter :: NSTEP = 41030
+
+! total number of seismic stations (receivers)
+  integer, parameter :: NSTATIONS = 180
+
+  integer :: it,irec
+
+  real :: epi,epi_start,epi_end,max_amp,t_start,t_end,scale,enhance
+
+  real, dimension(NSTEP) :: time_sem,sem
+
+  character(len=3) component
+  character(len=150) station
+
+  print *,'component (LHZ, LHE, or LHN): '
+  read *,component
+
+  print *,'starting epicentral distance (degrees):'
+  read *,epi_start
+
+  print *,'ending epicentral distance (degrees):'
+  read *,epi_end
+
+  print *,'starting time in record section (minutes):'
+  read *,t_start
+
+  print *,'ending in record section (minutes):'
+  read *,t_end
+
+  print *,'enhancement factor:'
+  read *,enhance
+
+! open the station file
+  open(unit=1,file='output_list_stations.txt',status='unknown')
+
+  do irec = 1,NSTATIONS
+
+  read(1,*) station,epi
+
+  print *,'processing file ',irec,' out of ',NSTATIONS
+
+  if(epi >= epi_start .and. epi <= epi_end) then
+
+    max_amp = -100000.
+
+! read a given seismogram
+    open(unit=10,file=station(1:len_trim(station))//'.'//component(1:3)//'.semd.ascii.convolved',status='old')
+    do it = 1,NSTEP
+      read(10,*) time_sem(it),sem(it)
+! compute maximum of all the traces
+      if(time_sem(it)/60.0 >= t_start .and. time_sem(it)/60.0 <= t_end .and. abs(sem(it)) > max_amp) max_amp = abs(sem(it))
+    enddo
+    close(10)
+
+! compute scaling factor to plot the traces
+    scale = enhance/max_amp
+
+! open the record section file
+    open(unit=10,file=station(1:len_trim(station))//'.'//component(1:3)//'.sem.recordsection',status='unknown')
+    do it = 1,NSTEP
+      if(time_sem(it)/60.0 >= t_start .and. time_sem(it)/60.0 <= t_end) write(10,*) time_sem(it)/60.0,epi+sem(it)*scale
+    enddo
+    close(10)
+
+  endif
+
+  enddo
+
+  close(1)
+
+  end program create_record_section_Grace
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Grace/create_record_section_Grace.in
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Grace/create_record_section_Grace.in	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Grace/create_record_section_Grace.in	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,6 @@
+LHZ
+89.
+180.5
+0.0
+30.0
+7

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Grace/readme.txt
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Grace/readme.txt	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Grace/readme.txt	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,15 @@
+--------------------------------
+readme
+--------------------------------
+
+Grace, a WYSIWYG 2D plotting tool for the X Window System
+http://plasma-gate.weizmann.ac.il/Grace/
+
+
+
+- contains create_record_section_Grace.f90 to creates files to plot 
+  record sections with "Grace":
+
+  >  xmgrace *.sem.recordsection
+  
+  
\ No newline at end of file

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/AVS_continent_boundaries.inp
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/AVS_continent_boundaries.inp	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/AVS_continent_boundaries.inp	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,15322 @@
+5228 4863 1 0 0
+1 0.180553481934828 0.0657160930358411 0.996647799012928
+2 0.174761743912158 0.0577397404883301 0.998173058759412
+3 0.179713980031982 0.0572566012423535 0.997321195500847
+4 0.169312601057619 0.049413610221255 0.999558171517799
+5 0.188461856698012 0.0559204880126949 0.995781114296892
+6 0.17516449981685 0.0460401483648152 0.998710519991884
+7 0.184625389838202 0.0461801653178066 0.996998424150365
+8 0.180500753255221 0.0395146226052215 0.998039614782231
+9 0.174373488909231 0.0428508901774471 0.99899083458089
+10 0.182155533584038 0.0343027550109174 0.997931702364132
+11 0.203474574458659 0.0469761809485051 0.993285626580975
+12 0.190501038410579 0.0522817584135989 0.995590765375851
+13 0.19704527222946 0.054361160385846 0.99420471983064
+14 0.191589730669844 0.057006528917694 0.995122419987919
+15 0.195527788420953 0.0612683234691708 0.994102648872081
+16 0.205476566581059 0.0497031800317171 0.992740638072601
+17 0.210926598084401 0.0523936574838507 0.991458458472167
+18 0.204301282450106 0.0624280300355736 0.992264444115136
+19 0.211244460411181 0.0555702947645762 0.991217796594354
+20 0.213104286118713 0.0615085856676161 0.990468705778735
+21 0.214201832593701 0.0530691105031762 0.990720063602177
+22 0.221498261112845 0.0611696956444459 0.988646442697667
+23 0.221498261112845 0.0611696956444459 0.988646442697667
+24 0.22645703944818 0.0691916486265124 0.986992768486533
+25 0.193821417093616 0.0668451683038652 0.99407745259122
+26 0.190587549928664 0.0693681951096678 0.994529757885311
+27 0.305821708343322 0.168599172419679 0.953033263724499
+28 0.304201769448682 0.165553261730975 0.954085112028548
+29 0.300867672208283 0.174984759633653 0.953458954394955
+30 0.293540472405034 0.176593838037117 0.955444193779809
+31 0.292536353353089 0.161970714208682 0.958338650846143
+32 0.302435878699615 0.159825532481552 0.955621964189909
+33 0.292448202274479 0.159142820023825 0.958839200190152
+34 0.292500045000558 0.153289944734351 0.959776493001371
+35 0.303995351106808 0.155503368105374 0.955840221487531
+36 0.30719638560437 0.153068757654803 0.955209577057112
+37 0.29758100110516 0.149407439834494 0.958826347522508
+38 0.31511605352895 0.147962724240413 0.953432695602419
+39 0.300923515357814 0.146210186698067 0.95827585757464
+40 0.302293890789867 0.138656308472869 0.958967064977625
+41 0.320277378692291 0.13919410523662 0.953033263724499
+42 0.320584158063204 0.138486085342663 0.953033263724499
+43 0.319751767388615 0.126356659994199 0.954996231263227
+44 0.324088322044875 0.130074431571949 0.953033263724499
+45 0.325420502157485 0.126704755278556 0.953033263724499
+46 0.325315875516762 0.126411041363621 0.953107984311393
+47 0.325553890789349 0.126361633522779 0.953033263724499
+48 0.190587549928664 0.0693681951096678 0.994529757885311
+49 0.185436207757173 0.0731626840205355 0.995231447714324
+50 0.180553481934828 0.0657160930358411 0.996647799012928
+51 0.123168776351114 0.213334577956683 0.984653649960337
+52 0.146031060867892 0.216566801112819 0.98081534955238
+53 0.147211357552433 0.226372363815569 0.978421876854827
+54 0.158743091921432 0.227773083942991 0.976291479527668
+55 0.155746633923919 0.234339435255267 0.975219470224837
+56 0.159787090788611 0.22849656486338 0.975952050801138
+57 0.168795619623778 0.229724358657002 0.974145655349062
+58 0.161440426761599 0.237964894369546 0.973413939521478
+59 0.171728732560943 0.237004823856434 0.971886287526371
+60 0.161658778797847 0.246054238142925 0.971364376086283
+61 0.158356550302749 0.238132008409489 0.973879535439099
+62 0.154224341007628 0.243007424788943 0.973338196177572
+63 0.156119108537933 0.236709517242339 0.974587311838308
+64 0.151836036030898 0.24181293103582 0.97401094683083
+65 0.149493409208973 0.234635054573802 0.976126585934543
+66 0.14811920413718 0.239404652986169 0.975177477946625
+67 0.148109175848595 0.239410857178845 0.975177477946625
+68 0.143364182745198 0.23139134860999 0.977818876323346
+69 0.14065926929116 0.235537320577339 0.977221643527058
+70 0.134188984252289 0.232422137898743 0.97887602193532
+71 0.19801689840133 0.272520871397009 0.9574688938031
+72 0.18066646449554 0.284805639481546 0.957324592980975
+73 0.181135190612387 0.260484516086954 0.964138402720667
+74 0.175028202906157 0.250720754110169 0.967847731642674
+75 0.163300947121097 0.246896796231889 0.970875776131932
+76 0.169554282727591 0.240445818568695 0.971422747078512
+77 0.177344815631374 0.237029794061745 0.970871100144463
+78 0.17826118402513 0.241884798974629 0.969504870691716
+79 0.185292937523496 0.240293571092595 0.968581708992835
+80 0.18055360444927 0.245422971851915 0.968190560172816
+81 0.198615433369322 0.24885559018685 0.963767505605097
+82 0.200350097138935 0.255607813350581 0.961638957369424
+83 0.192292632398491 0.259879960537533 0.962138737208033
+84 0.198031131173624 0.272427458904856 0.957492532984324
+85 0.19801689840133 0.272520871397009 0.9574688938031
+86 0.0546747496498839 0.310075910788637 0.964929324509997
+87 0.0618861303460613 0.302759786008067 0.966815193740324
+88 0.0677339840308679 0.304612311006768 0.96584079816004
+89 0.0663032447293543 0.311528507154547 0.963731741185491
+90 0.0769923849091693 0.308023080829778 0.964063770889732
+91 0.066550751218293 0.327358890552545 0.958453000563141
+92 0.0790293347258827 0.32011889308378 0.959949612502448
+93 0.0788951963876911 0.290958507903337 0.969197448751084
+94 0.080742370461217 0.301730609962182 0.965745467824806
+95 0.0951958312415693 0.311538770792189 0.961304503270175
+96 0.0916714135253928 0.326702652887808 0.956601656144461
+97 0.0957017313464817 0.335847847770258 0.953033263724499
+98 0.103920554480827 0.333396335599277 0.953033263724499
+99 0.0988898653369785 0.319682741918024 0.958252961933021
+100 0.101330342137811 0.308399336469579 0.961689664615024
+101 0.089439843578725 0.290342847781592 0.968466078457417
+102 0.0946218593989076 0.284985080680393 0.969564442166421
+103 0.105389177739751 0.28032690943882 0.969811809094846
+104 0.119060762603492 0.299777240291791 0.962384092247639
+105 0.130633651280578 0.303749587936358 0.959633282552036
+106 0.137656407667074 0.320941290056024 0.953033263724499
+107 0.134188984252289 0.232422137898743 0.97887602193532
+108 0.124344863114234 0.227275895513465 0.981381180956541
+109 0.0895942189343193 0.226346872835074 0.985375547236348
+110 0.0841015923650061 0.214675860387908 0.988466588776971
+111 0.102865860739244 0.218400195090998 0.985872694356928
+112 0.116919896395085 0.212030876643448 0.985696527931784
+113 0.123168776351114 0.213334577956683 0.984653649960337
+114 -0.0414839693190367 0.235267283748333 0.986485370133394
+115 -0.0368421882267442 0.235856376306234 0.986528977233997
+116 -0.0421258352587553 0.242745733538626 0.984644566761299
+117 -0.0372288248341514 0.239747314032622 0.985576095497253
+118 -0.0248546330248057 0.248875064145888 0.983701402694731
+119 -0.0261571252787152 0.243687622926579 0.984965556367098
+120 -0.0140073933502239 0.244903347473098 0.98491174392836
+121 -0.0123322313617273 0.248900931392986 0.983931523237946
+122 -0.017836316195839 0.247907215511511 0.984098002397064
+123 0.0137911185024782 0.261673394550893 0.980592596155337
+124 0.0141580424846023 0.270838910994692 0.978095513804359
+125 0.019001687215368 0.266220856705722 0.979280547819592
+126 0.0137080475886004 0.284009767580452 0.974359041293407
+127 0.0476808069564669 0.285121851949096 0.972963036394034
+128 0.0490208231443144 0.304383516948969 0.967043242832517
+129 0.0354680712202664 0.319674800800229 0.962691558941517
+130 0.0387536251059915 0.347060160167906 0.953033263724499
+131 0.043312535555799 0.346520738915229 0.953033263724499
+132 0.0456660694888426 0.343334531714106 0.954075997722454
+133 0.0414806689048693 0.33054761663846 0.958771415532315
+134 0.0472245764213016 0.336612833057443 0.956392513564839
+135 0.0375689327531748 0.318065097909418 0.963144936540529
+136 0.0476074946084535 0.316748867790911 0.963134819851448
+137 0.0546747496498839 0.310075910788637 0.964929324509997
+138 -0.14970234065187 0.259292061454091 0.969835984107745
+139 -0.148967344682835 0.259607094148578 0.969864880736423
+140 -0.140218655189736 0.259264082534325 0.971259936497134
+141 -0.139843822038333 0.25353578145047 0.972824913826743
+142 -0.124207599540663 0.258234256375793 0.973710707063647
+143 -0.117756138252837 0.270626806449731 0.971143461870901
+144 -0.109380509381155 0.25963494480139 0.975115685242268
+145 -0.108874355784656 0.265357570092459 0.973630697260055
+146 -0.103176285935344 0.260966083915151 0.975436495660573
+147 -0.0963497999576964 0.264402972479807 0.975209097676982
+148 -0.0967310021855387 0.270307858427367 0.973551115704045
+149 -0.102963285316264 0.267739564070781 0.973621634778146
+150 -0.0830959431186893 0.283431283642826 0.971075059760982
+151 -0.0809557376655509 0.291916961772842 0.96873920947195
+152 -0.0842287661794951 0.275207807236441 0.973340216873828
+153 -0.104278057514724 0.238933077617328 0.98094957624807
+154 -0.0950108074779221 0.231108613734172 0.983761533665686
+155 -0.102102158650348 0.233891746847056 0.982392385941469
+156 -0.101409212960599 0.228466010657697 0.983740033495063
+157 -0.0841628459559036 0.218192481130966 0.987691073432638
+158 -0.0678604828074905 0.228609558186178 0.986588883364826
+159 -0.0697195365777332 0.220518061049498 0.988299535045097
+160 -0.0558880357143603 0.221403509073651 0.988980289810603
+161 -0.0628785472671065 0.214402625320339 0.990102420232031
+162 -0.0531193102516047 0.210745021299169 0.991458458472167
+163 -0.0449380578570949 0.223774863734229 0.989004742818132
+164 -0.0461431804890985 0.234586880178483 0.986440470855934
+165 -0.0414839693190367 0.235267283748333 0.986485370133394
+166 -0.248985970739348 0.208924037400359 0.961551731822744
+167 -0.240340353581899 0.215531518068078 0.962292927937952
+168 -0.245266755644718 0.221903388039326 0.959597887113234
+169 -0.231623018464559 0.22350393848455 0.962611950268259
+170 -0.225338703565954 0.234833304461726 0.961405631245626
+171 -0.214887165549576 0.232219577377478 0.964428625645617
+172 -0.221580436537857 0.254495170561913 0.957266586852563
+173 -0.194759688973837 0.246555452791166 0.965144586188907
+174 -0.198668701358814 0.240525050426385 0.96586927025234
+175 -0.190737925913322 0.240280706352228 0.967527377273201
+176 -0.193492358836734 0.235134420230563 0.968244551492356
+177 -0.185024400941355 0.22999239513655 0.971130510917892
+178 -0.174073657994552 0.237137348079586 0.971436688486788
+179 -0.161119346124175 0.234983206388944 0.974191176833217
+180 -0.163292648996291 0.252973149126069 0.969311661234411
+181 -0.14970234065187 0.259292061454091 0.969835984107745
+182 -0.19208984927221 0.161182522591159 0.983537840765535
+183 -0.183251003183619 0.160520193387043 0.9853310800676
+184 -0.185928439583808 0.173453893065998 0.982633890283751
+185 -0.198395514124646 0.17867374737082 0.979254773782434
+186 -0.198415952372278 0.178692153927592 0.979247274169767
+187 -0.204320178463602 0.171444987363024 0.979328791050633
+188 -0.239105550829762 0.200633380651339 0.965815604621716
+189 -0.240000396885248 0.20638918631077 0.964379755733653
+190 -0.248136630061099 0.208211355946455 0.961925799673166
+191 -0.236738675864118 0.198647336729363 0.966808685811436
+192 -0.235373196638768 0.2037141504008 0.966087471831887
+193 -0.238186117225358 0.199861884248616 0.966202670657508
+194 -0.201847516167505 0.284973996097253 0.953033263724499
+195 -0.199516111640254 0.277145363651702 0.955828838549204
+196 -0.204606377949683 0.266186195075754 0.957865407901029
+197 -0.197340811881213 0.259084365512405 0.961330794010625
+198 -0.204908276367208 0.265934771038101 0.957870709349196
+199 -0.200035493354311 0.276927954692187 0.955783296207095
+200 -0.202334646654707 0.284628334846943 0.953033263724499
+201 -0.327518798300244 0.119207094927461 0.953281755452668
+202 -0.311925348130235 0.120205634039564 0.958372674244721
+203 -0.302156501354168 0.135021924927617 0.959528805444761
+204 -0.297723024353809 0.154780119720793 0.957929598305031
+205 -0.274503780496988 0.166055559515778 0.962963252490334
+206 -0.274505062221494 0.158077002517655 0.964304740260986
+207 -0.263900346688779 0.162562174304513 0.966517018216923
+208 -0.260511860774008 0.168435952846495 0.966430494233681
+209 -0.265785073731328 0.183709079733273 0.962202820929759
+210 -0.256595902633835 0.176360072969801 0.966064525491757
+211 -0.263484460451575 0.177842975312852 0.963936105368201
+212 -0.259978150613583 0.169193275354344 0.966441926231685
+213 -0.252670736874422 0.181930382754344 0.966066164689663
+214 -0.259092426637703 0.169138746649732 0.966689297986041
+215 -0.233374006078122 0.189725553147257 0.969415178223457
+216 -0.238580471850104 0.19113216497788 0.967870267113651
+217 -0.236738675864118 0.198647336729363 0.966808685811436
+218 -0.204320178463602 0.171444987363024 0.979328791050633
+219 -0.214210352144559 0.158004526873052 0.979476132696314
+220 -0.199435484789799 0.153569365409374 0.983293922189301
+221 -0.211633131795864 0.157155443158632 0.980172731824288
+222 -0.210649083180418 0.145273664509876 0.982215621009522
+223 -0.190687483561092 0.152332830007399 0.98521976863798
+224 -0.196263501694659 0.161384831887202 0.982680300982619
+225 -0.19208984927221 0.161182522591159 0.983537840765535
+226 -0.238186117225358 0.199861884248616 0.966202670657508
+227 -0.238825862188716 0.198975146102218 0.966227767549359
+228 -0.239105550829762 0.200633380651339 0.965815604621716
+229 -0.248136630061099 0.208211355946455 0.961925799673166
+230 -0.249514361225085 0.208500631557527 0.961506666738484
+231 -0.248985970739348 0.208924037400359 0.961551731822744
+232 -0.345337908912236 0.0519069061180921 0.953033263724499
+233 -0.342504713356877 0.0570084165619741 0.953763892045311
+234 -0.344388506597393 0.0578718822766779 0.953033263724499
+235 -0.328262937167297 0.119147145651617 0.953033263724499
+236 -0.327518798300244 0.119207094927461 0.953281755452668
+237 -0.320699764007552 -0.116725166786326 0.955903706868116
+238 -0.3188595471678 -0.115249331010203 0.95669806150198
+239 -0.327298298913164 -0.106819527535101 0.954824807001644
+240 -0.33283915740491 -0.105691501704812 0.953033263724499
+241 -0.277497210378248 -0.212009189581298 0.953033263724499
+242 -0.278250969653592 -0.207742032720817 0.95375292698259
+243 -0.300855170650661 -0.165396528070005 0.955172840272979
+244 -0.301936636113707 -0.156482343079999 0.956332862593633
+245 -0.296615186520334 -0.155977487031454 0.958079044058923
+246 -0.302776111335968 -0.146445930035245 0.957656105280169
+247 -0.299489257296073 -0.13917714885247 0.959771277962382
+248 -0.307540658114871 -0.136938784808481 0.957544522631427
+249 -0.300201199701956 -0.136373197065133 0.959951348152468
+250 -0.298832997967706 -0.130029320126095 0.961257621677549
+251 -0.309913157726503 -0.126365961598002 0.958232997979823
+252 -0.314923950141257 -0.116756415973971 0.957818273450836
+253 -0.322944091300358 -0.118538792216044 0.954924430849974
+254 -0.320699764007552 -0.116725166786326 0.955903706868116
+255 -0.138988600611286 -0.240735315270631 0.976193462834937
+256 -0.141907863137228 -0.232017743594222 0.977882878997926
+257 -0.156974907420615 -0.226413368063094 0.976893476896338
+258 -0.158762122854333 -0.23758635184716 0.97394677152437
+259 -0.185782770473654 -0.25579252934046 0.964510209447647
+260 -0.18093028682499 -0.259425019432045 0.964462487918586
+261 -0.180825923159092 -0.277375820872056 0.959473626270788
+262 -0.16516274465912 -0.278919295958548 0.961847334101755
+263 -0.159460443385408 -0.272392492272779 0.964675954478369
+264 -0.159390190626616 -0.272392418314875 0.964687585478628
+265 -0.156928361434896 -0.271807892149291 0.965255903448779
+266 -0.209511269074263 -0.279387949571059 0.953033263724499
+267 -0.209231642712511 -0.267419259176675 0.956521855217758
+268 -0.210909112063199 -0.275369272711173 0.953894181812235
+269 -0.215133985741099 -0.275081744966432 0.953033263724499
+270 -0.224444424857368 -0.267539339883079 0.953033263724499
+271 -0.220187292123691 -0.265518468977564 0.954590225708941
+272 -0.227377172490199 -0.265051352882778 0.953033263724499
+273 -0.197753547444822 -0.287830041357078 0.953033263724499
+274 -0.196028109102256 -0.284945572219548 0.954255731611955
+275 -0.198987522081736 -0.286978334182912 0.953033263724499
+276 -0.0664602542552714 -0.342834701917634 0.953033263724499
+277 -0.0659200284472529 -0.339730577572814 0.954181683177557
+278 -0.0830348342162534 -0.321395823280122 0.959184518789149
+279 -0.0794727507241878 -0.290882397299203 0.969173107774767
+280 -0.0846393963467776 -0.281012638248129 0.971644518191133
+281 -0.092564361857484 -0.280776162129914 0.970990002880314
+282 -0.0982774002798816 -0.306926255285358 0.962477442026947
+283 -0.101781717345989 -0.281153553763708 0.969957814144584
+284 -0.105903150837792 -0.279865626758014 0.969889041902202
+285 -0.104159652779986 -0.290172352031385 0.967044865996054
+286 -0.108014204966086 -0.286107997967328 0.967832705081137
+287 -0.111424880682343 -0.290135505997805 0.966245767972271
+288 -0.11666426342903 -0.288174785699974 0.966214128713369
+289 -0.109588313364745 -0.282740428169891 0.968645059788247
+290 -0.11568660830799 -0.275368990534723 0.970058517673074
+291 -0.126933750208266 -0.278208935588547 0.967839145321553
+292 -0.121068408702243 -0.265906306367076 0.972039750549598
+293 -0.146485745546938 -0.269815638014481 0.967453589498947
+294 -0.155451999673278 -0.279039928215457 0.963429496257558
+295 -0.149503833054664 -0.284232273185207 0.962852854169282
+296 -0.154124561415127 -0.287031968827266 0.961292498899132
+297 -0.136881619718375 -0.293049349725108 0.962086534989948
+298 -0.157409454431922 -0.291974734360306 0.959269523205378
+299 -0.157327485808255 -0.299868131819288 0.956844901605512
+300 -0.13619589102786 -0.308491140324458 0.957344710962797
+301 -0.125570044777316 -0.319710489856613 0.955113797686049
+302 -0.160217387964155 -0.309553344344399 0.953274417782803
+303 -0.160227853162399 -0.310289595870692 0.953033263724499
+304 -0.114097488414096 -0.238567100213779 0.9799451524617
+305 -0.104318426468435 -0.23397324022139 0.98214010648148
+306 -0.106805855716856 -0.240828171802837 0.980213905660746
+307 -0.0931981476770508 -0.242258529699981 0.981249157990553
+308 -0.111477768458583 -0.245455241515719 0.978544547556193
+309 -0.104321296664899 -0.253629982299621 0.977248125677838
+310 -0.0847739550603195 -0.249050348939422 0.980312348303633
+311 -0.0726165562938334 -0.253244022439487 0.980213905660746
+312 -0.0663965558571768 -0.240641001949363 0.98382336095008
+313 -0.0701288949223461 -0.235693382338565 0.984761680620635
+314 -0.073341231678753 -0.242291130598719 0.982924753869307
+315 -0.0774962466639203 -0.238508918471798 0.983530796448397
+316 -0.0762055745352374 -0.219981642345195 0.987940174019087
+317 -0.0840537268301243 -0.225832675111916 0.98598152815241
+318 -0.0828855111120911 -0.242295735122938 0.982164837890729
+319 -0.0924783947297085 -0.238127632402656 0.982327835905367
+320 -0.100228371434827 -0.215963017820145 0.9866809253723
+321 -0.105740495202495 -0.217773625452761 0.98570715515892
+322 -0.101751366990019 -0.221957616188374 0.98519362357439
+323 -0.111889953182676 -0.222168867235433 0.984046052178506
+324 -0.104322146799406 -0.225960213342931 0.984014162333642
+325 -0.116324742613272 -0.226178373558935 0.982617370897844
+326 -0.106660972307154 -0.22865183252347 0.983141280015315
+327 -0.120720425485999 -0.230289979339762 0.981131033188825
+328 -0.114139706982138 -0.238569788970385 0.979939581341961
+329 -0.114097488414096 -0.238567100213779 0.9799451524617
+330 -0.0494188473068693 -0.280268201779801 0.97428564220252
+331 -0.0535499399689714 -0.279156547622476 0.974386486897689
+332 -0.052772700502971 -0.286830889070327 0.972197553564474
+333 -0.0584488057670595 -0.284186339090032 0.972649403320132
+334 -0.0511225786618488 -0.289930542145833 0.971365926251269
+335 -0.0519467415058507 -0.294604601757702 0.969914771858904
+336 -0.0533400061423794 -0.297463983837371 0.96896595505948
+337 -0.0629071982222764 -0.290270469940956 0.970572376843726
+338 -0.0667194310732203 -0.296395125858908 0.96846447889654
+339 -0.0558087435775192 -0.316507103229968 0.962773928679663
+340 -0.156928361434896 -0.271807892149291 0.965255903448779
+341 -0.123764164805605 -0.261565120191801 0.972877751523293
+342 -0.128538802171148 -0.245610969363178 0.976410788584849
+343 -0.13705839851251 -0.245982595394595 0.975157709378398
+344 -0.138988600611286 -0.240735315270631 0.976193462834937
+345 0.0290172765193048 -0.164565158152426 1.00114999195209
+346 0.0203441225075294 -0.170459116018502 1.00037733203306
+347 0.0302425278456114 -0.182640741966531 0.997974322757566
+348 0.0187423981873901 -0.172051244440848 1.00013603664529
+349 0.0105199143622165 -0.17185142604946 1.0002906671396
+350 0.0224518618208539 -0.192690704829335 0.996288716273125
+351 0.0179572465159227 -0.193757086403659 0.996173041577582
+352 0.028724091594547 -0.191785218451365 0.996302341935233
+353 0.023210905726813 -0.196284059011997 0.995569596780213
+354 0.0269696057238814 -0.200684837178711 0.994597022162067
+355 0.0168415315488999 -0.19556560306216 0.995839072196919
+356 0.0109520013095361 -0.199196812095394 0.995201328233814
+357 0.00923322219635162 -0.210045440596113 0.99298573025631
+358 0.0149896674809025 -0.205100598632484 0.993948718148682
+359 0.016704315838783 -0.209952736074492 0.992907757270127
+360 0.0190207203621942 -0.201105824821062 0.994695762240869
+361 0.0200446542289195 -0.219828599079553 0.990706111247712
+362 0.0282846636019416 -0.209142909734728 0.992816307839782
+363 0.0216574334695624 -0.223611946906768 0.989825061703368
+364 0.00664350059513463 -0.214863568543975 0.991975055539397
+365 0.0133780747689663 -0.226245807745545 0.989372963847831
+366 0.00139108897244679 -0.237210376942721 0.986891231059514
+367 0.00588949533305343 -0.240125025226102 0.986169501710982
+368 0.00644163670708181 -0.233682854836559 0.987712422050047
+369 0.0100538863347761 -0.241085319464048 0.985901510349023
+370 0.0101891747662749 -0.236017193798162 0.987125658135388
+371 0.0139423596852753 -0.240780750683748 0.985928618464124
+372 0.0139554675525785 -0.235591801951851 0.987181213242264
+373 0.0200756750318459 -0.241449986515448 0.985659105007256
+374 0.0233368337099263 -0.234592066247042 0.987242095256446
+375 0.0284155551251404 -0.238264645092836 0.986228936467449
+376 0.0268981527045421 -0.232367389878164 0.987677521006878
+377 0.0323337145406281 -0.2381123666827 0.986145035852622
+378 0.0294189396261398 -0.230961969535245 0.987935268435981
+379 0.0380225769833942 -0.241867997900804 0.985027489581381
+380 0.042125216497883 -0.23890398227302 0.985583762746272
+381 0.0443142916714461 -0.251318844912017 0.982395074166065
+382 0.0366043044648614 -0.247734276939002 0.983622312132128
+383 0.0155163566745636 -0.257675455116797 0.981624980583674
+384 0.00544341428828128 -0.252499141746 0.983076575175311
+385 0.00479412677644797 -0.256923701346724 0.981932904039146
+386 0.00029313339269765 -0.246990802516512 0.984489947914687
+387 -0.00524130185673612 -0.25021707329737 0.983660990883213
+388 -0.0008330650372389 -0.24603532182967 0.984728859338861
+389 -0.00685244382621584 -0.242440726184673 0.98559653931041
+390 0.00341022654676311 -0.243008505629304 0.985474625014116
+391 -0.00614666745051395 -0.239198737942576 0.98639301611778
+392 -0.00399636245512151 -0.235790636674831 0.987224293027479
+393 -0.0148988722972563 -0.239951573368167 0.98611676085665
+394 -0.0148812047901771 -0.230745532130009 0.988311716588462
+395 -0.0272452736435332 -0.22845180507679 0.988581037559008
+396 -0.0228920253601566 -0.242037053556598 0.985453712703215
+397 -0.0129869173909043 -0.240496107985921 0.986011136864237
+398 -0.0100096164417335 -0.264163342564829 0.97997068120616
+399 -0.0100007936664165 -0.2642962364626 0.97993493841058
+400 9.0342913282848e-05 -0.272439553119145 0.977753384926075
+401 0.00672508534996754 -0.265864002490616 0.979538720728642
+402 0.0109084180346758 -0.273500570090189 0.977396257705298
+403 0.0303871244596827 -0.270523717614129 0.977813142106048
+404 0.0300592972802252 -0.26431925361059 0.9795186424044
+405 0.0391716815795277 -0.270661356654937 0.97746253604726
+406 0.0465749954369544 -0.264139933495542 0.978920765605173
+407 -0.0142688567646595 -0.194444229948353 0.99609881094519
+408 -0.00586563190151054 -0.202398705002111 0.994598088966525
+409 -0.0106389432694299 -0.203819872506224 0.994268209517762
+410 -0.00748903847500379 -0.208713490303 0.99328122566988
+411 0.00191867239597061 -0.209787844409614 0.993081255000921
+412 0.000133774457308194 -0.201704550664848 0.994756380399486
+413 0.00416750446362684 -0.209797084353097 0.993072411913394
+414 0.00626162326386375 -0.19491375282454 0.996089564765115
+415 0.00837924727230735 -0.201012893627252 0.994861098249775
+416 0.0169764307393124 -0.189470205324772 0.997014464335168
+417 0.0137892230162215 -0.183562204249601 0.99816820952164
+418 0.00830654008401265 -0.185423688198317 0.997884791570032
+419 0.007085629926234 -0.170122529515212 1.0006163694443
+420 0.00509659469215925 -0.17596854041402 0.999616975399629
+421 -0.00933025627021887 -0.15285479738966 1.0033809631605
+422 -0.015639474310926 -0.162362736410118 1.00180774037172
+423 -0.011055063351543 -0.167904300199794 1.00095500975254
+424 -0.0197418344785636 -0.170103607238254 1.00044991017839
+425 -0.0136072497847241 -0.17724639633396 0.999311541882671
+426 -0.0203317764185702 -0.173651560450263 0.999828362480708
+427 -0.0207386528245598 -0.178312113124111 0.998999348644551
+428 -0.0137061388588971 -0.180934183472603 0.998649068997054
+429 -0.0170542427995339 -0.189371793995528 0.997031833213689
+430 -0.00110814097667955 -0.190663746019983 0.996930844129723
+431 -0.0142558609861514 -0.194406593081941 0.99610634321533
+432 -0.0142688567646595 -0.194444229948353 0.99609881094519
+433 0.0220020929186967 -0.124780073637884 1.00706049526834
+434 0.0173255762190268 -0.129109955413424 1.00660590293412
+435 0.0235455373501654 -0.139505711730548 1.0050914207501
+436 0.0112187440743783 -0.133237915194829 1.00615446017792
+437 0.00759756461842891 -0.138494439696424 1.00547827782854
+438 0.0138221365692433 -0.143627210098569 1.00469158106354
+439 0.00496904554057574 -0.139914341796888 1.00529810779985
+440 -0.00489122486684432 -0.148146342393762 1.0041183880174
+441 0.00128795443275216 -0.148775314068187 1.00403647697546
+442 -0.00108460001138055 -0.15343684160623 1.00333491879866
+443 0.00735615831357192 -0.151001766472412 1.00367791320576
+444 0.000839105856844035 -0.159723691714769 1.00235354950555
+445 0.0144474714174292 -0.154072372833959 1.00313407603319
+446 0.00164200912831389 -0.161367059946422 1.00208930528684
+447 0.00727540344033131 -0.166301129351733 1.00125721115062
+448 0.0209794176231854 -0.155289598162813 1.00283099510268
+449 0.0127849789310136 -0.162811862546192 1.00177534493916
+450 0.0115451362916366 -0.167710943217734 1.00098189261995
+451 0.0192199395603293 -0.161518935389963 1.00188184305026
+452 0.0234454523879682 -0.161383110076459 1.00181375641602
+453 0.020129700416142 -0.16670881539031 1.00101346945599
+454 0.0261498436464436 -0.163844844584559 1.00134711892546
+455 0.0282548163677341 -0.160241031615441 1.00187298453389
+456 0.0536383717612334 -0.304198332536602 0.966856400690793
+457 0.0498806444622034 -0.313587793902167 0.964053741667759
+458 0.0514508254386478 -0.298676531449086 0.968695071796706
+459 0.0420710205499247 -0.283126111293497 0.973804207391665
+460 0.0255065798540322 -0.291541560211918 0.971893992703602
+461 0.0327622011070457 -0.296661378227891 0.970125592305733
+462 0.0231595739142833 -0.297121006247618 0.970261687269219
+463 0.0319180865979458 -0.301202207407732 0.96875356309055
+464 0.02249888834842 -0.299365418286794 0.969587100964662
+465 0.0321579139504619 -0.313810222237446 0.964735203560873
+466 0.025887215937697 -0.30996947177881 0.966164467684545
+467 0.0217736512883911 -0.314453505364531 0.964815993375696
+468 0.030939656523471 -0.320207604977106 0.962670674410016
+469 0.0303948716687924 -0.33218480598226 0.958621096393547
+470 0.0286736829911516 -0.327741717004084 0.960202159359652
+471 0.00270867901439225 -0.330900877591942 0.959542741240264
+472 0.00718039625479588 -0.340800038343869 0.956048521663227
+473 0.0129023897891476 -0.344961790006623 0.954494573988325
+474 0.0214786665377195 -0.339690692473321 0.956228999942355
+475 0.025448954784884 -0.348129337610914 0.953091451538069
+476 0.0271622795720539 -0.348159171648656 0.953033263724499
+477 -0.0558087435775192 -0.316507103229968 0.962773928679663
+478 -0.0522824978732961 -0.322302866609607 0.961047554802237
+479 -0.0462735233036629 -0.321991735635552 0.961459870833656
+480 -0.0453706299993864 -0.314073715024837 0.964118357601366
+481 -0.0457638227935238 -0.318287197021722 0.962716953592996
+482 -0.0390031345128962 -0.317471793599812 0.963283663188932
+483 -0.038973348557198 -0.317412438344444 0.963304428561643
+484 -0.0343863332566927 -0.300778108967002 0.968800861504258
+485 -0.044054484084024 -0.295163052676822 0.970135544533129
+486 -0.0346244565835093 -0.283712736797925 0.973926706680194
+487 -0.0494188473068693 -0.280268201779801 0.97428564220252
+488 0.0285622046469389 -0.32646751361862 0.960639455267887
+489 0.0215107180120397 -0.315206330342228 0.964576206591679
+490 0.0196795360259868 -0.303006739272053 0.968516717366055
+491 0.0257529633508998 -0.284739256410349 0.973902120717235
+492 0.0170483577880509 -0.283446744304368 0.974470264625856
+493 0.00438838352055603 -0.295437669233832 0.971041876382145
+494 -1.74889456385248e-09 -0.324790191330505 0.961632118648027
+495 0.0173008097386894 -0.328364640915575 0.960261602157855
+496 0.0285451108087736 -0.326469008684641 0.960639455267887
+497 0.0285622046469389 -0.32646751361862 0.960639455267887
+498 -0.0275297436929635 -0.314666391138473 0.964599489684755
+499 -0.0185507198460946 -0.307529402409166 0.967112474041697
+500 -0.0226390677851864 -0.301582730678255 0.968896449145348
+501 -0.0110976674953866 -0.302794157822021 0.96871953617392
+502 -0.000923537102320693 -0.282965257007002 0.974758847308493
+503 -0.0259703005127386 -0.280430245600479 0.975145845934716
+504 -0.0276257704043302 -0.314688561003597 0.964589511856236
+505 -0.0275297436929635 -0.314666391138473 0.964599489684755
+506 -0.0157623803243188 -0.348861212520309 0.953033263724499
+507 -0.0141996736439843 -0.344835405302375 0.954521824013653
+508 -0.00909105799051129 -0.346019499075739 0.954155573753037
+509 -0.0246790631546609 -0.314700733835266 0.964665430066483
+510 -0.0385509054294756 -0.333185724691612 0.957980219290718
+511 -0.0338071462055736 -0.33550407736647 0.957350035742366
+512 -0.0372062011882414 -0.347229458467695 0.953033263724499
+513 0.0396375039940643 -0.224795463116981 0.988999933285712
+514 0.0323453367258445 -0.224433348314081 0.989347487668828
+515 0.0304727556580832 -0.215759207399104 0.991334643591715
+516 0.0385157528851504 -0.218433696239126 0.990468705778735
+517 -0.0511225786618488 -0.289930542145833 0.971365926251269
+518 -0.0500843530311312 -0.290713692532718 0.971185927902297
+519 -0.0519467415058507 -0.294604601757702 0.969914771858904
+520 0.0459937163458412 -0.260843335846342 0.979831787707079
+521 0.0441838740675634 -0.260346396376889 0.980047212722912
+522 0.0452459337572291 -0.256602449908038 0.980985722719566
+523 0.0518888210970868 -0.345340626743774 0.953033263724499
+524 0.0498856633218359 -0.343169682667799 0.953923995658261
+525 0.0602207023160307 -0.343985559649228 0.953033263724499
+526 0.0478591286996941 -0.345922103998479 0.953033263724499
+527 0.04173842164721 -0.341409933378162 0.954946156361247
+528 0.0490965030548452 -0.345748653825888 0.953033263724499
+529 0.0385157528851504 -0.218433696239126 0.990468705778735
+530 0.0438497249967332 -0.22000593293168 0.989898778205414
+531 0.0435922863164416 -0.208337519095941 0.992431453910371
+532 0.0520483153412283 -0.206678605974731 0.992370861473916
+533 0.04735876808326 -0.203239001405891 0.993315687680997
+534 0.0534813891250617 -0.199664960603032 0.993729663703687
+535 0.0469946632263032 -0.197737461555929 0.994442757490678
+536 0.0537628842837142 -0.194866065773822 0.99466666209506
+537 0.0374328989448541 -0.190147038829626 0.996327196106233
+538 0.0521524741914272 -0.187268604921745 0.996210614803103
+539 0.0390978651444092 -0.184669908860535 0.997293026999884
+540 0.0537245250908543 -0.177955440664788 0.997832920153251
+541 0.0487118097870122 -0.17267290895991 0.999017630524405
+542 0.0579472452987298 -0.172815108577446 0.99849990235836
+543 0.0588163741563838 -0.165687839883859 0.999656527936329
+544 0.0525949370549327 -0.165429517952996 1.00004592253857
+545 0.0592374035030966 -0.163721872033996 0.999955538333528
+546 0.0551301617837144 -0.158276683409194 1.00106650965392
+547 0.0598737371710721 -0.160071448935468 1.00050850412821
+548 0.0655169348417609 -0.13793485193854 1.00344731195496
+549 0.0541283942912612 -0.148845859809226 1.00256671945018
+550 0.0598292462102371 -0.138369857309644 1.00374261834697
+551 0.052097124085033 -0.137820115700963 1.00424922472972
+552 0.0609929231338269 -0.135810492586023 1.00402209807909
+553 0.0659617956294752 -0.126012534055067 1.00498501619594
+554 0.0656337850713069 -0.118944459658499 1.00586749712562
+555 0.0567489890524086 -0.114149966063808 1.00696292756445
+556 0.0478917288365583 -0.122136262482892 1.00648602359683
+557 0.0503995687457366 -0.115119001467786 1.00719039856986
+558 0.0274952705663813 -0.119095104181854 1.00761369892256
+559 0.0273281430485155 -0.119206208533539 1.00760510739306
+560 0.0220020929186967 -0.124780073637884 1.00706049526834
+561 0.12427718207183 -0.326355297568331 0.953033263724499
+562 0.125729223002864 -0.322080088607328 0.954296379017437
+563 0.118236088548487 -0.328018137094391 0.953230994618765
+564 0.125945005341156 -0.316260865134317 0.956212278113029
+565 0.117922453940752 -0.314510726097463 0.957811201660451
+566 0.113367474921671 -0.32219360431919 0.95580547025307
+567 0.115005133603099 -0.313994580630941 0.958335130619416
+568 0.110418832690406 -0.330832030332762 0.953196123100168
+569 0.109786954110544 -0.321852466185737 0.95633823238292
+570 0.105894954077306 -0.325389341298713 0.955579947084573
+571 0.110073202152598 -0.312639468830314 0.959356791135275
+572 0.101538524596281 -0.323337313239071 0.956748613738295
+573 0.105896161083416 -0.310268945480757 0.960595744597099
+574 0.0963498898209532 -0.30651525135724 0.962803250626471
+575 0.0922106739899962 -0.318532208406066 0.95930152913996
+576 0.0901572041958247 -0.306308169656205 0.963468724834106
+577 0.0849965740685656 -0.318277860357503 0.960051970469754
+578 0.0852357995004772 -0.309805633099868 0.96279817624625
+579 0.0810745373805298 -0.310494488248788 0.962935663559958
+580 0.0855925236986814 -0.302659025841778 0.965037011706492
+581 0.0747575590720727 -0.309034319691511 0.96391602155706
+582 0.0787444346871104 -0.296986095899328 0.96737974593656
+583 0.0651161857072184 -0.295550457149754 0.968831672499157
+584 0.0611685593575245 -0.302001834801255 0.96709787463462
+585 0.0704473290919715 -0.305238134580061 0.965449043203157
+586 0.0600908288810119 -0.30574880671684 0.965987453063248
+587 0.067969444129264 -0.312548388067943 0.963285347018675
+588 0.0544196022402687 -0.302148856516106 0.967455205887084
+589 0.0536383717612334 -0.304198332536602 0.966856400690793
+590 0.0724392246678957 -0.125468419319305 1.00460700499401
+591 0.0689069713232948 -0.128688880084556 1.00444810789091
+592 0.0755862737415517 -0.14089103831688 1.0023280054672
+593 0.0697858249296209 -0.139785373786066 1.00290327944143
+594 0.0743663474076045 -0.146634820682975 1.00159516559163
+595 0.0689612206506922 -0.141893955036069 1.00266417886079
+596 0.0656372773625589 -0.158212423106844 1.0004426905101
+597 0.0689221903931302 -0.162449332036595 0.99954236838279
+598 0.0770503852471329 -0.156918772986637 0.999832354356287
+599 0.078420678163111 -0.176210216193865 0.996506476118118
+600 0.0694736416791214 -0.181391805475205 0.996240646640302
+601 0.0609802025236244 -0.200231948015666 0.993183559013151
+602 0.0782619210762176 -0.207333015882696 0.990511530591363
+603 0.0885793524519676 -0.20059917775736 0.991029095537695
+604 0.0911011142123477 -0.206163946817346 0.98965752360196
+605 0.0802100201154652 -0.210214401760535 0.989748078030737
+606 0.091384540728604 -0.208743787588455 0.989090439170781
+607 0.0730805866108817 -0.216679087539889 0.988905658232114
+608 0.0884353869124394 -0.217997455302003 0.98736077085506
+609 0.0835666859103052 -0.224848179747631 0.986247892302004
+610 0.0898851253259858 -0.228502405174976 0.984851417765331
+611 0.0992598331404727 -0.227988128127785 0.984070068113909
+612 0.0944324011938128 -0.223661700208012 0.985536891985699
+613 0.10264716787775 -0.224407788190336 0.984545429894527
+614 0.107710607873001 -0.215064989893151 0.986088472234559
+615 0.118764629328822 -0.21346559325498 0.985166180558735
+616 0.124795730832013 -0.216152549355343 0.983833878748485
+617 0.0282548163677341 -0.160241031615441 1.00187298453389
+618 0.0345664714054 -0.147862363170873 1.00357704268885
+619 0.0309911579425641 -0.158961643742181 1.00199588020518
+620 0.0379544195566068 -0.157522180482224 1.00198364492253
+621 0.0290172765193048 -0.164565158152426 1.00114999195209
+622 0.0667534223462196 -0.34277773970854 0.953033263724499
+623 0.0619028007211803 -0.337315004227431 0.955307087373438
+624 0.0644508148196212 -0.331138701345109 0.957297369128612
+625 0.0727076677339659 -0.341564332574869 0.953033263724499
+626 0.042125216497883 -0.23890398227302 0.985583762746272
+627 0.0481383360563266 -0.234304073270094 0.986412338654972
+628 0.0477858894622534 -0.224911449538876 0.988613346376946
+629 0.0396375039940643 -0.224795463116981 0.988999933285712
+630 0.134590667197444 -0.322238964959198 0.953033263724499
+631 0.127926920371415 -0.319209809645238 0.95496848140163
+632 0.125085627944164 -0.326046291063773 0.953033263724499
+633 0.0708232377899781 -0.122669447903713 1.00506779648934
+634 0.0706303726060124 -0.122929262417776 1.00504962410169
+635 0.0711410231511063 -0.123219868302694 1.00497801910314
+636 0.0452459337572291 -0.256602449908038 0.980985722719566
+637 0.046421984461046 -0.252239192715147 0.982061805090244
+638 0.0443142916714461 -0.251318844912017 0.982395074166065
+639 0.0465749954369544 -0.264139933495542 0.978920765605173
+640 0.0492134639408887 -0.261681384935109 0.97945183023229
+641 0.0459937163458412 -0.260843335846342 0.979831787707079
+642 0.124795730832013 -0.216152549355343 0.983833878748485
+643 0.151491393573972 -0.225877029898447 0.977882878997926
+644 0.151121485549218 -0.235432061086582 0.975683883856816
+645 0.15443593585096 -0.229617097569623 0.97655032139749
+646 0.167720536586164 -0.245832247042506 0.970392357719949
+647 0.179440033762235 -0.249450704357994 0.967367882647914
+648 0.173850494581365 -0.25414957219998 0.967165446283303
+649 0.178763663913569 -0.252420926375596 0.966722415376763
+650 0.18057355658169 -0.260295709555035 0.964294734119543
+651 0.181332894308787 -0.253227081048735 0.966032829082498
+652 0.180032750337005 -0.265597610239635 0.962949177392602
+653 0.191427563422805 -0.262580097431083 0.961577963763257
+654 0.183762478690059 -0.249003613454509 0.966671377414415
+655 0.191578903695632 -0.256807611067073 0.963105588477609
+656 0.19826189682867 -0.251079143355586 0.963263455155298
+657 0.195759300913136 -0.259837978851282 0.961450737610867
+658 0.202452271751504 -0.25332635094188 0.961802390089111
+659 0.200492329975431 -0.261655274134344 0.95998142853844
+660 0.203688965297894 -0.256218959161772 0.960774505480829
+661 0.202469605607293 -0.261266969427738 0.959672146876876
+662 0.20929734214147 -0.257871202488084 0.959125677635557
+663 0.20454799725025 -0.261517724665087 0.95916296660521
+664 0.218325137059997 -0.265424815997607 0.955043874165145
+665 0.202752224164533 -0.26834924932996 0.957656105280169
+666 0.195884868404728 -0.275799866382988 0.956968417469034
+667 0.212785838934821 -0.275859586984078 0.953335552162919
+668 0.222768251001714 -0.267802172031234 0.953352664548115
+669 0.223063967626066 -0.268691392831155 0.953033263724499
+670 0.0984641800668886 -0.0826212582491216 1.00682845258221
+671 0.0856776859201316 -0.0835218157994518 1.00792283455676
+672 0.0875240059464276 -0.0903430064760818 1.00717560016313
+673 0.0974238598688771 -0.085219086902191 1.00671311641192
+674 0.102657277007836 -0.0888618206526593 1.00587775614516
+675 0.0883344332577981 -0.0932316109716562 1.00684154394654
+676 0.100537970124288 -0.0946362325748163 1.00556506504917
+677 0.0962549566261844 -0.0983575530380233 1.0056270556649
+678 0.103035291201002 -0.104149046274514 1.00437129833903
+679 0.0824350706367598 -0.104500847633469 1.00623507788836
+680 0.0951975976607812 -0.114869880818849 1.00397576060395
+681 0.0842669960880781 -0.114904653742069 1.0049482543488
+682 0.0859781803092594 -0.121904425285931 1.00397811908747
+683 0.0778313704287485 -0.111963817234289 1.00579887721528
+684 0.0708232377899781 -0.122669447903713 1.00506779648934
+685 0.0711410231511063 -0.123219868302694 1.00497801910314
+686 0.0833528067105147 -0.129422557192003 1.00325824756309
+687 0.0729012922407625 -0.125030983332135 1.00462811766177
+688 0.0724392246678957 -0.125468419319305 1.00460700499401
+689 0.308973336075825 -0.162751577039376 0.953033263724499
+690 0.305063217991671 -0.166298241185617 0.953680411881851
+691 0.305403956110495 -0.152421901344139 0.955887539192083
+692 0.297981899152964 -0.166884716294687 0.955814458587248
+693 0.291390473318896 -0.15452432282735 0.959916051388734
+694 0.297663242366159 -0.150373567574067 0.958649771459375
+695 0.29604095358903 -0.140785926170749 0.960606098663933
+696 0.284186011081614 -0.15404362665822 0.962150649426327
+697 0.28471758492905 -0.14724330710558 0.96305778920311
+698 0.277686015422109 -0.149956420752711 0.964690908381554
+699 0.296839901691335 -0.136179756761405 0.961023489105382
+700 0.313524183281386 -0.135524632889356 0.95580367250704
+701 0.309226961444954 -0.12802277816699 0.958234759641877
+702 0.315612428637702 -0.130240747763963 0.955851004347066
+703 0.316817088288512 -0.124791184956242 0.956179424964586
+704 0.306681942207938 -0.126004597850598 0.959319564923012
+705 0.301038059038831 -0.120156826695548 0.961854159427815
+706 0.299728633043281 -0.124636118789046 0.961693082239448
+707 0.296856624676837 -0.119462005442918 0.963239312757236
+708 0.295917824916681 -0.126555529354947 0.96262211635006
+709 0.292647038077101 -0.121451815905498 0.964278055084713
+710 0.280333342223594 -0.128465012544001 0.967023762784462
+711 0.283030946585713 -0.135071610018626 0.965336285157546
+712 0.27933517060957 -0.131778781977593 0.966866699747708
+713 0.276919035245241 -0.137066440298929 0.966826581586701
+714 0.279484462493041 -0.127893080906133 0.967345230556968
+715 0.273083422582766 -0.128881912258265 0.969040709672785
+716 0.274120072111877 -0.137526518917716 0.967558599083153
+717 0.267384388715608 -0.138989900268069 0.969232890638082
+718 0.269383486557771 -0.126171248687146 0.970432044593904
+719 0.262457629672788 -0.137886846081167 0.970735911720757
+720 0.263968864838619 -0.130771239387536 0.971310620422148
+721 0.257749073172756 -0.133193774781178 0.972650931032365
+722 0.264753400015755 -0.129128863304352 0.971316824646739
+723 0.263480033654168 -0.121137138154021 0.972691660098642
+724 0.254325659167472 -0.122737802608008 0.974925069377123
+725 0.263431282414704 -0.119930417513924 0.972854384993088
+726 0.259888206214334 -0.116487764971328 0.974224676798263
+727 0.266720856120627 -0.108998849507722 0.973244180931113
+728 0.262049144341635 -0.11718731795948 0.973561697304943
+729 0.27214559564397 -0.112186992899863 0.971378326603839
+730 0.272211383126743 -0.101294001154477 0.972556161990834
+731 0.266309955710407 -0.0984740596893102 0.974477740668214
+732 0.260519438598131 -0.103804975659509 0.975489184532993
+733 0.267031534644224 -0.106950989960623 0.973386174779565
+734 0.259230095172043 -0.107302421141194 0.975454226591044
+735 0.251217292810178 -0.102054736956781 0.978110271113542
+736 0.259881188677795 -0.0945890191200621 0.976595968265956
+737 0.141447187200852 -0.0514825669479615 1.00377648833464
+738 0.139436714607904 -0.0537230836918201 1.0039403532571
+739 0.152564046215471 -0.07043310301702 1.00099370117986
+740 0.129802466370376 -0.0549268450929312 1.00516633519647
+741 0.135141712944408 -0.0712853044339278 1.00343416465367
+742 0.127850309586981 -0.0627910140008928 1.00495601242007
+743 0.120260389026374 -0.081953060623696 1.00451288428055
+744 0.116759746308972 -0.0752494070592958 1.00544999297782
+745 0.1253747986962 -0.0605383733095488 1.00540602007792
+746 0.121596741111772 -0.0489432189150228 1.00650076695114
+747 0.114582603701496 -0.058231692030826 1.00682912997798
+748 0.109003588419271 -0.053754621951943 1.00769720567764
+749 0.103680938199767 -0.077792100708122 1.00668945167883
+750 0.0997923399722014 -0.0694582701237481 1.00769143967501
+751 0.10573734835539 -0.0534117788868372 1.00806338840319
+752 0.0896455673726642 -0.0722341614523045 1.00844974994777
+753 0.0992668162094299 -0.0825183157651135 1.00675807757521
+754 0.0984641800668886 -0.0826212582491216 1.00682845258221
+755 0.255423930952917 -0.0929667099475263 0.977926789866241
+756 0.252320827452285 -0.0971601793629422 0.978324639156121
+757 0.246552715058139 -0.0928302636362025 0.980213905660746
+758 0.241543596300628 -0.099828451005513 0.980773149844549
+759 0.244457953077332 -0.0917153160576562 0.980843315712395
+760 0.235513444945082 -0.097562496479528 0.982466272464751
+761 0.245405481928946 -0.0893202926323559 0.980827729401698
+762 0.201678078612007 -0.0734048190674542 0.992049739249521
+763 0.198132434190634 -0.0756079153435466 0.992598600472062
+764 0.202120128741027 -0.0816084936588428 0.99131857004721
+765 0.1948687578773 -0.0781076909427231 0.99305103384416
+766 0.183945522498862 -0.0669506963286462 0.995945103413702
+767 0.22946823367902 -0.0835196085308895 0.985187192731959
+768 0.225947164339483 -0.0905417162754535 0.98538067595262
+769 0.21666682128217 -0.0907892500320777 0.987440023816177
+770 0.21959361168418 -0.0799255399743104 0.987732531491857
+771 0.170051422573777 -0.0618936574173023 0.998737547532956
+772 0.170173452060404 -0.0633444219903763 0.998625795989945
+773 0.164183960402049 -0.0618042829035715 0.999724390900549
+774 0.163925752544616 -0.0596640958147121 0.999896766333052
+775 0.322864981365982 -0.13308193732499 0.953033263724499
+776 0.322013327647916 -0.130782243901895 0.953639565819865
+777 0.309420898300998 -0.146130470894111 0.955578146030386
+778 0.310652342048454 -0.159523417135037 0.953033263724499
+779 0.157510390281919 -0.0573290948597924 1.00106386001883
+780 0.155982843358738 -0.060746183460003 1.00110152021299
+781 0.156239626462352 -0.0568665746449293 1.00128935468777
+782 0.208476036904676 -0.0758790735919705 0.990457019878876
+783 0.205611684720933 -0.0793471936502063 0.990783961298353
+784 0.20528291549588 -0.0747168724202506 0.991212042693816
+785 0.235697987923708 -0.0857870536905879 0.983520228519883
+786 0.229844121829463 -0.0922662973250794 0.984318855878705
+787 0.229879443479714 -0.0836692766615385 0.985078623059293
+788 0.156239626462352 -0.0568665746449293 1.00128935468777
+789 0.156328435335073 -0.0412599747486382 1.0020399367238
+790 0.14300542110464 -0.0326816977544092 1.0043437440272
+791 0.137336031633591 -0.0413988157204852 1.00481339186541
+792 0.144393655903636 -0.048027779302923 1.00352817825411
+793 0.141447187200852 -0.0514825669479615 1.00377648833464
+794 0.245405481928946 -0.0893202926323559 0.980827729401698
+795 0.24694295085473 -0.0879470009685403 0.980565910096714
+796 0.237687502250334 -0.0834792316640113 0.983239985534958
+797 0.235697987923708 -0.0857870536905879 0.983520228519883
+798 0.21959361168418 -0.0799255399743104 0.987732531491857
+799 0.221156555923335 -0.0730634700398611 0.9879152327593
+800 0.212526737336147 -0.0707188367572622 0.989977894725409
+801 0.208476036904676 -0.0758790735919705 0.990457019878876
+802 0.259881188677795 -0.0945890191200621 0.976595968265956
+803 0.261319446918936 -0.093282999527029 0.976337763615247
+804 0.258383076762594 -0.0888120857704988 0.977535472023286
+805 0.255423930952917 -0.0929667099475263 0.977926789866241
+806 0.229879443479714 -0.0836692766615385 0.985078623059293
+807 0.229864657259273 -0.0826883984831014 0.985164893862635
+808 0.22946823367902 -0.0835196085308895 0.985187192731959
+809 0.20528291549588 -0.0747168724202506 0.991212042693816
+810 0.204971479247988 -0.0712663264911647 0.991530535789668
+811 0.201678078612007 -0.0734048190674542 0.992049739249521
+812 0.183945522498862 -0.0669506963286462 0.995945103413702
+813 0.169116537697157 -0.0537476527404218 0.999367693345258
+814 0.170051422573777 -0.0618936574173023 0.998737547532956
+815 0.163925752544616 -0.0596640958147121 0.999896766333052
+816 0.161709832890493 -0.0466965493722802 1.00094673295998
+817 0.157510390281919 -0.0573290948597924 1.00106386001883
+818 0.332468660939366 0.121008696258094 0.951339311141456
+819 0.338085443063306 0.120696738958359 0.949397456492014
+820 0.331679227792343 0.118889647136761 0.951881894803537
+821 0.33624575413739 0.11537972887781 0.950710950283345
+822 0.341428456778125 0.12124090605187 0.948130925348303
+823 0.340325026919351 0.111552335556982 0.949715721931634
+824 0.353784000848571 0.112843606719535 0.944631251423594
+825 0.358725311437086 0.105959012814674 0.943564432637065
+826 0.35739212097142 0.115468263758287 0.942954374257947
+827 0.361124542438399 0.105497587561962 0.942700548354175
+828 0.369539729425161 0.109579825221644 0.938966266849226
+829 0.36336876678645 0.104217653164263 0.941980265235439
+830 0.367921270498804 0.100497281100277 0.940616412362658
+831 0.369320121744443 0.10496043179639 0.939580201702753
+832 0.371602932591137 0.0985273438069787 0.939376720497165
+833 0.374487067740422 0.106586416333363 0.937349332932174
+834 0.382287604344996 0.0975206334283396 0.93518496225073
+835 0.382825220807715 0.105969700978255 0.934045112822771
+836 0.388623915878036 0.0932235920980321 0.933009010612417
+837 0.390239665815589 0.0972303995005883 0.93192502522311
+838 0.401669067292038 0.0928618418489307 0.927503983123074
+839 0.397431332464669 0.100349363268527 0.928549051621377
+840 0.403908121330973 0.0908513055210886 0.92673041916622
+841 0.4069030764869 0.0954449981213413 0.924956830711095
+842 0.406264378602366 0.0913269209205772 0.925653092791247
+843 0.418460222363736 0.0892816305248157 0.920404711390659
+844 0.415403566377527 0.095603399155934 0.921154095203762
+845 0.424900474894255 0.0848132659580449 0.917873246342961
+846 0.422273871839523 0.0910674311347369 0.918485982553995
+847 0.427771572043282 0.0861451102515319 0.916414481624647
+848 0.43079556965565 0.0904703735869785 0.914579295997945
+849 0.433926918987116 0.0860646677500058 0.913523563978199
+850 0.429662192656561 0.0831684948887283 0.915804783597192
+851 0.446799011806059 0.0747877519913656 0.908296446762403
+852 0.446735787370486 0.0821654603705485 0.907689910379402
+853 0.436798579640976 0.0879558395367413 0.911973558342024
+854 0.447846761430148 0.0867354650848928 0.906716734913961
+855 0.451582155530164 0.0782168933840535 0.905638269065568
+856 0.447269610736568 0.0762534738592685 0.907942896351942
+857 0.452166285115691 0.0676964386314415 0.90619415292822
+858 0.460799983711523 0.0705054744537653 0.901619294981817
+859 0.459044028093531 0.0635548036444306 0.903030656846922
+860 0.463314806089855 0.0695042852123107 0.90040743266315
+861 0.460517096635972 0.0564092859216723 0.902755224946265
+862 0.463361262391406 0.0663372161906088 0.900622403820337
+863 0.467018655487728 0.0512206889292035 0.899719409845121
+864 0.473701222187956 0.0598280176538401 0.895685637040836
+865 0.470457246203716 0.0551333390400158 0.897694432655519
+866 0.474255876834643 0.0544674146392661 0.895734148076491
+867 0.472978408379336 0.0491352157761688 0.896717433630896
+868 0.475183195266368 0.0525721122347542 0.895355853251444
+869 0.474100385378019 0.0423035745761452 0.896473218876333
+870 0.478694371762795 0.043381806233131 0.893976910960554
+871 0.47760863074876 0.0573387128032579 0.893771373365896
+872 0.478888495634843 0.0435125734436097 0.893866581040432
+873 0.483739138051805 0.0422989757973185 0.891309285805659
+874 0.484978988024823 0.0497396077051498 0.890250724571318
+875 0.486214554109268 0.0423588672511945 0.889958501132228
+876 0.486492982754389 0.0483373887396704 0.889501587733584
+877 0.490938086086876 0.0449528366846439 0.887233925243708
+878 0.488372022613572 0.0557961421636048 0.88803409734536
+879 0.484717875286265 0.0573987932674394 0.889931997351152
+880 0.488155449767345 0.0627792412993084 0.88768689509552
+881 0.482670780062869 0.0642887707135373 0.89057333894163
+882 0.486533535611588 0.0658901764998309 0.888351621468722
+883 0.492923335312453 0.0615997211996646 0.885131097551414
+884 0.488585249063671 0.0569332862466711 0.887844612144797
+885 0.492190085108739 0.0432545229270393 0.886624478777236
+886 0.494246168775122 0.0483660712141524 0.885215481002463
+887 0.495735692724403 0.0429143558279011 0.884663484621657
+888 0.499610484323336 0.0461414068336522 0.882318159469481
+889 0.496186632900437 0.0503924006950946 0.88401608089622
+890 0.502248666912845 0.0454355550752668 0.880855769646355
+891 0.505743261828959 0.0481779421268557 0.878707937261879
+892 0.50149505495754 0.0506373307795067 0.881001458900416
+893 0.509412523694162 0.0494694870872374 0.87651391919973
+894 0.498499453090985 0.0624529674889987 0.881942697752981
+895 0.515181362689717 0.0471034964381278 0.873266525271906
+896 0.518875624051729 0.0513176677091142 0.870838437223476
+897 0.513398571074477 0.059378541477627 0.873568025989204
+898 0.521305627360439 0.0537711894172276 0.869237655690891
+899 0.521022851032589 0.0607216166043393 0.868949408181413
+900 0.524619142649841 0.0577868914537279 0.866983523685117
+901 0.522374697803165 0.0509810769217133 0.868763837237114
+902 0.529564476713082 0.0525086523954509 0.864308571302642
+903 0.536678209312708 0.0663565095262674 0.858951869019676
+904 0.533306134049323 0.0770090750110693 0.860162292681622
+905 0.516095339745173 0.0865339262883147 0.869702523794454
+906 0.51573584657185 0.0948646067237738 0.869046743824497
+907 0.502485046789267 0.0954297513936809 0.876713716273521
+908 0.524970637430097 0.104049823336606 0.862440991662536
+909 0.522784564482985 0.108318670309689 0.863242934984513
+910 0.530553288910035 0.108600112009541 0.858454555173574
+911 0.523796569304974 0.110482462119076 0.862354787514076
+912 0.533576090376488 0.11052160524203 0.856333188982692
+913 0.547340242287518 0.125768925169244 0.845473735035225
+914 0.552434848844884 0.121924712974972 0.842718874920753
+915 0.564882724439153 0.128466775119976 0.833443936519112
+916 0.561557787005965 0.142061551269702 0.833484473462949
+917 0.549193812405002 0.143958439938464 0.841360281916459
+918 0.54748890998724 0.155422350390972 0.840431309768936
+919 0.525575251500811 0.15797113753045 0.85383884587034
+920 0.511532088356741 0.150704402928638 0.863624979675387
+921 0.510106946317232 0.155459955614283 0.863624979675387
+922 0.509742269389359 0.147972266932224 0.865154337107967
+923 0.504170634039016 0.159029209764228 0.866456393717803
+924 0.49793585220892 0.158463571720087 0.870157562469401
+925 0.502689498677753 0.162589095227662 0.866656249058506
+926 0.493564379474144 0.16718138969436 0.87101640986503
+927 0.493264207246474 0.161072099955646 0.872336632536652
+928 0.485658627004626 0.168087998569039 0.875275455358504
+929 0.476264296292288 0.154656674975809 0.882880871331257
+930 0.477259641629373 0.147516583328834 0.883564990317515
+931 0.4412974366655 0.140702749507009 0.903152428260937
+932 0.443760855198135 0.145228593630086 0.901226918698086
+933 0.427505180937406 0.155599160662697 0.907333026772827
+934 0.556392483839805 0.202510302435802 0.824404015840493
+935 0.562315975463315 0.197730430379348 0.821540273292027
+936 0.554861763068795 0.200618407505226 0.825896893355494
+937 0.562599488087249 0.191488330126932 0.822823817976342
+938 0.558662644862948 0.180963339505195 0.827872767392347
+939 0.579167113780849 0.152284186896767 0.81951203818855
+940 0.585410248652507 0.152393029515399 0.815043683079458
+941 0.577666607283872 0.133595309282232 0.823819509460006
+942 0.589012097651582 0.113300051991115 0.818811850817325
+943 0.582443929008332 0.114613035591005 0.823315201872255
+944 0.585334525723987 0.104720409656726 0.822582596945014
+945 0.579376018278741 0.0961324319800634 0.827832703488495
+946 0.56651836648498 0.0954041990020059 0.836767577794441
+947 0.553415343499485 0.107181164044278 0.844078583814007
+948 0.550992387877936 0.0983858250317319 0.846730546238528
+949 0.535022533946192 0.100682584671132 0.856643978157633
+950 0.547403689418813 0.0827540912673284 0.850720847980811
+951 0.582265641531865 0.0846930510122283 0.827054296767585
+952 0.579912681942151 0.0878140156184742 0.828380938930647
+953 0.584917538151692 0.0927895013151954 0.824309760956548
+954 0.5882516497547 0.088692090610925 0.822385985790089
+955 0.597032280913028 0.103403230592009 0.814300452812672
+956 0.593874194004767 0.0905398142578416 0.818132619890775
+957 0.601539478527392 0.0899616436014391 0.812577478431147
+958 0.597449759157733 0.0835052839711408 0.816275476068751
+959 0.600514502980087 0.074723531477775 0.814876509389041
+960 0.605190924401135 0.0789056343292258 0.811013468379905
+961 0.604646371651433 0.0622536458939825 0.812866685761979
+962 0.609736647778297 0.056931201153889 0.809447378580757
+963 0.616104602692646 0.063061958536704 0.804153783754359
+964 0.620552447715394 0.0570576765800214 0.801176685368292
+965 0.611835134422461 0.0506605581792986 0.808279825389209
+966 0.626483010287029 0.0438917961983805 0.797381682789479
+967 0.629421197704971 0.0511480091042155 0.794630629314221
+968 0.6328583668505 0.0379371338611007 0.792638670127646
+969 0.634747103051331 0.0471726426893723 0.790630037975818
+970 0.642855563041432 0.0177688394197573 0.785268102887389
+971 0.652239042186182 0.0189668624339965 0.77746349752092
+972 0.654832006695373 0.0149622163489586 0.775368412491273
+973 0.644264162790241 0 0.784314151691903
+974 0.644264162781102 3.43160593407819e-06 0.784314151691903
+975 0.639054462639025 0.0155518628268297 0.78841139853744
+976 0.635740569582816 0.0158338241961142 0.791080411966977
+977 0.634921555225703 0.00281709479312997 0.791891206345102
+978 0.633110792334303 0.0103063595581838 0.793277696385376
+979 0.620516609731038 0.0191294479606915 0.803005729287542
+980 0.614240916931713 0.0139561307747216 0.807922225452851
+981 0.614916273583343 0.000304602402645349 0.807528874839626
+982 0.615050476331005 0 0.807426722102386
+983 0.550450479768149 0.200347589824515 0.828908989319408
+984 0.550902936884634 0.199811317198754 0.828737830469433
+985 0.554855095911473 0.200743026595132 0.825871091523669
+986 0.55435529400768 0.201768825976279 0.825956747578112
+987 0.602607567614247 0 0.816755238400122
+988 0.602607567614247 0 0.816755238400122
+989 0.602607567614247 0 0.816755238400122
+990 0.606111398430016 0 0.814158444464718
+991 0.605745432813688 3.22643993235811e-06 0.814430764776815
+992 0.605745432822281 0 0.814430764776815
+993 0.338791086706383 0.12330987104279 0.948809925786887
+994 0.339772923068657 0.123063157646728 0.948490811752753
+995 0.336943284141498 0.122637325911206 0.949554795451684
+996 0.427505180937406 0.155599160662697 0.907333026772827
+997 0.42160865112084 0.159094873966624 0.909483351347131
+998 0.409304656000744 0.162212205410333 0.914539173022145
+999 0.397038346445553 0.15426097512571 0.921297510582247
+1000 0.397770636964337 0.158666227236635 0.920232877430207
+1001 0.389358614775364 0.155303677203272 0.924394740869587
+1002 0.390817424728623 0.161056187421101 0.922793392380909
+1003 0.384558757931282 0.16038986802385 0.925534792394992
+1004 0.379809325242356 0.173823736926791 0.925070367561167
+1005 0.388969995114614 0.185605009148473 0.918954908295033
+1006 0.435084458689188 0.16809715540688 0.901482035401289
+1007 0.452149060597274 0.180823837048395 0.89055542609997
+1008 0.466152933256868 0.182925523634441 0.882872978190568
+1009 0.468143129914781 0.194101753443238 0.879426812886583
+1010 0.463952895584416 0.197819946540593 0.880817790141362
+1011 0.47258922916927 0.199565356962829 0.875818525023018
+1012 0.437520255855621 0.239121634244265 0.884093812755402
+1013 0.442958452813928 0.241741518066313 0.880666706265024
+1014 0.440834464871387 0.258083028905472 0.877087866050223
+1015 0.452784012670594 0.24174688272064 0.875654088418919
+1016 0.458796583423567 0.243073067199397 0.872150319062683
+1017 0.464096882896643 0.223319830463367 0.874624111608771
+1018 0.47854711429193 0.208109987990032 0.870579055744885
+1019 0.489926481398551 0.215426876117423 0.862431622721896
+1020 0.487056216656648 0.222846777614711 0.862171998804677
+1021 0.502585176751203 0.227919289526268 0.851872019479337
+1022 0.509349471852105 0.222915832509201 0.849174097073569
+1023 0.502254957903374 0.209170388116882 0.856862127764154
+1024 0.508220139837407 0.202218642777553 0.855011643182039
+1025 0.525209609186062 0.201407172307689 0.844875740781829
+1026 0.545722645135915 0.212193614252519 0.82908724791563
+1027 0.548335583950347 0.205169182975723 0.829131288597232
+1028 0.535771056490686 0.206558526240886 0.836963529829136
+1029 0.546418159615233 0.205032510945317 0.830429927385905
+1030 0.550450479768149 0.200347589824515 0.828908989319408
+1031 0.33559527530734 0.281597871279017 0.915589127328692
+1032 0.340303258043824 0.270036440400738 0.91733255334173
+1033 0.345190606359042 0.269726418195602 0.915596037894905
+1034 0.340159704524442 0.269285513999326 0.917606499196667
+1035 0.343192953392022 0.25719918422031 0.919941398339301
+1036 0.350262324531203 0.259500389841558 0.916624706019905
+1037 0.34867246981987 0.272824628960286 0.913356026214528
+1038 0.358083161426055 0.273949582734748 0.909369603419082
+1039 0.360697003975249 0.250537862796622 0.91507018890825
+1040 0.351552774366601 0.239315273622115 0.921609378558138
+1041 0.342460806475455 0.23854693027133 0.925224814888958
+1042 0.344898317706507 0.22378194193415 0.928004198755265
+1043 0.339758983761913 0.226702467777796 0.929190413239681
+1044 0.336799103493866 0.209389496347386 0.934316543097208
+1045 0.320856888555904 0.26086120023319 0.926945139303898
+1046 0.311846026310361 0.261669885237199 0.929788108675514
+1047 0.292874158086331 0.245750597633462 0.940242719348583
+1048 0.292015657408156 0.243096292819362 0.941199260648862
+1049 0.295174552311238 0.209046283959757 0.948365243369071
+1050 0.300711789927539 0.199552706775762 0.948670720860005
+1051 0.308371972867283 0.200500221480131 0.946008132912375
+1052 0.299538386770396 0.198252614777783 0.94931430811126
+1053 0.303955154192817 0.19107754458703 0.949381712586783
+1054 0.29947384384842 0.187871241755335 0.951443541873064
+1055 0.296404927222368 0.193450330491393 0.951286543976668
+1056 0.296689843526437 0.186054744430657 0.952671910377912
+1057 0.304835939983379 0.185064897751141 0.950289973279109
+1058 0.303243561653913 0.177189160276737 0.952298453110092
+1059 0.308972583611032 0.174736384564819 0.950909111580039
+1060 0.305821708343322 0.168599172419679 0.953033263724499
+1061 0.320277378692291 0.13919410523662 0.953033263724499
+1062 0.320620398214808 0.139197510195867 0.952917422132605
+1063 0.320584158063204 0.138486085342663 0.953033263724499
+1064 0.324088322044875 0.130074431571949 0.953033263724499
+1065 0.327598559277554 0.13314588189194 0.951407566763313
+1066 0.325420502157485 0.126704755278556 0.953033263724499
+1067 0.336943284141498 0.122637325911206 0.949554795451684
+1068 0.327887604055865 0.121211894659353 0.952902091350205
+1069 0.332468660939366 0.121008696258094 0.951339311141456
+1070 0.55435529400768 0.201768825976279 0.825956747578112
+1071 0.552462701476012 0.205597344246119 0.826280639684102
+1072 0.556392483839805 0.202510302435802 0.824404015840493
+1073 0.322809713330302 0.27086951095707 0.923389731919023
+1074 0.326082802216666 0.270724926229336 0.922281421485138
+1075 0.329286111852889 0.276303854559927 0.919484549351501
+1076 0.325553890789349 0.126361633522779 0.953033263724499
+1077 0.338791086706383 0.12330987104279 0.948809925786887
+1078 0.185259663000803 0.320879148023753 0.944955252712201
+1079 0.185602733140796 0.320763173787058 0.944927305030773
+1080 0.189761375077483 0.325585042321109 0.942448938004317
+1081 0.188477400288231 0.313719996693125 0.946721201439714
+1082 0.201835762226984 0.314432550417582 0.943726388485639
+1083 0.212297042495075 0.307301249650129 0.943780116187724
+1084 0.218845138437211 0.3108093851623 0.941131941588123
+1085 0.227145512687622 0.303833942407873 0.941442962428827
+1086 0.219039368521001 0.297197669943434 0.945473585045143
+1087 0.212333597406506 0.29840722145206 0.946621663389167
+1088 0.216107720570122 0.29606991789 0.946501482740832
+1089 0.230684971900145 0.298756952694328 0.942206838733528
+1090 0.228495461955781 0.294751929724653 0.944000065566315
+1091 0.253887645045937 0.287905049661802 0.939615211707571
+1092 0.254844249490148 0.29390782198593 0.937495387016539
+1093 0.261428078365086 0.288582101855646 0.937337042013659
+1094 0.270340755441312 0.295645097318719 0.932595760433654
+1095 0.279058722572932 0.289166613404679 0.932058956851996
+1096 0.27748160862533 0.276750315908527 0.936289602376973
+1097 0.264492964225441 0.280609327906152 0.938896627412889
+1098 0.26160661394683 0.276117555838976 0.941034576886941
+1099 0.270316944535205 0.254569952089674 0.944641672270608
+1100 0.270889573711219 0.263618164545652 0.941992198574986
+1101 0.298549797655292 0.289377532055579 0.925933940549436
+1102 0.301227704509395 0.273242001123583 0.929960041538334
+1103 0.314745282823482 0.27110713863373 0.926100062802178
+1104 0.322809713330302 0.27086951095707 0.923389731919023
+1105 0.329286111852889 0.276303854559927 0.919484549351501
+1106 0.334129711572882 0.285006816086287 0.91507018890825
+1107 0.33559527530734 0.281597871279017 0.915589127328692
+1108 0.311846026310361 0.261669885237199 0.929788108675514
+1109 0.297815915347974 0.262474147286228 0.934150952775736
+1110 0.292874158086331 0.245750597633462 0.940242719348583
+1111 0.0957017313464817 0.335847847770258 0.953033263724499
+1112 0.101568516562277 0.348787534764325 0.947763732180317
+1113 0.0878485844100027 0.350820311346709 0.948384276210733
+1114 0.0786294047978971 0.359169051618777 0.946065541630386
+1115 0.0774808142895703 0.370369482873616 0.941832346849987
+1116 0.083778071486442 0.377458842704251 0.93847272565716
+1117 0.0760865234959436 0.383709645822701 0.936591025285273
+1118 0.086292163857931 0.376593164236644 0.938592697130629
+1119 0.0850165450215145 0.356439865876381 0.946545196536664
+1120 0.0977769948679389 0.356598078661519 0.94525259564283
+1121 0.101743449204175 0.373771555341824 0.938172742602017
+1122 0.126380981707127 0.392064325322143 0.927652096570927
+1123 0.144366028980466 0.378598445946083 0.930616283117602
+1124 0.125397631183951 0.380275817330939 0.932679332271676
+1125 0.105839794456891 0.360209217837367 0.943012331464608
+1126 0.110016206765564 0.349763179317475 0.946460328087051
+1127 0.103920554480827 0.333396335599277 0.953033263724499
+1128 0.137656407667074 0.320941290056024 0.953033263724499
+1129 0.140477236251332 0.327874892480162 0.950257439316478
+1130 0.133172741424792 0.331304332291084 0.950119708429714
+1131 0.129910247099967 0.343147094465104 0.946360607410612
+1132 0.140884356778374 0.353276320093776 0.941048585183647
+1133 0.150571000931265 0.330846155463643 0.947678318362029
+1134 0.14721502250863 0.333541458869332 0.947260699260294
+1135 0.171234266707357 0.306949716317327 0.952200450303352
+1136 0.177244988173631 0.309290643482149 0.950341260822515
+1137 0.177859057928027 0.32337734754879 0.945525381259152
+1138 0.185259663000803 0.320879148023753 0.944955252712201
+1139 0.0905713197257433 0.513655474147166 0.870735258228233
+1140 0.0961158719432622 0.508498880217719 0.873164147212832
+1141 0.102622327061497 0.493194523925961 0.881165602800023
+1142 0.126091659552012 0.477521230381643 0.886735229888957
+1143 0.174935999786278 0.461417223521218 0.886970428941543
+1144 0.171877737111785 0.469439332751417 0.883351434227192
+1145 0.17584213551455 0.481664844025859 0.875958629963326
+1146 0.186650207388247 0.483891329430341 0.872488327362642
+1147 0.199610153773253 0.499645104490059 0.860659953796931
+1148 0.186865882455257 0.483613178507755 0.87259637607994
+1149 0.176020623094436 0.481436319157531 0.876048406677105
+1150 0.172359650693368 0.469407637201103 0.883274374670826
+1151 0.19565415222213 0.419945205544316 0.903100480045594
+1152 0.184088448675195 0.40867072440514 0.910672653634959
+1153 0.18035818236628 0.39047762443525 0.919360185601343
+1154 0.170233874036913 0.376264310426489 0.9271842302529
+1155 0.161203666761869 0.371045844225918 0.930893849644096
+1156 0.144266371070271 0.375237416604081 0.931992003913397
+1157 0.15204487503984 0.377749056174302 0.929738138689353
+1158 0.161380728619012 0.371643278800101 0.930624808262227
+1159 0.169346222595942 0.376425798904131 0.927281227466551
+1160 0.179934217636899 0.390499280164237 0.91943405936185
+1161 0.184041266009028 0.411225277193874 0.909531518861559
+1162 0.184041468401053 0.411295035900482 0.909499934773173
+1163 0.195211846749772 0.420386528185621 0.902990864742597
+1164 0.178474259386677 0.455719311310525 0.889208551485554
+1165 0.131518761077973 0.473086847002546 0.888322379926176
+1166 0.103181647448446 0.490510217262921 0.882597458862479
+1167 0.0956790317249586 0.508424118343998 0.873255654876797
+1168 0.0902043832662036 0.511574474094639 0.871997549706625
+1169 0.0387536251059915 0.347060160167906 0.953033263724499
+1170 0.0393193317638628 0.351736727862246 0.951293994736855
+1171 0.043312535555799 0.346520738915229 0.953033263724499
+1172 0.0902043832662036 0.511574474094639 0.871997549706625
+1173 0.0797015388022798 0.517354757095508 0.869607221694482
+1174 0.0580946814385937 0.541280870791982 0.856659224489658
+1175 0.0531897345327131 0.551035586488613 0.850738287937889
+1176 0.0590488738935462 0.562965580348659 0.842501030168273
+1177 0.0535571068010854 0.55100000158585 0.850738287937889
+1178 0.0658320564150883 0.534693153485645 0.860229255468411
+1179 0.0905713197257433 0.513655474147166 0.870735258228233
+1180 -0.19155467305722 0.541354059788972 0.836939417867231
+1181 -0.196336120737956 0.540456065270746 0.836411602744507
+1182 -0.199930931935802 0.562714115787938 0.82073469912529
+1183 -0.192631261398589 0.574813824078831 0.81406834159047
+1184 -0.197745272297132 0.575402965100766 0.812424294957616
+1185 -0.175134481957244 0.597635237770112 0.801489261191333
+1186 -0.173160499196362 0.607080296512199 0.794791768392657
+1187 -0.16175347394228 0.613991001744832 0.791881218014407
+1188 -0.150158819144175 0.614112678299676 0.794067344363704
+1189 -0.165098306465732 0.606616477649375 0.796858832069026
+1190 -0.176118536578204 0.591720806344895 0.805651133191097
+1191 -0.187586268171686 0.570278504578085 0.818424595921703
+1192 -0.191551742302084 0.541345777160488 0.836945445994865
+1193 -0.19155467305722 0.541354059788972 0.836939417867231
+1194 -0.253064820971973 0.438321129954314 0.879805537276276
+1195 -0.243605848736873 0.453942437159897 0.874538423516383
+1196 -0.227177222562148 0.449714958879164 0.881119722460722
+1197 -0.210836693700725 0.45280083292537 0.883597359825977
+1198 -0.198461973329668 0.48262817244794 0.870579055744885
+1199 -0.210699733243691 0.452651201493895 0.883706689007824
+1200 -0.2275331700657 0.449308376428117 0.881235291730525
+1201 -0.243967596289667 0.452585935150772 0.875140436309706
+1202 -0.252937696012425 0.43810094306425 0.879951751871738
+1203 -0.226817817931759 0.392859986890992 0.907986623342373
+1204 -0.220922923297394 0.398621134277384 0.906928471969617
+1205 -0.226798723645771 0.392826914617344 0.908005701581696
+1206 -0.457432808300885 0.383831702910088 0.820763942757665
+1207 -0.45400667339587 0.384453856494096 0.822373499535845
+1208 -0.446730229165546 0.393111851273396 0.822265270297914
+1209 -0.449399027816363 0.396477423515466 0.819189334916077
+1210 -0.445360662452106 0.4107799388753 0.814333299182728
+1211 -0.440053781570746 0.399912999849607 0.822585717039005
+1212 -0.439153350129549 0.412637718466773 0.816761561515067
+1213 -0.430268542746054 0.403582958838257 0.825962938913451
+1214 -0.423353139311367 0.412513189615872 0.825124225694622
+1215 -0.41608357190168 0.412799606842232 0.828671192804745
+1216 -0.42063879353749 0.375724757146301 0.843871383706473
+1217 -0.418795105737847 0.351410820756071 0.855187753926335
+1218 -0.202334646654707 0.284628334846943 0.953033263724499
+1219 -0.211947581036688 0.323027818903804 0.938592697130629
+1220 -0.240960212032247 0.351610650381001 0.92115857850645
+1221 -0.279777939788912 0.353777664355368 0.909280302552921
+1222 -0.312932073724648 0.333040737363148 0.90630148653249
+1223 -0.316809310294063 0.33637802610878 0.903718255023191
+1224 -0.334448168630584 0.328088083608309 0.900404149198501
+1225 -0.357365984132612 0.355872181349797 0.880834572394991
+1226 -0.352993519688532 0.35861989753474 0.881483036790882
+1227 -0.356029836848397 0.35571927960706 0.881437206719536
+1228 -0.348394738650186 0.346200475029559 0.888251843324953
+1229 -0.334384676822533 0.328461272687471 0.900291663990519
+1230 -0.316907282340314 0.336788127289673 0.903531145958119
+1231 -0.313112859755788 0.33348964645566 0.906073944423098
+1232 -0.289596319283935 0.351908679330379 0.906928471969617
+1233 -0.305374440257659 0.363016569170446 0.897324033861258
+1234 -0.306838543120624 0.382613770773069 0.888640428334445
+1235 -0.281095228596708 0.415019874009284 0.882592191579714
+1236 -0.259642013234541 0.427422517496712 0.883244596077603
+1237 -0.256900444993406 0.432979462389687 0.881337589412211
+1238 -0.263164385917568 0.435650673766584 0.878167407976037
+1239 -0.254265478610503 0.436206128075533 0.880510238564165
+1240 -0.254248375143533 0.436264286778156 0.880486363221384
+1241 -0.253064820971973 0.438321129954314 0.879805537276276
+1242 -0.252937696012425 0.43810094306425 0.879951751871738
+1243 -0.259097277488574 0.427365824274354 0.883431974200793
+1244 -0.280898696134708 0.414760886802133 0.882776488862797
+1245 -0.304906104972917 0.373345998486922 0.893235709409363
+1246 -0.292489595251357 0.354490384024731 0.904992488534405
+1247 -0.262263285810874 0.355063146520258 0.913987489465155
+1248 -0.259719304167746 0.36704560119661 0.909971653231484
+1249 -0.247252762635953 0.371062480295169 0.911813416816229
+1250 -0.226817817931759 0.392859986890992 0.907986623342373
+1251 -0.226798723645771 0.392826914617344 0.908005701581696
+1252 -0.247109966813205 0.370946383936568 0.911899360974642
+1253 -0.259111969128075 0.366621381693597 0.910315741893794
+1254 -0.261239328422151 0.357343791849328 0.913391716467961
+1255 -0.242292613075213 0.354124546584403 0.919845147378392
+1256 -0.212199400786283 0.327220845696264 0.937082137513977
+1257 -0.201847516167505 0.284973996097253 0.953033263724499
+1258 -0.418795105737847 0.351410820756071 0.855187753926335
+1259 -0.414136033624917 0.318214365289615 0.870319460529724
+1260 -0.428584790611548 0.292448420116324 0.872361163067179
+1261 -0.43402570190251 0.29223630574969 0.869738254700693
+1262 -0.43222107939311 0.286026654088664 0.872696219585658
+1263 -0.446984989001583 0.269298212592655 0.870579055744885
+1264 -0.442369330716446 0.261272713219978 0.875369033361447
+1265 -0.4621970295722 0.242442810723728 0.870528798709735
+1266 -0.458522071647581 0.253086460685109 0.869442208102353
+1267 -0.463196478052996 0.25315152887522 0.866941939317414
+1268 -0.474487677067829 0.219364693926746 0.870037686177559
+1269 -0.469241247936783 0.219010234055646 0.872967449916445
+1270 -0.466493610640909 0.226225415157427 0.8726000073161
+1271 -0.46109267696706 0.222593215444032 0.876396487718679
+1272 -0.446751403752023 0.192577204195394 0.890815471166662
+1273 -0.451465883484062 0.164320145006329 0.894093085755087
+1274 -0.492104215375765 0.179111288331992 0.869469716322228
+1275 -0.502559557033946 0.199789560222055 0.858919683823885
+1276 -0.499754295005002 0.213668610241588 0.857214307872589
+1277 -0.511723728204094 0.227951813374677 0.846405220194263
+1278 -0.530092534538548 0.240873519324731 0.831388508769887
+1279 -0.590668760005003 0.254712198465542 0.785147828059788
+1280 -0.580249343706081 0.228075094984372 0.800947844854165
+1281 -0.570467017318374 0.225668101178355 0.808619991258213
+1282 -0.575306855461382 0.209394573036185 0.809568363291285
+1283 -0.530036134402606 0.384825312496858 0.775368412491273
+1284 -0.507874276563566 0.379855560709096 0.792463546293085
+1285 -0.471813505578795 0.359334488392881 0.823708529399128
+1286 -0.470367297019348 0.364184144994576 0.822404714498453
+1287 -0.480565431431493 0.364954130126534 0.816143583578679
+1288 -0.477696227644238 0.376342064323167 0.812648733903795
+1289 -0.488358806133199 0.386707726537505 0.801366215102902
+1290 -0.505796347302197 0.391572900045441 0.788077229087199
+1291 -0.517546832234337 0.401464944117124 0.775368412491273
+1292 -0.504819563737354 0.417356002686903 0.775368412491273
+1293 -0.497423761357529 0.410963954225613 0.783519769989358
+1294 -0.489754651343024 0.388926866652885 0.799438098844083
+1295 -0.47265836201693 0.387817869000319 0.810195268623265
+1296 -0.478138932868295 0.384392356664396 0.808610336944538
+1297 -0.476326382253193 0.379919794255761 0.811787612311401
+1298 -0.457432808300885 0.383831702910088 0.820763942757665
+1299 -0.457478289383071 0.166508481811621 0.890625364689289
+1300 -0.460638213395349 0.16972836273544 0.888386019274892
+1301 -0.465233452443105 0.17124633918405 0.885696068662343
+1302 -0.465353423082166 0.169374796097417 0.885992872472837
+1303 -0.564511433917326 0.205465360888782 0.818129468025353
+1304 -0.560956747134348 0.20434897933608 0.820849573605757
+1305 -0.560955778481719 0.204171208134065 0.820894470901738
+1306 -0.560955778481719 0.204171208134065 0.820894470901738
+1307 -0.560109303430062 0.180435489402436 0.82701003765081
+1308 -0.541248429794 0.174954108194129 0.840634401670266
+1309 -0.543687479436807 0.162483326337669 0.841562887350612
+1310 -0.525443702494177 0.163898971331471 0.852801877756901
+1311 -0.521647002437604 0.15631306666626 0.856548673478193
+1312 -0.514023456780962 0.168098137887601 0.858922523815549
+1313 -0.489423802027456 0.143701891789305 0.877518722481272
+1314 -0.489981709979648 0.136003687126632 0.878433788610946
+1315 -0.49551924354496 0.134295330955564 0.875585771561054
+1316 -0.488434828813016 0.119293387097349 0.881717361628567
+1317 -0.498320274177355 0.121680121046175 0.875840083854349
+1318 -0.490814854804449 0.113205269598266 0.881198244005554
+1319 -0.49183215774819 0.093350574215211 0.882956283684787
+1320 -0.503887901681572 0.0860406262198253 0.876880261597125
+1321 -0.4966553455228 0.0826750257881717 0.881319072682847
+1322 -0.479849957240021 0.0544005379474472 0.892753941468632
+1323 -0.469832808258507 0.0236773890195164 0.899400641279037
+1324 -0.474484405688713 0.00705620228896856 0.897240078667625
+1325 -0.467559509328599 0.00308469762007901 0.900890442771479
+1326 -0.440228853258518 0.013573260413799 0.914461220260558
+1327 -0.444490214589511 0.0135959360319133 0.912397172100827
+1328 -0.435084758557871 0.018935347620034 0.916824795411395
+1329 -0.4391843510243 0.0301562175420421 0.914566951271978
+1330 -0.435250262912414 0.0291610938458233 0.916477953493912
+1331 -0.434229951512563 0.036906013716794 0.916682767025176
+1332 -0.434623338570943 0.00360324803155296 0.917232015453598
+1333 -0.429970145503107 1.54350402231214e-09 0.919429537254507
+1334 -0.465353423082166 0.169374796097417 0.885992872472837
+1335 -0.46559006056708 0.165413846610594 0.886616689923345
+1336 -0.471553002590075 0.16964867901276 0.882656270275984
+1337 -0.461602031486813 0.146535204567056 0.89200672550701
+1338 -0.463970248376157 0.138941812129385 0.891993151018532
+1339 -0.45092391031628 0.135618287277248 0.899166451365408
+1340 -0.451509444908434 0.124281644848404 0.900510018773946
+1341 -0.456225918781428 0.119612037924065 0.898763523634384
+1342 -0.45671348615694 0.129676082985032 0.897118668328797
+1343 -0.477592816544815 0.138852977543699 0.884788083222214
+1344 -0.478819837140684 0.156114050906427 0.881240583876023
+1345 -0.492104215375765 0.179111288331992 0.869469716322228
+1346 -0.344388506597393 0.0578718822766779 0.953033263724499
+1347 -0.350704617196188 0.0608104654582572 0.950543717441773
+1348 -0.361063975913599 0.0560311740012713 0.946952117499878
+1349 -0.364710748651341 0.061149441541466 0.945236380815585
+1350 -0.354692309026468 0.0733112257203503 0.948179218344745
+1351 -0.345187905426253 0.0745818192453103 0.951581768523071
+1352 -0.348836073440618 0.0813500044134462 0.949694988219093
+1353 -0.337964110472448 0.107552717023476 0.951019281136526
+1354 -0.343659458251065 0.117573825263823 0.947786670283676
+1355 -0.328262937167297 0.119147145651617 0.953033263724499
+1356 -0.365983560757235 1.31380539797229e-09 0.946721201439714
+1357 -0.35034012568586 0.0239943714158905 0.952318784060659
+1358 -0.350670721697201 0.0416721902019072 0.95158734412987
+1359 -0.345337908912236 0.0519069061180921 0.953033263724499
+1360 -0.575306855461382 0.209394573036185 0.809568363291285
+1361 -0.575448463394783 0.208888962751448 0.80959833696544
+1362 -0.564511433917326 0.205465360888782 0.818129468025353
+1363 -0.451465883484062 0.164320145006329 0.894093085755087
+1364 -0.451910280887041 0.160944676986659 0.894482481090745
+1365 -0.457478289383071 0.166508481811621 0.890625364689289
+1366 -0.33283915740491 -0.105691501704812 0.953033263724499
+1367 -0.351789965518035 -0.101193171779495 0.946693594647194
+1368 -0.357349528757173 -0.0875750907368473 0.945968772095284
+1369 -0.366968809481221 -0.0857474756710544 0.942446955156616
+1370 -0.373843654341745 -0.106005588146056 0.937671977500777
+1371 -0.381145845921132 -0.111469285844057 0.934091774104922
+1372 -0.378234005402245 -0.125433231887024 0.933504441069109
+1373 -0.385564661665965 -0.129097928794098 0.929999256158565
+1374 -0.383632686280818 -0.138025508624347 0.929515960586989
+1375 -0.387082653504018 -0.128885325447462 0.929397973012955
+1376 -0.381076946472498 -0.120365187161125 0.93301531744493
+1377 -0.391031535998379 -0.133941018336121 0.927027044622664
+1378 -0.397640107518959 -0.115818697708978 0.926657096316273
+1379 -0.390740594960878 -0.109067327925441 0.930403732488656
+1380 -0.411241927979964 -0.0866247845318833 0.923905419064163
+1381 -0.414678945565655 -0.102976047853605 0.920685780097102
+1382 -0.417636906210235 -0.0967262309897499 0.92002633158495
+1383 -0.425478681883448 -0.104413102751259 0.915582216535783
+1384 -0.422139363737637 -0.127708688049446 0.914173861242965
+1385 -0.418122230900425 -0.126756303213024 0.916150445954495
+1386 -0.422409111081868 -0.130805935431021 0.913611159154178
+1387 -0.411989610281597 -0.135877715349604 0.917620186946315
+1388 -0.411589718890474 -0.143443478897247 0.916647626771332
+1389 -0.418007254529575 -0.139571284890053 0.914338444775668
+1390 -0.424247588632044 -0.148328368543262 0.910075644452256
+1391 -0.430841431469937 -0.14714883760775 0.907164748278737
+1392 -0.433150296498606 -0.138127610403112 0.907483654887236
+1393 -0.443687657570956 -0.13304515090043 0.903141877193766
+1394 -0.443029019842475 -0.123470905182058 0.904823310459528
+1395 -0.472729807720484 -0.116769921794166 0.890570780037577
+1396 -0.477679513372737 -0.122985003181173 0.887086225513908
+1397 -0.475184953959913 -0.129256302573848 0.887534262873864
+1398 -0.479300750649258 -0.127272330630903 0.885605749915184
+1399 -0.47811033444177 -0.142367342825021 0.883949686236112
+1400 -0.483260023916423 -0.134092531900357 0.882442033321651
+1401 -0.49302979536865 -0.140182775231548 0.876068153973838
+1402 -0.483324322033876 -0.155224988316199 0.878935607842082
+1403 -0.496755787818272 -0.166009730137556 0.869424784997934
+1404 -0.505308551703442 -0.162859667218285 0.865080918971699
+1405 -0.493614001241884 -0.176360423203404 0.869176172536669
+1406 -0.494846531320293 -0.180109405695216 0.867705314274604
+1407 -0.429970145503107 1.54350402231214e-09 0.919429537254507
+1408 -0.42279647921817 -0.00534281686193858 0.922734843532366
+1409 -0.409909908904156 -0.00442151351600348 0.928536114968295
+1410 -0.409129639427744 -0.0110635753203707 0.928824814183414
+1411 -0.423636397354836 -0.0115002588913995 0.922293308487949
+1412 -0.421873011529865 -0.0258398104902881 0.922811175884074
+1413 -0.433753009348168 -0.034632270078224 0.916997237046348
+1414 -0.439521664172173 -0.0488886110826874 0.913594883101766
+1415 -0.434618364724308 -0.0508636769439408 0.915830095275379
+1416 -0.440370755394878 -0.0529008326241263 0.912962266307112
+1417 -0.436889580593873 -0.0595667938489325 0.914223326895058
+1418 -0.432179687284114 -0.0514501556411404 0.916950707172151
+1419 -0.426474128881483 -0.059034033428192 0.91916255379121
+1420 -0.419443904335705 -0.0583071162532138 0.922438123296004
+1421 -0.416878084281937 -0.0511197219499561 0.924026210057475
+1422 -0.41863257100843 -0.0659304452375766 0.922293308487949
+1423 -0.413230606399612 -0.0621780684427564 0.924986137052517
+1424 -0.415732696651893 -0.0690850431396791 0.923373479015362
+1425 -0.406255201361879 -0.0740195381128887 0.927201606633624
+1426 -0.395544455653172 -0.0579363793894959 0.93295924859839
+1427 -0.394490508930768 -0.0440400576215723 0.934164178123006
+1428 -0.396261132380178 -0.0372762873560941 0.933709051774547
+1429 -0.410505367781993 -0.0435443015074572 0.927261687350663
+1430 -0.386720704921221 -0.0320864385512682 0.937892614773317
+1431 -0.365998505914135 -1.27744441028035e-05 0.946715423717938
+1432 -0.365983560757235 1.31380539797229e-09 0.946721201439714
+1433 -0.365983560757235 1.31380539797229e-09 0.946721201439714
+1434 -0.529859049524965 -0.192852919990267 0.843968091154949
+1435 -0.532870156992354 -0.190427973832541 0.842621850279814
+1436 -0.539892468671564 -0.193766740821417 0.837374212895985
+1437 -0.543136915893296 -0.178532313425914 0.838661733750091
+1438 -0.562931321178543 -0.168277237216354 0.827656993609678
+1439 -0.558777471398679 -0.171112719430971 0.82988744701088
+1440 -0.558493505531552 -0.175524509812544 0.829156891507357
+1441 -0.553974173825217 -0.173127278400107 0.832685150707301
+1442 -0.55459782770542 -0.180606498335287 0.830678964620807
+1443 -0.546265234697948 -0.181930062959625 0.835895176174562
+1444 -0.54884091677987 -0.18644527223338 0.833208742470968
+1445 -0.538698455335471 -0.196070200553963 0.837606978644463
+1446 -0.538698455335471 -0.196070200553963 0.837606978644463
+1447 -0.537179167012659 -0.197462507089398 0.838255391167605
+1448 -0.540443912315426 -0.200989286880497 0.835313524492729
+1449 -0.495096019564017 -0.224429243976482 0.857167688296759
+1450 -0.484830215747209 -0.234240384367157 0.860404616578759
+1451 -0.471128360710845 -0.237468240515314 0.867105473676918
+1452 -0.472702349403772 -0.228859401105054 0.868562527049141
+1453 -0.467623965311276 -0.226652615454588 0.871883833417132
+1454 -0.425959411324329 -0.240201927042609 0.889430499898248
+1455 -0.417928364194205 -0.24960018695091 0.890651800130683
+1456 -0.426571570469957 -0.245497617023872 0.887689481351669
+1457 -0.42639085660037 -0.256515563696394 0.88465564090731
+1458 -0.4294852910226 -0.244080759751259 0.886674668361784
+1459 -0.438132981443847 -0.238738992464653 0.883893762874299
+1460 -0.453041767167091 -0.242237202354693 0.875385226627392
+1461 -0.448607161469501 -0.249383971981207 0.875662177553167
+1462 -0.460645775072376 -0.24758643232554 0.869903114396242
+1463 -0.4453830178859 -0.25983345957818 0.874268574673986
+1464 -0.44109811861303 -0.257519450958521 0.877120962087936
+1465 -0.443503389424541 -0.260972445352889 0.874884636015216
+1466 -0.437528915724428 -0.258475661746724 0.878626075295742
+1467 -0.435224203486675 -0.267479542953312 0.877074447695791
+1468 -0.426533290739619 -0.267190516153587 0.881421340772057
+1469 -0.425520382843334 -0.258578055772968 0.88447430310752
+1470 -0.414540592474442 -0.261849073135144 0.888716017684617
+1471 -0.421188559579863 -0.264446750164067 0.884812473695248
+1472 -0.415220587760762 -0.264320966771338 0.887666204169491
+1473 -0.418305567396771 -0.267671896320102 0.885210262144122
+1474 -0.409839256883923 -0.273173813253603 0.887486817518615
+1475 -0.414772676917761 -0.272061108248521 0.885534516470737
+1476 -0.412565674321085 -0.277724142668151 0.884807247343301
+1477 -0.417279017993976 -0.274549591920397 0.883586862010932
+1478 -0.412899619595993 -0.278032726764746 0.884554524597124
+1479 -0.416816896748663 -0.281686683025522 0.881556173587874
+1480 -0.411433502319774 -0.289396381618842 0.881587889818596
+1481 -0.413657161307244 -0.297768620003165 0.877750876866918
+1482 -0.39700388003416 -0.316799258790472 0.87877821369651
+1483 -0.396165049748713 -0.328727393536936 0.874766571204005
+1484 -0.392663162489828 -0.329483511886282 0.876060075690343
+1485 -0.494846531320293 -0.180109405695216 0.867705314274604
+1486 -0.498673979430333 -0.192572278087672 0.862823956523717
+1487 -0.486918414922864 -0.191419502624285 0.869766653318048
+1488 -0.493213321715793 -0.197381098945446 0.864873586751938
+1489 -0.482518087153332 -0.206388966280037 0.868795079502495
+1490 -0.493900269445218 -0.204216711944019 0.862892263498007
+1491 -0.506078664995561 -0.210649850582792 0.854245881046996
+1492 -0.529859049524965 -0.192852919990267 0.843968091154949
+1493 -0.273736765311328 -0.229692416765741 0.950018198245278
+1494 -0.277497210378248 -0.212009189581298 0.953033263724499
+1495 -0.392663162489828 -0.329483511886282 0.876060075690343
+1496 -0.387279692840426 -0.330592793170785 0.878036357229565
+1497 -0.386518339103367 -0.337347787093149 0.875799659785347
+1498 -0.39179536305201 -0.336997173721357 0.873587029662621
+1499 -0.387985282488394 -0.33131218140533 0.877453508184247
+1500 -0.39538713449061 -0.333383500769562 0.873355285833856
+1501 -0.39095254766669 -0.36858255245773 0.861120205021732
+1502 -0.384863801898493 -0.37115271404451 0.862757507556806
+1503 -0.383764679597342 -0.357265744113577 0.869086220565325
+1504 -0.382137246356217 -0.365983023736401 0.866171202063453
+1505 -0.378339894163404 -0.362992412916368 0.869091728558946
+1506 -0.384140915523247 -0.371985524032805 0.862721001790846
+1507 -0.380209503297821 -0.379003678831013 0.86140695669038
+1508 -0.368527051868185 -0.364051922624203 0.872856809376524
+1509 -0.376544320633538 -0.379407395603823 0.862837993345072
+1510 -0.374321170712413 -0.385635985885617 0.861042128787271
+1511 -0.367883072997423 -0.384792811029919 0.86418836903864
+1512 -0.375171270483663 -0.387742095067961 0.859725296543019
+1513 -0.370933308484027 -0.395889095112061 0.857849232108094
+1514 -0.375024392153182 -0.393965829282829 0.856955442626762
+1515 -0.373015241770928 -0.401496511018633 0.854333179179201
+1516 -0.37611473280981 -0.394090777971446 0.85641997085616
+1517 -0.375565689980552 -0.40194245828598 0.853005083652176
+1518 -0.38096209957345 -0.400427286583369 0.851323009701998
+1519 -0.37545535164958 -0.424509418836798 0.842051086476666
+1520 -0.38695960601472 -0.426966592371957 0.835575725060997
+1521 -0.373335969938807 -0.429004890300964 0.840714016564317
+1522 -0.374205240695403 -0.434976937342886 0.837251755337604
+1523 -0.384818220677157 -0.444763665660498 0.827239517155161
+1524 -0.373900279783701 -0.443423629554208 0.832946015976211
+1525 -0.366491834117976 -0.437806649192123 0.839186554615842
+1526 -0.376561261148536 -0.446042037393765 0.830345179717353
+1527 -0.373450313012158 -0.450446584314191 0.829371893899714
+1528 -0.382610061977347 -0.448882316583536 0.826038259605624
+1529 -0.382273166202647 -0.455769238170198 0.822415118987462
+1530 -0.3826979752205 -0.44890610077398 0.825984607877187
+1531 -0.385685056583747 -0.45175477177888 0.823036854158429
+1532 -0.379604611439668 -0.459548612950705 0.82154757093477
+1533 -0.386526657161896 -0.458836339127074 0.818713232578852
+1534 -0.385345088546177 -0.470548303530691 0.81259981342462
+1535 -0.374570458539587 -0.46777454698825 0.81921239296008
+1536 -0.379283059046976 -0.472239108534648 0.814468897804188
+1537 -0.374402780249592 -0.477133304404819 0.813874294943091
+1538 -0.381106816669409 -0.470812508817685 0.814443476141166
+1539 -0.378549786184063 -0.487461034815769 0.805795755087069
+1540 -0.387344125301295 -0.488513959150672 0.80096419414947
+1541 -0.381970522482029 -0.48856593387047 0.803509084090579
+1542 -0.383575980228886 -0.4931510614065 0.799935308650075
+1543 -0.372057640634457 -0.493665450314568 0.805041946243322
+1544 -0.38700567683823 -0.497148577500305 0.795798277193666
+1545 -0.388113901137873 -0.50255940187125 0.791850141967754
+1546 -0.38247290458152 -0.503050284010439 0.794279477903082
+1547 -0.390214843541506 -0.503388408014674 0.790289495410593
+1548 -0.383600601892 -0.507929163938354 0.790622250287064
+1549 -0.391596686817212 -0.505098197457254 0.788513060005486
+1550 -0.381291940739861 -0.512344393855445 0.788888254451622
+1551 -0.390588573737098 -0.508455087759835 0.786853855424981
+1552 -0.37914679172539 -0.518171211036182 0.786111510141939
+1553 -0.383498896030025 -0.516645385688051 0.785003912213816
+1554 -0.381461046040868 -0.520761664603221 0.7832750213259
+1555 -0.372804307293425 -0.521939079351473 0.786652112378277
+1556 -0.382670674485313 -0.520962048257165 0.782551403528647
+1557 -0.378945933964594 -0.527223128450096 0.780167130786087
+1558 -0.37440162089238 -0.525434662271582 0.783560362675848
+1559 -0.377700790488995 -0.527644697833835 0.780485865158255
+1560 -0.37345047155274 -0.53101158084984 0.780247682662621
+1561 -0.366786298452757 -0.527304163937396 0.785902748412047
+1562 -0.373922624671861 -0.532413283410632 0.779065444238426
+1563 -0.36560016917403 -0.535146881198451 0.781139764602655
+1564 -0.373811393319408 -0.537683890616763 0.775490861323216
+1565 -0.37369701063169 -0.537939930806127 0.775368412491273
+1566 -0.376227834184436 -0.536172958750859 0.775368412491273
+1567 -0.377208256185822 -0.529901688228142 0.779193899025279
+1568 -0.400486486900057 -0.504708867037745 0.784286002261883
+1569 -0.399987724680904 -0.51107782392806 0.780406482541984
+1570 -0.392995706347735 -0.513663926628147 0.782258745731359
+1571 -0.401570164859593 -0.515505393564483 0.776672770155209
+1572 -0.393861427340237 -0.520872625571476 0.777039177895033
+1573 -0.393404978826962 -0.523699673042594 0.775368412491273
+1574 -0.227377172490199 -0.265051352882778 0.953033263724499
+1575 -0.24554749242551 -0.26312402821699 0.949050670269195
+1576 -0.252232629856643 -0.25932216385854 0.948343669651106
+1577 -0.24817315486208 -0.252551651760403 0.951237482650307
+1578 -0.260723086189488 -0.251786149608322 0.948078165128406
+1579 -0.264291397375951 -0.261583786337532 0.944430505647921
+1580 -0.273736765311328 -0.229692416765741 0.950018198245278
+1581 -0.179194660622402 -0.310374253212279 0.949622080907633
+1582 -0.186049400420026 -0.29913355517985 0.951908470793706
+1583 -0.203420388662659 -0.297377374076922 0.948900333472092
+1584 -0.197753547444822 -0.287830041357078 0.953033263724499
+1585 -0.366386709278865 -0.542945304956739 0.775368412491273
+1586 -0.363639692685703 -0.542133475154515 0.777227424259036
+1587 -0.363767041916727 -0.544703923361964 0.775368412491273
+1588 -0.215133985741099 -0.275081744966432 0.953033263724499
+1589 -0.236135830171272 -0.272785390364181 0.948711231362413
+1590 -0.224444424857368 -0.267539339883079 0.953033263724499
+1591 -0.198987522081736 -0.286978334182912 0.953033263724499
+1592 -0.209281319255601 -0.293781022923415 0.948746035554672
+1593 -0.209511269074263 -0.279387949571059 0.953033263724499
+1594 -0.2143458375135 -0.371257876860512 0.92002633158495
+1595 -0.224872765819339 -0.371645674397559 0.917353111890042
+1596 -0.213532480278838 -0.363840892842796 0.923173160659106
+1597 -0.22934810100634 -0.36646413611148 0.918329181453389
+1598 -0.236587561122135 -0.357566831413341 0.919998525539744
+1599 -0.236566214174033 -0.357521009117037 0.920021822758189
+1600 -0.222725759417983 -0.35450525265388 0.924631960259049
+1601 -0.225105392819949 -0.349482702659626 0.925966739502613
+1602 -0.214578202021082 -0.353906337266794 0.926785573722316
+1603 -0.223901757263011 -0.344673098511434 0.928058973480168
+1604 -0.237722266702928 -0.342164927838106 0.925546479692493
+1605 -0.235124838834905 -0.336092613184674 0.92843043117164
+1606 -0.199270485090068 -0.345146600809749 0.933482778481448
+1607 -0.203283800922432 -0.352097867661386 0.930014939595507
+1608 -0.207290723680169 -0.352584929540763 0.928945328497262
+1609 -0.204594817558569 -0.354368615059643 0.928864277108817
+1610 -0.0673275420234186 -0.381833453459254 0.938027300191452
+1611 -0.0821149357744715 -0.37925179178213 0.937896697804613
+1612 -0.0879178921377548 -0.369498345150685 0.941257890895454
+1613 -0.0982992359726712 -0.366934585052761 0.941233908494242
+1614 -0.10225625294473 -0.352220711187266 0.946419161547588
+1615 -0.121897571798696 -0.357846546403154 0.941972309156122
+1616 -0.114550167216173 -0.361984497302613 0.941313169409268
+1617 -0.101080173466877 -0.3586188683602 0.944139982093734
+1618 -0.119507384350916 -0.367173448428681 0.938683463077194
+1619 -0.116245006804147 -0.379178574265001 0.934310284226533
+1620 -0.117924896574051 -0.384131796139113 0.932073753499656
+1621 -0.121875106395131 -0.380440403980107 0.933079073530549
+1622 -0.121143808754015 -0.391183215300552 0.928722170332814
+1623 -0.126472561907977 -0.377198851119843 0.933783014301665
+1624 -0.121583642909188 -0.37499752042487 0.935317741439844
+1625 -0.130963141133987 -0.359116042031695 0.940270878002615
+1626 -0.14446647317942 -0.359988764002004 0.937956570380212
+1627 -0.163592966089408 -0.349265319012014 0.938869574744813
+1628 -0.161797352089883 -0.34307498967855 0.941459594626219
+1629 -0.152208577734399 -0.343656281952321 0.942845644174473
+1630 -0.15540399916624 -0.333599314499056 0.945931337047726
+1631 -0.167422314599384 -0.32759474365164 0.945979097288096
+1632 -0.179194660622402 -0.310374253212279 0.949622080907633
+1633 -0.160227853162399 -0.310289595870692 0.953033263724499
+1634 -0.160230609695198 -0.321372880905439 0.94935273904658
+1635 -0.146223090813034 -0.335393257591558 0.946760355356732
+1636 -0.146217355914593 -0.335412062304159 0.946754579228543
+1637 -0.147581136796314 -0.34453185373058 0.943261686822314
+1638 -0.120650657939574 -0.350176536833167 0.945010482370581
+1639 -0.102137104684511 -0.34274319233699 0.949905319467848
+1640 -0.0959185877566867 -0.354874356374572 0.946091335818321
+1641 -0.0746193404022562 -0.358056672576781 0.946811688384325
+1642 -0.0760601348519943 -0.34910672408827 0.95003386838715
+1643 -0.0830072516278587 -0.354571213810619 0.947424957721747
+1644 -0.082807177519849 -0.344334199575492 0.9512107707306
+1645 -0.0777017190244664 -0.348302751949605 0.950196103888547
+1646 -0.0694488486460834 -0.343345292702167 0.952636272352148
+1647 -0.0674079673330794 -0.348309114886911 0.950979456364184
+1648 -0.0664602542552714 -0.342834701917634 0.953033263724499
+1649 -0.209941762672004 -0.449770590052001 0.885356353459129
+1650 -0.227611915377606 -0.433831122981763 0.888936652810829
+1651 -0.215350347212542 -0.442297492462412 0.887818763102527
+1652 -0.208262705616799 -0.435731204248017 0.892742943457826
+1653 -0.200507047175018 -0.437521622295913 0.89364240838084
+1654 -0.204554039868228 -0.419546596002086 0.901311987358789
+1655 -0.189682869485958 -0.440036961519931 0.89476973659142
+1656 -0.164318771978305 -0.434490021896126 0.902464825934089
+1657 -0.151093413579815 -0.441282608617734 0.901479583631447
+1658 -0.171087082731652 -0.436764712134505 0.900105991734549
+1659 -0.174806159282276 -0.439916475953116 0.897853719077874
+1660 -0.163357377691272 -0.438903008760653 0.900501813465512
+1661 -0.157814439418777 -0.44117103758878 0.900381984661941
+1662 -0.166869140035674 -0.439956779953546 0.899342938970814
+1663 -0.15968966025061 -0.442343527071289 0.899475634170919
+1664 -0.169999486465236 -0.441435442289258 0.898031138041685
+1665 -0.199088831658944 -0.452635212691921 0.886402843711602
+1666 -0.210021027450515 -0.449837975914929 0.885303317204556
+1667 -0.209941762672004 -0.449770590052001 0.885356353459129
+1668 -0.204594817558569 -0.354368615059643 0.928864277108817
+1669 -0.195892574727446 -0.359919898658199 0.928605818265492
+1670 -0.187276501661442 -0.358165999675242 0.931058337915561
+1671 -0.195757293968351 -0.371176815486223 0.924192541359047
+1672 -0.207293191371614 -0.363556329352157 0.924706076652985
+1673 -0.209682036821668 -0.370989344772425 0.921208635163416
+1674 -0.2143458375135 -0.371257876860512 0.92002633158495
+1675 -0.199270485090068 -0.345146600809749 0.933482778481448
+1676 -0.197880517653644 -0.345420994469124 0.933676944833215
+1677 -0.194076444285786 -0.350801511932102 0.932468569443248
+1678 -0.203283800922432 -0.352097867661386 0.930014939595507
+1679 0.110961135781125 -0.629291892588379 0.788609117540939
+1680 0.103822678671353 -0.629117984871748 0.789719198515787
+1681 0.103505201271819 -0.623131718684426 0.794492627076597
+1682 0.0819725560833206 -0.608762567091878 0.808030715354852
+1683 0.0777995407793491 -0.57739102265083 0.831138880342359
+1684 0.0485581986118737 -0.579355579428546 0.831994118929084
+1685 -0.00771658149268979 -0.55055844890785 0.852672767658407
+1686 -0.0273113590040351 -0.556034433038342 0.848707722920607
+1687 -0.0233085251239364 -0.549703642787266 0.85294057106164
+1688 -0.0293365393331031 -0.528529025875861 0.866037779930339
+1689 -0.0387288515555403 -0.527134650894696 0.866518399044888
+1690 -0.0396652447963848 -0.532879379569481 0.862954943890402
+1691 -0.0454259185162771 -0.522476296675087 0.869010935109357
+1692 -0.0416406519112009 -0.500388674797553 0.882101031766066
+1693 -0.0274847414136679 -0.482385395926906 0.892621934967916
+1694 -0.0304665108021229 -0.478783840824757 0.894462310824015
+1695 -0.0151736770530868 -0.469775871453656 0.899614022859052
+1696 -0.0195057186455394 -0.465392288712048 0.901806267746839
+1697 -0.011289254706456 -0.466594756662497 0.901325072203829
+1698 -0.00505817167042082 -0.460731485250356 0.904392565979151
+1699 -0.013554956563018 -0.452189379717237 0.908606640974803
+1700 -0.0195557473877452 -0.454637186819222 0.907274821156859
+1701 -0.0175416316890356 -0.45107998977122 0.909089728236813
+1702 -0.0308999353537086 -0.447614950533356 0.910445522837121
+1703 -0.0294835920671424 -0.442961452135761 0.912765506425717
+1704 -0.00517535624248993 -0.456174167071886 0.90669914800006
+1705 0.000155253872474332 -0.44477642585898 0.912358979183274
+1706 0.0146546237386302 -0.444803723323894 0.912227981219761
+1707 0.0231208509808382 -0.428437541439745 0.919854172863823
+1708 -0.00671434652380627 -0.41630978223996 0.9256706124546
+1709 0.00129014903158933 -0.415280813748963 0.926156132219333
+1710 0.0197779003825923 -0.425705298673393 0.921199670721746
+1711 0.0297994196766509 -0.411493427456952 0.927367324066718
+1712 0.02289682240156 -0.405727978720613 0.930099748848045
+1713 0.0445346517700999 -0.410415460501217 0.927254449745748
+1714 0.0336588261689324 -0.398911806492743 0.932717242288157
+1715 0.0424593441773131 -0.397959441065144 0.932764968981549
+1716 0.0474270876687226 -0.406790866261834 0.928707091865465
+1717 0.0599605184788832 -0.386785560982546 0.936497018702761
+1718 0.0480369027907002 -0.372100745155498 0.943111070566452
+1719 0.0566440314061785 -0.367510241873323 0.944432462288473
+1720 0.050927465698972 -0.364305251582564 0.945998455023498
+1721 0.0547050536215299 -0.358419516639436 0.94803365298929
+1722 0.0419230166488972 -0.354470809550363 0.950167304137417
+1723 0.0459391923272247 -0.351216241395352 0.951189645858513
+1724 0.0273231787159766 -0.350458171415054 0.952185651012066
+1725 0.0341421845407213 -0.368811424036235 0.945006584493014
+1726 0.028269214604331 -0.369160054573695 0.945064392310281
+1727 0.0239333558296631 -0.392656532641339 0.935667164034739
+1728 0.0173213302872631 -0.396723737361401 0.93409595210079
+1729 0.0113682136835913 -0.367047703166372 0.946240850586115
+1730 0.00422452784749202 -0.361788831178862 0.94832272723936
+1731 -0.0016419815464156 -0.379346403993694 0.941444958387719
+1732 -0.00896330559827874 -0.359813089827965 0.949041200128427
+1733 -0.00218211617839329 -0.358236076716978 0.949677393490764
+1734 -0.0177808637563155 -0.353933437388449 0.951125629337406
+1735 -0.0157623803243188 -0.348861212520309 0.953033263724499
+1736 -0.0372062011882414 -0.347229458467695 0.953033263724499
+1737 -0.0378781842666198 -0.349469892932916 0.952187501015488
+1738 -0.0209634787918396 -0.358993496919262 0.94916236847371
+1739 -0.0267872838902594 -0.359532426685399 0.948811823062661
+1740 -0.0297764996063307 -0.368798721510611 0.945159173411195
+1741 -0.0243726836060188 -0.364829903298826 0.946852741429632
+1742 -0.0224764591988207 -0.37217706484792 0.944036038074326
+1743 -0.0363430370835211 -0.379659285963747 0.940618419039859
+1744 -0.0366184664071847 -0.394435665186535 0.934507674632392
+1745 -0.0439209982227252 -0.388746752846554 0.93657456086869
+1746 -0.0386819759503258 -0.37547133080584 0.942204852714881
+1747 -0.0443940631930104 -0.379738829339573 0.940240707821686
+1748 -0.041829663649142 -0.374809443906911 0.942333889869823
+1749 -0.0475546709724822 -0.371016750158346 0.943562464477386
+1750 -0.0567274548609597 -0.371539538710291 0.942849599374122
+1751 -0.0538590882501337 -0.380002516186087 0.939639444843131
+1752 -0.0480739741196552 -0.380224455265896 0.939863424455966
+1753 -0.0496712060433298 -0.387154646219001 0.936946664010946
+1754 -0.0566894006616503 -0.376440746346842 0.940905774422952
+1755 -0.0598664058277267 -0.382910967258231 0.938093920994393
+1756 -0.0673275420234186 -0.381833453459254 0.938027300191452
+1757 0.0713855867248557 -0.450710872541081 0.906635983943504
+1758 0.0772529891886494 -0.444287705264421 0.909321401162588
+1759 0.0702841618732806 -0.439830906030685 0.912049291809383
+1760 0.0624015764991086 -0.443336558847502 0.910924661451034
+1761 0.0623658514341901 -0.434130776302816 0.915350189622312
+1762 0.0405340307681766 -0.421656258486577 0.922381695410737
+1763 0.0379611590427643 -0.426186550240632 0.920406961511113
+1764 0.0319948404984879 -0.415336253930376 0.925579346329939
+1765 0.0297180207228862 -0.444960041125395 0.911785282314867
+1766 0.0224615560434733 -0.453580973565848 0.907736073382105
+1767 0.0340432115032216 -0.450656224945038 0.908831682254109
+1768 0.0385350442652594 -0.459960640786718 0.903978019251877
+1769 0.0541363951622231 -0.441160192171768 0.912508594787911
+1770 0.0591538532734547 -0.44895483877561 0.908386137269206
+1771 0.0713271245906308 -0.450749081373312 0.906621589715769
+1772 0.0713855867248557 -0.450710872541081 0.906635983943504
+1773 0.0271622795720539 -0.348159171648656 0.953033263724499
+1774 0.0503447697731992 -0.347691892946505 0.952260863280519
+1775 0.0478591286996941 -0.345922103998479 0.953033263724499
+1776 0.0490965030548452 -0.345748653825888 0.953033263724499
+1777 0.0557670569376072 -0.349454079444325 0.951313240589154
+1778 0.0518888210970868 -0.345340626743774 0.953033263724499
+1779 0.0602207023160307 -0.343985559649228 0.953033263724499
+1780 0.0606586245912097 -0.344012166080438 0.952995887111454
+1781 -0.0898904785442257 -0.606174590307387 0.809133529111705
+1782 -0.0975010394557734 -0.600926258995884 0.812161423951086
+1783 -0.0930582292314464 -0.593715033396352 0.817965540283621
+1784 -0.0827773206426666 -0.597770085824448 0.816115089727333
+1785 -0.0826807312810044 -0.587485539799903 0.823559127932448
+1786 -0.0804533477722104 -0.592553120830489 0.820142096118893
+1787 -0.0695917758227821 -0.634619133283418 0.789075750741609
+1788 -0.075361264847327 -0.645212544284017 0.779901565878128
+1789 -0.0741024050185438 -0.628625810049152 0.79345032894978
+1790 -0.0802870222095976 -0.630316640234644 0.791504849705942
+1791 -0.0815262995320203 -0.620341307438511 0.799221574264668
+1792 -0.0877126004537725 -0.622137756216774 0.797167555794385
+1793 -0.0952140465978829 -0.608163053773762 0.807029730155605
+1794 -0.0909454888534859 -0.606719412487985 0.808607118795917
+1795 -0.0898904785442257 -0.606174590307387 0.809133529111705
+1796 0.0727076677339659 -0.341564332574869 0.953033263724499
+1797 0.0757287772136681 -0.345209821340579 0.951483227152075
+1798 0.078640849294447 -0.340441184488567 0.952964016490796
+1799 0.0787595373103294 -0.346353607132245 0.950821284000913
+1800 0.084628708694158 -0.344442583067894 0.951011192696635
+1801 0.0900895978893061 -0.350570992284308 0.948266230402063
+1802 0.0856686000791566 -0.360912148707591 0.944790088789963
+1803 0.0916693759167158 -0.353745936559453 0.946934811846473
+1804 0.101597339240662 -0.35978027581828 0.943642481976803
+1805 0.10449367554369 -0.35643968478047 0.944593469639172
+1806 0.120881965749213 -0.375444843840512 0.935229233712345
+1807 0.117638407623067 -0.384898031028692 0.931793813438437
+1808 0.124570381295545 -0.384575478818703 0.931025736054191
+1809 0.117470830416909 -0.385939635679591 0.931384024778537
+1810 0.1105209403166 -0.397394216040361 0.927409272548642
+1811 0.120652265052988 -0.406585483694516 0.922147642943623
+1812 0.104861724505224 -0.414500770981876 0.920553164998753
+1813 0.0926058529297723 -0.41348114484775 0.922324508434284
+1814 0.0913659109667231 -0.430952248101973 0.914416442420562
+1815 0.118202877352678 -0.425101966948778 0.914079535643276
+1816 0.114909405456853 -0.417375138863354 0.91805164451481
+1817 0.125063840905715 -0.424301566713059 0.913538294863852
+1818 0.125632966055088 -0.418332027037405 0.916209404554972
+1819 0.134220750822063 -0.429349127910161 0.909873132041795
+1820 0.146255295697728 -0.429622116543121 0.9078872316854
+1821 0.140072680262195 -0.434217447601281 0.906675163684764
+1822 0.145250588901772 -0.437684842813969 0.904189827853974
+1823 0.195144271426919 -0.438260044703937 0.894467353538048
+1824 0.195128973769209 -0.43824627243549 0.894477438671414
+1825 0.161842119142832 -0.421239527368838 0.909169615117793
+1826 0.173657725850529 -0.423168825711053 0.906088372731242
+1827 0.169585225499111 -0.417951919986473 0.909275559922313
+1828 0.198999464204367 -0.424779772967219 0.900103526114798
+1829 0.188125437976082 -0.409315089018931 0.909557572387659
+1830 0.197666297518912 -0.414732653241332 0.905068981437642
+1831 0.191966783206031 -0.40449973420144 0.910908183724624
+1832 0.182307640089984 -0.403222390497048 0.913455323574539
+1833 0.185874672919785 -0.399337160611407 0.914442692639502
+1834 0.178591573791966 -0.395297334770337 0.917643758162162
+1835 0.175794027664106 -0.400735998025081 0.915823192392764
+1836 0.170504315690275 -0.395469535944832 0.9191066991762
+1837 0.172171783106178 -0.400374562144847 0.916669017197244
+1838 0.16219932372906 -0.388054320869183 0.92375874742088
+1839 0.157373578485056 -0.394180124065679 0.921998148906154
+1840 0.15261793167263 -0.384821197381979 0.926739128869321
+1841 0.161212689911925 -0.38225794887998 0.926344606034618
+1842 0.152050579253422 -0.375206668651391 0.930766123764839
+1843 0.160129026781411 -0.372477370131513 0.930507551566321
+1844 0.168251750430817 -0.377633523804255 0.926989358178478
+1845 0.169685921408178 -0.372014808217228 0.928997669826441
+1846 0.170057834678629 -0.379724459371898 0.925804875672588
+1847 0.177157213199988 -0.369061117827807 0.928781036153788
+1848 0.173902076687227 -0.381610936069285 0.924313886726903
+1849 0.193097169890005 -0.387920150004772 0.917854258692928
+1850 0.185560941561996 -0.372649900427263 0.925701997771516
+1851 0.193725992046748 -0.37496784185586 0.923089571807342
+1852 0.187722881182635 -0.367617597087364 0.927276885397346
+1853 0.195231743470697 -0.366390370082752 0.926211456985939
+1854 0.18667376334985 -0.364729733517046 0.928628088938402
+1855 0.195354775530624 -0.360443572563998 0.928515989455583
+1856 0.18896909952169 -0.35838147125871 0.930633332996623
+1857 0.194200631531219 -0.354597166245772 0.931005888490156
+1858 0.186679797672563 -0.351493130209929 0.933717426503413
+1859 0.185300198557919 -0.359535886012938 0.93092576668781
+1860 0.182295564181857 -0.355349288389666 0.93312389880475
+1861 0.177446238860277 -0.360777317032868 0.931975085412108
+1862 0.177884272652568 -0.350902238196271 0.935654746566122
+1863 0.176736227568699 -0.359381259844539 0.932649138710446
+1864 0.176248496095805 -0.353499799950192 0.934986288166378
+1865 0.170272814451941 -0.360540608648396 0.93340379160043
+1866 0.173193268927691 -0.354439167738804 0.935201565423606
+1867 0.167283162404047 -0.35541431105478 0.935907052582444
+1868 0.172689091509679 -0.353297939334527 0.93572647912493
+1869 0.165803332640346 -0.348082842623209 0.938920970879179
+1870 0.162697415018543 -0.352594210359599 0.937780290882238
+1871 0.163456814903242 -0.34613950266058 0.940050165873914
+1872 0.162368002148769 -0.353712363964979 0.937416233834535
+1873 0.156924508666143 -0.349238079233337 0.940017267178268
+1874 0.158043898433225 -0.355523353847195 0.93747014407781
+1875 0.155693088621562 -0.348709186788858 0.940418292678599
+1876 0.15479452634908 -0.353872875278688 0.938636054471784
+1877 0.152804481168209 -0.348329559754152 0.941032575597887
+1878 0.151413648381165 -0.352390901180031 0.939744411980955
+1879 0.147176676854264 -0.347046456827282 0.942402664784945
+1880 0.142310677122756 -0.350170847059696 0.941994187373976
+1881 0.148504854251617 -0.344394149145739 0.943166993855218
+1882 0.129762308412916 -0.345373446900421 0.945570687728566
+1883 0.139733426029058 -0.341996746098913 0.945377065148048
+1884 0.134940845374625 -0.3373761874843 0.947730592715113
+1885 0.131183346549738 -0.341958357889993 0.946615239184955
+1886 0.135180474702368 -0.336000842463574 0.948184936140103
+1887 0.128752649992188 -0.336113300459615 0.949039306021691
+1888 0.14359400397573 -0.333437571378973 0.947852914757933
+1889 0.138592419136889 -0.330198330077669 0.949729542644486
+1890 0.121688532070239 -0.335465538266639 0.950199859923198
+1891 0.137118285882105 -0.326287160725564 0.951293994736855
+1892 0.135173218355723 -0.322493580057782 0.952864676573159
+1893 0.134590667197444 -0.322238964959198 0.953033263724499
+1894 0.290578476758073 -0.503296692285066 0.832154786310737
+1895 0.28632562129319 -0.510142809480206 0.829455817103425
+1896 0.283931523270401 -0.498249590713278 0.837469542996879
+1897 0.282547241157383 -0.502876123079948 0.835169241142436
+1898 0.281312587762713 -0.499147568092806 0.837818556271752
+1899 0.27011071634528 -0.502763632040093 0.839341367509843
+1900 0.272059867501897 -0.497360200097899 0.841927110772321
+1901 0.265896373180046 -0.500647363484144 0.841947941482175
+1902 0.269391933757711 -0.497835307401249 0.842504001611259
+1903 0.262486165651596 -0.498355200576695 0.844374387875239
+1904 0.266983805999043 -0.494828479794202 0.845038119210503
+1905 0.257803340473424 -0.496059731146834 0.847164199417843
+1906 0.266242915009184 -0.493888395759463 0.845821472145013
+1907 0.265479461935535 -0.486176503803576 0.850516350483487
+1908 0.252819513257981 -0.48634548271805 0.854268906817839
+1909 0.257232899780803 -0.481592567096707 0.855642936386179
+1910 0.248551604286043 -0.48112716237839 0.858465930383118
+1911 0.248775797806832 -0.476877345647899 0.86076919068551
+1912 0.242579836784757 -0.483492998465951 0.8588448889176
+1913 0.245741002376789 -0.473233087756534 0.863647384297126
+1914 0.238291290076396 -0.480203039270438 0.8618858985673
+1915 0.241776855225778 -0.471519225747604 0.865701202510146
+1916 0.236999549549629 -0.467920529929365 0.868968694018314
+1917 0.229749153860248 -0.472121711826967 0.868643434052243
+1918 0.234226149988546 -0.466883678615219 0.870277393308745
+1919 0.217823793375286 -0.460788989205273 0.877753554516746
+1920 0.219013580325454 -0.456441771765235 0.879726639713064
+1921 0.214347822164389 -0.456504614840764 0.880842521545406
+1922 0.212836538027271 -0.467827528936833 0.875250256354959
+1923 0.21943832582706 -0.470887380375326 0.871972990499981
+1924 0.214095683123708 -0.475230501385649 0.870944320275721
+1925 0.219109660277819 -0.476707276233729 0.868887869381751
+1926 0.214067377780955 -0.482774745363496 0.866792191363765
+1927 0.21840824159671 -0.489885491386357 0.861704732104785
+1928 0.211400318522061 -0.483347244472043 0.867127641463501
+1929 0.205216064659457 -0.499747259155066 0.859281120339953
+1930 0.199090694965867 -0.492964930747185 0.864623312334008
+1931 0.196445704936327 -0.503467688691208 0.859159107183298
+1932 0.19505245473753 -0.491367969070484 0.866450840424551
+1933 0.178615069692392 -0.497648036566921 0.866411039045481
+1934 0.180692354012596 -0.492326814784954 0.869016444404298
+1935 0.184599909342884 -0.494945909721202 0.866704344007142
+1936 0.184485408916811 -0.486633269237783 0.871423086203105
+1937 0.180044206581749 -0.488319873930194 0.87140850604131
+1938 0.176986517959904 -0.47891907651192 0.877232745976459
+1939 0.16688077714795 -0.481243731686788 0.877940930205826
+1940 0.177268371416456 -0.477093525199796 0.878170081879239
+1941 0.172817893619301 -0.462320852248285 0.886915105983322
+1942 0.171073387513421 -0.467404177313019 0.88458590940339
+1943 0.155209913028138 -0.467122565384859 0.887654995933705
+1944 0.153460485594394 -0.460085643067353 0.891625527003592
+1945 0.147895578622701 -0.462609562594136 0.891259945481854
+1946 0.132356670505247 -0.45247794139841 0.898871750763491
+1947 0.127306754228553 -0.460050936409215 0.895751710150081
+1948 0.102274071901797 -0.458600519150112 0.899694713806785
+1949 0.0971795204638966 -0.464969432239088 0.896986381103786
+1950 0.105399481356996 -0.474759680232564 0.89090919590896
+1951 0.101602718138067 -0.487492306337796 0.884450755513506
+1952 0.107514554339425 -0.485327590036727 0.884942230292089
+1953 0.112889143188214 -0.496722916431757 0.877922197943394
+1954 0.104797626636978 -0.519785148634606 0.865485907863414
+1955 0.12148991117729 -0.526314450765821 0.859335964799104
+1956 0.131570833458354 -0.549129620096995 0.843427991066934
+1957 0.124403908756654 -0.567284750590087 0.832428182628393
+1958 0.104893026405684 -0.580702722329164 0.825837030709422
+1959 0.113546534034505 -0.585893135616566 0.821012434891299
+1960 0.125459011045864 -0.61151376667597 0.800334898472609
+1961 0.119866160769456 -0.619312145389229 0.795178954749044
+1962 0.123455217739589 -0.626939428053161 0.78862586995688
+1963 0.117256068143393 -0.621213925883951 0.794083920484102
+1964 0.113712404433518 -0.629339672496324 0.788178955377627
+1965 0.110961135781125 -0.629291892588379 0.788609117540939
+1966 0.302892652163448 -0.524625470035193 0.814401103545265
+1967 0.297844730521571 -0.532319381758268 0.8112641939005
+1968 0.302735969551464 -0.524354087786825 0.814634103976123
+1969 0.125085627944164 -0.326046291063773 0.953033263724499
+1970 0.121467989224722 -0.334147858378948 0.950692240598641
+1971 0.12427718207183 -0.326355297568331 0.953033263724499
+1972 0.0606586245912097 -0.344012166080438 0.952995887111454
+1973 0.0682235963592996 -0.344396610687275 0.952345271131705
+1974 0.0667534223462196 -0.34277773970854 0.953033263724499
+1975 0.258915451221985 -0.601657389241816 0.775368412491273
+1976 0.260179836046604 -0.597146720747558 0.778426134463123
+1977 0.325715674996342 -0.56415610571027 0.778371497070325
+1978 0.223063967626066 -0.268691392831155 0.953033263724499
+1979 0.227344802414492 -0.28229550172064 0.948076257757469
+1980 0.233396712824789 -0.277875480459393 0.947911489434559
+1981 0.23446842839943 -0.283141803694433 0.946086822170441
+1982 0.228323940861105 -0.283005391128006 0.947629213681247
+1983 0.237129872757869 -0.289303784854059 0.94355590375714
+1984 0.227575836508233 -0.293918269400109 0.944482021824885
+1985 0.224582685499741 -0.303196092735336 0.942263098462287
+1986 0.236437245856118 -0.289921370695738 0.943540156848598
+1987 0.236456486843611 -0.296639040174962 0.941444958387719
+1988 0.244957429941869 -0.295377686697719 0.939666366173323
+1989 0.226512162734083 -0.304254945431891 0.941459594626219
+1990 0.235554082004976 -0.302234154992426 0.939890307433164
+1991 0.22872848031635 -0.305825563529491 0.940414274128186
+1992 0.231534675037081 -0.315069472022046 0.936668523040687
+1993 0.237728038698086 -0.300045704807185 0.940044123774794
+1994 0.236073403745173 -0.305090982679044 0.938836428954535
+1995 0.24608016464057 -0.295942273749608 0.939195252957755
+1996 0.231577951704516 -0.316503865640042 0.936174105238577
+1997 0.245096572234418 -0.307610343464408 0.93569682422922
+1998 0.233597717915496 -0.320142862986041 0.934433332808592
+1999 0.245875377509317 -0.317357889817072 0.932230802165164
+2000 0.240735206947465 -0.325251851589572 0.930850575105111
+2001 0.248015414428897 -0.322252328888482 0.929982145383239
+2002 0.241373767889627 -0.3273316100355 0.929955763058831
+2003 0.246141985766105 -0.32756831827277 0.928621623540539
+2004 0.244842934679661 -0.333093893682161 0.926998055731029
+2005 0.251537906240143 -0.31020256227679 0.933128100574213
+2006 0.256196126217565 -0.309105303632682 0.932224466626606
+2007 0.246776666844947 -0.333268340989728 0.926422414233838
+2008 0.256241190732946 -0.325133769142023 0.926743483567736
+2009 0.251071892177299 -0.335663582174322 0.924401354694168
+2010 0.258925002604307 -0.337315722005451 0.921629506208596
+2011 0.261824328762781 -0.326051454754024 0.924858621477198
+2012 0.267655854987415 -0.32427717896668 0.923812564588926
+2013 0.259094685331684 -0.33858775326026 0.921115235665465
+2014 0.26262257785919 -0.335791112150132 0.921139897409493
+2015 0.266308288642696 -0.343446338552184 0.917251060471067
+2016 0.269955094740423 -0.33654956652176 0.918740244083007
+2017 0.267678680664601 -0.344691594970841 0.916384650828524
+2018 0.273567456136886 -0.35017557534334 0.912558443813739
+2019 0.276173721509059 -0.336854209176727 0.916778226894465
+2020 0.269253632920178 -0.332464954909185 0.920431711164125
+2021 0.286160002947442 -0.336808144466004 0.913727380860663
+2022 0.276004897880955 -0.339502870478793 0.915851569460021
+2023 0.28186450631203 -0.338376339001981 0.914482833783714
+2024 0.275246446123463 -0.349236207686165 0.912413538444816
+2025 0.285688574961224 -0.341631236786082 0.912082855988773
+2026 0.277531789960434 -0.350220757463355 0.911343253995525
+2027 0.282889982523828 -0.348182955076455 0.910476187267902
+2028 0.281456676385211 -0.354512163461429 0.908475792344566
+2029 0.288038395330324 -0.34949308007493 0.90835756714813
+2030 0.285737167773042 -0.355932045986999 0.906582400883973
+2031 0.292929314313737 -0.351135831887604 0.906157295606168
+2032 0.287554832317034 -0.356485181062235 0.905790005516813
+2033 0.295241126084456 -0.352528896434664 0.904865213524611
+2034 0.297824538906922 -0.359535047645862 0.901254732880314
+2035 0.299149539106153 -0.352695114354291 0.903515749482647
+2036 0.300979727435188 -0.362763666296895 0.898909743015324
+2037 0.30978575416372 -0.35989227131154 0.897070420628969
+2038 0.310109799549367 -0.365863058441549 0.894539621644143
+2039 0.314558882352911 -0.359786254150209 0.89545047928819
+2040 0.3131011505277 -0.366568439765297 0.893207841717854
+2041 0.315450532075429 -0.360818814120849 0.894721043225068
+2042 0.31615849758953 -0.366156854614941 0.892299255978859
+2043 0.320540432165207 -0.363684110635251 0.891746992716426
+2044 0.317307414118904 -0.368552461896616 0.890904084497943
+2045 0.323786458215494 -0.362976066481609 0.890862337646959
+2046 0.319994725322777 -0.369268742116271 0.889645419176352
+2047 0.328163335626469 -0.363440518912585 0.889069634147438
+2048 0.335204769553689 -0.367856080233738 0.884615547400976
+2049 0.346313305167864 -0.348885625453976 0.88801515472164
+2050 0.344936120649811 -0.360148766173765 0.884045778732399
+2051 0.347309501473864 -0.35215615094594 0.886333546435492
+2052 0.348339622276783 -0.36057768090876 0.882535123143849
+2053 0.351012988606275 -0.353657250842502 0.884274522281522
+2054 0.355091084490755 -0.357666172074494 0.881027940004605
+2055 0.355206183234078 -0.350623436374265 0.883808108843418
+2056 0.35815865389992 -0.360365814072547 0.878683025148675
+2057 0.358076784596856 -0.351488181423599 0.882304978254293
+2058 0.362613163216083 -0.358823109954467 0.877486563786039
+2059 0.362308179898091 -0.351260494868477 0.880666706265024
+2060 0.371388044097793 -0.348013258358683 0.878170081879239
+2061 0.359449189821443 -0.349781062695696 0.882425344216823
+2062 0.367644796548833 -0.341301974245491 0.882369121143015
+2063 0.360728337398846 -0.342665582899797 0.884692243039017
+2064 0.362840732492473 -0.33486669929528 0.886812210418536
+2065 0.35661932977011 -0.339948357413783 0.887402258238049
+2066 0.362887947004959 -0.334137032825295 0.88706808149839
+2067 0.356557183589119 -0.335427240328253 0.889145961738998
+2068 0.359618992834652 -0.328423312263679 0.890526421817087
+2069 0.354555203473695 -0.331566429589178 0.89139178280889
+2070 0.358176520661132 -0.32515074476833 0.892306882873648
+2071 0.353793483731233 -0.328466142211191 0.892841063286303
+2072 0.355366773146672 -0.32122247272587 0.894849473128972
+2073 0.344441490369567 -0.321174412334529 0.899128498365813
+2074 0.350742719862504 -0.317454512995738 0.898012904496417
+2075 0.340878587413701 -0.319614039366901 0.901040317900599
+2076 0.347578879276312 -0.310574956328512 0.901641347311982
+2077 0.340747190514339 -0.308029180251796 0.905115670105203
+2078 0.347332081222213 -0.305256861937155 0.903550592714169
+2079 0.339178684868412 -0.30463765401631 0.906850990784248
+2080 0.345381602584925 -0.301720454715096 0.905484022941534
+2081 0.34068175877481 -0.3024820564295 0.907009120558488
+2082 0.344021460440041 -0.296386012543108 0.907760742886306
+2083 0.336705589071477 -0.298017686249781 0.909966925206821
+2084 0.343955797080478 -0.293859458978638 0.908606640974803
+2085 0.338450502472941 -0.289943746540304 0.911925918711594
+2086 0.331703565903621 -0.294179427018098 0.913047758381852
+2087 0.336778297689273 -0.286073931714286 0.913765333003526
+2088 0.323228913154926 -0.28229856116491 0.919812802729396
+2089 0.329557396678352 -0.278684978708873 0.918668386816822
+2090 0.325181289830449 -0.272859503898908 0.921970617685969
+2091 0.325715674996342 -0.56415610571027 0.778371497070325
+2092 0.326650633088825 -0.563615273436739 0.778371497070325
+2093 0.331420643339668 -0.544876951449962 0.789616656958879
+2094 0.34651435205928 -0.532729973881366 0.791423766856478
+2095 0.352993579589327 -0.517314069440188 0.798753207397595
+2096 0.34511678723019 -0.516523294708091 0.802697383324382
+2097 0.350753837671609 -0.512800471875012 0.802640904392122
+2098 0.341311412382138 -0.516467907520195 0.804358390445093
+2099 0.348343405649593 -0.511918055264537 0.804252308939562
+2100 0.342643891240785 -0.511719411532329 0.80682303366747
+2101 0.342139858886004 -0.503462421939836 0.81221358438279
+2102 0.332553269988491 -0.502109437585641 0.817018626046795
+2103 0.327516558378211 -0.511572404859924 0.813173768990322
+2104 0.325706911437593 -0.50400613551536 0.818607246000581
+2105 0.314188155102879 -0.506240277743918 0.821724761938455
+2106 0.302892652163448 -0.524625470035193 0.814401103545265
+2107 0.302735969551464 -0.524354087786825 0.814634103976123
+2108 0.312445866928833 -0.507496349072849 0.821614286582712
+2109 0.303023177216592 -0.51634596365968 0.819627232272036
+2110 0.318919707694445 -0.497417535500848 0.82528238525995
+2111 0.310185830288824 -0.500064144198361 0.82701003765081
+2112 0.310929429534272 -0.496491333678255 0.828881321681143
+2113 0.302727319238251 -0.503285502726587 0.82781934800539
+2114 0.299798495702572 -0.499501255808419 0.831170474343433
+2115 0.29787952260145 -0.503787105641734 0.829271573252006
+2116 0.297689879008746 -0.499319980162243 0.832036834128475
+2117 0.294832311107228 -0.5093292661836 0.826971950513465
+2118 0.296379492960913 -0.501469914628411 0.831211237216392
+2119 0.291738117335774 -0.505040579598013 0.830691208484044
+2120 0.29190833082524 -0.501106055918391 0.833010952579098
+2121 0.290578476758073 -0.503296692285066 0.832154786310737
+2122 0.361186613015438 -0.54641838868142 0.775368412491273
+2123 0.36040848066904 -0.528953622273357 0.787742846711875
+2124 0.355066858582057 -0.528076628890443 0.790751288305226
+2125 0.360413738162405 -0.524287622710749 0.790853605932294
+2126 0.354661955895349 -0.523872915929007 0.793723544438821
+2127 0.347637327144646 -0.543815340935731 0.783350600777634
+2128 0.351190086968338 -0.552896326381297 0.775368412491273
+2129 0.364441744846629 -0.544252734971454 0.775368412491273
+2130 0.363574536008377 -0.542281819629958 0.777154415071493
+2131 0.363034678248833 -0.545192303045016 0.775368412491273
+2132 0.325181289830449 -0.272859503898908 0.921970617685969
+2133 0.323769614712489 -0.271001590015762 0.923014829132151
+2134 0.331198110045112 -0.26056170223635 0.923385299444518
+2135 0.322355909369817 -0.25069432590652 0.929227648454691
+2136 0.326885993971663 -0.247724547792367 0.928441218045723
+2137 0.329735727890647 -0.255824561789782 0.925231399887342
+2138 0.334011405521839 -0.253528459210803 0.924329325160422
+2139 0.329170905544483 -0.250352715080031 0.926927738820606
+2140 0.33346129209889 -0.25125373712199 0.92514870494098
+2141 0.336084983685441 -0.240489028228304 0.927058202618888
+2142 0.330515965611499 -0.239139392694309 0.929406556539007
+2143 0.336683007009524 -0.233913652106136 0.928522458613357
+2144 0.324252400967443 -0.212459745796359 0.938054495689347
+2145 0.325034601820805 -0.203506675094993 0.939767280134274
+2146 0.313229580465537 -0.200257059728513 0.944462460847584
+2147 0.324501369051268 -0.199845431645456 0.940736767079024
+2148 0.328983855592655 -0.190513540219544 0.941115940653651
+2149 0.325002080631768 -0.187579541333441 0.94308672096375
+2150 0.329984698561063 -0.186103794639829 0.941647745357159
+2151 0.332695236562559 -0.165057275782693 0.944613664563338
+2152 0.322864981365982 -0.13308193732499 0.953033263724499
+2153 0.391118378128049 -0.142355450716479 0.925735566963802
+2154 0.387716561771386 -0.144352281612047 0.926856669891074
+2155 0.400071687386892 -0.154270539450658 0.91998274201694
+2156 0.386615769561334 -0.150914009776314 0.926271131138033
+2157 0.375303989620518 -0.160367253487862 0.929330005640452
+2158 0.386241686473786 -0.159457651653912 0.92499492807199
+2159 0.377850800789056 -0.164059013987751 0.927652096570927
+2160 0.386217911317938 -0.165988210954798 0.923855312698495
+2161 0.381837729451905 -0.170780280768116 0.924802164826498
+2162 0.386840467408578 -0.170399268144249 0.922791169328693
+2163 0.385028025827238 -0.175694672740844 0.922556123657562
+2164 0.393981087146082 -0.156632800566995 0.922209341070525
+2165 0.395420048740855 -0.16462987282936 0.920198342764194
+2166 0.400087791230342 -0.160039902864783 0.918989656524739
+2167 0.395543505146627 -0.176487966780791 0.917944624211016
+2168 0.410879227209759 -0.160657928221291 0.914107373751658
+2169 0.415632317688839 -0.173896862996878 0.909524412829281
+2170 0.418380196991274 -0.161045310457507 0.910630231622687
+2171 0.425018616590791 -0.154694128711762 0.908654996185769
+2172 0.310652342048454 -0.159523417135037 0.953033263724499
+2173 0.310758965445317 -0.161095912716624 0.952733946231241
+2174 0.308973336075825 -0.162751577039376 0.953033263724499
+2175 0.602607567614247 -4.3264734271259e-09 0.816755238400122
+2176 0.59750873767035 -0.000813427384427094 0.820492319734606
+2177 0.590743414868913 -0.0124980946012795 0.82528238525995
+2178 0.571043171152106 -0.0213084748148829 0.838856749142313
+2179 0.56719874922829 -0.0381605459570393 0.840865239860778
+2180 0.565687970522488 -0.025648170687769 0.842356392120651
+2181 0.563619068287909 -0.0332581022718888 0.843476404231643
+2182 0.561301060487665 -0.0248897428370025 0.845308594654597
+2183 0.546035156214791 -0.0173411028317148 0.85543549980701
+2184 0.546534089021673 -0.0424181500367855 0.854240124370605
+2185 0.530023937161203 -0.0279907354179461 0.865168275404791
+2186 0.528969716775109 -0.046306766256124 0.865027006592142
+2187 0.541064007766532 -0.0480221718560149 0.857419739981446
+2188 0.539859127691938 -0.0549701711265092 0.857761856539461
+2189 0.551367170709929 -0.0520030391438469 0.850596806356061
+2190 0.556190860903972 -0.0607065185461929 0.846871563374812
+2191 0.557560859557875 -0.0488194816885241 0.84673936137205
+2192 0.577432472457939 -0.058714548894538 0.832676012323654
+2193 0.569923530079062 -0.0530307378974117 0.838212330319876
+2194 0.565209514023463 -0.0469851587396502 0.841757447318151
+2195 0.56991782938183 -0.0441329650151992 0.838731750413486
+2196 0.568976698829927 -0.0486184617984069 0.839122614020713
+2197 0.584547777231126 -0.0526425805596147 0.828104857398008
+2198 0.588030117501221 -0.0499674417107541 0.825801934897456
+2199 0.58460378003055 -0.0496762911170148 0.828248565634043
+2200 0.584233704211032 -0.0311501106444489 0.829412834160827
+2201 0.590724172455141 -0.037610328408052 0.824533453095887
+2202 0.59744469596004 -0.0329002932774306 0.81987950698348
+2203 0.595075152601971 -0.02909362382488 0.821744561167567
+2204 0.604824582234146 -0.0328408305858377 0.814453009431313
+2205 0.607767895555334 -0.0284596221840857 0.812424294957616
+2206 0.608817769960736 -0.0446981034839731 0.810905668080432
+2207 0.614221719033234 -0.0512429890895636 0.806430924467202
+2208 0.613009863465871 -0.0434894528317869 0.807807263390189
+2209 0.618295387759001 -0.0425523063700302 0.803819080825118
+2210 0.626733986736907 -0.0583720532799508 0.796255118203171
+2211 0.634988902994162 -0.0377586620341047 0.790941449486411
+2212 0.62979695770523 -0.0258127393272321 0.795559233843503
+2213 0.638006458416139 -0.0340729957508309 0.788677240688394
+2214 0.637045187810886 -0.0471282260071873 0.788782199976906
+2215 0.650915305121619 -0.0651535752802746 0.77607298444581
+2216 0.650716157828708 -0.0414299084708981 0.777866983889107
+2217 0.644459062675236 -0.0391571455939103 0.78317573665474
+2218 0.644264160336661 -5.62272798812903e-05 0.784314151691903
+2219 0.644264162790241 -4.62555057414382e-09 0.784314151691903
+2220 0.62334549344446 -0.0876055004190011 0.796235312014494
+2221 0.620354285940469 -0.0686411880263249 0.800421106182006
+2222 0.595304451107516 -0.0667635765735555 0.81937795633925
+2223 0.589613328396547 -0.056056751909986 0.824280755290604
+2224 0.57816108618644 -0.0622162881144631 0.831915796167481
+2225 0.579959240530016 -0.0744488261089911 0.829656345491819
+2226 0.577131962747785 -0.0700655040282003 0.832006323726066
+2227 0.574453941120368 -0.0744862050929423 0.833474339606282
+2228 0.580178244349039 -0.07772152024043 0.829202972785061
+2229 0.575882695002782 -0.0807813008012875 0.83190053674534
+2230 0.582212420041109 -0.09024570773962 0.826504331618685
+2231 0.583981067970051 -0.0832792060584707 0.825987703353282
+2232 0.589620364949765 -0.088319260795335 0.821445392834528
+2233 0.586514862102102 -0.104622079671592 0.821753939435974
+2234 0.5937345132642 -0.0999004613291818 0.817143944225949
+2235 0.598099652089287 -0.107442697871224 0.812993156702335
+2236 0.60319561852786 -0.0942314262383252 0.81086403551883
+2237 0.610397533876583 -0.10698158016143 0.803862421153986
+2238 0.611242823713329 -0.0935114640666126 0.804899258632454
+2239 0.614034878737302 -0.112286658606315 0.800361089754553
+2240 0.616269095197762 -0.105994066603795 0.799501507283709
+2241 0.619335781679282 -0.113714086059517 0.79606362570046
+2242 0.620414197518358 -0.104445201180811 0.796493831406089
+2243 0.622973813146311 -0.111686632998769 0.793507860164815
+2244 0.622689629662856 -0.103733331511256 0.794809424355242
+2245 0.625997743401082 -0.107847318921877 0.791656984468726
+2246 0.623356218252075 -0.0876291968207061 0.796224308239223
+2247 0.62334549344446 -0.0876055004190011 0.796235312014494
+2248 0.425018616590791 -0.154694128711762 0.908654996185769
+2249 0.432859664746104 -0.146801266940733 0.906259840586841
+2250 0.430977508077427 -0.131754825440356 0.90946360757567
+2251 0.430964539197239 -0.131759085476881 0.909469136006719
+2252 0.428498416620698 -0.114479216379979 0.912966930381698
+2253 0.420435747541404 -0.102343495473037 0.918141923192521
+2254 0.417546712488273 -0.105903733089844 0.919056114830793
+2255 0.418217064501761 -0.10033555974205 0.91937601796587
+2256 0.398991649777393 -0.108283999809288 0.926987183726515
+2257 0.395894812339833 -0.102584426018916 0.928961104191547
+2258 0.397756944773937 -0.109545581333546 0.927369494049917
+2259 0.390242399317742 -0.113324201043614 0.930104023877199
+2260 0.396606810310788 -0.11804522094308 0.926818948785361
+2261 0.391499917629489 -0.12924885140464 0.927495309371796
+2262 0.400153303720568 -0.130419319699405 0.923630410159095
+2263 0.390035991757111 -0.132680340622071 0.927627539665817
+2264 0.395903607456007 -0.139458506462885 0.924141038250364
+2265 0.391118378128049 -0.142355450716479 0.925735566963802
+2266 0.605745432822281 -4.34900200321765e-09 0.814430764776815
+2267 0.604214381886577 -0.00236221516925516 0.815563854435025
+2268 0.603523778282921 -0.0082271594511563 0.816036986229468
+2269 0.602607567614247 -4.3264734271259e-09 0.816755238400122
+2270 0.615050476331005 -4.41580837214217e-09 0.807426722102386
+2271 0.615088587577023 -8.58869848989145e-05 0.807397685193566
+2272 0.606111398430016 -4.35162948511831e-09 0.814158444464718
+2273 0.780355324561316 0 0.649053593649094
+2274 0.767732627763422 0.0131318689559425 0.663806572945157
+2275 0.756658662398672 0.0423457814252122 0.675203305244087
+2276 0.745656793665139 0.0384399738937204 0.687563316697505
+2277 0.739925975583344 0.0431057148855086 0.69345255641698
+2278 0.735977587509434 0.0525638011340456 0.696992853259008
+2279 0.739989568313445 0.0798429293330131 0.690119950025215
+2280 0.718779966819198 0.110597299887039 0.708059740810822
+2281 0.721433687352065 0.129545144381248 0.702122845605272
+2282 0.737835287391589 0.144667928770072 0.681832295410791
+2283 0.750355536127708 0.210587629078629 0.650264884398306
+2284 0.760972485729794 0.221389750678292 0.634139144239513
+2285 0.772014503254846 0.216050051512603 0.622527896568158
+2286 0.771344679770783 0.222126849053789 0.621218196706072
+2287 0.759899841391425 0.226606746132859 0.633582365332532
+2288 0.755201424705812 0.233901002890181 0.636542322999248
+2289 0.750237073764451 0.222067984586703 0.646571839296264
+2290 0.74135161319857 0.225166349698244 0.655685062031647
+2291 0.739055762849486 0.238113222056152 0.653699986906074
+2292 0.74230316832477 0.246174751368028 0.646999998519241
+2293 0.737866173850608 0.247118573191313 0.65169848877449
+2294 0.733480724589299 0.209788927385977 0.669492070604423
+2295 0.727713558704319 0.210775907247805 0.675449104967769
+2296 0.730979573202008 0.192970724310118 0.677241584016102
+2297 0.717191715716901 0.173859425081524 0.696874409931496
+2298 0.7129543888267 0.156698400733655 0.705242263807453
+2299 0.699277117309091 0.150458479818877 0.720138013896281
+2300 0.690385505822983 0.166306460275085 0.725213771670336
+2301 0.701837325357733 0.173750877539271 0.712362268294045
+2302 0.693409464919316 0.18009245871067 0.719009749778022
+2303 0.710103722833851 0.202972629795786 0.696261311844402
+2304 0.707916298784271 0.214899233422125 0.694908507208079
+2305 0.711123782411742 0.227523056439804 0.687576341126356
+2306 0.712012139715089 0.217796746123895 0.689803080796385
+2307 0.710849195960868 0.24147375284732 0.683087730300888
+2308 0.71483033212449 0.254469343182077 0.674157214346382
+2309 0.731412233645788 0.255973558288748 0.655544568988468
+2310 0.735932437740538 0.267857501436096 0.645663074680348
+2311 0.82053564029544 0.298650548851459 0.517449623321609
+2312 0.830277212756514 0.285723668162115 0.509143138448569
+2313 0.830242544071777 0.267415529779008 0.519048410503525
+2314 0.835394928494263 0.235476672803683 0.526204380456275
+2315 0.828748288030512 0.225243588504699 0.540986692002698
+2316 0.830711603301444 0.197724165876584 0.548678764277199
+2317 0.834880343571818 0.182019615258004 0.547785242206041
+2318 0.831832044202606 0.149881551325268 0.561975062444985
+2319 0.828560974751005 0.146364571630172 0.567705137629721
+2320 0.815365864001151 0.160898195906678 0.582679395873607
+2321 0.807974139822233 0.149278069685811 0.595918490474495
+2322 0.796616055680523 0.155409276696837 0.609488159481849
+2323 0.802136845834791 0.147678453744442 0.604146137001523
+2324 0.797192266949191 0.136911349861366 0.613159662563959
+2325 0.806515978440262 0.111911905328931 0.605997278843887
+2326 0.806585307426677 0.0906984117409626 0.609441498382805
+2327 0.812820215467113 0.0760328124258608 0.603131253345911
+2328 0.811493074342585 0.0552641357416494 0.607165435112004
+2329 0.817771236240158 0.0154735620926157 0.601028929465471
+2330 0.824675651747851 4.39254893212063e-06 0.591722121772511
+2331 0.824675651759549 0 0.591722121772511
+2332 0.782340220954552 0.116242630414404 0.636126111357743
+2333 0.77648324520145 0.131813982432409 0.640252953102704
+2334 0.762308217632302 0.132111990953143 0.657006547285991
+2335 0.755322743279416 0.122752174378593 0.666816659337621
+2336 0.761140228716265 0.109357776028443 0.662519002785479
+2337 0.782366539477891 0.116246540905389 0.636093027499061
+2338 0.782340220954552 0.116242630414404 0.636126111357743
+2339 0.78794579124938 0.211119120495149 0.60398273734747
+2340 0.769292613571222 0.215527234441601 0.626068595218378
+2341 0.782696908629157 0.173360648110979 0.622540468490926
+2342 0.786949717219573 0.176745044776302 0.616195043565799
+2343 0.787952423363315 0.211094366343906 0.60398273734747
+2344 0.78794579124938 0.211119120495149 0.60398273734747
+2345 0.795206777907084 0 0.630770307140906
+2346 0.793786648408758 0.00325982623824205 0.632548124920853
+2347 0.791655695790043 0 0.635221425428316
+2348 0.654832006695373 0.0149622163489586 0.775368412491273
+2349 0.66406127973339 0 0.767624658774621
+2350 0.66406127973339 0 0.767624658774621
+2351 0.735932437740538 0.267857501436096 0.645663074680348
+2352 0.740231372612991 0.28008963048317 0.635478019993837
+2353 0.737378449852369 0.284795362728522 0.636702146267505
+2354 0.741617689148952 0.280660057750449 0.633607240429655
+2355 0.744709161994271 0.287348896606484 0.626948064564224
+2356 0.735334122154956 0.315552066329962 0.62444825424489
+2357 0.739348923957263 0.312250867386246 0.62135944867667
+2358 0.744537633790307 0.291312009259573 0.625320737806673
+2359 0.749586827288427 0.28930762102875 0.620198104455628
+2360 0.75680442309712 0.301227201065002 0.605585863870005
+2361 0.752502555023014 0.305955922246181 0.608568712904569
+2362 0.756777118728471 0.313193483492508 0.599519169390656
+2363 0.751893265357679 0.313520445049699 0.60546382884992
+2364 0.752355801479866 0.322433684802225 0.600185193823079
+2365 0.744024668410244 0.311505413269455 0.616130400403074
+2366 0.7408958514281 0.322392113863808 0.614297698396352
+2367 0.739374069705155 0.313751252564489 0.620573232231177
+2368 0.734812533217386 0.319810620548384 0.622893817605461
+2369 0.735847012959062 0.328094286099921 0.617339706278326
+2370 0.730466071618023 0.326465664778134 0.624551429376239
+2371 0.732009315951521 0.303610903156539 0.634198534249849
+2372 0.727556333819445 0.309683915837494 0.636382474138599
+2373 0.724695182741038 0.306656978150042 0.641095460804253
+2374 0.724227216534141 0.312655524875794 0.638722523163112
+2375 0.71498761586167 0.297408344824348 0.656175270482885
+2376 0.711398474254052 0.300919181571432 0.658471606822485
+2377 0.713198152740308 0.316775904643649 0.649019584577392
+2378 0.71004208239628 0.312205619295464 0.654670063854069
+2379 0.708425928129935 0.321397997805018 0.651967047756376
+2380 0.705874129647523 0.310346507104306 0.660039209912947
+2381 0.695362387285212 0.3262718851296 0.66350795573451
+2382 0.689320976171229 0.348326425609579 0.658582032120827
+2383 0.699288629512926 0.34382437257344 0.650388509629754
+2384 0.681587704108352 0.35504951246336 0.66302567469732
+2385 0.672051856966189 0.372245406056729 0.66332847007946
+2386 0.665433576505445 0.349681992753857 0.68201587899613
+2387 0.668220463766825 0.344982921240602 0.681684088016986
+2388 0.648747186286627 0.353466123889529 0.695998410592795
+2389 0.631169591696262 0.347898468138167 0.714714350202296
+2390 0.633318996907932 0.35098076169992 0.711297794929856
+2391 0.627708580713471 0.356712737220285 0.713416400711038
+2392 0.616940823747237 0.350915669940123 0.725580603781933
+2393 0.618698133113319 0.353504815540178 0.722822222591419
+2394 0.612999551633042 0.355788093586953 0.726547577354333
+2395 0.619040470092137 0.353393787761928 0.722583370386686
+2396 0.608969038213284 0.358382409729995 0.72865887690586
+2397 0.607655018518565 0.352823641943138 0.732458774372444
+2398 0.608901093926677 0.358382487610021 0.728715616951736
+2399 0.601969025361975 0.358263395760771 0.734510470832591
+2400 0.590431857833901 0.368785175252218 0.738656019923347
+2401 0.591823430110219 0.376252317186322 0.73376032966119
+2402 0.596899667998372 0.365913869021072 0.734876062204684
+2403 0.595099088501424 0.372260789088892 0.733146629107499
+2404 0.598514420424746 0.37091535966399 0.731045336835523
+2405 0.587704625770837 0.390430100314758 0.729652389577235
+2406 0.590487651021617 0.393608305142343 0.725687147546341
+2407 0.603392917779512 0.38411356096218 0.720138013896281
+2408 0.597914663643651 0.391313577623028 0.720830589644866
+2409 0.605687749403823 0.399107560453126 0.709986271283668
+2410 0.603474183377074 0.406691511744602 0.707563371205905
+2411 0.574020205126028 0.427026715139689 0.719981936345683
+2412 0.583449262252768 0.415632802679174 0.719069768321374
+2413 0.579354239819496 0.402886667550576 0.729558769334703
+2414 0.583648071730272 0.415756002018708 0.718837168732221
+2415 0.586374444802869 0.41017823767408 0.71982207789197
+2416 0.584224320101265 0.401010013445205 0.726703455970103
+2417 0.572747557014813 0.403816409289332 0.734246241748798
+2418 0.578838001037563 0.405168232850463 0.728704516003347
+2419 0.566193855835679 0.410172344210634 0.735804434383675
+2420 0.535258843518019 0.437518022230289 0.743169530228096
+2421 0.546389430052695 0.43607391159507 0.735882554727903
+2422 0.55273778893294 0.427145755713518 0.736377919319592
+2423 0.552655070124691 0.44102242149293 0.728214664234376
+2424 0.552857878413391 0.436226159163474 0.730944528906077
+2425 0.567292126215098 0.43581160597095 0.720050614634398
+2426 0.576183763568364 0.427916507022932 0.717721905488114
+2427 0.566110876465082 0.475023426877722 0.695770234679008
+2428 0.589216502466025 0.494411349101824 0.662273607432018
+2429 0.603082238706397 0.477609892650921 0.66212204599972
+2430 0.615997257931237 0.454305038743015 0.666617814038827
+2431 0.618681346812334 0.433421012910961 0.677941455196326
+2432 0.631777391096023 0.415657123200653 0.676987063415883
+2433 0.65606823493117 0.397498088819607 0.664676417889983
+2434 0.668628672800296 0.373094535401704 0.66630410891927
+2435 0.672273631188234 0.376529857080761 0.660680279360394
+2436 0.668567332605824 0.384999333431615 0.659559121708998
+2437 0.675707528164708 0.374167009617047 0.658516047865029
+2438 0.678487099352775 0.375860916152697 0.654682234156933
+2439 0.692153185685435 0.348836052734361 0.655333789650902
+2440 0.7007549842421 0.344036722292608 0.648695757481126
+2441 0.705707180153928 0.345302472704856 0.642626313049119
+2442 0.699403112598362 0.355564502585236 0.643920935044852
+2443 0.709881613493031 0.357377952142605 0.63132724806307
+2444 0.709037220466718 0.363982741237069 0.62849644714539
+2445 0.713482459548717 0.358480826612761 0.6266253081925
+2446 0.71147603653887 0.353461506350158 0.631737139132739
+2447 0.716694738705609 0.353147089634449 0.625987847002174
+2448 0.713063115817144 0.367350845351262 0.621948027797227
+2449 0.717732876173108 0.365774174034321 0.617489896330125
+2450 0.717506851298787 0.375856465589827 0.611670528645629
+2451 0.722651568147471 0.372416650486589 0.607705150129856
+2452 0.714717873907546 0.385405725839529 0.608987509894236
+2453 0.72455002226985 0.375649675277909 0.603439795416544
+2454 0.715490762540781 0.38786073717307 0.606516295970994
+2455 0.713855759570489 0.406926832453286 0.595856952260839
+2456 0.708077503135792 0.415506345377066 0.596829729909944
+2457 0.700468141737222 0.414863184531393 0.606183075095036
+2458 0.696623626934374 0.421405174189971 0.606100817985522
+2459 0.691660113033432 0.445618103375572 0.59435325689571
+2460 0.680753639907761 0.45851233460794 0.59713140996326
+2461 0.670309756036246 0.463108455455111 0.605343199721125
+2462 0.666744382210971 0.473039379079994 0.60159012178536
+2463 0.657499087995642 0.480402906278871 0.605915008003361
+2464 0.671729101912811 0.482929918364123 0.588033763989985
+2465 0.677984000564801 0.492379942192299 0.572821689101291
+2466 0.718000081906153 0.488630458720779 0.525301015792926
+2467 0.737965178538656 0.462910324706833 0.52090923061914
+2468 0.735674104123363 0.458257129101848 0.528213040495613
+2469 0.742163275398318 0.446435753937218 0.529257772976976
+2470 0.763215446204245 0.424191563034512 0.517483043708287
+2471 0.773108535850869 0.393621083585513 0.526868706938923
+2472 0.784293092925147 0.369075362757518 0.528102945452223
+2473 0.781960350457493 0.364300184483037 0.534834914621343
+2474 0.790629000753837 0.340827496199412 0.537556881642705
+2475 0.787707208517352 0.336104223029966 0.544771791589124
+2476 0.792972687880055 0.315696832597357 0.549322151532483
+2477 0.808267555263357 0.295785521428029 0.537995803349938
+2478 0.819977031575069 0.299372997917019 0.51791744111153
+2479 0.82053564029544 0.298650548851459 0.517449623321609
+2480 0.589300723250214 0.654204568873266 0.504941620033564
+2481 0.589237072420855 0.653420333610145 0.506030177074161
+2482 0.578950603910034 0.663270841003797 0.505087111007917
+2483 0.576284244730913 0.661196183917558 0.510823918437439
+2484 0.571194668416696 0.670067885397148 0.504946214691956
+2485 0.563836079229057 0.674230376101728 0.50766847026512
+2486 0.563626562004751 0.676449598241129 0.504941620033564
+2487 0.566110876465082 0.475023426877722 0.695770234679008
+2488 0.560621972945185 0.494879395275277 0.686310707757809
+2489 0.565560774261074 0.505305689782168 0.674560724094563
+2490 0.572938226007512 0.505203635319008 0.668383180548272
+2491 0.587728580702055 0.496157704184847 0.662289700964744
+2492 0.589216502466025 0.494411349101824 0.662273607432018
+2493 0.512874295970471 0.597358720546126 0.640583730296273
+2494 0.505381719750199 0.591477166648518 0.651896524515795
+2495 0.494739739914408 0.597160673131482 0.654871529549559
+2496 0.501171898098074 0.587377905950753 0.658816305321659
+2497 0.503735242848435 0.554345653450668 0.684964744795512
+2498 0.494073353557346 0.542950968577069 0.700942770150189
+2499 0.499859605882676 0.543732260788858 0.696218789594373
+2500 0.496766550463153 0.527384486981861 0.710854132176088
+2501 0.481278953812481 0.523024053493868 0.724597411038714
+2502 0.467541382316974 0.533831299882491 0.725709445361504
+2503 0.456500149919842 0.530765986814763 0.734928622631961
+2504 0.434474560939425 0.540186209475384 0.741387695466488
+2505 0.41930176012054 0.554526940018387 0.739534249885467
+2506 0.418806341107156 0.559978719957968 0.73569700410065
+2507 0.431881505936351 0.567603396684143 0.722170166167762
+2508 0.428327561107124 0.573740100503723 0.719432274415042
+2509 0.446121958271301 0.559141485419244 0.720111795231366
+2510 0.454732200345097 0.560604590933705 0.713558770244862
+2511 0.451351819295798 0.568858265918167 0.709159226489333
+2512 0.462552290719301 0.557457664551398 0.710993200096336
+2513 0.465631341358309 0.559475403130203 0.707389374557717
+2514 0.461065453378485 0.56612858508617 0.705083025500701
+2515 0.464779215573986 0.579421867872489 0.691719292633643
+2516 0.452954731482803 0.595411164403868 0.685961045927953
+2517 0.460919761684353 0.598631049802262 0.677804425702194
+2518 0.46342362828647 0.611820937521672 0.664182716694665
+2519 0.456061626571646 0.604044271040789 0.676286412248261
+2520 0.447318436174092 0.608051182655241 0.678531484848217
+2521 0.442951979854681 0.627138695882293 0.663864142479374
+2522 0.456930868965067 0.623088407768666 0.658179319859822
+2523 0.462641098308395 0.612134123137588 0.664439635667965
+2524 0.470714802349394 0.617684538906432 0.653542948278932
+2525 0.470575312108487 0.625355178456237 0.646308576774259
+2526 0.470171256690028 0.621801893180627 0.650020303544057
+2527 0.463174667893261 0.627684199954406 0.649389538065994
+2528 0.464466201978223 0.633081155907652 0.643198567515939
+2529 0.468681537957718 0.627962983152744 0.645155103651435
+2530 0.47300954349492 0.631365484637266 0.638642776966496
+2531 0.467374905313882 0.63309175478112 0.641077630175163
+2532 0.465605863399328 0.640475297280388 0.635002026407605
+2533 0.478385977785478 0.659131033937856 0.605737679493561
+2534 0.504389659430459 0.642671155733926 0.602320394015714
+2535 0.52681349314638 0.610607954495617 0.616320102986741
+2536 0.521668761031242 0.59652945449847 0.634223394144277
+2537 0.512942310809376 0.597201701676267 0.640675669349561
+2538 0.512874295970471 0.597358720546126 0.640583730296273
+2539 0.369684057571073 0.640311568691865 0.695384636425878
+2540 0.37267166079401 0.639220345870416 0.694793625954024
+2541 0.373081174353505 0.63325999404729 0.700012297950711
+2542 0.386159143138232 0.626002268667999 0.699447836363274
+2543 0.380663915986254 0.613453063358557 0.713439080876575
+2544 0.368968446250983 0.606167040023497 0.725705729108079
+2545 0.360387697628785 0.611604519661391 0.725455456198092
+2546 0.357866868456925 0.605754258771486 0.73158600481491
+2547 0.354338291265678 0.610985412394878 0.728948695851484
+2548 0.351879420219394 0.609473032273637 0.731401734040357
+2549 0.351879420219394 0.609473032273637 0.731401734040357
+2550 0.34670287321353 0.606235759687146 0.736546211301118
+2551 0.339110836338188 0.61392335286868 0.733707678493617
+2552 0.330786480364304 0.614632666212894 0.736907043006257
+2553 0.343481277064384 0.617020284747807 0.729062123907116
+2554 0.345956595577967 0.622394408066436 0.723300929616251
+2555 0.338208773933424 0.635144566290671 0.715843003140972
+2556 0.345712518943247 0.635463716988484 0.71196468917854
+2557 0.345716955308473 0.635461303444312 0.71196468917854
+2558 0.358057847035382 0.638754082617261 0.70286044142217
+2559 0.357132737156817 0.644717000023022 0.697869040674677
+2560 0.369684057571073 0.640311568691865 0.695384636425878
+2561 -0.403607215236553 0.699068206954741 0.615329064675218
+2562 -0.395505826985423 0.708109602187933 0.610230228774209
+2563 -0.385671721671414 0.700375606701411 0.625265009928301
+2564 -0.370659560785879 0.706271965432766 0.627707257279822
+2565 -0.367315806034856 0.699099790026104 0.637623385881056
+2566 -0.382433345675952 0.689786054067695 0.638877872311146
+2567 -0.389716763710385 0.675009239038375 0.650160265854456
+2568 -0.419624199480563 0.726810437602724 0.570865237163758
+2569 -0.407835250700078 0.730214012701539 0.57505034904843
+2570 -0.406508447076885 0.727331417763354 0.579624784830228
+2571 -0.413033320558283 0.715394700379707 0.589778686269034
+2572 -0.389716763710385 0.675009239038375 0.650160265854456
+2573 -0.396372991198149 0.660380145109572 0.661068465284567
+2574 -0.405488588413381 0.651850342135182 0.663999349491225
+2575 -0.413550165387328 0.65472814107442 0.65614961860337
+2576 -0.40806231234252 0.6724923465227 0.641454747518535
+2577 -0.416069527055342 0.667326789381787 0.641705621628282
+2578 -0.410561362763223 0.679549106928861 0.632358583936513
+2579 -0.432173283401646 0.649833135416942 0.648974690745353
+2580 -0.455618662795938 0.637364509292372 0.645293046922509
+2581 -0.455849543527833 0.647983054577417 0.63446367480415
+2582 -0.46270165636335 0.646199522211901 0.63131478257025
+2583 -0.455774172965268 0.651856892170502 0.630537465490862
+2584 -0.455139179141131 0.658482432410571 0.624078692007182
+2585 -0.462370789142629 0.653997328638176 0.623478746615915
+2586 -0.46008577969263 0.657656737228773 0.621316096123567
+2587 -0.466474661171747 0.653611341867251 0.620820911589804
+2588 -0.466841938160559 0.651405132912605 0.622860303430555
+2589 -0.478698793510752 0.646452242138031 0.619008855935085
+2590 -0.488777769006764 0.651985707463143 0.605174297032314
+2591 -0.482929001019006 0.652712563604444 0.609073796257645
+2592 -0.480287074899884 0.658420708528398 0.605005368790291
+2593 -0.486169630791805 0.658966833481132 0.599688921414771
+2594 -0.485514265319145 0.655871494706504 0.603600431248245
+2595 -0.48866624147008 0.66056329260529 0.595891299575655
+2596 -0.493227515566756 0.65706067013267 0.596005783237589
+2597 -0.491925541929619 0.671171969266498 0.581173338056884
+2598 -0.499312878030091 0.67178631524872 0.574120890124941
+2599 -0.495476210028233 0.675002840130224 0.573671936835148
+2600 -0.500150527339141 0.67529821407539 0.569251062422345
+2601 -0.505652327364178 0.665135211870253 0.576312305752274
+2602 -0.50879223808622 0.66691889610184 0.571467098340331
+2603 -0.508132210451195 0.661828037078086 0.577936247383179
+2604 -0.513289921641203 0.661657844125321 0.57355675712958
+2605 -0.509817488813709 0.65912732498649 0.579536278032564
+2606 -0.519353072466173 0.654696953794908 0.576080970707776
+2607 -0.518403537606005 0.649648663576688 0.582614268715248
+2608 -0.525102738586189 0.646346191279742 0.58028330576319
+2609 -0.524354104607463 0.634195739355076 0.594199913467828
+2610 -0.515707452758076 0.627140417285082 0.609069552824035
+2611 -0.492983347772757 0.622860668114321 0.631852045129987
+2612 -0.478702877647199 0.626593210326728 0.639100542719794
+2613 -0.476531584401931 0.620870981238984 0.646267648674082
+2614 -0.49212165118276 0.59242670123673 0.6611141233546
+2615 -0.485644361937996 0.583716624165366 0.673535044664215
+2616 -0.491053972897753 0.570902915198278 0.680559223814828
+2617 -0.48785134737392 0.567720448673852 0.685506786999961
+2618 -0.49422218503533 0.56412813076038 0.68390707256447
+2619 -0.493223893595824 0.552416580057058 0.694111743787871
+2620 -0.510931116855908 0.547082801696336 0.68547414387157
+2621 -0.523487263348474 0.521007997646913 0.696230386797273
+2622 -0.524433151257783 0.470447835878642 0.730666615891908
+2623 -0.51710576927928 0.433903262742235 0.757993787546921
+2624 -0.602063249908892 0.505191053808514 0.642282525265156
+2625 -0.60783439902703 0.520517209766492 0.624359013466095
+2626 -0.599330360399378 0.552426706451318 0.60485771310524
+2627 -0.592298168134483 0.55503893499734 0.609376452335955
+2628 -0.593579133947758 0.546857367653189 0.615496410375604
+2629 -0.589111465530819 0.554045083385945 0.613356932589819
+2630 -0.59527185343179 0.573423501662895 0.589119604369558
+2631 -0.565061734542496 0.603986030059335 0.588329084483327
+2632 -0.549838349385821 0.635512396055676 0.56923350569362
+2633 -0.552716907943834 0.637961350353732 0.563679283926462
+2634 -0.566865640322646 0.62650482522571 0.562476710442751
+2635 -0.566099579127466 0.619936418882022 0.570469195535955
+2636 -0.569837420173863 0.620627728126254 0.565978389738019
+2637 -0.582596687014521 0.599390285466755 0.575792832508174
+2638 -0.594632676905599 0.58767852963878 0.575561400163078
+2639 -0.597684808896361 0.59647597352774 0.563217792881808
+2640 -0.60798517862644 0.592210901611637 0.556655432545941
+2641 -0.608609933384978 0.587768841630088 0.560666333744017
+2642 -0.608615003843344 0.587732680580826 0.56069873664388
+2643 -0.613704774820697 0.574294774105729 0.569014026010894
+2644 -0.606997769520583 0.575958978102632 0.574499750513444
+2645 -0.606161067184368 0.570957684594308 0.580345658235344
+2646 -0.610383743373521 0.571386861660943 0.575476967520496
+2647 -0.609513211123729 0.568738368521132 0.579012360522262
+2648 -0.614752860785817 0.565789483990902 0.576355949011514
+2649 -0.612670498650668 0.571004702251109 0.573422610375858
+2650 -0.62449582828807 0.557795202093326 0.573667563116882
+2651 -0.625421222300985 0.548595569673484 0.581477596842877
+2652 -0.630419751423531 0.55101678605167 0.573738998591154
+2653 -0.628557647342389 0.543111833575306 0.583240790924187
+2654 -0.634237616073252 0.538253346215758 0.581593484871742
+2655 -0.631042392907442 0.533630973918154 0.589277932752289
+2656 -0.6335856971761 0.531641527834216 0.58834636925537
+2657 -0.567997233244201 0.661080865029122 0.520169427128585
+2658 -0.573614928087807 0.651784161770078 0.525707447864776
+2659 -0.572123468399603 0.633492699170741 0.549169133331233
+2660 -0.55383631120882 0.637857407209845 0.562697315129671
+2661 -0.541195206706143 0.65512331118242 0.555109174292479
+2662 -0.549317064557935 0.654418595464845 0.547916110819231
+2663 -0.543963741554154 0.65576621383246 0.551633139568541
+2664 -0.54789795004829 0.659056401489051 0.543762352493425
+2665 -0.554258243124837 0.652403878074547 0.545336574787957
+2666 -0.548808253159767 0.651315352382881 0.552107609994726
+2667 -0.551604796345698 0.64680572631856 0.554616535139317
+2668 -0.558049863133368 0.649663873100562 0.544740490733712
+2669 -0.559054007569976 0.663756892428105 0.526412769957316
+2670 -0.56612873982584 0.660817120041541 0.522536107654972
+2671 -0.565300755076608 0.654953450382996 0.530750444315617
+2672 -0.567997233244201 0.661080865029122 0.520169427128585
+2673 -0.581803201268769 0.623929383822128 0.549947414755949
+2674 -0.584045797202095 0.614252370856329 0.558399079214811
+2675 -0.592758122113601 0.610036324961807 0.55382171399779
+2676 -0.594791923772674 0.600005246195738 0.562531129762961
+2677 -0.590300317741512 0.598830462908381 0.568482727589153
+2678 -0.582020010841316 0.604913927793947 0.570575890606301
+2679 -0.577107909302856 0.616020984412147 0.563639608068823
+2680 -0.573475444735005 0.616269728470428 0.567064842903325
+2681 -0.568697175879905 0.631203309873837 0.555329545180636
+2682 -0.572383114777143 0.626334381402071 0.557052791566205
+2683 -0.579219330573343 0.629212683113446 0.546645558382529
+2684 -0.581830617020045 0.623958784644886 0.54988504995367
+2685 -0.581803201268769 0.623929383822128 0.549947414755949
+2686 -0.413033320558283 0.715394700379707 0.589778686269034
+2687 -0.415386001440775 0.710904916527213 0.5935433172604
+2688 -0.412045905699086 0.710045102561204 0.596891216157072
+2689 -0.41966947760016 0.706410708200863 0.595891299575655
+2690 -0.417818460180881 0.701509278192156 0.60294068277269
+2691 -0.430092968663504 0.689122021110841 0.608568712904569
+2692 -0.437389764105485 0.686115083958982 0.606762956861828
+2693 -0.436648060111313 0.68014925681984 0.613971057989256
+2694 -0.4108165043275 0.690739936403709 0.619946078323859
+2695 -0.403607215236553 0.699068206954741 0.615329064675218
+2696 -0.465570551959632 0.74733059719637 0.504941620033564
+2697 -0.455454433757103 0.750152329284612 0.509958568552257
+2698 -0.441212778931074 0.759969865541249 0.507939058526843
+2699 -0.461020959908545 0.740315493234025 0.519247190654573
+2700 -0.442125111142204 0.742025078068962 0.533056441302649
+2701 -0.432076982541028 0.746692923768356 0.53477486735308
+2702 -0.457138002548133 0.734137280788876 0.531311866592698
+2703 -0.439268288205665 0.735390336825401 0.54449005820188
+2704 -0.423735367491276 0.725572179810122 0.569401747646265
+2705 -0.419624199480563 0.726810437602724 0.570865237163758
+2706 -0.590249353514175 0.495278017644731 0.660704461854166
+2707 -0.590698537052024 0.498101938622013 0.658175278376202
+2708 -0.595298833754292 0.504778682088062 0.648878093820572
+2709 -0.597406182565985 0.501283310296555 0.649650595204888
+2710 -0.573101774987463 0.480889490745797 0.685947995985459
+2711 -0.572491437749387 0.483381864687754 0.684704700286649
+2712 -0.583419867252887 0.489825095997163 0.670758998319064
+2713 -0.583527058471584 0.489637342321844 0.670802836186238
+2714 -0.636694222494782 0.534249890297416 0.582599795536322
+2715 -0.638074885830972 0.537499310359241 0.5780829797141
+2716 -0.638415500340729 0.535694213911294 0.579381012897953
+2717 -0.583527058471584 0.489637342321844 0.670802836186238
+2718 -0.591336522802378 0.475667718196999 0.67400766958934
+2719 -0.579754061918668 0.481474955106816 0.679920653674894
+2720 -0.578196267147243 0.477018176758791 0.684373973569066
+2721 -0.585210962958591 0.473843763937839 0.680606506147495
+2722 -0.587433828194297 0.464426912045461 0.68516723568842
+2723 -0.606283826104879 0.452585287175232 0.676617676414193
+2724 -0.606275315257044 0.45257893390578 0.676629552040612
+2725 -0.60309126051897 0.438267952147639 0.688786711258249
+2726 -0.612147107073167 0.415733675140045 0.694741988551508
+2727 -0.60834605565888 0.422339302664702 0.694096239716781
+2728 -0.599069919068993 0.414150864088973 0.706978991088863
+2729 -0.599106770559432 0.422999283068312 0.701689164797022
+2730 -0.589550946558383 0.432514010536282 0.703978914529359
+2731 -0.56167101271089 0.440200578699488 0.72178537252632
+2732 -0.579050027154036 0.461968338227605 0.693910167477128
+2733 -0.570166245276291 0.472638747426953 0.694080735345836
+2734 -0.574858656201584 0.473489464318732 0.689616018208154
+2735 -0.573101774987463 0.480889490745797 0.685947995985459
+2736 -0.638415500340729 0.535694213911294 0.579381012897953
+2737 -0.640869554884677 0.521470924892532 0.589558553592129
+2738 -0.633390528602472 0.521032350231722 0.597968835549721
+2739 -0.631376856356246 0.511607406562503 0.608149756892242
+2740 -0.620765339927371 0.504140593595588 0.625074119312216
+2741 -0.625430399820846 0.497026589519965 0.626120103726185
+2742 -0.619013761965706 0.482409819029053 0.643682941362765
+2743 -0.597006782259715 0.475510425589775 0.669102187331152
+2744 -0.591866755434353 0.482113005446761 0.668943789709347
+2745 -0.599282955141183 0.483025268675661 0.661643052935686
+2746 -0.589093951680483 0.488398241891282 0.66682866870807
+2747 -0.590249353514175 0.495278017644731 0.660704461854166
+2748 -0.517546832234337 0.401464944117124 0.775368412491273
+2749 -0.557832038652352 0.435841835495968 0.727385943694588
+2750 -0.557851652601659 0.435841480444827 0.727371114090503
+2751 -0.554086297637544 0.424981026681795 0.736616930114158
+2752 -0.562244677651824 0.417910039449547 0.734477447835857
+2753 -0.567902518770808 0.421530999611377 0.72802702253447
+2754 -0.565789043117083 0.416891831813517 0.732331181403486
+2755 -0.543318548824932 0.416451188860544 0.749398666798527
+2756 -0.53233265549909 0.4012871177895 0.765385911149064
+2757 -0.538324130969723 0.390484105482031 0.766781776897176
+2758 -0.549723409964537 0.388563647051781 0.759636402976306
+2759 -0.530036134402606 0.384825312496858 0.775368412491273
+2760 -0.597406182565985 0.501283310296555 0.649650595204888
+2761 -0.597901782824663 0.500455648936806 0.649832748899538
+2762 -0.600966074980324 0.502414353732621 0.645480126639215
+2763 -0.602063249908892 0.505191053808514 0.642282525265156
+2764 -0.6335856971761 0.531641527834216 0.58834636925537
+2765 -0.635057307418685 0.530482048750916 0.587806100893109
+2766 -0.636694222494782 0.534249890297416 0.582599795536322
+2767 -0.51710576927928 0.433903262742235 0.757993787546921
+2768 -0.515255212012535 0.426392529119377 0.763496219771322
+2769 -0.504819563737354 0.417356002686903 0.775368412491273
+2770 -0.363767041916727 -0.544703923361964 0.775368412491273
+2771 -0.363975940344042 -0.54936584496924 0.771973887661949
+2772 -0.369657482842817 -0.548679873763678 0.769758885304345
+2773 -0.360648534455342 -0.551738017413486 0.771843763164444
+2774 -0.365508777414797 -0.559386612826412 0.764012402401515
+2775 -0.360840055141922 -0.566601809439822 0.760908564904282
+2776 -0.370806636323843 -0.58355457409697 0.743095887156362
+2777 -0.367742537857911 -0.574890328577136 0.751326517539675
+2778 -0.37747909937777 -0.577750427090974 0.744270766273367
+2779 -0.367811286132534 -0.571673163703754 0.753743757317081
+2780 -0.385509956493627 -0.556103967721329 0.756541770511633
+2781 -0.390754038997907 -0.575538722369941 0.739115322571247
+2782 -0.386731217883602 -0.577561344841146 0.739653201209561
+2783 -0.394613612181389 -0.583104889525069 0.731090818498709
+2784 -0.388088464279342 -0.587874687911915 0.730763775241884
+2785 -0.394243831700386 -0.583984699827615 0.730587894461336
+2786 -0.423604706651321 -0.614761322527311 0.687642762506317
+2787 -0.427413732819386 -0.63214263363502 0.669281847758013
+2788 -0.43780439249061 -0.639086074808914 0.655836338503184
+2789 -0.439675614343024 -0.658468773550266 0.635082064312395
+2790 -0.437029112144387 -0.672374753557273 0.622207960345322
+2791 -0.42761784979422 -0.677549827238702 0.623132575096322
+2792 -0.428091498217102 -0.68485019687961 0.614770588909551
+2793 -0.431687955242962 -0.678188861650184 0.61962115621707
+2794 -0.434368001633468 -0.684269642351947 0.611002860641819
+2795 -0.423986624202766 -0.715752769982925 0.581513813042229
+2796 -0.426912040009553 -0.720748682936249 0.573142605413821
+2797 -0.419642094213654 -0.726841420138369 0.570812633650673
+2798 -0.393404978826962 -0.523699673042594 0.775368412491273
+2799 -0.389802961545562 -0.543028017443775 0.763805749809068
+2800 -0.38981477345281 -0.543024465826068 0.763802246600681
+2801 -0.379801435486455 -0.545913524489766 0.766781776897176
+2802 -0.386521385757993 -0.549923492089498 0.760532952080192
+2803 -0.370643094461431 -0.565002018143321 0.757377987547848
+2804 -0.376227834184436 -0.536172958750859 0.775368412491273
+2805 -0.37369701063169 -0.537939930806127 0.775368412491273
+2806 -0.370753541822594 -0.544197774027212 0.772408955133114
+2807 -0.366386709278865 -0.542945304956739 0.775368412491273
+2808 -0.365873373068972 -0.800871797004372 0.504941620033564
+2809 -0.366013806427367 -0.800698480949987 0.505114676196339
+2810 -0.36431366456598 -0.782877891336054 0.533481734521173
+2811 -0.341316626988582 -0.799934796904392 0.523289863118583
+2812 -0.33843832511036 -0.812845902034558 0.504941620033564
+2813 -0.419642094213654 -0.726841420138369 0.570812633650673
+2814 -0.402651151405263 -0.7405120629248 0.565454626769357
+2815 -0.391861671284807 -0.754848842564683 0.55396087899475
+2816 -0.383506246319402 -0.792579282716803 0.504941620033564
+2817 0.0054861262169119 -0.880470818810602 0.504941620033564
+2818 -0.00625652891215167 -0.878594047203943 0.508191259334285
+2819 0.0285353041422627 -0.87728209254878 0.509692913930283
+2820 0.0304729165984559 -0.873067181897558 0.516768901199984
+2821 0.0340400623071675 -0.87651643568142 0.510671334753052
+2822 0.0302007001982181 -0.878015737440377 0.508331862580508
+2823 0.0453726302995575 -0.873932877021231 0.514205844853103
+2824 0.0430780992649804 -0.876406782983058 0.510176859633013
+2825 0.0580790192787229 -0.874190956038601 0.512486097274783
+2826 0.0532976735366712 -0.875421167802773 0.51090325596771
+2827 0.0675990715970047 -0.875133795519195 0.509702075196277
+2828 0.0694805943689565 -0.877742221477363 0.504941620033564
+2829 0.135142566097434 -0.87005485297565 0.504941620033564
+2830 0.127013217792131 -0.860339666918828 0.523362493910376
+2831 0.13949913051734 -0.848989900077706 0.53849897135552
+2832 0.136734917151871 -0.846754987538961 0.542710377189681
+2833 0.14019363608393 -0.848495353686919 0.539097745472262
+2834 0.148505153750381 -0.842214606085553 0.546667885105511
+2835 0.0837026456802586 -0.876500329414659 0.504941620033564
+2836 0.088732620099052 -0.874771262588577 0.507076680867444
+2837 0.0940837424608428 -0.875446862900566 0.504941620033564
+2838 0.126001220689435 -0.714588455479639 0.709726730284267
+2839 0.125071553721848 -0.715889974237727 0.708578613306604
+2840 0.114268283609481 -0.716121649336936 0.710167263897661
+2841 0.10353784436938 -0.709292825348395 0.718615754553596
+2842 0.110060542861144 -0.716405388853191 0.710545562034707
+2843 0.10630278540947 -0.732797319236539 0.694213804770497
+2844 0.0982661157335435 -0.737943955203005 0.689932960133075
+2845 0.09186313820554 -0.726457867700674 0.702883440048789
+2846 0.077601295605134 -0.73169276228181 0.699162885560167
+2847 0.0845627729567699 -0.723444293787651 0.706896379405036
+2848 0.0825013882700251 -0.711841708565816 0.718818407443506
+2849 0.062039246051105 -0.70768926020028 0.724949683044686
+2850 0.0563712590667483 -0.720767910791999 0.712419047979324
+2851 0.0555877350489398 -0.715246056493153 0.718023733857818
+2852 0.0471531067021172 -0.722314924318482 0.711521422470978
+2853 0.0489054562738011 -0.742973984717006 0.689799184096636
+2854 0.0489744079810328 -0.743032148989496 0.689731638342739
+2855 0.0446662389731109 -0.756277458584562 0.675480815962136
+2856 0.0345398738358815 -0.760041724803976 0.671839693433187
+2857 0.027053740893815 -0.741329108954038 0.69276565108344
+2858 0.0337101497823345 -0.722053155318822 0.71255025555801
+2859 0.0253937735779294 -0.723201775067951 0.711729828517843
+2860 0.0373416900952075 -0.707559887756304 0.726766539831822
+2861 0.0419595536942248 -0.711292266891222 0.722860779759511
+2862 0.0550546472231907 -0.704091680680366 0.72900541219927
+2863 0.0751765166495667 -0.703909492496048 0.727382236323099
+2864 0.0697835422343474 -0.698647438557226 0.73297135948866
+2865 0.0608259478281622 -0.698614119121022 0.733800733602498
+2866 0.0613235084067855 -0.69478527608766 0.737385819939925
+2867 0.0324104654026598 -0.700248593053762 0.734048002285007
+2868 0.0265097521490339 -0.695447590496576 0.738833460201623
+2869 0.0184596120765189 -0.697500824715786 0.73714099210584
+2870 0.0163078808225897 -0.691487627919225 0.742835051312012
+2871 -0.00547545139328029 -0.700253675541329 0.734737918800234
+2872 -0.0116033240030529 -0.699747740830777 0.735148598634523
+2873 -0.0104578787987964 -0.695066004022715 0.739593728220382
+2874 -0.0256879614880745 -0.697225664931596 0.737184848457482
+2875 0.0101475357582786 -0.675223478699213 0.75775674284784
+2876 0.014812979697093 -0.676703275273782 0.756358547823867
+2877 0.0177826767125344 -0.67015361675951 0.762104262127621
+2878 0.0169883963076161 -0.675804629865342 0.757115907007284
+2879 0.021113894371194 -0.673352449440178 0.759194100541748
+2880 0.0203328194291954 -0.668173005624576 0.76377772356143
+2881 0.0417493356189312 -0.670118716936662 0.761198330388696
+2882 0.0492276470972828 -0.680102952991109 0.751838820555336
+2883 0.0612581537442492 -0.679552102657137 0.751452845076861
+2884 0.0670169018620269 -0.698168404144915 0.733685637257918
+2885 0.113134842916416 -0.69905677449143 0.727148632231345
+2886 0.124654020151877 -0.706948101314121 0.717572823696895
+2887 0.130934581672376 -0.742566936845405 0.679467055585708
+2888 0.109737208310893 -0.754525880078044 0.669980179859513
+2889 0.0865159407472195 -0.754889074673695 0.672965435171016
+2890 0.0948397802303679 -0.742293317504732 0.685733947587309
+2891 0.0994264660272093 -0.745365201805085 0.681740488596214
+2892 0.0918901482934553 -0.747737886279313 0.680197952120669
+2893 0.0932971710370017 -0.750957862886809 0.676448760842215
+2894 0.108966059935203 -0.74294064615945 0.682927956717527
+2895 0.108979545327114 -0.742942279990548 0.682924027475049
+2896 0.128954191851555 -0.73895037575 0.68377493269558
+2897 0.124291713668825 -0.738776950411858 0.684824931974166
+2898 0.129835340953336 -0.736332832736565 0.686426794111125
+2899 0.148505153750381 -0.842214606085553 0.546667885105511
+2900 0.164563214491847 -0.829357532833274 0.56152473780664
+2901 0.197185963934303 -0.81079558834642 0.57788684839273
+2902 0.187784845781487 -0.811833928189078 0.579558042594453
+2903 0.194382543587678 -0.807550182074102 0.583355063559466
+2904 0.186411126906032 -0.807113969145402 0.586551730519976
+2905 0.198621870902702 -0.805849939447612 0.584277526087894
+2906 0.203854869467416 -0.801390594377041 0.588592649833852
+2907 0.201282625946704 -0.798331522327406 0.593613582181545
+2908 0.199513835932058 -0.802234056024815 0.588931021958981
+2909 0.198324340953981 -0.798879781407653 0.593871661761386
+2910 0.188984372263046 -0.801772503336581 0.593018347046476
+2911 0.195442834541744 -0.796300646982614 0.598274500577585
+2912 0.201775157700095 -0.797173652247575 0.595000801593883
+2913 0.197903060772414 -0.791157052660848 0.604259792276394
+2914 0.206109008943365 -0.799208223402636 0.590770930291925
+2915 0.196820379711351 -0.789227398920423 0.607130011549077
+2916 0.182405549797608 -0.789205409902906 0.611643716867114
+2917 0.1906945472252 -0.788899465486339 0.6095065405834
+2918 0.184135898006222 -0.785622492445646 0.615724183729153
+2919 0.189029741832071 -0.787607787235171 0.611691695373918
+2920 0.191047004719958 -0.783646887793634 0.616136021702095
+2921 0.181374386491225 -0.781262844856093 0.62205843710402
+2922 0.190052778317119 -0.7833702663893 0.616794915017221
+2923 0.191036574027111 -0.779994445395093 0.620756548525093
+2924 0.174944337345233 -0.778696970452559 0.627096888079381
+2925 0.175562267619174 -0.774993824076164 0.631496209673674
+2926 0.189489566549148 -0.778734942085585 0.622808633645984
+2927 0.182202637608665 -0.766646350374674 0.639750398441171
+2928 0.191528454010065 -0.761157201222812 0.643569395116929
+2929 0.186640164884209 -0.770242663252727 0.634126713328922
+2930 0.198924540075702 -0.777068000933516 0.621948027797227
+2931 0.196989232234922 -0.787037023850413 0.609912260470456
+2932 0.205669547678638 -0.770419139772151 0.62799632660582
+2933 0.195488706959183 -0.757917533186254 0.64619670251425
+2934 0.206693339485981 -0.764077417510931 0.63536490575256
+2935 0.21436513327886 -0.752385142907646 0.646675487680009
+2936 0.209533270950657 -0.744989133829478 0.656743480242265
+2937 0.216907739813817 -0.736467241365825 0.663921708339073
+2938 0.242671929834739 -0.724513461367452 0.668143381893166
+2939 0.241927702505255 -0.719081210674893 0.674253809195661
+2940 0.245945784123597 -0.722254399749557 0.669390957000642
+2941 0.260741143856226 -0.714633550148335 0.671965731940948
+2942 0.257883878032657 -0.710729330086593 0.677188839841222
+2943 0.255763655593261 -0.715658059164547 0.672787852766684
+2944 0.244149177217655 -0.711439749404077 0.681520111392031
+2945 0.248573862360715 -0.69271568738764 0.698985701855299
+2946 0.254257467889964 -0.690307903170673 0.699323343555964
+2947 0.252668328535138 -0.68636273296438 0.703768367115862
+2948 0.260275495254709 -0.685576553827767 0.701759542444246
+2949 0.261609426076385 -0.675378237072462 0.71109053226497
+2950 0.263214111275535 -0.679485727262556 0.70657092925757
+2951 0.268823889101607 -0.673607450106065 0.710078671563857
+2952 0.272174521612905 -0.675657916166218 0.706846808089779
+2953 0.28286005772606 -0.664730836230038 0.712985345647527
+2954 0.278111599532517 -0.661181383512965 0.718135165760142
+2955 0.28733920384627 -0.659512452184066 0.716033873044531
+2956 0.307059126158242 -0.639106136325873 0.726280276169986
+2957 0.303224687155804 -0.648611587646462 0.719432274415042
+2958 0.320674233899222 -0.639730104325325 0.719818330784272
+2959 0.314504186176152 -0.647782135921231 0.715325395368432
+2960 0.308250681346187 -0.646144908858598 0.719515999965063
+2961 0.294136465366599 -0.664132162098637 0.708969118514927
+2962 0.296933394395642 -0.672284557149666 0.700063592476254
+2963 0.306904401712793 -0.672475821543024 0.69556520733095
+2964 0.314558467595193 -0.653779425600122 0.70982422692251
+2965 0.322786579480722 -0.651619482204263 0.708114308935347
+2966 0.321006826715735 -0.648424923791419 0.711846005402845
+2967 0.344554102857256 -0.629627894781465 0.717688082886494
+2968 0.347602434698555 -0.62606022875858 0.719337290398872
+2969 0.333856879414613 -0.62549483511616 0.726306268257781
+2970 0.319780071952959 -0.635286998675024 0.724138201516976
+2971 0.300555442435994 -0.63608855016077 0.731630222432393
+2972 0.295418349173034 -0.627710644235367 0.740899686924957
+2973 0.288609283217205 -0.630930049501462 0.740848806624492
+2974 0.291271957014728 -0.619152714598052 0.749690311437112
+2975 0.283000106249176 -0.62590176696411 0.74725023785487
+2976 0.279586188436342 -0.623008800689204 0.75094380448835
+2977 0.268667367105323 -0.626696896673074 0.751860256665447
+2978 0.285409838634055 -0.618902921394219 0.752147191645747
+2979 0.293051136524116 -0.609377931752174 0.756970651792635
+2980 0.286052129759043 -0.602505811000993 0.765105173665916
+2981 0.268930108329367 -0.608940050966016 0.766220341131362
+2982 0.250216052706592 -0.625078479665094 0.759535266612095
+2983 0.224741158480213 -0.659908542132376 0.737724289762574
+2984 0.235241573536356 -0.643036469453959 0.749259968924222
+2985 0.232114690097776 -0.637349130895579 0.755072086616545
+2986 0.255493819753057 -0.613090686106971 0.767507471414367
+2987 0.258915451221985 -0.601657389241816 0.775368412491273
+2988 0.129835340953336 -0.736332832736565 0.686426794111125
+2989 0.143398130023712 -0.730096970641908 0.690376991045626
+2990 0.141203528345564 -0.736373761293358 0.684134670413243
+2991 0.130934581672376 -0.742566936845405 0.679467055585708
+2992 0.124654020151877 -0.706948101314121 0.717572823696895
+2993 0.129239891455749 -0.709963728383052 0.713774162348947
+2994 0.126001220689435 -0.714588455479639 0.709726730284267
+2995 0.351190086968338 -0.552896326381297 0.775368412491273
+2996 0.353876398190428 -0.55988528515218 0.769106600071688
+2997 0.349105181909517 -0.563861743145464 0.768381745345946
+2998 0.355596058811398 -0.566714879523919 0.763289386985035
+2999 0.349267304637655 -0.567903566603988 0.765325348430075
+3000 0.34519519758168 -0.580682167189614 0.757544385679492
+3001 0.354901723398803 -0.574074439928734 0.758095181457493
+3002 0.347576286974514 -0.588000445035775 0.750780394903024
+3003 0.352310639328497 -0.590233415854254 0.746811039169189
+3004 0.359488614251439 -0.582448152883227 0.749497888873943
+3005 0.376080282252201 -0.575960674663731 0.746363130481406
+3006 0.383526626678633 -0.564130484396962 0.751591061151314
+3007 0.383806052665328 -0.571831750435601 0.745604696291014
+3008 0.39636378304068 -0.559887529634033 0.748095385398133
+3009 0.388907264033732 -0.576383419907433 0.739431060503688
+3010 0.396477094501181 -0.570498278325035 0.739974748193526
+3011 0.396471932892811 -0.570490851190582 0.739983239767012
+3012 0.400798781729653 -0.553376744251544 0.750572791596916
+3013 0.406999746315185 -0.555972470476311 0.745299147035499
+3014 0.407728758974188 -0.565329873863977 0.737824093414079
+3015 0.411034973105942 -0.556557862628535 0.742642980462453
+3016 0.414754761414233 -0.563073893476829 0.735629851466801
+3017 0.419411412661635 -0.559864301112091 0.735439345744733
+3018 0.417610354726975 -0.546646561572587 0.746327092061971
+3019 0.413711407385706 -0.544926154190083 0.749748863205903
+3020 0.411097774238634 -0.551188600543467 0.74660213410288
+3021 0.409629214683221 -0.542039739835493 0.754070173735229
+3022 0.408645793005795 -0.553464300372022 0.746264620675785
+3023 0.402347987382468 -0.552627531411766 0.750295880686423
+3024 0.403989033527752 -0.548197743630006 0.752660012667262
+3025 0.399228830698766 -0.54876593256639 0.754782943629118
+3026 0.405881611928444 -0.538681779787166 0.75848998491984
+3027 0.395801096004082 -0.548771572999243 0.756581953967912
+3028 0.395314740956115 -0.534315227068239 0.767110483376297
+3029 0.386189866157848 -0.541398243632235 0.766792233312854
+3030 0.383929028349119 -0.537831576216155 0.770428904452414
+3031 0.379294599040774 -0.549736715835862 0.764297161057464
+3032 0.377704075910872 -0.542636197266332 0.770136733610759
+3033 0.369211458459174 -0.550294834409539 0.768819545904387
+3034 0.371484266204404 -0.540008044211296 0.77499403362198
+3035 0.364850795256431 -0.545192854412065 0.774515105532988
+3036 0.364441744846629 -0.544252734971454 0.775368412491273
+3037 0.363034678248833 -0.545192303045016 0.775368412491273
+3038 0.361351948715269 -0.553699973799278 0.770107854897193
+3039 0.361186613015438 -0.54641838868142 0.775368412491273
+3040 0.66406127973339 -4.76768569655414e-09 0.767624658774621
+3041 0.658305675154605 -0.0222983536731348 0.772244405277699
+3042 0.67313377296307 -0.015945566090956 0.759514096392253
+3043 0.674403876866412 -0.0316507282543754 0.757893556027837
+3044 0.669034741267374 -0.0359642815183835 0.762446119691198
+3045 0.672656852568452 -0.0562481285917091 0.758019727132899
+3046 0.67661170375962 -0.0491767606848288 0.754985594924865
+3047 0.675742010676326 -0.054760653211265 0.755380040686138
+3048 0.682362951756699 -0.0522294411816909 0.749585143625281
+3049 0.687546474646449 -0.0286965307634042 0.746110819063351
+3050 0.700889770052173 -0.0221732933472309 0.733816649646456
+3051 0.70336331629829 -0.0135175511794232 0.731657242905435
+3052 0.711260363282393 -0.0153707251594528 0.723945741358751
+3053 0.71297222169997 -0.0136399779865421 0.722294650461109
+3054 0.739152012658331 -0.0207109441276477 0.695305946311751
+3055 0.733240013373311 -0.0906671543059536 0.695962319323659
+3056 0.728433698590488 -0.0983327580244498 0.699957152586561
+3057 0.73420728178443 -0.120257374632951 0.690436696027311
+3058 0.744014352601928 -0.112521596977173 0.681180250253955
+3059 0.769201021260555 -0.118982388999921 0.651458348629896
+3060 0.782415258901312 -0.130931416431998 0.633173220240325
+3061 0.78131083036101 -0.12299275626145 0.636121975935276
+3062 0.787066600783823 -0.127829434937462 0.628021338406719
+3063 0.788386307759496 -0.119668574722517 0.62797409338382
+3064 0.788162181295091 -0.122816966403291 0.627647487639087
+3065 0.802355313477671 -0.127008828842345 0.608538994913427
+3066 0.803663066890079 -0.0967843004699825 0.612358942205768
+3067 0.819110101022694 -0.0804299239297428 0.593982044963691
+3068 0.813132533114284 -0.0627812866325858 0.604234220844786
+3069 0.814870225760192 -0.030250220314936 0.604397583830735
+3070 0.807079543046545 -0.0204575410674903 0.615165912749765
+3071 0.806044705751425 -0.0100873844467866 0.616778061384418
+3072 0.798196125941859 -0.00702148666515617 0.626943891633389
+3073 0.795206777907084 -5.70925620351282e-09 0.630770307140906
+3074 0.824675651759549 -5.92083054559215e-09 0.591722121772511
+3075 0.825749470411012 -0.0135197139059303 0.590067817671693
+3076 0.832024967964768 -0.0284297851365623 0.58064722508621
+3077 0.831159817218801 -0.0410867492418599 0.581128417200145
+3078 0.827667839804174 -0.0430720559088353 0.585948585588939
+3079 0.828404137679912 -0.0679325534282864 0.582543348481049
+3080 0.820158062343874 -0.0785532973181204 0.592785907603068
+3081 0.820789977522675 -0.0853271775098228 0.590972152961993
+3082 0.837035342732515 -0.100003050688791 0.565328422131415
+3083 0.846028869362177 -0.138345448463873 0.543434162613178
+3084 0.855169467238704 -0.148420578685565 0.526195319368495
+3085 0.867374111342945 -0.147686550226244 0.506039359985275
+3086 0.867861118302219 -0.148580078399163 0.504941620033564
+3087 0.791655695790043 -5.68376090069452e-09 0.635221425428316
+3088 0.789440758202752 -0.00333438388835958 0.637963299236209
+3089 0.782623081738185 -0.00245869662904983 0.646312669488625
+3090 0.780355324561316 -5.60262890291476e-09 0.649053593649094
+3091 0.750329277150245 0.629601018698283 0.266145699017052
+3092 0.750957535670231 0.627339194324081 0.269691147212708
+3093 0.754206314667421 0.626418803627086 0.262673404398308
+3094 0.755097308173404 0.601861142210919 0.312755848363938
+3095 0.763382523523664 0.583905503096913 0.326383955230312
+3096 0.755237506859214 0.57141374760751 0.36514057194212
+3097 0.753913538158984 0.574717160298487 0.362683832888984
+3098 0.75299472439237 0.56526990169497 0.379069760433377
+3099 0.760115958973847 0.545555249927371 0.393469437428058
+3100 0.756328013236139 0.539011643561542 0.409462311451688
+3101 0.753474665880859 0.54329713327239 0.409058862333687
+3102 0.756081128708275 0.532147993605161 0.418789732100994
+3103 0.748721467746521 0.497191340246397 0.47163750372451
+3104 0.749010635546204 0.47947842633995 0.489191686880752
+3105 0.743216379391379 0.473083599222317 0.504030080006369
+3106 0.746841222889062 0.489412031533464 0.482627238336026
+3107 0.743791968472039 0.506350129576728 0.469689316372132
+3108 0.724615502024137 0.507420817033155 0.4976760881012
+3109 0.738395570969209 0.508917216981915 0.475394832778437
+3110 0.732892661505987 0.517405127258733 0.474747597147204
+3111 0.732106175563052 0.556496772241628 0.42960084984447
+3112 0.735044678700812 0.562551455918336 0.416497514707808
+3113 0.728139109049649 0.578265225791997 0.406998484655795
+3114 0.728499281165242 0.592924655395813 0.38464808639259
+3115 0.734562059282639 0.599051500411412 0.363016364530974
+3116 0.729342414100211 0.611990949681962 0.351783627393099
+3117 0.729342414100211 0.611990949681962 0.351783627393099
+3118 0.723849398378529 0.624706427907134 0.340600832938722
+3119 0.714680699178286 0.659578442611631 0.290538768951841
+3120 0.721244503638546 0.663185793620808 0.264982960038427
+3121 0.71898285520714 0.681412141108455 0.221282958829139
+3122 0.699750652896767 0.700730816610342 0.222599071029398
+3123 0.690503451844859 0.706558138161885 0.232820919136457
+3124 0.650161259286606 0.740018746341178 0.244719414813141
+3125 0.640117795457527 0.745323162374578 0.254887409588143
+3126 0.599506042578153 0.772764342018684 0.271390450489165
+3127 0.593173811970192 0.772575597090871 0.285476401077979
+3128 0.55677751171362 0.795754696783728 0.294954682954224
+3129 0.548664920799841 0.7961791072772 0.308691810417744
+3130 0.535464822441671 0.804464193369666 0.310386509876964
+3131 0.526679599208066 0.804801736445157 0.324234120340364
+3132 0.511182609091103 0.813040173114232 0.32845550241272
+3133 0.507244602819466 0.806908002181636 0.349037804436371
+3134 0.501116326281067 0.808057282341528 0.355177217722916
+3135 0.497168852604368 0.811929146783613 0.351879514327405
+3136 0.472988788105333 0.812937170176687 0.381627781577507
+3137 0.483270961378854 0.796509329312208 0.4027990394807
+3138 0.50336572240481 0.780523103189934 0.409428424629555
+3139 0.508771694609893 0.772281829100965 0.418278781680646
+3140 0.508834950205222 0.761997386768079 0.436660023368602
+3141 0.502555050684172 0.759441998362338 0.448231270835992
+3142 0.543899419642251 0.751179867687154 0.412464819947512
+3143 0.5630363561663 0.736266502941054 0.413674628520926
+3144 0.570496567058553 0.733120156150067 0.409015285314507
+3145 0.579100157417144 0.72279378688551 0.41525552292431
+3146 0.568076556860716 0.716158891454466 0.441169432005419
+3147 0.575040367481518 0.709897816819457 0.442265378977022
+3148 0.583800334719453 0.715063029660863 0.422003593342146
+3149 0.587180502832164 0.699846406994323 0.44233365654323
+3150 0.581968935488279 0.697623910507221 0.452612458528543
+3151 0.592773476554325 0.67824624958981 0.467789087528832
+3152 0.591774867774348 0.659553130012516 0.494992095453399
+3153 0.596211740134471 0.655292475750461 0.49532649045923
+3154 0.58964835782935 0.659207886147428 0.497980699375176
+3155 0.589300723250214 0.654204568873266 0.504941620033564
+3156 0.630850663016728 0.775622436699444 0.175106472352597
+3157 0.629898306342393 0.775144972630221 0.180564102393248
+3158 0.622676248260617 0.780440403488174 0.182789678196824
+3159 0.628061086208928 0.776205594978801 0.18239831773804
+3160 0.621425792729394 0.775427627243308 0.206801786835744
+3161 0.62773671934095 0.769615438208504 0.209436597714424
+3162 0.647460406679855 0.756117832589479 0.198257017586125
+3163 0.674001848710163 0.733292523570022 0.195521310377134
+3164 0.687473976728817 0.722948940775483 0.186947480197708
+3165 0.695023791942275 0.714853418141647 0.190135528519489
+3166 0.711338379395314 0.700884992646002 0.181612051039742
+3167 0.725470275359698 0.680226173505998 0.20300303556083
+3168 0.733126668229642 0.672434436683054 0.201450283428067
+3169 0.721880481430537 0.682080644146753 0.209474498232997
+3170 0.721150019398178 0.680221678464341 0.217867201912454
+3171 0.739389584596719 0.647056457574657 0.254648744157176
+3172 0.749238599491472 0.633379890392221 0.260185386751054
+3173 0.750329277150245 0.629601018698283 0.266145699017052
+3174 0.563626562004751 0.676449598241129 0.504941620033564
+3175 0.560323240992551 0.701942488716264 0.472799754799451
+3176 0.548945054787117 0.713741775038166 0.468462384178428
+3177 0.537171739548842 0.732052357449665 0.453619739630518
+3178 0.524380804869007 0.743241502715648 0.45037966220281
+3179 0.496594332852182 0.755414971838243 0.461483790508099
+3180 0.49418013707891 0.77020813362923 0.43907906236582
+3181 0.459330375269217 0.795583545227429 0.431610274342949
+3182 0.459330375269217 0.795583545227429 0.431610274342949
+3183 0.435810815914654 0.811307500593391 0.426701385295043
+3184 0.366036021117228 0.840088468830055 0.436456178537367
+3185 0.365417266034988 0.846759917194203 0.423901951300983
+3186 0.356144477429148 0.851157092297386 0.422986661052779
+3187 0.355759012005626 0.858069061831001 0.409118577560648
+3188 0.34261234651481 0.862993621947508 0.409980229393488
+3189 0.344902971659083 0.86519926238082 0.403357380639575
+3190 0.335958723917866 0.866229526554309 0.408660180527754
+3191 0.342613351636978 0.866464594149764 0.402591850842712
+3192 0.332557317664095 0.875348256314264 0.391658091497724
+3193 0.313069063673845 0.881531455942648 0.393846484755186
+3194 0.318262177908082 0.882754956968219 0.386882245730198
+3195 0.33783645980343 0.877136837424889 0.383043724475091
+3196 0.312177234474091 0.897590731069988 0.356512627789469
+3197 0.290930948836892 0.901352682448484 0.364893854225838
+3198 0.285356881033189 0.895571152159949 0.383078010157085
+3199 0.276294188426885 0.898705440093731 0.382380770159093
+3200 0.283182679529666 0.898567233131307 0.377636726970704
+3201 0.283296047169528 0.900686856937352 0.372466824560839
+3202 0.277163770724698 0.902487166648211 0.37272262908623
+3203 0.283080290644598 0.903188767969732 0.366525031153244
+3204 0.278824579746577 0.908053132481485 0.357660960016196
+3205 0.284859051560446 0.912081501525251 0.342326825299342
+3206 0.277879712303124 0.935521384922728 0.278940143834826
+3207 0.243194806182629 0.966036616765417 0.194562435516777
+3208 0.238281335482388 0.970971023512524 0.175106472352597
+3209 0.18799677825557 0.981947012168047 0.175106472352597
+3210 0.185578434639561 0.981592049944 0.179618184167042
+3211 0.175498115581879 0.983292386575188 0.180448036649004
+3212 0.176779802594412 0.978443802423749 0.204013790938837
+3213 0.172237719543019 0.976808638383456 0.215415997423773
+3214 0.172237719543019 0.976808638383456 0.215415997423773
+3215 0.165716215795059 0.974198755591296 0.231732432833506
+3216 0.169457650191125 0.965762687123575 0.262319532157927
+3217 0.165350053081194 0.963661126165721 0.272473106678551
+3218 0.153919607776998 0.965364375836338 0.273139847345443
+3219 0.147989835115121 0.963451304417228 0.282993980005478
+3220 0.130372987757009 0.96466516632043 0.287487392682337
+3221 0.129997460013525 0.962266147071409 0.295583359799528
+3222 0.0986305634628415 0.959192510868606 0.316933335331865
+3223 0.0828695380119523 0.954532493316143 0.335000535631441
+3224 0.0604261293918415 0.952908351898742 0.344295448370065
+3225 0.0485755648009918 0.948898618549344 0.357010960923345
+3226 0.0509745545305264 0.944882867485249 0.367182463529057
+3227 0.0361689154949307 0.943263064006792 0.373057102375011
+3228 0.032503267419152 0.93994354053783 0.381673523064264
+3229 0.0289097152305562 0.944386595797396 0.370841187091581
+3230 0.0223615956164584 0.941207913897587 0.379279081756479
+3231 0.0160468557200128 0.944450948345737 0.371456463923216
+3232 0.0157328290372773 0.941347980265187 0.379264364449307
+3233 0.0128588352434104 0.943533919722755 0.37390291880219
+3234 0.00784559620261371 0.941380202607097 0.379429520147876
+3235 0.00364929383514967 0.943112290009496 0.375167817233233
+3236 0.00159855870995093 0.939389563827692 0.384408236100203
+3237 -0.00319711870603568 0.943258517999936 0.374804144390832
+3238 -0.00873013756051305 0.937906785374577 0.387917061556336
+3239 -0.0102521359224235 0.94191953549822 0.378031060041164
+3240 -0.013650194352019 0.94086111219481 0.380550968667401
+3241 -0.0112251622481832 0.936815354277377 0.390481738014282
+3242 -0.0236631741555363 0.936579649821174 0.39049150276252
+3243 -0.045924001112105 0.952234389481168 0.348375736255098
+3244 -0.0510962181147983 0.949602994498156 0.354779268467732
+3245 -0.0498432987327532 0.952402628550477 0.347375702520456
+3246 -0.0625525973757654 0.952991994851765 0.343683619496186
+3247 -0.067222266474657 0.955880782982302 0.334661165382466
+3248 -0.0579902521163118 0.956515516047325 0.33457465268637
+3249 -0.0659952764920737 0.959000892259962 0.325863333508592
+3250 -0.0682847584323388 0.955849732422476 0.334534722852081
+3251 -0.077625138807041 0.965211220534756 0.304247658296648
+3252 -0.0722323458228755 0.9737282845544 0.277237652701918
+3253 -0.078573382705683 0.971759076950098 0.282374786224406
+3254 -0.0748537377867933 0.974122513800783 0.275149497629543
+3255 -0.0788764250296544 0.972527621737299 0.279631068611009
+3256 -0.0844343942765417 0.973760454487303 0.273653814773036
+3257 -0.0871962812561992 0.971690217937725 0.280071292529646
+3258 -0.0929352004517856 0.973018371364945 0.27353847536187
+3259 -0.097128947190656 0.970125421498105 0.282219124406478
+3260 -0.107296613967236 0.968193152055348 0.285156898819398
+3261 -0.103607383565257 0.966684274851798 0.291568212987999
+3262 -0.109403971927987 0.967612939884594 0.286323190633019
+3263 -0.116670047523418 0.965097938907316 0.291888794453872
+3264 -0.115923287264492 0.961596923268834 0.303509717521048
+3265 -0.124629974219221 0.965693657032656 0.28658005913359
+3266 -0.131131268369166 0.964542238916155 0.287554968314765
+3267 -0.132994339375391 0.972384324436128 0.25885561860813
+3268 -0.139530436372707 0.977188458350076 0.236345032088776
+3269 -0.140951415834266 0.975217140203468 0.24353485957391
+3270 -0.150106065442853 0.97861707299803 0.223610808222755
+3271 -0.147577120496247 0.982510848261143 0.207649768974599
+3272 -0.153562125956343 0.982253512492863 0.204503571282265
+3273 -0.146691996942143 0.986781150600874 0.187001119921624
+3274 -0.148620941772999 0.988673120402662 0.175106472352597
+3275 -0.159396636412979 0.986993128466687 0.175106472352597
+3276 -0.158822739568058 0.986008821749048 0.181071645569235
+3277 -0.172364986597278 0.977530426227811 0.212013153351846
+3278 -0.172087628564664 0.975957450641578 0.219357932685788
+3279 -0.170751071872722 0.97322390444498 0.232173002890484
+3280 -0.1715735577876 0.973042010355621 0.232328991628676
+3281 -0.148952240964386 0.98862326153693 0.175106472352597
+3282 -0.15215765660147 0.987117421068506 0.180754652943184
+3283 -0.151048354297336 0.98830517453077 0.175106472352597
+3284 -0.283752462186107 0.958669527805881 0.175106472352597
+3285 -0.281376809914271 0.958754107237927 0.178445097150001
+3286 -0.288529599032097 0.956984003902699 0.176514267855991
+3287 -0.282594477347887 0.958012649049108 0.180491345040104
+3288 -0.288371507580168 0.956399254714599 0.179909252672844
+3289 -0.287550978363893 0.955669060451857 0.185029948216587
+3290 -0.296282172618491 0.953655565236005 0.181612051039742
+3291 -0.324379151336208 0.941051597017598 0.198557442391438
+3292 -0.325761285013871 0.935669314394175 0.220516483028472
+3293 -0.330160995289823 0.93405525543884 0.220815527027238
+3294 -0.318032965383032 0.926681102738867 0.265220977217776
+3295 -0.306730813013598 0.926004302187082 0.280458982168575
+3296 -0.286310841162923 0.928821805303217 0.292474197538607
+3297 -0.259079990179794 0.925363219648727 0.326811062251234
+3298 -0.262125955962923 0.918557234796447 0.343172827615515
+3299 -0.271780609937588 0.913241607459368 0.349785743658862
+3300 -0.270628837938233 0.910533870478914 0.357649413234371
+3301 -0.27491209612746 0.909806699091134 0.356230416572897
+3302 -0.270960136952435 0.908628086763184 0.362216239458965
+3303 -0.282804879689413 0.905254463115683 0.361608568804714
+3304 -0.288605340220396 0.899925586952915 0.370224115291969
+3305 -0.299435257659839 0.896112957517346 0.370870723891359
+3306 -0.299901163062234 0.893510638506166 0.376726732885023
+3307 -0.310443321367664 0.89342943968119 0.368284917596646
+3308 -0.316655630761821 0.888830499151227 0.374078274276138
+3309 -0.322779142882254 0.888516819309259 0.369562561313716
+3310 -0.319290573181209 0.893463357663956 0.360557565985606
+3311 -0.324841032723387 0.896092730211001 0.348885543297794
+3312 -0.330423665671211 0.893970442113558 0.349087452927901
+3313 -0.329405446072126 0.886596995382808 0.36832434059698
+3314 -0.330900247773313 0.887534854028311 0.364707977577274
+3315 -0.348509752362068 0.878532377334023 0.370063257409271
+3316 -0.34840268419148 0.876610473115975 0.374692738215673
+3317 -0.358816778061725 0.873018896257631 0.373247272673908
+3318 -0.358436064696441 0.8711411314501 0.377970523481353
+3319 -0.367103995180171 0.868549352887668 0.375608410876501
+3320 -0.365547900653114 0.864446951078161 0.386433954382598
+3321 -0.369597710808947 0.865923348094595 0.379208764916415
+3322 -0.371372827395602 0.863022825511691 0.384055758605457
+3323 -0.375823530485851 0.862399681858135 0.381114763114917
+3324 -0.370657052534375 0.857852099595255 0.39614154620103
+3325 -0.386884198287615 0.856973158978542 0.382286047228627
+3326 -0.384808529599792 0.855878224650977 0.386807264817425
+3327 -0.392469464640407 0.850160998297791 0.391687370613575
+3328 -0.394815162622974 0.851256626686214 0.386921365248551
+3329 -0.400184744183632 0.846062248059745 0.392754176210479
+3330 -0.404704797480869 0.845744495509303 0.388786927778806
+3331 -0.417439731177357 0.837400976167123 0.393355660883284
+3332 -0.420041925379852 0.83370991125997 0.398393730861921
+3333 -0.415303707667354 0.834538250753281 0.401613917123652
+3334 -0.426227647338966 0.827785065115652 0.404137202711363
+3335 -0.426684223607185 0.824812618547327 0.409694663877668
+3336 -0.430785646314641 0.824542636355268 0.405928771783403
+3337 -0.43681863479121 0.816921501758381 0.41479361164798
+3338 -0.430949316840786 0.818060151619617 0.418670842842619
+3339 -0.443163266311983 0.811100269658583 0.419461168585923
+3340 -0.440678110304739 0.809504212911307 0.425124372833514
+3341 -0.446739733550432 0.806404449911532 0.424688678481271
+3342 -0.443792285370374 0.804924180395941 0.430546712053016
+3343 -0.449847609092844 0.802209436763355 0.429327553461541
+3344 -0.448871284167548 0.798931442307829 0.4364036213664
+3345 -0.454376308571544 0.798062232781656 0.432277506720457
+3346 -0.449685707763002 0.794428536116304 0.44372408683527
+3347 -0.454704631217717 0.78887466267602 0.448492435763365
+3348 -0.449293142126051 0.791542174599844 0.449245654701578
+3349 -0.452654568213131 0.789388766341026 0.449660113252639
+3350 -0.447271054886357 0.789166423247805 0.45540087821513
+3351 -0.454104470863342 0.786532019826533 0.453190369855227
+3352 -0.1715735577876 0.973042010355621 0.232328991628676
+3353 -0.188185295941603 0.969213144728408 0.235451002285062
+3354 -0.186588591913225 0.972964186270721 0.220794903932119
+3355 -0.202357719865982 0.969561644415365 0.221870617453538
+3356 -0.217241148845041 0.968387231838765 0.212737990166641
+3357 -0.226436942925964 0.97098182777961 0.19011996475939
+3358 -0.233500663929501 0.968281145578342 0.195279448642135
+3359 -0.234961489893026 0.970177106134142 0.183778347474425
+3360 -0.239032403696864 0.968494253757397 0.187369662490496
+3361 -0.260241500038663 0.965301674457159 0.175191435144049
+3362 -0.260228526527669 0.965320587847098 0.175106472352597
+3363 -0.313821922758087 0.911456725346134 0.31778520830542
+3364 -0.32330464913367 0.909300658475103 0.314438255219208
+3365 -0.335618584918225 0.901872988934098 0.322816166399028
+3366 -0.343495484441434 0.892879471065887 0.339119598840065
+3367 -0.340977705977682 0.891438113271034 0.345394403883411
+3368 -0.315050013252147 0.901659072344012 0.343481304308629
+3369 -0.306323025444474 0.908593972067287 0.332938730107407
+3370 -0.313790106725245 0.911467679242462 0.31778520830542
+3371 -0.313821922758087 0.911456725346134 0.31778520830542
+3372 -0.487246348709106 0.843935436430898 0.283881973372445
+3373 -0.485352382480028 0.844735879109134 0.284744375478566
+3374 -0.484448688372118 0.847678094130038 0.277446061544585
+3375 -0.490260514521578 0.849156124789389 0.262304219626192
+3376 -0.280102854248289 0.959742212462383 0.175106472352597
+3377 -0.278428391331415 0.959669553524578 0.178148755085568
+3378 -0.282129058174679 0.959148537961508 0.175106472352597
+3379 -0.172364986597278 0.977530426227811 0.212013153351846
+3380 -0.172741209306259 0.977270149057334 0.212904979671369
+3381 -0.172087628564664 0.975957450641578 0.219357932685788
+3382 -0.490260514521578 0.849156124789389 0.262304219626192
+3383 -0.492087799522059 0.849579367271227 0.257467466427429
+3384 -0.498780351010088 0.847606505762632 0.251010702630612
+3385 -0.49902343250397 0.845384497384914 0.257925697427015
+3386 -0.505391913777029 0.842511717051508 0.254907865943191
+3387 -0.502223103792422 0.84853674807813 0.240795226651398
+3388 -0.512514701888605 0.843402780744569 0.237119020283828
+3389 -0.518513864694303 0.837909072923195 0.24346818607935
+3390 -0.532607892886472 0.832943866035452 0.229691855469336
+3391 -0.529925662618825 0.830760389790089 0.243394673018571
+3392 -0.543402023364688 0.826684437393034 0.227006788390404
+3393 -0.553277735805301 0.820298862446752 0.226315097443197
+3394 -0.553277077180212 0.820297885958135 0.226320246905876
+3395 -0.555352428576815 0.820900052369664 0.218933286855417
+3396 -0.555793728208421 0.81813275526572 0.227984925917272
+3397 -0.549646027724502 0.822292696987182 0.227923155226103
+3398 -0.545212450315566 0.822789804152863 0.236612176785113
+3399 -0.551236635773075 0.818011610300426 0.23920739285249
+3400 -0.547003030682063 0.819731456090059 0.243008280355029
+3401 -0.540074402308847 0.823624959284021 0.245329505798093
+3402 -0.538949458572394 0.826336911782225 0.238591259963013
+3403 -0.53256942824344 0.827241857021083 0.249530988241473
+3404 -0.52516233417276 0.832364119395758 0.248192456591135
+3405 -0.525660459158088 0.833798425450135 0.242252486869761
+3406 -0.516179259654127 0.837170125307742 0.250858831208185
+3407 -0.509818767635682 0.836135783295863 0.26680850072411
+3408 -0.521592118234512 0.819935160232049 0.293040944597984
+3409 -0.514449581976329 0.818927647567682 0.308097607348128
+3410 -0.515326313092113 0.814535981055794 0.318111500264237
+3411 -0.49048985882688 0.82864671853616 0.320919482498712
+3412 -0.493891834761223 0.84107815903658 0.280861862750765
+3413 -0.487246348709106 0.843935436430898 0.283881973372445
+3414 -0.454104470863342 0.786532019826533 0.453190369855227
+3415 -0.455910276731118 0.785822543984683 0.452607720809528
+3416 -0.460844390277761 0.771266812908986 0.472223412438153
+3417 -0.456208957986955 0.771929862937536 0.475628713764942
+3418 -0.469465178897397 0.762359216599584 0.478158834142487
+3419 -0.463830560183019 0.761489354736944 0.484995024781306
+3420 -0.467899744958109 0.756648693629118 0.488648731807917
+3421 -0.462774169931239 0.757580767874591 0.492073620295782
+3422 -0.469819458029405 0.752628067637736 0.492996621348303
+3423 -0.468453984687664 0.749741325360296 0.498662019084305
+3424 -0.46148134275031 0.755227295020538 0.496881981107518
+3425 -0.468885587523365 0.746367587326642 0.50329586765746
+3426 -0.465570551959632 0.74733059719637 0.504941620033564
+3427 -0.483236247425484 0.808581447835444 0.378026151728254
+3428 -0.488026976548147 0.781006425901957 0.426712588121238
+3429 -0.481049514909118 0.782761105648351 0.43139473303446
+3430 -0.467253044616784 0.805114323148219 0.404586849709591
+3431 -0.467797286210084 0.809269807127316 0.395566781070652
+3432 -0.483222134943364 0.808589881775863 0.378026151728254
+3433 -0.483236247425484 0.808581447835444 0.378026151728254
+3434 -0.383506246319402 -0.792579282716803 0.504941620033564
+3435 -0.382761648947857 -0.795319951703505 0.501183294331577
+3436 -0.364150162086194 -0.816092333203638 0.481261844673812
+3437 -0.36935388960252 -0.81886636712785 0.47250457883742
+3438 -0.365596019941999 -0.822764715781366 0.468639277768923
+3439 -0.380590608663623 -0.815176037998453 0.469961504455629
+3440 -0.363847055831442 -0.83174439700302 0.453918030063659
+3441 -0.356304662509349 -0.83264518688339 0.458229178723946
+3442 -0.345469537995216 -0.844902838184106 0.443863709201162
+3443 -0.348153350103713 -0.854146286783053 0.423613462470544
+3444 -0.323572310632601 -0.873370805343532 0.403422106689098
+3445 -0.320270102552754 -0.879504982953621 0.392585081696438
+3446 -0.311112989160057 -0.880557980375697 0.397556726986939
+3447 -0.314705381314426 -0.87283703821633 0.411510665341113
+3448 -0.326935856535128 -0.866033354664483 0.416322200128966
+3449 -0.33244584972039 -0.846474790824597 0.450760674307489
+3450 -0.347194760017528 -0.829833046071305 0.470167963885663
+3451 -0.34704325100541 -0.823731382960129 0.480887295172361
+3452 -0.365873373068972 -0.800871797004372 0.504941620033564
+3453 -0.33843832511036 -0.812845902034558 0.504941620033564
+3454 -0.33569592849625 -0.8236248448602 0.489055578150431
+3455 -0.323379534194102 -0.837796407221938 0.473019932889109
+3456 -0.314722352126175 -0.841673588718313 0.471975011124745
+3457 -0.316692450017536 -0.845952008792982 0.462921257797704
+3458 -0.298067601414395 -0.861108088922621 0.447072213606595
+3459 -0.304221023476232 -0.863882405994037 0.437472007663379
+3460 -0.285119517300168 -0.875220097958324 0.427693396002722
+3461 -0.28534774953574 -0.878418716670058 0.420930184280739
+3462 -0.257596875746697 -0.899947416137575 0.392381826532325
+3463 -0.247733353025348 -0.91243957654667 0.369198056536261
+3464 -0.254471170544668 -0.915112038295703 0.35782590840786
+3465 -0.250093541237546 -0.917521777961658 0.354728075569643
+3466 -0.25754611422813 -0.916556493863145 0.351879514327405
+3467 -0.255341099907772 -0.91954601588441 0.345631374977732
+3468 -0.225259119124592 -0.937550838292215 0.316988572142243
+3469 -0.200049166550351 -0.945212516012534 0.311092639796839
+3470 -0.186248608332935 -0.951778854074488 0.299421891034537
+3471 -0.168753357282947 -0.957047818139245 0.292927940286762
+3472 0.122552754269804 -0.992241677093395 0.175106472352597
+3473 0.106142523593466 -0.989930193549588 0.197476521602152
+3474 0.116540592460304 -0.976903751142482 0.249604389610338
+3475 0.112859626638164 -0.973185757650763 0.265324679931596
+3476 0.0847112788582328 -0.972555311501472 0.277822182887682
+3477 0.031631226435762 -0.977186348403296 0.272637682664009
+3478 0.0181195688681046 -0.976534342833126 0.27618355941567
+3479 0.0302249966488633 -0.970951201545493 0.294219669286301
+3480 0.0320792423628596 -0.963464468245533 0.317698191115055
+3481 0.0269464666010712 -0.963493605950887 0.318086402144881
+3482 0.0326733767487564 -0.960639380487606 0.326081939254877
+3483 0.0363846376269574 -0.964228535647018 0.314903936445327
+3484 0.0431599585383491 -0.955978982189183 0.338328839432145
+3485 0.0376515225922398 -0.955744090478794 0.339647753358311
+3486 0.0529848714863065 -0.944745442418084 0.367251483896032
+3487 0.0307017049258039 -0.943885364173613 0.371971537370126
+3488 -0.00466619098674656 -0.948051769237116 0.362492854423434
+3489 -0.012025232533835 -0.958217816446266 0.334513093955165
+3490 -0.0261637050308697 -0.96317546885766 0.319113579670129
+3491 -0.0393697279304741 -0.961389892714314 0.323116849931168
+3492 -0.074366313121462 -0.96274199032038 0.312765905345632
+3493 -0.0869519877273432 -0.958034925394516 0.323779915304497
+3494 -0.0981668446645159 -0.956964361843582 0.323739835006318
+3495 -0.127336082607277 -0.932845149173803 0.379223482565543
+3496 -0.128777225311604 -0.929119415797058 0.387786716417642
+3497 -0.12652286268474 -0.915792555692034 0.418976085423871
+3498 -0.124892038608064 -0.910552129432057 0.430722414414513
+3499 -0.118371154757241 -0.910163605065001 0.433376835717505
+3500 -0.12063015200975 -0.912952255636214 0.426839015736441
+3501 -0.113638035496776 -0.906663375876521 0.441896956011946
+3502 -0.116712327583442 -0.895941510478301 0.462484640168638
+3503 -0.122319315034877 -0.895043879752914 0.462773636334493
+3504 -0.116360835272141 -0.895439316556519 0.463544589418929
+3505 -0.112203589469695 -0.889056342997242 0.476669878937706
+3506 -0.099650248102541 -0.888261981996094 0.480921489843688
+3507 -0.103439447762865 -0.885472423701718 0.485246192679879
+3508 -0.0928246276592704 -0.887188780978671 0.484256807288754
+3509 -0.0967700737427282 -0.888184693890023 0.481651847673517
+3510 -0.0793426972453282 -0.885004934756024 0.490607788208994
+3511 -0.0768190835754873 -0.879637482432817 0.500561412713642
+3512 -0.0689081483390201 -0.881659424815444 0.498149902867187
+3513 -0.0737108862247687 -0.882974125941699 0.495124628926346
+3514 -0.0591853568587912 -0.881308374182043 0.500017642818832
+3515 -0.0593249764080587 -0.878570673821189 0.504796115551184
+3516 -0.0590695389916475 -0.88119408766689 0.500232715267836
+3517 -0.0358539692454631 -0.883837754034116 0.497765323654906
+3518 -0.0281489811192362 -0.881503377642285 0.502378771513279
+3519 -0.0133029747018945 -0.888283283162169 0.490918363598999
+3520 -0.00688233405144214 -0.886113466269935 0.494955107432063
+3521 -0.00178220707709633 -0.887935067680092 0.491724658037285
+3522 -0.00302487327227679 -0.884242466364908 0.498328316292172
+3523 0.00359902862717543 -0.885014108354027 0.496952789515531
+3524 0.00910057904250811 -0.889772805721567 0.488309874628254
+3525 0.0155058313174874 -0.887441134445696 0.492374656221144
+3526 0.00450671720158369 -0.884294221540459 0.498225269582162
+3527 0.0117227486791242 -0.881397238632807 0.503216141328822
+3528 0.0054861262169119 -0.880470818810602 0.504941620033564
+3529 0.0940837424608428 -0.875446862900566 0.504941620033564
+3530 0.0969671727141906 -0.875795064661427 0.50379100044612
+3531 0.114256648307831 -0.88286403579614 0.48756693142092
+3532 0.111782341543831 -0.891605545102319 0.47198438540038
+3533 0.11868339281753 -0.890083193311566 0.47317138676552
+3534 0.114682066026869 -0.894490390792419 0.465789614001681
+3535 0.120506344992653 -0.898249485696742 0.457002278180371
+3536 0.126063841259956 -0.896990875273124 0.457974101455027
+3537 0.131455670643492 -0.904632631274185 0.441117001587577
+3538 0.14300433891635 -0.905553278776581 0.435600755678959
+3539 0.14251266949628 -0.909028882510398 0.428464268982771
+3540 0.150962593713585 -0.907271716191988 0.42929398819144
+3541 0.151002120274912 -0.908880854025051 0.425862598568099
+3542 0.157027752816661 -0.893466372324511 0.455285763417469
+3543 0.135142566097434 -0.87005485297565 0.504941620033564
+3544 -0.168753357282947 -0.957047818139245 0.292927940286762
+3545 -0.111766405514769 -0.97146291956323 0.27201666587177
+3546 -0.0734642086282247 -0.972728226844034 0.280406502691164
+3547 -0.022443265645683 -0.985196725188247 0.243122834191918
+3548 0.0264330646640645 -0.988343607020664 0.229571791720689
+3549 0.0221280539764461 -0.988022206076111 0.231403261704993
+3550 0.0447338804007883 -0.986636643699568 0.23403421385246
+3551 0.0465482485728059 -0.988519981022661 0.225580379629437
+3552 0.0398554902810638 -0.988871931889627 0.225319422632256
+3553 0.0752111349466136 -0.993549966066243 0.193459944458303
+3554 0.0703595306547095 -0.994464556419445 0.190564378810744
+3555 0.0754557491996497 -0.994475318739056 0.188547793229121
+3556 0.075466927120175 -0.996929017659365 0.175106472352597
+3557 0.162464573381562 -0.921382411437409 0.393553953467288
+3558 0.143799819604323 -0.92271117814913 0.397681648558754
+3559 0.0975566390805143 -0.932101585347171 0.389736239993928
+3560 0.0938978653278631 -0.937259268622985 0.378091595076084
+3561 0.0829590468833888 -0.939163729153075 0.375917925062758
+3562 0.0979383851332632 -0.937487425196301 0.376497543572727
+3563 0.118155255593117 -0.929813252809313 0.389501797782616
+3564 0.132689083740149 -0.928025595833353 0.38908495285008
+3565 0.136353770067489 -0.92876936637116 0.386031233812623
+3566 0.128135501406609 -0.930579867593769 0.384483293926329
+3567 0.134092225717015 -0.93122638684833 0.380869651507784
+3568 0.163735284470065 -0.928588972366947 0.375683746012525
+3569 0.0694805943689565 -0.877742221477363 0.504941620033564
+3570 0.0715109100737656 -0.880530058536187 0.499777956451343
+3571 0.0837026456802586 -0.876500329414659 0.504941620033564
+3572 0.0866847106937472 -0.99601630723205 0.175106472352597
+3573 0.0821485103396428 -0.995574446570233 0.17974466218876
+3574 0.090647512077362 -0.995663473214928 0.175106472352597
+3575 0.312089969250705 -0.914142582619315 0.311718125451798
+3576 0.31892531038636 -0.909282996152552 0.31892958361181
+3577 0.35133045470845 -0.898566423714513 0.315230540663914
+3578 0.355528730895682 -0.894540215669353 0.321903905005721
+3579 0.334158794600522 -0.899871717478106 0.329839039645295
+3580 0.341154145092805 -0.895880166272845 0.333522978166328
+3581 0.33193432334633 -0.899457294156789 0.333198410819682
+3582 0.327698638924844 -0.898538781613761 0.33980385516186
+3583 0.281981407373777 -0.912230935898066 0.344305395667918
+3584 0.272301016791363 -0.916804426287783 0.339921755987343
+3585 0.284795731649186 -0.914430053042201 0.336056646010224
+3586 0.283577457788684 -0.917337533603037 0.329090678806317
+3587 0.291924918509553 -0.917706956446704 0.320653682409103
+3588 0.261736705244298 -0.925944793671731 0.323024977672122
+3589 0.257789643326535 -0.928489577283938 0.318867691478257
+3590 0.268113696098016 -0.92786834569472 0.312090337919012
+3591 0.297249311686592 -0.917727001659893 0.31566595813643
+3592 0.308359926001754 -0.917650283255993 0.305052640828411
+3593 0.312075063271502 -0.914151101886508 0.311708065028435
+3594 0.312089969250705 -0.914142582619315 0.311718125451798
+3595 0.461369016472905 -0.886961867263217 0.175106472352597
+3596 0.455087381138011 -0.888897871364892 0.181606855079621
+3597 0.470308747188021 -0.879590355192237 0.188030554355479
+3598 0.433268494581507 -0.89869946072763 0.186661969589256
+3599 0.443185380564954 -0.894476098932233 0.183641571798083
+3600 0.421573874168447 -0.906338556533207 0.17621262599459
+3601 0.40208819777767 -0.913123158708439 0.186430089412165
+3602 0.371870164702176 -0.92641075015596 0.183577511149509
+3603 0.366703461757205 -0.925998355541278 0.195654329546094
+3604 0.346446546203202 -0.932712549463343 0.200616775712956
+3605 0.339082966003245 -0.93263561621344 0.213163199301892
+3606 0.336273276268899 -0.935828252274038 0.203398047957937
+3607 0.343244768067609 -0.93306273397751 0.204455285225465
+3608 0.343811054318001 -0.933847507651145 0.199869435838724
+3609 0.337950433549427 -0.935464821380903 0.20228710394523
+3610 0.31495152646538 -0.946227813608189 0.18890066366054
+3611 0.322641187060632 -0.946290329524895 0.175106472352597
+3612 0.163735284470065 -0.928588972366947 0.375683746012525
+3613 0.18421529150411 -0.926197320258085 0.372086347939291
+3614 0.195176693976515 -0.929637044635272 0.357639515951741
+3615 0.209914890016562 -0.927013853488977 0.356098377402724
+3616 0.212375746890926 -0.928398058909319 0.350996561729499
+3617 0.202942722513444 -0.933675790628036 0.342474479887104
+3618 0.247182309168503 -0.922496957522352 0.343693569035167
+3619 0.247182309168503 -0.922496957522352 0.343693569035167
+3620 0.260409650817348 -0.91678602137443 0.349163578818912
+3621 0.234454861907164 -0.921011888577786 0.356360798666847
+3622 0.234068996640089 -0.918289279182423 0.363567744100776
+3623 0.21464030369663 -0.921851575141015 0.366529962539283
+3624 0.165864540527749 -0.921098447645505 0.392799699516891
+3625 0.162464573381562 -0.921382411437409 0.393553953467288
+3626 0.30868387951561 -0.950934795802226 0.175106472352597
+3627 0.315227518105904 -0.946450563893387 0.187317756592056
+3628 0.307953169942586 -0.94581612022257 0.202043836454957
+3629 0.321476312577896 -0.939436994043897 0.210561427315371
+3630 0.311845786730303 -0.941060957496688 0.217672872848169
+3631 0.286563958562517 -0.953474285554198 0.197466160239905
+3632 0.271990719851824 -0.957557790661994 0.198315722667181
+3633 0.270061917671516 -0.959297492525127 0.192457479611957
+3634 0.260474696639442 -0.961557738663222 0.194382734900665
+3635 0.253745458310577 -0.964408037902108 0.189090927377705
+3636 0.246799592547009 -0.968374625843723 0.177666950051662
+3637 0.247198621661046 -0.968739162411177 0.175106472352597
+3638 0.867861118302219 -0.148580078399163 0.504941620033564
+3639 0.872432217395581 -0.157258310523326 0.494324640111717
+3640 0.876995243418777 -0.178825241412883 0.478670947577211
+3641 0.87515804277095 -0.200695181603498 0.473333755667667
+3642 0.88266038033443 -0.214369860755851 0.452969332060567
+3643 0.883021047796912 -0.227805820881816 0.445649343228514
+3644 0.892254830799916 -0.237477362899942 0.42155761056385
+3645 0.894038161892523 -0.254926546320519 0.407349016275884
+3646 0.893810534364866 -0.251322981597664 0.410078635848362
+3647 0.902158209324725 -0.27552478169359 0.374728781948631
+3648 0.907409570016978 -0.279276998577186 0.358939034248606
+3649 0.906411192633432 -0.275596158228067 0.364267082562739
+3650 0.915340404098377 -0.265896329305936 0.348820995191873
+3651 0.918506921883326 -0.272911363462512 0.334797583840521
+3652 0.929619058435289 -0.267336747556606 0.307513364912393
+3653 0.936990131997283 -0.278919386780179 0.272907435255772
+3654 0.936388460232566 -0.29585317337445 0.256656485107138
+3655 0.945083500716385 -0.280197701609331 0.241932686271431
+3656 0.947163360430312 -0.280688452106197 0.233067718726955
+3657 0.950998866597207 -0.265076416729255 0.235713065027811
+3658 0.948336255773026 -0.278301393020404 0.2311529377475
+3659 0.945739269091981 -0.28405927145479 0.234760655131859
+3660 0.94886247730432 -0.285828069380788 0.219516090339545
+3661 0.951393970781852 -0.276765673717657 0.220171011287937
+3662 0.949400639721774 -0.286207080107628 0.216677023683065
+3663 0.953344238033683 -0.273619185481129 0.215620743771606
+3664 0.952597247621053 -0.27949766298377 0.211339868958519
+3665 0.955356110029736 -0.271311296208674 0.209546852943253
+3666 0.955763343449164 -0.273266587420707 0.205101934457764
+3667 0.959579522976145 -0.25602391122949 0.209484834686493
+3668 0.957673569444294 -0.265766402356966 0.206045028491494
+3669 0.960348948254221 -0.257935627690322 0.20352913686991
+3670 0.959253101014742 -0.266114586873677 0.198094711808906
+3671 0.961576686541493 -0.26188546917692 0.192383151377319
+3672 0.962018004083237 -0.257861935881124 0.195585229103181
+3673 0.962545275102317 -0.259318197336018 0.191012214029898
+3674 0.963738090423638 -0.252778028637049 0.193745093628113
+3675 0.967507808015645 -0.249422010231125 0.178724095300625
+3676 0.970125756902609 -0.241699687907057 0.175106472352597
+3677 1.01023221510964 0 0.0982642944037736
+3678 1.00893763057439 0.0236606475366893 0.108212898348972
+3679 1.00607774152837 0.0672075733727499 0.116257129168576
+3680 1.00698944260586 0.0598480667022089 0.112318615520105
+3681 1.00583933382374 0.0779409855749354 0.111523259011861
+3682 1.00599322956974 0.0891482518915567 0.101268016888465
+3683 1.00514166302378 0.0944335166275607 0.104869195625517
+3684 1.00604828490139 0.0894394712399211 0.100461084163495
+3685 1.0054637712764 0.0975766158185899 0.0987239013412245
+3686 1.00615434846234 0.091145297157646 0.097831292930028
+3687 1.00614909965856 0.0944309078979284 0.0947195486151177
+3688 1.00535966735817 0.0999994851489545 0.0973501012809435
+3689 1.00651252360602 0.0944703331249495 0.0907353072596108
+3690 1.00665303828814 0.105508099686107 0.0757806136546455
+3691 1.00520736928381 0.118175793300421 0.0762733676674539
+3692 1.00479787643986 0.118453205162213 0.0810867787542967
+3693 1.00484074028179 0.121020449646062 0.0766429216392891
+3694 1.00460478088809 0.119423420165609 0.0820504779556144
+3695 1.00452849479404 0.123442388079517 0.0768731420721394
+3696 1.00387365563234 0.124610469192556 0.0832761340058938
+3697 1.0036971072065 0.12928688126536 0.07811542304808
+3698 1.00131939961112 0.145689773714808 0.0797430235026592
+3699 1.00086678717694 0.144867303653521 0.086626431637659
+3700 1.00067770098829 0.150536605520451 0.0787900320038471
+3701 0.999575217022459 0.15528552868439 0.0834313495978138
+3702 0.999564855654523 0.162150387135002 0.0692989992158762
+3703 0.997882434627739 0.17107186085629 0.0720421063308304
+3704 0.997906991141312 0.172975317626068 0.0669789259652203
+3705 0.998770077442827 0.167907267232954 0.067011058902325
+3706 0.998231414784935 0.175573786397916 0.0541561452317797
+3707 1.00132509274766 0.16475774929921 0.0206867754796403
+3708 1.00032635901734 0.170915063589111 0.0189793702067249
+3709 1.00056597435882 0.170380025360299 0.00796102465787492
+3710 1.00159171335692 0.164187999665972 0.00901889685270886
+3711 0.99961526794424 0.176025833674086 0.00303677001229937
+3712 1.00107426768146 0.167554530576133 0.000888745994171352
+3713 1.00149103930966 0.164927420978342 0.00629634750415639
+3714 1.00206289582035 0.16104965308537 -0.0125682958755807
+3715 1.003252872264 0.153526251042134 -0.0117628455309064
+3716 0.999855929872345 0.16946463276868 -0.0423657614080615
+3717 0.990853911527851 0.205697412753166 -0.0782438521329953
+3718 0.987310018425093 0.212883250217563 -0.100621316301512
+3719 0.984900476974331 0.221467459259657 -0.10558510759007
+3720 0.986189573844641 0.214533721029122 -0.10784436462571
+3721 0.97697531276437 0.232607804488603 -0.147098088158733
+3722 0.97675620323791 0.225404975896897 -0.15926366904345
+3723 0.972534045922259 0.231819442927522 -0.175106468763589
+3724 0.769272556610739 0.638578466785972 -0.175106468763589
+3725 0.777838751754427 0.635643172042909 -0.145429137741865
+3726 0.776615081113747 0.638986432596627 -0.137077914866416
+3727 0.779102354547295 0.635809926339795 -0.137732562259786
+3728 0.776834292784481 0.641544099293384 -0.123185430209403
+3729 0.786976141408653 0.632132441508429 -0.106311472786997
+3730 0.783957618995953 0.639425800508766 -0.0822806007629947
+3731 0.77640971077783 0.65148510090068 -0.0545905148749809
+3732 0.863835943622415 0.531711870708887 -0.0359854005567266
+3733 0.860599477254803 0.538138243262842 -0.000878001561848741
+3734 0.854592163019969 0.547604800098966 0.00512033333104428
+3735 0.851452171998017 0.552495926149771 0.00156537144653246
+3736 0.84768579756852 0.558192530843753 0.00865373392631067
+3737 0.846506201342553 0.560037428680656 0.00321396411928251
+3738 0.841586696468825 0.567392430069512 0.00476052796474558
+3739 0.838690901474667 0.571642234329553 -0.00690852475752695
+3740 0.834099864567512 0.578359690685815 -0.00157610858302465
+3741 0.833055907105176 0.579838922494773 -0.00544789842721331
+3742 0.840838049793568 0.568434459135045 -0.00993175146678052
+3743 0.841607048254183 0.56674833436386 -0.0268123446321016
+3744 0.848627317003175 0.555666793259491 -0.0359317645643348
+3745 0.8424725950368 0.564740346954349 -0.0391569551145355
+3746 0.846283612194285 0.558574512291469 -0.0449840188260246
+3747 0.851312942408581 0.551072110679977 -0.042553530034046
+3748 0.84993883961809 0.5525052442288 -0.0506648202239873
+3749 0.852424564132273 0.548440938439334 -0.0530084852423379
+3750 0.85203192540027 0.549827719333047 -0.0442275609968375
+3751 0.858059985663186 0.540729937913922 -0.0396130691476868
+3752 0.86165020546043 0.534133340044398 -0.0498547739240155
+3753 0.8638310234721 0.531721315599551 -0.0359639461715084
+3754 0.863835943622415 0.531711870708887 -0.0359854005567266
+3755 0.884872757472272 0.491411992708939 -0.0757592007959926
+3756 0.88356900400928 0.496052792181001 -0.0588425230890208
+3757 0.87499400519292 0.50413805896798 -0.102251202322754
+3758 0.876351640479755 0.500150045050773 -0.109921493185599
+3759 0.86756358373008 0.512442305399662 -0.122316441340073
+3760 0.85841110897793 0.519438226550318 -0.153425215598812
+3761 0.86528190888603 0.509144979337676 -0.149276951234223
+3762 0.870706969161568 0.505704171820938 -0.127897085410008
+3763 0.881179921965406 0.492277034968849 -0.10681884649873
+3764 0.883503554813385 0.494538667120038 -0.0712599140839168
+3765 0.884872757472272 0.491411992708939 -0.0757592007959926
+3766 0.829012383896965 0.558839146752103 -0.175106468763589
+3767 0.830350980622275 0.558441935076183 -0.16995544747961
+3768 0.830299737345544 0.558535862132226 -0.169897136162245
+3769 0.82969480725485 0.560553191465764 -0.166167524961663
+3770 0.823963056586286 0.566391523149612 -0.174672619162956
+3771 0.823825386972838 0.56645781517797 -0.175106468763589
+3772 0.77640971077783 0.65148510090068 -0.0545905148749809
+3773 0.774538761605868 0.654216289717369 -0.0481222717511116
+3774 0.765580605080577 0.66522526443202 -0.0398332108397865
+3775 0.768213042783723 0.662507297662755 -0.0340264814602879
+3776 0.761917069826083 0.669714001312051 -0.0345041324226269
+3777 0.73547503404432 0.699387858931608 0.0125736659955118
+3778 0.704304015631208 0.729626264330763 0.0427360265407377
+3779 0.677575112462757 0.751612768438103 0.0787096772442372
+3780 0.632560501309346 0.776439307505827 0.16502791867784
+3781 0.630850663016728 0.775622436699444 0.175106472352597
+3782 0.238281335482388 0.970971023512524 0.175106472352597
+3783 0.233329223399661 0.975425401016933 0.15597358929853
+3784 0.216895133804263 0.981389985603433 0.141616372956391
+3785 0.207604570538473 0.982629586710622 0.146848349028676
+3786 0.203900872355688 0.981666122703251 0.158053971128079
+3787 0.187917143469825 0.984106973934303 0.1626210658064
+3788 0.19276549278829 0.982570229145874 0.166199306816583
+3789 0.18799677825557 0.981947012168047 0.175106472352597
+3790 0.174007436734985 0.98684520322648 0.16150218831275
+3791 0.177599209611674 0.989512174450334 0.139818372755082
+3792 0.179733657036773 0.988559266557007 0.143775481332737
+3793 0.174956363255093 0.992226832897912 0.122886870876957
+3794 0.173725297387655 0.985245111490297 0.171279278758533
+3795 0.175348522528958 0.985028303410351 0.17087169785379
+3796 0.173763713958191 0.985462982686317 0.169982003360483
+3797 -0.176031225968476 0.998322703162535 0.0508899580888495
+3798 -0.171687945516345 0.998809877270065 0.0559202864096144
+3799 -0.143632426470073 1.00221606155365 0.0718170733894019
+3800 -0.145895470227819 1.00143526188231 0.0778904873890476
+3801 -0.131992283789285 1.00213492726114 0.0923505526967408
+3802 -0.0920461385206025 1.00604735012454 0.0980879079745703
+3803 -0.0976161769579643 1.00696642274475 0.0819433063816336
+3804 -0.121109595957627 1.00565191051551 0.0649746153777405
+3805 -0.136781170297188 1.00494403496826 0.0400424528949526
+3806 -0.15515822537876 1.00260840487555 0.0304517909198944
+3807 -0.161163812441239 1.00211343452476 0.0044598099053813
+3808 -0.176244839262506 0.99953416436752 -0.00970622972407466
+3809 0.174956363255093 0.992226832897912 0.122886870876957
+3810 0.170882458081772 0.994945503254125 0.105392746782342
+3811 0.170829476281574 0.994959699131848 0.105344611332643
+3812 0.152208387822677 0.997608942073214 0.108784214718794
+3813 0.142295291397886 0.997385294373734 0.123286757654708
+3814 0.150921504321631 0.992613398187565 0.148883650115885
+3815 0.170103490323623 0.985717288611229 0.17219532372468
+3816 0.173725297387655 0.985245111490297 0.171279278758533
+3817 -0.151048354297336 0.98830517453077 0.175106472352597
+3818 -0.144790416804419 0.994263685909351 0.14387653764097
+3819 -0.151403839224342 0.992800615963866 0.147135360841292
+3820 -0.17506488542955 0.992842313568648 0.117649591062584
+3821 -0.174239793944612 0.988162987176031 0.152968640516549
+3822 -0.171321999203936 0.987102439051558 0.162796030072086
+3823 -0.160617490434575 0.989002584136289 0.162175554071017
+3824 -0.159396636412979 0.986993128466687 0.175106472352597
+3825 0.173763713958191 0.985462982686317 0.169982003360483
+3826 0.167004593661305 0.987275167372151 0.166199306816583
+3827 0.172893808178989 0.985932133352564 0.168138512888118
+3828 0.174007436734985 0.98684520322648 0.16150218831275
+3829 -0.148620941772999 0.988673120402662 0.175106472352597
+3830 -0.148694901693186 0.988742510393117 0.174651293588024
+3831 -0.148952240964386 0.98862326153693 0.175106472352597
+3832 -0.427919043360834 0.917675355400038 -0.0705849447160083
+3833 -0.448706380444437 0.908766695566228 -0.0550515865174653
+3834 -0.445972656361346 0.910383676929463 -0.0503482925072497
+3835 -0.449331149558905 0.908633411799133 -0.0520753396372964
+3836 -0.45416200778343 0.90690104255235 -0.0386312011667253
+3837 -0.447353290549203 0.910545600043517 -0.0317292243238232
+3838 -0.456009740399281 0.906595613746325 -0.0190921396628178
+3839 -0.459078122984442 0.904970709568088 -0.0223672041371497
+3840 -0.470437842672103 0.899291098451086 -0.0137388656247809
+3841 -0.468077045296816 0.900625520050325 0.00159759202677124
+3842 -0.477032275630968 0.895808929103505 0.0138409011546014
+3843 -0.474687062932712 0.896944221440643 0.0197042104270779
+3844 -0.482151071269554 0.89306048330804 0.0140825291489543
+3845 -0.492010156780954 0.887609823879353 0.0173149119906666
+3846 -0.473824727633806 0.897018156421971 0.032765142027428
+3847 -0.472023392856776 0.897739195031421 0.0385130406526768
+3848 -0.477598921302196 0.894688783723922 0.0406970594710132
+3849 -0.460125367444684 0.902501655079436 0.0632487850695445
+3850 -0.471935529380429 0.896318433338944 0.0641492179627711
+3851 -0.465259465847629 0.899112270902129 0.073183015463938
+3852 -0.483729796645295 0.889031412013387 0.0765090340481739
+3853 -0.476738410670885 0.891952283671731 0.0858289662280877
+3854 -0.493995403032065 0.881659081867353 0.0941849517916918
+3855 -0.479519579570368 0.888705710141853 0.102411589041099
+3856 -0.473294961532508 0.892353931343311 0.0996059265509745
+3857 -0.47399092389362 0.891184599918562 0.106525175120557
+3858 -0.467129536498289 0.895133952866774 0.103683183573793
+3859 -0.469483485588151 0.892795067349095 0.112815001117429
+3860 -0.459767525744987 0.896495878627608 0.123020168566158
+3861 -0.454897631323379 0.900036766644887 0.115008537525678
+3862 -0.453393600758201 0.899672689333298 0.123483986246408
+3863 -0.440709221972793 0.909058026838797 0.098050423293777
+3864 -0.432977040717703 0.913081092968191 0.0950726031796442
+3865 -0.436876793696615 0.911546399701914 0.0919066282693673
+3866 -0.433412456445824 0.91375213915861 0.0862303356172281
+3867 -0.411073054640589 0.924500842624688 0.0808834700955493
+3868 -0.396563927793035 0.93266162492241 0.0557166453625002
+3869 -0.370485781597546 0.943767881033975 0.0476179836059558
+3870 -0.366467345645899 0.946229468796066 0.0240099345514413
+3871 -0.345202382144041 0.954027240211894 0.029872065475246
+3872 -0.340961538856669 0.955314691066653 0.0366615609694696
+3873 -0.328826906051362 0.960042052697347 0.0204235870833985
+3874 -0.328938662678007 0.960204327634665 0.00565733040093473
+3875 -0.335171135047521 0.958063300842956 0.000147678218117936
+3876 -0.332297053546357 0.959021142199039 -0.00906184416437653
+3877 -0.340305140579995 0.956163117889643 -0.0130193426249422
+3878 -0.334530421575804 0.958216662783023 -0.0116285942951234
+3879 -0.341100883209766 0.955810496604758 -0.0173632385712888
+3880 -0.337577428419743 0.956950166309902 -0.0226463909037026
+3881 -0.346337298978604 0.95388428040381 -0.0195001265306472
+3882 -0.350993796661334 0.950950291006349 -0.0521718194066681
+3883 -0.374882840363026 0.941943274783203 -0.0493023639600161
+3884 -0.377907137773823 0.939931327850312 -0.0627717623230872
+3885 -0.396435972806432 0.932948480997993 -0.0516783442899881
+3886 -0.405975558579883 0.928622780143115 -0.0553947473595177
+3887 -0.406188569114041 0.92818298007225 -0.0609278411342796
+3888 -0.420702610400998 0.921825588968353 -0.0589228064923528
+3889 -0.421342389918046 0.920503825800078 -0.0732686641448407
+3890 -0.427886063597238 0.917688261879362 -0.0706170700900022
+3891 -0.427919043360834 0.917675355400038 -0.0705849447160083
+3892 -0.176244839262506 0.99953416436752 -0.00970622972407466
+3893 -0.181900029718106 0.998454581854636 -0.0150275467736881
+3894 -0.203450053218633 0.992802716105678 -0.0563546159469161
+3895 -0.244470980526435 0.980665385578364 -0.0935646365294165
+3896 -0.244487739187234 0.980659686081486 -0.0935805828239786
+3897 -0.254185501041346 0.977091477507852 -0.104436467011681
+3898 -0.253484089698741 0.978037392636632 -0.0970240942969216
+3899 -0.264109889893938 0.974707616111146 -0.102058949412284
+3900 -0.266365863767017 0.97473899252878 -0.0956980828628762
+3901 -0.273611666285902 0.971906679936824 -0.103725896315395
+3902 -0.280813373776695 0.973729915809182 -0.0567353519985047
+3903 -0.273042819493277 0.976678948644413 -0.042081468581865
+3904 -0.2598783498613 0.980343203970155 -0.0401926075653119
+3905 -0.257525234564628 0.980721195385594 -0.0457350028302627
+3906 -0.260460137175433 0.980327010447966 -0.0366670087232073
+3907 -0.253624520662956 0.982178188849458 -0.0350086827356249
+3908 -0.25181474443674 0.98310402992143 -0.017910913893581
+3909 -0.233069256851832 0.987800342233839 -0.0124179464181635
+3910 -0.240886950099213 0.98598886545823 0.00494312292903987
+3911 -0.233955318747777 0.987621600812092 0.00966863170185957
+3912 -0.22284839592193 0.990226168622827 0.00396577981988613
+3913 -0.23014741325515 0.988530650141274 0.00802009371720723
+3914 -0.226754022316583 0.989266614406517 0.0126166153907423
+3915 -0.21816001542266 0.991176302616714 0.0141684438752075
+3916 -0.194333376758597 0.995398467829715 0.0405145519518196
+3917 -0.192411171253647 0.996087027490832 0.0318366901746869
+3918 -0.176031225968476 0.998322703162535 0.0508899580888495
+3919 -0.40826714314195 0.916983022684369 -0.150615656355332
+3920 -0.417557903490437 0.912320033497906 -0.153435829293718
+3921 -0.416091176973042 0.915653200961352 -0.136646800234834
+3922 -0.395540301654486 0.924825482357246 -0.135906942242715
+3923 -0.386457049730158 0.930829437507168 -0.120135369412806
+3924 -0.361971832257696 0.941544180739751 -0.112676299047841
+3925 -0.351349098615699 0.944396089568156 -0.12204440548551
+3926 -0.326998661349387 0.953347151982299 -0.120108631175897
+3927 -0.316872301546334 0.958021155251629 -0.109601143256188
+3928 -0.278965812640211 0.97043982468537 -0.103197005976988
+3929 -0.274583393524081 0.970486449778009 -0.113951791552722
+3930 -0.264419730300464 0.972756570639079 -0.118540543723779
+3931 -0.286260291911368 0.966088960016103 -0.122279052211829
+3932 -0.284264724977038 0.965724226715768 -0.129596620588502
+3933 -0.308210180899145 0.957492864792064 -0.135789904861893
+3934 -0.325287602028634 0.952147510193627 -0.133521888836769
+3935 -0.355286501524049 0.939841561634699 -0.143855277480012
+3936 -0.408233189988826 0.916992906275514 -0.150647510540113
+3937 -0.40826714314195 0.916983022684369 -0.150615656355332
+3938 -0.507477404891984 0.87897665382409 0.00957734599470936
+3939 -0.505057969140687 0.880419451864904 -0.00174258009455762
+3940 -0.501489610722686 0.882458584313171 -0.000131564441443337
+3941 -0.505540225813333 0.880014212146609 -0.0151349431642724
+3942 -0.50335161857634 0.881325247245438 -0.0113117922693962
+3943 -0.497161528513432 0.884664729320712 -0.020584733714525
+3944 -0.49736492624615 0.88415930317633 -0.033398454259255
+3945 -0.487684602754086 0.888821290423054 -0.0488409861416311
+3946 -0.490072273633505 0.886630243615841 -0.062777207021339
+3947 -0.499014413616354 0.881645925202815 -0.0625306131138871
+3948 -0.497595350375542 0.880285294454081 -0.0878730200490106
+3949 -0.497594893018235 0.880284485353049 -0.087883714582904
+3950 -0.496534203664985 0.879769587995817 -0.0984086207018934
+3951 -0.505097874906924 0.874855186969055 -0.0986384235369215
+3952 -0.17506488542955 0.992842313568648 0.117649591062584
+3953 -0.177109201708789 0.992779904851543 0.115088623212879
+3954 -0.185459059431306 0.995025149493162 0.0758609856973047
+3955 -0.198487046694113 0.99414332465763 0.0500693752040393
+3956 -0.237096320612885 0.986666854564567 0.0223350141144999
+3957 -0.244434854207015 0.984693228823223 0.0292548655524383
+3958 -0.25022160270622 0.9833792913999 0.0240690420449524
+3959 -0.235940276335053 0.985945352367325 0.049688511229565
+3960 -0.235837818429255 0.983999544934851 0.079689516039036
+3961 -0.229942043179686 0.984147975222416 0.093831869020978
+3962 -0.202109810657347 0.987401661252051 0.120060750425531
+3963 -0.18226639697658 0.990559655686785 0.125680265192488
+3964 -0.174239793944612 0.988162987176031 0.152968640516549
+3965 -0.260228526527669 0.965320587847098 0.175106472352597
+3966 -0.256163187861386 0.969950023548402 0.154280176961098
+3967 -0.264431869885966 0.96786103042871 0.153446446573671
+3968 -0.279426456388297 0.961854838993251 0.164259319904676
+3969 -0.272847198985349 0.961850322104311 0.174995325290944
+3970 -0.284363069329353 0.959870601172099 0.16736509136347
+3971 -0.280102854248289 0.959742212462383 0.175106472352597
+3972 -0.282129058174679 0.959148537961508 0.175106472352597
+3973 -0.286071129394577 0.958567608882575 0.171861712222511
+3974 -0.283752462186107 0.958669527805881 0.175106472352597
+3975 -0.776964044402173 0.651950246792604 -0.0388940794116582
+3976 -0.752755828033619 0.680381899287653 -0.0257708068004764
+3977 -0.743327520243597 0.690428334618225 -0.0315897515787657
+3978 -0.743886882941025 0.689546512882447 -0.0371875242513432
+3979 -0.734381277503205 0.699561843312425 -0.0390175170158546
+3980 -0.726180206746172 0.707018319603708 -0.0548853630291
+3981 -0.717822309647024 0.71514623833848 -0.05934635256976
+3982 -0.712404679191326 0.721665633782654 -0.043626667112953
+3983 -0.710015020262276 0.723576754593536 -0.0504018969270557
+3984 -0.706703703813415 0.727379485065138 -0.0413999966518851
+3985 -0.704806238958693 0.730281727549458 -0.0127186450646563
+3986 -0.684614408475046 0.749328107995045 -0.00595804304522006
+3987 -0.668794013850763 0.76336563476507 -0.0145765118292177
+3988 -0.664757740638052 0.766605881734905 -0.0252501158658751
+3989 -0.678457590515165 0.754482740462246 -0.0260017733421272
+3990 -0.682676361187236 0.750041117460701 -0.0402033331262033
+3991 -0.703850579507247 0.730387722480043 -0.0367850047944555
+3992 -0.700037940665866 0.733393077900887 -0.0480257734488124
+3993 -0.69445551581194 0.739028751667854 -0.0423443120929455
+3994 -0.687829633716837 0.744767645132018 -0.0493614196054949
+3995 -0.677684976042781 0.754046960562581 -0.0487980994735296
+3996 -0.688982910417287 0.743070744566301 -0.0580811305210912
+3997 -0.689146130364641 0.741713398675579 -0.0718599000038518
+3998 -0.696443566585869 0.735233628369622 -0.0679916926954574
+3999 -0.701733441566793 0.7315563748774 -0.0511903053620517
+4000 -0.698924501532223 0.733481484662762 -0.0611101694879335
+4001 -0.703100037159142 0.728870188147631 -0.0679969600530058
+4002 -0.715207421204817 0.716907093577952 -0.0689025676674552
+4003 -0.711098236340681 0.720644033182786 -0.0723634970908707
+4004 -0.71803863350518 0.713092981850557 -0.0783831616451851
+4005 -0.752396063048559 0.674683527266481 -0.0944844026508477
+4006 -0.751205484746835 0.675107561856577 -0.100722885236383
+4007 -0.754965478502937 0.671067707408355 -0.0996004936861549
+4008 -0.754382230567086 0.669889623979709 -0.11126698472122
+4009 -0.759751858270889 0.662283573569793 -0.119927403180239
+4010 -0.755183814851616 0.667097025146375 -0.122081795641352
+4011 -0.762974398633509 0.657560037330749 -0.125338997664014
+4012 -0.756239617525634 0.66505122997177 -0.126623467010339
+4013 -0.761034037544285 0.658298964229197 -0.133021304285482
+4014 -0.757671208307348 0.659678997222664 -0.144854964448525
+4015 -0.77003853202718 0.646139051880083 -0.140605778078046
+4016 -0.579179478992593 0.827154022857925 0.10291916043099
+4017 -0.582752012091494 0.824117181145195 0.10703253778461
+4018 -0.585025622723349 0.823667615262123 0.0976815249961079
+4019 -0.588923511565062 0.819996530276894 0.104879873473083
+4020 -0.583602484146594 0.8219981843486 0.118119115411222
+4021 -0.587502441806911 0.817716627631445 0.1280835577503
+4022 -0.595808493703914 0.814307617067816 0.110183227469552
+4023 -0.594530236987642 0.813662653652146 0.121292552777023
+4024 -0.60040190406401 0.808323952655643 0.127886438528366
+4025 -0.595693801989766 0.808186125243038 0.149027115773008
+4026 -0.591098799602517 0.811193429307496 0.150971617719382
+4027 -0.591773116619881 0.80834819827334 0.163103552365478
+4028 -0.580009590864063 0.814977392780229 0.172121247273081
+4029 -0.582878100414099 0.815959421376632 0.157125245343844
+4030 -0.572197314708848 0.823376035727323 0.157693173060667
+4031 -0.572161978333109 0.825014027812594 0.149021892560736
+4032 -0.566838585342411 0.828374021324182 0.150716618069203
+4033 -0.55732438458707 0.836747913166884 0.13952584045799
+4034 -0.559158708267945 0.834095617521313 0.147820972124604
+4035 -0.552028750407909 0.837895439754899 0.153037546899537
+4036 -0.536051208708614 0.850510460826224 0.139664088681368
+4037 -0.532233559964973 0.855202052583898 0.124827428489494
+4038 -0.536278399259995 0.853179939594047 0.121303211669909
+4039 -0.542273196194049 0.84708183405147 0.136444666841502
+4040 -0.554316065190793 0.840409086100715 0.129117264030639
+4041 -0.557816169352513 0.836821326249894 0.137099194535405
+4042 -0.566744332164391 0.832032129156321 0.129415601884543
+4043 -0.564957558006517 0.835757835559515 0.112057119149957
+4044 -0.579164100638499 0.827162786377031 0.102935267836566
+4045 -0.579179478992593 0.827154022857925 0.10291916043099
+4046 -0.505097874906924 0.874855186969055 -0.0986384235369215
+4047 -0.512248008212034 0.870666699489973 -0.0988254849825705
+4048 -0.509673749104058 0.876199574539688 -0.0522682987161774
+4049 -0.518486894771222 0.871359674315886 -0.0461373810115989
+4050 -0.523594202661912 0.868211840401956 -0.0477735400057845
+4051 -0.520293318259653 0.869243501018193 -0.0627343519293358
+4052 -0.530663057823494 0.862276973327372 -0.0714152667908347
+4053 -0.529171165351296 0.862075948264619 -0.0838327930132952
+4054 -0.536034319162891 0.857601069175001 -0.0860965436557736
+4055 -0.537898627470915 0.85711829820559 -0.0789828427321952
+4056 -0.549486800021028 0.849865055622853 -0.0775799190114014
+4057 -0.539801361480846 0.857223199329461 -0.0633077931599962
+4058 -0.544294787421028 0.85489841314853 -0.0558290926168642
+4059 -0.5268918702905 0.866925708581775 -0.0324001978661549
+4060 -0.532567549544574 0.863378545633004 -0.0342679458492505
+4061 -0.559575249394669 0.846709719407063 -0.013534819042252
+4062 -0.532216754445477 0.8641594500271 -0.0140986246273348
+4063 -0.524014158102845 0.868908200836059 -0.0251535410550586
+4064 -0.517680449195791 0.872705764696764 -0.0248314475107628
+4065 -0.50838980640796 0.8784312961452 -0.0111023733111637
+4066 -0.512234954787896 0.876233958570372 0.00737569939311922
+4067 -0.572155333227587 0.838339696540159 0.00705888547738051
+4068 -0.58443761090407 0.8293225483579 0.0296949447869764
+4069 -0.566814880270154 0.841858087214797 0.0148611068017813
+4070 -0.521220991525555 0.870620929250288 0.0239348186640933
+4071 -0.51660147262318 0.873594985542956 0.013405958293362
+4072 -0.51176069232353 0.876370289426608 0.0173525099874594
+4073 -0.508135120617586 0.878557044926379 0.0126971652418433
+4074 -0.507477404891984 0.87897665382409 0.00957734599470936
+4075 -0.566124186872164 0.824054688497965 -0.175106468763589
+4076 -0.608579284256649 0.798845582603806 -0.14731595272763
+4077 -0.577411577429274 0.820872929737482 -0.151619601222402
+4078 -0.554842179496754 0.833021214700401 -0.168673684107392
+4079 -0.552674504488419 0.833134813031857 -0.175106468763589
+4080 -0.77003853202718 0.646139051880083 -0.140605778078046
+4081 -0.770471599528449 0.645655030605273 -0.140456739867395
+4082 -0.780100078124678 0.628877147428208 -0.16180976964458
+4083 -0.792297130410355 0.614147944381663 -0.159099212931097
+4084 -0.796205612375511 0.607886844647298 -0.163570189602167
+4085 -0.805514326488152 0.59816230037166 -0.15353674555761
+4086 -0.794078894959062 0.615706589489629 -0.143419330076678
+4087 -0.809635298881801 0.594866801333084 -0.144392421810572
+4088 -0.807077862357567 0.599585643025279 -0.139094862487091
+4089 -0.812546191078766 0.591889151662123 -0.140217400874792
+4090 -0.810581351036184 0.596804524642312 -0.130411781365103
+4091 -0.818807352845888 0.583920250547921 -0.137173831052293
+4092 -0.818170495347226 0.586335915241447 -0.13050760530042
+4093 -0.81936017290069 0.58364597350653 -0.135023274563192
+4094 -0.822095796422144 0.580935328272569 -0.129990945338065
+4095 -0.822492486461616 0.578872728143585 -0.136519135383251
+4096 -0.834080063243437 0.5606898788347 -0.141994041678351
+4097 -0.844498412224418 0.535149657897287 -0.175106468763589
+4098 -0.865005995874923 0.501325594496809 -0.175106468763589
+4099 -0.863771550616972 0.504524910221447 -0.171983497204795
+4100 -0.866901435237421 0.500243556536504 -0.168710656827034
+4101 -0.860378297927537 0.512115309736528 -0.166469498674003
+4102 -0.86171100065 0.512643813222188 -0.157719599681808
+4103 -0.855656980211042 0.522233761873725 -0.159210647179568
+4104 -0.853575397499037 0.530684008108561 -0.141451491056807
+4105 -0.845815832241541 0.545592687674126 -0.130954942961588
+4106 -0.84497583452869 0.549782677429888 -0.118236401588373
+4107 -0.853714371449606 0.536427265331053 -0.116801374092313
+4108 -0.852431763991173 0.540427196666645 -0.10734771931405
+4109 -0.83529474702216 0.568539939233472 -0.0962809591434637
+4110 -0.836569306309024 0.568425201441461 -0.0852618678417972
+4111 -0.824760140287576 0.58779630818477 -0.067016498544563
+4112 -0.776964044402173 0.651950246792604 -0.0388940794116582
+4113 -0.883389763498984 0.488603256809648 -0.105424774982992
+4114 -0.893261155666681 0.472558294115666 -0.0948586656005572
+4115 -0.892397056169953 0.475515327742723 -0.0879640109415923
+4116 -0.89699461150638 0.468837787160462 -0.0762679241817863
+4117 -0.895280072503597 0.472666841210272 -0.0726955913261483
+4118 -0.889528867745451 0.483195917848833 -0.0740614503079708
+4119 -0.890386011115224 0.479704150443846 -0.0855668116577243
+4120 -0.882840607224394 0.491443329417798 -0.0964412578019028
+4121 -0.875814291140696 0.503757948657905 -0.0969652339640323
+4122 -0.876528541576839 0.504189136827954 -0.087840936389946
+4123 -0.873852296951813 0.507145556377494 -0.0970079778090526
+4124 -0.859710899950227 0.530615960847022 -0.0978206041749973
+4125 -0.870308506059992 0.510464053688627 -0.110519474172651
+4126 -0.883384883570853 0.488600557719307 -0.105478161127754
+4127 -0.883389763498984 0.488603256809648 -0.105424774982992
+4128 0.090647512077362 -0.995663473214928 0.175106472352597
+4129 0.0916466425037534 -0.995666797032381 0.174566669800017
+4130 0.111371155916073 -0.996349732912395 0.158457171990786
+4131 0.112471513898184 -0.997832201263895 0.148006948087916
+4132 0.117571524779535 -0.997383308015117 0.147066221321677
+4133 0.115670777786814 -0.996666162172107 0.153303073509033
+4134 0.12436253461271 -0.997448565481539 0.140908903918533
+4135 0.127315901437056 -0.996339551166938 0.146024518563611
+4136 0.143979840435675 -0.994355987577983 0.144051988934312
+4137 0.148410670003402 -0.994939530058986 0.135257548976554
+4138 0.15631757344746 -0.993232335349614 0.138850078312723
+4139 0.159452877375737 -0.994386253632913 0.126474339225387
+4140 0.167245292004675 -0.993029165223547 0.127071197829
+4141 0.174760220267746 -0.991114492360479 0.131817785010213
+4142 0.176252528160559 -0.99957779125862 0.00207015447503054
+4143 0.167519433858093 -1.00105669747799 -0.00690852475752695
+4144 0.171441677532607 -1.0003468169984 -0.0117896957541073
+4145 0.160311237335306 -1.00208842322124 -0.0185499118592067
+4146 0.160416870578239 -1.00140410544956 -0.04100299041104
+4147 0.17173089196382 -0.999205977346155 -0.0481758817358315
+4148 0.176101658325321 -0.998722165876968 -0.0420385694462795
+4149 0.175953484783097 -0.997881831933366 -0.0591373037092014
+4150 0.1758641722328 -0.997884528063977 -0.0593570684536045
+4151 0.153877049251524 -1.00045207604569 -0.0751165577586473
+4152 0.160594616628943 -0.997275141261794 -0.0993813952964658
+4153 0.155282791512476 -0.997537493902045 -0.105029533559468
+4154 0.175051436306726 -0.992766060641858 -0.118311214534372
+4155 0.1739131042523 -0.9863102585461 0.164837210774916
+4156 0.155514736104682 -0.991059273399168 0.154407523987023
+4157 0.141290379887742 -0.99213731827056 0.161014192685241
+4158 0.143221955294106 -0.992541702566848 0.15675917895752
+4159 0.135297948543487 -0.993501704737651 0.157714386798748
+4160 0.122552754269804 -0.992241677093395 0.175106472352597
+4161 0.075466927120175 -0.996929017659365 0.175106472352597
+4162 0.0754538426141515 -0.997218641770884 0.173455176167766
+4163 0.0853370281508121 -0.997458985277854 0.167386272779046
+4164 0.0895812120269687 -0.996274838063465 0.172152994436333
+4165 0.0866847106937472 -0.99601630723205 0.175106472352597
+4166 0.174753914582054 -0.99107873103869 0.132094731995596
+4167 0.166287342362725 -0.990825470382657 0.144355141962205
+4168 0.174339058234373 -0.988725963699502 0.149170578467883
+4169 0.176236033020194 -0.999484242665902 0.0140395629516309
+4170 0.174649301011708 -0.999768155627794 0.0136475876520561
+4171 0.176248875250875 -0.999557074577667 0.00685482563879315
+4172 0.174339058234373 -0.988725963699502 0.149170578467883
+4173 0.18978489544202 -0.984428601306855 0.158451956097391
+4174 0.201599713714099 -0.983948023625908 0.146385935912784
+4175 0.207771906813178 -0.98246355894193 0.147719971873722
+4176 0.202136718786569 -0.984907878672229 0.139004379238822
+4177 0.221806070872103 -0.983750828366292 0.115158041894228
+4178 0.218567789446023 -0.988426151491195 0.0739382476461549
+4179 0.227385039898472 -0.986798498869706 0.068918548003161
+4180 0.225596982424509 -0.987542357758651 0.063961653773493
+4181 0.214819495300667 -0.990899883221731 0.0468508897452945
+4182 0.201084402989206 -0.993954375709959 0.0429506912808237
+4183 0.201742990849903 -0.994262946630584 0.0310798745236205
+4184 0.193019612170552 -0.996062405513864 0.0287769636943404
+4185 0.194872499266287 -0.995941467806005 0.0187163493804629
+4186 0.176236033020194 -0.999484242665902 0.0140395629516309
+4187 0.247198621661046 -0.968739162411177 0.175106472352597
+4188 0.248716770650526 -0.970023195112008 0.165589760981363
+4189 0.22689220437671 -0.977871337376136 0.150041911249108
+4190 0.230093127956335 -0.97877845420364 0.138834037807746
+4191 0.210572338707154 -0.979978876278339 0.159767619434114
+4192 0.191511362568545 -0.982585099728097 0.167555721476366
+4193 0.180273577440916 -0.984556065725171 0.168451152327396
+4194 0.1739131042523 -0.9863102585461 0.164837210774916
+4195 0.501983784829825 -0.869461431914434 0.149245094328849
+4196 0.498365206364768 -0.871146370816147 0.151529276705391
+4197 0.488532737016008 -0.876855568402729 0.150615659958634
+4198 0.487723250069954 -0.874648486923494 0.165351309833465
+4199 0.47509151686619 -0.880021228416003 0.17342343595654
+4200 0.464391880065193 -0.886001002517519 0.171951752731591
+4201 0.461369016472905 -0.886961867263217 0.175106472352597
+4202 0.322641187060632 -0.946290329524895 0.175106472352597
+4203 0.325360482365595 -0.946256532412973 0.170188517181985
+4204 0.324963877751844 -0.947630424249935 0.163156541984602
+4205 0.314635665231959 -0.951871909779005 0.158648244672649
+4206 0.306946767384268 -0.952086443645372 0.171872295088699
+4207 0.30868387951561 -0.950934795802226 0.175106472352597
+4208 0.176101658325321 -0.998722165876968 -0.0420385694462795
+4209 0.178249164305103 -0.998464386395241 -0.0390013400398749
+4210 0.181039202319538 -0.997679056557526 -0.0456761133415403
+4211 0.175953484783097 -0.997881831933366 -0.0591373037092014
+4212 0.175051436306726 -0.992766060641858 -0.118311214534372
+4213 0.175376282250169 -0.992683288524824 -0.11852446290808
+4214 0.191969355387444 -0.986218211008824 -0.144036130421097
+4215 0.204212194680998 -0.978703276862153 -0.175106468763589
+4216 0.174760220267746 -0.991114492360479 0.131817785010213
+4217 0.174896784383804 -0.991079768999037 0.131897711477569
+4218 0.174753914582054 -0.99107873103869 0.132094731995596
+4219 0.176248875250875 -0.999557074577667 0.00685482563879315
+4220 0.177159238546574 -0.999415133563552 0.00299916684198744
+4221 0.176252528160559 -0.99957779125862 0.00207015447503054
+4222 0.506673640283312 -0.877584499952265 -0.057898771019693
+4223 0.478279447422661 -0.89251099876879 -0.0699849073001524
+4224 0.469500783966969 -0.89753796026011 -0.0649586310394775
+4225 0.451130504421791 -0.905817389668306 -0.0787472193454211
+4226 0.449948940751483 -0.906972661221688 -0.0719134376390733
+4227 0.454547500270834 -0.904789735818924 -0.0704776840869378
+4228 0.433272513413484 -0.915974367943835 -0.0590837235645705
+4229 0.431559579238667 -0.916529434341906 -0.0628897889346926
+4230 0.424098996423381 -0.920871689618832 -0.0485836648600936
+4231 0.412598854281527 -0.926320591278529 -0.043787528121237
+4232 0.390250642828372 -0.935905129926714 -0.0448444372124648
+4233 0.377135546612688 -0.940334936449331 -0.0613513388116396
+4234 0.358963650581068 -0.947468376360498 -0.0606116602504392
+4235 0.353176886120651 -0.949055599777914 -0.0691704824350985
+4236 0.356823089688074 -0.947504401413651 -0.0716776950467552
+4237 0.347673858416733 -0.950474682451291 -0.0771087945226721
+4238 0.341597782272809 -0.953363983124439 -0.0680666645826134
+4239 0.322140049004742 -0.960268085356047 -0.0658482579409181
+4240 0.31638350421538 -0.962795596580349 -0.0561348150962229
+4241 0.296054444081824 -0.968955293665385 -0.0608473912113717
+4242 0.301935612852568 -0.967322050738056 -0.0578613502025776
+4243 0.298130087434367 -0.968605773670779 -0.0560919439670894
+4244 0.305931594787256 -0.966056368274053 -0.0580168305586724
+4245 0.316208518227374 -0.962886354917435 -0.0555611421252638
+4246 0.322232246885656 -0.960265001741738 -0.0654408549528618
+4247 0.341826939701103 -0.953374675332506 -0.0667538143420855
+4248 0.349175168544013 -0.950002359126543 -0.0761394728525368
+4249 0.356259160937789 -0.947711706673169 -0.0717421165183407
+4250 0.352375558313571 -0.949334642109056 -0.0694276832025192
+4251 0.358560494349089 -0.947652106744488 -0.0601236764916281
+4252 0.378186294738022 -0.940056757355051 -0.0591051556417201
+4253 0.390292478585216 -0.935913488703175 -0.0443026277241017
+4254 0.422219746544427 -0.92203785095601 -0.0424462840821469
+4255 0.438843008199015 -0.913153232814857 -0.0615872353220611
+4256 0.45855771863871 -0.902694909246675 -0.0713562856166005
+4257 0.469495764125206 -0.897566505642548 -0.0645995001305271
+4258 0.476751818336125 -0.89340215652487 -0.0690310830706781
+4259 0.491697662537361 -0.885696712639039 -0.0632435125186296
+4260 0.493940492223636 -0.884962695601511 -0.0555771314083402
+4261 0.50672415327689 -0.877671991024794 -0.056102661758532
+4262 0.506732592285528 -0.877686607816722 -0.0557969387580019
+4263 0.497887404837441 -0.88288707064081 -0.0533249716317619
+4264 0.482276671015262 -0.892733971518559 -0.0256956940193681
+4265 0.450864784816286 -0.909336935743334 -0.00723070573923858
+4266 0.407220795149069 -0.929702193515027 -0.00707498208531626
+4267 0.415244023008628 -0.92616384741585 -0.00423427626397909
+4268 0.449870226912948 -0.909843428293691 -0.00516864857343917
+4269 0.482704402872264 -0.892519722502385 -0.0250998882865372
+4270 0.506694729920594 -0.87772715979937 -0.0555021046558323
+4271 0.506740686912572 -0.877700628122224 -0.0555021046558323
+4272 0.776586476056505 -0.651633434081845 -0.0501229766957419
+4273 0.776333137570996 -0.651952099029757 -0.0499031069159806
+4274 0.750267384442148 -0.681757849835573 -0.050299960535898
+4275 0.736603046283827 -0.697106840776543 -0.04102444086071
+4276 0.718769814557048 -0.714217923794935 -0.0590568455954008
+4277 0.720092719780718 -0.713835994762747 -0.0461481039684917
+4278 0.725090054119485 -0.70906967887054 -0.0411047919764981
+4279 0.717217136094086 -0.716916780794295 -0.0430686557550022
+4280 0.723702539186985 -0.71075854924297 -0.036082120951223
+4281 0.719585971631969 -0.715403405483877 -0.0248796473557335
+4282 0.714345214012906 -0.720329770449362 -0.0325720282024888
+4283 0.713419306858903 -0.721609439097378 -0.0231885749137294
+4284 0.710900564689278 -0.72397352610806 -0.0266030189852303
+4285 0.712317484391491 -0.722711759007592 -0.0227269624527678
+4286 0.708736705442616 -0.726142710412177 -0.025180279458424
+4287 0.705115328357311 -0.729862334122757 -0.0183942095356728
+4288 0.703010089836694 -0.731761576463992 -0.0229523157597889
+4289 0.702480266656991 -0.732462883433557 -0.0156396723022477
+4290 0.700512855629482 -0.734249753862107 -0.0195968888159394
+4291 0.688412453788648 -0.745790351834384 -0.010490213507721
+4292 0.687388259814078 -0.746665544581409 -0.0145926284377357
+4293 0.678425167568643 -0.754870562802292 -0.0116071281551275
+4294 0.672409471920434 -0.759887029345444 -0.0257333383811482
+4295 0.678040130158082 -0.754813033532016 -0.0272739125430589
+4296 0.672967456022501 -0.759235017293917 -0.0300331758112293
+4297 0.670344325069297 -0.761748952160894 -0.0245360903399021
+4298 0.658815721618927 -0.770992557215702 -0.041920420629154
+4299 0.66182479234542 -0.768953541752814 -0.0303874128998139
+4300 0.646026250745738 -0.782105954886506 -0.0344290383030253
+4301 0.667035829904003 -0.764583659235408 -0.0264580735215561
+4302 0.674048431665428 -0.75885216406008 -0.00520623383157762
+4303 0.64781670793115 -0.781380600250454 -0.00169424835469899
+4304 0.641410030477352 -0.786446407279272 -0.0178947277310071
+4305 0.641013845036417 -0.786913575648619 -0.00965789477755247
+4306 0.635245770126132 -0.791443239315492 -0.017475997214967
+4307 0.634762152050851 -0.791972705956661 -0.00901350894252259
+4308 0.628968732128361 -0.796441138157419 -0.0174598813099244
+4309 0.634468602279237 -0.792257944616221 -0.00139352585622611
+4310 0.653658030207929 -0.77621637848912 0.0210787407101708
+4311 0.650411691697589 -0.778932890831939 0.0212880925232658
+4312 0.653050594874609 -0.776429709646198 0.0301135602783869
+4313 0.641536364169339 -0.785676967953912 0.0369837190549143
+4314 0.632885315375014 -0.789998271425101 0.0747255560569513
+4315 0.629314645859546 -0.792547253028017 0.0778262695008491
+4316 0.628114444716576 -0.794104821518213 0.0713777050619766
+4317 0.618543216755557 -0.800041655972098 0.0869634274572428
+4318 0.591088718826432 -0.818630795247751 0.103357377811949
+4319 0.54785049247891 -0.848275612045478 0.102534501020312
+4320 0.528922014706074 -0.857803574714355 0.120993923676115
+4321 0.52423769910016 -0.861880649444291 0.112078458927915
+4322 0.526353551534589 -0.858258326326881 0.128722896477296
+4323 0.517117866886545 -0.862161761918893 0.13961091659186
+4324 0.501983784829825 -0.869461431914434 0.149245094328849
+4325 0.506740686912572 -0.877700628122224 -0.0555021046558323
+4326 0.530641581993495 -0.863457049416859 -0.0555556952235604
+4327 0.543765822989292 -0.856012029841334 -0.0422745137842679
+4328 0.557105466185286 -0.847241693633343 -0.0451664932862732
+4329 0.566642711531571 -0.841412174078779 -0.0341553916705693
+4330 0.583590188609815 -0.8297182589409 -0.0348583209354907
+4331 0.588555902836393 -0.826100499642276 -0.0372144290191262
+4332 0.587860320470184 -0.826344316520869 -0.0424301092427323
+4333 0.592465100348267 -0.823076837063092 -0.0418882460785207
+4334 0.614768351584688 -0.80717416070628 -0.0274726805746691
+4335 0.599888592622005 -0.817875375010423 -0.037928187322224
+4336 0.594716809264383 -0.821448317954456 -0.0419473206317813
+4337 0.581962290741477 -0.830449445643873 -0.0435730465393024
+4338 0.575298608140936 -0.833787140316624 -0.0636829342424521
+4339 0.578597974448948 -0.83289657834635 -0.0416253978061046
+4340 0.585673536901986 -0.827911532093463 -0.0421189173575462
+4341 0.572380414067367 -0.83728781140447 -0.0394307299651311
+4342 0.580399741345211 -0.831766951470676 -0.0390496951024044
+4343 0.572959424175566 -0.837099521329993 -0.0347403171761569
+4344 0.557089734691495 -0.847217769298989 -0.0458047910747851
+4345 0.544448322864503 -0.855568001004646 -0.0424784579162666
+4346 0.527466976771268 -0.865147936741852 -0.0593517983476029
+4347 0.511101840509348 -0.875136808804671 -0.0559953078671172
+4348 0.506673640283312 -0.877584499952265 -0.057898771019693
+4349 0.50672415327689 -0.877671991024794 -0.056102661758532
+4350 0.508024159979492 -0.876916716908151 -0.056156250624142
+4351 0.506732592285528 -0.877686607816722 -0.0557969387580019
+4352 0.807473791217563 -0.589532697222029 -0.175106468763589
+4353 0.823342564979956 -0.575205303563664 -0.146529449068984
+4354 0.827113450509516 -0.574751792401837 -0.125573552618048
+4355 0.825038664911558 -0.583317230453923 -0.0963182747796
+4356 0.821883250975916 -0.588779550025914 -0.0898418790795339
+4357 0.806006595207189 -0.610684428459004 -0.087423665675914
+4358 0.792986096084719 -0.63020489706756 -0.0651140470895711
+4359 0.776586476056505 -0.651633434081845 -0.0501229766957419
+4360 0.970125756902609 -0.241699687907057 0.175106472352597
+4361 0.97260043666671 -0.234165095116715 0.171581172698826
+4362 0.972657662973612 -0.23754006836511 0.166543647671741
+4363 0.97485053827939 -0.230516770940638 0.163564807741412
+4364 0.977490780445982 -0.228818471532556 0.149595725970394
+4365 0.978750163044036 -0.223031360005357 0.15010040238265
+4366 0.977289789456748 -0.230913466105302 0.14767748167822
+4367 0.982136858382243 -0.216943345062451 0.136263628456647
+4368 0.982751242443435 -0.218248643328305 0.129585975943537
+4369 0.988673315996494 -0.196318550966042 0.119201932799304
+4370 0.999793647128481 -0.153293538372544 0.0844911489728664
+4371 1.00348647317069 -0.131772986041237 0.0766536255712594
+4372 1.00542270998724 -0.107874677788023 0.0878249858186226
+4373 1.00830190391414 -0.0708079831199802 0.0924040047270751
+4374 1.01094856207661 -0.0349851262524688 0.0835706035417873
+4375 1.01023221510964 -7.25305002591052e-09 0.0982642944037736
+4376 0.972534045922259 0.231819442927522 -0.175106468763589
+4377 0.967538628761501 0.238775051031568 -0.192562916625156
+4378 0.964188858571554 0.234279212789292 -0.213724344568683
+4379 0.964114071083816 0.214318067767682 -0.234044490998012
+4380 0.956510614840259 0.198860446399689 -0.275257999984787
+4381 0.945637949417354 0.197545447658589 -0.311399525900585
+4382 0.908472353109646 0.234984141409294 -0.386892022302812
+4383 0.880174032124447 0.234956333258165 -0.447564737927007
+4384 0.841202792668098 0.260070807968293 -0.504941616872794
+4385 0.755517356016392 0.452164227143069 -0.504941616872794
+4386 0.756605692887298 0.459564187151389 -0.496561761897163
+4387 0.754062012180605 0.478272812483195 -0.48256667790633
+4388 0.765848136579044 0.496671336947693 -0.443868465598758
+4389 0.765617057807835 0.494051680929103 -0.447178328371135
+4390 0.770666082306429 0.490943859060133 -0.441896952731747
+4391 0.755079390358136 0.538630674033609 -0.412258549027774
+4392 0.765514164686835 0.546967805781783 -0.380840233040153
+4393 0.782360698670094 0.54094877048786 -0.354275549373811
+4394 0.787123461956704 0.543634973971851 -0.339297319046168
+4395 0.783726601386659 0.546428240610975 -0.34265695986177
+4396 0.774437772439198 0.569141264897272 -0.326418990272541
+4397 0.773423874018307 0.579755855125859 -0.309715449317268
+4398 0.747715895248493 0.624225802492982 -0.285461183866979
+4399 0.747031252605965 0.626833647524048 -0.281511786541273
+4400 0.765318153047567 0.642178178915113 -0.179221402575502
+4401 0.769105860861148 0.638628301790742 -0.175656104194832
+4402 0.769272556610739 0.638578466785972 -0.175106468763589
+4403 0.823825386972838 0.56645781517797 -0.175106468763589
+4404 0.815405147714736 0.570096406246741 -0.200822141869018
+4405 0.815273758161017 0.564316031998093 -0.217027913605459
+4406 0.803255321847 0.567489255344551 -0.250921965943516
+4407 0.810943957226839 0.558689421230763 -0.245888244619603
+4408 0.822590312275134 0.554764796976542 -0.21402382621258
+4409 0.821179858308739 0.560744448330214 -0.203603300500959
+4410 0.829012383896965 0.558839146752103 -0.175106468763589
+4411 0.64867978085519 0.648661665387105 -0.434370332512349
+4412 0.626965637841864 0.674723717672779 -0.426482114250257
+4413 0.627638471069696 0.733065175681315 -0.31450023503428
+4414 0.630761907956587 0.737062121459732 -0.298502670976735
+4415 0.626918253239661 0.742835322870106 -0.292222837662284
+4416 0.633825313953791 0.74529813580671 -0.270224277507444
+4417 0.630533471097052 0.748718911552925 -0.268463281119237
+4418 0.625374188966815 0.749575319627381 -0.277972955482377
+4419 0.623044905725154 0.754890021900467 -0.268665405821155
+4420 0.636732063690439 0.756955735504346 -0.227629729068039
+4421 0.648299089729513 0.750825903676271 -0.214927319400293
+4422 0.648070587970422 0.752723145503233 -0.208895618028213
+4423 0.654103508558646 0.745087880880124 -0.217296226052908
+4424 0.65050037874405 0.74337729921221 -0.233376194736754
+4425 0.656382515960664 0.735776290733555 -0.240873914601642
+4426 0.661754469329032 0.732195762203248 -0.237055664633133
+4427 0.657956365836384 0.731815233502462 -0.248525420569235
+4428 0.661572152681609 0.72864070363103 -0.248253926068247
+4429 0.662550195821523 0.722709782907554 -0.262569624493346
+4430 0.664115116405678 0.723820576777355 -0.255460143261468
+4431 0.667796006796831 0.717307346788579 -0.264090256445283
+4432 0.664838502251664 0.71820161710903 -0.269074716585818
+4433 0.668380032775477 0.714029126448083 -0.271395538597892
+4434 0.668835247188149 0.716194747439573 -0.26447967002916
+4435 0.673896929892544 0.709459394476502 -0.269731895537844
+4436 0.671931194641809 0.708129615364609 -0.278003448739043
+4437 0.6769418407957 0.705292141468543 -0.273016005689861
+4438 0.696347121744056 0.682802105029339 -0.281259615668997
+4439 0.6975979109339 0.672005602566212 -0.303299562776277
+4440 0.681065413367263 0.668900359173474 -0.344887245650628
+4441 0.686533409597481 0.651450334539728 -0.366755148749861
+4442 0.684763590821079 0.643717615128051 -0.383342479591914
+4443 0.662210316482573 0.640096885578768 -0.426589350331688
+4444 0.64869110203817 0.648650343690355 -0.434370332512349
+4445 0.64867978085519 0.648661665387105 -0.434370332512349
+4446 0.747031252605965 0.626833647524048 -0.281511786541273
+4447 0.742602375295952 0.641947717726689 -0.258205034633923
+4448 0.753679398328159 0.641308971282179 -0.225643896191979
+4449 0.751438663716774 0.645019197562026 -0.222520042800618
+4450 0.758902566645551 0.644325213074173 -0.197830518716697
+4451 0.756996921347266 0.64979028940195 -0.18695785853954
+4452 0.765318153047567 0.642178178915113 -0.179221402575502
+4453 -0.477952472833651 0.827837971126403 -0.341278079099023
+4454 -0.464229642662598 0.834330173623458 -0.344396574104341
+4455 -0.436769808064439 0.843406850636295 -0.357941362604436
+4456 -0.429004452469537 0.849137162080124 -0.35376017262522
+4457 -0.393256011345818 0.857126864181911 -0.375377474334918
+4458 -0.386657218373536 0.855156689100724 -0.386559481278014
+4459 -0.383325376166735 0.861367461805838 -0.375942484602099
+4460 -0.367442005615651 0.849271045055952 -0.417073212444432
+4461 -0.373891902571641 0.830744793229515 -0.447540985512398
+4462 -0.369834053537453 0.83571971706632 -0.441611058908907
+4463 -0.366859413989437 0.834857951644633 -0.445703231919014
+4464 -0.365873036689229 0.841089060159315 -0.434662068628173
+4465 -0.36731360259388 0.8313177350091 -0.451903242750973
+4466 -0.358704843432761 0.838820788290982 -0.44489944979599
+4467 -0.373484535230747 0.805818528336856 -0.491315378685113
+4468 -0.371901342270283 0.798090442974636 -0.504941616872794
+4469 -0.741720063327585 0.62237703510401 -0.304504801000683
+4470 -0.737454146574523 0.62766706563168 -0.304007296658085
+4471 -0.733724297411648 0.636985407240746 -0.293467624023713
+4472 -0.71042385962691 0.670008218273371 -0.2767885964395
+4473 -0.698734626873346 0.688781386804413 -0.259952154059079
+4474 -0.71057996352508 0.684475531121762 -0.238315678737841
+4475 -0.709762655467665 0.687567698936778 -0.231759859083218
+4476 -0.71644462314072 0.680784199291192 -0.231224946682233
+4477 -0.717805444671578 0.682077287083801 -0.223049138183135
+4478 -0.725112471332396 0.676699044515812 -0.21567407602587
+4479 -0.721453717103783 0.68310405286154 -0.207601510209516
+4480 -0.713253688727071 0.688372221607226 -0.218260990643676
+4481 -0.714753460498483 0.689145348604039 -0.210787047047158
+4482 -0.709647603967634 0.693653492638324 -0.213237216108378
+4483 -0.713443847404173 0.69108550352312 -0.208862881865896
+4484 -0.704076536744654 0.698812234776972 -0.214855046325813
+4485 -0.699261576666098 0.705439819701507 -0.208837037371123
+4486 -0.691304438877845 0.712101415691479 -0.212684617586649
+4487 -0.689465763965624 0.716060613236835 -0.205229526360575
+4488 -0.68401011486347 0.720594737507284 -0.207601510209516
+4489 -0.666217431762281 0.740610977839981 -0.194614267511347
+4490 -0.663112597920819 0.742485233143366 -0.198046360841959
+4491 -0.674692989325318 0.730569141312803 -0.203182430137892
+4492 -0.673902817603315 0.728692202606663 -0.212338565236188
+4493 -0.656876333635272 0.743430467746972 -0.214591756447913
+4494 -0.655173873312991 0.746110123724225 -0.21045635890672
+4495 -0.648086460960675 0.750497561284243 -0.216707982376911
+4496 -0.64943405018501 0.748010776836912 -0.221224528920582
+4497 -0.6449926239013 0.753164066726307 -0.216687340897449
+4498 -0.646243509694128 0.750479164275461 -0.22220564836795
+4499 -0.641383971157722 0.754930747003218 -0.221203907675957
+4500 -0.639154613488492 0.753185445612978 -0.233276798188667
+4501 -0.632216295441454 0.758351924991615 -0.235435582781777
+4502 -0.623970079517118 0.760580400941477 -0.249807513039746
+4503 -0.631315681688003 0.7523994041372 -0.256048133578043
+4504 -0.624698868034942 0.754970231167561 -0.264568090151969
+4505 -0.621515372102549 0.759613858020102 -0.258709158987554
+4506 -0.618135273771158 0.759910465786066 -0.265838047142729
+4507 -0.618779451843893 0.761598040980978 -0.259432869832848
+4508 -0.6120408369253 0.767816554748755 -0.25707732725686
+4509 -0.606373413173697 0.770563162895455 -0.262237861081565
+4510 -0.607460431386372 0.767194219752552 -0.269499264336947
+4511 -0.605075224765325 0.770904879353632 -0.264224600224797
+4512 -0.602551864039109 0.770953830369389 -0.269789626527343
+4513 -0.607725309084724 0.771532709338357 -0.256187874652357
+4514 -0.598937303702356 0.782584567037477 -0.243023664832286
+4515 -0.591848507958506 0.78898496044613 -0.239672851648054
+4516 -0.58696311063652 0.789971979939046 -0.248281247103126
+4517 -0.586709274787788 0.791851062681571 -0.242835585135404
+4518 -0.581669380666536 0.793877921302718 -0.248281247103126
+4519 -0.579429925276015 0.797253493447446 -0.24263723720912
+4520 -0.576243903764596 0.795523450858981 -0.255559000051958
+4521 -0.573151401959206 0.80015627155954 -0.247936305361139
+4522 -0.565185196014145 0.803044537941945 -0.256729749518946
+4523 -0.569226698065016 0.797820207704399 -0.263986519331021
+4524 -0.559784633220354 0.804555289248562 -0.263736518048822
+4525 -0.564545179547134 0.798812956923409 -0.270945751214839
+4526 -0.557366521712064 0.805690383854104 -0.265387576648985
+4527 -0.551834836330353 0.807142668974698 -0.272440865753751
+4528 -0.552834231783199 0.804529200652154 -0.278086456819974
+4529 -0.556934420139616 0.802817653365019 -0.274832434601949
+4530 -0.550446882420522 0.804178350432169 -0.283778805286307
+4531 -0.558509000079485 0.79834505415613 -0.284495819538107
+4532 -0.549939850669811 0.803166899470183 -0.287600577608458
+4533 -0.539131370707778 0.812780666009391 -0.2809803446508
+4534 -0.537058939964165 0.811253724706457 -0.28924053857381
+4535 -0.543178132425668 0.806174576195074 -0.292001830732713
+4536 -0.541349122662407 0.804671691674888 -0.299448820351186
+4537 -0.536912204541263 0.809067197771004 -0.295568188588719
+4538 -0.535183470960585 0.806523292662791 -0.305489493768526
+4539 -0.529519183676321 0.817823316702647 -0.284604035066696
+4540 -0.516421270074786 0.820920729359126 -0.299371387949526
+4541 -0.516793120786841 0.81531037295221 -0.31371781279348
+4542 -0.494643959655989 0.819560179236259 -0.337451427298916
+4543 -0.477952472833651 0.827837971126403 -0.341278079099023
+4544 -0.552674504488419 0.833134813031857 -0.175106468763589
+4545 -0.550547704113484 0.833207941572424 -0.181347047387091
+4546 -0.558548657340227 0.828175976921783 -0.179924841623053
+4547 -0.55859201976726 0.828146730247275 -0.179924841623053
+4548 -0.566124186872164 0.824054688497965 -0.175106468763589
+4549 -0.786720055504438 0.395386542281072 -0.504941616872794
+4550 -0.799429236704609 0.396144729307143 -0.483949634718383
+4551 -0.804984822281568 0.409735615548056 -0.462969935576565
+4552 -0.815750894249793 0.412190531519884 -0.441445856539642
+4553 -0.81773111013931 0.439014994439812 -0.410860884202115
+4554 -0.81327179406117 0.454671280103072 -0.402601559900057
+4555 -0.819208896495629 0.460320401075801 -0.383701592719952
+4556 -0.817119105142043 0.459746776934941 -0.388811354142083
+4557 -0.815404290810845 0.469977263635838 -0.380081851964327
+4558 -0.812468303616221 0.467945062322953 -0.38877715244925
+4559 -0.812038172532091 0.472389849910543 -0.384274428048805
+4560 -0.809368279505924 0.47426509442204 -0.387583034126202
+4561 -0.815021796899518 0.494119836545183 -0.349012976422429
+4562 -0.799266908140854 0.533851321694624 -0.326190398196916
+4563 -0.805200399994139 0.54397373653044 -0.293206224037603
+4564 -0.801794953098371 0.553079985789092 -0.285398637883083
+4565 -0.807060016026553 0.557835136308796 -0.260190490276964
+4566 -0.801668707472539 0.571508135640217 -0.246841516678923
+4567 -0.793389346886892 0.581247571209422 -0.250817872587937
+4568 -0.796223747472873 0.588207385802933 -0.224198160668491
+4569 -0.791823943611115 0.606841687459261 -0.187037452628445
+4570 -0.786817954217506 0.611859691697444 -0.191755637718651
+4571 -0.783461774395607 0.610369663333149 -0.209431425873638
+4572 -0.776512918431126 0.615765549809412 -0.219284005749364
+4573 -0.780588002340073 0.610366966409891 -0.219908019222405
+4574 -0.771121275185063 0.614235016660817 -0.241479446878294
+4575 -0.769254794197057 0.608240559186624 -0.261754625107536
+4576 -0.748107640125602 0.614305772694041 -0.305267712705552
+4577 -0.741720063327585 0.62237703510401 -0.304504801000683
+4578 -0.844498412224418 0.535149657897287 -0.175106468763589
+4579 -0.845033569341932 0.533692122472851 -0.176963230914384
+4580 -0.862654290821853 0.503226364218533 -0.181151320398285
+4581 -0.865671085260469 0.495734380604533 -0.187312562393989
+4582 -0.872768496225097 0.486235708423477 -0.179094912967684
+4583 -0.865647456440029 0.49968107787056 -0.176630409547798
+4584 -0.8656038477439 0.499756617959115 -0.176630409547798
+4585 -0.865005995874923 0.501325594496809 -0.175106468763589
+4586 0.204212194680998 -0.978703276862153 -0.175106468763589
+4587 0.212808957200399 -0.972604125831879 -0.197429891733963
+4588 0.235575426393511 -0.959235901750189 -0.23365723458309
+4589 0.231778862445024 -0.957985854770753 -0.242418359417847
+4590 0.239061819090267 -0.952871132807867 -0.255168671499274
+4591 0.2510200802866 -0.946260204788306 -0.267965565188705
+4592 0.308059485310045 -0.919465990328495 -0.299844369865018
+4593 0.324691935362334 -0.90717863601575 -0.319103540355266
+4594 0.324524723216735 -0.897615329071676 -0.345246904456286
+4595 0.322532651297121 -0.88890169069982 -0.368851559734063
+4596 0.309053184162437 -0.879023927713577 -0.402527097058143
+4597 0.307276670192017 -0.86532197625657 -0.432462628863039
+4598 0.282051740389194 -0.843991705926031 -0.488210831579447
+4599 0.282884018227628 -0.834641436970427 -0.503562611721057
+4600 0.281786339260859 -0.834179490610895 -0.504941616872794
+4601 0.564611783203503 -0.67562748450433 -0.504941616872794
+4602 0.573415136771754 -0.676147929241098 -0.494210540866953
+4603 0.588679441293509 -0.671543930971499 -0.482400522567822
+4604 0.599722703447788 -0.677029403642481 -0.460639626576767
+4605 0.599961350998211 -0.685620022775445 -0.447433304167001
+4606 0.609244417812998 -0.684979475862045 -0.435717060730308
+4607 0.605531932300706 -0.690258091067421 -0.432550397849931
+4608 0.611398296834324 -0.684100089226957 -0.434078553429858
+4609 0.622962537334423 -0.681561839467934 -0.421445294265986
+4610 0.640888433669585 -0.672528931806444 -0.408891001945298
+4611 0.652516117339984 -0.661991536664673 -0.407694643079715
+4612 0.668348454678828 -0.654792302221016 -0.3934239241334
+4613 0.677390592235072 -0.6441016463662 -0.395600878032102
+4614 0.684683132183788 -0.640334211142998 -0.389109376066513
+4615 0.68353255278052 -0.638542871773319 -0.394044731213129
+4616 0.694901196141093 -0.625999378030327 -0.394286832530992
+4617 0.697818059386692 -0.62748068727569 -0.386707826517409
+4618 0.711067670235753 -0.617794949284805 -0.3780703228021
+4619 0.712591821367347 -0.620998604202644 -0.369862987738344
+4620 0.731708410198193 -0.613976265084125 -0.34330882359558
+4621 0.731708410198193 -0.613976265084125 -0.34330882359558
+4622 0.735058388061109 -0.612623207179539 -0.338536515262474
+4623 0.741634245938425 -0.615694756398877 -0.31799939024198
+4624 0.750506446954844 -0.610725220231544 -0.306561214853327
+4625 0.771020061600654 -0.62093588811066 -0.224035013927621
+4626 0.773448728215085 -0.619449837359484 -0.219736123151784
+4627 0.774505918161471 -0.615452097457093 -0.227121770133384
+4628 0.779880567198738 -0.610823392955104 -0.221147198771745
+4629 0.807473791217563 -0.589532697222029 -0.175106468763589
+4630 0.841202792668098 0.260070807968293 -0.504941616872794
+4631 0.822039945108548 0.2702793410655 -0.530494492373987
+4632 0.813925587285078 0.269605722167937 -0.543196919115845
+4633 0.813528741138885 0.261945934271966 -0.547521976599449
+4634 0.797297248053469 0.265223947694091 -0.569384189994705
+4635 0.797541489964802 0.271363927710739 -0.566139727030461
+4636 0.784740723190247 0.285622264503312 -0.576911535148023
+4637 0.784740723190247 0.285622264503312 -0.576911535148023
+4638 0.78452680759275 0.285851472743456 -0.577088921829839
+4639 0.778928453789354 0.323533429844651 -0.564642881519179
+4640 0.7633787019978 0.353375794469494 -0.567981958533199
+4641 0.755039200033466 0.384902596692338 -0.558561364106325
+4642 0.7523942635575 0.434557879052578 -0.524678303266957
+4643 0.755517356016392 0.452164227143069 -0.504941616872794
+4644 -0.371901342270283 0.798090442974636 -0.504941616872794
+4645 -0.370932284798784 0.793585658559874 -0.512694882578366
+4646 -0.376618324564296 0.776200867783578 -0.534692295114118
+4647 -0.368605448373724 0.76597397724616 -0.55465204372733
+4648 -0.358328442492482 0.768402815007058 -0.558016882531471
+4649 -0.356508725242184 0.760097446115693 -0.570419495840205
+4650 -0.373154759819045 0.744393861813355 -0.580394954939299
+4651 -0.38998365985916 0.734906290625413 -0.58142109442473
+4652 -0.420701448756228 0.731533608060217 -0.56399811284508
+4653 -0.42193930926243 0.73082032539218 -0.56399811284508
+4654 -0.42193930926243 0.73082032539218 -0.56399811284508
+4655 -0.466081482336966 0.703451841989345 -0.564046591891463
+4656 -0.479738519431901 0.705013512598585 -0.550483333105274
+4657 -0.504789020016208 0.695880143059129 -0.53959602645598
+4658 -0.570770728504315 0.65306630091745 -0.527209808414689
+4659 -0.59786034527576 0.615179849365663 -0.542532727566909
+4660 -0.593716871875095 0.613524773382167 -0.548919510035135
+4661 -0.598812422129869 0.604947272941115 -0.552890115722887
+4662 -0.597289697134977 0.586565738090341 -0.573943074350533
+4663 -0.593291011291481 0.590955414535054 -0.573587372553156
+4664 -0.598924054841507 0.57922329883063 -0.579668307417242
+4665 -0.602097836976934 0.58278097500815 -0.572773541529502
+4666 -0.631674748125081 0.573149499144382 -0.550192388362161
+4667 -0.635212148301485 0.57690516469868 -0.542135552785649
+4668 -0.62967589063739 0.567400667494227 -0.558381370818471
+4669 -0.62019506065418 0.569280589870359 -0.567012078122692
+4670 -0.614573155550884 0.564080684720092 -0.57821952371218
+4671 -0.610347289554314 0.568839487308898 -0.578033583636671
+4672 -0.605838555369197 0.567886442758247 -0.583686245306114
+4673 -0.616039051805067 0.559335048230926 -0.581261722868126
+4674 -0.626578397710774 0.562315096066122 -0.566944657138901
+4675 -0.62604791565403 0.552557209340117 -0.577035126930334
+4676 -0.615451823490205 0.552252121654243 -0.588609927788318
+4677 -0.623751981796376 0.544306102458006 -0.587272791837038
+4678 -0.626327095251362 0.534593670615718 -0.593421416104613
+4679 -0.625643138660317 0.530152338737563 -0.598108820181043
+4680 -0.625662218208107 0.53225437677435 -0.596218975806254
+4681 -0.61861356318525 0.523880414367374 -0.610812222279087
+4682 -0.618840596465157 0.519268919195835 -0.614508832909533
+4683 -0.618840596465157 0.519268919195835 -0.614508832909533
+4684 -0.619191132470683 0.508935190227367 -0.622745785708669
+4685 -0.637494730984426 0.470740553693329 -0.634215104736234
+4686 -0.657662975464322 0.461733302421045 -0.620086097359689
+4687 -0.656457438947333 0.457678577767409 -0.624354827244501
+4688 -0.65132879568179 0.461883672195328 -0.626625305326132
+4689 -0.658634417929963 0.452870028837071 -0.625567294940495
+4690 -0.654977349555004 0.452311179262514 -0.629797005934497
+4691 -0.657806883824574 0.439100867390831 -0.636164704970045
+4692 -0.66023843630876 0.441490661116183 -0.631978008610869
+4693 -0.68078972196871 0.425867378403395 -0.620795723627012
+4694 -0.675210374023048 0.430918948982913 -0.623397794525387
+4695 -0.678838391025271 0.429840625412153 -0.620193901627153
+4696 -0.698916139508394 0.403844780000019 -0.615345938153019
+4697 -0.716554777889936 0.411155745038806 -0.589682290394318
+4698 -0.727100012761537 0.40564663959307 -0.580518195433203
+4699 -0.727158444071704 0.40968256786799 -0.577603489255656
+4700 -0.74313051805377 0.408522572544439 -0.557755628262781
+4701 -0.761552202105296 0.395712850417862 -0.541917506160067
+4702 -0.762428929806578 0.399266212968845 -0.538064697016551
+4703 -0.776552313804617 0.394564125429832 -0.521066842975532
+4704 -0.786720055504438 0.395386542281072 -0.504941616872794
+4705 -0.614023801723428 0.414179879033644 -0.694013543614809
+4706 -0.617096492609075 0.402740723538125 -0.698009189347508
+4707 -0.628644806480799 0.405180522452032 -0.686191993184281
+4708 -0.629173146314019 0.393059411599258 -0.692726822716259
+4709 -0.643537849109943 0.398901534216374 -0.675989351072021
+4710 -0.642123452090925 0.39563974230982 -0.679243451628245
+4711 -0.654309342528271 0.407620357778696 -0.660265043906301
+4712 -0.63889531212569 0.421161857717886 -0.666828665961082
+4713 -0.629986038242825 0.446319153921392 -0.65889438035394
+4714 -0.623332624262236 0.440625832783928 -0.668977066134426
+4715 -0.62042510672743 0.42551413677236 -0.681348226936219
+4716 -0.619102301623753 0.430800307798486 -0.679226350287518
+4717 -0.615580410752646 0.426947848953106 -0.684836690147307
+4718 -0.614031030432482 0.414169162233548 -0.694013543614809
+4719 -0.614023801723428 0.414179879033644 -0.694013543614809
+4720 -0.765210909992161 0.0677951980207828 -0.663386067350145
+4721 -0.761455522266017 0.0717776168362025 -0.667276900043679
+4722 -0.758519713440992 0.063188094116559 -0.671476067394298
+4723 -0.763480497572715 0.0538564441473828 -0.666649843058498
+4724 -0.787607260626003 0.0406702743623019 -0.638941101974586
+4725 -0.789135471290745 0.0275020615984824 -0.637756885151832
+4726 -0.804958273332977 0.0203334782104774 -0.617943142899616
+4727 -0.806331662053503 0.0283972626271097 -0.615831020853384
+4728 -0.800381048761477 0.0398173240248851 -0.622920346024253
+4729 -0.803383889993083 0.0556144941798245 -0.617823885372445
+4730 -0.815224671417162 0.0642311588713422 -0.601255431029795
+4731 -0.807580071605227 0.0624801949218168 -0.611666292342997
+4732 -0.810309425870735 0.0757692759279181 -0.60653330590364
+4733 -0.815961270954091 0.0732676217385027 -0.599219542327992
+4734 -0.820701497275903 0.0816275796874699 -0.591617266992315
+4735 -0.827425830557455 0.0821213805292435 -0.582106153365756
+4736 -0.825358005937649 0.0852196612118296 -0.584591114692627
+4737 -0.829917626454864 0.0960394272729046 -0.576401042424992
+4738 -0.827321717997122 0.0981103290893116 -0.579774213169469
+4739 -0.832973773153236 0.101582797904564 -0.571017187489783
+4740 -0.832187881965365 0.10693052617566 -0.571186652226569
+4741 -0.814499955434023 0.0849031963963319 -0.599671801771319
+4742 -0.818349414456446 0.0872685323446094 -0.594065180869245
+4743 -0.816643748956018 0.0785043866880827 -0.597624504653037
+4744 -0.812478201439964 0.0789770393183663 -0.603213726174552
+4745 -0.814119132780875 0.0833412653092443 -0.600407587507661
+4746 -0.808345833748971 0.0779914868102707 -0.608867260612527
+4747 -0.808817957389679 0.0717297778648669 -0.609010140122021
+4748 -0.808306929874875 0.07727584580456 -0.609010140122021
+4749 -0.800962653989318 0.0704273293601079 -0.619454452073428
+4750 -0.789373988430577 0.074701216402137 -0.633666658943994
+4751 -0.783144885292828 0.0857268198574791 -0.639968750015817
+4752 -0.777479087884342 0.0672276197795211 -0.649023662928642
+4753 -0.765251358586908 0.0677449379941209 -0.663344542117491
+4754 -0.765210909992161 0.0677951980207828 -0.663386067350145
+4755 -0.69357753045767 0.122296434257423 -0.730902723631647
+4756 -0.699949456345582 0.113968929396179 -0.726158964479413
+4757 -0.724049355386824 0.110510614951168 -0.702684093278792
+4758 -0.726924265375423 0.0994082170359618 -0.70137302399945
+4759 -0.730513547918674 0.106974093448457 -0.696513818698633
+4760 -0.726947487609343 0.0993467689937009 -0.701357661788175
+4761 -0.728910231778513 0.0884530981229114 -0.700778797796461
+4762 -0.730842895495421 0.0942455207314632 -0.698005332304793
+4763 -0.737202643251162 0.0934048780302226 -0.691399155006468
+4764 -0.755814686194075 0.0757201282657056 -0.673227764065607
+4765 -0.761988530785468 0.0758013752826914 -0.666222658318265
+4766 -0.760662007818276 0.0811973279612508 -0.667102168932032
+4767 -0.76450696678204 0.0761058063870555 -0.663296316871955
+4768 -0.758994483540073 0.0905717926419549 -0.667794223045813
+4769 -0.765825784431681 0.0987159585456007 -0.658779953723566
+4770 -0.767864877327131 0.0945812525631592 -0.6570105911102
+4771 -0.762701899104865 0.10537236383112 -0.661367884042213
+4772 -0.733751483303507 0.119512166011438 -0.691050362075846
+4773 -0.719898877792381 0.137041598843595 -0.702275021583184
+4774 -0.717324079838255 0.147636947568751 -0.702762048062346
+4775 -0.699858949470442 0.161909720519548 -0.717082765967368
+4776 -0.696437731462107 0.15864865223579 -0.721131119380991
+4777 -0.697297633554546 0.16344697201386 -0.719226040670616
+4778 -0.685875703840654 0.162437531706924 -0.730351673629936
+4779 -0.689073353914154 0.150859724326475 -0.729824812199228
+4780 -0.686039571783643 0.133228330076272 -0.736087574961026
+4781 -0.693545614929135 0.122315768847733 -0.730929772757791
+4782 -0.69357753045767 0.122296434257423 -0.730902723631647
+4783 0.281786339260859 -0.834179490610895 -0.504941616872794
+4784 0.274509187885069 -0.831012056513978 -0.514090135769097
+4785 0.267056427268134 -0.803690983297319 -0.559452114145052
+4786 0.235119928996669 -0.776550039359034 -0.609847239364157
+4787 0.227262057938062 -0.77647129600625 -0.612918659774796
+4788 0.227248527086872 -0.752398684800438 -0.642245534081334
+4789 0.21225086509015 -0.738261143520177 -0.663434287806081
+4790 0.216490850322335 -0.730205633213202 -0.670936990298209
+4791 0.212343698486794 -0.729228820927989 -0.673320488653749
+4792 0.223623828163816 -0.729209556479882 -0.669679629536224
+4793 0.227971060339028 -0.726478894389898 -0.671180014343344
+4794 0.232398483383628 -0.72745542874511 -0.66859894115251
+4795 0.222945852306776 -0.724022329150006 -0.675508559406471
+4796 0.228722095731981 -0.71897657183122 -0.67895794573876
+4797 0.225809408714908 -0.715696819439297 -0.683383621094549
+4798 0.222109683853504 -0.719475936069781 -0.680622263634543
+4799 0.225340825127287 -0.7145158648113 -0.684772656772971
+4800 0.221586115020701 -0.716980699764771 -0.683420273181043
+4801 0.214819178551002 -0.707186308787876 -0.695676106524905
+4802 0.217900159429766 -0.701320975984942 -0.700637858785843
+4803 0.210066888781525 -0.699612658916605 -0.704726209049507
+4804 0.217707257176939 -0.692586102380501 -0.709332813961035
+4805 0.203623198106504 -0.68812599787592 -0.717805826279049
+4806 0.211769909280104 -0.682936406945481 -0.720400145469094
+4807 0.202978198165326 -0.684935627713244 -0.721032618512243
+4808 0.200857362844609 -0.681269333869407 -0.725088556329669
+4809 0.206469317798055 -0.681323003006891 -0.72346001021596
+4810 0.197374424018661 -0.67226659718393 -0.734388152855179
+4811 0.196064511185915 -0.67790462174756 -0.729540287624148
+4812 0.188875300599499 -0.679220629027768 -0.73021261145407
+4813 0.194545504735165 -0.67823742957181 -0.729637605743539
+4814 0.190598685588074 -0.679624313413772 -0.729388739746479
+4815 0.19466826654457 -0.68266467979543 -0.725464127962462
+4816 0.189736408731497 -0.680981753703398 -0.728346721228783
+4817 0.186998322833309 -0.684818520422122 -0.725451736054429
+4818 0.182412129473313 -0.685122082331883 -0.72633225683721
+4819 0.188156159521707 -0.681424028308645 -0.728343018966792
+4820 0.183610228954557 -0.678370956335576 -0.732342221521885
+4821 0.173377645607509 -0.676339382540773 -0.736702267967164
+4822 0.176486834372982 -0.672632156819221 -0.739353351859398
+4823 0.174598009231592 -0.676191414335136 -0.736549866846647
+4824 0.183229420855502 -0.677620518174435 -0.733131920381296
+4825 0.182206823050232 -0.672953025740415 -0.737671945230915
+4826 0.189877989446393 -0.67155141586228 -0.73701427732247
+4827 0.191616825556951 -0.664917298556533 -0.742558400561033
+4828 0.183918255112958 -0.663817636270476 -0.745483213233191
+4829 0.190649866360735 -0.661171581930374 -0.746143262185165
+4830 0.180521087215915 -0.661234065512036 -0.748603130955787
+4831 0.192347233629205 -0.659099826787862 -0.747539269900519
+4832 0.196649515508838 -0.652445650851827 -0.75224240822668
+4833 0.191855703327243 -0.655203802446305 -0.751082130236575
+4834 0.193811148692974 -0.649588211756281 -0.755445162662113
+4835 0.180395423328409 -0.65725077734242 -0.752132905093873
+4836 0.188221615013748 -0.649597749026684 -0.756848986324935
+4837 0.181240561217169 -0.648912125801712 -0.759137610685434
+4838 0.184587651676326 -0.64598832730334 -0.760822896498556
+4839 0.178201176332784 -0.638761383240119 -0.768409549676981
+4840 0.183114788564983 -0.640199362116913 -0.766054013078647
+4841 0.185447167641137 -0.632090735782166 -0.772201819314251
+4842 0.178350025865589 -0.635309087074904 -0.771231892593788
+4843 0.179773898276651 -0.629849326470597 -0.775368410139948
+4844 0.24627969249783 -0.606939158087714 -0.775368410139948
+4845 0.254807574347209 -0.617353033363668 -0.764312326377096
+4846 0.280264356759193 -0.622599022028572 -0.751030856955572
+4847 0.284367074633826 -0.630977404463045 -0.74244722500746
+4848 0.273750136620276 -0.638522255880905 -0.739983237273074
+4849 0.269056025790055 -0.653652977838516 -0.728403486777007
+4850 0.2806548633904 -0.659548553914971 -0.71864702927375
+4851 0.298743724160152 -0.656170506148699 -0.714435059424916
+4852 0.307432060860051 -0.669389777001919 -0.698303554624106
+4853 0.32296784285489 -0.671257500722284 -0.689441904880848
+4854 0.316706166724325 -0.678529171976156 -0.685215562240187
+4855 0.324298470404281 -0.676711576107487 -0.683459541491348
+4856 0.325995104850969 -0.671121932926387 -0.688147907617509
+4857 0.333312295778616 -0.671012128756729 -0.684741291689169
+4858 0.334046160855023 -0.677825910346294 -0.677635741148028
+4859 0.323798437221718 -0.67797422557935 -0.682444518992463
+4860 0.318895079778729 -0.685339922683979 -0.677377382607683
+4861 0.325949394174343 -0.699255631275949 -0.659563154342518
+4862 0.338448465307076 -0.687515182925943 -0.665582834497399
+4863 0.356600520166699 -0.681621235448281 -0.662158259332917
+4864 0.365930805654518 -0.697409481403764 -0.640265304948791
+4865 0.369232529442307 -0.694600866983026 -0.641421838409065
+4866 0.368319636336679 -0.702766965355068 -0.632996238452051
+4867 0.382079609936657 -0.692450205189425 -0.63620192156561
+4868 0.396519372004674 -0.686791707986884 -0.633493912729615
+4869 0.239953002484082 -0.609468116603258 -0.775368410139948
+4870 0.238825562108444 -0.613441520190872 -0.772578055726084
+4871 0.240325260576734 -0.609321423951082 -0.775368410139948
+4872 0.396519372004674 -0.686791707986884 -0.633493912729615
+4873 0.415795437177287 -0.678702605594909 -0.629842780050094
+4874 0.429670094509258 -0.675695469964519 -0.623734111423957
+4875 0.447148087005782 -0.679915955542519 -0.606628289552814
+4876 0.449612287605474 -0.685250933480159 -0.59875282796722
+4877 0.443847566086269 -0.693491652526188 -0.593543314304687
+4878 0.449750329350185 -0.697822416507063 -0.58394650120507
+4879 0.437558422578884 -0.715992501227474 -0.571071243380636
+4880 0.446031587184656 -0.72623468891617 -0.551238605186874
+4881 0.441884274168478 -0.719116054157737 -0.56376891444563
+4882 0.446131669135935 -0.709983056402068 -0.571940200909118
+4883 0.464368079992364 -0.692670546259421 -0.578614552728222
+4884 0.489946640972437 -0.678104689117954 -0.574761967771067
+4885 0.517772010030841 -0.677095217351816 -0.551070968449545
+4886 0.528944808383237 -0.683733151527097 -0.53193173169801
+4887 0.550911720230892 -0.682630484935248 -0.510624027587135
+4888 0.550443714231573 -0.687164383026008 -0.505016661273108
+4889 0.556632665914423 -0.676908668012312 -0.512034891786487
+4890 0.528974507854607 -0.679155260237181 -0.537735160215642
+4891 0.550099942808789 -0.674369014881722 -0.522342306049608
+4892 0.564611783203503 -0.67562748450433 -0.504941616872794
+4893 0.329144776186255 0.119798901147331 -0.952647332223836
+4894 0.337490347165802 0.10871506966287 -0.951055360743056
+4895 0.339271901669948 0.0948892040798272 -0.951901053516779
+4896 0.348337702251394 0.0943912656514905 -0.948670719564449
+4897 0.34034879091273 0.0782003909731245 -0.953033262470882
+4898 0.34919598118185 0.00384283105941643 -0.953033262470882
+4899 0.367112507479181 1.9553865198737e-06 -0.946283999044962
+4900 0.367112507479181 1.9553865198737e-06 -0.946283999044962
+4901 0.367112507484388 0 -0.946283999044962
+4902 0.346076016843745 0.046733191520316 -0.953033262470882
+4903 0.346442973981424 0.0445768021942959 -0.953003239493464
+4904 0.346371442725638 0.0444907213727371 -0.953033262470882
+4905 0.273308138640782 0.217382754552466 -0.953033262470882
+4906 0.282214125069043 0.2193506333795 -0.949981835219772
+4907 0.283151796737866 0.213825352366784 -0.950962027995513
+4908 0.308515313605568 0.209216058561456 -0.944072000490888
+4909 0.308865818672653 0.201920627095125 -0.945544798732024
+4910 0.298647556528364 0.196259848915312 -0.95000879400318
+4911 0.30290551912782 0.189276375158369 -0.950077733813825
+4912 0.313660591732302 0.187895275402951 -0.946856588230441
+4913 0.308503427881296 0.172257076745839 -0.951513601845222
+4914 0.310272819050459 0.160260345633558 -0.953033262470882
+4915 0.27779971193978 0.233101635452181 -0.948006301453579
+4916 0.272267739202505 0.218684427460355 -0.953033262470882
+4917 0.327049430262465 0.122438845098701 -0.953033262470882
+4918 0.329144776186255 0.119798901147331 -0.952647332223836
+4919 0.195710185995324 0.338979984765911 -0.936490839798115
+4920 0.201189406428686 0.336277536584919 -0.936304032421762
+4921 0.22034189970728 0.333999838049755 -0.932801455517799
+4922 0.221544946988735 0.341995463634906 -0.929613865708179
+4923 0.24699236249781 0.336267647103115 -0.925280412836825
+4924 0.26064346434639 0.315309133538491 -0.928908033553762
+4925 0.250266893109734 0.306797393794921 -0.934594479640151
+4926 0.262666457309868 0.304246190786851 -0.932022310675005
+4927 0.263308042175903 0.295968027603591 -0.934503505377017
+4928 0.257197327419556 0.298379490624129 -0.935437979955445
+4929 0.25885435370794 0.288990661752285 -0.937925274734838
+4930 0.270953037965198 0.287392679400815 -0.934994598403782
+4931 0.268881920454546 0.279787650095571 -0.937894654908894
+4932 0.281892960299685 0.245046675246376 -0.94377618421116
+4933 0.27779971193978 0.233101635452181 -0.948006301453579
+4934 0.0663857468718456 0.3764922758035 -0.940250763824507
+4935 0.0734641294751332 0.371978341780732 -0.941520119236184
+4936 0.0769230944533439 0.355945811344398 -0.947423040107269
+4937 0.0868211463450967 0.346114751167193 -0.950206118466828
+4938 0.0906699453062449 0.350976221195872 -0.948060996546756
+4939 0.0985619517093286 0.339528927425638 -0.951436098283244
+4940 0.110688906846416 0.349066696013002 -0.946639005976255
+4941 0.124104789273734 0.350024217516982 -0.944619525751478
+4942 0.134538582920535 0.362450559366256 -0.9384849288725
+4943 0.195710185995324 0.338979984765911 -0.936490839798115
+4944 -0.0730139160428213 0.414082499461801 -0.923812563079524
+4945 -0.0686872257739744 0.410828675205117 -0.925595410881387
+4946 -0.0440196488095553 0.428389612516585 -0.919113491581194
+4947 -0.0400789722678315 0.410794473105302 -0.927289909816823
+4948 -0.0310411528476972 0.40404267958991 -0.930597098587617
+4949 -0.0143250448327256 0.406977501223659 -0.929725285548525
+4950 0.00328190883542903 0.401527432518285 -0.932196304438969
+4951 0.0143542395863123 0.414787702220241 -0.926266763892968
+4952 0.0448486562772159 0.403380788247656 -0.930321201361566
+4953 0.0595494068363551 0.414808286056083 -0.924452786227968
+4954 0.0612349416087056 0.406369723843021 -0.928083471175909
+4955 0.05239162853787 0.392192267970288 -0.934700669842208
+4956 0.057903426323262 0.381598185001956 -0.938751840702983
+4957 0.0663857468718456 0.3764922758035 -0.940250763824507
+4958 -0.200992696371832 0.348129563990337 -0.932004690267747
+4959 -0.186117864913545 0.353153332276491 -0.933203013423142
+4960 -0.179528980651479 0.368088960865795 -0.928711398656752
+4961 -0.168734664021527 0.371508052513916 -0.929373649333173
+4962 -0.164802791416698 0.385908059777946 -0.924196953760228
+4963 -0.151212893797773 0.387881025142143 -0.92569323811076
+4964 -0.12786230773705 0.378427002707226 -0.933096583362184
+4965 -0.0956773582965545 0.418756725855523 -0.919626906772608
+4966 -0.0909292294955086 0.410256908264942 -0.923929729170051
+4967 -0.0782852252541796 0.417909996575313 -0.921654847689374
+4968 -0.0730139160428213 0.414082499461801 -0.923812563079524
+4969 -0.309343917018453 0.259570368148952 -0.931211342812521
+4970 -0.296260372537135 0.282381406878382 -0.928824812714186
+4971 -0.301367766125244 0.303066219690295 -0.920626599671829
+4972 -0.288390733732755 0.294700637428773 -0.927473621725253
+4973 -0.264717723989491 0.321299623455909 -0.925697617244916
+4974 -0.256879303497979 0.3073113869901 -0.932629473510576
+4975 -0.246443344029866 0.312555788019846 -0.93370207109049
+4976 -0.243713296319513 0.331133024577182 -0.927997709712391
+4977 -0.2325561182661 0.342054660553058 -0.926898732899628
+4978 -0.219289787544059 0.337289895474775 -0.931865073650417
+4979 -0.218276759121055 0.360375184449344 -0.923422970723985
+4980 -0.209685138710343 0.344885028850451 -0.93129558115501
+4981 -0.200992696371832 0.348129563990337 -0.932004690267747
+4982 -0.334028550151475 0.121576450857292 -0.950720302865489
+4983 -0.337346760875239 0.128199916594104 -0.948676417073941
+4984 -0.333043965979616 0.153408525631448 -0.946452608949943
+4985 -0.337812385639416 0.16730956024371 -0.942398696497222
+4986 -0.319630351433727 0.19770841107618 -0.94285355312057
+4987 -0.328342493303172 0.201579211526039 -0.939032496014912
+4988 -0.320384495212899 0.222631564457476 -0.937023992080455
+4989 -0.330799901774061 0.217815978601357 -0.934533372572753
+4990 -0.33451757938857 0.22221087389123 -0.932172364214101
+4991 -0.323640738642118 0.229574697306295 -0.934225417470488
+4992 -0.309343917018453 0.259570368148952 -0.931211342812521
+4993 -0.330048145817576 0.114108816778049 -0.953033262470882
+4994 -0.334028550151475 0.121576450857292 -0.950720302865489
+4995 0.179773898276651 -0.629849326470597 -0.775368410139948
+4996 0.180922438021194 -0.6252637817936 -0.778805029900059
+4997 0.172074702406355 -0.629042324291863 -0.777766707336624
+4998 0.179552863518838 -0.624611489492658 -0.779644955345668
+4999 0.176945324414269 -0.618589068306297 -0.785024150418238
+5000 0.183776165690906 -0.623212914476607 -0.779780087046035
+5001 0.185083981459033 -0.618446176829569 -0.783258096780469
+5002 0.174504195310836 -0.618249547227071 -0.785837631557842
+5003 0.179992830239968 -0.61397579652229 -0.787947525122724
+5004 0.175121011440515 -0.607955363008661 -0.793692577728341
+5005 0.179206112745234 -0.600751972535095 -0.798252614558784
+5006 0.180693025350485 -0.606238654305269 -0.793756716265018
+5007 0.181525678536373 -0.600144085874504 -0.798185757967257
+5008 0.181431053869232 -0.607165977037155 -0.792879088525115
+5009 0.188566783273062 -0.601827776308535 -0.79528038823397
+5010 0.181117722702205 -0.60855586234642 -0.791884545200228
+5011 0.187586255822063 -0.61104864400492 -0.788451616325572
+5012 0.183884267245981 -0.606909643085118 -0.792510101758774
+5013 0.189783430426149 -0.601147789866703 -0.795505238369969
+5014 0.182366235993061 -0.593454048416953 -0.802981848105704
+5015 0.185988617638849 -0.59975736148911 -0.797448645022619
+5016 0.182101956983802 -0.595182808200439 -0.801761374777626
+5017 0.183143884209654 -0.598961886509527 -0.798703935251073
+5018 0.175539994238553 -0.601820344307839 -0.798262477885515
+5019 0.172944037144506 -0.591575804197438 -0.806444931724612
+5020 0.182540952546291 -0.593027181276832 -0.803257469875225
+5021 0.175639092812471 -0.587782957322547 -0.808632861165791
+5022 0.17564692248873 -0.587771763377946 -0.808639297088521
+5023 0.179253683401473 -0.585471707704538 -0.80951590253962
+5024 0.181943102764129 -0.592408492309614 -0.803849417239331
+5025 0.196121000553168 -0.587677389502714 -0.803988083872702
+5026 0.195609986579808 -0.579536374389331 -0.809999582660334
+5027 0.187362619145975 -0.575514778309155 -0.814802423225732
+5028 0.190026163065573 -0.57984321978424 -0.811108437769465
+5029 0.182949263414901 -0.579676449725199 -0.812852865314464
+5030 0.192746029443478 -0.568887760310089 -0.818193549414284
+5031 0.202114322137839 -0.58311174911085 -0.805825966841257
+5032 0.221652544043581 -0.584026389990998 -0.800005203428759
+5033 0.229731890077993 -0.57881932574817 -0.801508856358822
+5034 0.227082383458561 -0.590552974390355 -0.793666035282778
+5035 0.220779157464956 -0.593213570817355 -0.793460284467463
+5036 0.227496252064466 -0.591228807985436 -0.793044104640304
+5037 0.224908257561327 -0.599279545914584 -0.787721588842871
+5038 0.240703761070071 -0.606741363120816 -0.777271907176
+5039 0.239953002484082 -0.609468116603258 -0.775368410139948
+5040 0.225138347298482 -0.389951061641058 -0.909657020035969
+5041 0.216818447439363 -0.390700430487324 -0.911354999145231
+5042 0.194237338884706 -0.382300284388428 -0.91996921075627
+5043 0.189788671852074 -0.386825698479034 -0.919005516323397
+5044 0.18774543633101 -0.378991023346265 -0.922682207133002
+5045 0.170678167073667 -0.376694747828398 -0.926927737336019
+5046 0.165849978755359 -0.368190466422134 -0.931211342812521
+5047 0.160850716958718 -0.371330618564801 -0.930841349839031
+5048 0.157089571643128 -0.361040012984001 -0.935520163067312
+5049 0.152613436216432 -0.368005356642629 -0.933544962264027
+5050 0.148414782190932 -0.360545555000429 -0.937125901465033
+5051 0.155703941667451 -0.358402423189105 -0.936765171001461
+5052 0.147834713168845 -0.353514243629352 -0.939892322095171
+5053 0.150468014697791 -0.347627838064925 -0.941668340104525
+5054 0.129575377667953 -0.334827698608066 -0.949381711297955
+5055 0.129879270546568 -0.328271925203264 -0.951626984803202
+5056 0.124080490460521 -0.32685039969159 -0.952889210825962
+5057 0.123317292152962 -0.348527246848625 -0.9452759404852
+5058 0.11194495742828 -0.347106020255209 -0.947212086709714
+5059 0.113480892312034 -0.341733459884018 -0.948981206070891
+5060 0.107502174334156 -0.344091860399408 -0.948825101965743
+5061 0.105778666274525 -0.33909501091454 -0.950815674741456
+5062 0.085221737335306 -0.34446819626519 -0.950948956173442
+5063 0.088251046078296 -0.33788215917712 -0.953033262470882
+5064 0.231078891357347 -0.537178459318579 -0.829618495944477
+5065 0.248278128746294 -0.53521185081084 -0.825912371585433
+5066 0.227643350986594 -0.55690591381476 -0.817471288737251
+5067 0.224533516676549 -0.577625736674527 -0.803839665741913
+5068 0.20663106099764 -0.580961166351791 -0.80623366825143
+5069 0.203636202836104 -0.572952569184007 -0.812700836938131
+5070 0.214331235494005 -0.568050560364707 -0.813391469319021
+5071 0.203922905623838 -0.562471826941248 -0.819918223031606
+5072 0.212650796265459 -0.552906798203454 -0.824195796730408
+5073 0.2077188232903 -0.551107783571568 -0.826654765508387
+5074 0.208575578064734 -0.556527852651991 -0.822798868167382
+5075 0.204332657943087 -0.554374401074778 -0.82531338795084
+5076 0.195239776187872 -0.564743126858771 -0.820470371469859
+5077 0.201002512552359 -0.555839163377778 -0.825145935215784
+5078 0.194570576020355 -0.557227064592809 -0.825751348429046
+5079 0.195370729732568 -0.561564759218562 -0.822617954561875
+5080 0.18279905155029 -0.561230810654145 -0.825729667581833
+5081 0.231092654736827 -0.537210454413159 -0.829593944406475
+5082 0.231078891357347 -0.537178459318579 -0.829618495944477
+5083 0.240325260576734 -0.609321423951082 -0.775368410139948
+5084 0.241096303310823 -0.607174279105878 -0.776812054053046
+5085 0.246190458537748 -0.606840841324649 -0.775473694863575
+5086 0.24627969249783 -0.606939158087714 -0.775368410139948
+5087 0.189407463449074 -0.328063354559433 -0.941660367746779
+5088 0.195955955898544 -0.353150417988153 -0.931187975450006
+5089 0.211003355798642 -0.365468537860505 -0.923111765538614
+5090 0.172005175077243 -0.303919101687856 -0.953033262470882
+5091 0.1793395759358 -0.31062526162061 -0.94951264517451
+5092 0.211003355798642 -0.365468537860505 -0.923111765538614
+5093 0.233584240692544 -0.382387223300565 -0.910737840411044
+5094 0.248931689090331 -0.379525002960839 -0.907864960384643
+5095 0.248288370103861 -0.38695683532262 -0.9048990512031
+5096 0.225138347298482 -0.389951061641058 -0.909657020035969
+5097 0.1793395759358 -0.31062526162061 -0.94951264517451
+5098 0.194997440219965 -0.324184103960123 -0.941862869555453
+5099 0.189320032747514 -0.327753373269368 -0.941785884111155
+5100 0.189407463449074 -0.328063354559433 -0.941660367746779
+5101 0.367112507484388 -2.63571616713167e-09 -0.946283999044962
+5102 0.366705240211738 -0.0073484314822468 -0.946413370233114
+5103 0.356053037397249 -0.00405189962735296 -0.950491881432768
+5104 0.349043272693044 -0.0110179132250903 -0.953033262470882
+5105 0.346371442725638 0.0444907213727371 -0.953033262470882
+5106 0.341537884832549 0.0386297925062666 -0.955031210147098
+5107 0.349021693401334 0.00387809450246619 -0.953096961446365
+5108 0.34919598118185 0.00384283105941643 -0.953033262470882
+5109 0.34034879091273 0.0782003909731245 -0.953033262470882
+5110 0.339545492837231 0.0766973754901486 -0.953441855011015
+5111 0.346076016843745 0.046733191520316 -0.953033262470882
+5112 0.272267739202505 0.218684427460355 -0.953033262470882
+5113 0.271569837209534 0.216976885355553 -0.953622490684542
+5114 0.273308138640782 0.217382754552466 -0.953033262470882
+5115 0.310272819050459 0.160260345633558 -0.953033262470882
+5116 0.312267808039832 0.139603044517624 -0.955627964232634
+5117 0.327049430262465 0.122438845098701 -0.953033262470882
+5118 -0.210206433168667 7.54597681967155e-10 -0.992994589841509
+5119 -0.220758172698162 0.0237910075876229 -0.990416486708967
+5120 -0.220758269540134 0.0518596905056154 -0.989343903266355
+5121 -0.208791183163511 0.049359992712957 -0.99206594183681
+5122 -0.204910642695921 0.0566996747151521 -0.992482632289926
+5123 -0.219659632358722 0.07004319667817 -0.988467802465581
+5124 -0.244884104161253 0.0758370802545419 -0.98209241560436
+5125 -0.245684766367464 0.0668662016416599 -0.982544099088169
+5126 -0.250104689606891 0.0741888564924303 -0.980901961364634
+5127 -0.260214003890582 0.0743842144608522 -0.978253883620338
+5128 -0.261984528181561 0.067885537305161 -0.978253883620338
+5129 -0.270024679383412 0.0731616926108771 -0.975683882852534
+5130 -0.271963576462565 0.0670624383807575 -0.975583641947792
+5131 -0.285605494480463 0.0627839901681457 -0.971963308001457
+5132 -0.285986943636078 0.0548343231394083 -0.972332075515118
+5133 -0.307192805225094 0.0553834197691089 -0.96581067359634
+5134 -0.314313942820687 0.0491528091867637 -0.963854629442409
+5135 -0.322515670513646 0.0546478784473373 -0.960844551243508
+5136 -0.316549339027453 0.0540234805496536 -0.962861869382407
+5137 -0.33091376551481 0.0787249285206699 -0.956307202431428
+5138 -0.325226541183402 0.105647408562618 -0.955662765819556
+5139 -0.330048145817576 0.114108816778049 -0.953033262470882
+5140 -0.201461988233338 -0.073326166143008 -0.992099461070229
+5141 -0.20031272497347 -0.057805934363875 -0.993357078882525
+5142 -0.195026292086578 -0.0542835729400905 -0.994606977204473
+5143 -0.205438245296286 -0.00855294358276081 -0.993955217565486
+5144 -0.210206433168667 7.54597681967155e-10 -0.992994589841509
+5145 -0.19814310095875 -0.166261801453347 -0.981489340196794
+5146 -0.197220607456213 -0.164248047004701 -0.982014058478667
+5147 -0.207927187842192 -0.139905715091504 -0.983573929829768
+5148 -0.199421014527026 -0.138394841148257 -0.985547120592699
+5149 -0.212368902125724 -0.113294422873395 -0.986047069442275
+5150 -0.203008768458678 -0.114983155580092 -0.987821498987411
+5151 -0.199480123607426 -0.10454294487413 -0.989698667758329
+5152 -0.213970434565928 -0.0852400335949339 -0.988522022923315
+5153 -0.201574292666177 -0.078286717273191 -0.991697531727652
+5154 -0.201461988233338 -0.073326166143008 -0.992099461070229
+5155 -0.142653275910677 -0.247082719012257 -0.974076574421879
+5156 -0.169990249626178 -0.241539945767709 -0.971075058700697
+5157 -0.178888652650665 -0.209785113127324 -0.97683880771752
+5158 -0.194352352505111 -0.180559105871647 -0.9797196396738
+5159 -0.203313513272783 -0.178263502077719 -0.978320366315485
+5160 -0.19814310095875 -0.166261801453347 -0.981489340196794
+5161 -0.0551332427517423 -0.312676147793762 -0.964063769749974
+5162 -0.0646029188717262 -0.310156058064967 -0.964289729551681
+5163 -0.0735727158984159 -0.300485135702074 -0.966706128405855
+5164 -0.0673846634121012 -0.287025559449884 -0.971236652602917
+5165 -0.0546541256489777 -0.283921589503738 -0.97294730461789
+5166 -0.0614880591081309 -0.282530858927426 -0.972944259626853
+5167 -0.0525114876628173 -0.258056092960107 -0.980242111189681
+5168 -0.0695029549698683 -0.258234405650928 -0.979137033815271
+5169 -0.0692537229664978 -0.250620867847575 -0.981131032255431
+5170 -0.0721672880863683 -0.267947238132928 -0.976330456406638
+5171 -0.0834794827058693 -0.264344755661237 -0.976410787589712
+5172 -0.0865698020558994 -0.253716372940528 -0.978957951841602
+5173 -0.114977829462723 -0.25973141734098 -0.974445837170074
+5174 -0.137369979922134 -0.247822001111131 -0.974648010505058
+5175 -0.142653275910677 -0.247082719012257 -0.974076574421879
+5176 0.0519423049819314 -0.294579459532196 -0.969922645871764
+5177 0.00889879127638352 -0.299303065248612 -0.969826523996227
+5178 0.0106386601578068 -0.308510876617201 -0.966919261323784
+5179 -0.0294987364418767 -0.302427453667426 -0.968448480723972
+5180 -0.0357919363518545 -0.304911850392072 -0.967456821146384
+5181 -0.0310988220709897 -0.308518550764959 -0.966475124925461
+5182 -0.0365890602985886 -0.316714124946186 -0.963627730882646
+5183 -0.0551332427517423 -0.312676147793762 -0.964063769749974
+5184 0.088251046078296 -0.33788215917712 -0.953033262470882
+5185 0.0926006789935131 -0.327680410270012 -0.956177631497002
+5186 0.0842151109485634 -0.32512063333787 -0.957825343612239
+5187 0.09579574295445 -0.317611334301214 -0.959255552996806
+5188 0.0803924206468371 -0.311572197693279 -0.962644703058777
+5189 0.0940062186630069 -0.298131496742933 -0.965663213290483
+5190 0.0906845398730633 -0.280296333917912 -0.971305965914031
+5191 0.0679364522574958 -0.301237182001792 -0.966884583926274
+5192 0.0581346543566192 -0.295850148431174 -0.969184219659033
+5193 0.058996180612419 -0.285157475086327 -0.972332075515118
+5194 0.0538818428188986 -0.294215300029978 -0.969927370601897
+5195 0.0519423049819314 -0.294579459532196 -0.969922645871764
+5196 0.15150127990763 -0.262407917837451 -0.968717939775332
+5197 0.168237171536496 -0.300384494286666 -0.954824805765719
+5198 0.172005175077243 -0.303919101687856 -0.953033262470882
+5199 0.12957596864048 -0.224432164226269 -0.98135889052456
+5200 0.124826906898595 -0.234547962517177 -0.979607317547787
+5201 0.146384745142269 -0.253545819542705 -0.971859569990465
+5202 0.165753080881318 -0.139083350836617 -0.991668663263295
+5203 0.164002180555362 -0.143058141566256 -0.991394297393673
+5204 0.158769342785204 -0.142140776836714 -0.992377597163403
+5205 0.161274685144569 -0.147026760612943 -0.991261119783876
+5206 0.14783997650887 -0.149260785105858 -0.993020422436235
+5207 0.12957596864048 -0.224432164226269 -0.98135889052456
+5208 0.146384745142269 -0.253545819542705 -0.971859569990465
+5209 0.148050620295689 -0.254908299382224 -0.97125062302998
+5210 0.15150127990763 -0.262407917837451 -0.968717939775332
+5211 0.272494649771117 -0.0991799436059649 -0.972694712966218
+5212 0.266628572826335 -0.099174171248237 -0.974319602548269
+5213 0.228612538268178 -0.114905149766755 -0.982221010721956
+5214 0.218652279909439 -0.111163859650539 -0.984915619125821
+5215 0.193643910625852 -0.117589263125305 -0.98939365324181
+5216 0.187295600596397 -0.124264635317126 -0.989799807237169
+5217 0.171812143242554 -0.123155154169952 -0.99274286471159
+5218 0.165753080881318 -0.139083350836617 -0.991668663263295
+5219 0.349043272693044 -0.0110179132250903 -0.953033262470882
+5220 0.345566097288886 -0.0143203861617496 -0.954255730370379
+5221 0.335085014353499 -0.0463061550274787 -0.956973757823215
+5222 0.337847306783022 -0.0536125197869299 -0.95562016252356
+5223 0.319010298832656 -0.0690424100618336 -0.961088224280973
+5224 0.307085409789911 -0.070258623481777 -0.964876819558128
+5225 0.30335450522638 -0.0818740499628412 -0.96514127675773
+5226 0.290238011939576 -0.0908605180244565 -0.968365252727343
+5227 0.289712994034103 -0.0987222814972774 -0.967752701997658
+5228 0.272494649771117 -0.0991799436059649 -0.972694712966218
+1 1 line 1 2
+2 1 line 2 3
+3 1 line 3 4
+4 1 line 4 5
+5 1 line 5 6
+6 1 line 6 7
+7 1 line 7 8
+8 1 line 8 9
+9 1 line 9 10
+10 1 line 10 11
+11 1 line 11 12
+12 1 line 12 13
+13 1 line 13 14
+14 1 line 14 15
+15 1 line 15 16
+16 1 line 16 17
+17 1 line 17 18
+18 1 line 18 19
+19 1 line 19 20
+20 1 line 20 21
+21 1 line 21 22
+22 1 line 22 23
+23 1 line 23 24
+24 1 line 24 25
+25 1 line 25 26
+26 2 line 27 28
+27 2 line 28 29
+28 2 line 29 30
+29 2 line 30 31
+30 2 line 31 32
+31 2 line 32 33
+32 2 line 33 34
+33 2 line 34 35
+34 2 line 35 36
+35 2 line 36 37
+36 2 line 37 38
+37 2 line 38 39
+38 2 line 39 40
+39 2 line 40 41
+40 3 line 42 43
+41 3 line 43 44
+42 4 line 45 46
+43 4 line 46 47
+44 5 line 48 49
+45 5 line 49 50
+46 6 line 51 52
+47 6 line 52 53
+48 6 line 53 54
+49 6 line 54 55
+50 6 line 55 56
+51 6 line 56 57
+52 6 line 57 58
+53 6 line 58 59
+54 6 line 59 60
+55 6 line 60 61
+56 6 line 61 62
+57 6 line 62 63
+58 6 line 63 64
+59 6 line 64 65
+60 6 line 65 66
+61 6 line 66 67
+62 6 line 67 68
+63 6 line 68 69
+64 6 line 69 70
+65 7 line 71 72
+66 7 line 72 73
+67 7 line 73 74
+68 7 line 74 75
+69 7 line 75 76
+70 7 line 76 77
+71 7 line 77 78
+72 7 line 78 79
+73 7 line 79 80
+74 7 line 80 81
+75 7 line 81 82
+76 7 line 82 83
+77 7 line 83 84
+78 7 line 84 85
+79 8 line 86 87
+80 8 line 87 88
+81 8 line 88 89
+82 8 line 89 90
+83 8 line 90 91
+84 8 line 91 92
+85 8 line 92 93
+86 8 line 93 94
+87 8 line 94 95
+88 8 line 95 96
+89 8 line 96 97
+90 9 line 98 99
+91 9 line 99 100
+92 9 line 100 101
+93 9 line 101 102
+94 9 line 102 103
+95 9 line 103 104
+96 9 line 104 105
+97 9 line 105 106
+98 10 line 107 108
+99 10 line 108 109
+100 10 line 109 110
+101 10 line 110 111
+102 10 line 111 112
+103 10 line 112 113
+104 11 line 114 115
+105 11 line 115 116
+106 11 line 116 117
+107 11 line 117 118
+108 11 line 118 119
+109 11 line 119 120
+110 11 line 120 121
+111 11 line 121 122
+112 11 line 122 123
+113 11 line 123 124
+114 11 line 124 125
+115 11 line 125 126
+116 11 line 126 127
+117 11 line 127 128
+118 11 line 128 129
+119 11 line 129 130
+120 12 line 131 132
+121 12 line 132 133
+122 12 line 133 134
+123 12 line 134 135
+124 12 line 135 136
+125 12 line 136 137
+126 13 line 138 139
+127 13 line 139 140
+128 13 line 140 141
+129 13 line 141 142
+130 13 line 142 143
+131 13 line 143 144
+132 13 line 144 145
+133 13 line 145 146
+134 13 line 146 147
+135 13 line 147 148
+136 13 line 148 149
+137 13 line 149 150
+138 13 line 150 151
+139 13 line 151 152
+140 13 line 152 153
+141 13 line 153 154
+142 13 line 154 155
+143 13 line 155 156
+144 13 line 156 157
+145 13 line 157 158
+146 13 line 158 159
+147 13 line 159 160
+148 13 line 160 161
+149 13 line 161 162
+150 13 line 162 163
+151 13 line 163 164
+152 13 line 164 165
+153 14 line 166 167
+154 14 line 167 168
+155 14 line 168 169
+156 14 line 169 170
+157 14 line 170 171
+158 14 line 171 172
+159 14 line 172 173
+160 14 line 173 174
+161 14 line 174 175
+162 14 line 175 176
+163 14 line 176 177
+164 14 line 177 178
+165 14 line 178 179
+166 14 line 179 180
+167 14 line 180 181
+168 15 line 182 183
+169 15 line 183 184
+170 15 line 184 185
+171 15 line 185 186
+172 15 line 186 187
+173 16 line 188 189
+174 16 line 189 190
+175 17 line 191 192
+176 17 line 192 193
+177 18 line 194 195
+178 18 line 195 196
+179 18 line 196 197
+180 18 line 197 198
+181 18 line 198 199
+182 18 line 199 200
+183 19 line 201 202
+184 19 line 202 203
+185 19 line 203 204
+186 19 line 204 205
+187 19 line 205 206
+188 19 line 206 207
+189 19 line 207 208
+190 19 line 208 209
+191 19 line 209 210
+192 19 line 210 211
+193 19 line 211 212
+194 19 line 212 213
+195 19 line 213 214
+196 19 line 214 215
+197 19 line 215 216
+198 19 line 216 217
+199 20 line 218 219
+200 20 line 219 220
+201 20 line 220 221
+202 20 line 221 222
+203 20 line 222 223
+204 20 line 223 224
+205 20 line 224 225
+206 21 line 226 227
+207 21 line 227 228
+208 22 line 229 230
+209 22 line 230 231
+210 23 line 232 233
+211 23 line 233 234
+212 24 line 235 236
+213 25 line 237 238
+214 25 line 238 239
+215 25 line 239 240
+216 26 line 241 242
+217 26 line 242 243
+218 26 line 243 244
+219 26 line 244 245
+220 26 line 245 246
+221 26 line 246 247
+222 26 line 247 248
+223 26 line 248 249
+224 26 line 249 250
+225 26 line 250 251
+226 26 line 251 252
+227 26 line 252 253
+228 26 line 253 254
+229 27 line 255 256
+230 27 line 256 257
+231 27 line 257 258
+232 27 line 258 259
+233 27 line 259 260
+234 27 line 260 261
+235 27 line 261 262
+236 27 line 262 263
+237 27 line 263 264
+238 27 line 264 265
+239 28 line 266 267
+240 28 line 267 268
+241 28 line 268 269
+242 29 line 270 271
+243 29 line 271 272
+244 30 line 273 274
+245 30 line 274 275
+246 31 line 276 277
+247 31 line 277 278
+248 31 line 278 279
+249 31 line 279 280
+250 31 line 280 281
+251 31 line 281 282
+252 31 line 282 283
+253 31 line 283 284
+254 31 line 284 285
+255 31 line 285 286
+256 31 line 286 287
+257 31 line 287 288
+258 31 line 288 289
+259 31 line 289 290
+260 31 line 290 291
+261 31 line 291 292
+262 31 line 292 293
+263 31 line 293 294
+264 31 line 294 295
+265 31 line 295 296
+266 31 line 296 297
+267 31 line 297 298
+268 31 line 298 299
+269 31 line 299 300
+270 31 line 300 301
+271 31 line 301 302
+272 31 line 302 303
+273 32 line 304 305
+274 32 line 305 306
+275 32 line 306 307
+276 32 line 307 308
+277 32 line 308 309
+278 32 line 309 310
+279 32 line 310 311
+280 32 line 311 312
+281 32 line 312 313
+282 32 line 313 314
+283 32 line 314 315
+284 32 line 315 316
+285 32 line 316 317
+286 32 line 317 318
+287 32 line 318 319
+288 32 line 319 320
+289 32 line 320 321
+290 32 line 321 322
+291 32 line 322 323
+292 32 line 323 324
+293 32 line 324 325
+294 32 line 325 326
+295 32 line 326 327
+296 32 line 327 328
+297 32 line 328 329
+298 33 line 330 331
+299 33 line 331 332
+300 33 line 332 333
+301 33 line 333 334
+302 34 line 335 336
+303 34 line 336 337
+304 34 line 337 338
+305 34 line 338 339
+306 35 line 340 341
+307 35 line 341 342
+308 35 line 342 343
+309 35 line 343 344
+310 36 line 345 346
+311 36 line 346 347
+312 36 line 347 348
+313 36 line 348 349
+314 36 line 349 350
+315 36 line 350 351
+316 36 line 351 352
+317 36 line 352 353
+318 36 line 353 354
+319 36 line 354 355
+320 36 line 355 356
+321 36 line 356 357
+322 36 line 357 358
+323 36 line 358 359
+324 36 line 359 360
+325 36 line 360 361
+326 36 line 361 362
+327 36 line 362 363
+328 36 line 363 364
+329 36 line 364 365
+330 36 line 365 366
+331 36 line 366 367
+332 36 line 367 368
+333 36 line 368 369
+334 36 line 369 370
+335 36 line 370 371
+336 36 line 371 372
+337 36 line 372 373
+338 36 line 373 374
+339 36 line 374 375
+340 36 line 375 376
+341 36 line 376 377
+342 36 line 377 378
+343 36 line 378 379
+344 36 line 379 380
+345 37 line 381 382
+346 37 line 382 383
+347 37 line 383 384
+348 37 line 384 385
+349 37 line 385 386
+350 37 line 386 387
+351 37 line 387 388
+352 37 line 388 389
+353 37 line 389 390
+354 37 line 390 391
+355 37 line 391 392
+356 37 line 392 393
+357 37 line 393 394
+358 37 line 394 395
+359 37 line 395 396
+360 37 line 396 397
+361 37 line 397 398
+362 37 line 398 399
+363 37 line 399 400
+364 37 line 400 401
+365 37 line 401 402
+366 37 line 402 403
+367 37 line 403 404
+368 37 line 404 405
+369 37 line 405 406
+370 38 line 407 408
+371 38 line 408 409
+372 38 line 409 410
+373 38 line 410 411
+374 38 line 411 412
+375 38 line 412 413
+376 38 line 413 414
+377 38 line 414 415
+378 38 line 415 416
+379 38 line 416 417
+380 38 line 417 418
+381 38 line 418 419
+382 38 line 419 420
+383 38 line 420 421
+384 38 line 421 422
+385 38 line 422 423
+386 38 line 423 424
+387 38 line 424 425
+388 38 line 425 426
+389 38 line 426 427
+390 38 line 427 428
+391 38 line 428 429
+392 38 line 429 430
+393 38 line 430 431
+394 38 line 431 432
+395 39 line 433 434
+396 39 line 434 435
+397 39 line 435 436
+398 39 line 436 437
+399 39 line 437 438
+400 39 line 438 439
+401 39 line 439 440
+402 39 line 440 441
+403 39 line 441 442
+404 39 line 442 443
+405 39 line 443 444
+406 39 line 444 445
+407 39 line 445 446
+408 39 line 446 447
+409 39 line 447 448
+410 39 line 448 449
+411 39 line 449 450
+412 39 line 450 451
+413 39 line 451 452
+414 39 line 452 453
+415 39 line 453 454
+416 39 line 454 455
+417 40 line 456 457
+418 40 line 457 458
+419 40 line 458 459
+420 40 line 459 460
+421 40 line 460 461
+422 40 line 461 462
+423 40 line 462 463
+424 40 line 463 464
+425 40 line 464 465
+426 40 line 465 466
+427 40 line 466 467
+428 40 line 467 468
+429 40 line 468 469
+430 40 line 469 470
+431 40 line 470 471
+432 40 line 471 472
+433 40 line 472 473
+434 40 line 473 474
+435 40 line 474 475
+436 40 line 475 476
+437 41 line 477 478
+438 41 line 478 479
+439 41 line 479 480
+440 41 line 480 481
+441 41 line 481 482
+442 41 line 482 483
+443 41 line 483 484
+444 41 line 484 485
+445 41 line 485 486
+446 41 line 486 487
+447 42 line 488 489
+448 42 line 489 490
+449 42 line 490 491
+450 42 line 491 492
+451 42 line 492 493
+452 42 line 493 494
+453 42 line 494 495
+454 42 line 495 496
+455 42 line 496 497
+456 43 line 498 499
+457 43 line 499 500
+458 43 line 500 501
+459 43 line 501 502
+460 43 line 502 503
+461 43 line 503 504
+462 43 line 504 505
+463 44 line 506 507
+464 44 line 507 508
+465 44 line 508 509
+466 44 line 509 510
+467 44 line 510 511
+468 44 line 511 512
+469 45 line 513 514
+470 45 line 514 515
+471 45 line 515 516
+472 46 line 517 518
+473 46 line 518 519
+474 47 line 520 521
+475 47 line 521 522
+476 48 line 523 524
+477 48 line 524 525
+478 49 line 526 527
+479 49 line 527 528
+480 50 line 529 530
+481 50 line 530 531
+482 50 line 531 532
+483 50 line 532 533
+484 50 line 533 534
+485 50 line 534 535
+486 50 line 535 536
+487 50 line 536 537
+488 50 line 537 538
+489 50 line 538 539
+490 50 line 539 540
+491 50 line 540 541
+492 50 line 541 542
+493 50 line 542 543
+494 50 line 543 544
+495 50 line 544 545
+496 50 line 545 546
+497 50 line 546 547
+498 50 line 547 548
+499 50 line 548 549
+500 50 line 549 550
+501 50 line 550 551
+502 50 line 551 552
+503 50 line 552 553
+504 50 line 553 554
+505 50 line 554 555
+506 50 line 555 556
+507 50 line 556 557
+508 50 line 557 558
+509 50 line 558 559
+510 50 line 559 560
+511 51 line 561 562
+512 51 line 562 563
+513 51 line 563 564
+514 51 line 564 565
+515 51 line 565 566
+516 51 line 566 567
+517 51 line 567 568
+518 51 line 568 569
+519 51 line 569 570
+520 51 line 570 571
+521 51 line 571 572
+522 51 line 572 573
+523 51 line 573 574
+524 51 line 574 575
+525 51 line 575 576
+526 51 line 576 577
+527 51 line 577 578
+528 51 line 578 579
+529 51 line 579 580
+530 51 line 580 581
+531 51 line 581 582
+532 51 line 582 583
+533 51 line 583 584
+534 51 line 584 585
+535 51 line 585 586
+536 51 line 586 587
+537 51 line 587 588
+538 51 line 588 589
+539 52 line 590 591
+540 52 line 591 592
+541 52 line 592 593
+542 52 line 593 594
+543 52 line 594 595
+544 52 line 595 596
+545 52 line 596 597
+546 52 line 597 598
+547 52 line 598 599
+548 52 line 599 600
+549 52 line 600 601
+550 52 line 601 602
+551 52 line 602 603
+552 52 line 603 604
+553 52 line 604 605
+554 52 line 605 606
+555 52 line 606 607
+556 52 line 607 608
+557 52 line 608 609
+558 52 line 609 610
+559 52 line 610 611
+560 52 line 611 612
+561 52 line 612 613
+562 52 line 613 614
+563 52 line 614 615
+564 52 line 615 616
+565 53 line 617 618
+566 53 line 618 619
+567 53 line 619 620
+568 53 line 620 621
+569 54 line 622 623
+570 54 line 623 624
+571 54 line 624 625
+572 55 line 626 627
+573 55 line 627 628
+574 55 line 628 629
+575 56 line 630 631
+576 56 line 631 632
+577 57 line 633 634
+578 57 line 634 635
+579 58 line 636 637
+580 58 line 637 638
+581 59 line 639 640
+582 59 line 640 641
+583 60 line 642 643
+584 60 line 643 644
+585 60 line 644 645
+586 60 line 645 646
+587 60 line 646 647
+588 60 line 647 648
+589 60 line 648 649
+590 60 line 649 650
+591 60 line 650 651
+592 60 line 651 652
+593 60 line 652 653
+594 60 line 653 654
+595 60 line 654 655
+596 60 line 655 656
+597 60 line 656 657
+598 60 line 657 658
+599 60 line 658 659
+600 60 line 659 660
+601 60 line 660 661
+602 60 line 661 662
+603 60 line 662 663
+604 60 line 663 664
+605 60 line 664 665
+606 60 line 665 666
+607 60 line 666 667
+608 60 line 667 668
+609 60 line 668 669
+610 61 line 670 671
+611 61 line 671 672
+612 61 line 672 673
+613 61 line 673 674
+614 61 line 674 675
+615 61 line 675 676
+616 61 line 676 677
+617 61 line 677 678
+618 61 line 678 679
+619 61 line 679 680
+620 61 line 680 681
+621 61 line 681 682
+622 61 line 682 683
+623 61 line 683 684
+624 62 line 685 686
+625 62 line 686 687
+626 62 line 687 688
+627 63 line 689 690
+628 63 line 690 691
+629 63 line 691 692
+630 63 line 692 693
+631 63 line 693 694
+632 63 line 694 695
+633 63 line 695 696
+634 63 line 696 697
+635 63 line 697 698
+636 63 line 698 699
+637 63 line 699 700
+638 63 line 700 701
+639 63 line 701 702
+640 63 line 702 703
+641 63 line 703 704
+642 63 line 704 705
+643 63 line 705 706
+644 63 line 706 707
+645 63 line 707 708
+646 63 line 708 709
+647 63 line 709 710
+648 63 line 710 711
+649 63 line 711 712
+650 63 line 712 713
+651 63 line 713 714
+652 63 line 714 715
+653 63 line 715 716
+654 63 line 716 717
+655 63 line 717 718
+656 63 line 718 719
+657 63 line 719 720
+658 63 line 720 721
+659 63 line 721 722
+660 63 line 722 723
+661 63 line 723 724
+662 63 line 724 725
+663 63 line 725 726
+664 63 line 726 727
+665 63 line 727 728
+666 63 line 728 729
+667 63 line 729 730
+668 63 line 730 731
+669 63 line 731 732
+670 63 line 732 733
+671 63 line 733 734
+672 63 line 734 735
+673 63 line 735 736
+674 64 line 737 738
+675 64 line 738 739
+676 64 line 739 740
+677 64 line 740 741
+678 64 line 741 742
+679 64 line 742 743
+680 64 line 743 744
+681 64 line 744 745
+682 64 line 745 746
+683 64 line 746 747
+684 64 line 747 748
+685 64 line 748 749
+686 64 line 749 750
+687 64 line 750 751
+688 64 line 751 752
+689 64 line 752 753
+690 64 line 753 754
+691 65 line 755 756
+692 65 line 756 757
+693 65 line 757 758
+694 65 line 758 759
+695 65 line 759 760
+696 65 line 760 761
+697 66 line 762 763
+698 66 line 763 764
+699 66 line 764 765
+700 66 line 765 766
+701 67 line 767 768
+702 67 line 768 769
+703 67 line 769 770
+704 68 line 771 772
+705 68 line 772 773
+706 68 line 773 774
+707 69 line 775 776
+708 69 line 776 777
+709 69 line 777 778
+710 70 line 779 780
+711 70 line 780 781
+712 71 line 782 783
+713 71 line 783 784
+714 72 line 785 786
+715 72 line 786 787
+716 73 line 788 789
+717 73 line 789 790
+718 73 line 790 791
+719 73 line 791 792
+720 73 line 792 793
+721 74 line 794 795
+722 74 line 795 796
+723 74 line 796 797
+724 75 line 798 799
+725 75 line 799 800
+726 75 line 800 801
+727 76 line 802 803
+728 76 line 803 804
+729 76 line 804 805
+730 77 line 806 807
+731 77 line 807 808
+732 78 line 809 810
+733 78 line 810 811
+734 79 line 812 813
+735 79 line 813 814
+736 80 line 815 816
+737 80 line 816 817
+738 81 line 818 819
+739 81 line 819 820
+740 81 line 820 821
+741 81 line 821 822
+742 81 line 822 823
+743 81 line 823 824
+744 81 line 824 825
+745 81 line 825 826
+746 81 line 826 827
+747 81 line 827 828
+748 81 line 828 829
+749 81 line 829 830
+750 81 line 830 831
+751 81 line 831 832
+752 81 line 832 833
+753 81 line 833 834
+754 81 line 834 835
+755 81 line 835 836
+756 81 line 836 837
+757 81 line 837 838
+758 81 line 838 839
+759 81 line 839 840
+760 81 line 840 841
+761 81 line 841 842
+762 81 line 842 843
+763 81 line 843 844
+764 81 line 844 845
+765 81 line 845 846
+766 81 line 846 847
+767 81 line 847 848
+768 81 line 848 849
+769 81 line 849 850
+770 81 line 850 851
+771 81 line 851 852
+772 81 line 852 853
+773 81 line 853 854
+774 81 line 854 855
+775 81 line 855 856
+776 81 line 856 857
+777 81 line 857 858
+778 81 line 858 859
+779 81 line 859 860
+780 81 line 860 861
+781 81 line 861 862
+782 81 line 862 863
+783 81 line 863 864
+784 81 line 864 865
+785 81 line 865 866
+786 81 line 866 867
+787 81 line 867 868
+788 81 line 868 869
+789 81 line 869 870
+790 81 line 870 871
+791 81 line 871 872
+792 81 line 872 873
+793 81 line 873 874
+794 81 line 874 875
+795 81 line 875 876
+796 81 line 876 877
+797 81 line 877 878
+798 81 line 878 879
+799 81 line 879 880
+800 81 line 880 881
+801 81 line 881 882
+802 81 line 882 883
+803 81 line 883 884
+804 81 line 884 885
+805 81 line 885 886
+806 81 line 886 887
+807 81 line 887 888
+808 81 line 888 889
+809 81 line 889 890
+810 81 line 890 891
+811 81 line 891 892
+812 81 line 892 893
+813 81 line 893 894
+814 81 line 894 895
+815 81 line 895 896
+816 81 line 896 897
+817 81 line 897 898
+818 81 line 898 899
+819 81 line 899 900
+820 81 line 900 901
+821 81 line 901 902
+822 81 line 902 903
+823 81 line 903 904
+824 81 line 904 905
+825 81 line 905 906
+826 81 line 906 907
+827 81 line 907 908
+828 81 line 908 909
+829 81 line 909 910
+830 81 line 910 911
+831 81 line 911 912
+832 81 line 912 913
+833 81 line 913 914
+834 81 line 914 915
+835 81 line 915 916
+836 81 line 916 917
+837 81 line 917 918
+838 81 line 918 919
+839 81 line 919 920
+840 81 line 920 921
+841 81 line 921 922
+842 81 line 922 923
+843 81 line 923 924
+844 81 line 924 925
+845 81 line 925 926
+846 81 line 926 927
+847 81 line 927 928
+848 81 line 928 929
+849 81 line 929 930
+850 81 line 930 931
+851 81 line 931 932
+852 81 line 932 933
+853 82 line 934 935
+854 82 line 935 936
+855 82 line 936 937
+856 82 line 937 938
+857 82 line 938 939
+858 82 line 939 940
+859 82 line 940 941
+860 82 line 941 942
+861 82 line 942 943
+862 82 line 943 944
+863 82 line 944 945
+864 82 line 945 946
+865 82 line 946 947
+866 82 line 947 948
+867 82 line 948 949
+868 82 line 949 950
+869 82 line 950 951
+870 82 line 951 952
+871 82 line 952 953
+872 82 line 953 954
+873 82 line 954 955
+874 82 line 955 956
+875 82 line 956 957
+876 82 line 957 958
+877 82 line 958 959
+878 82 line 959 960
+879 82 line 960 961
+880 82 line 961 962
+881 82 line 962 963
+882 82 line 963 964
+883 82 line 964 965
+884 82 line 965 966
+885 82 line 966 967
+886 82 line 967 968
+887 82 line 968 969
+888 82 line 969 970
+889 82 line 970 971
+890 82 line 971 972
+891 83 line 973 974
+892 83 line 974 975
+893 83 line 975 976
+894 83 line 976 977
+895 83 line 977 978
+896 83 line 978 979
+897 83 line 979 980
+898 83 line 980 981
+899 83 line 981 982
+900 84 line 983 984
+901 84 line 984 985
+902 84 line 985 986
+903 85 line 987 988
+904 85 line 988 989
+905 86 line 990 991
+906 86 line 991 992
+907 87 line 993 994
+908 87 line 994 995
+909 88 line 996 997
+910 88 line 997 998
+911 88 line 998 999
+912 88 line 999 1000
+913 88 line 1000 1001
+914 88 line 1001 1002
+915 88 line 1002 1003
+916 88 line 1003 1004
+917 88 line 1004 1005
+918 88 line 1005 1006
+919 88 line 1006 1007
+920 88 line 1007 1008
+921 88 line 1008 1009
+922 88 line 1009 1010
+923 88 line 1010 1011
+924 88 line 1011 1012
+925 88 line 1012 1013
+926 88 line 1013 1014
+927 88 line 1014 1015
+928 88 line 1015 1016
+929 88 line 1016 1017
+930 88 line 1017 1018
+931 88 line 1018 1019
+932 88 line 1019 1020
+933 88 line 1020 1021
+934 88 line 1021 1022
+935 88 line 1022 1023
+936 88 line 1023 1024
+937 88 line 1024 1025
+938 88 line 1025 1026
+939 88 line 1026 1027
+940 88 line 1027 1028
+941 88 line 1028 1029
+942 88 line 1029 1030
+943 89 line 1031 1032
+944 89 line 1032 1033
+945 89 line 1033 1034
+946 89 line 1034 1035
+947 89 line 1035 1036
+948 89 line 1036 1037
+949 89 line 1037 1038
+950 89 line 1038 1039
+951 89 line 1039 1040
+952 89 line 1040 1041
+953 89 line 1041 1042
+954 89 line 1042 1043
+955 89 line 1043 1044
+956 89 line 1044 1045
+957 89 line 1045 1046
+958 90 line 1047 1048
+959 90 line 1048 1049
+960 90 line 1049 1050
+961 90 line 1050 1051
+962 90 line 1051 1052
+963 90 line 1052 1053
+964 90 line 1053 1054
+965 90 line 1054 1055
+966 90 line 1055 1056
+967 90 line 1056 1057
+968 90 line 1057 1058
+969 90 line 1058 1059
+970 90 line 1059 1060
+971 91 line 1061 1062
+972 91 line 1062 1063
+973 92 line 1064 1065
+974 92 line 1065 1066
+975 93 line 1067 1068
+976 93 line 1068 1069
+977 94 line 1070 1071
+978 94 line 1071 1072
+979 95 line 1073 1074
+980 95 line 1074 1075
+981 96 line 1076 1077
+982 97 line 1078 1079
+983 97 line 1079 1080
+984 97 line 1080 1081
+985 97 line 1081 1082
+986 97 line 1082 1083
+987 97 line 1083 1084
+988 97 line 1084 1085
+989 97 line 1085 1086
+990 97 line 1086 1087
+991 97 line 1087 1088
+992 97 line 1088 1089
+993 97 line 1089 1090
+994 97 line 1090 1091
+995 97 line 1091 1092
+996 97 line 1092 1093
+997 97 line 1093 1094
+998 97 line 1094 1095
+999 97 line 1095 1096
+1000 97 line 1096 1097
+1001 97 line 1097 1098
+1002 97 line 1098 1099
+1003 97 line 1099 1100
+1004 97 line 1100 1101
+1005 97 line 1101 1102
+1006 97 line 1102 1103
+1007 97 line 1103 1104
+1008 98 line 1105 1106
+1009 98 line 1106 1107
+1010 99 line 1108 1109
+1011 99 line 1109 1110
+1012 100 line 1111 1112
+1013 100 line 1112 1113
+1014 100 line 1113 1114
+1015 100 line 1114 1115
+1016 100 line 1115 1116
+1017 100 line 1116 1117
+1018 100 line 1117 1118
+1019 100 line 1118 1119
+1020 100 line 1119 1120
+1021 100 line 1120 1121
+1022 100 line 1121 1122
+1023 100 line 1122 1123
+1024 100 line 1123 1124
+1025 100 line 1124 1125
+1026 100 line 1125 1126
+1027 100 line 1126 1127
+1028 101 line 1128 1129
+1029 101 line 1129 1130
+1030 101 line 1130 1131
+1031 101 line 1131 1132
+1032 101 line 1132 1133
+1033 101 line 1133 1134
+1034 101 line 1134 1135
+1035 101 line 1135 1136
+1036 101 line 1136 1137
+1037 101 line 1137 1138
+1038 102 line 1139 1140
+1039 102 line 1140 1141
+1040 102 line 1141 1142
+1041 102 line 1142 1143
+1042 102 line 1143 1144
+1043 102 line 1144 1145
+1044 102 line 1145 1146
+1045 102 line 1146 1147
+1046 102 line 1147 1148
+1047 102 line 1148 1149
+1048 102 line 1149 1150
+1049 102 line 1150 1151
+1050 102 line 1151 1152
+1051 102 line 1152 1153
+1052 102 line 1153 1154
+1053 102 line 1154 1155
+1054 102 line 1155 1156
+1055 102 line 1156 1157
+1056 102 line 1157 1158
+1057 102 line 1158 1159
+1058 102 line 1159 1160
+1059 102 line 1160 1161
+1060 102 line 1161 1162
+1061 102 line 1162 1163
+1062 102 line 1163 1164
+1063 102 line 1164 1165
+1064 102 line 1165 1166
+1065 102 line 1166 1167
+1066 102 line 1167 1168
+1067 103 line 1169 1170
+1068 103 line 1170 1171
+1069 104 line 1172 1173
+1070 104 line 1173 1174
+1071 104 line 1174 1175
+1072 104 line 1175 1176
+1073 104 line 1176 1177
+1074 104 line 1177 1178
+1075 104 line 1178 1179
+1076 105 line 1180 1181
+1077 105 line 1181 1182
+1078 105 line 1182 1183
+1079 105 line 1183 1184
+1080 105 line 1184 1185
+1081 105 line 1185 1186
+1082 105 line 1186 1187
+1083 105 line 1187 1188
+1084 105 line 1188 1189
+1085 105 line 1189 1190
+1086 105 line 1190 1191
+1087 105 line 1191 1192
+1088 105 line 1192 1193
+1089 106 line 1194 1195
+1090 106 line 1195 1196
+1091 106 line 1196 1197
+1092 106 line 1197 1198
+1093 106 line 1198 1199
+1094 106 line 1199 1200
+1095 106 line 1200 1201
+1096 106 line 1201 1202
+1097 107 line 1203 1204
+1098 107 line 1204 1205
+1099 108 line 1206 1207
+1100 108 line 1207 1208
+1101 108 line 1208 1209
+1102 108 line 1209 1210
+1103 108 line 1210 1211
+1104 108 line 1211 1212
+1105 108 line 1212 1213
+1106 108 line 1213 1214
+1107 108 line 1214 1215
+1108 108 line 1215 1216
+1109 108 line 1216 1217
+1110 109 line 1218 1219
+1111 109 line 1219 1220
+1112 109 line 1220 1221
+1113 109 line 1221 1222
+1114 109 line 1222 1223
+1115 109 line 1223 1224
+1116 109 line 1224 1225
+1117 109 line 1225 1226
+1118 109 line 1226 1227
+1119 109 line 1227 1228
+1120 109 line 1228 1229
+1121 109 line 1229 1230
+1122 109 line 1230 1231
+1123 109 line 1231 1232
+1124 109 line 1232 1233
+1125 109 line 1233 1234
+1126 109 line 1234 1235
+1127 109 line 1235 1236
+1128 109 line 1236 1237
+1129 109 line 1237 1238
+1130 109 line 1238 1239
+1131 109 line 1239 1240
+1132 109 line 1240 1241
+1133 110 line 1242 1243
+1134 110 line 1243 1244
+1135 110 line 1244 1245
+1136 110 line 1245 1246
+1137 110 line 1246 1247
+1138 110 line 1247 1248
+1139 110 line 1248 1249
+1140 110 line 1249 1250
+1141 111 line 1251 1252
+1142 111 line 1252 1253
+1143 111 line 1253 1254
+1144 111 line 1254 1255
+1145 111 line 1255 1256
+1146 111 line 1256 1257
+1147 112 line 1258 1259
+1148 112 line 1259 1260
+1149 112 line 1260 1261
+1150 112 line 1261 1262
+1151 112 line 1262 1263
+1152 112 line 1263 1264
+1153 112 line 1264 1265
+1154 112 line 1265 1266
+1155 112 line 1266 1267
+1156 112 line 1267 1268
+1157 112 line 1268 1269
+1158 112 line 1269 1270
+1159 112 line 1270 1271
+1160 112 line 1271 1272
+1161 112 line 1272 1273
+1162 113 line 1274 1275
+1163 113 line 1275 1276
+1164 113 line 1276 1277
+1165 113 line 1277 1278
+1166 113 line 1278 1279
+1167 113 line 1279 1280
+1168 113 line 1280 1281
+1169 113 line 1281 1282
+1170 114 line 1283 1284
+1171 114 line 1284 1285
+1172 114 line 1285 1286
+1173 114 line 1286 1287
+1174 114 line 1287 1288
+1175 114 line 1288 1289
+1176 114 line 1289 1290
+1177 114 line 1290 1291
+1178 115 line 1292 1293
+1179 115 line 1293 1294
+1180 115 line 1294 1295
+1181 115 line 1295 1296
+1182 115 line 1296 1297
+1183 115 line 1297 1298
+1184 116 line 1299 1300
+1185 116 line 1300 1301
+1186 116 line 1301 1302
+1187 117 line 1303 1304
+1188 117 line 1304 1305
+1189 118 line 1306 1307
+1190 118 line 1307 1308
+1191 118 line 1308 1309
+1192 118 line 1309 1310
+1193 118 line 1310 1311
+1194 118 line 1311 1312
+1195 118 line 1312 1313
+1196 118 line 1313 1314
+1197 118 line 1314 1315
+1198 118 line 1315 1316
+1199 118 line 1316 1317
+1200 118 line 1317 1318
+1201 118 line 1318 1319
+1202 118 line 1319 1320
+1203 118 line 1320 1321
+1204 118 line 1321 1322
+1205 118 line 1322 1323
+1206 118 line 1323 1324
+1207 118 line 1324 1325
+1208 118 line 1325 1326
+1209 118 line 1326 1327
+1210 118 line 1327 1328
+1211 118 line 1328 1329
+1212 118 line 1329 1330
+1213 118 line 1330 1331
+1214 118 line 1331 1332
+1215 118 line 1332 1333
+1216 119 line 1334 1335
+1217 119 line 1335 1336
+1218 119 line 1336 1337
+1219 119 line 1337 1338
+1220 119 line 1338 1339
+1221 119 line 1339 1340
+1222 119 line 1340 1341
+1223 119 line 1341 1342
+1224 119 line 1342 1343
+1225 119 line 1343 1344
+1226 119 line 1344 1345
+1227 120 line 1346 1347
+1228 120 line 1347 1348
+1229 120 line 1348 1349
+1230 120 line 1349 1350
+1231 120 line 1350 1351
+1232 120 line 1351 1352
+1233 120 line 1352 1353
+1234 120 line 1353 1354
+1235 120 line 1354 1355
+1236 121 line 1356 1357
+1237 121 line 1357 1358
+1238 121 line 1358 1359
+1239 122 line 1360 1361
+1240 122 line 1361 1362
+1241 123 line 1363 1364
+1242 123 line 1364 1365
+1243 124 line 1366 1367
+1244 124 line 1367 1368
+1245 124 line 1368 1369
+1246 124 line 1369 1370
+1247 124 line 1370 1371
+1248 124 line 1371 1372
+1249 124 line 1372 1373
+1250 124 line 1373 1374
+1251 124 line 1374 1375
+1252 124 line 1375 1376
+1253 124 line 1376 1377
+1254 124 line 1377 1378
+1255 124 line 1378 1379
+1256 124 line 1379 1380
+1257 124 line 1380 1381
+1258 124 line 1381 1382
+1259 124 line 1382 1383
+1260 124 line 1383 1384
+1261 124 line 1384 1385
+1262 124 line 1385 1386
+1263 124 line 1386 1387
+1264 124 line 1387 1388
+1265 124 line 1388 1389
+1266 124 line 1389 1390
+1267 124 line 1390 1391
+1268 124 line 1391 1392
+1269 124 line 1392 1393
+1270 124 line 1393 1394
+1271 124 line 1394 1395
+1272 124 line 1395 1396
+1273 124 line 1396 1397
+1274 124 line 1397 1398
+1275 124 line 1398 1399
+1276 124 line 1399 1400
+1277 124 line 1400 1401
+1278 124 line 1401 1402
+1279 124 line 1402 1403
+1280 124 line 1403 1404
+1281 124 line 1404 1405
+1282 124 line 1405 1406
+1283 125 line 1407 1408
+1284 125 line 1408 1409
+1285 125 line 1409 1410
+1286 125 line 1410 1411
+1287 125 line 1411 1412
+1288 125 line 1412 1413
+1289 125 line 1413 1414
+1290 125 line 1414 1415
+1291 125 line 1415 1416
+1292 125 line 1416 1417
+1293 125 line 1417 1418
+1294 125 line 1418 1419
+1295 125 line 1419 1420
+1296 125 line 1420 1421
+1297 125 line 1421 1422
+1298 125 line 1422 1423
+1299 125 line 1423 1424
+1300 125 line 1424 1425
+1301 125 line 1425 1426
+1302 125 line 1426 1427
+1303 125 line 1427 1428
+1304 125 line 1428 1429
+1305 125 line 1429 1430
+1306 125 line 1430 1431
+1307 125 line 1431 1432
+1308 125 line 1432 1433
+1309 126 line 1434 1435
+1310 126 line 1435 1436
+1311 126 line 1436 1437
+1312 126 line 1437 1438
+1313 126 line 1438 1439
+1314 126 line 1439 1440
+1315 126 line 1440 1441
+1316 126 line 1441 1442
+1317 126 line 1442 1443
+1318 126 line 1443 1444
+1319 126 line 1444 1445
+1320 127 line 1446 1447
+1321 127 line 1447 1448
+1322 127 line 1448 1449
+1323 127 line 1449 1450
+1324 127 line 1450 1451
+1325 127 line 1451 1452
+1326 127 line 1452 1453
+1327 127 line 1453 1454
+1328 127 line 1454 1455
+1329 127 line 1455 1456
+1330 127 line 1456 1457
+1331 127 line 1457 1458
+1332 127 line 1458 1459
+1333 127 line 1459 1460
+1334 127 line 1460 1461
+1335 127 line 1461 1462
+1336 127 line 1462 1463
+1337 127 line 1463 1464
+1338 127 line 1464 1465
+1339 127 line 1465 1466
+1340 127 line 1466 1467
+1341 127 line 1467 1468
+1342 127 line 1468 1469
+1343 127 line 1469 1470
+1344 127 line 1470 1471
+1345 127 line 1471 1472
+1346 127 line 1472 1473
+1347 127 line 1473 1474
+1348 127 line 1474 1475
+1349 127 line 1475 1476
+1350 127 line 1476 1477
+1351 127 line 1477 1478
+1352 127 line 1478 1479
+1353 127 line 1479 1480
+1354 127 line 1480 1481
+1355 127 line 1481 1482
+1356 127 line 1482 1483
+1357 127 line 1483 1484
+1358 128 line 1485 1486
+1359 128 line 1486 1487
+1360 128 line 1487 1488
+1361 128 line 1488 1489
+1362 128 line 1489 1490
+1363 128 line 1490 1491
+1364 128 line 1491 1492
+1365 129 line 1493 1494
+1366 130 line 1495 1496
+1367 130 line 1496 1497
+1368 130 line 1497 1498
+1369 130 line 1498 1499
+1370 130 line 1499 1500
+1371 130 line 1500 1501
+1372 130 line 1501 1502
+1373 130 line 1502 1503
+1374 130 line 1503 1504
+1375 130 line 1504 1505
+1376 130 line 1505 1506
+1377 130 line 1506 1507
+1378 130 line 1507 1508
+1379 130 line 1508 1509
+1380 130 line 1509 1510
+1381 130 line 1510 1511
+1382 130 line 1511 1512
+1383 130 line 1512 1513
+1384 130 line 1513 1514
+1385 130 line 1514 1515
+1386 130 line 1515 1516
+1387 130 line 1516 1517
+1388 130 line 1517 1518
+1389 130 line 1518 1519
+1390 130 line 1519 1520
+1391 130 line 1520 1521
+1392 130 line 1521 1522
+1393 130 line 1522 1523
+1394 130 line 1523 1524
+1395 130 line 1524 1525
+1396 130 line 1525 1526
+1397 130 line 1526 1527
+1398 130 line 1527 1528
+1399 130 line 1528 1529
+1400 130 line 1529 1530
+1401 130 line 1530 1531
+1402 130 line 1531 1532
+1403 130 line 1532 1533
+1404 130 line 1533 1534
+1405 130 line 1534 1535
+1406 130 line 1535 1536
+1407 130 line 1536 1537
+1408 130 line 1537 1538
+1409 130 line 1538 1539
+1410 130 line 1539 1540
+1411 130 line 1540 1541
+1412 130 line 1541 1542
+1413 130 line 1542 1543
+1414 130 line 1543 1544
+1415 130 line 1544 1545
+1416 130 line 1545 1546
+1417 130 line 1546 1547
+1418 130 line 1547 1548
+1419 130 line 1548 1549
+1420 130 line 1549 1550
+1421 130 line 1550 1551
+1422 130 line 1551 1552
+1423 130 line 1552 1553
+1424 130 line 1553 1554
+1425 130 line 1554 1555
+1426 130 line 1555 1556
+1427 130 line 1556 1557
+1428 130 line 1557 1558
+1429 130 line 1558 1559
+1430 130 line 1559 1560
+1431 130 line 1560 1561
+1432 130 line 1561 1562
+1433 130 line 1562 1563
+1434 130 line 1563 1564
+1435 130 line 1564 1565
+1436 131 line 1566 1567
+1437 131 line 1567 1568
+1438 131 line 1568 1569
+1439 131 line 1569 1570
+1440 131 line 1570 1571
+1441 131 line 1571 1572
+1442 131 line 1572 1573
+1443 132 line 1574 1575
+1444 132 line 1575 1576
+1445 132 line 1576 1577
+1446 132 line 1577 1578
+1447 132 line 1578 1579
+1448 132 line 1579 1580
+1449 133 line 1581 1582
+1450 133 line 1582 1583
+1451 133 line 1583 1584
+1452 134 line 1585 1586
+1453 134 line 1586 1587
+1454 135 line 1588 1589
+1455 135 line 1589 1590
+1456 136 line 1591 1592
+1457 136 line 1592 1593
+1458 137 line 1594 1595
+1459 137 line 1595 1596
+1460 137 line 1596 1597
+1461 137 line 1597 1598
+1462 137 line 1598 1599
+1463 137 line 1599 1600
+1464 137 line 1600 1601
+1465 137 line 1601 1602
+1466 137 line 1602 1603
+1467 137 line 1603 1604
+1468 137 line 1604 1605
+1469 137 line 1605 1606
+1470 138 line 1607 1608
+1471 138 line 1608 1609
+1472 139 line 1610 1611
+1473 139 line 1611 1612
+1474 139 line 1612 1613
+1475 139 line 1613 1614
+1476 139 line 1614 1615
+1477 139 line 1615 1616
+1478 139 line 1616 1617
+1479 139 line 1617 1618
+1480 139 line 1618 1619
+1481 139 line 1619 1620
+1482 139 line 1620 1621
+1483 139 line 1621 1622
+1484 139 line 1622 1623
+1485 139 line 1623 1624
+1486 139 line 1624 1625
+1487 139 line 1625 1626
+1488 139 line 1626 1627
+1489 139 line 1627 1628
+1490 139 line 1628 1629
+1491 139 line 1629 1630
+1492 139 line 1630 1631
+1493 139 line 1631 1632
+1494 140 line 1633 1634
+1495 140 line 1634 1635
+1496 140 line 1635 1636
+1497 140 line 1636 1637
+1498 140 line 1637 1638
+1499 140 line 1638 1639
+1500 140 line 1639 1640
+1501 140 line 1640 1641
+1502 140 line 1641 1642
+1503 140 line 1642 1643
+1504 140 line 1643 1644
+1505 140 line 1644 1645
+1506 140 line 1645 1646
+1507 140 line 1646 1647
+1508 140 line 1647 1648
+1509 141 line 1649 1650
+1510 141 line 1650 1651
+1511 141 line 1651 1652
+1512 141 line 1652 1653
+1513 141 line 1653 1654
+1514 141 line 1654 1655
+1515 141 line 1655 1656
+1516 141 line 1656 1657
+1517 141 line 1657 1658
+1518 141 line 1658 1659
+1519 141 line 1659 1660
+1520 141 line 1660 1661
+1521 141 line 1661 1662
+1522 141 line 1662 1663
+1523 141 line 1663 1664
+1524 141 line 1664 1665
+1525 141 line 1665 1666
+1526 141 line 1666 1667
+1527 142 line 1668 1669
+1528 142 line 1669 1670
+1529 142 line 1670 1671
+1530 142 line 1671 1672
+1531 142 line 1672 1673
+1532 142 line 1673 1674
+1533 143 line 1675 1676
+1534 143 line 1676 1677
+1535 143 line 1677 1678
+1536 144 line 1679 1680
+1537 144 line 1680 1681
+1538 144 line 1681 1682
+1539 144 line 1682 1683
+1540 144 line 1683 1684
+1541 144 line 1684 1685
+1542 144 line 1685 1686
+1543 144 line 1686 1687
+1544 144 line 1687 1688
+1545 144 line 1688 1689
+1546 144 line 1689 1690
+1547 144 line 1690 1691
+1548 144 line 1691 1692
+1549 144 line 1692 1693
+1550 144 line 1693 1694
+1551 144 line 1694 1695
+1552 144 line 1695 1696
+1553 144 line 1696 1697
+1554 144 line 1697 1698
+1555 144 line 1698 1699
+1556 144 line 1699 1700
+1557 144 line 1700 1701
+1558 144 line 1701 1702
+1559 144 line 1702 1703
+1560 144 line 1703 1704
+1561 144 line 1704 1705
+1562 144 line 1705 1706
+1563 144 line 1706 1707
+1564 144 line 1707 1708
+1565 144 line 1708 1709
+1566 144 line 1709 1710
+1567 144 line 1710 1711
+1568 144 line 1711 1712
+1569 144 line 1712 1713
+1570 144 line 1713 1714
+1571 144 line 1714 1715
+1572 144 line 1715 1716
+1573 144 line 1716 1717
+1574 144 line 1717 1718
+1575 144 line 1718 1719
+1576 144 line 1719 1720
+1577 144 line 1720 1721
+1578 144 line 1721 1722
+1579 144 line 1722 1723
+1580 144 line 1723 1724
+1581 144 line 1724 1725
+1582 144 line 1725 1726
+1583 144 line 1726 1727
+1584 144 line 1727 1728
+1585 144 line 1728 1729
+1586 144 line 1729 1730
+1587 144 line 1730 1731
+1588 144 line 1731 1732
+1589 144 line 1732 1733
+1590 144 line 1733 1734
+1591 144 line 1734 1735
+1592 145 line 1736 1737
+1593 145 line 1737 1738
+1594 145 line 1738 1739
+1595 145 line 1739 1740
+1596 145 line 1740 1741
+1597 145 line 1741 1742
+1598 145 line 1742 1743
+1599 145 line 1743 1744
+1600 145 line 1744 1745
+1601 145 line 1745 1746
+1602 145 line 1746 1747
+1603 145 line 1747 1748
+1604 145 line 1748 1749
+1605 145 line 1749 1750
+1606 145 line 1750 1751
+1607 145 line 1751 1752
+1608 145 line 1752 1753
+1609 145 line 1753 1754
+1610 145 line 1754 1755
+1611 145 line 1755 1756
+1612 146 line 1757 1758
+1613 146 line 1758 1759
+1614 146 line 1759 1760
+1615 146 line 1760 1761
+1616 146 line 1761 1762
+1617 146 line 1762 1763
+1618 146 line 1763 1764
+1619 146 line 1764 1765
+1620 146 line 1765 1766
+1621 146 line 1766 1767
+1622 146 line 1767 1768
+1623 146 line 1768 1769
+1624 146 line 1769 1770
+1625 146 line 1770 1771
+1626 146 line 1771 1772
+1627 147 line 1773 1774
+1628 147 line 1774 1775
+1629 148 line 1776 1777
+1630 148 line 1777 1778
+1631 149 line 1779 1780
+1632 150 line 1781 1782
+1633 150 line 1782 1783
+1634 150 line 1783 1784
+1635 150 line 1784 1785
+1636 150 line 1785 1786
+1637 150 line 1786 1787
+1638 150 line 1787 1788
+1639 150 line 1788 1789
+1640 150 line 1789 1790
+1641 150 line 1790 1791
+1642 150 line 1791 1792
+1643 150 line 1792 1793
+1644 150 line 1793 1794
+1645 150 line 1794 1795
+1646 151 line 1796 1797
+1647 151 line 1797 1798
+1648 151 line 1798 1799
+1649 151 line 1799 1800
+1650 151 line 1800 1801
+1651 151 line 1801 1802
+1652 151 line 1802 1803
+1653 151 line 1803 1804
+1654 151 line 1804 1805
+1655 151 line 1805 1806
+1656 151 line 1806 1807
+1657 151 line 1807 1808
+1658 151 line 1808 1809
+1659 151 line 1809 1810
+1660 151 line 1810 1811
+1661 151 line 1811 1812
+1662 151 line 1812 1813
+1663 151 line 1813 1814
+1664 151 line 1814 1815
+1665 151 line 1815 1816
+1666 151 line 1816 1817
+1667 151 line 1817 1818
+1668 151 line 1818 1819
+1669 151 line 1819 1820
+1670 151 line 1820 1821
+1671 151 line 1821 1822
+1672 151 line 1822 1823
+1673 151 line 1823 1824
+1674 151 line 1824 1825
+1675 151 line 1825 1826
+1676 151 line 1826 1827
+1677 151 line 1827 1828
+1678 151 line 1828 1829
+1679 151 line 1829 1830
+1680 151 line 1830 1831
+1681 151 line 1831 1832
+1682 151 line 1832 1833
+1683 151 line 1833 1834
+1684 151 line 1834 1835
+1685 151 line 1835 1836
+1686 151 line 1836 1837
+1687 151 line 1837 1838
+1688 151 line 1838 1839
+1689 151 line 1839 1840
+1690 151 line 1840 1841
+1691 151 line 1841 1842
+1692 151 line 1842 1843
+1693 151 line 1843 1844
+1694 151 line 1844 1845
+1695 151 line 1845 1846
+1696 151 line 1846 1847
+1697 151 line 1847 1848
+1698 151 line 1848 1849
+1699 151 line 1849 1850
+1700 151 line 1850 1851
+1701 151 line 1851 1852
+1702 151 line 1852 1853
+1703 151 line 1853 1854
+1704 151 line 1854 1855
+1705 151 line 1855 1856
+1706 151 line 1856 1857
+1707 151 line 1857 1858
+1708 151 line 1858 1859
+1709 151 line 1859 1860
+1710 151 line 1860 1861
+1711 151 line 1861 1862
+1712 151 line 1862 1863
+1713 151 line 1863 1864
+1714 151 line 1864 1865
+1715 151 line 1865 1866
+1716 151 line 1866 1867
+1717 151 line 1867 1868
+1718 151 line 1868 1869
+1719 151 line 1869 1870
+1720 151 line 1870 1871
+1721 151 line 1871 1872
+1722 151 line 1872 1873
+1723 151 line 1873 1874
+1724 151 line 1874 1875
+1725 151 line 1875 1876
+1726 151 line 1876 1877
+1727 151 line 1877 1878
+1728 151 line 1878 1879
+1729 151 line 1879 1880
+1730 151 line 1880 1881
+1731 151 line 1881 1882
+1732 151 line 1882 1883
+1733 151 line 1883 1884
+1734 151 line 1884 1885
+1735 151 line 1885 1886
+1736 151 line 1886 1887
+1737 151 line 1887 1888
+1738 151 line 1888 1889
+1739 151 line 1889 1890
+1740 151 line 1890 1891
+1741 151 line 1891 1892
+1742 151 line 1892 1893
+1743 152 line 1894 1895
+1744 152 line 1895 1896
+1745 152 line 1896 1897
+1746 152 line 1897 1898
+1747 152 line 1898 1899
+1748 152 line 1899 1900
+1749 152 line 1900 1901
+1750 152 line 1901 1902
+1751 152 line 1902 1903
+1752 152 line 1903 1904
+1753 152 line 1904 1905
+1754 152 line 1905 1906
+1755 152 line 1906 1907
+1756 152 line 1907 1908
+1757 152 line 1908 1909
+1758 152 line 1909 1910
+1759 152 line 1910 1911
+1760 152 line 1911 1912
+1761 152 line 1912 1913
+1762 152 line 1913 1914
+1763 152 line 1914 1915
+1764 152 line 1915 1916
+1765 152 line 1916 1917
+1766 152 line 1917 1918
+1767 152 line 1918 1919
+1768 152 line 1919 1920
+1769 152 line 1920 1921
+1770 152 line 1921 1922
+1771 152 line 1922 1923
+1772 152 line 1923 1924
+1773 152 line 1924 1925
+1774 152 line 1925 1926
+1775 152 line 1926 1927
+1776 152 line 1927 1928
+1777 152 line 1928 1929
+1778 152 line 1929 1930
+1779 152 line 1930 1931
+1780 152 line 1931 1932
+1781 152 line 1932 1933
+1782 152 line 1933 1934
+1783 152 line 1934 1935
+1784 152 line 1935 1936
+1785 152 line 1936 1937
+1786 152 line 1937 1938
+1787 152 line 1938 1939
+1788 152 line 1939 1940
+1789 152 line 1940 1941
+1790 152 line 1941 1942
+1791 152 line 1942 1943
+1792 152 line 1943 1944
+1793 152 line 1944 1945
+1794 152 line 1945 1946
+1795 152 line 1946 1947
+1796 152 line 1947 1948
+1797 152 line 1948 1949
+1798 152 line 1949 1950
+1799 152 line 1950 1951
+1800 152 line 1951 1952
+1801 152 line 1952 1953
+1802 152 line 1953 1954
+1803 152 line 1954 1955
+1804 152 line 1955 1956
+1805 152 line 1956 1957
+1806 152 line 1957 1958
+1807 152 line 1958 1959
+1808 152 line 1959 1960
+1809 152 line 1960 1961
+1810 152 line 1961 1962
+1811 152 line 1962 1963
+1812 152 line 1963 1964
+1813 152 line 1964 1965
+1814 153 line 1966 1967
+1815 153 line 1967 1968
+1816 154 line 1969 1970
+1817 154 line 1970 1971
+1818 155 line 1972 1973
+1819 155 line 1973 1974
+1820 156 line 1975 1976
+1821 156 line 1976 1977
+1822 157 line 1978 1979
+1823 157 line 1979 1980
+1824 157 line 1980 1981
+1825 157 line 1981 1982
+1826 157 line 1982 1983
+1827 157 line 1983 1984
+1828 157 line 1984 1985
+1829 157 line 1985 1986
+1830 157 line 1986 1987
+1831 157 line 1987 1988
+1832 157 line 1988 1989
+1833 157 line 1989 1990
+1834 157 line 1990 1991
+1835 157 line 1991 1992
+1836 157 line 1992 1993
+1837 157 line 1993 1994
+1838 157 line 1994 1995
+1839 157 line 1995 1996
+1840 157 line 1996 1997
+1841 157 line 1997 1998
+1842 157 line 1998 1999
+1843 157 line 1999 2000
+1844 157 line 2000 2001
+1845 157 line 2001 2002
+1846 157 line 2002 2003
+1847 157 line 2003 2004
+1848 157 line 2004 2005
+1849 157 line 2005 2006
+1850 157 line 2006 2007
+1851 157 line 2007 2008
+1852 157 line 2008 2009
+1853 157 line 2009 2010
+1854 157 line 2010 2011
+1855 157 line 2011 2012
+1856 157 line 2012 2013
+1857 157 line 2013 2014
+1858 157 line 2014 2015
+1859 157 line 2015 2016
+1860 157 line 2016 2017
+1861 157 line 2017 2018
+1862 157 line 2018 2019
+1863 157 line 2019 2020
+1864 157 line 2020 2021
+1865 157 line 2021 2022
+1866 157 line 2022 2023
+1867 157 line 2023 2024
+1868 157 line 2024 2025
+1869 157 line 2025 2026
+1870 157 line 2026 2027
+1871 157 line 2027 2028
+1872 157 line 2028 2029
+1873 157 line 2029 2030
+1874 157 line 2030 2031
+1875 157 line 2031 2032
+1876 157 line 2032 2033
+1877 157 line 2033 2034
+1878 157 line 2034 2035
+1879 157 line 2035 2036
+1880 157 line 2036 2037
+1881 157 line 2037 2038
+1882 157 line 2038 2039
+1883 157 line 2039 2040
+1884 157 line 2040 2041
+1885 157 line 2041 2042
+1886 157 line 2042 2043
+1887 157 line 2043 2044
+1888 157 line 2044 2045
+1889 157 line 2045 2046
+1890 157 line 2046 2047
+1891 157 line 2047 2048
+1892 157 line 2048 2049
+1893 157 line 2049 2050
+1894 157 line 2050 2051
+1895 157 line 2051 2052
+1896 157 line 2052 2053
+1897 157 line 2053 2054
+1898 157 line 2054 2055
+1899 157 line 2055 2056
+1900 157 line 2056 2057
+1901 157 line 2057 2058
+1902 157 line 2058 2059
+1903 157 line 2059 2060
+1904 157 line 2060 2061
+1905 157 line 2061 2062
+1906 157 line 2062 2063
+1907 157 line 2063 2064
+1908 157 line 2064 2065
+1909 157 line 2065 2066
+1910 157 line 2066 2067
+1911 157 line 2067 2068
+1912 157 line 2068 2069
+1913 157 line 2069 2070
+1914 157 line 2070 2071
+1915 157 line 2071 2072
+1916 157 line 2072 2073
+1917 157 line 2073 2074
+1918 157 line 2074 2075
+1919 157 line 2075 2076
+1920 157 line 2076 2077
+1921 157 line 2077 2078
+1922 157 line 2078 2079
+1923 157 line 2079 2080
+1924 157 line 2080 2081
+1925 157 line 2081 2082
+1926 157 line 2082 2083
+1927 157 line 2083 2084
+1928 157 line 2084 2085
+1929 157 line 2085 2086
+1930 157 line 2086 2087
+1931 157 line 2087 2088
+1932 157 line 2088 2089
+1933 157 line 2089 2090
+1934 158 line 2091 2092
+1935 158 line 2092 2093
+1936 158 line 2093 2094
+1937 158 line 2094 2095
+1938 158 line 2095 2096
+1939 158 line 2096 2097
+1940 158 line 2097 2098
+1941 158 line 2098 2099
+1942 158 line 2099 2100
+1943 158 line 2100 2101
+1944 158 line 2101 2102
+1945 158 line 2102 2103
+1946 158 line 2103 2104
+1947 158 line 2104 2105
+1948 158 line 2105 2106
+1949 159 line 2107 2108
+1950 159 line 2108 2109
+1951 159 line 2109 2110
+1952 159 line 2110 2111
+1953 159 line 2111 2112
+1954 159 line 2112 2113
+1955 159 line 2113 2114
+1956 159 line 2114 2115
+1957 159 line 2115 2116
+1958 159 line 2116 2117
+1959 159 line 2117 2118
+1960 159 line 2118 2119
+1961 159 line 2119 2120
+1962 159 line 2120 2121
+1963 160 line 2122 2123
+1964 160 line 2123 2124
+1965 160 line 2124 2125
+1966 160 line 2125 2126
+1967 160 line 2126 2127
+1968 160 line 2127 2128
+1969 161 line 2129 2130
+1970 161 line 2130 2131
+1971 162 line 2132 2133
+1972 162 line 2133 2134
+1973 162 line 2134 2135
+1974 162 line 2135 2136
+1975 162 line 2136 2137
+1976 162 line 2137 2138
+1977 162 line 2138 2139
+1978 162 line 2139 2140
+1979 162 line 2140 2141
+1980 162 line 2141 2142
+1981 162 line 2142 2143
+1982 162 line 2143 2144
+1983 162 line 2144 2145
+1984 162 line 2145 2146
+1985 162 line 2146 2147
+1986 162 line 2147 2148
+1987 162 line 2148 2149
+1988 162 line 2149 2150
+1989 162 line 2150 2151
+1990 162 line 2151 2152
+1991 163 line 2153 2154
+1992 163 line 2154 2155
+1993 163 line 2155 2156
+1994 163 line 2156 2157
+1995 163 line 2157 2158
+1996 163 line 2158 2159
+1997 163 line 2159 2160
+1998 163 line 2160 2161
+1999 163 line 2161 2162
+2000 163 line 2162 2163
+2001 163 line 2163 2164
+2002 163 line 2164 2165
+2003 163 line 2165 2166
+2004 163 line 2166 2167
+2005 163 line 2167 2168
+2006 163 line 2168 2169
+2007 163 line 2169 2170
+2008 163 line 2170 2171
+2009 164 line 2172 2173
+2010 164 line 2173 2174
+2011 165 line 2175 2176
+2012 165 line 2176 2177
+2013 165 line 2177 2178
+2014 165 line 2178 2179
+2015 165 line 2179 2180
+2016 165 line 2180 2181
+2017 165 line 2181 2182
+2018 165 line 2182 2183
+2019 165 line 2183 2184
+2020 165 line 2184 2185
+2021 165 line 2185 2186
+2022 165 line 2186 2187
+2023 165 line 2187 2188
+2024 165 line 2188 2189
+2025 165 line 2189 2190
+2026 165 line 2190 2191
+2027 165 line 2191 2192
+2028 165 line 2192 2193
+2029 165 line 2193 2194
+2030 165 line 2194 2195
+2031 165 line 2195 2196
+2032 165 line 2196 2197
+2033 165 line 2197 2198
+2034 165 line 2198 2199
+2035 165 line 2199 2200
+2036 165 line 2200 2201
+2037 165 line 2201 2202
+2038 165 line 2202 2203
+2039 165 line 2203 2204
+2040 165 line 2204 2205
+2041 165 line 2205 2206
+2042 165 line 2206 2207
+2043 165 line 2207 2208
+2044 165 line 2208 2209
+2045 165 line 2209 2210
+2046 165 line 2210 2211
+2047 165 line 2211 2212
+2048 165 line 2212 2213
+2049 165 line 2213 2214
+2050 165 line 2214 2215
+2051 165 line 2215 2216
+2052 165 line 2216 2217
+2053 165 line 2217 2218
+2054 165 line 2218 2219
+2055 166 line 2220 2221
+2056 166 line 2221 2222
+2057 166 line 2222 2223
+2058 166 line 2223 2224
+2059 166 line 2224 2225
+2060 166 line 2225 2226
+2061 166 line 2226 2227
+2062 166 line 2227 2228
+2063 166 line 2228 2229
+2064 166 line 2229 2230
+2065 166 line 2230 2231
+2066 166 line 2231 2232
+2067 166 line 2232 2233
+2068 166 line 2233 2234
+2069 166 line 2234 2235
+2070 166 line 2235 2236
+2071 166 line 2236 2237
+2072 166 line 2237 2238
+2073 166 line 2238 2239
+2074 166 line 2239 2240
+2075 166 line 2240 2241
+2076 166 line 2241 2242
+2077 166 line 2242 2243
+2078 166 line 2243 2244
+2079 166 line 2244 2245
+2080 166 line 2245 2246
+2081 166 line 2246 2247
+2082 167 line 2248 2249
+2083 167 line 2249 2250
+2084 167 line 2250 2251
+2085 167 line 2251 2252
+2086 167 line 2252 2253
+2087 167 line 2253 2254
+2088 167 line 2254 2255
+2089 167 line 2255 2256
+2090 167 line 2256 2257
+2091 167 line 2257 2258
+2092 167 line 2258 2259
+2093 167 line 2259 2260
+2094 167 line 2260 2261
+2095 167 line 2261 2262
+2096 167 line 2262 2263
+2097 167 line 2263 2264
+2098 167 line 2264 2265
+2099 168 line 2266 2267
+2100 168 line 2267 2268
+2101 168 line 2268 2269
+2102 169 line 2270 2271
+2103 169 line 2271 2272
+2104 170 line 2273 2274
+2105 170 line 2274 2275
+2106 170 line 2275 2276
+2107 170 line 2276 2277
+2108 170 line 2277 2278
+2109 170 line 2278 2279
+2110 170 line 2279 2280
+2111 170 line 2280 2281
+2112 170 line 2281 2282
+2113 170 line 2282 2283
+2114 170 line 2283 2284
+2115 170 line 2284 2285
+2116 170 line 2285 2286
+2117 170 line 2286 2287
+2118 170 line 2287 2288
+2119 170 line 2288 2289
+2120 170 line 2289 2290
+2121 170 line 2290 2291
+2122 170 line 2291 2292
+2123 170 line 2292 2293
+2124 170 line 2293 2294
+2125 170 line 2294 2295
+2126 170 line 2295 2296
+2127 170 line 2296 2297
+2128 170 line 2297 2298
+2129 170 line 2298 2299
+2130 170 line 2299 2300
+2131 170 line 2300 2301
+2132 170 line 2301 2302
+2133 170 line 2302 2303
+2134 170 line 2303 2304
+2135 170 line 2304 2305
+2136 170 line 2305 2306
+2137 170 line 2306 2307
+2138 170 line 2307 2308
+2139 170 line 2308 2309
+2140 170 line 2309 2310
+2141 171 line 2311 2312
+2142 171 line 2312 2313
+2143 171 line 2313 2314
+2144 171 line 2314 2315
+2145 171 line 2315 2316
+2146 171 line 2316 2317
+2147 171 line 2317 2318
+2148 171 line 2318 2319
+2149 171 line 2319 2320
+2150 171 line 2320 2321
+2151 171 line 2321 2322
+2152 171 line 2322 2323
+2153 171 line 2323 2324
+2154 171 line 2324 2325
+2155 171 line 2325 2326
+2156 171 line 2326 2327
+2157 171 line 2327 2328
+2158 171 line 2328 2329
+2159 171 line 2329 2330
+2160 171 line 2330 2331
+2161 172 line 2332 2333
+2162 172 line 2333 2334
+2163 172 line 2334 2335
+2164 172 line 2335 2336
+2165 172 line 2336 2337
+2166 172 line 2337 2338
+2167 173 line 2339 2340
+2168 173 line 2340 2341
+2169 173 line 2341 2342
+2170 173 line 2342 2343
+2171 173 line 2343 2344
+2172 174 line 2345 2346
+2173 174 line 2346 2347
+2174 175 line 2348 2349
+2175 175 line 2349 2350
+2176 176 line 2351 2352
+2177 176 line 2352 2353
+2178 176 line 2353 2354
+2179 176 line 2354 2355
+2180 176 line 2355 2356
+2181 176 line 2356 2357
+2182 176 line 2357 2358
+2183 176 line 2358 2359
+2184 176 line 2359 2360
+2185 176 line 2360 2361
+2186 176 line 2361 2362
+2187 176 line 2362 2363
+2188 176 line 2363 2364
+2189 176 line 2364 2365
+2190 176 line 2365 2366
+2191 176 line 2366 2367
+2192 176 line 2367 2368
+2193 176 line 2368 2369
+2194 176 line 2369 2370
+2195 176 line 2370 2371
+2196 176 line 2371 2372
+2197 176 line 2372 2373
+2198 176 line 2373 2374
+2199 176 line 2374 2375
+2200 176 line 2375 2376
+2201 176 line 2376 2377
+2202 176 line 2377 2378
+2203 176 line 2378 2379
+2204 176 line 2379 2380
+2205 176 line 2380 2381
+2206 176 line 2381 2382
+2207 176 line 2382 2383
+2208 176 line 2383 2384
+2209 176 line 2384 2385
+2210 176 line 2385 2386
+2211 176 line 2386 2387
+2212 176 line 2387 2388
+2213 176 line 2388 2389
+2214 176 line 2389 2390
+2215 176 line 2390 2391
+2216 176 line 2391 2392
+2217 176 line 2392 2393
+2218 176 line 2393 2394
+2219 176 line 2394 2395
+2220 176 line 2395 2396
+2221 176 line 2396 2397
+2222 176 line 2397 2398
+2223 176 line 2398 2399
+2224 176 line 2399 2400
+2225 176 line 2400 2401
+2226 176 line 2401 2402
+2227 176 line 2402 2403
+2228 176 line 2403 2404
+2229 176 line 2404 2405
+2230 176 line 2405 2406
+2231 176 line 2406 2407
+2232 176 line 2407 2408
+2233 176 line 2408 2409
+2234 176 line 2409 2410
+2235 176 line 2410 2411
+2236 176 line 2411 2412
+2237 176 line 2412 2413
+2238 176 line 2413 2414
+2239 176 line 2414 2415
+2240 176 line 2415 2416
+2241 176 line 2416 2417
+2242 176 line 2417 2418
+2243 176 line 2418 2419
+2244 176 line 2419 2420
+2245 176 line 2420 2421
+2246 176 line 2421 2422
+2247 176 line 2422 2423
+2248 176 line 2423 2424
+2249 176 line 2424 2425
+2250 176 line 2425 2426
+2251 176 line 2426 2427
+2252 177 line 2428 2429
+2253 177 line 2429 2430
+2254 177 line 2430 2431
+2255 177 line 2431 2432
+2256 177 line 2432 2433
+2257 177 line 2433 2434
+2258 177 line 2434 2435
+2259 177 line 2435 2436
+2260 177 line 2436 2437
+2261 177 line 2437 2438
+2262 177 line 2438 2439
+2263 177 line 2439 2440
+2264 177 line 2440 2441
+2265 177 line 2441 2442
+2266 177 line 2442 2443
+2267 177 line 2443 2444
+2268 177 line 2444 2445
+2269 177 line 2445 2446
+2270 177 line 2446 2447
+2271 177 line 2447 2448
+2272 177 line 2448 2449
+2273 177 line 2449 2450
+2274 177 line 2450 2451
+2275 177 line 2451 2452
+2276 177 line 2452 2453
+2277 177 line 2453 2454
+2278 177 line 2454 2455
+2279 177 line 2455 2456
+2280 177 line 2456 2457
+2281 177 line 2457 2458
+2282 177 line 2458 2459
+2283 177 line 2459 2460
+2284 177 line 2460 2461
+2285 177 line 2461 2462
+2286 177 line 2462 2463
+2287 177 line 2463 2464
+2288 177 line 2464 2465
+2289 177 line 2465 2466
+2290 177 line 2466 2467
+2291 177 line 2467 2468
+2292 177 line 2468 2469
+2293 177 line 2469 2470
+2294 177 line 2470 2471
+2295 177 line 2471 2472
+2296 177 line 2472 2473
+2297 177 line 2473 2474
+2298 177 line 2474 2475
+2299 177 line 2475 2476
+2300 177 line 2476 2477
+2301 177 line 2477 2478
+2302 177 line 2478 2479
+2303 178 line 2480 2481
+2304 178 line 2481 2482
+2305 178 line 2482 2483
+2306 178 line 2483 2484
+2307 178 line 2484 2485
+2308 178 line 2485 2486
+2309 179 line 2487 2488
+2310 179 line 2488 2489
+2311 179 line 2489 2490
+2312 179 line 2490 2491
+2313 179 line 2491 2492
+2314 180 line 2493 2494
+2315 180 line 2494 2495
+2316 180 line 2495 2496
+2317 180 line 2496 2497
+2318 180 line 2497 2498
+2319 180 line 2498 2499
+2320 180 line 2499 2500
+2321 180 line 2500 2501
+2322 180 line 2501 2502
+2323 180 line 2502 2503
+2324 180 line 2503 2504
+2325 180 line 2504 2505
+2326 180 line 2505 2506
+2327 180 line 2506 2507
+2328 180 line 2507 2508
+2329 180 line 2508 2509
+2330 180 line 2509 2510
+2331 180 line 2510 2511
+2332 180 line 2511 2512
+2333 180 line 2512 2513
+2334 180 line 2513 2514
+2335 180 line 2514 2515
+2336 180 line 2515 2516
+2337 180 line 2516 2517
+2338 180 line 2517 2518
+2339 180 line 2518 2519
+2340 180 line 2519 2520
+2341 180 line 2520 2521
+2342 180 line 2521 2522
+2343 180 line 2522 2523
+2344 180 line 2523 2524
+2345 180 line 2524 2525
+2346 180 line 2525 2526
+2347 180 line 2526 2527
+2348 180 line 2527 2528
+2349 180 line 2528 2529
+2350 180 line 2529 2530
+2351 180 line 2530 2531
+2352 180 line 2531 2532
+2353 180 line 2532 2533
+2354 180 line 2533 2534
+2355 180 line 2534 2535
+2356 180 line 2535 2536
+2357 180 line 2536 2537
+2358 180 line 2537 2538
+2359 181 line 2539 2540
+2360 181 line 2540 2541
+2361 181 line 2541 2542
+2362 181 line 2542 2543
+2363 181 line 2543 2544
+2364 181 line 2544 2545
+2365 181 line 2545 2546
+2366 181 line 2546 2547
+2367 181 line 2547 2548
+2368 182 line 2549 2550
+2369 182 line 2550 2551
+2370 182 line 2551 2552
+2371 182 line 2552 2553
+2372 182 line 2553 2554
+2373 182 line 2554 2555
+2374 182 line 2555 2556
+2375 182 line 2556 2557
+2376 182 line 2557 2558
+2377 182 line 2558 2559
+2378 182 line 2559 2560
+2379 183 line 2561 2562
+2380 183 line 2562 2563
+2381 183 line 2563 2564
+2382 183 line 2564 2565
+2383 183 line 2565 2566
+2384 183 line 2566 2567
+2385 184 line 2568 2569
+2386 184 line 2569 2570
+2387 184 line 2570 2571
+2388 185 line 2572 2573
+2389 185 line 2573 2574
+2390 185 line 2574 2575
+2391 185 line 2575 2576
+2392 185 line 2576 2577
+2393 185 line 2577 2578
+2394 185 line 2578 2579
+2395 185 line 2579 2580
+2396 185 line 2580 2581
+2397 185 line 2581 2582
+2398 185 line 2582 2583
+2399 185 line 2583 2584
+2400 185 line 2584 2585
+2401 185 line 2585 2586
+2402 185 line 2586 2587
+2403 185 line 2587 2588
+2404 185 line 2588 2589
+2405 185 line 2589 2590
+2406 185 line 2590 2591
+2407 185 line 2591 2592
+2408 185 line 2592 2593
+2409 185 line 2593 2594
+2410 185 line 2594 2595
+2411 185 line 2595 2596
+2412 185 line 2596 2597
+2413 185 line 2597 2598
+2414 185 line 2598 2599
+2415 185 line 2599 2600
+2416 185 line 2600 2601
+2417 185 line 2601 2602
+2418 185 line 2602 2603
+2419 185 line 2603 2604
+2420 185 line 2604 2605
+2421 185 line 2605 2606
+2422 185 line 2606 2607
+2423 185 line 2607 2608
+2424 185 line 2608 2609
+2425 185 line 2609 2610
+2426 185 line 2610 2611
+2427 185 line 2611 2612
+2428 185 line 2612 2613
+2429 185 line 2613 2614
+2430 185 line 2614 2615
+2431 185 line 2615 2616
+2432 185 line 2616 2617
+2433 185 line 2617 2618
+2434 185 line 2618 2619
+2435 185 line 2619 2620
+2436 185 line 2620 2621
+2437 185 line 2621 2622
+2438 185 line 2622 2623
+2439 186 line 2624 2625
+2440 186 line 2625 2626
+2441 186 line 2626 2627
+2442 186 line 2627 2628
+2443 186 line 2628 2629
+2444 186 line 2629 2630
+2445 186 line 2630 2631
+2446 186 line 2631 2632
+2447 186 line 2632 2633
+2448 186 line 2633 2634
+2449 186 line 2634 2635
+2450 186 line 2635 2636
+2451 186 line 2636 2637
+2452 186 line 2637 2638
+2453 186 line 2638 2639
+2454 186 line 2639 2640
+2455 186 line 2640 2641
+2456 186 line 2641 2642
+2457 186 line 2642 2643
+2458 186 line 2643 2644
+2459 186 line 2644 2645
+2460 186 line 2645 2646
+2461 186 line 2646 2647
+2462 186 line 2647 2648
+2463 186 line 2648 2649
+2464 186 line 2649 2650
+2465 186 line 2650 2651
+2466 186 line 2651 2652
+2467 186 line 2652 2653
+2468 186 line 2653 2654
+2469 186 line 2654 2655
+2470 186 line 2655 2656
+2471 187 line 2657 2658
+2472 187 line 2658 2659
+2473 187 line 2659 2660
+2474 187 line 2660 2661
+2475 187 line 2661 2662
+2476 187 line 2662 2663
+2477 187 line 2663 2664
+2478 187 line 2664 2665
+2479 187 line 2665 2666
+2480 187 line 2666 2667
+2481 187 line 2667 2668
+2482 187 line 2668 2669
+2483 187 line 2669 2670
+2484 187 line 2670 2671
+2485 187 line 2671 2672
+2486 188 line 2673 2674
+2487 188 line 2674 2675
+2488 188 line 2675 2676
+2489 188 line 2676 2677
+2490 188 line 2677 2678
+2491 188 line 2678 2679
+2492 188 line 2679 2680
+2493 188 line 2680 2681
+2494 188 line 2681 2682
+2495 188 line 2682 2683
+2496 188 line 2683 2684
+2497 188 line 2684 2685
+2498 189 line 2686 2687
+2499 189 line 2687 2688
+2500 189 line 2688 2689
+2501 189 line 2689 2690
+2502 189 line 2690 2691
+2503 189 line 2691 2692
+2504 189 line 2692 2693
+2505 189 line 2693 2694
+2506 189 line 2694 2695
+2507 190 line 2696 2697
+2508 190 line 2697 2698
+2509 190 line 2698 2699
+2510 190 line 2699 2700
+2511 190 line 2700 2701
+2512 190 line 2701 2702
+2513 190 line 2702 2703
+2514 190 line 2703 2704
+2515 190 line 2704 2705
+2516 191 line 2706 2707
+2517 191 line 2707 2708
+2518 191 line 2708 2709
+2519 192 line 2710 2711
+2520 192 line 2711 2712
+2521 192 line 2712 2713
+2522 193 line 2714 2715
+2523 193 line 2715 2716
+2524 194 line 2717 2718
+2525 194 line 2718 2719
+2526 194 line 2719 2720
+2527 194 line 2720 2721
+2528 194 line 2721 2722
+2529 194 line 2722 2723
+2530 194 line 2723 2724
+2531 194 line 2724 2725
+2532 194 line 2725 2726
+2533 194 line 2726 2727
+2534 194 line 2727 2728
+2535 194 line 2728 2729
+2536 194 line 2729 2730
+2537 194 line 2730 2731
+2538 194 line 2731 2732
+2539 194 line 2732 2733
+2540 194 line 2733 2734
+2541 194 line 2734 2735
+2542 195 line 2736 2737
+2543 195 line 2737 2738
+2544 195 line 2738 2739
+2545 195 line 2739 2740
+2546 195 line 2740 2741
+2547 195 line 2741 2742
+2548 195 line 2742 2743
+2549 195 line 2743 2744
+2550 195 line 2744 2745
+2551 195 line 2745 2746
+2552 195 line 2746 2747
+2553 196 line 2748 2749
+2554 196 line 2749 2750
+2555 196 line 2750 2751
+2556 196 line 2751 2752
+2557 196 line 2752 2753
+2558 196 line 2753 2754
+2559 196 line 2754 2755
+2560 196 line 2755 2756
+2561 196 line 2756 2757
+2562 196 line 2757 2758
+2563 196 line 2758 2759
+2564 197 line 2760 2761
+2565 197 line 2761 2762
+2566 197 line 2762 2763
+2567 198 line 2764 2765
+2568 198 line 2765 2766
+2569 199 line 2767 2768
+2570 199 line 2768 2769
+2571 200 line 2770 2771
+2572 200 line 2771 2772
+2573 200 line 2772 2773
+2574 200 line 2773 2774
+2575 200 line 2774 2775
+2576 200 line 2775 2776
+2577 200 line 2776 2777
+2578 200 line 2777 2778
+2579 200 line 2778 2779
+2580 200 line 2779 2780
+2581 200 line 2780 2781
+2582 200 line 2781 2782
+2583 200 line 2782 2783
+2584 200 line 2783 2784
+2585 200 line 2784 2785
+2586 200 line 2785 2786
+2587 200 line 2786 2787
+2588 200 line 2787 2788
+2589 200 line 2788 2789
+2590 200 line 2789 2790
+2591 200 line 2790 2791
+2592 200 line 2791 2792
+2593 200 line 2792 2793
+2594 200 line 2793 2794
+2595 200 line 2794 2795
+2596 200 line 2795 2796
+2597 200 line 2796 2797
+2598 201 line 2798 2799
+2599 201 line 2799 2800
+2600 201 line 2800 2801
+2601 201 line 2801 2802
+2602 201 line 2802 2803
+2603 201 line 2803 2804
+2604 202 line 2805 2806
+2605 202 line 2806 2807
+2606 203 line 2808 2809
+2607 203 line 2809 2810
+2608 203 line 2810 2811
+2609 203 line 2811 2812
+2610 204 line 2813 2814
+2611 204 line 2814 2815
+2612 204 line 2815 2816
+2613 205 line 2817 2818
+2614 205 line 2818 2819
+2615 205 line 2819 2820
+2616 205 line 2820 2821
+2617 205 line 2821 2822
+2618 205 line 2822 2823
+2619 205 line 2823 2824
+2620 205 line 2824 2825
+2621 205 line 2825 2826
+2622 205 line 2826 2827
+2623 205 line 2827 2828
+2624 206 line 2829 2830
+2625 206 line 2830 2831
+2626 206 line 2831 2832
+2627 206 line 2832 2833
+2628 206 line 2833 2834
+2629 207 line 2835 2836
+2630 207 line 2836 2837
+2631 208 line 2838 2839
+2632 208 line 2839 2840
+2633 208 line 2840 2841
+2634 208 line 2841 2842
+2635 208 line 2842 2843
+2636 208 line 2843 2844
+2637 208 line 2844 2845
+2638 208 line 2845 2846
+2639 208 line 2846 2847
+2640 208 line 2847 2848
+2641 208 line 2848 2849
+2642 208 line 2849 2850
+2643 208 line 2850 2851
+2644 208 line 2851 2852
+2645 208 line 2852 2853
+2646 208 line 2853 2854
+2647 208 line 2854 2855
+2648 208 line 2855 2856
+2649 208 line 2856 2857
+2650 208 line 2857 2858
+2651 208 line 2858 2859
+2652 208 line 2859 2860
+2653 208 line 2860 2861
+2654 208 line 2861 2862
+2655 208 line 2862 2863
+2656 208 line 2863 2864
+2657 208 line 2864 2865
+2658 208 line 2865 2866
+2659 208 line 2866 2867
+2660 208 line 2867 2868
+2661 208 line 2868 2869
+2662 208 line 2869 2870
+2663 208 line 2870 2871
+2664 208 line 2871 2872
+2665 208 line 2872 2873
+2666 208 line 2873 2874
+2667 208 line 2874 2875
+2668 208 line 2875 2876
+2669 208 line 2876 2877
+2670 208 line 2877 2878
+2671 208 line 2878 2879
+2672 208 line 2879 2880
+2673 208 line 2880 2881
+2674 208 line 2881 2882
+2675 208 line 2882 2883
+2676 208 line 2883 2884
+2677 208 line 2884 2885
+2678 208 line 2885 2886
+2679 209 line 2887 2888
+2680 209 line 2888 2889
+2681 209 line 2889 2890
+2682 209 line 2890 2891
+2683 209 line 2891 2892
+2684 209 line 2892 2893
+2685 209 line 2893 2894
+2686 209 line 2894 2895
+2687 209 line 2895 2896
+2688 209 line 2896 2897
+2689 209 line 2897 2898
+2690 210 line 2899 2900
+2691 210 line 2900 2901
+2692 210 line 2901 2902
+2693 210 line 2902 2903
+2694 210 line 2903 2904
+2695 210 line 2904 2905
+2696 210 line 2905 2906
+2697 210 line 2906 2907
+2698 210 line 2907 2908
+2699 210 line 2908 2909
+2700 210 line 2909 2910
+2701 210 line 2910 2911
+2702 210 line 2911 2912
+2703 210 line 2912 2913
+2704 210 line 2913 2914
+2705 210 line 2914 2915
+2706 210 line 2915 2916
+2707 210 line 2916 2917
+2708 210 line 2917 2918
+2709 210 line 2918 2919
+2710 210 line 2919 2920
+2711 210 line 2920 2921
+2712 210 line 2921 2922
+2713 210 line 2922 2923
+2714 210 line 2923 2924
+2715 210 line 2924 2925
+2716 210 line 2925 2926
+2717 210 line 2926 2927
+2718 210 line 2927 2928
+2719 210 line 2928 2929
+2720 210 line 2929 2930
+2721 210 line 2930 2931
+2722 210 line 2931 2932
+2723 210 line 2932 2933
+2724 210 line 2933 2934
+2725 210 line 2934 2935
+2726 210 line 2935 2936
+2727 210 line 2936 2937
+2728 210 line 2937 2938
+2729 210 line 2938 2939
+2730 210 line 2939 2940
+2731 210 line 2940 2941
+2732 210 line 2941 2942
+2733 210 line 2942 2943
+2734 210 line 2943 2944
+2735 210 line 2944 2945
+2736 210 line 2945 2946
+2737 210 line 2946 2947
+2738 210 line 2947 2948
+2739 210 line 2948 2949
+2740 210 line 2949 2950
+2741 210 line 2950 2951
+2742 210 line 2951 2952
+2743 210 line 2952 2953
+2744 210 line 2953 2954
+2745 210 line 2954 2955
+2746 210 line 2955 2956
+2747 210 line 2956 2957
+2748 210 line 2957 2958
+2749 210 line 2958 2959
+2750 210 line 2959 2960
+2751 210 line 2960 2961
+2752 210 line 2961 2962
+2753 210 line 2962 2963
+2754 210 line 2963 2964
+2755 210 line 2964 2965
+2756 210 line 2965 2966
+2757 210 line 2966 2967
+2758 210 line 2967 2968
+2759 210 line 2968 2969
+2760 210 line 2969 2970
+2761 210 line 2970 2971
+2762 210 line 2971 2972
+2763 210 line 2972 2973
+2764 210 line 2973 2974
+2765 210 line 2974 2975
+2766 210 line 2975 2976
+2767 210 line 2976 2977
+2768 210 line 2977 2978
+2769 210 line 2978 2979
+2770 210 line 2979 2980
+2771 210 line 2980 2981
+2772 210 line 2981 2982
+2773 210 line 2982 2983
+2774 210 line 2983 2984
+2775 210 line 2984 2985
+2776 210 line 2985 2986
+2777 210 line 2986 2987
+2778 211 line 2988 2989
+2779 211 line 2989 2990
+2780 211 line 2990 2991
+2781 212 line 2992 2993
+2782 212 line 2993 2994
+2783 213 line 2995 2996
+2784 213 line 2996 2997
+2785 213 line 2997 2998
+2786 213 line 2998 2999
+2787 213 line 2999 3000
+2788 213 line 3000 3001
+2789 213 line 3001 3002
+2790 213 line 3002 3003
+2791 213 line 3003 3004
+2792 213 line 3004 3005
+2793 213 line 3005 3006
+2794 213 line 3006 3007
+2795 213 line 3007 3008
+2796 213 line 3008 3009
+2797 213 line 3009 3010
+2798 213 line 3010 3011
+2799 213 line 3011 3012
+2800 213 line 3012 3013
+2801 213 line 3013 3014
+2802 213 line 3014 3015
+2803 213 line 3015 3016
+2804 213 line 3016 3017
+2805 213 line 3017 3018
+2806 213 line 3018 3019
+2807 213 line 3019 3020
+2808 213 line 3020 3021
+2809 213 line 3021 3022
+2810 213 line 3022 3023
+2811 213 line 3023 3024
+2812 213 line 3024 3025
+2813 213 line 3025 3026
+2814 213 line 3026 3027
+2815 213 line 3027 3028
+2816 213 line 3028 3029
+2817 213 line 3029 3030
+2818 213 line 3030 3031
+2819 213 line 3031 3032
+2820 213 line 3032 3033
+2821 213 line 3033 3034
+2822 213 line 3034 3035
+2823 213 line 3035 3036
+2824 214 line 3037 3038
+2825 214 line 3038 3039
+2826 215 line 3040 3041
+2827 215 line 3041 3042
+2828 215 line 3042 3043
+2829 215 line 3043 3044
+2830 215 line 3044 3045
+2831 215 line 3045 3046
+2832 215 line 3046 3047
+2833 215 line 3047 3048
+2834 215 line 3048 3049
+2835 215 line 3049 3050
+2836 215 line 3050 3051
+2837 215 line 3051 3052
+2838 215 line 3052 3053
+2839 215 line 3053 3054
+2840 215 line 3054 3055
+2841 215 line 3055 3056
+2842 215 line 3056 3057
+2843 215 line 3057 3058
+2844 215 line 3058 3059
+2845 215 line 3059 3060
+2846 215 line 3060 3061
+2847 215 line 3061 3062
+2848 215 line 3062 3063
+2849 215 line 3063 3064
+2850 215 line 3064 3065
+2851 215 line 3065 3066
+2852 215 line 3066 3067
+2853 215 line 3067 3068
+2854 215 line 3068 3069
+2855 215 line 3069 3070
+2856 215 line 3070 3071
+2857 215 line 3071 3072
+2858 215 line 3072 3073
+2859 216 line 3074 3075
+2860 216 line 3075 3076
+2861 216 line 3076 3077
+2862 216 line 3077 3078
+2863 216 line 3078 3079
+2864 216 line 3079 3080
+2865 216 line 3080 3081
+2866 216 line 3081 3082
+2867 216 line 3082 3083
+2868 216 line 3083 3084
+2869 216 line 3084 3085
+2870 216 line 3085 3086
+2871 217 line 3087 3088
+2872 217 line 3088 3089
+2873 217 line 3089 3090
+2874 218 line 3091 3092
+2875 218 line 3092 3093
+2876 218 line 3093 3094
+2877 218 line 3094 3095
+2878 218 line 3095 3096
+2879 218 line 3096 3097
+2880 218 line 3097 3098
+2881 218 line 3098 3099
+2882 218 line 3099 3100
+2883 218 line 3100 3101
+2884 218 line 3101 3102
+2885 218 line 3102 3103
+2886 218 line 3103 3104
+2887 218 line 3104 3105
+2888 218 line 3105 3106
+2889 218 line 3106 3107
+2890 218 line 3107 3108
+2891 218 line 3108 3109
+2892 218 line 3109 3110
+2893 218 line 3110 3111
+2894 218 line 3111 3112
+2895 218 line 3112 3113
+2896 218 line 3113 3114
+2897 218 line 3114 3115
+2898 218 line 3115 3116
+2899 219 line 3117 3118
+2900 219 line 3118 3119
+2901 219 line 3119 3120
+2902 219 line 3120 3121
+2903 219 line 3121 3122
+2904 219 line 3122 3123
+2905 219 line 3123 3124
+2906 219 line 3124 3125
+2907 219 line 3125 3126
+2908 219 line 3126 3127
+2909 219 line 3127 3128
+2910 219 line 3128 3129
+2911 219 line 3129 3130
+2912 219 line 3130 3131
+2913 219 line 3131 3132
+2914 219 line 3132 3133
+2915 219 line 3133 3134
+2916 219 line 3134 3135
+2917 219 line 3135 3136
+2918 219 line 3136 3137
+2919 219 line 3137 3138
+2920 219 line 3138 3139
+2921 219 line 3139 3140
+2922 219 line 3140 3141
+2923 219 line 3141 3142
+2924 219 line 3142 3143
+2925 219 line 3143 3144
+2926 219 line 3144 3145
+2927 219 line 3145 3146
+2928 219 line 3146 3147
+2929 219 line 3147 3148
+2930 219 line 3148 3149
+2931 219 line 3149 3150
+2932 219 line 3150 3151
+2933 219 line 3151 3152
+2934 219 line 3152 3153
+2935 219 line 3153 3154
+2936 219 line 3154 3155
+2937 220 line 3156 3157
+2938 220 line 3157 3158
+2939 220 line 3158 3159
+2940 220 line 3159 3160
+2941 220 line 3160 3161
+2942 220 line 3161 3162
+2943 220 line 3162 3163
+2944 220 line 3163 3164
+2945 220 line 3164 3165
+2946 220 line 3165 3166
+2947 220 line 3166 3167
+2948 220 line 3167 3168
+2949 220 line 3168 3169
+2950 220 line 3169 3170
+2951 220 line 3170 3171
+2952 220 line 3171 3172
+2953 220 line 3172 3173
+2954 221 line 3174 3175
+2955 221 line 3175 3176
+2956 221 line 3176 3177
+2957 221 line 3177 3178
+2958 221 line 3178 3179
+2959 221 line 3179 3180
+2960 221 line 3180 3181
+2961 222 line 3182 3183
+2962 222 line 3183 3184
+2963 222 line 3184 3185
+2964 222 line 3185 3186
+2965 222 line 3186 3187
+2966 222 line 3187 3188
+2967 222 line 3188 3189
+2968 222 line 3189 3190
+2969 222 line 3190 3191
+2970 222 line 3191 3192
+2971 222 line 3192 3193
+2972 222 line 3193 3194
+2973 222 line 3194 3195
+2974 222 line 3195 3196
+2975 222 line 3196 3197
+2976 222 line 3197 3198
+2977 222 line 3198 3199
+2978 222 line 3199 3200
+2979 222 line 3200 3201
+2980 222 line 3201 3202
+2981 222 line 3202 3203
+2982 222 line 3203 3204
+2983 222 line 3204 3205
+2984 222 line 3205 3206
+2985 222 line 3206 3207
+2986 222 line 3207 3208
+2987 223 line 3209 3210
+2988 223 line 3210 3211
+2989 223 line 3211 3212
+2990 223 line 3212 3213
+2991 224 line 3214 3215
+2992 224 line 3215 3216
+2993 224 line 3216 3217
+2994 224 line 3217 3218
+2995 224 line 3218 3219
+2996 224 line 3219 3220
+2997 224 line 3220 3221
+2998 224 line 3221 3222
+2999 224 line 3222 3223
+3000 224 line 3223 3224
+3001 224 line 3224 3225
+3002 224 line 3225 3226
+3003 224 line 3226 3227
+3004 224 line 3227 3228
+3005 224 line 3228 3229
+3006 224 line 3229 3230
+3007 224 line 3230 3231
+3008 224 line 3231 3232
+3009 224 line 3232 3233
+3010 224 line 3233 3234
+3011 224 line 3234 3235
+3012 224 line 3235 3236
+3013 224 line 3236 3237
+3014 224 line 3237 3238
+3015 224 line 3238 3239
+3016 224 line 3239 3240
+3017 224 line 3240 3241
+3018 224 line 3241 3242
+3019 224 line 3242 3243
+3020 224 line 3243 3244
+3021 224 line 3244 3245
+3022 224 line 3245 3246
+3023 224 line 3246 3247
+3024 224 line 3247 3248
+3025 224 line 3248 3249
+3026 224 line 3249 3250
+3027 224 line 3250 3251
+3028 224 line 3251 3252
+3029 224 line 3252 3253
+3030 224 line 3253 3254
+3031 224 line 3254 3255
+3032 224 line 3255 3256
+3033 224 line 3256 3257
+3034 224 line 3257 3258
+3035 224 line 3258 3259
+3036 224 line 3259 3260
+3037 224 line 3260 3261
+3038 224 line 3261 3262
+3039 224 line 3262 3263
+3040 224 line 3263 3264
+3041 224 line 3264 3265
+3042 224 line 3265 3266
+3043 224 line 3266 3267
+3044 224 line 3267 3268
+3045 224 line 3268 3269
+3046 224 line 3269 3270
+3047 224 line 3270 3271
+3048 224 line 3271 3272
+3049 224 line 3272 3273
+3050 224 line 3273 3274
+3051 225 line 3275 3276
+3052 225 line 3276 3277
+3053 226 line 3278 3279
+3054 226 line 3279 3280
+3055 227 line 3281 3282
+3056 227 line 3282 3283
+3057 228 line 3284 3285
+3058 228 line 3285 3286
+3059 228 line 3286 3287
+3060 228 line 3287 3288
+3061 228 line 3288 3289
+3062 228 line 3289 3290
+3063 228 line 3290 3291
+3064 228 line 3291 3292
+3065 228 line 3292 3293
+3066 228 line 3293 3294
+3067 228 line 3294 3295
+3068 228 line 3295 3296
+3069 228 line 3296 3297
+3070 228 line 3297 3298
+3071 228 line 3298 3299
+3072 228 line 3299 3300
+3073 228 line 3300 3301
+3074 228 line 3301 3302
+3075 228 line 3302 3303
+3076 228 line 3303 3304
+3077 228 line 3304 3305
+3078 228 line 3305 3306
+3079 228 line 3306 3307
+3080 228 line 3307 3308
+3081 228 line 3308 3309
+3082 228 line 3309 3310
+3083 228 line 3310 3311
+3084 228 line 3311 3312
+3085 228 line 3312 3313
+3086 228 line 3313 3314
+3087 228 line 3314 3315
+3088 228 line 3315 3316
+3089 228 line 3316 3317
+3090 228 line 3317 3318
+3091 228 line 3318 3319
+3092 228 line 3319 3320
+3093 228 line 3320 3321
+3094 228 line 3321 3322
+3095 228 line 3322 3323
+3096 228 line 3323 3324
+3097 228 line 3324 3325
+3098 228 line 3325 3326
+3099 228 line 3326 3327
+3100 228 line 3327 3328
+3101 228 line 3328 3329
+3102 228 line 3329 3330
+3103 228 line 3330 3331
+3104 228 line 3331 3332
+3105 228 line 3332 3333
+3106 228 line 3333 3334
+3107 228 line 3334 3335
+3108 228 line 3335 3336
+3109 228 line 3336 3337
+3110 228 line 3337 3338
+3111 228 line 3338 3339
+3112 228 line 3339 3340
+3113 228 line 3340 3341
+3114 228 line 3341 3342
+3115 228 line 3342 3343
+3116 228 line 3343 3344
+3117 228 line 3344 3345
+3118 228 line 3345 3346
+3119 228 line 3346 3347
+3120 228 line 3347 3348
+3121 228 line 3348 3349
+3122 228 line 3349 3350
+3123 228 line 3350 3351
+3124 229 line 3352 3353
+3125 229 line 3353 3354
+3126 229 line 3354 3355
+3127 229 line 3355 3356
+3128 229 line 3356 3357
+3129 229 line 3357 3358
+3130 229 line 3358 3359
+3131 229 line 3359 3360
+3132 229 line 3360 3361
+3133 229 line 3361 3362
+3134 230 line 3363 3364
+3135 230 line 3364 3365
+3136 230 line 3365 3366
+3137 230 line 3366 3367
+3138 230 line 3367 3368
+3139 230 line 3368 3369
+3140 230 line 3369 3370
+3141 230 line 3370 3371
+3142 231 line 3372 3373
+3143 231 line 3373 3374
+3144 231 line 3374 3375
+3145 232 line 3376 3377
+3146 232 line 3377 3378
+3147 233 line 3379 3380
+3148 233 line 3380 3381
+3149 234 line 3382 3383
+3150 234 line 3383 3384
+3151 234 line 3384 3385
+3152 234 line 3385 3386
+3153 234 line 3386 3387
+3154 234 line 3387 3388
+3155 234 line 3388 3389
+3156 234 line 3389 3390
+3157 234 line 3390 3391
+3158 234 line 3391 3392
+3159 234 line 3392 3393
+3160 234 line 3393 3394
+3161 234 line 3394 3395
+3162 234 line 3395 3396
+3163 234 line 3396 3397
+3164 234 line 3397 3398
+3165 234 line 3398 3399
+3166 234 line 3399 3400
+3167 234 line 3400 3401
+3168 234 line 3401 3402
+3169 234 line 3402 3403
+3170 234 line 3403 3404
+3171 234 line 3404 3405
+3172 234 line 3405 3406
+3173 234 line 3406 3407
+3174 234 line 3407 3408
+3175 234 line 3408 3409
+3176 234 line 3409 3410
+3177 234 line 3410 3411
+3178 234 line 3411 3412
+3179 234 line 3412 3413
+3180 235 line 3414 3415
+3181 235 line 3415 3416
+3182 235 line 3416 3417
+3183 235 line 3417 3418
+3184 235 line 3418 3419
+3185 235 line 3419 3420
+3186 235 line 3420 3421
+3187 235 line 3421 3422
+3188 235 line 3422 3423
+3189 235 line 3423 3424
+3190 235 line 3424 3425
+3191 235 line 3425 3426
+3192 236 line 3427 3428
+3193 236 line 3428 3429
+3194 236 line 3429 3430
+3195 236 line 3430 3431
+3196 236 line 3431 3432
+3197 236 line 3432 3433
+3198 237 line 3434 3435
+3199 237 line 3435 3436
+3200 237 line 3436 3437
+3201 237 line 3437 3438
+3202 237 line 3438 3439
+3203 237 line 3439 3440
+3204 237 line 3440 3441
+3205 237 line 3441 3442
+3206 237 line 3442 3443
+3207 237 line 3443 3444
+3208 237 line 3444 3445
+3209 237 line 3445 3446
+3210 237 line 3446 3447
+3211 237 line 3447 3448
+3212 237 line 3448 3449
+3213 237 line 3449 3450
+3214 237 line 3450 3451
+3215 237 line 3451 3452
+3216 238 line 3453 3454
+3217 238 line 3454 3455
+3218 238 line 3455 3456
+3219 238 line 3456 3457
+3220 238 line 3457 3458
+3221 238 line 3458 3459
+3222 238 line 3459 3460
+3223 238 line 3460 3461
+3224 238 line 3461 3462
+3225 238 line 3462 3463
+3226 238 line 3463 3464
+3227 238 line 3464 3465
+3228 238 line 3465 3466
+3229 238 line 3466 3467
+3230 238 line 3467 3468
+3231 238 line 3468 3469
+3232 238 line 3469 3470
+3233 238 line 3470 3471
+3234 239 line 3472 3473
+3235 239 line 3473 3474
+3236 239 line 3474 3475
+3237 239 line 3475 3476
+3238 239 line 3476 3477
+3239 239 line 3477 3478
+3240 239 line 3478 3479
+3241 239 line 3479 3480
+3242 239 line 3480 3481
+3243 239 line 3481 3482
+3244 239 line 3482 3483
+3245 239 line 3483 3484
+3246 239 line 3484 3485
+3247 239 line 3485 3486
+3248 239 line 3486 3487
+3249 239 line 3487 3488
+3250 239 line 3488 3489
+3251 239 line 3489 3490
+3252 239 line 3490 3491
+3253 239 line 3491 3492
+3254 239 line 3492 3493
+3255 239 line 3493 3494
+3256 239 line 3494 3495
+3257 239 line 3495 3496
+3258 239 line 3496 3497
+3259 239 line 3497 3498
+3260 239 line 3498 3499
+3261 239 line 3499 3500
+3262 239 line 3500 3501
+3263 239 line 3501 3502
+3264 239 line 3502 3503
+3265 239 line 3503 3504
+3266 239 line 3504 3505
+3267 239 line 3505 3506
+3268 239 line 3506 3507
+3269 239 line 3507 3508
+3270 239 line 3508 3509
+3271 239 line 3509 3510
+3272 239 line 3510 3511
+3273 239 line 3511 3512
+3274 239 line 3512 3513
+3275 239 line 3513 3514
+3276 239 line 3514 3515
+3277 239 line 3515 3516
+3278 239 line 3516 3517
+3279 239 line 3517 3518
+3280 239 line 3518 3519
+3281 239 line 3519 3520
+3282 239 line 3520 3521
+3283 239 line 3521 3522
+3284 239 line 3522 3523
+3285 239 line 3523 3524
+3286 239 line 3524 3525
+3287 239 line 3525 3526
+3288 239 line 3526 3527
+3289 239 line 3527 3528
+3290 240 line 3529 3530
+3291 240 line 3530 3531
+3292 240 line 3531 3532
+3293 240 line 3532 3533
+3294 240 line 3533 3534
+3295 240 line 3534 3535
+3296 240 line 3535 3536
+3297 240 line 3536 3537
+3298 240 line 3537 3538
+3299 240 line 3538 3539
+3300 240 line 3539 3540
+3301 240 line 3540 3541
+3302 240 line 3541 3542
+3303 240 line 3542 3543
+3304 241 line 3544 3545
+3305 241 line 3545 3546
+3306 241 line 3546 3547
+3307 241 line 3547 3548
+3308 241 line 3548 3549
+3309 241 line 3549 3550
+3310 241 line 3550 3551
+3311 241 line 3551 3552
+3312 241 line 3552 3553
+3313 241 line 3553 3554
+3314 241 line 3554 3555
+3315 241 line 3555 3556
+3316 242 line 3557 3558
+3317 242 line 3558 3559
+3318 242 line 3559 3560
+3319 242 line 3560 3561
+3320 242 line 3561 3562
+3321 242 line 3562 3563
+3322 242 line 3563 3564
+3323 242 line 3564 3565
+3324 242 line 3565 3566
+3325 242 line 3566 3567
+3326 242 line 3567 3568
+3327 243 line 3569 3570
+3328 243 line 3570 3571
+3329 244 line 3572 3573
+3330 244 line 3573 3574
+3331 245 line 3575 3576
+3332 245 line 3576 3577
+3333 245 line 3577 3578
+3334 245 line 3578 3579
+3335 245 line 3579 3580
+3336 245 line 3580 3581
+3337 245 line 3581 3582
+3338 245 line 3582 3583
+3339 245 line 3583 3584
+3340 245 line 3584 3585
+3341 245 line 3585 3586
+3342 245 line 3586 3587
+3343 245 line 3587 3588
+3344 245 line 3588 3589
+3345 245 line 3589 3590
+3346 245 line 3590 3591
+3347 245 line 3591 3592
+3348 245 line 3592 3593
+3349 245 line 3593 3594
+3350 246 line 3595 3596
+3351 246 line 3596 3597
+3352 246 line 3597 3598
+3353 246 line 3598 3599
+3354 246 line 3599 3600
+3355 246 line 3600 3601
+3356 246 line 3601 3602
+3357 246 line 3602 3603
+3358 246 line 3603 3604
+3359 246 line 3604 3605
+3360 246 line 3605 3606
+3361 246 line 3606 3607
+3362 246 line 3607 3608
+3363 246 line 3608 3609
+3364 246 line 3609 3610
+3365 246 line 3610 3611
+3366 247 line 3612 3613
+3367 247 line 3613 3614
+3368 247 line 3614 3615
+3369 247 line 3615 3616
+3370 247 line 3616 3617
+3371 247 line 3617 3618
+3372 247 line 3618 3619
+3373 247 line 3619 3620
+3374 247 line 3620 3621
+3375 247 line 3621 3622
+3376 247 line 3622 3623
+3377 247 line 3623 3624
+3378 247 line 3624 3625
+3379 248 line 3626 3627
+3380 248 line 3627 3628
+3381 248 line 3628 3629
+3382 248 line 3629 3630
+3383 248 line 3630 3631
+3384 248 line 3631 3632
+3385 248 line 3632 3633
+3386 248 line 3633 3634
+3387 248 line 3634 3635
+3388 248 line 3635 3636
+3389 248 line 3636 3637
+3390 249 line 3638 3639
+3391 249 line 3639 3640
+3392 249 line 3640 3641
+3393 249 line 3641 3642
+3394 249 line 3642 3643
+3395 249 line 3643 3644
+3396 249 line 3644 3645
+3397 249 line 3645 3646
+3398 249 line 3646 3647
+3399 249 line 3647 3648
+3400 249 line 3648 3649
+3401 249 line 3649 3650
+3402 249 line 3650 3651
+3403 249 line 3651 3652
+3404 249 line 3652 3653
+3405 249 line 3653 3654
+3406 249 line 3654 3655
+3407 249 line 3655 3656
+3408 249 line 3656 3657
+3409 249 line 3657 3658
+3410 249 line 3658 3659
+3411 249 line 3659 3660
+3412 249 line 3660 3661
+3413 249 line 3661 3662
+3414 249 line 3662 3663
+3415 249 line 3663 3664
+3416 249 line 3664 3665
+3417 249 line 3665 3666
+3418 249 line 3666 3667
+3419 249 line 3667 3668
+3420 249 line 3668 3669
+3421 249 line 3669 3670
+3422 249 line 3670 3671
+3423 249 line 3671 3672
+3424 249 line 3672 3673
+3425 249 line 3673 3674
+3426 249 line 3674 3675
+3427 249 line 3675 3676
+3428 250 line 3677 3678
+3429 250 line 3678 3679
+3430 250 line 3679 3680
+3431 250 line 3680 3681
+3432 250 line 3681 3682
+3433 250 line 3682 3683
+3434 250 line 3683 3684
+3435 250 line 3684 3685
+3436 250 line 3685 3686
+3437 250 line 3686 3687
+3438 250 line 3687 3688
+3439 250 line 3688 3689
+3440 250 line 3689 3690
+3441 250 line 3690 3691
+3442 250 line 3691 3692
+3443 250 line 3692 3693
+3444 250 line 3693 3694
+3445 250 line 3694 3695
+3446 250 line 3695 3696
+3447 250 line 3696 3697
+3448 250 line 3697 3698
+3449 250 line 3698 3699
+3450 250 line 3699 3700
+3451 250 line 3700 3701
+3452 250 line 3701 3702
+3453 250 line 3702 3703
+3454 250 line 3703 3704
+3455 250 line 3704 3705
+3456 250 line 3705 3706
+3457 250 line 3706 3707
+3458 250 line 3707 3708
+3459 250 line 3708 3709
+3460 250 line 3709 3710
+3461 250 line 3710 3711
+3462 250 line 3711 3712
+3463 250 line 3712 3713
+3464 250 line 3713 3714
+3465 250 line 3714 3715
+3466 250 line 3715 3716
+3467 250 line 3716 3717
+3468 250 line 3717 3718
+3469 250 line 3718 3719
+3470 250 line 3719 3720
+3471 250 line 3720 3721
+3472 250 line 3721 3722
+3473 250 line 3722 3723
+3474 251 line 3724 3725
+3475 251 line 3725 3726
+3476 251 line 3726 3727
+3477 251 line 3727 3728
+3478 251 line 3728 3729
+3479 251 line 3729 3730
+3480 251 line 3730 3731
+3481 252 line 3732 3733
+3482 252 line 3733 3734
+3483 252 line 3734 3735
+3484 252 line 3735 3736
+3485 252 line 3736 3737
+3486 252 line 3737 3738
+3487 252 line 3738 3739
+3488 252 line 3739 3740
+3489 252 line 3740 3741
+3490 252 line 3741 3742
+3491 252 line 3742 3743
+3492 252 line 3743 3744
+3493 252 line 3744 3745
+3494 252 line 3745 3746
+3495 252 line 3746 3747
+3496 252 line 3747 3748
+3497 252 line 3748 3749
+3498 252 line 3749 3750
+3499 252 line 3750 3751
+3500 252 line 3751 3752
+3501 252 line 3752 3753
+3502 252 line 3753 3754
+3503 253 line 3755 3756
+3504 253 line 3756 3757
+3505 253 line 3757 3758
+3506 253 line 3758 3759
+3507 253 line 3759 3760
+3508 253 line 3760 3761
+3509 253 line 3761 3762
+3510 253 line 3762 3763
+3511 253 line 3763 3764
+3512 253 line 3764 3765
+3513 254 line 3766 3767
+3514 254 line 3767 3768
+3515 254 line 3768 3769
+3516 254 line 3769 3770
+3517 254 line 3770 3771
+3518 255 line 3772 3773
+3519 255 line 3773 3774
+3520 255 line 3774 3775
+3521 255 line 3775 3776
+3522 255 line 3776 3777
+3523 255 line 3777 3778
+3524 255 line 3778 3779
+3525 255 line 3779 3780
+3526 255 line 3780 3781
+3527 256 line 3782 3783
+3528 256 line 3783 3784
+3529 256 line 3784 3785
+3530 256 line 3785 3786
+3531 256 line 3786 3787
+3532 256 line 3787 3788
+3533 256 line 3788 3789
+3534 257 line 3790 3791
+3535 257 line 3791 3792
+3536 257 line 3792 3793
+3537 258 line 3794 3795
+3538 258 line 3795 3796
+3539 259 line 3797 3798
+3540 259 line 3798 3799
+3541 259 line 3799 3800
+3542 259 line 3800 3801
+3543 259 line 3801 3802
+3544 259 line 3802 3803
+3545 259 line 3803 3804
+3546 259 line 3804 3805
+3547 259 line 3805 3806
+3548 259 line 3806 3807
+3549 259 line 3807 3808
+3550 260 line 3809 3810
+3551 260 line 3810 3811
+3552 260 line 3811 3812
+3553 260 line 3812 3813
+3554 260 line 3813 3814
+3555 260 line 3814 3815
+3556 260 line 3815 3816
+3557 261 line 3817 3818
+3558 261 line 3818 3819
+3559 261 line 3819 3820
+3560 262 line 3821 3822
+3561 262 line 3822 3823
+3562 262 line 3823 3824
+3563 263 line 3825 3826
+3564 263 line 3826 3827
+3565 263 line 3827 3828
+3566 264 line 3829 3830
+3567 264 line 3830 3831
+3568 265 line 3832 3833
+3569 265 line 3833 3834
+3570 265 line 3834 3835
+3571 265 line 3835 3836
+3572 265 line 3836 3837
+3573 265 line 3837 3838
+3574 265 line 3838 3839
+3575 265 line 3839 3840
+3576 265 line 3840 3841
+3577 265 line 3841 3842
+3578 265 line 3842 3843
+3579 265 line 3843 3844
+3580 265 line 3844 3845
+3581 265 line 3845 3846
+3582 265 line 3846 3847
+3583 265 line 3847 3848
+3584 265 line 3848 3849
+3585 265 line 3849 3850
+3586 265 line 3850 3851
+3587 265 line 3851 3852
+3588 265 line 3852 3853
+3589 265 line 3853 3854
+3590 265 line 3854 3855
+3591 265 line 3855 3856
+3592 265 line 3856 3857
+3593 265 line 3857 3858
+3594 265 line 3858 3859
+3595 265 line 3859 3860
+3596 265 line 3860 3861
+3597 265 line 3861 3862
+3598 265 line 3862 3863
+3599 265 line 3863 3864
+3600 265 line 3864 3865
+3601 265 line 3865 3866
+3602 265 line 3866 3867
+3603 265 line 3867 3868
+3604 265 line 3868 3869
+3605 265 line 3869 3870
+3606 265 line 3870 3871
+3607 265 line 3871 3872
+3608 265 line 3872 3873
+3609 265 line 3873 3874
+3610 265 line 3874 3875
+3611 265 line 3875 3876
+3612 265 line 3876 3877
+3613 265 line 3877 3878
+3614 265 line 3878 3879
+3615 265 line 3879 3880
+3616 265 line 3880 3881
+3617 265 line 3881 3882
+3618 265 line 3882 3883
+3619 265 line 3883 3884
+3620 265 line 3884 3885
+3621 265 line 3885 3886
+3622 265 line 3886 3887
+3623 265 line 3887 3888
+3624 265 line 3888 3889
+3625 265 line 3889 3890
+3626 265 line 3890 3891
+3627 266 line 3892 3893
+3628 266 line 3893 3894
+3629 266 line 3894 3895
+3630 266 line 3895 3896
+3631 266 line 3896 3897
+3632 266 line 3897 3898
+3633 266 line 3898 3899
+3634 266 line 3899 3900
+3635 266 line 3900 3901
+3636 266 line 3901 3902
+3637 266 line 3902 3903
+3638 266 line 3903 3904
+3639 266 line 3904 3905
+3640 266 line 3905 3906
+3641 266 line 3906 3907
+3642 266 line 3907 3908
+3643 266 line 3908 3909
+3644 266 line 3909 3910
+3645 266 line 3910 3911
+3646 266 line 3911 3912
+3647 266 line 3912 3913
+3648 266 line 3913 3914
+3649 266 line 3914 3915
+3650 266 line 3915 3916
+3651 266 line 3916 3917
+3652 266 line 3917 3918
+3653 267 line 3919 3920
+3654 267 line 3920 3921
+3655 267 line 3921 3922
+3656 267 line 3922 3923
+3657 267 line 3923 3924
+3658 267 line 3924 3925
+3659 267 line 3925 3926
+3660 267 line 3926 3927
+3661 267 line 3927 3928
+3662 267 line 3928 3929
+3663 267 line 3929 3930
+3664 267 line 3930 3931
+3665 267 line 3931 3932
+3666 267 line 3932 3933
+3667 267 line 3933 3934
+3668 267 line 3934 3935
+3669 267 line 3935 3936
+3670 267 line 3936 3937
+3671 268 line 3938 3939
+3672 268 line 3939 3940
+3673 268 line 3940 3941
+3674 268 line 3941 3942
+3675 268 line 3942 3943
+3676 268 line 3943 3944
+3677 268 line 3944 3945
+3678 268 line 3945 3946
+3679 268 line 3946 3947
+3680 268 line 3947 3948
+3681 268 line 3948 3949
+3682 268 line 3949 3950
+3683 268 line 3950 3951
+3684 269 line 3952 3953
+3685 269 line 3953 3954
+3686 269 line 3954 3955
+3687 269 line 3955 3956
+3688 269 line 3956 3957
+3689 269 line 3957 3958
+3690 269 line 3958 3959
+3691 269 line 3959 3960
+3692 269 line 3960 3961
+3693 269 line 3961 3962
+3694 269 line 3962 3963
+3695 269 line 3963 3964
+3696 270 line 3965 3966
+3697 270 line 3966 3967
+3698 270 line 3967 3968
+3699 270 line 3968 3969
+3700 270 line 3969 3970
+3701 270 line 3970 3971
+3702 271 line 3972 3973
+3703 271 line 3973 3974
+3704 272 line 3975 3976
+3705 272 line 3976 3977
+3706 272 line 3977 3978
+3707 272 line 3978 3979
+3708 272 line 3979 3980
+3709 272 line 3980 3981
+3710 272 line 3981 3982
+3711 272 line 3982 3983
+3712 272 line 3983 3984
+3713 272 line 3984 3985
+3714 272 line 3985 3986
+3715 272 line 3986 3987
+3716 272 line 3987 3988
+3717 272 line 3988 3989
+3718 272 line 3989 3990
+3719 272 line 3990 3991
+3720 272 line 3991 3992
+3721 272 line 3992 3993
+3722 272 line 3993 3994
+3723 272 line 3994 3995
+3724 272 line 3995 3996
+3725 272 line 3996 3997
+3726 272 line 3997 3998
+3727 272 line 3998 3999
+3728 272 line 3999 4000
+3729 272 line 4000 4001
+3730 272 line 4001 4002
+3731 272 line 4002 4003
+3732 272 line 4003 4004
+3733 272 line 4004 4005
+3734 272 line 4005 4006
+3735 272 line 4006 4007
+3736 272 line 4007 4008
+3737 272 line 4008 4009
+3738 272 line 4009 4010
+3739 272 line 4010 4011
+3740 272 line 4011 4012
+3741 272 line 4012 4013
+3742 272 line 4013 4014
+3743 272 line 4014 4015
+3744 273 line 4016 4017
+3745 273 line 4017 4018
+3746 273 line 4018 4019
+3747 273 line 4019 4020
+3748 273 line 4020 4021
+3749 273 line 4021 4022
+3750 273 line 4022 4023
+3751 273 line 4023 4024
+3752 273 line 4024 4025
+3753 273 line 4025 4026
+3754 273 line 4026 4027
+3755 273 line 4027 4028
+3756 273 line 4028 4029
+3757 273 line 4029 4030
+3758 273 line 4030 4031
+3759 273 line 4031 4032
+3760 273 line 4032 4033
+3761 273 line 4033 4034
+3762 273 line 4034 4035
+3763 273 line 4035 4036
+3764 273 line 4036 4037
+3765 273 line 4037 4038
+3766 273 line 4038 4039
+3767 273 line 4039 4040
+3768 273 line 4040 4041
+3769 273 line 4041 4042
+3770 273 line 4042 4043
+3771 273 line 4043 4044
+3772 273 line 4044 4045
+3773 274 line 4046 4047
+3774 274 line 4047 4048
+3775 274 line 4048 4049
+3776 274 line 4049 4050
+3777 274 line 4050 4051
+3778 274 line 4051 4052
+3779 274 line 4052 4053
+3780 274 line 4053 4054
+3781 274 line 4054 4055
+3782 274 line 4055 4056
+3783 274 line 4056 4057
+3784 274 line 4057 4058
+3785 274 line 4058 4059
+3786 274 line 4059 4060
+3787 274 line 4060 4061
+3788 274 line 4061 4062
+3789 274 line 4062 4063
+3790 274 line 4063 4064
+3791 274 line 4064 4065
+3792 274 line 4065 4066
+3793 274 line 4066 4067
+3794 274 line 4067 4068
+3795 274 line 4068 4069
+3796 274 line 4069 4070
+3797 274 line 4070 4071
+3798 274 line 4071 4072
+3799 274 line 4072 4073
+3800 274 line 4073 4074
+3801 275 line 4075 4076
+3802 275 line 4076 4077
+3803 275 line 4077 4078
+3804 275 line 4078 4079
+3805 276 line 4080 4081
+3806 276 line 4081 4082
+3807 276 line 4082 4083
+3808 276 line 4083 4084
+3809 276 line 4084 4085
+3810 276 line 4085 4086
+3811 276 line 4086 4087
+3812 276 line 4087 4088
+3813 276 line 4088 4089
+3814 276 line 4089 4090
+3815 276 line 4090 4091
+3816 276 line 4091 4092
+3817 276 line 4092 4093
+3818 276 line 4093 4094
+3819 276 line 4094 4095
+3820 276 line 4095 4096
+3821 276 line 4096 4097
+3822 277 line 4098 4099
+3823 277 line 4099 4100
+3824 277 line 4100 4101
+3825 277 line 4101 4102
+3826 277 line 4102 4103
+3827 277 line 4103 4104
+3828 277 line 4104 4105
+3829 277 line 4105 4106
+3830 277 line 4106 4107
+3831 277 line 4107 4108
+3832 277 line 4108 4109
+3833 277 line 4109 4110
+3834 277 line 4110 4111
+3835 277 line 4111 4112
+3836 278 line 4113 4114
+3837 278 line 4114 4115
+3838 278 line 4115 4116
+3839 278 line 4116 4117
+3840 278 line 4117 4118
+3841 278 line 4118 4119
+3842 278 line 4119 4120
+3843 278 line 4120 4121
+3844 278 line 4121 4122
+3845 278 line 4122 4123
+3846 278 line 4123 4124
+3847 278 line 4124 4125
+3848 278 line 4125 4126
+3849 278 line 4126 4127
+3850 279 line 4128 4129
+3851 279 line 4129 4130
+3852 279 line 4130 4131
+3853 279 line 4131 4132
+3854 279 line 4132 4133
+3855 279 line 4133 4134
+3856 279 line 4134 4135
+3857 279 line 4135 4136
+3858 279 line 4136 4137
+3859 279 line 4137 4138
+3860 279 line 4138 4139
+3861 279 line 4139 4140
+3862 279 line 4140 4141
+3863 280 line 4142 4143
+3864 280 line 4143 4144
+3865 280 line 4144 4145
+3866 280 line 4145 4146
+3867 280 line 4146 4147
+3868 280 line 4147 4148
+3869 281 line 4149 4150
+3870 281 line 4150 4151
+3871 281 line 4151 4152
+3872 281 line 4152 4153
+3873 281 line 4153 4154
+3874 282 line 4155 4156
+3875 282 line 4156 4157
+3876 282 line 4157 4158
+3877 282 line 4158 4159
+3878 282 line 4159 4160
+3879 283 line 4161 4162
+3880 283 line 4162 4163
+3881 283 line 4163 4164
+3882 283 line 4164 4165
+3883 284 line 4166 4167
+3884 284 line 4167 4168
+3885 285 line 4169 4170
+3886 285 line 4170 4171
+3887 286 line 4172 4173
+3888 286 line 4173 4174
+3889 286 line 4174 4175
+3890 286 line 4175 4176
+3891 286 line 4176 4177
+3892 286 line 4177 4178
+3893 286 line 4178 4179
+3894 286 line 4179 4180
+3895 286 line 4180 4181
+3896 286 line 4181 4182
+3897 286 line 4182 4183
+3898 286 line 4183 4184
+3899 286 line 4184 4185
+3900 286 line 4185 4186
+3901 287 line 4187 4188
+3902 287 line 4188 4189
+3903 287 line 4189 4190
+3904 287 line 4190 4191
+3905 287 line 4191 4192
+3906 287 line 4192 4193
+3907 287 line 4193 4194
+3908 288 line 4195 4196
+3909 288 line 4196 4197
+3910 288 line 4197 4198
+3911 288 line 4198 4199
+3912 288 line 4199 4200
+3913 288 line 4200 4201
+3914 289 line 4202 4203
+3915 289 line 4203 4204
+3916 289 line 4204 4205
+3917 289 line 4205 4206
+3918 289 line 4206 4207
+3919 290 line 4208 4209
+3920 290 line 4209 4210
+3921 290 line 4210 4211
+3922 291 line 4212 4213
+3923 291 line 4213 4214
+3924 291 line 4214 4215
+3925 292 line 4216 4217
+3926 292 line 4217 4218
+3927 293 line 4219 4220
+3928 293 line 4220 4221
+3929 294 line 4222 4223
+3930 294 line 4223 4224
+3931 294 line 4224 4225
+3932 294 line 4225 4226
+3933 294 line 4226 4227
+3934 294 line 4227 4228
+3935 294 line 4228 4229
+3936 294 line 4229 4230
+3937 294 line 4230 4231
+3938 294 line 4231 4232
+3939 294 line 4232 4233
+3940 294 line 4233 4234
+3941 294 line 4234 4235
+3942 294 line 4235 4236
+3943 294 line 4236 4237
+3944 294 line 4237 4238
+3945 294 line 4238 4239
+3946 294 line 4239 4240
+3947 294 line 4240 4241
+3948 294 line 4241 4242
+3949 294 line 4242 4243
+3950 294 line 4243 4244
+3951 294 line 4244 4245
+3952 294 line 4245 4246
+3953 294 line 4246 4247
+3954 294 line 4247 4248
+3955 294 line 4248 4249
+3956 294 line 4249 4250
+3957 294 line 4250 4251
+3958 294 line 4251 4252
+3959 294 line 4252 4253
+3960 294 line 4253 4254
+3961 294 line 4254 4255
+3962 294 line 4255 4256
+3963 294 line 4256 4257
+3964 294 line 4257 4258
+3965 294 line 4258 4259
+3966 294 line 4259 4260
+3967 294 line 4260 4261
+3968 295 line 4262 4263
+3969 295 line 4263 4264
+3970 295 line 4264 4265
+3971 295 line 4265 4266
+3972 295 line 4266 4267
+3973 295 line 4267 4268
+3974 295 line 4268 4269
+3975 295 line 4269 4270
+3976 295 line 4270 4271
+3977 296 line 4272 4273
+3978 296 line 4273 4274
+3979 296 line 4274 4275
+3980 296 line 4275 4276
+3981 296 line 4276 4277
+3982 296 line 4277 4278
+3983 296 line 4278 4279
+3984 296 line 4279 4280
+3985 296 line 4280 4281
+3986 296 line 4281 4282
+3987 296 line 4282 4283
+3988 296 line 4283 4284
+3989 296 line 4284 4285
+3990 296 line 4285 4286
+3991 296 line 4286 4287
+3992 296 line 4287 4288
+3993 296 line 4288 4289
+3994 296 line 4289 4290
+3995 296 line 4290 4291
+3996 296 line 4291 4292
+3997 296 line 4292 4293
+3998 296 line 4293 4294
+3999 296 line 4294 4295
+4000 296 line 4295 4296
+4001 296 line 4296 4297
+4002 296 line 4297 4298
+4003 296 line 4298 4299
+4004 296 line 4299 4300
+4005 296 line 4300 4301
+4006 296 line 4301 4302
+4007 296 line 4302 4303
+4008 296 line 4303 4304
+4009 296 line 4304 4305
+4010 296 line 4305 4306
+4011 296 line 4306 4307
+4012 296 line 4307 4308
+4013 296 line 4308 4309
+4014 296 line 4309 4310
+4015 296 line 4310 4311
+4016 296 line 4311 4312
+4017 296 line 4312 4313
+4018 296 line 4313 4314
+4019 296 line 4314 4315
+4020 296 line 4315 4316
+4021 296 line 4316 4317
+4022 296 line 4317 4318
+4023 296 line 4318 4319
+4024 296 line 4319 4320
+4025 296 line 4320 4321
+4026 296 line 4321 4322
+4027 296 line 4322 4323
+4028 296 line 4323 4324
+4029 297 line 4325 4326
+4030 297 line 4326 4327
+4031 297 line 4327 4328
+4032 297 line 4328 4329
+4033 297 line 4329 4330
+4034 297 line 4330 4331
+4035 297 line 4331 4332
+4036 297 line 4332 4333
+4037 297 line 4333 4334
+4038 297 line 4334 4335
+4039 297 line 4335 4336
+4040 297 line 4336 4337
+4041 297 line 4337 4338
+4042 297 line 4338 4339
+4043 297 line 4339 4340
+4044 297 line 4340 4341
+4045 297 line 4341 4342
+4046 297 line 4342 4343
+4047 297 line 4343 4344
+4048 297 line 4344 4345
+4049 297 line 4345 4346
+4050 297 line 4346 4347
+4051 297 line 4347 4348
+4052 298 line 4349 4350
+4053 298 line 4350 4351
+4054 299 line 4352 4353
+4055 299 line 4353 4354
+4056 299 line 4354 4355
+4057 299 line 4355 4356
+4058 299 line 4356 4357
+4059 299 line 4357 4358
+4060 299 line 4358 4359
+4061 300 line 4360 4361
+4062 300 line 4361 4362
+4063 300 line 4362 4363
+4064 300 line 4363 4364
+4065 300 line 4364 4365
+4066 300 line 4365 4366
+4067 300 line 4366 4367
+4068 300 line 4367 4368
+4069 300 line 4368 4369
+4070 300 line 4369 4370
+4071 300 line 4370 4371
+4072 300 line 4371 4372
+4073 300 line 4372 4373
+4074 300 line 4373 4374
+4075 300 line 4374 4375
+4076 301 line 4376 4377
+4077 301 line 4377 4378
+4078 301 line 4378 4379
+4079 301 line 4379 4380
+4080 301 line 4380 4381
+4081 301 line 4381 4382
+4082 301 line 4382 4383
+4083 301 line 4383 4384
+4084 302 line 4385 4386
+4085 302 line 4386 4387
+4086 302 line 4387 4388
+4087 302 line 4388 4389
+4088 302 line 4389 4390
+4089 302 line 4390 4391
+4090 302 line 4391 4392
+4091 302 line 4392 4393
+4092 302 line 4393 4394
+4093 302 line 4394 4395
+4094 302 line 4395 4396
+4095 302 line 4396 4397
+4096 302 line 4397 4398
+4097 302 line 4398 4399
+4098 303 line 4400 4401
+4099 303 line 4401 4402
+4100 304 line 4403 4404
+4101 304 line 4404 4405
+4102 304 line 4405 4406
+4103 304 line 4406 4407
+4104 304 line 4407 4408
+4105 304 line 4408 4409
+4106 304 line 4409 4410
+4107 305 line 4411 4412
+4108 305 line 4412 4413
+4109 305 line 4413 4414
+4110 305 line 4414 4415
+4111 305 line 4415 4416
+4112 305 line 4416 4417
+4113 305 line 4417 4418
+4114 305 line 4418 4419
+4115 305 line 4419 4420
+4116 305 line 4420 4421
+4117 305 line 4421 4422
+4118 305 line 4422 4423
+4119 305 line 4423 4424
+4120 305 line 4424 4425
+4121 305 line 4425 4426
+4122 305 line 4426 4427
+4123 305 line 4427 4428
+4124 305 line 4428 4429
+4125 305 line 4429 4430
+4126 305 line 4430 4431
+4127 305 line 4431 4432
+4128 305 line 4432 4433
+4129 305 line 4433 4434
+4130 305 line 4434 4435
+4131 305 line 4435 4436
+4132 305 line 4436 4437
+4133 305 line 4437 4438
+4134 305 line 4438 4439
+4135 305 line 4439 4440
+4136 305 line 4440 4441
+4137 305 line 4441 4442
+4138 305 line 4442 4443
+4139 305 line 4443 4444
+4140 305 line 4444 4445
+4141 306 line 4446 4447
+4142 306 line 4447 4448
+4143 306 line 4448 4449
+4144 306 line 4449 4450
+4145 306 line 4450 4451
+4146 306 line 4451 4452
+4147 307 line 4453 4454
+4148 307 line 4454 4455
+4149 307 line 4455 4456
+4150 307 line 4456 4457
+4151 307 line 4457 4458
+4152 307 line 4458 4459
+4153 307 line 4459 4460
+4154 307 line 4460 4461
+4155 307 line 4461 4462
+4156 307 line 4462 4463
+4157 307 line 4463 4464
+4158 307 line 4464 4465
+4159 307 line 4465 4466
+4160 307 line 4466 4467
+4161 307 line 4467 4468
+4162 308 line 4469 4470
+4163 308 line 4470 4471
+4164 308 line 4471 4472
+4165 308 line 4472 4473
+4166 308 line 4473 4474
+4167 308 line 4474 4475
+4168 308 line 4475 4476
+4169 308 line 4476 4477
+4170 308 line 4477 4478
+4171 308 line 4478 4479
+4172 308 line 4479 4480
+4173 308 line 4480 4481
+4174 308 line 4481 4482
+4175 308 line 4482 4483
+4176 308 line 4483 4484
+4177 308 line 4484 4485
+4178 308 line 4485 4486
+4179 308 line 4486 4487
+4180 308 line 4487 4488
+4181 308 line 4488 4489
+4182 308 line 4489 4490
+4183 308 line 4490 4491
+4184 308 line 4491 4492
+4185 308 line 4492 4493
+4186 308 line 4493 4494
+4187 308 line 4494 4495
+4188 308 line 4495 4496
+4189 308 line 4496 4497
+4190 308 line 4497 4498
+4191 308 line 4498 4499
+4192 308 line 4499 4500
+4193 308 line 4500 4501
+4194 308 line 4501 4502
+4195 308 line 4502 4503
+4196 308 line 4503 4504
+4197 308 line 4504 4505
+4198 308 line 4505 4506
+4199 308 line 4506 4507
+4200 308 line 4507 4508
+4201 308 line 4508 4509
+4202 308 line 4509 4510
+4203 308 line 4510 4511
+4204 308 line 4511 4512
+4205 308 line 4512 4513
+4206 308 line 4513 4514
+4207 308 line 4514 4515
+4208 308 line 4515 4516
+4209 308 line 4516 4517
+4210 308 line 4517 4518
+4211 308 line 4518 4519
+4212 308 line 4519 4520
+4213 308 line 4520 4521
+4214 308 line 4521 4522
+4215 308 line 4522 4523
+4216 308 line 4523 4524
+4217 308 line 4524 4525
+4218 308 line 4525 4526
+4219 308 line 4526 4527
+4220 308 line 4527 4528
+4221 308 line 4528 4529
+4222 308 line 4529 4530
+4223 308 line 4530 4531
+4224 308 line 4531 4532
+4225 308 line 4532 4533
+4226 308 line 4533 4534
+4227 308 line 4534 4535
+4228 308 line 4535 4536
+4229 308 line 4536 4537
+4230 308 line 4537 4538
+4231 308 line 4538 4539
+4232 308 line 4539 4540
+4233 308 line 4540 4541
+4234 308 line 4541 4542
+4235 308 line 4542 4543
+4236 309 line 4544 4545
+4237 309 line 4545 4546
+4238 309 line 4546 4547
+4239 309 line 4547 4548
+4240 310 line 4549 4550
+4241 310 line 4550 4551
+4242 310 line 4551 4552
+4243 310 line 4552 4553
+4244 310 line 4553 4554
+4245 310 line 4554 4555
+4246 310 line 4555 4556
+4247 310 line 4556 4557
+4248 310 line 4557 4558
+4249 310 line 4558 4559
+4250 310 line 4559 4560
+4251 310 line 4560 4561
+4252 310 line 4561 4562
+4253 310 line 4562 4563
+4254 310 line 4563 4564
+4255 310 line 4564 4565
+4256 310 line 4565 4566
+4257 310 line 4566 4567
+4258 310 line 4567 4568
+4259 310 line 4568 4569
+4260 310 line 4569 4570
+4261 310 line 4570 4571
+4262 310 line 4571 4572
+4263 310 line 4572 4573
+4264 310 line 4573 4574
+4265 310 line 4574 4575
+4266 310 line 4575 4576
+4267 310 line 4576 4577
+4268 311 line 4578 4579
+4269 311 line 4579 4580
+4270 311 line 4580 4581
+4271 311 line 4581 4582
+4272 311 line 4582 4583
+4273 311 line 4583 4584
+4274 311 line 4584 4585
+4275 312 line 4586 4587
+4276 312 line 4587 4588
+4277 312 line 4588 4589
+4278 312 line 4589 4590
+4279 312 line 4590 4591
+4280 312 line 4591 4592
+4281 312 line 4592 4593
+4282 312 line 4593 4594
+4283 312 line 4594 4595
+4284 312 line 4595 4596
+4285 312 line 4596 4597
+4286 312 line 4597 4598
+4287 312 line 4598 4599
+4288 312 line 4599 4600
+4289 313 line 4601 4602
+4290 313 line 4602 4603
+4291 313 line 4603 4604
+4292 313 line 4604 4605
+4293 313 line 4605 4606
+4294 313 line 4606 4607
+4295 313 line 4607 4608
+4296 313 line 4608 4609
+4297 313 line 4609 4610
+4298 313 line 4610 4611
+4299 313 line 4611 4612
+4300 313 line 4612 4613
+4301 313 line 4613 4614
+4302 313 line 4614 4615
+4303 313 line 4615 4616
+4304 313 line 4616 4617
+4305 313 line 4617 4618
+4306 313 line 4618 4619
+4307 313 line 4619 4620
+4308 314 line 4621 4622
+4309 314 line 4622 4623
+4310 314 line 4623 4624
+4311 314 line 4624 4625
+4312 314 line 4625 4626
+4313 314 line 4626 4627
+4314 314 line 4627 4628
+4315 314 line 4628 4629
+4316 315 line 4630 4631
+4317 315 line 4631 4632
+4318 315 line 4632 4633
+4319 315 line 4633 4634
+4320 315 line 4634 4635
+4321 315 line 4635 4636
+4322 316 line 4637 4638
+4323 316 line 4638 4639
+4324 316 line 4639 4640
+4325 316 line 4640 4641
+4326 316 line 4641 4642
+4327 316 line 4642 4643
+4328 317 line 4644 4645
+4329 317 line 4645 4646
+4330 317 line 4646 4647
+4331 317 line 4647 4648
+4332 317 line 4648 4649
+4333 317 line 4649 4650
+4334 317 line 4650 4651
+4335 317 line 4651 4652
+4336 317 line 4652 4653
+4337 318 line 4654 4655
+4338 318 line 4655 4656
+4339 318 line 4656 4657
+4340 318 line 4657 4658
+4341 318 line 4658 4659
+4342 318 line 4659 4660
+4343 318 line 4660 4661
+4344 318 line 4661 4662
+4345 318 line 4662 4663
+4346 318 line 4663 4664
+4347 318 line 4664 4665
+4348 318 line 4665 4666
+4349 318 line 4666 4667
+4350 318 line 4667 4668
+4351 318 line 4668 4669
+4352 318 line 4669 4670
+4353 318 line 4670 4671
+4354 318 line 4671 4672
+4355 318 line 4672 4673
+4356 318 line 4673 4674
+4357 318 line 4674 4675
+4358 318 line 4675 4676
+4359 318 line 4676 4677
+4360 318 line 4677 4678
+4361 318 line 4678 4679
+4362 318 line 4679 4680
+4363 318 line 4680 4681
+4364 318 line 4681 4682
+4365 319 line 4683 4684
+4366 319 line 4684 4685
+4367 319 line 4685 4686
+4368 319 line 4686 4687
+4369 319 line 4687 4688
+4370 319 line 4688 4689
+4371 319 line 4689 4690
+4372 319 line 4690 4691
+4373 319 line 4691 4692
+4374 319 line 4692 4693
+4375 319 line 4693 4694
+4376 319 line 4694 4695
+4377 319 line 4695 4696
+4378 319 line 4696 4697
+4379 319 line 4697 4698
+4380 319 line 4698 4699
+4381 319 line 4699 4700
+4382 319 line 4700 4701
+4383 319 line 4701 4702
+4384 319 line 4702 4703
+4385 319 line 4703 4704
+4386 320 line 4705 4706
+4387 320 line 4706 4707
+4388 320 line 4707 4708
+4389 320 line 4708 4709
+4390 320 line 4709 4710
+4391 320 line 4710 4711
+4392 320 line 4711 4712
+4393 320 line 4712 4713
+4394 320 line 4713 4714
+4395 320 line 4714 4715
+4396 320 line 4715 4716
+4397 320 line 4716 4717
+4398 320 line 4717 4718
+4399 320 line 4718 4719
+4400 321 line 4720 4721
+4401 321 line 4721 4722
+4402 321 line 4722 4723
+4403 321 line 4723 4724
+4404 321 line 4724 4725
+4405 321 line 4725 4726
+4406 321 line 4726 4727
+4407 321 line 4727 4728
+4408 321 line 4728 4729
+4409 321 line 4729 4730
+4410 321 line 4730 4731
+4411 321 line 4731 4732
+4412 321 line 4732 4733
+4413 321 line 4733 4734
+4414 321 line 4734 4735
+4415 321 line 4735 4736
+4416 321 line 4736 4737
+4417 321 line 4737 4738
+4418 321 line 4738 4739
+4419 321 line 4739 4740
+4420 321 line 4740 4741
+4421 321 line 4741 4742
+4422 321 line 4742 4743
+4423 321 line 4743 4744
+4424 321 line 4744 4745
+4425 321 line 4745 4746
+4426 321 line 4746 4747
+4427 321 line 4747 4748
+4428 321 line 4748 4749
+4429 321 line 4749 4750
+4430 321 line 4750 4751
+4431 321 line 4751 4752
+4432 321 line 4752 4753
+4433 321 line 4753 4754
+4434 322 line 4755 4756
+4435 322 line 4756 4757
+4436 322 line 4757 4758
+4437 322 line 4758 4759
+4438 322 line 4759 4760
+4439 322 line 4760 4761
+4440 322 line 4761 4762
+4441 322 line 4762 4763
+4442 322 line 4763 4764
+4443 322 line 4764 4765
+4444 322 line 4765 4766
+4445 322 line 4766 4767
+4446 322 line 4767 4768
+4447 322 line 4768 4769
+4448 322 line 4769 4770
+4449 322 line 4770 4771
+4450 322 line 4771 4772
+4451 322 line 4772 4773
+4452 322 line 4773 4774
+4453 322 line 4774 4775
+4454 322 line 4775 4776
+4455 322 line 4776 4777
+4456 322 line 4777 4778
+4457 322 line 4778 4779
+4458 322 line 4779 4780
+4459 322 line 4780 4781
+4460 322 line 4781 4782
+4461 323 line 4783 4784
+4462 323 line 4784 4785
+4463 323 line 4785 4786
+4464 323 line 4786 4787
+4465 323 line 4787 4788
+4466 323 line 4788 4789
+4467 323 line 4789 4790
+4468 323 line 4790 4791
+4469 323 line 4791 4792
+4470 323 line 4792 4793
+4471 323 line 4793 4794
+4472 323 line 4794 4795
+4473 323 line 4795 4796
+4474 323 line 4796 4797
+4475 323 line 4797 4798
+4476 323 line 4798 4799
+4477 323 line 4799 4800
+4478 323 line 4800 4801
+4479 323 line 4801 4802
+4480 323 line 4802 4803
+4481 323 line 4803 4804
+4482 323 line 4804 4805
+4483 323 line 4805 4806
+4484 323 line 4806 4807
+4485 323 line 4807 4808
+4486 323 line 4808 4809
+4487 323 line 4809 4810
+4488 323 line 4810 4811
+4489 323 line 4811 4812
+4490 323 line 4812 4813
+4491 323 line 4813 4814
+4492 323 line 4814 4815
+4493 323 line 4815 4816
+4494 323 line 4816 4817
+4495 323 line 4817 4818
+4496 323 line 4818 4819
+4497 323 line 4819 4820
+4498 323 line 4820 4821
+4499 323 line 4821 4822
+4500 323 line 4822 4823
+4501 323 line 4823 4824
+4502 323 line 4824 4825
+4503 323 line 4825 4826
+4504 323 line 4826 4827
+4505 323 line 4827 4828
+4506 323 line 4828 4829
+4507 323 line 4829 4830
+4508 323 line 4830 4831
+4509 323 line 4831 4832
+4510 323 line 4832 4833
+4511 323 line 4833 4834
+4512 323 line 4834 4835
+4513 323 line 4835 4836
+4514 323 line 4836 4837
+4515 323 line 4837 4838
+4516 323 line 4838 4839
+4517 323 line 4839 4840
+4518 323 line 4840 4841
+4519 323 line 4841 4842
+4520 323 line 4842 4843
+4521 324 line 4844 4845
+4522 324 line 4845 4846
+4523 324 line 4846 4847
+4524 324 line 4847 4848
+4525 324 line 4848 4849
+4526 324 line 4849 4850
+4527 324 line 4850 4851
+4528 324 line 4851 4852
+4529 324 line 4852 4853
+4530 324 line 4853 4854
+4531 324 line 4854 4855
+4532 324 line 4855 4856
+4533 324 line 4856 4857
+4534 324 line 4857 4858
+4535 324 line 4858 4859
+4536 324 line 4859 4860
+4537 324 line 4860 4861
+4538 324 line 4861 4862
+4539 324 line 4862 4863
+4540 324 line 4863 4864
+4541 324 line 4864 4865
+4542 324 line 4865 4866
+4543 324 line 4866 4867
+4544 324 line 4867 4868
+4545 325 line 4869 4870
+4546 325 line 4870 4871
+4547 326 line 4872 4873
+4548 326 line 4873 4874
+4549 326 line 4874 4875
+4550 326 line 4875 4876
+4551 326 line 4876 4877
+4552 326 line 4877 4878
+4553 326 line 4878 4879
+4554 326 line 4879 4880
+4555 326 line 4880 4881
+4556 326 line 4881 4882
+4557 326 line 4882 4883
+4558 326 line 4883 4884
+4559 326 line 4884 4885
+4560 326 line 4885 4886
+4561 326 line 4886 4887
+4562 326 line 4887 4888
+4563 326 line 4888 4889
+4564 326 line 4889 4890
+4565 326 line 4890 4891
+4566 326 line 4891 4892
+4567 327 line 4893 4894
+4568 327 line 4894 4895
+4569 327 line 4895 4896
+4570 327 line 4896 4897
+4571 328 line 4898 4899
+4572 328 line 4899 4900
+4573 328 line 4900 4901
+4574 329 line 4902 4903
+4575 329 line 4903 4904
+4576 330 line 4905 4906
+4577 330 line 4906 4907
+4578 330 line 4907 4908
+4579 330 line 4908 4909
+4580 330 line 4909 4910
+4581 330 line 4910 4911
+4582 330 line 4911 4912
+4583 330 line 4912 4913
+4584 330 line 4913 4914
+4585 331 line 4915 4916
+4586 332 line 4917 4918
+4587 333 line 4919 4920
+4588 333 line 4920 4921
+4589 333 line 4921 4922
+4590 333 line 4922 4923
+4591 333 line 4923 4924
+4592 333 line 4924 4925
+4593 333 line 4925 4926
+4594 333 line 4926 4927
+4595 333 line 4927 4928
+4596 333 line 4928 4929
+4597 333 line 4929 4930
+4598 333 line 4930 4931
+4599 333 line 4931 4932
+4600 333 line 4932 4933
+4601 334 line 4934 4935
+4602 334 line 4935 4936
+4603 334 line 4936 4937
+4604 334 line 4937 4938
+4605 334 line 4938 4939
+4606 334 line 4939 4940
+4607 334 line 4940 4941
+4608 334 line 4941 4942
+4609 334 line 4942 4943
+4610 335 line 4944 4945
+4611 335 line 4945 4946
+4612 335 line 4946 4947
+4613 335 line 4947 4948
+4614 335 line 4948 4949
+4615 335 line 4949 4950
+4616 335 line 4950 4951
+4617 335 line 4951 4952
+4618 335 line 4952 4953
+4619 335 line 4953 4954
+4620 335 line 4954 4955
+4621 335 line 4955 4956
+4622 335 line 4956 4957
+4623 336 line 4958 4959
+4624 336 line 4959 4960
+4625 336 line 4960 4961
+4626 336 line 4961 4962
+4627 336 line 4962 4963
+4628 336 line 4963 4964
+4629 336 line 4964 4965
+4630 336 line 4965 4966
+4631 336 line 4966 4967
+4632 336 line 4967 4968
+4633 337 line 4969 4970
+4634 337 line 4970 4971
+4635 337 line 4971 4972
+4636 337 line 4972 4973
+4637 337 line 4973 4974
+4638 337 line 4974 4975
+4639 337 line 4975 4976
+4640 337 line 4976 4977
+4641 337 line 4977 4978
+4642 337 line 4978 4979
+4643 337 line 4979 4980
+4644 337 line 4980 4981
+4645 338 line 4982 4983
+4646 338 line 4983 4984
+4647 338 line 4984 4985
+4648 338 line 4985 4986
+4649 338 line 4986 4987
+4650 338 line 4987 4988
+4651 338 line 4988 4989
+4652 338 line 4989 4990
+4653 338 line 4990 4991
+4654 338 line 4991 4992
+4655 339 line 4993 4994
+4656 340 line 4995 4996
+4657 340 line 4996 4997
+4658 340 line 4997 4998
+4659 340 line 4998 4999
+4660 340 line 4999 5000
+4661 340 line 5000 5001
+4662 340 line 5001 5002
+4663 340 line 5002 5003
+4664 340 line 5003 5004
+4665 340 line 5004 5005
+4666 340 line 5005 5006
+4667 340 line 5006 5007
+4668 340 line 5007 5008
+4669 340 line 5008 5009
+4670 340 line 5009 5010
+4671 340 line 5010 5011
+4672 340 line 5011 5012
+4673 340 line 5012 5013
+4674 340 line 5013 5014
+4675 340 line 5014 5015
+4676 340 line 5015 5016
+4677 340 line 5016 5017
+4678 340 line 5017 5018
+4679 340 line 5018 5019
+4680 340 line 5019 5020
+4681 340 line 5020 5021
+4682 340 line 5021 5022
+4683 340 line 5022 5023
+4684 340 line 5023 5024
+4685 340 line 5024 5025
+4686 340 line 5025 5026
+4687 340 line 5026 5027
+4688 340 line 5027 5028
+4689 340 line 5028 5029
+4690 340 line 5029 5030
+4691 340 line 5030 5031
+4692 340 line 5031 5032
+4693 340 line 5032 5033
+4694 340 line 5033 5034
+4695 340 line 5034 5035
+4696 340 line 5035 5036
+4697 340 line 5036 5037
+4698 340 line 5037 5038
+4699 340 line 5038 5039
+4700 341 line 5040 5041
+4701 341 line 5041 5042
+4702 341 line 5042 5043
+4703 341 line 5043 5044
+4704 341 line 5044 5045
+4705 341 line 5045 5046
+4706 341 line 5046 5047
+4707 341 line 5047 5048
+4708 341 line 5048 5049
+4709 341 line 5049 5050
+4710 341 line 5050 5051
+4711 341 line 5051 5052
+4712 341 line 5052 5053
+4713 341 line 5053 5054
+4714 341 line 5054 5055
+4715 341 line 5055 5056
+4716 341 line 5056 5057
+4717 341 line 5057 5058
+4718 341 line 5058 5059
+4719 341 line 5059 5060
+4720 341 line 5060 5061
+4721 341 line 5061 5062
+4722 341 line 5062 5063
+4723 342 line 5064 5065
+4724 342 line 5065 5066
+4725 342 line 5066 5067
+4726 342 line 5067 5068
+4727 342 line 5068 5069
+4728 342 line 5069 5070
+4729 342 line 5070 5071
+4730 342 line 5071 5072
+4731 342 line 5072 5073
+4732 342 line 5073 5074
+4733 342 line 5074 5075
+4734 342 line 5075 5076
+4735 342 line 5076 5077
+4736 342 line 5077 5078
+4737 342 line 5078 5079
+4738 342 line 5079 5080
+4739 342 line 5080 5081
+4740 342 line 5081 5082
+4741 343 line 5083 5084
+4742 343 line 5084 5085
+4743 343 line 5085 5086
+4744 344 line 5087 5088
+4745 344 line 5088 5089
+4746 345 line 5090 5091
+4747 346 line 5092 5093
+4748 346 line 5093 5094
+4749 346 line 5094 5095
+4750 346 line 5095 5096
+4751 347 line 5097 5098
+4752 347 line 5098 5099
+4753 347 line 5099 5100
+4754 348 line 5101 5102
+4755 348 line 5102 5103
+4756 348 line 5103 5104
+4757 349 line 5105 5106
+4758 349 line 5106 5107
+4759 349 line 5107 5108
+4760 350 line 5109 5110
+4761 350 line 5110 5111
+4762 351 line 5112 5113
+4763 351 line 5113 5114
+4764 352 line 5115 5116
+4765 352 line 5116 5117
+4766 353 line 5118 5119
+4767 353 line 5119 5120
+4768 353 line 5120 5121
+4769 353 line 5121 5122
+4770 353 line 5122 5123
+4771 353 line 5123 5124
+4772 353 line 5124 5125
+4773 353 line 5125 5126
+4774 353 line 5126 5127
+4775 353 line 5127 5128
+4776 353 line 5128 5129
+4777 353 line 5129 5130
+4778 353 line 5130 5131
+4779 353 line 5131 5132
+4780 353 line 5132 5133
+4781 353 line 5133 5134
+4782 353 line 5134 5135
+4783 353 line 5135 5136
+4784 353 line 5136 5137
+4785 353 line 5137 5138
+4786 353 line 5138 5139
+4787 354 line 5140 5141
+4788 354 line 5141 5142
+4789 354 line 5142 5143
+4790 354 line 5143 5144
+4791 355 line 5145 5146
+4792 355 line 5146 5147
+4793 355 line 5147 5148
+4794 355 line 5148 5149
+4795 355 line 5149 5150
+4796 355 line 5150 5151
+4797 355 line 5151 5152
+4798 355 line 5152 5153
+4799 355 line 5153 5154
+4800 356 line 5155 5156
+4801 356 line 5156 5157
+4802 356 line 5157 5158
+4803 356 line 5158 5159
+4804 356 line 5159 5160
+4805 357 line 5161 5162
+4806 357 line 5162 5163
+4807 357 line 5163 5164
+4808 357 line 5164 5165
+4809 357 line 5165 5166
+4810 357 line 5166 5167
+4811 357 line 5167 5168
+4812 357 line 5168 5169
+4813 357 line 5169 5170
+4814 357 line 5170 5171
+4815 357 line 5171 5172
+4816 357 line 5172 5173
+4817 357 line 5173 5174
+4818 357 line 5174 5175
+4819 358 line 5176 5177
+4820 358 line 5177 5178
+4821 358 line 5178 5179
+4822 358 line 5179 5180
+4823 358 line 5180 5181
+4824 358 line 5181 5182
+4825 358 line 5182 5183
+4826 359 line 5184 5185
+4827 359 line 5185 5186
+4828 359 line 5186 5187
+4829 359 line 5187 5188
+4830 359 line 5188 5189
+4831 359 line 5189 5190
+4832 359 line 5190 5191
+4833 359 line 5191 5192
+4834 359 line 5192 5193
+4835 359 line 5193 5194
+4836 359 line 5194 5195
+4837 360 line 5196 5197
+4838 360 line 5197 5198
+4839 361 line 5199 5200
+4840 361 line 5200 5201
+4841 362 line 5202 5203
+4842 362 line 5203 5204
+4843 362 line 5204 5205
+4844 362 line 5205 5206
+4845 362 line 5206 5207
+4846 363 line 5208 5209
+4847 363 line 5209 5210
+4848 364 line 5211 5212
+4849 364 line 5212 5213
+4850 364 line 5213 5214
+4851 364 line 5214 5215
+4852 364 line 5215 5216
+4853 364 line 5216 5217
+4854 364 line 5217 5218
+4855 365 line 5219 5220
+4856 365 line 5220 5221
+4857 365 line 5221 5222
+4858 365 line 5222 5223
+4859 365 line 5223 5224
+4860 365 line 5224 5225
+4861 365 line 5225 5226
+4862 365 line 5226 5227
+4863 365 line 5227 5228
+ 1 1
+ Zcoord, meters
+1 255.
+2 255.
+3 255.
+4 255.
+5 255.
+6 255.
+7 255.
+8 255.
+9 255.
+10 255.
+11 255.
+12 255.
+13 255.
+14 255.
+15 255.
+16 255.
+17 255.
+18 255.
+19 255.
+20 255.
+21 255.
+22 255.
+23 255.
+24 255.
+25 255.
+26 255.
+27 255.
+28 255.
+29 255.
+30 255.
+31 255.
+32 255.
+33 255.
+34 255.
+35 255.
+36 255.
+37 255.
+38 255.
+39 255.
+40 255.
+41 255.
+42 255.
+43 255.
+44 255.
+45 255.
+46 255.
+47 255.
+48 255.
+49 255.
+50 255.
+51 255.
+52 255.
+53 255.
+54 255.
+55 255.
+56 255.
+57 255.
+58 255.
+59 255.
+60 255.
+61 255.
+62 255.
+63 255.
+64 255.
+65 255.
+66 255.
+67 255.
+68 255.
+69 255.
+70 255.
+71 255.
+72 255.
+73 255.
+74 255.
+75 255.
+76 255.
+77 255.
+78 255.
+79 255.
+80 255.
+81 255.
+82 255.
+83 255.
+84 255.
+85 255.
+86 255.
+87 255.
+88 255.
+89 255.
+90 255.
+91 255.
+92 255.
+93 255.
+94 255.
+95 255.
+96 255.
+97 255.
+98 255.
+99 255.
+100 255.
+101 255.
+102 255.
+103 255.
+104 255.
+105 255.
+106 255.
+107 255.
+108 255.
+109 255.
+110 255.
+111 255.
+112 255.
+113 255.
+114 255.
+115 255.
+116 255.
+117 255.
+118 255.
+119 255.
+120 255.
+121 255.
+122 255.
+123 255.
+124 255.
+125 255.
+126 255.
+127 255.
+128 255.
+129 255.
+130 255.
+131 255.
+132 255.
+133 255.
+134 255.
+135 255.
+136 255.
+137 255.
+138 255.
+139 255.
+140 255.
+141 255.
+142 255.
+143 255.
+144 255.
+145 255.
+146 255.
+147 255.
+148 255.
+149 255.
+150 255.
+151 255.
+152 255.
+153 255.
+154 255.
+155 255.
+156 255.
+157 255.
+158 255.
+159 255.
+160 255.
+161 255.
+162 255.
+163 255.
+164 255.
+165 255.
+166 255.
+167 255.
+168 255.
+169 255.
+170 255.
+171 255.
+172 255.
+173 255.
+174 255.
+175 255.
+176 255.
+177 255.
+178 255.
+179 255.
+180 255.
+181 255.
+182 255.
+183 255.
+184 255.
+185 255.
+186 255.
+187 255.
+188 255.
+189 255.
+190 255.
+191 255.
+192 255.
+193 255.
+194 255.
+195 255.
+196 255.
+197 255.
+198 255.
+199 255.
+200 255.
+201 255.
+202 255.
+203 255.
+204 255.
+205 255.
+206 255.
+207 255.
+208 255.
+209 255.
+210 255.
+211 255.
+212 255.
+213 255.
+214 255.
+215 255.
+216 255.
+217 255.
+218 255.
+219 255.
+220 255.
+221 255.
+222 255.
+223 255.
+224 255.
+225 255.
+226 255.
+227 255.
+228 255.
+229 255.
+230 255.
+231 255.
+232 255.
+233 255.
+234 255.
+235 255.
+236 255.
+237 255.
+238 255.
+239 255.
+240 255.
+241 255.
+242 255.
+243 255.
+244 255.
+245 255.
+246 255.
+247 255.
+248 255.
+249 255.
+250 255.
+251 255.
+252 255.
+253 255.
+254 255.
+255 255.
+256 255.
+257 255.
+258 255.
+259 255.
+260 255.
+261 255.
+262 255.
+263 255.
+264 255.
+265 255.
+266 255.
+267 255.
+268 255.
+269 255.
+270 255.
+271 255.
+272 255.
+273 255.
+274 255.
+275 255.
+276 255.
+277 255.
+278 255.
+279 255.
+280 255.
+281 255.
+282 255.
+283 255.
+284 255.
+285 255.
+286 255.
+287 255.
+288 255.
+289 255.
+290 255.
+291 255.
+292 255.
+293 255.
+294 255.
+295 255.
+296 255.
+297 255.
+298 255.
+299 255.
+300 255.
+301 255.
+302 255.
+303 255.
+304 255.
+305 255.
+306 255.
+307 255.
+308 255.
+309 255.
+310 255.
+311 255.
+312 255.
+313 255.
+314 255.
+315 255.
+316 255.
+317 255.
+318 255.
+319 255.
+320 255.
+321 255.
+322 255.
+323 255.
+324 255.
+325 255.
+326 255.
+327 255.
+328 255.
+329 255.
+330 255.
+331 255.
+332 255.
+333 255.
+334 255.
+335 255.
+336 255.
+337 255.
+338 255.
+339 255.
+340 255.
+341 255.
+342 255.
+343 255.
+344 255.
+345 255.
+346 255.
+347 255.
+348 255.
+349 255.
+350 255.
+351 255.
+352 255.
+353 255.
+354 255.
+355 255.
+356 255.
+357 255.
+358 255.
+359 255.
+360 255.
+361 255.
+362 255.
+363 255.
+364 255.
+365 255.
+366 255.
+367 255.
+368 255.
+369 255.
+370 255.
+371 255.
+372 255.
+373 255.
+374 255.
+375 255.
+376 255.
+377 255.
+378 255.
+379 255.
+380 255.
+381 255.
+382 255.
+383 255.
+384 255.
+385 255.
+386 255.
+387 255.
+388 255.
+389 255.
+390 255.
+391 255.
+392 255.
+393 255.
+394 255.
+395 255.
+396 255.
+397 255.
+398 255.
+399 255.
+400 255.
+401 255.
+402 255.
+403 255.
+404 255.
+405 255.
+406 255.
+407 255.
+408 255.
+409 255.
+410 255.
+411 255.
+412 255.
+413 255.
+414 255.
+415 255.
+416 255.
+417 255.
+418 255.
+419 255.
+420 255.
+421 255.
+422 255.
+423 255.
+424 255.
+425 255.
+426 255.
+427 255.
+428 255.
+429 255.
+430 255.
+431 255.
+432 255.
+433 255.
+434 255.
+435 255.
+436 255.
+437 255.
+438 255.
+439 255.
+440 255.
+441 255.
+442 255.
+443 255.
+444 255.
+445 255.
+446 255.
+447 255.
+448 255.
+449 255.
+450 255.
+451 255.
+452 255.
+453 255.
+454 255.
+455 255.
+456 255.
+457 255.
+458 255.
+459 255.
+460 255.
+461 255.
+462 255.
+463 255.
+464 255.
+465 255.
+466 255.
+467 255.
+468 255.
+469 255.
+470 255.
+471 255.
+472 255.
+473 255.
+474 255.
+475 255.
+476 255.
+477 255.
+478 255.
+479 255.
+480 255.
+481 255.
+482 255.
+483 255.
+484 255.
+485 255.
+486 255.
+487 255.
+488 255.
+489 255.
+490 255.
+491 255.
+492 255.
+493 255.
+494 255.
+495 255.
+496 255.
+497 255.
+498 255.
+499 255.
+500 255.
+501 255.
+502 255.
+503 255.
+504 255.
+505 255.
+506 255.
+507 255.
+508 255.
+509 255.
+510 255.
+511 255.
+512 255.
+513 255.
+514 255.
+515 255.
+516 255.
+517 255.
+518 255.
+519 255.
+520 255.
+521 255.
+522 255.
+523 255.
+524 255.
+525 255.
+526 255.
+527 255.
+528 255.
+529 255.
+530 255.
+531 255.
+532 255.
+533 255.
+534 255.
+535 255.
+536 255.
+537 255.
+538 255.
+539 255.
+540 255.
+541 255.
+542 255.
+543 255.
+544 255.
+545 255.
+546 255.
+547 255.
+548 255.
+549 255.
+550 255.
+551 255.
+552 255.
+553 255.
+554 255.
+555 255.
+556 255.
+557 255.
+558 255.
+559 255.
+560 255.
+561 255.
+562 255.
+563 255.
+564 255.
+565 255.
+566 255.
+567 255.
+568 255.
+569 255.
+570 255.
+571 255.
+572 255.
+573 255.
+574 255.
+575 255.
+576 255.
+577 255.
+578 255.
+579 255.
+580 255.
+581 255.
+582 255.
+583 255.
+584 255.
+585 255.
+586 255.
+587 255.
+588 255.
+589 255.
+590 255.
+591 255.
+592 255.
+593 255.
+594 255.
+595 255.
+596 255.
+597 255.
+598 255.
+599 255.
+600 255.
+601 255.
+602 255.
+603 255.
+604 255.
+605 255.
+606 255.
+607 255.
+608 255.
+609 255.
+610 255.
+611 255.
+612 255.
+613 255.
+614 255.
+615 255.
+616 255.
+617 255.
+618 255.
+619 255.
+620 255.
+621 255.
+622 255.
+623 255.
+624 255.
+625 255.
+626 255.
+627 255.
+628 255.
+629 255.
+630 255.
+631 255.
+632 255.
+633 255.
+634 255.
+635 255.
+636 255.
+637 255.
+638 255.
+639 255.
+640 255.
+641 255.
+642 255.
+643 255.
+644 255.
+645 255.
+646 255.
+647 255.
+648 255.
+649 255.
+650 255.
+651 255.
+652 255.
+653 255.
+654 255.
+655 255.
+656 255.
+657 255.
+658 255.
+659 255.
+660 255.
+661 255.
+662 255.
+663 255.
+664 255.
+665 255.
+666 255.
+667 255.
+668 255.
+669 255.
+670 255.
+671 255.
+672 255.
+673 255.
+674 255.
+675 255.
+676 255.
+677 255.
+678 255.
+679 255.
+680 255.
+681 255.
+682 255.
+683 255.
+684 255.
+685 255.
+686 255.
+687 255.
+688 255.
+689 255.
+690 255.
+691 255.
+692 255.
+693 255.
+694 255.
+695 255.
+696 255.
+697 255.
+698 255.
+699 255.
+700 255.
+701 255.
+702 255.
+703 255.
+704 255.
+705 255.
+706 255.
+707 255.
+708 255.
+709 255.
+710 255.
+711 255.
+712 255.
+713 255.
+714 255.
+715 255.
+716 255.
+717 255.
+718 255.
+719 255.
+720 255.
+721 255.
+722 255.
+723 255.
+724 255.
+725 255.
+726 255.
+727 255.
+728 255.
+729 255.
+730 255.
+731 255.
+732 255.
+733 255.
+734 255.
+735 255.
+736 255.
+737 255.
+738 255.
+739 255.
+740 255.
+741 255.
+742 255.
+743 255.
+744 255.
+745 255.
+746 255.
+747 255.
+748 255.
+749 255.
+750 255.
+751 255.
+752 255.
+753 255.
+754 255.
+755 255.
+756 255.
+757 255.
+758 255.
+759 255.
+760 255.
+761 255.
+762 255.
+763 255.
+764 255.
+765 255.
+766 255.
+767 255.
+768 255.
+769 255.
+770 255.
+771 255.
+772 255.
+773 255.
+774 255.
+775 255.
+776 255.
+777 255.
+778 255.
+779 255.
+780 255.
+781 255.
+782 255.
+783 255.
+784 255.
+785 255.
+786 255.
+787 255.
+788 255.
+789 255.
+790 255.
+791 255.
+792 255.
+793 255.
+794 255.
+795 255.
+796 255.
+797 255.
+798 255.
+799 255.
+800 255.
+801 255.
+802 255.
+803 255.
+804 255.
+805 255.
+806 255.
+807 255.
+808 255.
+809 255.
+810 255.
+811 255.
+812 255.
+813 255.
+814 255.
+815 255.
+816 255.
+817 255.
+818 255.
+819 255.
+820 255.
+821 255.
+822 255.
+823 255.
+824 255.
+825 255.
+826 255.
+827 255.
+828 255.
+829 255.
+830 255.
+831 255.
+832 255.
+833 255.
+834 255.
+835 255.
+836 255.
+837 255.
+838 255.
+839 255.
+840 255.
+841 255.
+842 255.
+843 255.
+844 255.
+845 255.
+846 255.
+847 255.
+848 255.
+849 255.
+850 255.
+851 255.
+852 255.
+853 255.
+854 255.
+855 255.
+856 255.
+857 255.
+858 255.
+859 255.
+860 255.
+861 255.
+862 255.
+863 255.
+864 255.
+865 255.
+866 255.
+867 255.
+868 255.
+869 255.
+870 255.
+871 255.
+872 255.
+873 255.
+874 255.
+875 255.
+876 255.
+877 255.
+878 255.
+879 255.
+880 255.
+881 255.
+882 255.
+883 255.
+884 255.
+885 255.
+886 255.
+887 255.
+888 255.
+889 255.
+890 255.
+891 255.
+892 255.
+893 255.
+894 255.
+895 255.
+896 255.
+897 255.
+898 255.
+899 255.
+900 255.
+901 255.
+902 255.
+903 255.
+904 255.
+905 255.
+906 255.
+907 255.
+908 255.
+909 255.
+910 255.
+911 255.
+912 255.
+913 255.
+914 255.
+915 255.
+916 255.
+917 255.
+918 255.
+919 255.
+920 255.
+921 255.
+922 255.
+923 255.
+924 255.
+925 255.
+926 255.
+927 255.
+928 255.
+929 255.
+930 255.
+931 255.
+932 255.
+933 255.
+934 255.
+935 255.
+936 255.
+937 255.
+938 255.
+939 255.
+940 255.
+941 255.
+942 255.
+943 255.
+944 255.
+945 255.
+946 255.
+947 255.
+948 255.
+949 255.
+950 255.
+951 255.
+952 255.
+953 255.
+954 255.
+955 255.
+956 255.
+957 255.
+958 255.
+959 255.
+960 255.
+961 255.
+962 255.
+963 255.
+964 255.
+965 255.
+966 255.
+967 255.
+968 255.
+969 255.
+970 255.
+971 255.
+972 255.
+973 255.
+974 255.
+975 255.
+976 255.
+977 255.
+978 255.
+979 255.
+980 255.
+981 255.
+982 255.
+983 255.
+984 255.
+985 255.
+986 255.
+987 255.
+988 255.
+989 255.
+990 255.
+991 255.
+992 255.
+993 255.
+994 255.
+995 255.
+996 255.
+997 255.
+998 255.
+999 255.
+1000 255.
+1001 255.
+1002 255.
+1003 255.
+1004 255.
+1005 255.
+1006 255.
+1007 255.
+1008 255.
+1009 255.
+1010 255.
+1011 255.
+1012 255.
+1013 255.
+1014 255.
+1015 255.
+1016 255.
+1017 255.
+1018 255.
+1019 255.
+1020 255.
+1021 255.
+1022 255.
+1023 255.
+1024 255.
+1025 255.
+1026 255.
+1027 255.
+1028 255.
+1029 255.
+1030 255.
+1031 255.
+1032 255.
+1033 255.
+1034 255.
+1035 255.
+1036 255.
+1037 255.
+1038 255.
+1039 255.
+1040 255.
+1041 255.
+1042 255.
+1043 255.
+1044 255.
+1045 255.
+1046 255.
+1047 255.
+1048 255.
+1049 255.
+1050 255.
+1051 255.
+1052 255.
+1053 255.
+1054 255.
+1055 255.
+1056 255.
+1057 255.
+1058 255.
+1059 255.
+1060 255.
+1061 255.
+1062 255.
+1063 255.
+1064 255.
+1065 255.
+1066 255.
+1067 255.
+1068 255.
+1069 255.
+1070 255.
+1071 255.
+1072 255.
+1073 255.
+1074 255.
+1075 255.
+1076 255.
+1077 255.
+1078 255.
+1079 255.
+1080 255.
+1081 255.
+1082 255.
+1083 255.
+1084 255.
+1085 255.
+1086 255.
+1087 255.
+1088 255.
+1089 255.
+1090 255.
+1091 255.
+1092 255.
+1093 255.
+1094 255.
+1095 255.
+1096 255.
+1097 255.
+1098 255.
+1099 255.
+1100 255.
+1101 255.
+1102 255.
+1103 255.
+1104 255.
+1105 255.
+1106 255.
+1107 255.
+1108 255.
+1109 255.
+1110 255.
+1111 255.
+1112 255.
+1113 255.
+1114 255.
+1115 255.
+1116 255.
+1117 255.
+1118 255.
+1119 255.
+1120 255.
+1121 255.
+1122 255.
+1123 255.
+1124 255.
+1125 255.
+1126 255.
+1127 255.
+1128 255.
+1129 255.
+1130 255.
+1131 255.
+1132 255.
+1133 255.
+1134 255.
+1135 255.
+1136 255.
+1137 255.
+1138 255.
+1139 255.
+1140 255.
+1141 255.
+1142 255.
+1143 255.
+1144 255.
+1145 255.
+1146 255.
+1147 255.
+1148 255.
+1149 255.
+1150 255.
+1151 255.
+1152 255.
+1153 255.
+1154 255.
+1155 255.
+1156 255.
+1157 255.
+1158 255.
+1159 255.
+1160 255.
+1161 255.
+1162 255.
+1163 255.
+1164 255.
+1165 255.
+1166 255.
+1167 255.
+1168 255.
+1169 255.
+1170 255.
+1171 255.
+1172 255.
+1173 255.
+1174 255.
+1175 255.
+1176 255.
+1177 255.
+1178 255.
+1179 255.
+1180 255.
+1181 255.
+1182 255.
+1183 255.
+1184 255.
+1185 255.
+1186 255.
+1187 255.
+1188 255.
+1189 255.
+1190 255.
+1191 255.
+1192 255.
+1193 255.
+1194 255.
+1195 255.
+1196 255.
+1197 255.
+1198 255.
+1199 255.
+1200 255.
+1201 255.
+1202 255.
+1203 255.
+1204 255.
+1205 255.
+1206 255.
+1207 255.
+1208 255.
+1209 255.
+1210 255.
+1211 255.
+1212 255.
+1213 255.
+1214 255.
+1215 255.
+1216 255.
+1217 255.
+1218 255.
+1219 255.
+1220 255.
+1221 255.
+1222 255.
+1223 255.
+1224 255.
+1225 255.
+1226 255.
+1227 255.
+1228 255.
+1229 255.
+1230 255.
+1231 255.
+1232 255.
+1233 255.
+1234 255.
+1235 255.
+1236 255.
+1237 255.
+1238 255.
+1239 255.
+1240 255.
+1241 255.
+1242 255.
+1243 255.
+1244 255.
+1245 255.
+1246 255.
+1247 255.
+1248 255.
+1249 255.
+1250 255.
+1251 255.
+1252 255.
+1253 255.
+1254 255.
+1255 255.
+1256 255.
+1257 255.
+1258 255.
+1259 255.
+1260 255.
+1261 255.
+1262 255.
+1263 255.
+1264 255.
+1265 255.
+1266 255.
+1267 255.
+1268 255.
+1269 255.
+1270 255.
+1271 255.
+1272 255.
+1273 255.
+1274 255.
+1275 255.
+1276 255.
+1277 255.
+1278 255.
+1279 255.
+1280 255.
+1281 255.
+1282 255.
+1283 255.
+1284 255.
+1285 255.
+1286 255.
+1287 255.
+1288 255.
+1289 255.
+1290 255.
+1291 255.
+1292 255.
+1293 255.
+1294 255.
+1295 255.
+1296 255.
+1297 255.
+1298 255.
+1299 255.
+1300 255.
+1301 255.
+1302 255.
+1303 255.
+1304 255.
+1305 255.
+1306 255.
+1307 255.
+1308 255.
+1309 255.
+1310 255.
+1311 255.
+1312 255.
+1313 255.
+1314 255.
+1315 255.
+1316 255.
+1317 255.
+1318 255.
+1319 255.
+1320 255.
+1321 255.
+1322 255.
+1323 255.
+1324 255.
+1325 255.
+1326 255.
+1327 255.
+1328 255.
+1329 255.
+1330 255.
+1331 255.
+1332 255.
+1333 255.
+1334 255.
+1335 255.
+1336 255.
+1337 255.
+1338 255.
+1339 255.
+1340 255.
+1341 255.
+1342 255.
+1343 255.
+1344 255.
+1345 255.
+1346 255.
+1347 255.
+1348 255.
+1349 255.
+1350 255.
+1351 255.
+1352 255.
+1353 255.
+1354 255.
+1355 255.
+1356 255.
+1357 255.
+1358 255.
+1359 255.
+1360 255.
+1361 255.
+1362 255.
+1363 255.
+1364 255.
+1365 255.
+1366 255.
+1367 255.
+1368 255.
+1369 255.
+1370 255.
+1371 255.
+1372 255.
+1373 255.
+1374 255.
+1375 255.
+1376 255.
+1377 255.
+1378 255.
+1379 255.
+1380 255.
+1381 255.
+1382 255.
+1383 255.
+1384 255.
+1385 255.
+1386 255.
+1387 255.
+1388 255.
+1389 255.
+1390 255.
+1391 255.
+1392 255.
+1393 255.
+1394 255.
+1395 255.
+1396 255.
+1397 255.
+1398 255.
+1399 255.
+1400 255.
+1401 255.
+1402 255.
+1403 255.
+1404 255.
+1405 255.
+1406 255.
+1407 255.
+1408 255.
+1409 255.
+1410 255.
+1411 255.
+1412 255.
+1413 255.
+1414 255.
+1415 255.
+1416 255.
+1417 255.
+1418 255.
+1419 255.
+1420 255.
+1421 255.
+1422 255.
+1423 255.
+1424 255.
+1425 255.
+1426 255.
+1427 255.
+1428 255.
+1429 255.
+1430 255.
+1431 255.
+1432 255.
+1433 255.
+1434 255.
+1435 255.
+1436 255.
+1437 255.
+1438 255.
+1439 255.
+1440 255.
+1441 255.
+1442 255.
+1443 255.
+1444 255.
+1445 255.
+1446 255.
+1447 255.
+1448 255.
+1449 255.
+1450 255.
+1451 255.
+1452 255.
+1453 255.
+1454 255.
+1455 255.
+1456 255.
+1457 255.
+1458 255.
+1459 255.
+1460 255.
+1461 255.
+1462 255.
+1463 255.
+1464 255.
+1465 255.
+1466 255.
+1467 255.
+1468 255.
+1469 255.
+1470 255.
+1471 255.
+1472 255.
+1473 255.
+1474 255.
+1475 255.
+1476 255.
+1477 255.
+1478 255.
+1479 255.
+1480 255.
+1481 255.
+1482 255.
+1483 255.
+1484 255.
+1485 255.
+1486 255.
+1487 255.
+1488 255.
+1489 255.
+1490 255.
+1491 255.
+1492 255.
+1493 255.
+1494 255.
+1495 255.
+1496 255.
+1497 255.
+1498 255.
+1499 255.
+1500 255.
+1501 255.
+1502 255.
+1503 255.
+1504 255.
+1505 255.
+1506 255.
+1507 255.
+1508 255.
+1509 255.
+1510 255.
+1511 255.
+1512 255.
+1513 255.
+1514 255.
+1515 255.
+1516 255.
+1517 255.
+1518 255.
+1519 255.
+1520 255.
+1521 255.
+1522 255.
+1523 255.
+1524 255.
+1525 255.
+1526 255.
+1527 255.
+1528 255.
+1529 255.
+1530 255.
+1531 255.
+1532 255.
+1533 255.
+1534 255.
+1535 255.
+1536 255.
+1537 255.
+1538 255.
+1539 255.
+1540 255.
+1541 255.
+1542 255.
+1543 255.
+1544 255.
+1545 255.
+1546 255.
+1547 255.
+1548 255.
+1549 255.
+1550 255.
+1551 255.
+1552 255.
+1553 255.
+1554 255.
+1555 255.
+1556 255.
+1557 255.
+1558 255.
+1559 255.
+1560 255.
+1561 255.
+1562 255.
+1563 255.
+1564 255.
+1565 255.
+1566 255.
+1567 255.
+1568 255.
+1569 255.
+1570 255.
+1571 255.
+1572 255.
+1573 255.
+1574 255.
+1575 255.
+1576 255.
+1577 255.
+1578 255.
+1579 255.
+1580 255.
+1581 255.
+1582 255.
+1583 255.
+1584 255.
+1585 255.
+1586 255.
+1587 255.
+1588 255.
+1589 255.
+1590 255.
+1591 255.
+1592 255.
+1593 255.
+1594 255.
+1595 255.
+1596 255.
+1597 255.
+1598 255.
+1599 255.
+1600 255.
+1601 255.
+1602 255.
+1603 255.
+1604 255.
+1605 255.
+1606 255.
+1607 255.
+1608 255.
+1609 255.
+1610 255.
+1611 255.
+1612 255.
+1613 255.
+1614 255.
+1615 255.
+1616 255.
+1617 255.
+1618 255.
+1619 255.
+1620 255.
+1621 255.
+1622 255.
+1623 255.
+1624 255.
+1625 255.
+1626 255.
+1627 255.
+1628 255.
+1629 255.
+1630 255.
+1631 255.
+1632 255.
+1633 255.
+1634 255.
+1635 255.
+1636 255.
+1637 255.
+1638 255.
+1639 255.
+1640 255.
+1641 255.
+1642 255.
+1643 255.
+1644 255.
+1645 255.
+1646 255.
+1647 255.
+1648 255.
+1649 255.
+1650 255.
+1651 255.
+1652 255.
+1653 255.
+1654 255.
+1655 255.
+1656 255.
+1657 255.
+1658 255.
+1659 255.
+1660 255.
+1661 255.
+1662 255.
+1663 255.
+1664 255.
+1665 255.
+1666 255.
+1667 255.
+1668 255.
+1669 255.
+1670 255.
+1671 255.
+1672 255.
+1673 255.
+1674 255.
+1675 255.
+1676 255.
+1677 255.
+1678 255.
+1679 255.
+1680 255.
+1681 255.
+1682 255.
+1683 255.
+1684 255.
+1685 255.
+1686 255.
+1687 255.
+1688 255.
+1689 255.
+1690 255.
+1691 255.
+1692 255.
+1693 255.
+1694 255.
+1695 255.
+1696 255.
+1697 255.
+1698 255.
+1699 255.
+1700 255.
+1701 255.
+1702 255.
+1703 255.
+1704 255.
+1705 255.
+1706 255.
+1707 255.
+1708 255.
+1709 255.
+1710 255.
+1711 255.
+1712 255.
+1713 255.
+1714 255.
+1715 255.
+1716 255.
+1717 255.
+1718 255.
+1719 255.
+1720 255.
+1721 255.
+1722 255.
+1723 255.
+1724 255.
+1725 255.
+1726 255.
+1727 255.
+1728 255.
+1729 255.
+1730 255.
+1731 255.
+1732 255.
+1733 255.
+1734 255.
+1735 255.
+1736 255.
+1737 255.
+1738 255.
+1739 255.
+1740 255.
+1741 255.
+1742 255.
+1743 255.
+1744 255.
+1745 255.
+1746 255.
+1747 255.
+1748 255.
+1749 255.
+1750 255.
+1751 255.
+1752 255.
+1753 255.
+1754 255.
+1755 255.
+1756 255.
+1757 255.
+1758 255.
+1759 255.
+1760 255.
+1761 255.
+1762 255.
+1763 255.
+1764 255.
+1765 255.
+1766 255.
+1767 255.
+1768 255.
+1769 255.
+1770 255.
+1771 255.
+1772 255.
+1773 255.
+1774 255.
+1775 255.
+1776 255.
+1777 255.
+1778 255.
+1779 255.
+1780 255.
+1781 255.
+1782 255.
+1783 255.
+1784 255.
+1785 255.
+1786 255.
+1787 255.
+1788 255.
+1789 255.
+1790 255.
+1791 255.
+1792 255.
+1793 255.
+1794 255.
+1795 255.
+1796 255.
+1797 255.
+1798 255.
+1799 255.
+1800 255.
+1801 255.
+1802 255.
+1803 255.
+1804 255.
+1805 255.
+1806 255.
+1807 255.
+1808 255.
+1809 255.
+1810 255.
+1811 255.
+1812 255.
+1813 255.
+1814 255.
+1815 255.
+1816 255.
+1817 255.
+1818 255.
+1819 255.
+1820 255.
+1821 255.
+1822 255.
+1823 255.
+1824 255.
+1825 255.
+1826 255.
+1827 255.
+1828 255.
+1829 255.
+1830 255.
+1831 255.
+1832 255.
+1833 255.
+1834 255.
+1835 255.
+1836 255.
+1837 255.
+1838 255.
+1839 255.
+1840 255.
+1841 255.
+1842 255.
+1843 255.
+1844 255.
+1845 255.
+1846 255.
+1847 255.
+1848 255.
+1849 255.
+1850 255.
+1851 255.
+1852 255.
+1853 255.
+1854 255.
+1855 255.
+1856 255.
+1857 255.
+1858 255.
+1859 255.
+1860 255.
+1861 255.
+1862 255.
+1863 255.
+1864 255.
+1865 255.
+1866 255.
+1867 255.
+1868 255.
+1869 255.
+1870 255.
+1871 255.
+1872 255.
+1873 255.
+1874 255.
+1875 255.
+1876 255.
+1877 255.
+1878 255.
+1879 255.
+1880 255.
+1881 255.
+1882 255.
+1883 255.
+1884 255.
+1885 255.
+1886 255.
+1887 255.
+1888 255.
+1889 255.
+1890 255.
+1891 255.
+1892 255.
+1893 255.
+1894 255.
+1895 255.
+1896 255.
+1897 255.
+1898 255.
+1899 255.
+1900 255.
+1901 255.
+1902 255.
+1903 255.
+1904 255.
+1905 255.
+1906 255.
+1907 255.
+1908 255.
+1909 255.
+1910 255.
+1911 255.
+1912 255.
+1913 255.
+1914 255.
+1915 255.
+1916 255.
+1917 255.
+1918 255.
+1919 255.
+1920 255.
+1921 255.
+1922 255.
+1923 255.
+1924 255.
+1925 255.
+1926 255.
+1927 255.
+1928 255.
+1929 255.
+1930 255.
+1931 255.
+1932 255.
+1933 255.
+1934 255.
+1935 255.
+1936 255.
+1937 255.
+1938 255.
+1939 255.
+1940 255.
+1941 255.
+1942 255.
+1943 255.
+1944 255.
+1945 255.
+1946 255.
+1947 255.
+1948 255.
+1949 255.
+1950 255.
+1951 255.
+1952 255.
+1953 255.
+1954 255.
+1955 255.
+1956 255.
+1957 255.
+1958 255.
+1959 255.
+1960 255.
+1961 255.
+1962 255.
+1963 255.
+1964 255.
+1965 255.
+1966 255.
+1967 255.
+1968 255.
+1969 255.
+1970 255.
+1971 255.
+1972 255.
+1973 255.
+1974 255.
+1975 255.
+1976 255.
+1977 255.
+1978 255.
+1979 255.
+1980 255.
+1981 255.
+1982 255.
+1983 255.
+1984 255.
+1985 255.
+1986 255.
+1987 255.
+1988 255.
+1989 255.
+1990 255.
+1991 255.
+1992 255.
+1993 255.
+1994 255.
+1995 255.
+1996 255.
+1997 255.
+1998 255.
+1999 255.
+2000 255.
+2001 255.
+2002 255.
+2003 255.
+2004 255.
+2005 255.
+2006 255.
+2007 255.
+2008 255.
+2009 255.
+2010 255.
+2011 255.
+2012 255.
+2013 255.
+2014 255.
+2015 255.
+2016 255.
+2017 255.
+2018 255.
+2019 255.
+2020 255.
+2021 255.
+2022 255.
+2023 255.
+2024 255.
+2025 255.
+2026 255.
+2027 255.
+2028 255.
+2029 255.
+2030 255.
+2031 255.
+2032 255.
+2033 255.
+2034 255.
+2035 255.
+2036 255.
+2037 255.
+2038 255.
+2039 255.
+2040 255.
+2041 255.
+2042 255.
+2043 255.
+2044 255.
+2045 255.
+2046 255.
+2047 255.
+2048 255.
+2049 255.
+2050 255.
+2051 255.
+2052 255.
+2053 255.
+2054 255.
+2055 255.
+2056 255.
+2057 255.
+2058 255.
+2059 255.
+2060 255.
+2061 255.
+2062 255.
+2063 255.
+2064 255.
+2065 255.
+2066 255.
+2067 255.
+2068 255.
+2069 255.
+2070 255.
+2071 255.
+2072 255.
+2073 255.
+2074 255.
+2075 255.
+2076 255.
+2077 255.
+2078 255.
+2079 255.
+2080 255.
+2081 255.
+2082 255.
+2083 255.
+2084 255.
+2085 255.
+2086 255.
+2087 255.
+2088 255.
+2089 255.
+2090 255.
+2091 255.
+2092 255.
+2093 255.
+2094 255.
+2095 255.
+2096 255.
+2097 255.
+2098 255.
+2099 255.
+2100 255.
+2101 255.
+2102 255.
+2103 255.
+2104 255.
+2105 255.
+2106 255.
+2107 255.
+2108 255.
+2109 255.
+2110 255.
+2111 255.
+2112 255.
+2113 255.
+2114 255.
+2115 255.
+2116 255.
+2117 255.
+2118 255.
+2119 255.
+2120 255.
+2121 255.
+2122 255.
+2123 255.
+2124 255.
+2125 255.
+2126 255.
+2127 255.
+2128 255.
+2129 255.
+2130 255.
+2131 255.
+2132 255.
+2133 255.
+2134 255.
+2135 255.
+2136 255.
+2137 255.
+2138 255.
+2139 255.
+2140 255.
+2141 255.
+2142 255.
+2143 255.
+2144 255.
+2145 255.
+2146 255.
+2147 255.
+2148 255.
+2149 255.
+2150 255.
+2151 255.
+2152 255.
+2153 255.
+2154 255.
+2155 255.
+2156 255.
+2157 255.
+2158 255.
+2159 255.
+2160 255.
+2161 255.
+2162 255.
+2163 255.
+2164 255.
+2165 255.
+2166 255.
+2167 255.
+2168 255.
+2169 255.
+2170 255.
+2171 255.
+2172 255.
+2173 255.
+2174 255.
+2175 255.
+2176 255.
+2177 255.
+2178 255.
+2179 255.
+2180 255.
+2181 255.
+2182 255.
+2183 255.
+2184 255.
+2185 255.
+2186 255.
+2187 255.
+2188 255.
+2189 255.
+2190 255.
+2191 255.
+2192 255.
+2193 255.
+2194 255.
+2195 255.
+2196 255.
+2197 255.
+2198 255.
+2199 255.
+2200 255.
+2201 255.
+2202 255.
+2203 255.
+2204 255.
+2205 255.
+2206 255.
+2207 255.
+2208 255.
+2209 255.
+2210 255.
+2211 255.
+2212 255.
+2213 255.
+2214 255.
+2215 255.
+2216 255.
+2217 255.
+2218 255.
+2219 255.
+2220 255.
+2221 255.
+2222 255.
+2223 255.
+2224 255.
+2225 255.
+2226 255.
+2227 255.
+2228 255.
+2229 255.
+2230 255.
+2231 255.
+2232 255.
+2233 255.
+2234 255.
+2235 255.
+2236 255.
+2237 255.
+2238 255.
+2239 255.
+2240 255.
+2241 255.
+2242 255.
+2243 255.
+2244 255.
+2245 255.
+2246 255.
+2247 255.
+2248 255.
+2249 255.
+2250 255.
+2251 255.
+2252 255.
+2253 255.
+2254 255.
+2255 255.
+2256 255.
+2257 255.
+2258 255.
+2259 255.
+2260 255.
+2261 255.
+2262 255.
+2263 255.
+2264 255.
+2265 255.
+2266 255.
+2267 255.
+2268 255.
+2269 255.
+2270 255.
+2271 255.
+2272 255.
+2273 255.
+2274 255.
+2275 255.
+2276 255.
+2277 255.
+2278 255.
+2279 255.
+2280 255.
+2281 255.
+2282 255.
+2283 255.
+2284 255.
+2285 255.
+2286 255.
+2287 255.
+2288 255.
+2289 255.
+2290 255.
+2291 255.
+2292 255.
+2293 255.
+2294 255.
+2295 255.
+2296 255.
+2297 255.
+2298 255.
+2299 255.
+2300 255.
+2301 255.
+2302 255.
+2303 255.
+2304 255.
+2305 255.
+2306 255.
+2307 255.
+2308 255.
+2309 255.
+2310 255.
+2311 255.
+2312 255.
+2313 255.
+2314 255.
+2315 255.
+2316 255.
+2317 255.
+2318 255.
+2319 255.
+2320 255.
+2321 255.
+2322 255.
+2323 255.
+2324 255.
+2325 255.
+2326 255.
+2327 255.
+2328 255.
+2329 255.
+2330 255.
+2331 255.
+2332 255.
+2333 255.
+2334 255.
+2335 255.
+2336 255.
+2337 255.
+2338 255.
+2339 255.
+2340 255.
+2341 255.
+2342 255.
+2343 255.
+2344 255.
+2345 255.
+2346 255.
+2347 255.
+2348 255.
+2349 255.
+2350 255.
+2351 255.
+2352 255.
+2353 255.
+2354 255.
+2355 255.
+2356 255.
+2357 255.
+2358 255.
+2359 255.
+2360 255.
+2361 255.
+2362 255.
+2363 255.
+2364 255.
+2365 255.
+2366 255.
+2367 255.
+2368 255.
+2369 255.
+2370 255.
+2371 255.
+2372 255.
+2373 255.
+2374 255.
+2375 255.
+2376 255.
+2377 255.
+2378 255.
+2379 255.
+2380 255.
+2381 255.
+2382 255.
+2383 255.
+2384 255.
+2385 255.
+2386 255.
+2387 255.
+2388 255.
+2389 255.
+2390 255.
+2391 255.
+2392 255.
+2393 255.
+2394 255.
+2395 255.
+2396 255.
+2397 255.
+2398 255.
+2399 255.
+2400 255.
+2401 255.
+2402 255.
+2403 255.
+2404 255.
+2405 255.
+2406 255.
+2407 255.
+2408 255.
+2409 255.
+2410 255.
+2411 255.
+2412 255.
+2413 255.
+2414 255.
+2415 255.
+2416 255.
+2417 255.
+2418 255.
+2419 255.
+2420 255.
+2421 255.
+2422 255.
+2423 255.
+2424 255.
+2425 255.
+2426 255.
+2427 255.
+2428 255.
+2429 255.
+2430 255.
+2431 255.
+2432 255.
+2433 255.
+2434 255.
+2435 255.
+2436 255.
+2437 255.
+2438 255.
+2439 255.
+2440 255.
+2441 255.
+2442 255.
+2443 255.
+2444 255.
+2445 255.
+2446 255.
+2447 255.
+2448 255.
+2449 255.
+2450 255.
+2451 255.
+2452 255.
+2453 255.
+2454 255.
+2455 255.
+2456 255.
+2457 255.
+2458 255.
+2459 255.
+2460 255.
+2461 255.
+2462 255.
+2463 255.
+2464 255.
+2465 255.
+2466 255.
+2467 255.
+2468 255.
+2469 255.
+2470 255.
+2471 255.
+2472 255.
+2473 255.
+2474 255.
+2475 255.
+2476 255.
+2477 255.
+2478 255.
+2479 255.
+2480 255.
+2481 255.
+2482 255.
+2483 255.
+2484 255.
+2485 255.
+2486 255.
+2487 255.
+2488 255.
+2489 255.
+2490 255.
+2491 255.
+2492 255.
+2493 255.
+2494 255.
+2495 255.
+2496 255.
+2497 255.
+2498 255.
+2499 255.
+2500 255.
+2501 255.
+2502 255.
+2503 255.
+2504 255.
+2505 255.
+2506 255.
+2507 255.
+2508 255.
+2509 255.
+2510 255.
+2511 255.
+2512 255.
+2513 255.
+2514 255.
+2515 255.
+2516 255.
+2517 255.
+2518 255.
+2519 255.
+2520 255.
+2521 255.
+2522 255.
+2523 255.
+2524 255.
+2525 255.
+2526 255.
+2527 255.
+2528 255.
+2529 255.
+2530 255.
+2531 255.
+2532 255.
+2533 255.
+2534 255.
+2535 255.
+2536 255.
+2537 255.
+2538 255.
+2539 255.
+2540 255.
+2541 255.
+2542 255.
+2543 255.
+2544 255.
+2545 255.
+2546 255.
+2547 255.
+2548 255.
+2549 255.
+2550 255.
+2551 255.
+2552 255.
+2553 255.
+2554 255.
+2555 255.
+2556 255.
+2557 255.
+2558 255.
+2559 255.
+2560 255.
+2561 255.
+2562 255.
+2563 255.
+2564 255.
+2565 255.
+2566 255.
+2567 255.
+2568 255.
+2569 255.
+2570 255.
+2571 255.
+2572 255.
+2573 255.
+2574 255.
+2575 255.
+2576 255.
+2577 255.
+2578 255.
+2579 255.
+2580 255.
+2581 255.
+2582 255.
+2583 255.
+2584 255.
+2585 255.
+2586 255.
+2587 255.
+2588 255.
+2589 255.
+2590 255.
+2591 255.
+2592 255.
+2593 255.
+2594 255.
+2595 255.
+2596 255.
+2597 255.
+2598 255.
+2599 255.
+2600 255.
+2601 255.
+2602 255.
+2603 255.
+2604 255.
+2605 255.
+2606 255.
+2607 255.
+2608 255.
+2609 255.
+2610 255.
+2611 255.
+2612 255.
+2613 255.
+2614 255.
+2615 255.
+2616 255.
+2617 255.
+2618 255.
+2619 255.
+2620 255.
+2621 255.
+2622 255.
+2623 255.
+2624 255.
+2625 255.
+2626 255.
+2627 255.
+2628 255.
+2629 255.
+2630 255.
+2631 255.
+2632 255.
+2633 255.
+2634 255.
+2635 255.
+2636 255.
+2637 255.
+2638 255.
+2639 255.
+2640 255.
+2641 255.
+2642 255.
+2643 255.
+2644 255.
+2645 255.
+2646 255.
+2647 255.
+2648 255.
+2649 255.
+2650 255.
+2651 255.
+2652 255.
+2653 255.
+2654 255.
+2655 255.
+2656 255.
+2657 255.
+2658 255.
+2659 255.
+2660 255.
+2661 255.
+2662 255.
+2663 255.
+2664 255.
+2665 255.
+2666 255.
+2667 255.
+2668 255.
+2669 255.
+2670 255.
+2671 255.
+2672 255.
+2673 255.
+2674 255.
+2675 255.
+2676 255.
+2677 255.
+2678 255.
+2679 255.
+2680 255.
+2681 255.
+2682 255.
+2683 255.
+2684 255.
+2685 255.
+2686 255.
+2687 255.
+2688 255.
+2689 255.
+2690 255.
+2691 255.
+2692 255.
+2693 255.
+2694 255.
+2695 255.
+2696 255.
+2697 255.
+2698 255.
+2699 255.
+2700 255.
+2701 255.
+2702 255.
+2703 255.
+2704 255.
+2705 255.
+2706 255.
+2707 255.
+2708 255.
+2709 255.
+2710 255.
+2711 255.
+2712 255.
+2713 255.
+2714 255.
+2715 255.
+2716 255.
+2717 255.
+2718 255.
+2719 255.
+2720 255.
+2721 255.
+2722 255.
+2723 255.
+2724 255.
+2725 255.
+2726 255.
+2727 255.
+2728 255.
+2729 255.
+2730 255.
+2731 255.
+2732 255.
+2733 255.
+2734 255.
+2735 255.
+2736 255.
+2737 255.
+2738 255.
+2739 255.
+2740 255.
+2741 255.
+2742 255.
+2743 255.
+2744 255.
+2745 255.
+2746 255.
+2747 255.
+2748 255.
+2749 255.
+2750 255.
+2751 255.
+2752 255.
+2753 255.
+2754 255.
+2755 255.
+2756 255.
+2757 255.
+2758 255.
+2759 255.
+2760 255.
+2761 255.
+2762 255.
+2763 255.
+2764 255.
+2765 255.
+2766 255.
+2767 255.
+2768 255.
+2769 255.
+2770 255.
+2771 255.
+2772 255.
+2773 255.
+2774 255.
+2775 255.
+2776 255.
+2777 255.
+2778 255.
+2779 255.
+2780 255.
+2781 255.
+2782 255.
+2783 255.
+2784 255.
+2785 255.
+2786 255.
+2787 255.
+2788 255.
+2789 255.
+2790 255.
+2791 255.
+2792 255.
+2793 255.
+2794 255.
+2795 255.
+2796 255.
+2797 255.
+2798 255.
+2799 255.
+2800 255.
+2801 255.
+2802 255.
+2803 255.
+2804 255.
+2805 255.
+2806 255.
+2807 255.
+2808 255.
+2809 255.
+2810 255.
+2811 255.
+2812 255.
+2813 255.
+2814 255.
+2815 255.
+2816 255.
+2817 255.
+2818 255.
+2819 255.
+2820 255.
+2821 255.
+2822 255.
+2823 255.
+2824 255.
+2825 255.
+2826 255.
+2827 255.
+2828 255.
+2829 255.
+2830 255.
+2831 255.
+2832 255.
+2833 255.
+2834 255.
+2835 255.
+2836 255.
+2837 255.
+2838 255.
+2839 255.
+2840 255.
+2841 255.
+2842 255.
+2843 255.
+2844 255.
+2845 255.
+2846 255.
+2847 255.
+2848 255.
+2849 255.
+2850 255.
+2851 255.
+2852 255.
+2853 255.
+2854 255.
+2855 255.
+2856 255.
+2857 255.
+2858 255.
+2859 255.
+2860 255.
+2861 255.
+2862 255.
+2863 255.
+2864 255.
+2865 255.
+2866 255.
+2867 255.
+2868 255.
+2869 255.
+2870 255.
+2871 255.
+2872 255.
+2873 255.
+2874 255.
+2875 255.
+2876 255.
+2877 255.
+2878 255.
+2879 255.
+2880 255.
+2881 255.
+2882 255.
+2883 255.
+2884 255.
+2885 255.
+2886 255.
+2887 255.
+2888 255.
+2889 255.
+2890 255.
+2891 255.
+2892 255.
+2893 255.
+2894 255.
+2895 255.
+2896 255.
+2897 255.
+2898 255.
+2899 255.
+2900 255.
+2901 255.
+2902 255.
+2903 255.
+2904 255.
+2905 255.
+2906 255.
+2907 255.
+2908 255.
+2909 255.
+2910 255.
+2911 255.
+2912 255.
+2913 255.
+2914 255.
+2915 255.
+2916 255.
+2917 255.
+2918 255.
+2919 255.
+2920 255.
+2921 255.
+2922 255.
+2923 255.
+2924 255.
+2925 255.
+2926 255.
+2927 255.
+2928 255.
+2929 255.
+2930 255.
+2931 255.
+2932 255.
+2933 255.
+2934 255.
+2935 255.
+2936 255.
+2937 255.
+2938 255.
+2939 255.
+2940 255.
+2941 255.
+2942 255.
+2943 255.
+2944 255.
+2945 255.
+2946 255.
+2947 255.
+2948 255.
+2949 255.
+2950 255.
+2951 255.
+2952 255.
+2953 255.
+2954 255.
+2955 255.
+2956 255.
+2957 255.
+2958 255.
+2959 255.
+2960 255.
+2961 255.
+2962 255.
+2963 255.
+2964 255.
+2965 255.
+2966 255.
+2967 255.
+2968 255.
+2969 255.
+2970 255.
+2971 255.
+2972 255.
+2973 255.
+2974 255.
+2975 255.
+2976 255.
+2977 255.
+2978 255.
+2979 255.
+2980 255.
+2981 255.
+2982 255.
+2983 255.
+2984 255.
+2985 255.
+2986 255.
+2987 255.
+2988 255.
+2989 255.
+2990 255.
+2991 255.
+2992 255.
+2993 255.
+2994 255.
+2995 255.
+2996 255.
+2997 255.
+2998 255.
+2999 255.
+3000 255.
+3001 255.
+3002 255.
+3003 255.
+3004 255.
+3005 255.
+3006 255.
+3007 255.
+3008 255.
+3009 255.
+3010 255.
+3011 255.
+3012 255.
+3013 255.
+3014 255.
+3015 255.
+3016 255.
+3017 255.
+3018 255.
+3019 255.
+3020 255.
+3021 255.
+3022 255.
+3023 255.
+3024 255.
+3025 255.
+3026 255.
+3027 255.
+3028 255.
+3029 255.
+3030 255.
+3031 255.
+3032 255.
+3033 255.
+3034 255.
+3035 255.
+3036 255.
+3037 255.
+3038 255.
+3039 255.
+3040 255.
+3041 255.
+3042 255.
+3043 255.
+3044 255.
+3045 255.
+3046 255.
+3047 255.
+3048 255.
+3049 255.
+3050 255.
+3051 255.
+3052 255.
+3053 255.
+3054 255.
+3055 255.
+3056 255.
+3057 255.
+3058 255.
+3059 255.
+3060 255.
+3061 255.
+3062 255.
+3063 255.
+3064 255.
+3065 255.
+3066 255.
+3067 255.
+3068 255.
+3069 255.
+3070 255.
+3071 255.
+3072 255.
+3073 255.
+3074 255.
+3075 255.
+3076 255.
+3077 255.
+3078 255.
+3079 255.
+3080 255.
+3081 255.
+3082 255.
+3083 255.
+3084 255.
+3085 255.
+3086 255.
+3087 255.
+3088 255.
+3089 255.
+3090 255.
+3091 255.
+3092 255.
+3093 255.
+3094 255.
+3095 255.
+3096 255.
+3097 255.
+3098 255.
+3099 255.
+3100 255.
+3101 255.
+3102 255.
+3103 255.
+3104 255.
+3105 255.
+3106 255.
+3107 255.
+3108 255.
+3109 255.
+3110 255.
+3111 255.
+3112 255.
+3113 255.
+3114 255.
+3115 255.
+3116 255.
+3117 255.
+3118 255.
+3119 255.
+3120 255.
+3121 255.
+3122 255.
+3123 255.
+3124 255.
+3125 255.
+3126 255.
+3127 255.
+3128 255.
+3129 255.
+3130 255.
+3131 255.
+3132 255.
+3133 255.
+3134 255.
+3135 255.
+3136 255.
+3137 255.
+3138 255.
+3139 255.
+3140 255.
+3141 255.
+3142 255.
+3143 255.
+3144 255.
+3145 255.
+3146 255.
+3147 255.
+3148 255.
+3149 255.
+3150 255.
+3151 255.
+3152 255.
+3153 255.
+3154 255.
+3155 255.
+3156 255.
+3157 255.
+3158 255.
+3159 255.
+3160 255.
+3161 255.
+3162 255.
+3163 255.
+3164 255.
+3165 255.
+3166 255.
+3167 255.
+3168 255.
+3169 255.
+3170 255.
+3171 255.
+3172 255.
+3173 255.
+3174 255.
+3175 255.
+3176 255.
+3177 255.
+3178 255.
+3179 255.
+3180 255.
+3181 255.
+3182 255.
+3183 255.
+3184 255.
+3185 255.
+3186 255.
+3187 255.
+3188 255.
+3189 255.
+3190 255.
+3191 255.
+3192 255.
+3193 255.
+3194 255.
+3195 255.
+3196 255.
+3197 255.
+3198 255.
+3199 255.
+3200 255.
+3201 255.
+3202 255.
+3203 255.
+3204 255.
+3205 255.
+3206 255.
+3207 255.
+3208 255.
+3209 255.
+3210 255.
+3211 255.
+3212 255.
+3213 255.
+3214 255.
+3215 255.
+3216 255.
+3217 255.
+3218 255.
+3219 255.
+3220 255.
+3221 255.
+3222 255.
+3223 255.
+3224 255.
+3225 255.
+3226 255.
+3227 255.
+3228 255.
+3229 255.
+3230 255.
+3231 255.
+3232 255.
+3233 255.
+3234 255.
+3235 255.
+3236 255.
+3237 255.
+3238 255.
+3239 255.
+3240 255.
+3241 255.
+3242 255.
+3243 255.
+3244 255.
+3245 255.
+3246 255.
+3247 255.
+3248 255.
+3249 255.
+3250 255.
+3251 255.
+3252 255.
+3253 255.
+3254 255.
+3255 255.
+3256 255.
+3257 255.
+3258 255.
+3259 255.
+3260 255.
+3261 255.
+3262 255.
+3263 255.
+3264 255.
+3265 255.
+3266 255.
+3267 255.
+3268 255.
+3269 255.
+3270 255.
+3271 255.
+3272 255.
+3273 255.
+3274 255.
+3275 255.
+3276 255.
+3277 255.
+3278 255.
+3279 255.
+3280 255.
+3281 255.
+3282 255.
+3283 255.
+3284 255.
+3285 255.
+3286 255.
+3287 255.
+3288 255.
+3289 255.
+3290 255.
+3291 255.
+3292 255.
+3293 255.
+3294 255.
+3295 255.
+3296 255.
+3297 255.
+3298 255.
+3299 255.
+3300 255.
+3301 255.
+3302 255.
+3303 255.
+3304 255.
+3305 255.
+3306 255.
+3307 255.
+3308 255.
+3309 255.
+3310 255.
+3311 255.
+3312 255.
+3313 255.
+3314 255.
+3315 255.
+3316 255.
+3317 255.
+3318 255.
+3319 255.
+3320 255.
+3321 255.
+3322 255.
+3323 255.
+3324 255.
+3325 255.
+3326 255.
+3327 255.
+3328 255.
+3329 255.
+3330 255.
+3331 255.
+3332 255.
+3333 255.
+3334 255.
+3335 255.
+3336 255.
+3337 255.
+3338 255.
+3339 255.
+3340 255.
+3341 255.
+3342 255.
+3343 255.
+3344 255.
+3345 255.
+3346 255.
+3347 255.
+3348 255.
+3349 255.
+3350 255.
+3351 255.
+3352 255.
+3353 255.
+3354 255.
+3355 255.
+3356 255.
+3357 255.
+3358 255.
+3359 255.
+3360 255.
+3361 255.
+3362 255.
+3363 255.
+3364 255.
+3365 255.
+3366 255.
+3367 255.
+3368 255.
+3369 255.
+3370 255.
+3371 255.
+3372 255.
+3373 255.
+3374 255.
+3375 255.
+3376 255.
+3377 255.
+3378 255.
+3379 255.
+3380 255.
+3381 255.
+3382 255.
+3383 255.
+3384 255.
+3385 255.
+3386 255.
+3387 255.
+3388 255.
+3389 255.
+3390 255.
+3391 255.
+3392 255.
+3393 255.
+3394 255.
+3395 255.
+3396 255.
+3397 255.
+3398 255.
+3399 255.
+3400 255.
+3401 255.
+3402 255.
+3403 255.
+3404 255.
+3405 255.
+3406 255.
+3407 255.
+3408 255.
+3409 255.
+3410 255.
+3411 255.
+3412 255.
+3413 255.
+3414 255.
+3415 255.
+3416 255.
+3417 255.
+3418 255.
+3419 255.
+3420 255.
+3421 255.
+3422 255.
+3423 255.
+3424 255.
+3425 255.
+3426 255.
+3427 255.
+3428 255.
+3429 255.
+3430 255.
+3431 255.
+3432 255.
+3433 255.
+3434 255.
+3435 255.
+3436 255.
+3437 255.
+3438 255.
+3439 255.
+3440 255.
+3441 255.
+3442 255.
+3443 255.
+3444 255.
+3445 255.
+3446 255.
+3447 255.
+3448 255.
+3449 255.
+3450 255.
+3451 255.
+3452 255.
+3453 255.
+3454 255.
+3455 255.
+3456 255.
+3457 255.
+3458 255.
+3459 255.
+3460 255.
+3461 255.
+3462 255.
+3463 255.
+3464 255.
+3465 255.
+3466 255.
+3467 255.
+3468 255.
+3469 255.
+3470 255.
+3471 255.
+3472 255.
+3473 255.
+3474 255.
+3475 255.
+3476 255.
+3477 255.
+3478 255.
+3479 255.
+3480 255.
+3481 255.
+3482 255.
+3483 255.
+3484 255.
+3485 255.
+3486 255.
+3487 255.
+3488 255.
+3489 255.
+3490 255.
+3491 255.
+3492 255.
+3493 255.
+3494 255.
+3495 255.
+3496 255.
+3497 255.
+3498 255.
+3499 255.
+3500 255.
+3501 255.
+3502 255.
+3503 255.
+3504 255.
+3505 255.
+3506 255.
+3507 255.
+3508 255.
+3509 255.
+3510 255.
+3511 255.
+3512 255.
+3513 255.
+3514 255.
+3515 255.
+3516 255.
+3517 255.
+3518 255.
+3519 255.
+3520 255.
+3521 255.
+3522 255.
+3523 255.
+3524 255.
+3525 255.
+3526 255.
+3527 255.
+3528 255.
+3529 255.
+3530 255.
+3531 255.
+3532 255.
+3533 255.
+3534 255.
+3535 255.
+3536 255.
+3537 255.
+3538 255.
+3539 255.
+3540 255.
+3541 255.
+3542 255.
+3543 255.
+3544 255.
+3545 255.
+3546 255.
+3547 255.
+3548 255.
+3549 255.
+3550 255.
+3551 255.
+3552 255.
+3553 255.
+3554 255.
+3555 255.
+3556 255.
+3557 255.
+3558 255.
+3559 255.
+3560 255.
+3561 255.
+3562 255.
+3563 255.
+3564 255.
+3565 255.
+3566 255.
+3567 255.
+3568 255.
+3569 255.
+3570 255.
+3571 255.
+3572 255.
+3573 255.
+3574 255.
+3575 255.
+3576 255.
+3577 255.
+3578 255.
+3579 255.
+3580 255.
+3581 255.
+3582 255.
+3583 255.
+3584 255.
+3585 255.
+3586 255.
+3587 255.
+3588 255.
+3589 255.
+3590 255.
+3591 255.
+3592 255.
+3593 255.
+3594 255.
+3595 255.
+3596 255.
+3597 255.
+3598 255.
+3599 255.
+3600 255.
+3601 255.
+3602 255.
+3603 255.
+3604 255.
+3605 255.
+3606 255.
+3607 255.
+3608 255.
+3609 255.
+3610 255.
+3611 255.
+3612 255.
+3613 255.
+3614 255.
+3615 255.
+3616 255.
+3617 255.
+3618 255.
+3619 255.
+3620 255.
+3621 255.
+3622 255.
+3623 255.
+3624 255.
+3625 255.
+3626 255.
+3627 255.
+3628 255.
+3629 255.
+3630 255.
+3631 255.
+3632 255.
+3633 255.
+3634 255.
+3635 255.
+3636 255.
+3637 255.
+3638 255.
+3639 255.
+3640 255.
+3641 255.
+3642 255.
+3643 255.
+3644 255.
+3645 255.
+3646 255.
+3647 255.
+3648 255.
+3649 255.
+3650 255.
+3651 255.
+3652 255.
+3653 255.
+3654 255.
+3655 255.
+3656 255.
+3657 255.
+3658 255.
+3659 255.
+3660 255.
+3661 255.
+3662 255.
+3663 255.
+3664 255.
+3665 255.
+3666 255.
+3667 255.
+3668 255.
+3669 255.
+3670 255.
+3671 255.
+3672 255.
+3673 255.
+3674 255.
+3675 255.
+3676 255.
+3677 255.
+3678 255.
+3679 255.
+3680 255.
+3681 255.
+3682 255.
+3683 255.
+3684 255.
+3685 255.
+3686 255.
+3687 255.
+3688 255.
+3689 255.
+3690 255.
+3691 255.
+3692 255.
+3693 255.
+3694 255.
+3695 255.
+3696 255.
+3697 255.
+3698 255.
+3699 255.
+3700 255.
+3701 255.
+3702 255.
+3703 255.
+3704 255.
+3705 255.
+3706 255.
+3707 255.
+3708 255.
+3709 255.
+3710 255.
+3711 255.
+3712 255.
+3713 255.
+3714 255.
+3715 255.
+3716 255.
+3717 255.
+3718 255.
+3719 255.
+3720 255.
+3721 255.
+3722 255.
+3723 255.
+3724 255.
+3725 255.
+3726 255.
+3727 255.
+3728 255.
+3729 255.
+3730 255.
+3731 255.
+3732 255.
+3733 255.
+3734 255.
+3735 255.
+3736 255.
+3737 255.
+3738 255.
+3739 255.
+3740 255.
+3741 255.
+3742 255.
+3743 255.
+3744 255.
+3745 255.
+3746 255.
+3747 255.
+3748 255.
+3749 255.
+3750 255.
+3751 255.
+3752 255.
+3753 255.
+3754 255.
+3755 255.
+3756 255.
+3757 255.
+3758 255.
+3759 255.
+3760 255.
+3761 255.
+3762 255.
+3763 255.
+3764 255.
+3765 255.
+3766 255.
+3767 255.
+3768 255.
+3769 255.
+3770 255.
+3771 255.
+3772 255.
+3773 255.
+3774 255.
+3775 255.
+3776 255.
+3777 255.
+3778 255.
+3779 255.
+3780 255.
+3781 255.
+3782 255.
+3783 255.
+3784 255.
+3785 255.
+3786 255.
+3787 255.
+3788 255.
+3789 255.
+3790 255.
+3791 255.
+3792 255.
+3793 255.
+3794 255.
+3795 255.
+3796 255.
+3797 255.
+3798 255.
+3799 255.
+3800 255.
+3801 255.
+3802 255.
+3803 255.
+3804 255.
+3805 255.
+3806 255.
+3807 255.
+3808 255.
+3809 255.
+3810 255.
+3811 255.
+3812 255.
+3813 255.
+3814 255.
+3815 255.
+3816 255.
+3817 255.
+3818 255.
+3819 255.
+3820 255.
+3821 255.
+3822 255.
+3823 255.
+3824 255.
+3825 255.
+3826 255.
+3827 255.
+3828 255.
+3829 255.
+3830 255.
+3831 255.
+3832 255.
+3833 255.
+3834 255.
+3835 255.
+3836 255.
+3837 255.
+3838 255.
+3839 255.
+3840 255.
+3841 255.
+3842 255.
+3843 255.
+3844 255.
+3845 255.
+3846 255.
+3847 255.
+3848 255.
+3849 255.
+3850 255.
+3851 255.
+3852 255.
+3853 255.
+3854 255.
+3855 255.
+3856 255.
+3857 255.
+3858 255.
+3859 255.
+3860 255.
+3861 255.
+3862 255.
+3863 255.
+3864 255.
+3865 255.
+3866 255.
+3867 255.
+3868 255.
+3869 255.
+3870 255.
+3871 255.
+3872 255.
+3873 255.
+3874 255.
+3875 255.
+3876 255.
+3877 255.
+3878 255.
+3879 255.
+3880 255.
+3881 255.
+3882 255.
+3883 255.
+3884 255.
+3885 255.
+3886 255.
+3887 255.
+3888 255.
+3889 255.
+3890 255.
+3891 255.
+3892 255.
+3893 255.
+3894 255.
+3895 255.
+3896 255.
+3897 255.
+3898 255.
+3899 255.
+3900 255.
+3901 255.
+3902 255.
+3903 255.
+3904 255.
+3905 255.
+3906 255.
+3907 255.
+3908 255.
+3909 255.
+3910 255.
+3911 255.
+3912 255.
+3913 255.
+3914 255.
+3915 255.
+3916 255.
+3917 255.
+3918 255.
+3919 255.
+3920 255.
+3921 255.
+3922 255.
+3923 255.
+3924 255.
+3925 255.
+3926 255.
+3927 255.
+3928 255.
+3929 255.
+3930 255.
+3931 255.
+3932 255.
+3933 255.
+3934 255.
+3935 255.
+3936 255.
+3937 255.
+3938 255.
+3939 255.
+3940 255.
+3941 255.
+3942 255.
+3943 255.
+3944 255.
+3945 255.
+3946 255.
+3947 255.
+3948 255.
+3949 255.
+3950 255.
+3951 255.
+3952 255.
+3953 255.
+3954 255.
+3955 255.
+3956 255.
+3957 255.
+3958 255.
+3959 255.
+3960 255.
+3961 255.
+3962 255.
+3963 255.
+3964 255.
+3965 255.
+3966 255.
+3967 255.
+3968 255.
+3969 255.
+3970 255.
+3971 255.
+3972 255.
+3973 255.
+3974 255.
+3975 255.
+3976 255.
+3977 255.
+3978 255.
+3979 255.
+3980 255.
+3981 255.
+3982 255.
+3983 255.
+3984 255.
+3985 255.
+3986 255.
+3987 255.
+3988 255.
+3989 255.
+3990 255.
+3991 255.
+3992 255.
+3993 255.
+3994 255.
+3995 255.
+3996 255.
+3997 255.
+3998 255.
+3999 255.
+4000 255.
+4001 255.
+4002 255.
+4003 255.
+4004 255.
+4005 255.
+4006 255.
+4007 255.
+4008 255.
+4009 255.
+4010 255.
+4011 255.
+4012 255.
+4013 255.
+4014 255.
+4015 255.
+4016 255.
+4017 255.
+4018 255.
+4019 255.
+4020 255.
+4021 255.
+4022 255.
+4023 255.
+4024 255.
+4025 255.
+4026 255.
+4027 255.
+4028 255.
+4029 255.
+4030 255.
+4031 255.
+4032 255.
+4033 255.
+4034 255.
+4035 255.
+4036 255.
+4037 255.
+4038 255.
+4039 255.
+4040 255.
+4041 255.
+4042 255.
+4043 255.
+4044 255.
+4045 255.
+4046 255.
+4047 255.
+4048 255.
+4049 255.
+4050 255.
+4051 255.
+4052 255.
+4053 255.
+4054 255.
+4055 255.
+4056 255.
+4057 255.
+4058 255.
+4059 255.
+4060 255.
+4061 255.
+4062 255.
+4063 255.
+4064 255.
+4065 255.
+4066 255.
+4067 255.
+4068 255.
+4069 255.
+4070 255.
+4071 255.
+4072 255.
+4073 255.
+4074 255.
+4075 255.
+4076 255.
+4077 255.
+4078 255.
+4079 255.
+4080 255.
+4081 255.
+4082 255.
+4083 255.
+4084 255.
+4085 255.
+4086 255.
+4087 255.
+4088 255.
+4089 255.
+4090 255.
+4091 255.
+4092 255.
+4093 255.
+4094 255.
+4095 255.
+4096 255.
+4097 255.
+4098 255.
+4099 255.
+4100 255.
+4101 255.
+4102 255.
+4103 255.
+4104 255.
+4105 255.
+4106 255.
+4107 255.
+4108 255.
+4109 255.
+4110 255.
+4111 255.
+4112 255.
+4113 255.
+4114 255.
+4115 255.
+4116 255.
+4117 255.
+4118 255.
+4119 255.
+4120 255.
+4121 255.
+4122 255.
+4123 255.
+4124 255.
+4125 255.
+4126 255.
+4127 255.
+4128 255.
+4129 255.
+4130 255.
+4131 255.
+4132 255.
+4133 255.
+4134 255.
+4135 255.
+4136 255.
+4137 255.
+4138 255.
+4139 255.
+4140 255.
+4141 255.
+4142 255.
+4143 255.
+4144 255.
+4145 255.
+4146 255.
+4147 255.
+4148 255.
+4149 255.
+4150 255.
+4151 255.
+4152 255.
+4153 255.
+4154 255.
+4155 255.
+4156 255.
+4157 255.
+4158 255.
+4159 255.
+4160 255.
+4161 255.
+4162 255.
+4163 255.
+4164 255.
+4165 255.
+4166 255.
+4167 255.
+4168 255.
+4169 255.
+4170 255.
+4171 255.
+4172 255.
+4173 255.
+4174 255.
+4175 255.
+4176 255.
+4177 255.
+4178 255.
+4179 255.
+4180 255.
+4181 255.
+4182 255.
+4183 255.
+4184 255.
+4185 255.
+4186 255.
+4187 255.
+4188 255.
+4189 255.
+4190 255.
+4191 255.
+4192 255.
+4193 255.
+4194 255.
+4195 255.
+4196 255.
+4197 255.
+4198 255.
+4199 255.
+4200 255.
+4201 255.
+4202 255.
+4203 255.
+4204 255.
+4205 255.
+4206 255.
+4207 255.
+4208 255.
+4209 255.
+4210 255.
+4211 255.
+4212 255.
+4213 255.
+4214 255.
+4215 255.
+4216 255.
+4217 255.
+4218 255.
+4219 255.
+4220 255.
+4221 255.
+4222 255.
+4223 255.
+4224 255.
+4225 255.
+4226 255.
+4227 255.
+4228 255.
+4229 255.
+4230 255.
+4231 255.
+4232 255.
+4233 255.
+4234 255.
+4235 255.
+4236 255.
+4237 255.
+4238 255.
+4239 255.
+4240 255.
+4241 255.
+4242 255.
+4243 255.
+4244 255.
+4245 255.
+4246 255.
+4247 255.
+4248 255.
+4249 255.
+4250 255.
+4251 255.
+4252 255.
+4253 255.
+4254 255.
+4255 255.
+4256 255.
+4257 255.
+4258 255.
+4259 255.
+4260 255.
+4261 255.
+4262 255.
+4263 255.
+4264 255.
+4265 255.
+4266 255.
+4267 255.
+4268 255.
+4269 255.
+4270 255.
+4271 255.
+4272 255.
+4273 255.
+4274 255.
+4275 255.
+4276 255.
+4277 255.
+4278 255.
+4279 255.
+4280 255.
+4281 255.
+4282 255.
+4283 255.
+4284 255.
+4285 255.
+4286 255.
+4287 255.
+4288 255.
+4289 255.
+4290 255.
+4291 255.
+4292 255.
+4293 255.
+4294 255.
+4295 255.
+4296 255.
+4297 255.
+4298 255.
+4299 255.
+4300 255.
+4301 255.
+4302 255.
+4303 255.
+4304 255.
+4305 255.
+4306 255.
+4307 255.
+4308 255.
+4309 255.
+4310 255.
+4311 255.
+4312 255.
+4313 255.
+4314 255.
+4315 255.
+4316 255.
+4317 255.
+4318 255.
+4319 255.
+4320 255.
+4321 255.
+4322 255.
+4323 255.
+4324 255.
+4325 255.
+4326 255.
+4327 255.
+4328 255.
+4329 255.
+4330 255.
+4331 255.
+4332 255.
+4333 255.
+4334 255.
+4335 255.
+4336 255.
+4337 255.
+4338 255.
+4339 255.
+4340 255.
+4341 255.
+4342 255.
+4343 255.
+4344 255.
+4345 255.
+4346 255.
+4347 255.
+4348 255.
+4349 255.
+4350 255.
+4351 255.
+4352 255.
+4353 255.
+4354 255.
+4355 255.
+4356 255.
+4357 255.
+4358 255.
+4359 255.
+4360 255.
+4361 255.
+4362 255.
+4363 255.
+4364 255.
+4365 255.
+4366 255.
+4367 255.
+4368 255.
+4369 255.
+4370 255.
+4371 255.
+4372 255.
+4373 255.
+4374 255.
+4375 255.
+4376 255.
+4377 255.
+4378 255.
+4379 255.
+4380 255.
+4381 255.
+4382 255.
+4383 255.
+4384 255.
+4385 255.
+4386 255.
+4387 255.
+4388 255.
+4389 255.
+4390 255.
+4391 255.
+4392 255.
+4393 255.
+4394 255.
+4395 255.
+4396 255.
+4397 255.
+4398 255.
+4399 255.
+4400 255.
+4401 255.
+4402 255.
+4403 255.
+4404 255.
+4405 255.
+4406 255.
+4407 255.
+4408 255.
+4409 255.
+4410 255.
+4411 255.
+4412 255.
+4413 255.
+4414 255.
+4415 255.
+4416 255.
+4417 255.
+4418 255.
+4419 255.
+4420 255.
+4421 255.
+4422 255.
+4423 255.
+4424 255.
+4425 255.
+4426 255.
+4427 255.
+4428 255.
+4429 255.
+4430 255.
+4431 255.
+4432 255.
+4433 255.
+4434 255.
+4435 255.
+4436 255.
+4437 255.
+4438 255.
+4439 255.
+4440 255.
+4441 255.
+4442 255.
+4443 255.
+4444 255.
+4445 255.
+4446 255.
+4447 255.
+4448 255.
+4449 255.
+4450 255.
+4451 255.
+4452 255.
+4453 255.
+4454 255.
+4455 255.
+4456 255.
+4457 255.
+4458 255.
+4459 255.
+4460 255.
+4461 255.
+4462 255.
+4463 255.
+4464 255.
+4465 255.
+4466 255.
+4467 255.
+4468 255.
+4469 255.
+4470 255.
+4471 255.
+4472 255.
+4473 255.
+4474 255.
+4475 255.
+4476 255.
+4477 255.
+4478 255.
+4479 255.
+4480 255.
+4481 255.
+4482 255.
+4483 255.
+4484 255.
+4485 255.
+4486 255.
+4487 255.
+4488 255.
+4489 255.
+4490 255.
+4491 255.
+4492 255.
+4493 255.
+4494 255.
+4495 255.
+4496 255.
+4497 255.
+4498 255.
+4499 255.
+4500 255.
+4501 255.
+4502 255.
+4503 255.
+4504 255.
+4505 255.
+4506 255.
+4507 255.
+4508 255.
+4509 255.
+4510 255.
+4511 255.
+4512 255.
+4513 255.
+4514 255.
+4515 255.
+4516 255.
+4517 255.
+4518 255.
+4519 255.
+4520 255.
+4521 255.
+4522 255.
+4523 255.
+4524 255.
+4525 255.
+4526 255.
+4527 255.
+4528 255.
+4529 255.
+4530 255.
+4531 255.
+4532 255.
+4533 255.
+4534 255.
+4535 255.
+4536 255.
+4537 255.
+4538 255.
+4539 255.
+4540 255.
+4541 255.
+4542 255.
+4543 255.
+4544 255.
+4545 255.
+4546 255.
+4547 255.
+4548 255.
+4549 255.
+4550 255.
+4551 255.
+4552 255.
+4553 255.
+4554 255.
+4555 255.
+4556 255.
+4557 255.
+4558 255.
+4559 255.
+4560 255.
+4561 255.
+4562 255.
+4563 255.
+4564 255.
+4565 255.
+4566 255.
+4567 255.
+4568 255.
+4569 255.
+4570 255.
+4571 255.
+4572 255.
+4573 255.
+4574 255.
+4575 255.
+4576 255.
+4577 255.
+4578 255.
+4579 255.
+4580 255.
+4581 255.
+4582 255.
+4583 255.
+4584 255.
+4585 255.
+4586 255.
+4587 255.
+4588 255.
+4589 255.
+4590 255.
+4591 255.
+4592 255.
+4593 255.
+4594 255.
+4595 255.
+4596 255.
+4597 255.
+4598 255.
+4599 255.
+4600 255.
+4601 255.
+4602 255.
+4603 255.
+4604 255.
+4605 255.
+4606 255.
+4607 255.
+4608 255.
+4609 255.
+4610 255.
+4611 255.
+4612 255.
+4613 255.
+4614 255.
+4615 255.
+4616 255.
+4617 255.
+4618 255.
+4619 255.
+4620 255.
+4621 255.
+4622 255.
+4623 255.
+4624 255.
+4625 255.
+4626 255.
+4627 255.
+4628 255.
+4629 255.
+4630 255.
+4631 255.
+4632 255.
+4633 255.
+4634 255.
+4635 255.
+4636 255.
+4637 255.
+4638 255.
+4639 255.
+4640 255.
+4641 255.
+4642 255.
+4643 255.
+4644 255.
+4645 255.
+4646 255.
+4647 255.
+4648 255.
+4649 255.
+4650 255.
+4651 255.
+4652 255.
+4653 255.
+4654 255.
+4655 255.
+4656 255.
+4657 255.
+4658 255.
+4659 255.
+4660 255.
+4661 255.
+4662 255.
+4663 255.
+4664 255.
+4665 255.
+4666 255.
+4667 255.
+4668 255.
+4669 255.
+4670 255.
+4671 255.
+4672 255.
+4673 255.
+4674 255.
+4675 255.
+4676 255.
+4677 255.
+4678 255.
+4679 255.
+4680 255.
+4681 255.
+4682 255.
+4683 255.
+4684 255.
+4685 255.
+4686 255.
+4687 255.
+4688 255.
+4689 255.
+4690 255.
+4691 255.
+4692 255.
+4693 255.
+4694 255.
+4695 255.
+4696 255.
+4697 255.
+4698 255.
+4699 255.
+4700 255.
+4701 255.
+4702 255.
+4703 255.
+4704 255.
+4705 255.
+4706 255.
+4707 255.
+4708 255.
+4709 255.
+4710 255.
+4711 255.
+4712 255.
+4713 255.
+4714 255.
+4715 255.
+4716 255.
+4717 255.
+4718 255.
+4719 255.
+4720 255.
+4721 255.
+4722 255.
+4723 255.
+4724 255.
+4725 255.
+4726 255.
+4727 255.
+4728 255.
+4729 255.
+4730 255.
+4731 255.
+4732 255.
+4733 255.
+4734 255.
+4735 255.
+4736 255.
+4737 255.
+4738 255.
+4739 255.
+4740 255.
+4741 255.
+4742 255.
+4743 255.
+4744 255.
+4745 255.
+4746 255.
+4747 255.
+4748 255.
+4749 255.
+4750 255.
+4751 255.
+4752 255.
+4753 255.
+4754 255.
+4755 255.
+4756 255.
+4757 255.
+4758 255.
+4759 255.
+4760 255.
+4761 255.
+4762 255.
+4763 255.
+4764 255.
+4765 255.
+4766 255.
+4767 255.
+4768 255.
+4769 255.
+4770 255.
+4771 255.
+4772 255.
+4773 255.
+4774 255.
+4775 255.
+4776 255.
+4777 255.
+4778 255.
+4779 255.
+4780 255.
+4781 255.
+4782 255.
+4783 255.
+4784 255.
+4785 255.
+4786 255.
+4787 255.
+4788 255.
+4789 255.
+4790 255.
+4791 255.
+4792 255.
+4793 255.
+4794 255.
+4795 255.
+4796 255.
+4797 255.
+4798 255.
+4799 255.
+4800 255.
+4801 255.
+4802 255.
+4803 255.
+4804 255.
+4805 255.
+4806 255.
+4807 255.
+4808 255.
+4809 255.
+4810 255.
+4811 255.
+4812 255.
+4813 255.
+4814 255.
+4815 255.
+4816 255.
+4817 255.
+4818 255.
+4819 255.
+4820 255.
+4821 255.
+4822 255.
+4823 255.
+4824 255.
+4825 255.
+4826 255.
+4827 255.
+4828 255.
+4829 255.
+4830 255.
+4831 255.
+4832 255.
+4833 255.
+4834 255.
+4835 255.
+4836 255.
+4837 255.
+4838 255.
+4839 255.
+4840 255.
+4841 255.
+4842 255.
+4843 255.
+4844 255.
+4845 255.
+4846 255.
+4847 255.
+4848 255.
+4849 255.
+4850 255.
+4851 255.
+4852 255.
+4853 255.
+4854 255.
+4855 255.
+4856 255.
+4857 255.
+4858 255.
+4859 255.
+4860 255.
+4861 255.
+4862 255.
+4863 255.
+4864 255.
+4865 255.
+4866 255.
+4867 255.
+4868 255.
+4869 255.
+4870 255.
+4871 255.
+4872 255.
+4873 255.
+4874 255.
+4875 255.
+4876 255.
+4877 255.
+4878 255.
+4879 255.
+4880 255.
+4881 255.
+4882 255.
+4883 255.
+4884 255.
+4885 255.
+4886 255.
+4887 255.
+4888 255.
+4889 255.
+4890 255.
+4891 255.
+4892 255.
+4893 255.
+4894 255.
+4895 255.
+4896 255.
+4897 255.
+4898 255.
+4899 255.
+4900 255.
+4901 255.
+4902 255.
+4903 255.
+4904 255.
+4905 255.
+4906 255.
+4907 255.
+4908 255.
+4909 255.
+4910 255.
+4911 255.
+4912 255.
+4913 255.
+4914 255.
+4915 255.
+4916 255.
+4917 255.
+4918 255.
+4919 255.
+4920 255.
+4921 255.
+4922 255.
+4923 255.
+4924 255.
+4925 255.
+4926 255.
+4927 255.
+4928 255.
+4929 255.
+4930 255.
+4931 255.
+4932 255.
+4933 255.
+4934 255.
+4935 255.
+4936 255.
+4937 255.
+4938 255.
+4939 255.
+4940 255.
+4941 255.
+4942 255.
+4943 255.
+4944 255.
+4945 255.
+4946 255.
+4947 255.
+4948 255.
+4949 255.
+4950 255.
+4951 255.
+4952 255.
+4953 255.
+4954 255.
+4955 255.
+4956 255.
+4957 255.
+4958 255.
+4959 255.
+4960 255.
+4961 255.
+4962 255.
+4963 255.
+4964 255.
+4965 255.
+4966 255.
+4967 255.
+4968 255.
+4969 255.
+4970 255.
+4971 255.
+4972 255.
+4973 255.
+4974 255.
+4975 255.
+4976 255.
+4977 255.
+4978 255.
+4979 255.
+4980 255.
+4981 255.
+4982 255.
+4983 255.
+4984 255.
+4985 255.
+4986 255.
+4987 255.
+4988 255.
+4989 255.
+4990 255.
+4991 255.
+4992 255.
+4993 255.
+4994 255.
+4995 255.
+4996 255.
+4997 255.
+4998 255.
+4999 255.
+5000 255.
+5001 255.
+5002 255.
+5003 255.
+5004 255.
+5005 255.
+5006 255.
+5007 255.
+5008 255.
+5009 255.
+5010 255.
+5011 255.
+5012 255.
+5013 255.
+5014 255.
+5015 255.
+5016 255.
+5017 255.
+5018 255.
+5019 255.
+5020 255.
+5021 255.
+5022 255.
+5023 255.
+5024 255.
+5025 255.
+5026 255.
+5027 255.
+5028 255.
+5029 255.
+5030 255.
+5031 255.
+5032 255.
+5033 255.
+5034 255.
+5035 255.
+5036 255.
+5037 255.
+5038 255.
+5039 255.
+5040 255.
+5041 255.
+5042 255.
+5043 255.
+5044 255.
+5045 255.
+5046 255.
+5047 255.
+5048 255.
+5049 255.
+5050 255.
+5051 255.
+5052 255.
+5053 255.
+5054 255.
+5055 255.
+5056 255.
+5057 255.
+5058 255.
+5059 255.
+5060 255.
+5061 255.
+5062 255.
+5063 255.
+5064 255.
+5065 255.
+5066 255.
+5067 255.
+5068 255.
+5069 255.
+5070 255.
+5071 255.
+5072 255.
+5073 255.
+5074 255.
+5075 255.
+5076 255.
+5077 255.
+5078 255.
+5079 255.
+5080 255.
+5081 255.
+5082 255.
+5083 255.
+5084 255.
+5085 255.
+5086 255.
+5087 255.
+5088 255.
+5089 255.
+5090 255.
+5091 255.
+5092 255.
+5093 255.
+5094 255.
+5095 255.
+5096 255.
+5097 255.
+5098 255.
+5099 255.
+5100 255.
+5101 255.
+5102 255.
+5103 255.
+5104 255.
+5105 255.
+5106 255.
+5107 255.
+5108 255.
+5109 255.
+5110 255.
+5111 255.
+5112 255.
+5113 255.
+5114 255.
+5115 255.
+5116 255.
+5117 255.
+5118 255.
+5119 255.
+5120 255.
+5121 255.
+5122 255.
+5123 255.
+5124 255.
+5125 255.
+5126 255.
+5127 255.
+5128 255.
+5129 255.
+5130 255.
+5131 255.
+5132 255.
+5133 255.
+5134 255.
+5135 255.
+5136 255.
+5137 255.
+5138 255.
+5139 255.
+5140 255.
+5141 255.
+5142 255.
+5143 255.
+5144 255.
+5145 255.
+5146 255.
+5147 255.
+5148 255.
+5149 255.
+5150 255.
+5151 255.
+5152 255.
+5153 255.
+5154 255.
+5155 255.
+5156 255.
+5157 255.
+5158 255.
+5159 255.
+5160 255.
+5161 255.
+5162 255.
+5163 255.
+5164 255.
+5165 255.
+5166 255.
+5167 255.
+5168 255.
+5169 255.
+5170 255.
+5171 255.
+5172 255.
+5173 255.
+5174 255.
+5175 255.
+5176 255.
+5177 255.
+5178 255.
+5179 255.
+5180 255.
+5181 255.
+5182 255.
+5183 255.
+5184 255.
+5185 255.
+5186 255.
+5187 255.
+5188 255.
+5189 255.
+5190 255.
+5191 255.
+5192 255.
+5193 255.
+5194 255.
+5195 255.
+5196 255.
+5197 255.
+5198 255.
+5199 255.
+5200 255.
+5201 255.
+5202 255.
+5203 255.
+5204 255.
+5205 255.
+5206 255.
+5207 255.
+5208 255.
+5209 255.
+5210 255.
+5211 255.
+5212 255.
+5213 255.
+5214 255.
+5215 255.
+5216 255.
+5217 255.
+5218 255.
+5219 255.
+5220 255.
+5221 255.
+5222 255.
+5223 255.
+5224 255.
+5225 255.
+5226 255.
+5227 255.
+5228 255.

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/bird_boundaries_xyz.vtk
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/bird_boundaries_xyz.vtk	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/bird_boundaries_xyz.vtk	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,6284 @@
+# vtk DataFile Version 2.0
+XYZ data
+ASCII
+DATASET POLYDATA
+POINTS 6048 float
+0.575029 -0.004395 -0.816747
+0.577538 -0.000391 -0.814998
+0.580738 0.004492 -0.812724
+0.575245 0.009685 -0.816551
+0.581243 0.017198 -0.812197
+0.586126 0.024153 -0.808527
+0.591254 0.031249 -0.804567
+0.588477 0.034642 -0.806450
+0.583965 0.040388 -0.809437
+0.579329 0.044725 -0.812513
+0.582791 0.049211 -0.809791
+0.580479 0.051640 -0.811290
+0.576789 0.055484 -0.813648
+0.582126 0.063072 -0.809312
+0.585837 0.068047 -0.806246
+0.581054 0.073788 -0.809177
+0.576198 0.078646 -0.812167
+0.576198 0.078646 -0.812167
+0.580563 0.084574 -0.808478
+0.584871 0.090530 -0.804745
+0.589871 0.097956 -0.800244
+0.594931 0.104828 -0.795645
+0.590153 0.109830 -0.798504
+0.585646 0.113571 -0.801275
+0.591655 0.122616 -0.795546
+0.595892 0.129913 -0.791243
+0.600054 0.137377 -0.786854
+0.596914 0.140051 -0.788756
+0.590945 0.145014 -0.792322
+0.595614 0.153629 -0.787220
+0.589699 0.159250 -0.790527
+0.591793 0.163318 -0.788144
+0.594583 0.168500 -0.784968
+0.586249 0.178196 -0.789057
+0.579461 0.186115 -0.792216
+0.573518 0.192313 -0.795036
+0.575315 0.194873 -0.793125
+0.567368 0.206435 -0.795901
+0.561508 0.218363 -0.796866
+0.554760 0.229837 -0.798355
+0.551843 0.235100 -0.798840
+0.550742 0.234019 -0.799909
+0.545762 0.241691 -0.801033
+0.540901 0.248616 -0.802202
+0.541054 0.250834 -0.801413
+0.577184 0.362429 -0.730857
+0.576634 0.358440 -0.733238
+0.573079 0.352402 -0.738893
+0.569476 0.346335 -0.744488
+0.566516 0.340506 -0.749386
+0.563520 0.334655 -0.754233
+0.563175 0.329907 -0.756563
+0.560666 0.323779 -0.761030
+0.558580 0.318757 -0.764650
+0.553900 0.311383 -0.771024
+0.548449 0.303620 -0.777939
+0.542749 0.295983 -0.784803
+0.537666 0.290748 -0.790204
+0.534919 0.288171 -0.792988
+0.531467 0.283906 -0.796813
+0.536205 0.278887 -0.795419
+0.537943 0.278491 -0.794391
+0.539730 0.278839 -0.793064
+0.544758 0.274141 -0.791274
+0.542708 0.270737 -0.793833
+0.537977 0.266331 -0.798499
+0.534135 0.262606 -0.802278
+0.533088 0.259854 -0.803857
+0.534945 0.259310 -0.802806
+0.536794 0.257736 -0.802083
+0.538447 0.253141 -0.802436
+0.541054 0.250834 -0.801413
+0.577184 0.362429 -0.730857
+0.567618 0.371070 -0.733985
+0.571327 0.376127 -0.728550
+0.574996 0.381159 -0.723065
+0.576988 0.386528 -0.718643
+0.574813 0.387460 -0.719875
+0.574015 0.388446 -0.719980
+0.571513 0.389381 -0.721454
+0.569804 0.391670 -0.721566
+0.571025 0.395455 -0.718550
+0.575088 0.400712 -0.712413
+0.577728 0.404748 -0.708011
+0.579074 0.408218 -0.704933
+0.575540 0.412963 -0.705062
+0.572332 0.415410 -0.706228
+0.569872 0.418657 -0.706300
+0.567587 0.422718 -0.705724
+0.565699 0.427609 -0.704302
+0.561833 0.431239 -0.705177
+0.559969 0.438799 -0.702010
+0.559969 0.438799 -0.702010
+0.561218 0.441535 -0.699309
+0.563418 0.445573 -0.694995
+0.556618 0.451914 -0.696369
+0.559211 0.457176 -0.690872
+0.561770 0.462409 -0.685329
+0.551843 0.471415 -0.687243
+0.541816 0.480334 -0.689031
+0.544887 0.485236 -0.683189
+0.547922 0.490105 -0.677300
+0.541616 0.495754 -0.678254
+0.544813 0.500488 -0.672230
+0.547972 0.505188 -0.666160
+0.551093 0.509854 -0.660043
+0.554177 0.514485 -0.653880
+0.543334 0.524860 -0.654729
+0.545217 0.526933 -0.651512
+0.538920 0.533041 -0.651780
+0.541245 0.535906 -0.647519
+0.535753 0.541444 -0.647479
+0.537525 0.543787 -0.644061
+0.530350 0.550623 -0.644200
+0.534376 0.556468 -0.635852
+0.538339 0.562246 -0.627427
+0.530325 0.571404 -0.625987
+0.522233 0.580475 -0.624452
+0.523559 0.581820 -0.622102
+0.520603 0.591186 -0.615762
+0.516546 0.594939 -0.615566
+0.517992 0.596651 -0.612706
+0.508477 0.604802 -0.612685
+0.509630 0.606540 -0.610021
+0.500571 0.614270 -0.609788
+0.501402 0.615372 -0.608004
+0.493606 0.621768 -0.607877
+0.485728 0.628067 -0.607749
+0.489527 0.633616 -0.598935
+0.493267 0.639088 -0.590047
+0.487007 0.643993 -0.589914
+0.480717 0.648857 -0.589744
+0.484483 0.654039 -0.580932
+0.477205 0.662053 -0.577891
+0.481215 0.668575 -0.567027
+0.469134 0.676877 -0.567298
+0.470366 0.679320 -0.563372
+0.465930 0.682994 -0.562620
+0.468671 0.688024 -0.554208
+0.460822 0.693609 -0.553831
+0.453184 0.699463 -0.552777
+0.456563 0.705501 -0.542293
+0.458908 0.709969 -0.534479
+0.461213 0.714375 -0.526619
+0.453356 0.719917 -0.525899
+0.445230 0.725306 -0.525439
+0.447328 0.730829 -0.515981
+0.439204 0.735799 -0.515898
+0.441152 0.739687 -0.508674
+0.430583 0.745954 -0.508578
+0.420812 0.751808 -0.508140
+0.423250 0.755684 -0.500359
+0.423117 0.755914 -0.500125
+0.425068 0.760146 -0.492046
+0.426981 0.764312 -0.483922
+0.417362 0.769717 -0.483748
+0.418135 0.770673 -0.481569
+0.409307 0.775070 -0.482091
+0.410935 0.777272 -0.477168
+0.402741 0.781842 -0.476692
+0.404498 0.783801 -0.471995
+0.397487 0.787273 -0.472172
+0.398252 0.788207 -0.469979
+0.392305 0.791024 -0.470246
+0.393303 0.792433 -0.467050
+0.381369 0.798370 -0.466838
+0.369289 0.804077 -0.466756
+0.370086 0.806384 -0.462153
+0.355792 0.812789 -0.462159
+0.356349 0.814603 -0.458546
+0.345607 0.819322 -0.458361
+0.346474 0.822440 -0.452123
+0.342608 0.824036 -0.452162
+0.343378 0.826266 -0.447514
+0.335703 0.829317 -0.447693
+0.336315 0.831535 -0.443128
+0.327044 0.835459 -0.442688
+0.327796 0.836345 -0.440468
+0.324499 0.837461 -0.440787
+0.324725 0.838467 -0.438718
+0.320071 0.840383 -0.438474
+0.320819 0.841812 -0.435195
+0.316083 0.843619 -0.435162
+0.315928 0.844539 -0.433496
+0.309063 0.847278 -0.433103
+0.513894 0.830094 0.220831
+0.518733 0.825891 0.225203
+0.521732 0.823363 0.227507
+0.520020 0.823630 0.230419
+0.518606 0.823839 0.232830
+0.520181 0.822499 0.234046
+0.522948 0.820152 0.236091
+0.525246 0.818202 0.237737
+0.525210 0.818068 0.238276
+0.527310 0.816337 0.239562
+0.529537 0.814444 0.241081
+0.528261 0.814608 0.243298
+0.529996 0.813109 0.244528
+0.531845 0.811557 0.245661
+0.530811 0.811745 0.247260
+0.537846 0.805406 0.252689
+0.367953 0.923395 -0.118720
+0.375035 0.919515 -0.126377
+0.370493 0.920383 -0.133222
+0.377055 0.916730 -0.139788
+0.370262 0.918229 -0.147824
+0.377454 0.914177 -0.154550
+0.384603 0.910021 -0.161258
+0.379618 0.910987 -0.167456
+0.386472 0.906927 -0.173660
+0.393287 0.902774 -0.179846
+0.387599 0.903787 -0.186917
+0.396749 0.898167 -0.194598
+0.392330 0.898785 -0.200574
+0.402920 0.892277 -0.208430
+0.397077 0.893234 -0.215382
+0.391202 0.894115 -0.222316
+0.399038 0.888751 -0.229724
+0.392148 0.889526 -0.238370
+0.396172 0.886809 -0.241791
+0.391213 0.887318 -0.247879
+0.386230 0.887772 -0.253953
+0.379004 0.888057 -0.263594
+0.371761 0.888296 -0.272878
+0.370103 0.888360 -0.274900
+0.375145 0.885204 -0.278206
+0.368314 0.885275 -0.286911
+0.378269 0.878672 -0.294119
+0.386160 0.873179 -0.300120
+0.394555 0.867473 -0.305659
+0.402011 0.862403 -0.310224
+0.397258 0.862269 -0.316612
+0.392479 0.862081 -0.322978
+0.383006 0.861593 -0.335330
+0.375868 0.861476 -0.343552
+0.371494 0.864730 -0.340140
+0.366309 0.864665 -0.345843
+0.362584 0.867189 -0.343457
+0.357603 0.867308 -0.348311
+0.355159 0.868898 -0.346856
+0.352769 0.868623 -0.349948
+0.348381 0.871567 -0.347031
+0.342154 0.871247 -0.353916
+0.346061 0.868589 -0.356621
+0.339032 0.867464 -0.365926
+0.329231 0.866785 -0.376267
+0.334631 0.862582 -0.381101
+0.328058 0.861900 -0.388244
+0.320793 0.860641 -0.396951
+0.315592 0.860054 -0.402318
+0.321481 0.855358 -0.407597
+0.316492 0.854691 -0.412831
+0.311852 0.853991 -0.417749
+0.316272 0.850071 -0.422365
+0.307573 0.849180 -0.430449
+0.309063 0.847278 -0.433103
+0.670601 -0.383588 0.634577
+0.674312 -0.378948 0.633439
+0.675139 -0.378826 0.632636
+0.675433 -0.378420 0.632566
+0.675634 -0.377415 0.632949
+0.675757 -0.376851 0.633152
+0.675844 -0.376022 0.633549
+0.675967 -0.375458 0.633751
+0.676143 -0.374513 0.634120
+0.676219 -0.374071 0.634299
+0.676261 -0.373233 0.634744
+0.676918 -0.372953 0.634213
+0.678096 -0.372497 0.633227
+0.678686 -0.372269 0.632733
+0.679538 -0.371825 0.632083
+0.680014 -0.371772 0.631606
+0.680882 -0.371525 0.630820
+0.681135 -0.370850 0.630943
+0.681419 -0.369728 0.631293
+0.681835 -0.369470 0.630997
+0.682440 -0.369308 0.630441
+0.682938 -0.369194 0.629972
+0.683500 -0.369026 0.629464
+0.683912 -0.368897 0.629095
+0.684756 -0.368578 0.628368
+0.685120 -0.367597 0.628544
+0.685576 -0.366370 0.628762
+0.685828 -0.365565 0.628954
+0.686284 -0.364206 0.629244
+0.687348 -0.362295 0.629185
+0.688364 -0.361741 0.628398
+0.688906 -0.361373 0.628019
+0.689858 -0.360743 0.627340
+0.690421 -0.360311 0.626971
+0.691413 -0.359688 0.626240
+0.692972 -0.356742 0.626202
+0.693974 -0.356705 0.625121
+0.694487 -0.356524 0.624657
+0.695341 -0.356268 0.623858
+0.695940 -0.355970 0.623363
+0.697089 -0.355628 0.622280
+0.697495 -0.355496 0.621904
+0.698517 -0.355004 0.621043
+0.699156 -0.354711 0.620494
+0.700387 -0.354250 0.619376
+0.699699 -0.352187 0.621314
+0.700741 -0.351630 0.620460
+0.701272 -0.351387 0.620001
+0.702439 -0.350718 0.619064
+0.702991 -0.350411 0.618614
+0.704176 -0.349810 0.617613
+0.704726 -0.349503 0.617162
+0.705867 -0.348893 0.616209
+0.706766 -0.347334 0.616061
+0.708031 -0.346481 0.615094
+0.708515 -0.346227 0.614682
+0.710219 -0.345112 0.613351
+0.710484 -0.343585 0.613896
+0.711532 -0.342959 0.613039
+0.711994 -0.342635 0.612685
+0.713038 -0.342139 0.611754
+0.712678 -0.340516 0.613069
+0.713764 -0.339895 0.612156
+0.714307 -0.339583 0.611698
+0.715266 -0.338941 0.610938
+0.714757 -0.337362 0.612396
+0.716923 -0.335851 0.610704
+0.717633 -0.334386 0.610674
+0.718276 -0.333893 0.610191
+0.718753 -0.333505 0.609843
+0.719333 -0.333066 0.609402
+0.719685 -0.332791 0.609138
+0.720244 -0.332415 0.608687
+0.720803 -0.332038 0.608234
+0.721731 -0.331454 0.607456
+0.722098 -0.332162 0.606638
+0.722649 -0.332961 0.605550
+0.723121 -0.333355 0.604775
+0.724394 -0.332885 0.603517
+0.724970 -0.332445 0.603071
+0.726179 -0.331767 0.601996
+0.726937 -0.331287 0.601349
+0.727898 -0.330706 0.600512
+0.728634 -0.330287 0.599854
+0.729735 -0.329658 0.598868
+0.730165 -0.328998 0.598707
+0.730719 -0.327572 0.598812
+0.731616 -0.326434 0.598342
+0.735347 -0.320802 0.596822
+0.738542 -0.311871 0.597605
+0.741670 -0.302911 0.598335
+0.744721 -0.293462 0.599247
+0.747699 -0.283984 0.600100
+0.749699 -0.276434 0.601121
+0.751653 -0.268869 0.602106
+0.753689 -0.253908 0.606016
+0.754243 -0.246880 0.608212
+0.756154 -0.239638 0.608732
+0.760289 -0.228705 0.607793
+0.765210 -0.217131 0.605872
+0.767778 -0.211287 0.604696
+0.770621 -0.208546 0.602043
+0.771281 -0.198188 0.604674
+0.771853 -0.187806 0.607234
+0.779791 -0.178646 0.599861
+0.787573 -0.169451 0.592366
+0.794001 -0.162774 0.585663
+0.793330 -0.153106 0.589147
+0.791634 -0.145702 0.593264
+0.790089 -0.138985 0.596899
+0.793396 -0.133413 0.593796
+0.798976 -0.123467 0.588478
+0.804428 -0.113502 0.583067
+0.809986 -0.102219 0.577471
+0.812886 -0.095928 0.574487
+0.816736 -0.086761 0.570498
+0.819414 -0.086698 0.566680
+0.821975 -0.086397 0.563029
+0.824653 -0.083881 0.559507
+0.825566 -0.077989 0.559015
+0.825083 -0.073234 0.560362
+0.825634 -0.067961 0.560215
+0.825064 -0.058511 0.562106
+0.817244 -0.054022 0.573779
+0.811384 -0.053172 0.582058
+0.809107 -0.046595 0.585755
+0.807763 -0.040825 0.588020
+0.807083 -0.036267 0.589244
+0.809539 -0.028153 0.586331
+0.811054 -0.021468 0.584529
+0.811220 -0.010588 0.584597
+0.809972 0.000043 0.586408
+0.808184 0.009409 0.588779
+0.805875 0.017510 0.591731
+0.803299 0.027633 0.594818
+0.802126 0.033337 0.596100
+0.798675 0.048200 0.599682
+0.796635 0.059851 0.601333
+0.794481 0.071493 0.602898
+0.792603 0.082940 0.603896
+0.789583 0.093929 0.606223
+0.789583 0.093929 0.606223
+0.788871 0.099870 0.606201
+0.787403 0.107926 0.606725
+0.785358 0.114084 0.608236
+0.781215 0.118524 0.612677
+0.776053 0.122111 0.618467
+0.773969 0.126241 0.620233
+0.771604 0.131895 0.621990
+0.769595 0.136938 0.623378
+0.767688 0.140526 0.624918
+0.767688 0.140526 0.624918
+0.765638 0.143411 0.626763
+0.763216 0.145970 0.629106
+0.761674 0.149677 0.630097
+0.760944 0.152916 0.630199
+0.760599 0.156943 0.629630
+0.761332 0.158741 0.628300
+0.761154 0.162585 0.627538
+0.760386 0.167648 0.627140
+0.762230 0.171882 0.623768
+0.760262 0.179910 0.623905
+0.758516 0.186471 0.624103
+0.756775 0.190284 0.625058
+0.754683 0.195378 0.626008
+0.754683 0.195378 0.626008
+0.757362 0.205419 0.619570
+0.755046 0.209383 0.621058
+0.755603 0.211518 0.619664
+0.757865 0.210903 0.617124
+0.760713 0.209831 0.613998
+0.763790 0.209586 0.610275
+0.766506 0.210773 0.606475
+0.766506 0.210773 0.606475
+0.765474 0.217068 0.605564
+0.763570 0.222365 0.606041
+0.760338 0.229903 0.607283
+0.757885 0.234135 0.608721
+0.754826 0.236830 0.611455
+0.751034 0.238411 0.615470
+0.747344 0.239559 0.619475
+0.745222 0.239906 0.621877
+0.743872 0.242139 0.622622
+0.740748 0.241909 0.626399
+0.738628 0.240880 0.629273
+0.737340 0.239006 0.631479
+0.737340 0.239006 0.631479
+0.737962 0.244978 0.628476
+0.738293 0.252702 0.625043
+0.739541 0.263112 0.619285
+0.741311 0.269815 0.614298
+0.513894 0.830094 0.220831
+0.518036 0.829591 0.212954
+0.522138 0.829022 0.205060
+0.526197 0.828387 0.197149
+0.530215 0.827686 0.189221
+0.534190 0.826919 0.181278
+0.538124 0.826086 0.173322
+0.537470 0.826921 0.171368
+0.536728 0.827402 0.171372
+0.533662 0.830008 0.168342
+0.529907 0.831486 0.172819
+0.522217 0.837771 0.165776
+0.522996 0.837567 0.164357
+0.519660 0.840171 0.161643
+0.521644 0.839611 0.158145
+0.517823 0.842704 0.154226
+0.520754 0.841575 0.150501
+0.515802 0.845371 0.146249
+0.511561 0.848636 0.142207
+0.512217 0.848443 0.141001
+0.506255 0.852943 0.135309
+0.507702 0.852344 0.133662
+0.500961 0.857282 0.127411
+0.494166 0.862126 0.121146
+0.496473 0.861246 0.117956
+0.487395 0.867466 0.110023
+0.480600 0.872104 0.103069
+0.473080 0.877039 0.095770
+0.475218 0.876311 0.091802
+0.468264 0.880665 0.085707
+0.461483 0.884871 0.078941
+0.453287 0.889713 0.071716
+0.455494 0.888882 0.067967
+0.448434 0.892803 0.063395
+0.447503 0.893183 0.064606
+0.440877 0.896740 0.060804
+0.439715 0.897165 0.062899
+0.428448 0.903046 0.056179
+0.427402 0.903450 0.057609
+0.419169 0.907697 0.051012
+0.414639 0.909379 0.057611
+0.407236 0.913063 0.051897
+0.400659 0.916178 0.048066
+0.403971 0.915033 0.041792
+0.407051 0.913921 0.035846
+0.401659 0.916431 0.032471
+0.396264 0.918914 0.028319
+0.399206 0.917783 0.023261
+0.393192 0.920481 0.018659
+0.396641 0.919104 0.012615
+0.388596 0.922602 0.005891
+0.393752 0.920432 -0.000679
+0.387798 0.922937 -0.005938
+0.390776 0.921644 -0.010097
+0.380431 0.925838 -0.018164
+0.385133 0.923727 -0.025157
+0.375963 0.927235 -0.033418
+0.378198 0.926209 -0.036469
+0.370621 0.928921 -0.044370
+0.376291 0.926326 -0.050440
+0.370006 0.928377 -0.058523
+0.363397 0.930492 -0.065836
+0.368413 0.928066 -0.071883
+0.361676 0.930097 -0.079395
+0.370359 0.925893 -0.087981
+0.363497 0.927864 -0.095461
+0.369498 0.924705 -0.102747
+0.376278 0.921227 -0.109146
+0.367953 0.923395 -0.118720
+0.660808 -0.702848 0.266642
+0.660398 -0.699514 0.276189
+0.659919 -0.696108 0.285709
+0.659121 -0.696726 0.286042
+0.658539 -0.693912 0.294058
+0.657909 -0.691046 0.302054
+0.656464 -0.692257 0.302420
+0.654904 -0.687493 0.316261
+0.655775 -0.686666 0.316252
+0.654900 -0.683503 0.324745
+0.655388 -0.683060 0.324692
+0.654694 -0.680166 0.332036
+0.653958 -0.677229 0.339359
+0.654772 -0.676612 0.339022
+0.653277 -0.671163 0.352383
+0.655907 -0.668785 0.352020
+0.654765 -0.664405 0.362223
+0.653534 -0.665394 0.362627
+0.652434 -0.661268 0.371972
+0.654086 -0.659780 0.371715
+0.652414 -0.656008 0.381146
+0.650671 -0.652168 0.390536
+0.651196 -0.651740 0.390377
+0.648967 -0.647259 0.401315
+0.639476 -0.655280 0.403514
+0.629883 -0.663197 0.405649
+0.629717 -0.656573 0.416463
+0.630638 -0.655760 0.416352
+0.630949 -0.648626 0.426851
+0.634581 -0.645728 0.425867
+0.634505 -0.641095 0.432875
+0.634383 -0.636417 0.439854
+0.636663 -0.634420 0.439447
+0.636398 -0.632331 0.442806
+0.635790 -0.632836 0.442956
+0.635055 -0.628155 0.450557
+0.634269 -0.623423 0.458123
+0.635709 -0.622165 0.457839
+0.635132 -0.617706 0.464582
+0.634513 -0.613207 0.471294
+0.635374 -0.612338 0.471263
+0.635134 -0.604053 0.482082
+0.636034 -0.603211 0.481949
+0.636012 -0.594924 0.492105
+0.636526 -0.594345 0.492140
+0.635890 -0.587370 0.501191
+0.642554 -0.581334 0.499737
+0.641928 -0.573662 0.509252
+0.641205 -0.565904 0.518691
+0.643931 -0.563393 0.518052
+0.644235 -0.554325 0.527310
+0.645859 -0.552642 0.527091
+0.645350 -0.543999 0.536557
+0.644734 -0.535267 0.545934
+0.645921 -0.534087 0.545689
+0.642432 -0.527686 0.555871
+0.650749 -0.519434 0.553979
+0.658976 -0.511108 0.552008
+0.658238 -0.508333 0.555416
+0.659760 -0.506852 0.554967
+0.658140 -0.502029 0.561197
+0.659041 -0.501048 0.561018
+0.657274 -0.496121 0.567390
+0.658968 -0.494080 0.567208
+0.658372 -0.492249 0.569472
+0.659911 -0.490506 0.569196
+0.657295 -0.484123 0.577569
+0.665198 -0.475505 0.575690
+0.673009 -0.466820 0.573730
+0.670204 -0.459921 0.582460
+0.671271 -0.458518 0.582339
+0.668874 -0.453584 0.588879
+0.669620 -0.452631 0.588765
+0.668929 -0.450886 0.590873
+0.670887 -0.448640 0.590364
+0.667435 -0.443354 0.598166
+0.670052 -0.440368 0.597452
+0.668539 -0.437890 0.600933
+0.670433 -0.435466 0.600587
+0.669580 -0.433885 0.602666
+0.671642 -0.431314 0.602220
+0.670836 -0.429770 0.604205
+0.673064 -0.427051 0.603658
+0.671614 -0.424291 0.607186
+0.678217 -0.415879 0.605674
+0.675419 -0.411813 0.611511
+0.677798 -0.408399 0.611171
+0.674377 -0.398913 0.621073
+0.675729 -0.396925 0.620879
+0.672788 -0.391122 0.627672
+0.669787 -0.385286 0.634409
+0.670601 -0.383588 0.634577
+0.660808 -0.702848 0.266642
+0.671071 -0.693641 0.265123
+0.681204 -0.684303 0.263556
+0.683116 -0.686372 0.253086
+0.684949 -0.688360 0.242587
+0.686023 -0.687495 0.242004
+0.688093 -0.689278 0.230874
+0.690071 -0.690971 0.219714
+0.699508 -0.681716 0.218789
+0.700738 -0.683284 0.209836
+0.705449 -0.678501 0.209573
+0.706734 -0.680167 0.199670
+0.707948 -0.681764 0.189747
+0.713596 -0.675953 0.189378
+0.719200 -0.670097 0.188996
+0.724755 -0.664197 0.188601
+0.730263 -0.658254 0.188195
+0.735722 -0.652268 0.187776
+0.741134 -0.646238 0.187344
+0.743110 -0.647866 0.173470
+0.745624 -0.645003 0.173355
+0.746891 -0.646174 0.163311
+0.749454 -0.643273 0.163026
+0.750443 -0.644395 0.153846
+0.756453 -0.637435 0.153408
+0.757411 -0.638722 0.143044
+0.762771 -0.632383 0.142731
+0.768078 -0.626001 0.142408
+0.773332 -0.619576 0.142076
+0.778533 -0.613107 0.141733
+0.779519 -0.613564 0.134186
+0.786694 -0.604429 0.133770
+0.793764 -0.595212 0.133337
+0.794370 -0.595377 0.128948
+0.802610 -0.584366 0.128299
+0.803326 -0.584655 0.122402
+0.810365 -0.575184 0.120871
+0.810945 -0.575518 0.115302
+0.819579 -0.563148 0.115334
+0.828025 -0.550647 0.115366
+0.828898 -0.551142 0.106452
+0.829966 -0.549626 0.105965
+0.830671 -0.549951 0.098549
+0.835714 -0.542263 0.098509
+0.837399 -0.542148 0.083835
+0.838900 -0.541914 0.069143
+0.843335 -0.534928 0.069588
+0.847712 -0.527905 0.070027
+0.852032 -0.520846 0.070463
+0.856293 -0.513750 0.070893
+0.857747 -0.513083 0.056839
+0.859028 -0.512313 0.042773
+0.860138 -0.511440 0.028698
+0.866415 -0.500767 0.028077
+0.867604 -0.499304 0.013932
+0.873719 -0.488497 0.014832
+0.880953 -0.475267 0.016651
+0.885180 -0.467313 0.017603
+0.889334 -0.459320 0.018552
+0.895953 -0.446198 0.020253
+0.897542 -0.443372 0.008704
+0.902351 -0.433479 0.009718
+0.907051 -0.423532 0.010730
+0.908633 -0.420244 -0.004274
+0.909997 -0.416854 -0.019277
+0.914056 -0.407933 -0.018064
+0.918026 -0.398973 -0.016849
+0.921864 -0.390084 -0.015382
+0.925614 -0.381157 -0.013915
+0.931111 -0.367595 -0.011885
+0.934469 -0.359023 -0.010282
+0.937745 -0.350420 -0.008679
+0.942656 -0.337050 -0.005825
+0.947423 -0.323446 -0.003077
+0.950105 -0.315493 -0.001271
+0.952717 -0.307516 0.000535
+0.955706 -0.298088 0.002614
+0.958596 -0.288631 0.004693
+0.959887 -0.284299 0.005223
+0.961066 -0.280165 -0.009718
+0.962117 -0.276559 -0.009079
+0.962907 -0.273212 -0.019974
+0.964232 -0.268587 -0.018751
+0.964795 -0.265935 -0.026091
+0.968277 -0.253290 -0.022729
+0.971582 -0.240599 -0.019363
+0.974709 -0.227862 -0.015993
+0.975394 -0.223929 -0.026332
+0.975960 -0.219967 -0.036668
+0.978073 -0.210825 -0.033986
+0.978380 -0.207941 -0.041927
+0.978617 -0.205043 -0.049864
+0.977771 -0.208354 -0.052629
+0.977780 -0.206006 -0.060989
+0.977715 -0.203641 -0.069345
+0.976362 -0.209257 -0.071629
+0.975943 -0.208130 -0.080068
+0.975527 -0.209927 -0.080440
+0.975384 -0.207654 -0.087696
+0.976984 -0.200624 -0.086247
+0.976557 -0.198969 -0.094472
+0.977813 -0.193025 -0.093812
+0.977357 -0.190372 -0.103429
+0.976372 -0.194515 -0.104993
+0.975254 -0.192761 -0.117757
+0.971999 -0.206486 -0.121320
+0.968540 -0.220168 -0.124857
+0.964875 -0.233802 -0.128368
+0.964225 -0.231301 -0.137400
+0.963491 -0.228779 -0.146421
+0.964242 -0.226003 -0.145787
+0.962670 -0.222657 -0.160481
+0.961646 -0.226406 -0.161365
+0.960500 -0.224687 -0.170287
+0.959825 -0.227160 -0.170808
+0.957957 -0.224221 -0.184533
+0.955896 -0.221236 -0.198220
+0.953558 -0.229357 -0.200226
+0.951148 -0.237460 -0.202218
+0.948667 -0.245545 -0.204193
+0.946114 -0.253613 -0.206154
+0.944930 -0.251562 -0.213902
+0.945205 -0.250812 -0.213570
+0.944273 -0.249329 -0.219310
+0.945608 -0.245433 -0.217960
+0.943768 -0.242497 -0.228874
+0.942776 -0.245568 -0.229680
+0.941163 -0.244087 -0.237679
+0.939485 -0.242590 -0.245662
+0.943641 -0.229037 -0.242746
+0.940994 -0.224787 -0.256509
+0.938144 -0.220491 -0.270218
+0.937419 -0.223039 -0.270638
+0.935519 -0.220089 -0.279426
+0.932905 -0.228629 -0.281290
+0.930213 -0.237150 -0.283129
+0.928864 -0.235696 -0.288680
+0.928263 -0.237799 -0.288889
+0.925813 -0.234683 -0.299050
+0.923254 -0.231539 -0.309174
+0.926006 -0.222638 -0.307486
+0.928676 -0.213716 -0.305772
+0.926409 -0.211492 -0.314027
+0.924069 -0.209253 -0.322258
+0.925298 -0.204747 -0.321630
+0.922350 -0.202291 -0.331436
+0.919298 -0.199811 -0.341207
+0.921039 -0.194842 -0.339393
+0.918678 -0.192795 -0.346830
+0.918154 -0.194671 -0.347169
+0.913513 -0.190231 -0.361478
+0.912491 -0.194066 -0.362018
+0.909709 -0.190869 -0.370559
+0.909312 -0.192217 -0.370837
+0.907122 -0.189825 -0.377329
+0.904538 -0.198285 -0.379166
+0.901880 -0.206727 -0.380972
+0.900449 -0.205422 -0.385014
+0.898003 -0.212938 -0.386631
+0.895497 -0.220441 -0.388223
+0.891326 -0.216684 -0.399689
+0.891882 -0.215280 -0.399211
+0.888064 -0.211991 -0.409288
+0.884133 -0.208676 -0.419311
+0.881373 -0.216659 -0.421057
+0.876388 -0.213044 -0.433053
+0.874274 -0.218767 -0.434461
+0.868782 -0.213644 -0.447734
+0.869412 -0.211773 -0.447403
+0.863364 -0.206993 -0.461051
+0.857104 -0.202162 -0.474583
+0.859797 -0.194483 -0.472929
+0.854552 -0.189960 -0.484068
+0.854552 -0.189960 -0.484068
+0.850761 -0.200522 -0.486463
+0.846875 -0.210996 -0.488791
+0.842452 -0.207239 -0.497897
+0.843026 -0.205756 -0.497541
+0.837960 -0.201839 -0.507537
+0.832757 -0.197878 -0.517494
+0.832101 -0.199751 -0.517828
+0.828253 -0.196881 -0.524997
+0.824336 -0.194034 -0.532127
+0.820933 -0.202902 -0.534062
+0.817474 -0.211762 -0.535913
+0.813200 -0.209492 -0.543209
+0.807896 -0.206933 -0.551974
+0.806014 -0.211481 -0.552993
+0.802219 -0.207694 -0.559858
+0.797554 -0.217799 -0.562658
+0.793943 -0.213975 -0.569151
+0.792482 -0.216292 -0.570302
+0.789106 -0.212917 -0.576184
+0.783993 -0.225212 -0.578469
+0.778696 -0.237505 -0.580687
+0.773966 -0.247052 -0.583008
+0.771212 -0.241965 -0.588724
+0.768606 -0.236229 -0.594396
+0.766230 -0.240715 -0.595654
+0.762862 -0.238089 -0.600972
+0.758919 -0.235411 -0.606949
+0.756683 -0.239062 -0.608304
+0.751628 -0.235370 -0.615911
+0.748629 -0.229601 -0.621675
+0.750106 -0.226449 -0.621055
+0.750169 -0.220232 -0.623197
+0.747954 -0.215091 -0.627610
+0.743273 -0.212640 -0.633931
+0.739903 -0.211080 -0.638349
+0.736889 -0.217082 -0.639812
+0.731461 -0.216249 -0.646246
+0.728930 -0.221013 -0.647485
+0.724508 -0.218971 -0.653080
+0.720534 -0.216768 -0.658157
+0.716983 -0.214805 -0.662634
+0.715057 -0.209526 -0.666369
+0.709499 -0.206325 -0.673227
+0.702693 -0.207212 -0.680012
+0.702693 -0.207212 -0.680012
+0.697090 -0.204234 -0.686604
+0.693960 -0.202199 -0.690341
+0.689288 -0.198765 -0.695959
+0.684572 -0.195318 -0.701529
+0.679811 -0.191859 -0.707055
+0.675006 -0.188388 -0.712534
+0.678512 -0.180462 -0.711262
+0.672693 -0.176672 -0.717669
+0.676636 -0.166323 -0.716443
+0.666381 -0.160864 -0.727148
+0.655961 -0.155366 -0.737670
+0.659189 -0.147469 -0.736422
+0.662368 -0.139561 -0.735118
+0.665499 -0.131642 -0.733759
+0.668579 -0.123713 -0.732346
+0.662354 -0.120320 -0.738501
+0.656071 -0.116917 -0.744590
+0.649731 -0.113504 -0.750612
+0.643333 -0.110082 -0.756568
+0.646417 -0.101486 -0.755150
+0.649446 -0.092882 -0.753667
+0.645423 -0.090962 -0.757323
+0.645683 -0.090295 -0.757183
+0.635764 -0.085254 -0.766048
+0.636827 -0.083081 -0.765408
+0.629097 -0.079011 -0.772156
+0.632961 -0.068313 -0.770030
+0.636742 -0.057605 -0.767801
+0.630802 -0.054559 -0.772875
+0.624817 -0.051510 -0.777896
+0.618789 -0.048457 -0.782861
+0.612718 -0.045400 -0.787770
+0.613894 -0.042450 -0.787024
+0.603396 -0.036344 -0.795348
+0.592769 -0.030231 -0.803498
+0.582015 -0.024112 -0.811473
+0.586228 -0.014145 -0.808689
+0.580649 -0.009270 -0.812747
+0.575029 -0.004395 -0.816747
+0.309063 0.847278 -0.433103
+0.301361 0.846723 -0.439525
+0.297940 0.849140 -0.437205
+0.292371 0.848832 -0.441512
+0.290540 0.850312 -0.439881
+0.283022 0.849804 -0.445687
+0.281163 0.850986 -0.444614
+0.275322 0.850667 -0.448831
+0.276020 0.849925 -0.449801
+0.268248 0.848842 -0.456454
+0.260449 0.847667 -0.463060
+0.257751 0.849568 -0.461096
+0.253158 0.849176 -0.464330
+0.251358 0.850433 -0.463014
+0.244059 0.849373 -0.468790
+0.236739 0.848237 -0.474526
+0.239390 0.845548 -0.477960
+0.232677 0.844251 -0.483497
+0.225946 0.842890 -0.488997
+0.226633 0.842137 -0.489968
+0.216458 0.840239 -0.497714
+0.218872 0.838109 -0.500227
+0.216419 0.837730 -0.501914
+0.217935 0.836221 -0.503759
+0.211298 0.834869 -0.508771
+0.204647 0.833457 -0.513746
+0.205328 0.832688 -0.514713
+0.196417 0.830216 -0.522083
+0.200134 0.826925 -0.525856
+0.193317 0.825014 -0.531342
+0.186485 0.823037 -0.536785
+0.179639 0.820993 -0.542185
+0.172778 0.818885 -0.547540
+0.181889 0.810519 -0.556894
+0.172891 0.807608 -0.563898
+0.163872 0.804585 -0.570824
+0.164440 0.804105 -0.571333
+0.158745 0.801979 -0.575882
+0.166084 0.795075 -0.583288
+0.158459 0.792282 -0.589141
+0.150818 0.789410 -0.594934
+0.157758 0.782839 -0.601733
+0.164676 0.776159 -0.608449
+0.154300 0.772627 -0.615575
+0.160497 0.767018 -0.620946
+0.155261 0.765133 -0.624568
+0.160563 0.760156 -0.629254
+0.155865 0.758231 -0.632725
+0.160271 0.754169 -0.636443
+0.153875 0.751313 -0.641347
+0.160744 0.745013 -0.646950
+0.150932 0.740777 -0.654090
+0.148657 0.741169 -0.654166
+0.139011 0.737040 -0.660872
+0.129344 0.732798 -0.667475
+0.124017 0.738207 -0.662540
+0.118679 0.743558 -0.657549
+0.107034 0.738385 -0.665279
+0.095367 0.733050 -0.672860
+0.083679 0.727551 -0.680292
+0.078847 0.732141 -0.675960
+0.074010 0.736685 -0.671585
+0.069167 0.741182 -0.667168
+0.064320 0.745632 -0.662709
+0.059470 0.750036 -0.658208
+0.054616 0.754393 -0.653664
+0.047254 0.751498 -0.657535
+0.039889 0.748544 -0.661355
+0.032521 0.745534 -0.665123
+0.025150 0.742464 -0.668840
+0.019693 0.746269 -0.664804
+0.012839 0.743402 -0.668152
+0.005984 0.740485 -0.671458
+-0.000871 0.737519 -0.674719
+-0.007727 0.734504 -0.677935
+-0.014581 0.731441 -0.681104
+-0.021434 0.728330 -0.684229
+-0.028285 0.725170 -0.687308
+-0.035136 0.721962 -0.690343
+-0.041983 0.718706 -0.693331
+-0.048826 0.715403 -0.696273
+-0.055667 0.712052 -0.699169
+-0.062504 0.708654 -0.702018
+-0.060888 0.706498 -0.704314
+-0.071319 0.701343 -0.708448
+-0.081740 0.696080 -0.712474
+-0.075870 0.690118 -0.718851
+-0.069993 0.684080 -0.725148
+-0.076984 0.680109 -0.728149
+-0.083968 0.676087 -0.731096
+-0.090946 0.672016 -0.733990
+-0.097916 0.667896 -0.736829
+-0.104879 0.663727 -0.739614
+-0.111835 0.659509 -0.742345
+-0.120108 0.667399 -0.734010
+-0.126784 0.663557 -0.736351
+-0.133445 0.659673 -0.738645
+-0.140101 0.655745 -0.740891
+-0.146741 0.651778 -0.743089
+-0.153376 0.647766 -0.745239
+-0.160007 0.643714 -0.747339
+-0.166620 0.639619 -0.749393
+-0.173217 0.635486 -0.751397
+-0.179809 0.631309 -0.753353
+-0.186396 0.627091 -0.755261
+-0.188889 0.629920 -0.752301
+-0.196914 0.625063 -0.754278
+-0.204915 0.620152 -0.756186
+-0.204112 0.619351 -0.757053
+-0.214917 0.611960 -0.760047
+-0.214917 0.611960 -0.760047
+-0.225657 0.604448 -0.762920
+-0.229592 0.602252 -0.763480
+-0.232470 0.601555 -0.763160
+-0.234296 0.598990 -0.764608
+-0.236698 0.595824 -0.766328
+-0.249554 0.588855 -0.767626
+-0.259349 0.581850 -0.769704
+-0.265599 0.586544 -0.764027
+-0.276640 0.579988 -0.765106
+-0.282289 0.579085 -0.763735
+-0.286831 0.581482 -0.760237
+-0.292275 0.582771 -0.757191
+-0.299129 0.574059 -0.761133
+-0.304287 0.567636 -0.763882
+-0.308182 0.566491 -0.763175
+-0.315351 0.560435 -0.764705
+-0.323524 0.554244 -0.765795
+-0.329341 0.558753 -0.760056
+-0.336823 0.564086 -0.752852
+-0.343016 0.558547 -0.754176
+-0.337614 0.552298 -0.761136
+-0.340928 0.548449 -0.762432
+-0.343560 0.545058 -0.763673
+-0.346933 0.543466 -0.763286
+-0.349845 0.542915 -0.762355
+-0.353241 0.543673 -0.760260
+-0.355915 0.541252 -0.760736
+-0.363505 0.543592 -0.755496
+-0.367334 0.544452 -0.753037
+-0.369721 0.543762 -0.752372
+-0.372434 0.539732 -0.753924
+-0.374769 0.535385 -0.755851
+-0.374446 0.532288 -0.758178
+-0.373874 0.528784 -0.760889
+-0.378774 0.523332 -0.762225
+-0.382872 0.525549 -0.758668
+-0.387410 0.528090 -0.754616
+-0.392217 0.531330 -0.749875
+-0.395630 0.527678 -0.750656
+-0.399253 0.523848 -0.751414
+-0.394377 0.518764 -0.757452
+-0.391147 0.515392 -0.761391
+-0.387983 0.512206 -0.765126
+-0.396830 0.502257 -0.767168
+-0.404787 0.492585 -0.769265
+-0.413100 0.482500 -0.771222
+-0.418154 0.476712 -0.772091
+-0.423712 0.478667 -0.767868
+-0.429903 0.473103 -0.767875
+-0.438984 0.463159 -0.768793
+-0.444854 0.456735 -0.769259
+-0.450688 0.450279 -0.769666
+-0.454085 0.450202 -0.767725
+-0.461347 0.442014 -0.768151
+-0.467132 0.436431 -0.767848
+-0.472703 0.430127 -0.767995
+-0.477955 0.424334 -0.767967
+-0.482918 0.418170 -0.768242
+-0.486560 0.413437 -0.768504
+-0.477956 0.404863 -0.778338
+-0.471583 0.398336 -0.785512
+-0.475526 0.394467 -0.785090
+-0.471001 0.389646 -0.790174
+-0.466440 0.384804 -0.795203
+-0.459004 0.377245 -0.803059
+-0.455348 0.373242 -0.806975
+-0.458613 0.365438 -0.808684
+-0.461850 0.357602 -0.810333
+-0.470999 0.344997 -0.810530
+-0.467498 0.336154 -0.816214
+-0.474479 0.327309 -0.815783
+-0.483494 0.315414 -0.815180
+-0.483494 0.315414 -0.815180
+-0.478628 0.310315 -0.819962
+-0.473721 0.305222 -0.824677
+-0.468780 0.300109 -0.829333
+-0.463809 0.294967 -0.833929
+-0.458803 0.289808 -0.838464
+-0.453765 0.284624 -0.842939
+-0.455116 0.283550 -0.842575
+-0.459842 0.278425 -0.841724
+-0.453026 0.270594 -0.847909
+-0.448470 0.265245 -0.851984
+-0.443881 0.259882 -0.856003
+-0.438047 0.252846 -0.861066
+-0.442468 0.247967 -0.860230
+-0.437470 0.242414 -0.864331
+-0.432436 0.236850 -0.868371
+-0.440410 0.229527 -0.866341
+-0.448331 0.222173 -0.864207
+-0.440574 0.212091 -0.870662
+-0.432730 0.201960 -0.876939
+-0.424798 0.191795 -0.883037
+-0.416779 0.181593 -0.888955
+-0.427699 0.173062 -0.885487
+-0.438537 0.164486 -0.881837
+-0.449282 0.155885 -0.878008
+-0.451741 0.153539 -0.877165
+0.168913 -0.677785 -0.714759
+0.161040 -0.679902 -0.714567
+0.149000 -0.681132 -0.715998
+0.148228 -0.683503 -0.713908
+0.146816 -0.690133 -0.707837
+0.145923 -0.698891 -0.699435
+0.137219 -0.698980 -0.701095
+0.128493 -0.699129 -0.702588
+0.119758 -0.699224 -0.704025
+0.109493 -0.699730 -0.705186
+0.099216 -0.700161 -0.706270
+0.097677 -0.707337 -0.699347
+0.096285 -0.716919 -0.689782
+0.095523 -0.726438 -0.679923
+0.083446 -0.726475 -0.681462
+0.083513 -0.727769 -0.680080
+0.082467 -0.735639 -0.671745
+0.081726 -0.742185 -0.664645
+0.080975 -0.748663 -0.657481
+0.072271 -0.748787 -0.658348
+0.063562 -0.748853 -0.659165
+0.049177 -0.748322 -0.660983
+0.034782 -0.747634 -0.662663
+0.033858 -0.750556 -0.659421
+0.020352 -0.750514 -0.660020
+0.009824 -0.750039 -0.660795
+-0.000706 -0.749480 -0.661497
+-0.001152 -0.753790 -0.656613
+-0.009720 -0.753455 -0.656925
+-0.018286 -0.753063 -0.657190
+-0.019507 -0.757285 -0.652318
+-0.020126 -0.762385 -0.646372
+-0.020743 -0.767437 -0.640385
+-0.021634 -0.772814 -0.633900
+-0.022522 -0.778136 -0.627369
+-0.031756 -0.777233 -0.628084
+-0.040988 -0.776262 -0.628746
+-0.042012 -0.782108 -0.621439
+-0.054545 -0.780756 -0.622160
+-0.056455 -0.788916 -0.611678
+-0.057509 -0.796478 -0.601765
+-0.068356 -0.795785 -0.601550
+-0.079196 -0.794997 -0.601265
+-0.091208 -0.794172 -0.600656
+-0.103207 -0.793231 -0.599962
+-0.103826 -0.799233 -0.591889
+-0.118121 -0.798301 -0.590474
+-0.133736 -0.796459 -0.589636
+-0.149318 -0.794421 -0.588651
+-0.158330 -0.793371 -0.587719
+-0.167330 -0.792254 -0.586738
+-0.176318 -0.791070 -0.585708
+-0.185280 -0.789823 -0.584631
+-0.196442 -0.788005 -0.583448
+-0.207589 -0.786081 -0.582190
+-0.216003 -0.784677 -0.581030
+-0.224405 -0.783213 -0.579827
+-0.233789 -0.780944 -0.579185
+-0.243149 -0.778602 -0.578489
+-0.253349 -0.776452 -0.577009
+-0.263520 -0.774217 -0.575465
+-0.271694 -0.777620 -0.567070
+-0.451741 0.153539 -0.877165
+-0.449232 0.146181 -0.879690
+-0.444135 0.139362 -0.883352
+-0.439002 0.132526 -0.886939
+-0.443057 0.128946 -0.885459
+-0.446443 0.125700 -0.884232
+-0.449664 0.122441 -0.883064
+-0.451863 0.120206 -0.882254
+-0.447077 0.114349 -0.885444
+-0.444772 0.111150 -0.887000
+-0.439671 0.104582 -0.890313
+-0.438074 0.102282 -0.891360
+-0.443067 0.097820 -0.889404
+-0.447284 0.092815 -0.887839
+-0.450115 0.089877 -0.886717
+-0.453757 0.086247 -0.885230
+-0.450795 0.082696 -0.887068
+-0.446919 0.078257 -0.889413
+-0.444713 0.074890 -0.890799
+-0.440837 0.069751 -0.893123
+-0.436012 0.064074 -0.895894
+-0.432073 0.059463 -0.898103
+-0.429963 0.056453 -0.899301
+-0.423437 0.047264 -0.902896
+-0.427524 0.043110 -0.901188
+-0.430958 0.039114 -0.899743
+-0.433392 0.036682 -0.898683
+-0.436623 0.033734 -0.897243
+-0.433700 0.029848 -0.898786
+-0.430450 0.025958 -0.900457
+-0.429060 0.023845 -0.901173
+-0.425633 0.019789 -0.902883
+-0.422037 0.015557 -0.904641
+-0.420477 0.012920 -0.905403
+-0.417492 0.009044 -0.906821
+-0.414342 0.004477 -0.908289
+-0.410216 0.000265 -0.910158
+-0.406238 -0.005694 -0.911911
+-0.403361 -0.008499 -0.913157
+-0.407979 -0.014775 -0.911037
+-0.411770 -0.021061 -0.909219
+-0.417875 -0.031208 -0.906157
+-0.412395 -0.035572 -0.908488
+-0.406740 -0.039752 -0.910845
+-0.411416 -0.045355 -0.908496
+-0.418674 -0.054993 -0.904666
+-0.427105 -0.065356 -0.900054
+-0.417774 -0.073342 -0.903786
+-0.418983 -0.075093 -0.903087
+-0.426017 -0.081969 -0.899216
+-0.432840 -0.089015 -0.895305
+-0.440957 -0.097653 -0.890463
+-0.448660 -0.106820 -0.885582
+-0.446148 -0.109593 -0.886506
+-0.438042 -0.116153 -0.889686
+-0.428570 -0.123530 -0.893274
+-0.433968 -0.132669 -0.889375
+-0.440199 -0.142511 -0.884809
+-0.435127 -0.146961 -0.886576
+-0.428228 -0.152232 -0.889026
+-0.431546 -0.158026 -0.886425
+-0.422271 -0.164611 -0.889665
+-0.424495 -0.168121 -0.887960
+-0.418083 -0.172313 -0.890181
+-0.411741 -0.177179 -0.892166
+-0.414846 -0.184510 -0.889257
+-0.419656 -0.193428 -0.885123
+-0.425587 -0.204602 -0.879798
+-0.424246 -0.205262 -0.880289
+-0.428378 -0.212081 -0.876688
+-0.433289 -0.221315 -0.872012
+-0.439236 -0.232377 -0.866178
+-0.445102 -0.243393 -0.860178
+-0.437769 -0.248869 -0.862356
+-0.440506 -0.256288 -0.858807
+-0.444382 -0.264233 -0.854420
+-0.448523 -0.277273 -0.848144
+-0.452862 -0.286376 -0.842832
+-0.449188 -0.289848 -0.843606
+-0.450778 -0.296320 -0.840524
+-0.454871 -0.307057 -0.834485
+-0.457094 -0.315187 -0.830257
+-0.459272 -0.323297 -0.825954
+-0.455662 -0.325237 -0.827182
+-0.444901 -0.331329 -0.830592
+-0.433541 -0.337673 -0.834014
+-0.425831 -0.342242 -0.836107
+-0.418081 -0.346790 -0.838129
+-0.419505 -0.351495 -0.835471
+-0.422038 -0.359882 -0.830643
+-0.425757 -0.367621 -0.825375
+-0.429442 -0.365768 -0.824295
+-0.431324 -0.371614 -0.820714
+-0.434165 -0.380096 -0.815350
+-0.437159 -0.388974 -0.809582
+-0.440104 -0.397804 -0.803714
+-0.436295 -0.399483 -0.804948
+-0.427497 -0.404405 -0.807193
+-0.429782 -0.412434 -0.801935
+-0.420978 -0.416491 -0.804488
+-0.410491 -0.422043 -0.806992
+-0.397178 -0.427863 -0.810558
+-0.389730 -0.430929 -0.812533
+-0.382255 -0.433965 -0.814453
+-0.369354 -0.439259 -0.817541
+-0.362061 -0.441644 -0.819503
+-0.354747 -0.444003 -0.821412
+-0.341725 -0.449701 -0.823813
+-0.342647 -0.458026 -0.818862
+-0.337181 -0.460750 -0.819598
+-0.325503 -0.463539 -0.822719
+-0.317797 -0.466537 -0.824028
+-0.310072 -0.469500 -0.825278
+-0.302362 -0.471791 -0.826820
+-0.294633 -0.474049 -0.828308
+-0.294226 -0.477604 -0.826421
+-0.295405 -0.487234 -0.820398
+-0.296478 -0.500061 -0.812306
+-0.286266 -0.502183 -0.814641
+-0.275330 -0.505390 -0.816414
+-0.276125 -0.512542 -0.811705
+-0.278037 -0.522097 -0.804979
+-0.278296 -0.530954 -0.799115
+-0.291950 -0.527191 -0.796747
+-0.291986 -0.529478 -0.795226
+-0.291357 -0.538359 -0.789512
+-0.291373 -0.545235 -0.784805
+-0.291370 -0.552071 -0.780044
+-0.291324 -0.559105 -0.775070
+-0.291248 -0.566100 -0.770038
+-0.290236 -0.574519 -0.764202
+-0.289191 -0.582878 -0.758285
+-0.276127 -0.585923 -0.760787
+-0.268454 -0.587547 -0.762269
+-0.260761 -0.589134 -0.763704
+-0.262059 -0.595716 -0.758170
+-0.262526 -0.602963 -0.752297
+-0.262966 -0.610160 -0.746357
+-0.263820 -0.617592 -0.739958
+-0.264640 -0.624969 -0.733486
+-0.265114 -0.634241 -0.725366
+-0.265540 -0.643419 -0.717135
+-0.268439 -0.642510 -0.716873
+-0.268661 -0.647008 -0.712760
+-0.269383 -0.654188 -0.705947
+-0.270088 -0.661302 -0.699062
+-0.270024 -0.669308 -0.691476
+-0.269917 -0.677240 -0.683804
+-0.269759 -0.683493 -0.677658
+-0.269580 -0.689694 -0.671460
+-0.264616 -0.691005 -0.672082
+-0.266851 -0.701311 -0.660500
+-0.268325 -0.708083 -0.652685
+-0.269765 -0.714780 -0.644796
+-0.270287 -0.721649 -0.636931
+-0.270775 -0.728441 -0.628996
+-0.281947 -0.724276 -0.628897
+-0.282324 -0.725321 -0.627531
+-0.282141 -0.732441 -0.619346
+-0.281920 -0.739476 -0.611087
+-0.281695 -0.746746 -0.602345
+-0.281443 -0.753917 -0.593524
+-0.285160 -0.753102 -0.592790
+-0.285355 -0.754572 -0.590836
+-0.284971 -0.758997 -0.585365
+-0.289275 -0.757734 -0.584894
+-0.290772 -0.762374 -0.578128
+-0.290927 -0.764784 -0.574879
+0.575029 -0.004395 -0.816747
+0.572561 -0.010384 -0.818414
+0.570851 -0.016004 -0.819510
+0.563323 -0.015870 -0.824670
+0.563118 -0.020452 -0.824709
+0.562044 -0.028435 -0.825202
+0.561106 -0.036484 -0.825521
+0.560457 -0.039742 -0.825809
+0.559438 -0.045902 -0.826178
+0.553633 -0.045278 -0.830088
+0.548088 -0.044998 -0.833750
+0.546934 -0.052166 -0.834088
+0.545694 -0.057902 -0.834518
+0.541147 -0.057778 -0.837463
+0.537350 -0.057713 -0.839892
+0.536490 -0.061487 -0.840172
+0.535284 -0.065717 -0.840618
+0.530890 -0.065305 -0.843413
+0.527197 -0.064816 -0.845748
+0.525844 -0.069460 -0.846218
+0.523438 -0.079227 -0.846848
+0.520041 -0.090624 -0.847791
+0.516880 -0.102248 -0.848397
+0.512908 -0.115108 -0.849155
+0.509047 -0.126488 -0.849855
+0.505441 -0.136084 -0.850520
+0.502542 -0.143831 -0.850960
+0.502165 -0.144038 -0.851146
+0.497199 -0.144692 -0.853927
+0.491979 -0.144891 -0.856891
+0.490681 -0.149238 -0.856890
+0.488247 -0.155510 -0.857163
+0.486831 -0.158745 -0.857374
+0.481564 -0.157616 -0.860529
+0.480236 -0.160056 -0.860819
+0.474263 -0.159121 -0.864274
+0.469507 -0.158430 -0.866975
+0.466908 -0.164154 -0.867311
+0.458830 -0.163212 -0.871759
+0.456118 -0.171907 -0.871513
+0.453367 -0.180587 -0.871194
+0.449795 -0.190128 -0.871017
+0.446177 -0.199649 -0.870750
+0.444694 -0.208248 -0.869502
+0.443178 -0.216831 -0.868186
+0.143539 -0.597115 -0.787981
+0.144247 -0.606694 -0.780550
+0.144882 -0.615607 -0.773469
+0.145052 -0.627781 -0.763655
+0.146626 -0.636323 -0.756299
+0.149763 -0.644867 -0.748459
+0.154768 -0.652155 -0.741140
+0.159720 -0.656244 -0.736496
+0.164664 -0.660292 -0.731806
+0.167149 -0.668314 -0.723972
+0.168913 -0.677785 -0.714759
+0.384729 0.826115 0.413050
+0.397284 0.820414 0.412532
+0.408850 0.815232 0.411509
+0.419989 0.809570 0.411470
+0.429461 0.806184 0.408350
+0.437630 0.801492 0.408909
+0.444344 0.797333 0.409792
+0.451031 0.793122 0.410651
+0.461377 0.786480 0.411920
+0.473300 0.778923 0.412747
+0.484956 0.771040 0.414008
+0.490117 0.764768 0.419490
+0.490009 0.758059 0.431540
+0.488796 0.754322 0.439339
+0.487546 0.750529 0.447104
+0.485794 0.744504 0.458850
+0.491350 0.740193 0.459900
+0.503048 0.736386 0.453362
+0.516255 0.729897 0.449017
+0.527025 0.721676 0.449787
+0.532876 0.713363 0.456068
+0.539847 0.703639 0.462879
+0.545088 0.695476 0.468992
+0.549939 0.686018 0.477133
+0.550235 0.679437 0.486065
+0.546798 0.676622 0.493756
+0.550990 0.667279 0.501695
+0.554553 0.660281 0.506964
+0.558066 0.653224 0.512189
+0.558231 0.648200 0.518314
+0.558360 0.643136 0.524407
+0.560685 0.633499 0.533516
+0.563761 0.629873 0.534559
+0.568126 0.625902 0.534601
+0.571173 0.621379 0.536614
+0.576968 0.610289 0.543060
+0.580919 0.599832 0.550399
+0.581799 0.592150 0.557690
+0.582133 0.582133 0.567730
+-0.249373 0.959006 -0.142201
+-0.255880 0.956225 -0.149152
+-0.265772 0.952531 -0.155324
+-0.274380 0.949181 -0.160728
+-0.277950 0.947752 -0.162995
+-0.285666 0.944562 -0.168062
+-0.294552 0.941125 -0.171937
+-0.301897 0.938274 -0.174733
+-0.310393 0.935092 -0.176881
+-0.321706 0.930764 -0.179457
+-0.330725 0.927451 -0.180208
+-0.339263 0.924130 -0.181387
+-0.346565 0.921289 -0.182029
+-0.352988 0.918847 -0.182029
+-0.361003 0.915382 -0.183745
+-0.371225 0.911023 -0.185029
+-0.377333 0.908136 -0.186848
+-0.387323 0.903517 -0.188773
+-0.395884 0.899459 -0.190375
+-0.405952 0.894500 -0.192511
+-0.415254 0.889987 -0.193579
+-0.423801 0.885690 -0.194751
+-0.433013 0.881009 -0.195712
+-0.443336 0.875643 -0.196671
+-0.454340 0.869960 -0.196777
+-0.464250 0.864517 -0.197628
+-0.472028 0.860393 -0.197203
+-0.479764 0.855980 -0.197736
+-0.488152 0.850949 -0.198907
+-0.497074 0.845516 -0.199972
+-0.503535 0.841812 -0.199436
+-0.503535 0.841812 -0.199436
+-0.506822 0.839837 -0.199439
+-0.516800 0.834066 -0.198054
+-0.529446 0.827013 -0.194218
+-0.538292 0.822063 -0.190910
+-0.549436 0.815801 -0.185992
+-0.560990 0.809146 -0.180529
+-0.567394 0.805555 -0.176559
+-0.572238 0.802782 -0.173550
+-0.578001 0.799388 -0.170108
+-0.584785 0.795128 -0.166877
+-0.592336 0.790267 -0.163319
+-0.600557 0.784644 -0.160404
+-0.607124 0.779885 -0.158892
+-0.613647 0.774897 -0.158243
+-0.623601 0.767177 -0.156946
+-0.633821 0.759091 -0.155324
+-0.643124 0.751938 -0.151860
+-0.648549 0.747835 -0.149043
+-0.655320 0.742922 -0.143945
+-0.655320 0.742922 -0.143945
+-0.662146 0.738830 -0.133456
+-0.670403 0.733388 -0.121816
+-0.674136 0.730836 -0.116466
+-0.468522 0.172355 -0.864863
+-0.462965 0.165519 -0.869151
+-0.456255 0.159421 -0.873796
+-0.452526 0.154679 -0.876564
+-0.451741 0.153539 -0.877165
+-0.688618 0.159600 -0.706553
+-0.690969 0.158253 -0.704572
+-0.693846 0.155500 -0.702369
+-0.696885 0.152098 -0.700116
+-0.699545 0.147660 -0.698423
+-0.702535 0.143086 -0.696384
+-0.704957 0.139969 -0.694580
+-0.704957 0.139969 -0.694580
+-0.707939 0.135866 -0.692373
+-0.712110 0.130093 -0.689219
+-0.715929 0.124911 -0.686234
+-0.720257 0.118747 -0.682814
+-0.722824 0.114549 -0.680829
+-0.725601 0.111331 -0.678421
+-0.726770 0.108967 -0.677559
+-0.728191 0.104169 -0.676792
+-0.731023 0.095034 -0.675093
+-0.732946 0.088359 -0.673921
+-0.735011 0.080834 -0.672624
+-0.736840 0.073494 -0.671472
+-0.738595 0.064775 -0.670448
+-0.739880 0.058191 -0.669640
+-0.739880 0.058191 -0.669640
+-0.742174 0.050844 -0.667710
+-0.744455 0.043277 -0.665714
+-0.745929 0.037487 -0.664423
+-0.748041 0.031261 -0.662381
+-0.751849 0.026058 -0.658309
+-0.756337 0.022659 -0.653309
+-0.760806 0.019045 -0.648249
+-0.764689 0.016125 -0.643774
+-0.769248 0.014099 -0.638404
+-0.774355 0.011827 -0.632288
+-0.778137 0.010662 -0.627679
+-0.782003 0.008654 -0.622919
+-0.785657 0.005910 -0.618368
+-0.793509 0.002244 -0.608351
+-0.800732 -0.002641 -0.598875
+-0.807087 -0.008861 -0.590280
+-0.813561 -0.013576 -0.581295
+-0.818714 -0.019423 -0.573896
+-0.821844 -0.020961 -0.569380
+-0.823990 -0.022829 -0.566220
+-0.826355 -0.024612 -0.562711
+-0.830197 -0.025974 -0.557004
+-0.832679 -0.029354 -0.553144
+-0.836335 -0.031983 -0.547491
+-0.840968 -0.034277 -0.540255
+-0.845595 -0.034717 -0.533006
+-0.847810 -0.036453 -0.529383
+-0.849171 -0.040031 -0.526953
+-0.852168 -0.043050 -0.521886
+-0.855786 -0.046063 -0.515714
+-0.858825 -0.049670 -0.510336
+-0.861866 -0.052004 -0.504984
+-0.865541 -0.055380 -0.498339
+-0.868925 -0.058430 -0.492105
+-0.872304 -0.059804 -0.485965
+-0.875330 -0.061286 -0.480345
+-0.878827 -0.063226 -0.473705
+-0.882659 -0.065051 -0.466326
+-0.886153 -0.069042 -0.459118
+-0.889649 -0.071579 -0.451960
+-0.892972 -0.071486 -0.445418
+-0.896151 -0.071867 -0.438967
+-0.898365 -0.072565 -0.434334
+-0.900552 -0.074086 -0.429555
+-0.902621 -0.074828 -0.425089
+-0.904844 -0.075521 -0.420247
+-0.907476 -0.076059 -0.414472
+-0.910222 -0.078002 -0.408082
+-0.912331 -0.080059 -0.402976
+-0.912331 -0.080059 -0.402976
+-0.913792 -0.082486 -0.399184
+-0.915556 -0.085530 -0.394506
+-0.917447 -0.088518 -0.389455
+-0.919140 -0.091370 -0.384807
+-0.921025 -0.094545 -0.379532
+-0.923173 -0.097811 -0.373478
+-0.925456 -0.100243 -0.367173
+-0.927027 -0.102296 -0.362644
+-0.928980 -0.105006 -0.356864
+-0.930600 -0.107625 -0.351863
+-0.932571 -0.110905 -0.345612
+-0.934783 -0.113899 -0.338638
+-0.936479 -0.115483 -0.333410
+-0.938527 -0.117332 -0.326988
+-0.940008 -0.118984 -0.322132
+-0.941459 -0.120637 -0.317274
+-0.943045 -0.122631 -0.311791
+-0.944109 -0.123624 -0.308181
+-0.945278 -0.125371 -0.303889
+-0.947246 -0.126827 -0.297129
+-0.948736 -0.127684 -0.291995
+-0.949930 -0.128250 -0.287865
+-0.951822 -0.128573 -0.281441
+-0.953219 -0.128880 -0.276563
+-0.954762 -0.128563 -0.271374
+-0.955619 -0.128271 -0.268501
+-0.956654 -0.127169 -0.265342
+-0.958054 -0.124395 -0.261603
+-0.958961 -0.121587 -0.259607
+-0.960054 -0.118918 -0.256805
+-0.960812 -0.115761 -0.255419
+-0.961489 -0.113408 -0.253931
+-0.962249 -0.111217 -0.252027
+-0.912381 -0.041128 -0.408640
+-0.911418 -0.040622 -0.410818
+-0.908018 -0.038819 -0.418400
+-0.904553 -0.037011 -0.425951
+-0.898741 -0.034636 -0.438195
+-0.892700 -0.030909 -0.450564
+-0.887952 -0.027160 -0.460024
+-0.883091 -0.023402 -0.469426
+-0.877288 -0.019709 -0.480277
+-0.870494 -0.015711 -0.492548
+-0.867970 -0.014029 -0.497003
+-0.863055 -0.011660 -0.505493
+-0.857344 -0.009083 -0.515108
+-0.854311 -0.007232 -0.520118
+-0.850495 -0.003859 -0.526328
+-0.844959 0.000295 -0.535126
+-0.838580 0.005020 -0.544979
+-0.832927 0.009522 -0.553465
+-0.826548 0.014485 -0.562779
+-0.821090 0.018906 -0.570532
+-0.817222 0.022784 -0.575882
+-0.809285 0.029817 -0.586597
+-0.803447 0.034981 -0.594236
+-0.796422 0.041056 -0.603177
+-0.792154 0.044704 -0.608478
+-0.787666 0.048052 -0.613987
+-0.783097 0.051450 -0.619495
+-0.778656 0.054517 -0.624771
+-0.777633 0.055305 -0.625968
+-0.772171 0.059293 -0.632290
+-0.763524 0.052400 -0.643230
+-0.760347 0.054929 -0.646749
+-0.756759 0.059067 -0.650555
+-0.754346 0.061700 -0.653092
+-0.751852 0.065620 -0.655564
+-0.749355 0.070413 -0.657906
+-0.744806 0.068268 -0.663239
+-0.742801 0.065705 -0.665725
+-0.739880 0.058191 -0.669640
+-0.966465 -0.061719 -0.252872
+-0.966600 -0.069880 -0.250237
+-0.966189 -0.079282 -0.249028
+-0.965691 -0.088667 -0.247798
+-0.964391 -0.099949 -0.248563
+-0.963276 -0.104033 -0.251179
+-0.963276 -0.104033 -0.251179
+-0.962249 -0.111217 -0.252027
+-0.754933 0.656901 -0.028084
+-0.757389 0.653646 -0.036555
+-0.759788 0.650321 -0.045024
+-0.763567 0.645059 -0.055495
+-0.766123 0.641260 -0.063636
+-0.768639 0.637503 -0.070618
+-0.770728 0.633850 -0.080038
+-0.772685 0.630232 -0.089158
+-0.772685 0.630232 -0.089158
+-0.773181 0.629535 -0.089774
+-0.779362 0.620310 -0.099904
+-0.787026 0.609798 -0.104406
+-0.794216 0.599441 -0.109761
+-0.800166 0.590602 -0.114335
+-0.805549 0.582349 -0.118758
+-0.811279 0.573568 -0.122406
+-0.815708 0.565898 -0.128476
+-0.819259 0.559573 -0.133451
+-0.825454 0.548472 -0.141093
+-0.829746 0.540533 -0.146416
+-0.829676 0.539746 -0.149662
+-0.847234 0.517418 -0.128837
+-0.854419 0.507034 -0.122557
+-0.859383 0.498969 -0.120948
+-0.861970 0.494734 -0.119944
+-0.866739 0.487128 -0.116685
+-0.871274 0.480017 -0.112327
+-0.874759 0.474580 -0.108295
+-0.878166 0.469370 -0.103347
+-0.881538 0.463662 -0.100382
+-0.884900 0.457650 -0.098389
+-0.888342 0.450545 -0.100135
+-0.891229 0.443981 -0.103711
+-0.893855 0.437315 -0.109245
+-0.893855 0.437315 -0.109245
+-0.895669 0.432501 -0.113444
+-0.897461 0.427298 -0.118839
+-0.899397 0.420792 -0.127076
+-0.899397 0.420792 -0.127076
+-0.902826 0.412317 -0.130470
+-0.902826 0.412317 -0.130470
+-0.904924 0.406461 -0.134231
+-0.906196 0.402574 -0.137308
+-0.907284 0.398345 -0.142330
+-0.847234 0.517418 -0.128837
+-0.848393 0.515162 -0.130236
+-0.850024 0.511877 -0.132516
+-0.851725 0.508778 -0.133516
+-0.853372 0.506010 -0.133521
+-0.855873 0.501957 -0.132815
+-0.858140 0.498127 -0.132608
+-0.860762 0.493502 -0.132899
+-0.863915 0.487686 -0.133902
+-0.866834 0.482137 -0.135119
+-0.869897 0.476116 -0.136762
+-0.872758 0.470325 -0.138547
+-0.875553 0.464325 -0.141112
+-0.878018 0.458802 -0.143818
+-0.879913 0.454449 -0.146025
+-0.881715 0.450052 -0.148727
+-0.882554 0.447590 -0.151142
+-0.882803 0.446516 -0.152845
+-0.883067 0.445354 -0.154690
+-0.882475 0.444707 -0.159807
+-0.868244 0.468401 -0.169696
+-0.867571 0.470171 -0.168247
+-0.863087 0.478319 -0.168341
+-0.858535 0.486409 -0.168435
+-0.855980 0.489332 -0.172884
+-0.851454 0.498028 -0.170398
+-0.847822 0.506748 -0.162676
+-0.843888 0.512064 -0.166418
+-0.839861 0.520594 -0.160249
+-0.834494 0.530833 -0.154638
+-0.829676 0.539746 -0.149662
+-0.907284 0.398345 -0.142330
+-0.907986 0.395426 -0.145923
+-0.909197 0.391449 -0.149050
+-0.909622 0.390203 -0.149722
+-0.910106 0.388982 -0.149957
+-0.910564 0.387731 -0.150409
+-0.911176 0.385852 -0.151525
+-0.911938 0.383774 -0.152206
+-0.912271 0.382715 -0.152874
+-0.912681 0.381465 -0.153544
+-0.913166 0.379759 -0.154874
+-0.914013 0.377252 -0.155995
+-0.914414 0.375998 -0.156664
+-0.914748 0.374718 -0.157770
+-0.915320 0.373032 -0.158444
+-0.915765 0.371556 -0.159333
+-0.916123 0.370287 -0.160219
+-0.916435 0.369222 -0.160885
+-0.916839 0.367731 -0.161992
+-0.917453 0.365600 -0.163323
+-0.918047 0.363703 -0.164214
+-0.918513 0.362219 -0.164882
+-0.919085 0.360556 -0.165334
+-0.919789 0.358444 -0.166007
+-0.920153 0.357403 -0.166234
+-0.920561 0.356138 -0.166681
+-0.920927 0.354876 -0.167346
+-0.921332 0.353611 -0.167792
+-0.921627 0.352525 -0.168455
+-0.921834 0.351664 -0.169116
+-0.922039 0.350802 -0.169777
+-0.922173 0.349914 -0.170874
+-0.922419 0.348829 -0.171755
+-0.922742 0.347535 -0.172636
+-0.923099 0.346253 -0.173299
+-0.923339 0.345167 -0.174179
+-0.923618 0.343858 -0.175276
+-0.923890 0.342784 -0.175938
+-0.924125 0.341697 -0.176815
+-0.924430 0.340637 -0.177259
+-0.924667 0.339533 -0.178136
+-0.925046 0.338263 -0.178579
+-0.925310 0.337188 -0.179239
+-0.925649 0.335665 -0.180335
+-0.925909 0.334590 -0.180993
+-0.926211 0.333274 -0.181871
+-0.926504 0.331974 -0.182749
+-0.926795 0.330673 -0.183624
+-0.927342 0.328516 -0.184721
+-0.927517 0.327650 -0.185377
+-0.927805 0.326331 -0.186253
+-0.928193 0.324594 -0.187346
+-0.928323 0.323712 -0.188219
+-0.928597 0.322154 -0.189528
+-0.928795 0.321062 -0.190401
+-0.928957 0.319938 -0.191491
+-0.929233 0.318873 -0.191926
+-0.929350 0.317735 -0.193234
+-0.929654 0.316444 -0.193887
+-0.930144 0.314728 -0.194324
+-0.930448 0.313420 -0.194977
+-0.930827 0.312155 -0.195194
+-0.931198 0.310635 -0.195847
+-0.931980 0.307862 -0.196498
+-0.932274 0.306552 -0.197149
+-0.932698 0.304835 -0.197798
+-0.933236 0.302903 -0.198229
+-0.933674 0.301407 -0.198443
+-0.934325 0.299529 -0.198222
+-0.934998 0.297425 -0.198215
+-0.935672 0.295304 -0.198208
+-0.936529 0.293024 -0.197549
+-0.937669 0.289665 -0.197099
+-0.938924 0.286108 -0.196321
+-0.939695 0.283800 -0.195982
+-0.940354 0.281923 -0.195535
+-0.941391 0.278763 -0.195080
+-0.942459 0.275612 -0.194405
+-0.943246 0.273075 -0.194166
+-0.944007 0.270761 -0.193712
+-0.944782 0.268219 -0.193472
+-0.945409 0.266330 -0.193020
+-0.946153 0.264010 -0.192564
+-0.946629 0.262310 -0.192547
+-0.947139 0.260157 -0.192958
+-0.947507 0.258178 -0.193805
+-0.948028 0.255780 -0.194430
+-0.948491 0.252906 -0.195916
+-0.948873 0.249782 -0.198046
+-0.949033 0.247275 -0.200398
+-0.949068 0.245198 -0.202753
+-0.948825 0.243246 -0.206192
+-0.948375 0.241473 -0.210276
+-0.947924 0.240390 -0.213504
+-0.947470 0.239078 -0.216939
+-0.946858 0.237940 -0.220806
+-0.946442 0.237572 -0.222957
+-0.945848 0.236668 -0.226391
+-0.945395 0.235363 -0.229600
+-0.944687 0.233961 -0.233878
+-0.944201 0.233107 -0.236656
+-0.943873 0.232641 -0.238405
+-0.943873 0.232641 -0.238405
+-0.943705 0.232477 -0.239223
+-0.943208 0.231604 -0.241997
+-0.942543 0.230918 -0.245202
+-0.941916 0.230485 -0.247981
+-0.941603 0.230374 -0.249263
+-0.941074 0.229966 -0.251611
+-0.940540 0.229783 -0.253749
+-0.939621 0.229715 -0.257169
+-0.938751 0.230354 -0.259747
+-0.938419 0.230012 -0.261235
+-0.937864 0.230067 -0.263158
+-0.937310 0.230347 -0.264871
+-0.936974 0.229987 -0.266357
+-0.936463 0.229584 -0.268481
+-0.935948 0.229423 -0.270394
+-0.935538 0.228579 -0.272505
+-0.935187 0.228233 -0.273987
+-0.934996 0.227236 -0.275454
+-0.934682 0.226210 -0.277343
+-0.934424 0.225198 -0.279019
+-0.934106 0.224156 -0.280906
+-0.933661 0.223084 -0.283215
+-0.933338 0.222284 -0.284892
+-0.933126 0.221287 -0.286349
+-0.932841 0.220033 -0.288224
+-0.932665 0.218583 -0.289880
+-0.932138 0.217464 -0.292391
+-0.931888 0.216000 -0.294254
+-0.931737 0.214098 -0.296102
+-0.931595 0.212423 -0.297742
+-0.931204 0.212060 -0.299210
+-0.930723 0.211199 -0.301294
+-0.930249 0.210579 -0.303173
+-0.929705 0.209944 -0.305260
+-0.929014 0.209022 -0.307967
+-0.928593 0.208416 -0.309630
+-0.928087 0.207554 -0.311706
+-0.927660 0.206949 -0.313366
+-0.927164 0.206311 -0.315235
+-0.926595 0.205659 -0.317312
+-0.925974 0.205216 -0.319394
+-0.925483 0.204819 -0.321056
+-0.924826 0.203218 -0.323933
+-0.924182 0.201842 -0.326603
+-0.923289 0.200854 -0.329702
+-0.922814 0.199317 -0.331942
+-0.922146 0.197927 -0.334601
+-0.921772 0.196887 -0.336229
+-0.921185 0.195754 -0.338477
+-0.920710 0.194444 -0.340506
+-0.920349 0.192942 -0.342319
+-0.919939 0.192336 -0.343749
+-0.919523 0.191043 -0.345566
+-0.919027 0.189736 -0.347586
+-0.918334 0.188574 -0.350025
+-0.917674 0.186503 -0.352835
+-0.917084 0.185166 -0.355052
+-0.916597 0.184069 -0.356864
+-0.916028 0.182957 -0.358878
+-0.915725 0.181717 -0.360267
+-0.915057 0.179875 -0.362862
+-0.914426 0.177813 -0.365443
+-0.914065 0.176782 -0.366835
+-0.913485 0.175199 -0.369019
+-0.913163 0.173947 -0.370396
+-0.912759 0.172666 -0.371976
+-0.912298 0.172051 -0.373380
+-0.912137 0.170389 -0.374527
+-0.911883 0.169156 -0.375693
+-0.911672 0.167702 -0.376848
+-0.911392 0.165316 -0.378564
+-0.910938 0.163329 -0.380502
+-0.910639 0.161390 -0.382032
+-0.910411 0.159940 -0.383176
+-0.910138 0.158697 -0.384330
+-0.910068 0.156853 -0.385246
+-0.909957 0.155199 -0.386172
+-0.909840 0.153561 -0.387096
+-0.909719 0.151468 -0.388194
+-0.909637 0.149611 -0.389101
+-0.909636 0.148225 -0.389628
+-0.909670 0.146650 -0.390142
+-0.909785 0.145089 -0.390454
+-0.909817 0.143499 -0.390965
+-0.909924 0.141482 -0.391448
+-0.909944 0.139436 -0.392130
+-0.910048 0.137876 -0.392437
+-0.910190 0.136094 -0.392727
+-0.910365 0.134106 -0.393003
+-0.910425 0.132768 -0.393318
+-0.910753 0.130365 -0.393361
+-0.910928 0.128833 -0.393460
+-0.911052 0.127067 -0.393744
+-0.911331 0.124885 -0.393797
+-0.911545 0.123602 -0.393707
+-0.911677 0.122275 -0.393816
+-0.911838 0.121034 -0.393826
+0.450843 -0.832198 0.325138
+0.440917 -0.835442 0.330354
+0.430317 -0.838987 0.335277
+0.422476 -0.842189 0.337204
+0.416496 -0.844946 0.337741
+0.407728 -0.848848 0.338648
+0.395928 -0.854065 0.339526
+0.387489 -0.857953 0.339459
+0.379014 -0.861758 0.339390
+0.367394 -0.867230 0.338236
+0.360027 -0.870526 0.337694
+0.352637 -0.873765 0.337130
+0.340137 -0.879327 0.335519
+0.331273 -0.882029 0.337279
+0.322380 -0.884652 0.339011
+0.311941 -0.887114 0.342304
+0.301464 -0.889465 0.345554
+0.293140 -0.891821 0.346635
+0.284793 -0.894109 0.347691
+0.270685 -0.898733 0.347041
+0.259018 -0.902957 0.344988
+0.247311 -0.907039 0.342878
+0.239614 -0.909395 0.342108
+0.231901 -0.911692 0.341315
+0.222036 -0.914739 0.339730
+0.212145 -0.917686 0.338108
+0.201247 -0.920887 0.336075
+0.190323 -0.923965 0.333998
+0.179953 -0.926726 0.332105
+0.169560 -0.929377 0.330173
+0.160748 -0.931554 0.328451
+0.151923 -0.933653 0.326701
+0.143877 -0.935469 0.325153
+0.135822 -0.937220 0.323583
+0.137312 -0.940013 0.314790
+0.138793 -0.942725 0.305968
+0.128673 -0.944758 0.304124
+0.118479 -0.946440 0.303043
+0.104656 -0.948840 0.300633
+0.095746 -0.950504 0.298352
+0.084871 -0.952778 0.294394
+0.072273 -0.954824 0.291128
+0.061539 -0.956678 0.287510
+0.050797 -0.958407 0.283852
+0.038179 -0.960109 0.280078
+0.027691 -0.961894 0.275175
+0.018901 -0.963715 0.269528
+0.010592 -0.965745 0.262675
+0.004762 -0.967613 0.255930
+-0.000631 -0.969498 0.248786
+-0.007223 -0.971514 0.240742
+-0.013770 -0.973615 0.231865
+-0.015311 -0.976794 0.218074
+-0.015311 -0.976794 0.218074
+-0.004991 -0.977059 0.217374
+0.006503 -0.977987 0.213147
+0.018460 -0.978928 0.208100
+0.028754 -0.979772 0.202931
+0.036126 -0.980585 0.197796
+0.043496 -0.981318 0.192643
+0.051934 -0.982721 0.183231
+0.057598 -0.983398 0.177866
+0.433299 -0.883623 0.182962
+0.443259 -0.878750 0.182575
+0.452352 -0.874202 0.182106
+0.459740 -0.870424 0.181706
+0.469114 -0.865521 0.181170
+0.478436 -0.860520 0.180614
+0.485546 -0.856709 0.179761
+0.492623 -0.852842 0.178899
+0.505589 -0.845494 0.177608
+0.512735 -0.841289 0.177096
+0.519846 -0.837025 0.176571
+0.519846 -0.837025 0.176571
+0.524806 -0.832143 0.184728
+0.527221 -0.828611 0.193464
+0.527825 -0.826093 0.202322
+0.525674 -0.824131 0.215408
+0.522832 -0.822835 0.226893
+0.519089 -0.821458 0.240009
+0.516508 -0.819903 0.250589
+0.513888 -0.819627 0.256759
+0.507826 -0.821868 0.261579
+0.504087 -0.823443 0.263835
+0.501767 -0.824163 0.265985
+0.500515 -0.822941 0.272018
+0.498396 -0.822985 0.275726
+0.497037 -0.821482 0.282531
+0.491909 -0.821540 0.291147
+0.485632 -0.823283 0.296671
+0.479727 -0.824883 0.301756
+0.475648 -0.825553 0.306315
+0.471380 -0.825693 0.312433
+0.466818 -0.826235 0.317769
+0.463777 -0.827423 0.319118
+0.460326 -0.827450 0.323976
+0.450843 -0.832198 0.325138
+-0.015311 -0.976794 0.218074
+-0.022276 -0.975699 0.222308
+-0.029240 -0.974537 0.226527
+-0.035073 -0.973579 0.229777
+-0.038636 -0.973637 0.228962
+-0.044138 -0.972286 0.233630
+-0.050244 -0.971061 0.237433
+-0.056115 -0.970442 0.238639
+-0.061921 -0.969145 0.242418
+-0.068613 -0.967809 0.245906
+-0.076748 -0.966077 0.250245
+-0.082239 -0.964642 0.253983
+-0.086274 -0.963447 0.257137
+-0.092057 -0.961982 0.260571
+-0.097548 -0.960579 0.263711
+-0.104551 -0.959448 0.265132
+-0.113054 -0.958487 0.265118
+-0.121255 -0.957492 0.265090
+-0.129078 -0.955762 0.267608
+-0.136897 -0.954045 0.269826
+-0.143828 -0.952391 0.272038
+-0.151032 -0.950558 0.274517
+-0.157602 -0.948434 0.278123
+-0.163608 -0.946600 0.280873
+-0.172229 -0.944342 0.283292
+-0.180790 -0.941753 0.286537
+-0.194110 -0.937075 0.293042
+-0.205733 -0.933242 0.297284
+-0.217820 -0.928679 0.302873
+-0.227014 -0.924793 0.307935
+-0.233157 -0.922038 0.311559
+-0.236519 -0.920782 0.312731
+-0.241419 -0.918600 0.315373
+-0.246147 -0.915883 0.319564
+-0.249199 -0.914239 0.321884
+-0.255911 -0.917437 0.307284
+-0.253077 -0.918852 0.305408
+-0.253590 -0.922729 0.293129
+-0.255119 -0.926330 0.280244
+-0.255353 -0.929778 0.268442
+-0.255305 -0.931960 0.260864
+-0.244848 -0.933967 0.263677
+-0.243465 -0.937155 0.253517
+-0.242058 -0.940234 0.243327
+-0.238611 -0.944298 0.230749
+-0.235126 -0.948185 0.218127
+-0.233178 -0.951338 0.206241
+-0.234904 -0.950981 0.205932
+-0.234171 -0.952870 0.197929
+-0.233418 -0.954696 0.189912
+-0.232073 -0.957228 0.178546
+-0.231683 -0.957808 0.175944
+-0.243414 -0.955231 0.174119
+-0.244024 -0.957623 0.159611
+-0.243866 -0.959663 0.147199
+-0.243453 -0.960074 0.145199
+-0.232797 -0.962634 0.145726
+-0.222114 -0.965077 0.146235
+-0.219904 -0.967130 0.135701
+-0.217660 -0.969068 0.125150
+-0.216324 -0.971122 0.110814
+-0.214937 -0.972971 0.096454
+-0.212901 -0.974818 0.081214
+-0.210826 -0.976427 0.065955
+-0.212110 -0.976181 0.065488
+-0.211156 -0.976718 0.060386
+-0.211545 -0.976865 0.056558
+-0.169214 -0.985912 0.039632
+-0.167814 -0.986206 0.038257
+-0.155079 -0.988340 0.036897
+-0.154570 -0.988353 0.038649
+-0.145580 -0.989763 0.037464
+-0.136578 -0.991089 0.036275
+-0.131471 -0.991772 0.036482
+-0.132073 -0.991810 0.033161
+-0.119859 -0.993367 0.032942
+-0.107628 -0.994774 0.032718
+-0.106652 -0.994647 0.039091
+-0.091084 -0.996205 0.038810
+-0.090615 -0.996040 0.043789
+-0.076811 -0.997250 0.042619
+-0.062993 -0.998268 0.041442
+-0.051095 -0.999000 0.040174
+-0.039188 -0.999589 0.038901
+-0.036486 -0.999709 0.038426
+-0.036982 -0.999826 0.034765
+-0.026846 -1.000137 0.035133
+-0.027254 -1.000240 0.031735
+-0.012178 -1.000581 0.030331
+-0.011585 -1.000858 0.019575
+0.003780 -1.000934 0.018745
+0.019144 -1.000773 0.017911
+0.034506 -1.000376 0.017073
+0.049858 -0.999743 0.016230
+0.065196 -0.998873 0.015384
+0.080522 -0.997768 0.014533
+0.081136 -0.997408 0.028728
+0.094596 -0.996245 0.027920
+0.094651 -0.995975 0.036094
+0.094699 -0.995638 0.044266
+0.096382 -0.994974 0.054353
+0.105832 -0.993988 0.054814
+0.115272 -0.992912 0.055270
+0.125176 -0.991757 0.054451
+0.123927 -0.991419 0.062771
+0.123858 -0.990863 0.071086
+0.123777 -0.990217 0.079643
+0.123687 -0.989499 0.088194
+0.123526 -0.988209 0.101739
+0.123354 -0.986835 0.114406
+0.123211 -0.985680 0.124046
+0.123145 -0.985133 0.128350
+0.384729 0.826115 0.413050
+0.377310 0.827628 0.416823
+0.369863 0.829082 0.420566
+0.360617 0.830536 0.425660
+0.351332 0.831897 0.430704
+0.347524 0.829485 0.438326
+0.346143 0.825564 0.446686
+0.344477 0.821396 0.455510
+0.340686 0.815725 0.468286
+0.338974 0.812018 0.475858
+0.339877 0.810107 0.478447
+0.336715 0.804024 0.490703
+0.334975 0.800827 0.497039
+0.326379 0.801734 0.501249
+0.320547 0.805929 0.498297
+0.317454 0.813368 0.488153
+0.312028 0.816501 0.486431
+0.300179 0.819419 0.488956
+0.295343 0.815853 0.497726
+0.292480 0.811430 0.506511
+0.289587 0.806921 0.515241
+0.290393 0.802244 0.522001
+0.291177 0.797512 0.528726
+0.282630 0.795449 0.536366
+0.274044 0.793277 0.543933
+0.266183 0.790582 0.551653
+0.258289 0.787786 0.559301
+0.247844 0.784110 0.569042
+0.247844 0.784110 0.569042
+0.241490 0.791339 0.561769
+0.235099 0.798455 0.554412
+0.226360 0.806068 0.547033
+0.216119 0.811631 0.542960
+0.209427 0.820115 0.532808
+0.210025 0.825283 0.524583
+0.199517 0.832394 0.517450
+0.193298 0.837713 0.511231
+0.184361 0.841369 0.508538
+0.178569 0.845629 0.503548
+0.174054 0.849612 0.498432
+0.167142 0.852858 0.495265
+0.163357 0.856094 0.490956
+0.154870 0.859855 0.487145
+0.148384 0.861429 0.486387
+0.143736 0.863236 0.484588
+0.136494 0.865996 0.481768
+0.132161 0.869869 0.476002
+0.119682 0.873744 0.472216
+0.108753 0.877543 0.467824
+0.097804 0.881203 0.463371
+0.090353 0.883148 0.461191
+0.082895 0.885037 0.458980
+0.067943 0.887428 0.456829
+0.058227 0.888726 0.455653
+0.054842 0.891787 0.450096
+0.049587 0.892639 0.449023
+0.043246 0.890161 0.454526
+0.035102 0.891421 0.452768
+0.026160 0.891918 0.452397
+0.011166 0.891103 0.454600
+0.003546 0.892594 0.451809
+-0.005128 0.891873 0.453205
+-0.019569 0.891112 0.454301
+-0.027699 0.890694 0.454695
+-0.035828 0.890216 0.455060
+-0.050225 0.889039 0.455993
+-0.055456 0.888781 0.455889
+-0.064819 0.884991 0.461947
+-0.074409 0.880818 0.468390
+-0.083988 0.877759 0.472467
+-0.095802 0.876951 0.471725
+-0.104348 0.876183 0.471340
+-0.112887 0.875351 0.470920
+-0.119691 0.166697 0.976577
+-0.126481 0.171198 0.974953
+-0.133262 0.175687 0.973261
+-0.140778 0.182580 0.970947
+-0.148282 0.189451 0.968527
+-0.155672 0.195574 0.966163
+-0.163051 0.201675 0.963705
+-0.170213 0.205789 0.961609
+-0.177366 0.209885 0.959443
+-0.188360 0.214686 0.956302
+-0.200510 0.218948 0.952882
+-0.208193 0.221184 0.950730
+-0.215866 0.223403 0.948512
+-0.226071 0.227226 0.945243
+-0.235781 0.230934 0.941989
+-0.239171 0.231272 0.941057
+-0.249245 0.234400 0.937686
+-0.255563 0.235265 0.935779
+-0.267497 0.236470 0.932158
+-0.276241 0.240446 0.928608
+-0.284953 0.244398 0.924961
+-0.294705 0.244409 0.921918
+-0.304424 0.244396 0.918779
+-0.313871 0.240816 0.916558
+-0.323288 0.237209 0.914238
+-0.332473 0.238519 0.910620
+-0.341623 0.239812 0.906912
+0.335716 -0.094464 0.935266
+0.331624 -0.091497 0.937008
+0.327052 -0.087783 0.938955
+0.323991 -0.085202 0.940244
+0.324972 -0.083728 0.940039
+0.322675 -0.081869 0.940987
+0.319630 -0.079908 0.942186
+0.318396 -0.078750 0.942698
+0.319775 -0.076156 0.942446
+0.321601 -0.073684 0.942024
+0.324581 -0.070503 0.941250
+0.322572 -0.068620 0.942074
+0.320236 -0.066136 0.943042
+0.317755 -0.063819 0.944033
+0.315638 -0.066313 0.944568
+0.313362 -0.068663 0.945154
+0.311344 -0.066779 0.945950
+0.308685 -0.064003 0.947005
+0.306037 -0.061538 0.948021
+0.309681 -0.056591 0.947151
+0.313172 -0.051808 0.946283
+0.318302 -0.044402 0.944955
+0.320227 -0.041446 0.944442
+0.317991 -0.038481 0.945317
+0.316623 -0.035138 0.945902
+0.315597 -0.032709 0.946329
+0.314483 -0.031381 0.946742
+0.316556 -0.028571 0.946144
+0.318365 -0.026405 0.945604
+0.316900 -0.024164 0.946152
+0.316060 -0.022503 0.946472
+0.317727 -0.020504 0.945962
+0.316283 -0.016225 0.946525
+0.314910 -0.013193 0.947027
+0.313496 -0.009537 0.947536
+0.311444 -0.005300 0.948241
+0.309901 -0.002123 0.948755
+0.308176 0.001512 0.949314
+0.306170 0.004814 0.949948
+0.302803 0.010524 0.950974
+0.300882 0.014616 0.951525
+0.298200 0.018810 0.952290
+0.296013 0.022257 0.952894
+0.293684 0.025537 0.953528
+0.291672 0.028527 0.954057
+0.289862 0.030748 0.954536
+0.287363 0.034173 0.955171
+0.286215 0.035501 0.955465
+0.285203 0.036996 0.955710
+0.282972 0.038718 0.956300
+0.281798 0.040358 0.956577
+0.280670 0.041375 0.956864
+0.279678 0.042558 0.957100
+0.277974 0.043222 0.957564
+0.276592 0.043595 0.957944
+0.275670 0.043844 0.958197
+0.273550 0.044010 0.958793
+0.271889 0.044051 0.959260
+0.269952 0.043760 0.959817
+0.267738 0.043137 0.960460
+0.265360 0.042659 0.961137
+0.262726 0.041537 0.961904
+0.259210 0.040040 0.962914
+0.256269 0.038896 0.963742
+0.254231 0.037815 0.964321
+0.252513 0.036443 0.964822
+0.249450 0.034820 0.965672
+0.247080 0.034029 0.966305
+0.243846 0.032550 0.967171
+0.239635 0.031944 0.968236
+0.237398 0.031318 0.968804
+0.234694 0.030817 0.969474
+0.232106 0.030793 0.970093
+0.229235 0.030436 0.970783
+0.225896 0.030203 0.971567
+0.223021 0.029846 0.972237
+0.219979 0.029633 0.972932
+0.214339 0.029395 0.974189
+0.210379 0.029118 0.975054
+0.207071 0.028259 0.975782
+0.204020 0.028045 0.976427
+0.201601 0.027561 0.976939
+0.198512 0.023585 0.977671
+0.195606 0.019152 0.978348
+0.193077 0.015842 0.978906
+0.190828 0.012866 0.979387
+0.189549 0.011367 0.979652
+0.186073 0.012687 0.980298
+0.180756 0.013878 0.981270
+0.178854 0.010300 0.981660
+0.176903 0.007345 0.982037
+0.174788 0.004536 0.982430
+0.172814 0.001894 0.982785
+0.170838 -0.000748 0.983130
+0.169595 -0.002868 0.983340
+0.167903 -0.005176 0.983619
+0.166781 -0.006818 0.983799
+0.162479 -0.004777 0.984525
+0.160091 -0.008226 0.984891
+0.159397 -0.009369 0.984993
+0.156036 -0.007575 0.985542
+0.153800 -0.006484 0.985899
+0.151511 -0.009145 0.986230
+0.149243 -0.012116 0.986542
+0.146208 -0.010614 0.987010
+0.145079 -0.009914 0.987183
+0.139834 -0.012315 0.987908
+0.137574 -0.010916 0.988239
+0.133568 -0.008862 0.988805
+0.132932 -0.008596 0.988893
+0.129411 -0.011344 0.989329
+0.126275 -0.012972 0.989712
+0.122896 -0.015552 0.990097
+0.120877 -0.013205 0.990378
+0.116821 -0.010537 0.990893
+0.113874 -0.008259 0.991255
+0.111564 -0.006246 0.991531
+0.109580 -0.004521 0.991760
+0.106627 -0.002245 0.992087
+0.104356 -0.000854 0.992329
+0.102534 0.000725 0.992518
+0.100404 0.002280 0.992732
+0.098272 0.003836 0.992939
+0.096163 0.005080 0.993138
+0.094362 0.006347 0.993303
+0.093722 0.006611 0.993361
+0.094125 0.007420 0.993318
+0.092963 0.008424 0.993418
+0.090472 0.010573 0.993626
+0.087837 0.012554 0.993838
+0.085746 0.013485 0.994007
+0.086412 0.014939 0.993930
+0.084320 0.015870 0.994094
+0.082822 0.017157 0.994198
+0.079898 0.018802 0.994406
+0.077755 0.020350 0.994544
+0.075471 0.021730 0.994690
+0.072993 0.023562 0.994832
+0.070874 0.024798 0.994954
+0.068085 0.026604 0.995102
+0.066815 0.028840 0.995125
+0.065094 0.030885 0.995178
+0.063823 0.033121 0.995188
+0.063295 0.033858 0.995197
+0.063618 0.035598 0.995116
+0.061044 0.036638 0.995239
+0.057372 0.037744 0.995415
+0.054318 0.038898 0.995541
+0.050646 0.040000 0.995689
+0.046328 0.041357 0.995843
+0.044253 0.041964 0.995912
+0.041338 0.043279 0.995980
+0.041081 0.042634 0.996018
+0.039483 0.043124 0.996062
+0.036259 0.044410 0.996127
+0.032840 0.046145 0.996167
+0.029616 0.047428 0.996207
+0.026531 0.048875 0.996224
+0.026114 0.050084 0.996175
+0.023174 0.053409 0.996076
+0.023739 0.054081 0.996027
+0.021247 0.057599 0.995887
+0.023866 0.059694 0.995705
+0.021595 0.062453 0.995589
+0.019827 0.064789 0.995477
+0.018031 0.067432 0.995337
+0.016796 0.069035 0.995249
+0.014801 0.072125 0.995063
+0.011735 0.074962 0.994895
+0.009231 0.076760 0.994785
+0.007093 0.077967 0.994709
+0.004447 0.079593 0.994597
+0.002139 0.080937 0.994496
+0.000028 0.081832 0.994426
+-0.003349 0.082918 0.994331
+-0.006107 0.084061 0.994223
+-0.008668 0.084755 0.994145
+-0.010948 0.085783 0.994035
+-0.013059 0.086672 0.993933
+-0.014523 0.087311 0.993858
+-0.020744 0.090444 0.993470
+-0.022716 0.091496 0.993331
+-0.025305 0.092487 0.993178
+-0.028233 0.093753 0.992981
+-0.030173 0.094494 0.992855
+-0.032763 0.095480 0.992680
+-0.034563 0.096389 0.992532
+-0.037521 0.097956 0.992273
+-0.040169 0.099552 0.992012
+-0.042678 0.101315 0.991731
+-0.045357 0.103214 0.991418
+-0.048234 0.105556 0.991038
+-0.050775 0.107619 0.990692
+-0.052806 0.109268 0.990407
+-0.056424 0.112764 0.989819
+-0.059164 0.115264 0.989374
+-0.062276 0.118342 0.988823
+-0.066805 0.120024 0.988328
+-0.072889 0.126328 0.987120
+-0.079390 0.132106 0.985870
+-0.085724 0.137731 0.984578
+-0.091549 0.142936 0.983319
+-0.097679 0.148093 0.981974
+-0.109821 0.155750 0.979520
+-0.119691 0.166697 0.976577
+0.670601 -0.383588 0.634577
+0.665905 -0.378424 0.642520
+0.665488 -0.378245 0.643053
+0.665252 -0.377612 0.643665
+0.664928 -0.377549 0.644034
+0.664474 -0.378341 0.644038
+0.663589 -0.377581 0.645386
+0.662888 -0.377052 0.646408
+0.662135 -0.376120 0.647713
+0.661475 -0.375304 0.648852
+0.660634 -0.374942 0.649910
+0.660254 -0.374475 0.650560
+0.661938 -0.372161 0.650180
+0.660893 -0.370874 0.651963
+0.659380 -0.369689 0.654150
+0.658382 -0.368802 0.655645
+0.657052 -0.367846 0.657500
+0.656241 -0.367191 0.658668
+0.655323 -0.368086 0.659078
+0.654124 -0.366957 0.660884
+0.653057 -0.365658 0.662646
+0.651655 -0.364287 0.664763
+0.650502 -0.363558 0.666281
+0.649621 -0.362489 0.667711
+0.648796 -0.363501 0.667961
+0.647343 -0.362411 0.669947
+0.646378 -0.361914 0.671138
+0.645884 -0.361317 0.671929
+0.645351 -0.361009 0.672602
+0.643996 -0.363387 0.672620
+0.643006 -0.362194 0.674199
+0.641974 -0.361285 0.675659
+0.641277 -0.360448 0.676759
+0.640778 -0.359848 0.677545
+0.640340 -0.359657 0.678057
+0.639927 -0.360161 0.678179
+0.638887 -0.359249 0.679631
+0.637847 -0.358335 0.681080
+0.637104 -0.357782 0.682058
+0.636564 -0.357468 0.682723
+0.637466 -0.355883 0.682709
+0.636631 -0.354219 0.684341
+0.635248 -0.352238 0.686629
+0.634608 -0.350812 0.687941
+0.633485 -0.349479 0.689641
+0.633009 -0.348583 0.690525
+0.632532 -0.347685 0.691408
+0.634183 -0.344673 0.691403
+0.633429 -0.344112 0.692367
+0.632709 -0.343260 0.693441
+0.631711 -0.342744 0.694597
+0.631091 -0.342012 0.695514
+0.630677 -0.341524 0.696126
+0.630125 -0.341203 0.696778
+0.630674 -0.340529 0.696612
+0.629634 -0.339307 0.698137
+0.628801 -0.338327 0.699354
+0.627725 -0.337393 0.700761
+0.626783 -0.336289 0.702125
+0.625732 -0.335059 0.703638
+0.625207 -0.334444 0.704392
+0.624648 -0.334121 0.705037
+0.624364 -0.333459 0.705597
+0.623952 -0.333964 0.705723
+0.623529 -0.333472 0.706324
+0.623001 -0.332856 0.707075
+0.622684 -0.332485 0.707526
+0.622154 -0.331869 0.708276
+0.622946 -0.331150 0.707919
+0.622279 -0.330700 0.708710
+0.621717 -0.330374 0.709351
+0.621048 -0.329925 0.710140
+0.620379 -0.329474 0.710929
+0.620653 -0.329138 0.710846
+0.620089 -0.328811 0.711485
+0.619632 -0.328608 0.711973
+0.619312 -0.328235 0.712420
+0.619723 -0.327730 0.712296
+0.619510 -0.327482 0.712593
+0.619051 -0.327279 0.713082
+0.618807 -0.327324 0.713272
+0.619220 -0.326818 0.713147
+0.618577 -0.326073 0.714039
+0.617582 -0.325248 0.715267
+0.616231 -0.324341 0.716831
+0.615800 -0.323843 0.717423
+0.615967 -0.323382 0.717488
+0.615398 -0.323051 0.718120
+0.614966 -0.322554 0.718710
+0.615407 -0.321754 0.718690
+0.614512 -0.321050 0.719763
+0.613724 -0.320469 0.720688
+0.613043 -0.320013 0.721464
+0.613455 -0.319508 0.721339
+0.612449 -0.318675 0.722553
+0.611876 -0.318343 0.723180
+0.610509 -0.317428 0.724726
+0.608921 -0.316259 0.726558
+0.608345 -0.315925 0.727182
+0.607658 -0.315465 0.727950
+0.607961 -0.314834 0.727970
+0.606916 -0.314292 0.729068
+0.606254 -0.313536 0.729938
+0.605454 -0.312948 0.730848
+0.603882 -0.312781 0.732209
+0.602528 -0.312864 0.733281
+0.601670 -0.312864 0.733981
+0.600866 -0.312274 0.734883
+0.600284 -0.311936 0.735499
+0.599339 -0.311512 0.736442
+0.598893 -0.311006 0.737015
+0.597948 -0.310582 0.737954
+0.597224 -0.310412 0.738607
+0.596756 -0.311505 0.738525
+0.595194 -0.311034 0.739973
+0.593744 -0.310689 0.741274
+0.592428 -0.310176 0.742532
+0.591224 -0.309789 0.743645
+0.589626 -0.309608 0.744978
+0.588193 -0.308963 0.746368
+0.586983 -0.308573 0.747474
+0.585770 -0.308181 0.748579
+0.584924 -0.307877 0.749360
+0.583949 -0.309048 0.749637
+0.583338 -0.310308 0.749592
+0.582238 -0.310042 0.750550
+0.580626 -0.309854 0.751867
+0.578988 -0.309959 0.753077
+0.577742 -0.309858 0.754068
+0.576239 -0.309794 0.755236
+0.575219 -0.309949 0.755945
+0.574339 -0.309935 0.756615
+0.573177 -0.310254 0.757360
+0.572064 -0.309983 0.758305
+0.570579 -0.309620 0.759563
+0.569066 -0.309551 0.760717
+0.568322 -0.309369 0.761343
+0.567310 -0.310828 0.761503
+0.566718 -0.311789 0.761550
+0.565574 -0.311809 0.762386
+0.564455 -0.311534 0.763322
+0.563050 -0.311590 0.764328
+0.561929 -0.311313 0.765259
+0.560947 -0.310870 0.766153
+0.559822 -0.310592 0.767082
+0.558738 -0.311328 0.767571
+0.558053 -0.311862 0.767851
+0.556214 -0.312411 0.768953
+0.554516 -0.312793 0.770017
+0.553452 -0.313231 0.770600
+0.552933 -0.313303 0.770941
+0.551087 -0.313849 0.772033
+0.549382 -0.314226 0.773086
+0.548456 -0.314497 0.773630
+0.547674 -0.314603 0.774137
+0.546656 -0.314449 0.774914
+0.545637 -0.314294 0.775689
+0.544734 -0.314268 0.776329
+0.543385 -0.313426 0.777606
+0.541509 -0.312653 0.779214
+0.539535 -0.311452 0.781049
+0.537175 -0.310150 0.783177
+0.535429 -0.309205 0.784734
+0.534303 -0.308617 0.785725
+0.533033 -0.308195 0.786746
+0.532169 -0.307573 0.787568
+0.529957 -0.310631 0.787858
+0.527159 -0.314342 0.788260
+0.525658 -0.316571 0.788370
+0.524443 -0.318470 0.788414
+0.522713 -0.317224 0.790052
+0.521700 -0.316764 0.790900
+0.520832 -0.316139 0.791716
+0.518500 -0.318755 0.792195
+0.516454 -0.321039 0.792606
+0.515257 -0.322638 0.792735
+0.513057 -0.325080 0.793162
+0.511119 -0.327485 0.793421
+0.509766 -0.329240 0.793565
+0.508586 -0.330537 0.793781
+0.506610 -0.333229 0.793918
+0.504183 -0.336400 0.794124
+0.501275 -0.340340 0.794285
+0.498683 -0.343657 0.794488
+0.496262 -0.346517 0.794759
+0.496561 -0.346196 0.794713
+0.495783 -0.347289 0.794721
+0.495005 -0.348381 0.794728
+0.493117 -0.347290 0.796367
+0.491615 -0.346299 0.797717
+0.489841 -0.345336 0.799214
+0.488967 -0.344709 0.800014
+0.487797 -0.345697 0.800300
+0.486346 -0.344120 0.801850
+0.485499 -0.343199 0.802752
+0.485134 -0.342804 0.803139
+0.483512 -0.344271 0.803487
+0.482447 -0.342794 0.804749
+0.481015 -0.340921 0.806389
+0.479945 -0.339440 0.807643
+0.478504 -0.337562 0.809272
+0.477551 -0.336213 0.810388
+0.476691 -0.335285 0.811272
+0.475340 -0.336724 0.811468
+0.474261 -0.338135 0.811512
+0.472565 -0.335987 0.813378
+0.470961 -0.334263 0.815007
+0.470148 -0.332748 0.816089
+0.468758 -0.331578 0.817355
+0.468438 -0.330593 0.817933
+0.467412 -0.331419 0.818184
+0.466220 -0.329501 0.819628
+0.464499 -0.327342 0.821455
+0.463173 -0.325287 0.823008
+0.461340 -0.322694 0.825042
+0.460759 -0.321437 0.825852
+0.460003 -0.320633 0.826581
+0.461776 -0.319006 0.826224
+0.460365 -0.317825 0.827457
+0.459251 -0.316323 0.828643
+0.457731 -0.314712 0.830087
+0.456311 -0.313528 0.831307
+0.455294 -0.312452 0.832263
+0.454657 -0.311779 0.832859
+0.455127 -0.311002 0.832893
+0.454363 -0.310194 0.833606
+0.453767 -0.308929 0.834395
+0.452873 -0.307986 0.835224
+0.453746 -0.306890 0.835153
+0.453406 -0.306321 0.835544
+0.453041 -0.305621 0.835995
+0.452273 -0.304811 0.836702
+0.453465 -0.303524 0.836526
+0.454210 -0.302719 0.836414
+0.454677 -0.301939 0.836442
+0.453244 -0.300749 0.837639
+0.452343 -0.299801 0.838461
+0.451570 -0.298989 0.839162
+0.450388 -0.298067 0.840119
+0.451002 -0.297125 0.840122
+0.451655 -0.295590 0.840312
+0.450290 -0.293208 0.841867
+0.449400 -0.291960 0.842770
+0.448899 -0.291119 0.843324
+0.448398 -0.290278 0.843877
+0.449269 -0.289606 0.843645
+0.448134 -0.287788 0.844862
+0.447257 -0.286239 0.845846
+0.446934 -0.284638 0.846552
+0.446411 -0.284093 0.847008
+0.447464 -0.282662 0.846932
+0.446352 -0.280241 0.848312
+0.445762 -0.278364 0.849234
+0.445153 -0.276785 0.850063
+0.444790 -0.275777 0.850577
+0.444146 -0.274793 0.851227
+0.445326 -0.273495 0.851030
+0.444316 -0.271503 0.852187
+0.443435 -0.269646 0.853228
+0.442552 -0.267787 0.854265
+0.442079 -0.266039 0.855050
+0.441295 -0.264916 0.855798
+0.442603 -0.263751 0.855484
+0.441314 -0.261477 0.856839
+0.440312 -0.258874 0.858135
+0.439013 -0.256595 0.859475
+0.437843 -0.254453 0.860699
+0.437208 -0.252859 0.861486
+0.436326 -0.250387 0.862647
+0.435720 -0.247888 0.863667
+0.434943 -0.246154 0.864548
+0.434029 -0.244281 0.865532
+-0.615297 0.439633 0.653834
+-0.618255 0.441339 0.649909
+-0.619326 0.443410 0.647491
+-0.620284 0.445260 0.645316
+-0.621178 0.446641 0.643511
+-0.622223 0.447871 0.641657
+-0.623466 0.449245 0.639500
+-0.625453 0.450494 0.636694
+-0.626851 0.452049 0.634229
+-0.628991 0.453826 0.630854
+-0.630355 0.455982 0.627951
+-0.631663 0.457903 0.625251
+-0.632850 0.459506 0.622886
+-0.634058 0.461127 0.620472
+-0.635388 0.462858 0.617835
+-0.637136 0.464812 0.614580
+-0.638666 0.466697 0.611577
+-0.639837 0.469268 0.608398
+-0.640590 0.471645 0.605780
+-0.641572 0.474426 0.602582
+-0.642343 0.476907 0.599814
+-0.643013 0.479724 0.596862
+-0.643054 0.481924 0.595055
+-0.643449 0.484522 0.592530
+-0.642949 0.486488 0.591468
+-0.642503 0.488376 0.590404
+-0.642836 0.490047 0.588665
+-0.642713 0.491284 0.587774
+-0.642742 0.492214 0.586969
+-0.644127 0.494971 0.583145
+-0.644334 0.497549 0.580734
+-0.644790 0.499772 0.578330
+-0.645277 0.501070 0.576673
+-0.644799 0.502559 0.575916
+-0.646647 0.504689 0.571995
+-0.648073 0.506476 0.568815
+-0.650647 0.510484 0.562299
+-0.434421 -0.626401 0.646783
+-0.441860 -0.620610 0.647323
+-0.449263 -0.614762 0.647804
+-0.456628 -0.608857 0.648228
+-0.463946 -0.602904 0.648594
+-0.463332 -0.602106 0.649765
+-0.464544 -0.600681 0.650215
+-0.460173 -0.596706 0.656904
+-0.455767 -0.592681 0.663541
+-0.454825 -0.593897 0.663103
+-0.453755 -0.593466 0.664214
+-0.451733 -0.594252 0.664884
+-0.444940 -0.589619 0.673476
+-0.436038 -0.586548 0.681870
+-0.442675 -0.575428 0.687014
+-0.449230 -0.564193 0.692026
+-0.455700 -0.552848 0.696902
+-0.462074 -0.541401 0.701643
+-0.458289 -0.539116 0.705844
+-0.452638 -0.538115 0.710211
+-0.452712 -0.535959 0.711782
+-0.447775 -0.534849 0.715703
+-0.445864 -0.533833 0.717639
+-0.447383 -0.531793 0.718204
+-0.445127 -0.529524 0.721256
+-0.443617 -0.530241 0.721656
+-0.440908 -0.529137 0.724106
+-0.439027 -0.531221 0.723726
+-0.430771 -0.527069 0.731626
+-0.422452 -0.522840 0.739417
+-0.423860 -0.519889 0.740682
+-0.417593 -0.516791 0.746350
+-0.418199 -0.513733 0.748108
+-0.412911 -0.511380 0.752613
+-0.417289 -0.502537 0.756123
+-0.421623 -0.493640 0.759549
+-0.414364 -0.490993 0.765200
+-0.414915 -0.489251 0.766012
+-0.412335 -0.488589 0.767813
+-0.413055 -0.486558 0.768709
+-0.410966 -0.485384 0.770556
+-0.411266 -0.477247 0.775430
+-0.411455 -0.472092 0.778460
+-0.405790 -0.469284 0.783086
+-0.434421 -0.626401 0.646783
+-0.434641 -0.621816 0.651017
+-0.432783 -0.619619 0.654320
+-0.432807 -0.616073 0.657621
+-0.432178 -0.613060 0.660822
+-0.431710 -0.609523 0.664366
+-0.430298 -0.608160 0.666513
+-0.429502 -0.606316 0.668688
+-0.428632 -0.604685 0.670706
+-0.427230 -0.603622 0.672543
+-0.425871 -0.603510 0.673499
+-0.424851 -0.602309 0.675205
+-0.425110 -0.601116 0.676098
+-0.423265 -0.598042 0.679945
+-0.421962 -0.596201 0.682350
+-0.421893 -0.594914 0.683509
+-0.421558 -0.593321 0.685087
+-0.421278 -0.591177 0.687096
+-0.419158 -0.588072 0.691020
+-0.417529 -0.586435 0.693377
+-0.416772 -0.585827 0.694340
+-0.415636 -0.585679 0.695140
+-0.413928 -0.583056 0.698335
+-0.412508 -0.581057 0.700820
+-0.411519 -0.579577 0.702612
+-0.411692 -0.578580 0.703328
+-0.410608 -0.576991 0.705251
+-0.408993 -0.574765 0.707984
+-0.407140 -0.570431 0.712512
+-0.405064 -0.564641 0.718245
+-0.403653 -0.560236 0.722448
+-0.402071 -0.555929 0.726618
+-0.400806 -0.551703 0.730500
+-0.398768 -0.547148 0.734998
+-0.398440 -0.541024 0.739662
+-0.397625 -0.537634 0.742548
+-0.397637 -0.532830 0.745973
+-0.398127 -0.527987 0.749127
+-0.399957 -0.523538 0.751257
+-0.401038 -0.520608 0.752706
+-0.401298 -0.517015 0.755025
+-0.398266 -0.512481 0.759676
+-0.397460 -0.508196 0.762947
+-0.398854 -0.505345 0.764104
+-0.398337 -0.502324 0.766348
+-0.399117 -0.497841 0.768847
+-0.400212 -0.494045 0.770711
+-0.402634 -0.489129 0.772570
+-0.403369 -0.485206 0.774644
+-0.403116 -0.480721 0.777547
+-0.403491 -0.477264 0.779467
+-0.405214 -0.473641 0.780773
+-0.405790 -0.469284 0.783086
+-0.615297 0.439633 0.653834
+-0.615585 0.429805 0.660026
+-0.615796 0.419910 0.666129
+-0.616548 0.412774 0.669858
+-0.617256 0.405616 0.673544
+-0.618637 0.396472 0.677681
+-0.620120 0.382396 0.684337
+-0.621202 0.368682 0.690807
+-0.622787 0.354670 0.696651
+-0.623317 0.347262 0.699881
+-0.623802 0.339839 0.703063
+-0.623645 0.328255 0.708646
+-0.623154 0.319159 0.713188
+-0.622597 0.310036 0.717655
+-0.619997 0.299785 0.724187
+-0.617686 0.292454 0.729110
+-0.615327 0.285090 0.733971
+-0.612859 0.276176 0.739389
+-0.610317 0.267237 0.744721
+-0.607663 0.257637 0.750216
+-0.604628 0.249605 0.755332
+-0.601528 0.241557 0.760372
+-0.599954 0.234588 0.763767
+-0.598344 0.227600 0.767116
+-0.592215 0.216989 0.774855
+-0.586775 0.206648 0.781743
+-0.579296 0.200090 0.788945
+-0.574984 0.191450 0.794191
+-0.573200 0.181191 0.797854
+-0.565917 0.175289 0.804301
+-0.557629 0.167488 0.811669
+-0.552851 0.161979 0.816015
+-0.548032 0.156463 0.820302
+-0.548032 0.156463 0.820302
+-0.553601 0.149923 0.817796
+-0.561046 0.142269 0.814106
+-0.567449 0.137207 0.810554
+-0.574337 0.128243 0.807186
+-0.580662 0.121433 0.803730
+-0.586973 0.115841 0.799987
+-0.593593 0.107318 0.796308
+-0.600192 0.098285 0.792544
+-0.608498 0.087176 0.787528
+-0.614748 0.075874 0.783860
+-0.620088 0.062779 0.780826
+-0.625405 0.048441 0.777622
+-0.629130 0.036055 0.775302
+-0.632331 0.025618 0.773125
+-0.633696 0.016616 0.772258
+-0.635436 0.003460 0.771007
+-0.635505 -0.008852 0.770908
+-0.635427 -0.016861 0.770839
+-0.635246 -0.024870 0.770772
+-0.634753 -0.032288 0.770902
+-0.632949 -0.041785 0.771921
+-0.630373 -0.048184 0.773643
+-0.628622 -0.056026 0.774533
+-0.626841 -0.064568 0.775306
+-0.624982 -0.073109 0.776043
+-0.622413 -0.082119 0.777198
+-0.619763 -0.091143 0.778302
+-0.616715 -0.098815 0.779775
+-0.613596 -0.106439 0.781221
+-0.609496 -0.114306 0.783303
+-0.607219 -0.118339 0.784463
+-0.601595 -0.127983 0.787258
+-0.595413 -0.139445 0.789988
+-0.591005 -0.146171 0.792066
+-0.586554 -0.152895 0.794088
+-0.582239 -0.159665 0.795918
+-0.577882 -0.166426 0.797694
+-0.573063 -0.173269 0.799697
+-0.568202 -0.180103 0.801640
+-0.564078 -0.186944 0.802976
+-0.559915 -0.193779 0.804260
+-0.555634 -0.200819 0.805493
+-0.551317 -0.207842 0.806669
+-0.543022 -0.219550 0.809173
+-0.536602 -0.227034 0.811373
+-0.530125 -0.234499 0.813490
+-0.523051 -0.241251 0.816074
+-0.512560 -0.248223 0.820597
+-0.503400 -0.254683 0.824254
+-0.493440 -0.259864 0.828619
+-0.485596 -0.266760 0.831042
+-0.480029 -0.271067 0.832868
+-0.476248 -0.274065 0.834049
+-0.468282 -0.278931 0.836922
+-0.458266 -0.283506 0.840893
+-0.448194 -0.286093 0.845402
+-0.438267 -0.287242 0.850172
+-0.430047 -0.287196 0.854346
+-0.421794 -0.287125 0.858447
+-0.421794 -0.287125 0.858447
+-0.414129 -0.290224 0.861115
+-0.406560 -0.291971 0.864105
+-0.397997 -0.296312 0.866594
+-0.390035 -0.300313 0.868819
+-0.386529 -0.306381 0.868270
+-0.384785 -0.310771 0.867490
+-0.378775 -0.316391 0.868099
+-0.378052 -0.324076 0.865592
+-0.378734 -0.330857 0.862744
+-0.380585 -0.338458 0.858998
+-0.381974 -0.346122 0.855344
+-0.382968 -0.355789 0.850951
+-0.385427 -0.360739 0.847773
+-0.387956 -0.367873 0.843571
+-0.391424 -0.375244 0.838741
+-0.394633 -0.382386 0.834031
+-0.396829 -0.390930 0.829046
+-0.398040 -0.395547 0.826289
+-0.399583 -0.404227 0.821363
+-0.400943 -0.413005 0.816351
+-0.402985 -0.419642 0.811979
+-0.404356 -0.427206 0.807371
+-0.405739 -0.433689 0.803238
+-0.406614 -0.440428 0.799145
+-0.406431 -0.448718 0.794644
+-0.405922 -0.457330 0.790013
+-0.405988 -0.464132 0.786028
+-0.405790 -0.469284 0.783086
+-0.434421 -0.626401 0.646783
+-0.430867 -0.628888 0.646747
+-0.430598 -0.634487 0.641471
+-0.430535 -0.640946 0.635104
+-0.429959 -0.647214 0.629149
+-0.429405 -0.653583 0.622954
+-0.426337 -0.664190 0.613837
+-0.424659 -0.669672 0.609058
+-0.422083 -0.675343 0.604600
+-0.416574 -0.685008 0.597554
+-0.413616 -0.691185 0.592508
+-0.410304 -0.698285 0.586496
+-0.406518 -0.705929 0.579989
+-0.401339 -0.714330 0.573317
+-0.396827 -0.718495 0.571261
+-0.391243 -0.723589 0.568696
+-0.387534 -0.726642 0.567350
+-0.383962 -0.729915 0.565586
+-0.381332 -0.732314 0.564272
+-0.377637 -0.736098 0.561844
+-0.371824 -0.740578 0.559844
+-0.367155 -0.745863 0.555922
+-0.362946 -0.751693 0.550843
+-0.362946 -0.751693 0.550843
+-0.361390 -0.754414 0.548158
+-0.363428 -0.754574 0.546600
+-0.362177 -0.756125 0.545293
+-0.361379 -0.757375 0.544094
+-0.362682 -0.757620 0.542893
+-0.361122 -0.760111 0.540462
+-0.359265 -0.763062 0.537553
+-0.361212 -0.763116 0.536179
+-0.358671 -0.766203 0.533494
+-0.355326 -0.770232 0.529942
+-0.352861 -0.773496 0.526847
+-0.350994 -0.776210 0.524113
+-0.349838 -0.778172 0.521988
+-0.349013 -0.779572 0.520459
+-0.352504 -0.779620 0.518044
+-0.354348 -0.779744 0.516607
+-0.353184 -0.782106 0.513845
+-0.351661 -0.785082 0.510363
+-0.350304 -0.787314 0.507868
+-0.348560 -0.790029 0.504864
+-0.352477 -0.790155 0.501957
+-0.351149 -0.792078 0.499868
+-0.349581 -0.794182 0.497638
+-0.351502 -0.794331 0.496056
+-0.353170 -0.794389 0.494784
+-0.351197 -0.797213 0.491659
+-0.348463 -0.800608 0.488098
+-0.345771 -0.803605 0.485097
+-0.346782 -0.803712 0.484204
+-0.344024 -0.807060 0.480614
+-0.340850 -0.810375 0.477308
+-0.338259 -0.813055 0.474603
+-0.335075 -0.816144 0.471571
+-0.331388 -0.819595 0.468202
+-0.327678 -0.822958 0.464924
+-0.325100 -0.825060 0.463017
+-0.323530 -0.826314 0.461887
+-0.327060 -0.827367 0.457524
+-0.324549 -0.829301 0.455819
+-0.326995 -0.829870 0.453045
+-0.323548 -0.832948 0.449882
+-0.320135 -0.835854 0.446945
+-0.317560 -0.837832 0.445086
+-0.316572 -0.838668 0.444220
+-0.318380 -0.839111 0.442100
+-0.315793 -0.841401 0.439614
+-0.312133 -0.844213 0.436846
+-0.308675 -0.846974 0.433969
+-0.306683 -0.848497 0.432413
+-0.305835 -0.849211 0.431617
+-0.309374 -0.849675 0.428192
+-0.306528 -0.851975 0.425676
+-0.304005 -0.854171 0.423095
+-0.300801 -0.856556 0.420573
+-0.298523 -0.858304 0.418641
+-0.296969 -0.859437 0.417427
+-0.300808 -0.860126 0.413266
+-0.297266 -0.863224 0.409378
+-0.294697 -0.865369 0.406717
+-0.292121 -0.867520 0.404001
+-0.289844 -0.869326 0.401769
+-0.288734 -0.870146 0.400797
+-0.294026 -0.871115 0.394839
+-0.290371 -0.873499 0.392287
+-0.284807 -0.876026 0.390738
+-0.288784 -0.876691 0.386333
+0.450843 -0.832198 0.325138
+0.461730 -0.824566 0.329250
+0.472530 -0.816769 0.333310
+0.484539 -0.810584 0.331176
+0.496515 -0.804209 0.328986
+0.508354 -0.797735 0.326674
+0.519014 -0.793273 0.320763
+0.529830 -0.789020 0.313537
+0.539996 -0.785223 0.305680
+0.550064 -0.781284 0.297769
+0.560055 -0.775265 0.294883
+0.569976 -0.769152 0.291888
+0.578317 -0.764151 0.288617
+0.586587 -0.759056 0.285377
+0.595824 -0.753389 0.281258
+0.604926 -0.747665 0.277098
+0.612793 -0.742501 0.273699
+0.621008 -0.734934 0.275590
+0.628450 -0.728249 0.276456
+0.637277 -0.720680 0.276087
+0.647728 -0.711669 0.275147
+0.651874 -0.708868 0.272589
+0.660808 -0.702848 0.266642
+-0.213593 -0.978067 -0.000270
+-0.214916 -0.977737 -0.008793
+-0.217036 -0.977050 -0.022413
+-0.214904 -0.977521 -0.022422
+-0.215955 -0.977179 -0.026777
+-0.213305 -0.977730 -0.027881
+-0.214890 -0.977211 -0.033322
+-0.218623 -0.976383 -0.033299
+-0.219670 -0.975786 -0.042546
+-0.220721 -0.975129 -0.051241
+-0.217519 -0.975846 -0.051272
+-0.217498 -0.975351 -0.059978
+-0.220132 -0.974028 -0.070816
+-0.235469 -0.970568 -0.068977
+-0.250750 -0.966864 -0.067121
+-0.253354 -0.965795 -0.072475
+-0.264839 -0.962805 -0.071201
+-0.267419 -0.961416 -0.079753
+-0.279325 -0.958134 -0.078439
+-0.282390 -0.956397 -0.088003
+-0.284405 -0.954810 -0.098103
+-0.286973 -0.954048 -0.098035
+-0.286951 -0.953312 -0.104967
+-0.288499 -0.952850 -0.104923
+-0.290007 -0.951540 -0.112332
+-0.298196 -0.949163 -0.111011
+-0.300706 -0.947543 -0.117824
+-0.301190 -0.946433 -0.125223
+-0.304711 -0.944530 -0.130909
+-0.307183 -0.941888 -0.143473
+-0.309211 -0.940912 -0.145492
+-0.310649 -0.938218 -0.159094
+-0.322481 -0.934539 -0.157207
+-0.334269 -0.930711 -0.155294
+-0.335184 -0.928110 -0.168258
+-0.338659 -0.926884 -0.168060
+-0.340603 -0.924836 -0.175208
+-0.341001 -0.922240 -0.187598
+-0.343470 -0.921250 -0.187953
+-0.343403 -0.919207 -0.197753
+-0.346353 -0.917809 -0.199092
+-0.349738 -0.914628 -0.207574
+-0.351101 -0.910988 -0.220767
+-0.348139 -0.912068 -0.220998
+-0.349034 -0.908932 -0.232149
+-0.351972 -0.907861 -0.231904
+-0.352945 -0.906847 -0.234365
+-0.362224 -0.903520 -0.233061
+-0.371473 -0.900102 -0.231732
+-0.370922 -0.898187 -0.239850
+-0.372825 -0.896492 -0.243193
+-0.372224 -0.893638 -0.254291
+-0.374633 -0.892699 -0.254051
+-0.375277 -0.889748 -0.263227
+-0.375893 -0.886710 -0.272377
+-0.376265 -0.883593 -0.281766
+-0.374812 -0.884159 -0.281927
+-0.377164 -0.881477 -0.287105
+-0.375230 -0.882230 -0.287325
+-0.377566 -0.879190 -0.293474
+-0.375635 -0.879941 -0.293700
+-0.377945 -0.876358 -0.301302
+-0.375537 -0.877293 -0.301590
+-0.377842 -0.873643 -0.309160
+-0.375919 -0.874387 -0.309398
+-0.376783 -0.871404 -0.316628
+-0.378164 -0.868889 -0.321818
+-0.375755 -0.869818 -0.322127
+-0.378516 -0.865441 -0.330519
+-0.376591 -0.866182 -0.330773
+-0.378015 -0.861264 -0.341735
+-0.378639 -0.858653 -0.347527
+-0.380030 -0.856336 -0.351672
+-0.382298 -0.855158 -0.352077
+-0.383076 -0.851230 -0.360589
+-0.383233 -0.848057 -0.367778
+-0.383967 -0.847276 -0.368807
+-0.383269 -0.844089 -0.376701
+0.168913 -0.677785 -0.714759
+0.173562 -0.686988 -0.704858
+0.176434 -0.696361 -0.694943
+0.179477 -0.700621 -0.689897
+0.182402 -0.708252 -0.681343
+0.186388 -0.715643 -0.672543
+0.187805 -0.720836 -0.666616
+0.189210 -0.725985 -0.660645
+0.193268 -0.730918 -0.654042
+0.194661 -0.736492 -0.647387
+0.197102 -0.742214 -0.640121
+0.197534 -0.744978 -0.636791
+0.201057 -0.749741 -0.630109
+0.204561 -0.754779 -0.622973
+0.208109 -0.758367 -0.617453
+0.210532 -0.764103 -0.609562
+0.214965 -0.772084 -0.597925
+0.218969 -0.777013 -0.590087
+0.225579 -0.781404 -0.581796
+0.230565 -0.787223 -0.571980
+0.238178 -0.791163 -0.563418
+0.243737 -0.794128 -0.556874
+0.246165 -0.798238 -0.549933
+0.247510 -0.803995 -0.540930
+0.250471 -0.807256 -0.534715
+0.253828 -0.813862 -0.523069
+0.256222 -0.818511 -0.514636
+0.258550 -0.825029 -0.503009
+0.260917 -0.830280 -0.493115
+0.264315 -0.834906 -0.483465
+0.269755 -0.838669 -0.473917
+0.274191 -0.841764 -0.465869
+0.277097 -0.845137 -0.458030
+0.279976 -0.849178 -0.448772
+0.283804 -0.854555 -0.436064
+0.287142 -0.859387 -0.424304
+0.289952 -0.864864 -0.411146
+0.292784 -0.869464 -0.399345
+0.295109 -0.874247 -0.387084
+0.297428 -0.879057 -0.374289
+0.297428 -0.879057 -0.374289
+0.299770 -0.883068 -0.362882
+0.299657 -0.886461 -0.354664
+0.300046 -0.889633 -0.346350
+0.298954 -0.892780 -0.339170
+0.295845 -0.896993 -0.330731
+0.288698 -0.902784 -0.321216
+0.282049 -0.907596 -0.313522
+0.272317 -0.913452 -0.305060
+0.264090 -0.917925 -0.298844
+0.254251 -0.923650 -0.289658
+0.243853 -0.929004 -0.281412
+0.234424 -0.934405 -0.271433
+0.234424 -0.934405 -0.271433
+0.227050 -0.938719 -0.262733
+0.221508 -0.941799 -0.256406
+0.215948 -0.944804 -0.250058
+0.207985 -0.949033 -0.240681
+0.199998 -0.952980 -0.231748
+0.195984 -0.955341 -0.225409
+0.191958 -0.957643 -0.219058
+0.184426 -0.961979 -0.206239
+0.176896 -0.965546 -0.195979
+0.170936 -0.969090 -0.183454
+0.164978 -0.972150 -0.172464
+0.159565 -0.974512 -0.164080
+0.154117 -0.977540 -0.150821
+0.148673 -0.980127 -0.139119
+0.145922 -0.982155 -0.127304
+0.142095 -0.984121 -0.116023
+0.139349 -0.985792 -0.104688
+0.138765 -0.987179 -0.091660
+0.138727 -0.988317 -0.078607
+0.140314 -0.989090 -0.064975
+0.146029 -0.988777 -0.056660
+0.146029 -0.988777 -0.056660
+0.145149 -0.989143 -0.052398
+0.147291 -0.989301 -0.042576
+0.146198 -0.989875 -0.031687
+0.149423 -0.989717 -0.019140
+0.152647 -0.989399 -0.004970
+0.158561 -0.988452 0.007546
+0.163932 -0.987432 0.018404
+0.168759 -0.986417 0.027069
+0.177315 -0.984619 0.036225
+0.182652 -0.983395 0.042393
+0.187975 -0.982104 0.048558
+0.196474 -0.979848 0.059233
+0.201784 -0.977981 0.070982
+0.206037 -0.976027 0.084318
+0.208707 -0.974368 0.096042
+0.206859 -0.973862 0.104720
+-0.561882 0.707345 0.430057
+-0.566309 0.699883 0.436369
+-0.569342 0.694116 0.441567
+-0.572075 0.686991 0.449064
+-0.574381 0.679423 0.457498
+-0.575464 0.673234 0.465170
+-0.574660 0.669308 0.471738
+-0.578880 0.663653 0.474540
+-0.580602 0.660676 0.476574
+-0.580752 0.657184 0.481165
+-0.580799 0.655920 0.482820
+-0.581265 0.654051 0.484777
+-0.580464 0.650126 0.490936
+-0.581534 0.644207 0.497386
+-0.582873 0.638283 0.503380
+-0.583741 0.634147 0.507556
+-0.584294 0.630451 0.511482
+-0.584294 0.630451 0.511482
+-0.584523 0.627592 0.514704
+-0.585531 0.623593 0.518381
+-0.586942 0.618507 0.522830
+-0.590415 0.610497 0.528269
+-0.595214 0.601669 0.532960
+-0.597882 0.597340 0.534827
+-0.600420 0.593004 0.536792
+-0.602543 0.589807 0.537927
+-0.605767 0.584472 0.540110
+-0.609579 0.577984 0.542778
+-0.613372 0.571378 0.545474
+-0.615997 0.563548 0.550604
+-0.618598 0.555699 0.555609
+-0.619399 0.550257 0.560083
+-0.616724 0.545478 0.567609
+-0.614909 0.540705 0.574065
+-0.614909 0.540705 0.574065
+-0.620313 0.534798 0.573786
+-0.623306 0.533691 0.571584
+-0.629011 0.529245 0.569478
+-0.634389 0.524066 0.568309
+-0.639087 0.519928 0.566853
+-0.641905 0.517878 0.565553
+-0.645579 0.514603 0.564369
+-0.650647 0.510484 0.562299
+-0.696702 0.708450 0.121829
+-0.707815 0.697635 0.120180
+-0.716958 0.687947 0.121808
+-0.723232 0.680134 0.128373
+-0.727362 0.674866 0.132736
+-0.731440 0.669561 0.137091
+-0.735476 0.662644 0.148544
+-0.737905 0.657242 0.159980
+-0.738092 0.656254 0.163126
+-0.738092 0.656254 0.163126
+-0.739279 0.652358 0.173009
+-0.739179 0.649156 0.184981
+-0.739165 0.646794 0.193080
+-0.747241 0.638588 0.189294
+-0.753959 0.630407 0.190071
+-0.761528 0.621707 0.188560
+-0.769993 0.610114 0.191995
+-0.774824 0.602707 0.195886
+-0.783241 0.591051 0.197905
+-0.784178 0.588841 0.200743
+-0.784178 0.588841 0.200743
+-0.788543 0.583427 0.199455
+-0.794300 0.573774 0.204518
+-0.798217 0.566865 0.208466
+-0.801628 0.560806 0.211721
+-0.804480 0.556031 0.213477
+-0.806741 0.550507 0.219146
+-0.810648 0.542251 0.225190
+-0.814426 0.533920 0.231340
+-0.815582 0.525586 0.245800
+-0.815166 0.520079 0.258478
+-0.814481 0.515212 0.270046
+-0.811819 0.511487 0.284648
+-0.809147 0.508444 0.297337
+-0.805240 0.506871 0.310263
+-0.802573 0.505016 0.319976
+-0.798268 0.506225 0.328660
+-0.794034 0.506635 0.338086
+-0.788966 0.508317 0.347239
+-0.784698 0.509219 0.355437
+-0.780165 0.510098 0.363994
+-0.775542 0.512445 0.370474
+-0.768624 0.517234 0.378106
+-0.758786 0.525565 0.386343
+-0.750361 0.531168 0.394980
+-0.741052 0.537971 0.403208
+-0.732720 0.541749 0.413184
+-0.732720 0.541749 0.413184
+-0.725636 0.544902 0.421402
+-0.725606 0.544840 0.421535
+-0.721225 0.542003 0.432493
+-0.718285 0.536740 0.443726
+-0.715992 0.534462 0.450093
+-0.711180 0.531199 0.461367
+-0.707404 0.529745 0.468736
+-0.701997 0.528954 0.477614
+-0.696577 0.529727 0.484594
+-0.689945 0.529279 0.494405
+-0.686114 0.526988 0.502073
+-0.679725 0.526793 0.510832
+-0.674814 0.524213 0.519856
+-0.669418 0.521147 0.529754
+-0.664219 0.519056 0.538226
+-0.659164 0.514773 0.548390
+-0.654343 0.513846 0.554948
+-0.650647 0.510484 0.562299
+-0.912331 -0.080059 -0.402976
+-0.912523 -0.068757 -0.404615
+-0.912554 -0.058117 -0.406201
+-0.912500 -0.049627 -0.407436
+-0.912381 -0.041128 -0.408640
+-0.966465 -0.061719 -0.252872
+-0.965806 -0.061796 -0.255343
+-0.965228 -0.062097 -0.257431
+-0.964579 -0.061852 -0.259895
+-0.963979 -0.061645 -0.262145
+-0.963437 -0.060834 -0.264303
+-0.963015 -0.059542 -0.266117
+-0.962754 -0.058446 -0.267295
+-0.962349 -0.056163 -0.269224
+-0.962988 -0.048277 -0.268472
+-0.962988 -0.048277 -0.268472
+-0.962374 -0.046260 -0.270998
+-0.962019 -0.043954 -0.272628
+-0.961658 -0.042105 -0.274178
+-0.961418 -0.040716 -0.275222
+-0.961157 -0.039713 -0.276271
+-0.960774 -0.039193 -0.277662
+-0.960440 -0.038945 -0.278843
+-0.959623 -0.041680 -0.281235
+-0.958930 -0.044149 -0.283201
+-0.958114 -0.046843 -0.285504
+-0.957249 -0.049028 -0.288013
+-0.956346 -0.051442 -0.290564
+-0.955449 -0.053083 -0.293189
+-0.954392 -0.054813 -0.296275
+-0.953369 -0.056223 -0.299272
+-0.952355 -0.057715 -0.302182
+-0.951448 -0.058826 -0.304794
+-0.950627 -0.059758 -0.307149
+-0.949536 -0.061337 -0.310178
+-0.949116 -0.061427 -0.311434
+-0.948408 -0.060832 -0.313686
+-0.948204 -0.060553 -0.314352
+-0.947386 -0.058940 -0.317094
+-0.946745 -0.057723 -0.319210
+-0.946307 -0.057033 -0.320621
+-0.945873 -0.056460 -0.321991
+-0.945491 -0.056388 -0.323115
+-0.944686 -0.056621 -0.325407
+-0.943275 -0.056884 -0.329402
+-0.941683 -0.066196 -0.332187
+-0.963276 -0.104033 -0.251179
+-0.962981 -0.102828 -0.252787
+-0.962553 -0.101049 -0.255111
+-0.962103 -0.099814 -0.257272
+-0.961667 -0.098717 -0.259303
+-0.961214 -0.097840 -0.261293
+-0.960513 -0.096481 -0.264339
+-0.961301 -0.091428 -0.263273
+-0.960905 -0.089699 -0.265293
+-0.960538 -0.088582 -0.266982
+-0.959996 -0.086995 -0.269426
+-0.959480 -0.086205 -0.271495
+-0.958812 -0.086078 -0.273867
+-0.958132 -0.090553 -0.274798
+-0.957519 -0.091052 -0.276749
+-0.956798 -0.090966 -0.279244
+-0.956055 -0.090778 -0.281819
+-0.954812 -0.091097 -0.285874
+-0.954092 -0.091280 -0.288196
+-0.953381 -0.091313 -0.290514
+-0.952393 -0.091319 -0.293713
+-0.952280 -0.090604 -0.294295
+-0.951200 -0.089932 -0.297947
+-0.950944 -0.090376 -0.298624
+-0.949661 -0.089820 -0.302818
+-0.949508 -0.090424 -0.303116
+-0.948392 -0.090184 -0.306636
+-0.947493 -0.088580 -0.309846
+-0.946577 -0.086862 -0.313093
+-0.945726 -0.084903 -0.316166
+-0.944806 -0.083391 -0.319281
+-0.943892 -0.081999 -0.322312
+-0.942765 -0.080906 -0.325841
+-0.941567 -0.079810 -0.329532
+-0.940256 -0.079137 -0.333387
+-0.938852 -0.078673 -0.337404
+-0.941683 -0.066196 -0.332187
+-0.941683 -0.066196 -0.332187
+-0.940190 -0.065299 -0.336535
+-0.939283 -0.064380 -0.339218
+-0.938913 -0.063646 -0.340370
+-0.937652 -0.062575 -0.343999
+-0.937439 -0.063645 -0.344381
+-0.936657 -0.063001 -0.346606
+-0.935698 -0.062822 -0.349202
+-0.935284 -0.062515 -0.350355
+-0.934307 -0.062220 -0.352987
+-0.933485 -0.061397 -0.355285
+-0.932918 -0.060918 -0.356843
+-0.932266 -0.060467 -0.358606
+-0.931588 -0.059884 -0.360448
+-0.930444 -0.058995 -0.363516
+-0.929287 -0.058384 -0.366541
+-0.928604 -0.057626 -0.368377
+-0.927306 -0.056392 -0.371797
+-0.926103 -0.055004 -0.374969
+-0.924657 -0.054368 -0.378589
+-0.924344 -0.053443 -0.379478
+-0.922931 -0.053070 -0.382931
+-0.921388 -0.052352 -0.386700
+-0.919396 -0.049583 -0.391740
+-0.917020 -0.046422 -0.397612
+-0.915079 -0.043954 -0.402305
+-0.912381 -0.041128 -0.408640
+0.143539 -0.597115 -0.787981
+0.142500 -0.585095 -0.797073
+0.143771 -0.577481 -0.802344
+0.145029 -0.569816 -0.807545
+0.148539 -0.563746 -0.811136
+0.152039 -0.557641 -0.814676
+0.156750 -0.551012 -0.818261
+0.161449 -0.544340 -0.821782
+0.164757 -0.538735 -0.824793
+0.170189 -0.532540 -0.827689
+0.175608 -0.526304 -0.830522
+0.184317 -0.517653 -0.834040
+0.193433 -0.510723 -0.836231
+0.202524 -0.503724 -0.838307
+0.208785 -0.494306 -0.842340
+0.217973 -0.486538 -0.844518
+0.227128 -0.478697 -0.846570
+0.227128 -0.478697 -0.846570
+0.233186 -0.469148 -0.850236
+0.239661 -0.461789 -0.852446
+0.248970 -0.449892 -0.856107
+0.256034 -0.438229 -0.860038
+0.259498 -0.431362 -0.862452
+0.262945 -0.424467 -0.864809
+0.267815 -0.411219 -0.869670
+0.267815 -0.411219 -0.869670
+0.261347 -0.410135 -0.872129
+0.255911 -0.411631 -0.873030
+0.249480 -0.413415 -0.874041
+0.241896 -0.416220 -0.874836
+0.234558 -0.417128 -0.876389
+0.228253 -0.417471 -0.877880
+0.219747 -0.416838 -0.880331
+0.211282 -0.416554 -0.882520
+0.202859 -0.415357 -0.885040
+0.202859 -0.415357 -0.885040
+0.204955 -0.407359 -0.888247
+0.209859 -0.401761 -0.889641
+0.212393 -0.395283 -0.891923
+0.226260 -0.393765 -0.889199
+0.239682 -0.392882 -0.886088
+0.250104 -0.390921 -0.884087
+0.259520 -0.389216 -0.882136
+0.268680 -0.389996 -0.879064
+0.277936 -0.386799 -0.877608
+0.267815 -0.411219 -0.869670
+0.271004 -0.405880 -0.871178
+0.274610 -0.404224 -0.870821
+0.279280 -0.399842 -0.871355
+0.282635 -0.393458 -0.873166
+0.277936 -0.386799 -0.877608
+0.277936 -0.386799 -0.877608
+0.290184 -0.386799 -0.873661
+0.299911 -0.384811 -0.871267
+0.307963 -0.381927 -0.869736
+0.314091 -0.386312 -0.865626
+0.323184 -0.379732 -0.865193
+0.332789 -0.372868 -0.864541
+0.341172 -0.365391 -0.864467
+0.348353 -0.355769 -0.865608
+0.355167 -0.345697 -0.866910
+0.741311 0.269815 0.614298
+0.740933 0.274081 0.612874
+0.707582 0.404103 0.579664
+0.707306 0.398364 0.583929
+0.706881 0.394042 0.587343
+0.705723 0.387795 0.592831
+0.702535 0.380029 0.601525
+0.700907 0.376682 0.605489
+0.698549 0.375412 0.608968
+0.696165 0.374502 0.612228
+0.694709 0.372497 0.615080
+0.693790 0.368177 0.618683
+0.692977 0.363388 0.622389
+0.692656 0.355030 0.627515
+0.691734 0.346547 0.633210
+0.691561 0.341133 0.636310
+0.692099 0.335476 0.638712
+0.690122 0.327938 0.644698
+0.690122 0.327938 0.644698
+0.693533 0.322384 0.643844
+0.695986 0.318053 0.643354
+0.700462 0.311898 0.641519
+0.703657 0.310153 0.638881
+0.709827 0.308102 0.633060
+0.714611 0.306460 0.628490
+0.719510 0.304741 0.623749
+0.724006 0.303262 0.619281
+0.726109 0.295783 0.620429
+0.728414 0.288138 0.621318
+0.730642 0.281883 0.621569
+0.733507 0.273334 0.622009
+0.737876 0.272684 0.617141
+0.740933 0.274081 0.612874
+0.650842 0.480077 0.588088
+0.652930 0.481936 0.584265
+0.657056 0.484352 0.577649
+0.664148 0.488310 0.566169
+0.669783 0.487058 0.560618
+0.675375 0.485775 0.555032
+0.679786 0.487546 0.548098
+0.684147 0.489283 0.541126
+0.690761 0.492171 0.530064
+0.696807 0.493530 0.520869
+0.703281 0.495039 0.510705
+0.710022 0.496275 0.500140
+0.650842 0.480077 0.588088
+0.649077 0.478352 0.591412
+0.644485 0.476311 0.598000
+0.636142 0.475713 0.607274
+0.632727 0.478236 0.608848
+0.624964 0.482717 0.613283
+0.620563 0.485564 0.615486
+0.616733 0.488207 0.617231
+0.610897 0.492167 0.619866
+0.604648 0.496694 0.622361
+0.595732 0.502768 0.626046
+0.590923 0.506916 0.627249
+0.585717 0.509183 0.630268
+0.585717 0.509183 0.630268
+0.587420 0.511108 0.627140
+0.587463 0.514943 0.623975
+0.584129 0.522990 0.620426
+0.581147 0.528601 0.618480
+0.578199 0.535367 0.615437
+0.577044 0.541422 0.611237
+0.574719 0.548207 0.607395
+0.573499 0.554199 0.603124
+0.574184 0.561435 0.595784
+0.576752 0.567065 0.587973
+0.579263 0.572639 0.580101
+0.580716 0.577403 0.573934
+0.582133 0.582133 0.567730
+0.585717 0.509183 0.630268
+0.587962 0.501266 0.634482
+0.590156 0.493307 0.638641
+0.593700 0.485391 0.641398
+0.596811 0.479759 0.642737
+0.600922 0.469851 0.646194
+0.605700 0.457456 0.650581
+0.610468 0.446281 0.653857
+0.613996 0.438399 0.655869
+0.618127 0.430117 0.657460
+0.621853 0.423983 0.657927
+0.629603 0.415230 0.656149
+0.638423 0.405039 0.654007
+0.646551 0.395923 0.651615
+0.649687 0.392165 0.650774
+0.652150 0.388366 0.650591
+0.655639 0.378642 0.652797
+0.662820 0.367864 0.651714
+0.664955 0.364422 0.651474
+0.670096 0.356106 0.650810
+0.672459 0.351071 0.651106
+0.672845 0.346625 0.653073
+0.679196 0.340069 0.649959
+0.684970 0.334226 0.646944
+0.690122 0.327938 0.644698
+-0.548032 0.156463 0.820302
+-0.537620 0.160885 0.826274
+-0.527125 0.165272 0.832110
+-0.522378 0.160106 0.836077
+-0.517598 0.154932 0.839989
+-0.512787 0.149745 0.843846
+-0.507941 0.144547 0.847649
+-0.503063 0.139341 0.851396
+-0.498150 0.134131 0.855089
+-0.494142 0.120843 0.859356
+-0.490028 0.107534 0.863442
+-0.485815 0.094195 0.867346
+-0.476295 0.085141 0.873499
+-0.466678 0.076062 0.879467
+-0.466678 0.076062 0.879467
+-0.466295 0.084555 0.878898
+-0.465879 0.093041 0.878265
+-0.465430 0.101514 0.877569
+-0.464946 0.109986 0.876810
+-0.462654 0.123855 0.876177
+-0.460271 0.137694 0.875371
+-0.457363 0.145497 0.875631
+-0.454422 0.153292 0.875831
+-0.451448 0.161082 0.875970
+-0.448445 0.168854 0.876049
+-0.443228 0.178671 0.876751
+-0.437959 0.188461 0.877346
+-0.431505 0.198133 0.878405
+-0.424992 0.207778 0.879345
+-0.411334 0.213252 0.884479
+-0.397578 0.218670 0.889400
+-0.383723 0.224041 0.894104
+-0.369778 0.229352 0.898592
+-0.355742 0.234613 0.902861
+-0.341623 0.239812 0.906912
+-0.341623 0.239812 0.906912
+-0.354977 0.244088 0.900663
+-0.368247 0.248311 0.894201
+-0.381432 0.252474 0.887528
+-0.394531 0.256574 0.880645
+-0.394696 0.264965 0.878100
+-0.394832 0.273333 0.875488
+-0.394936 0.281684 0.872808
+-0.395013 0.290007 0.870061
+-0.395057 0.298314 0.867248
+-0.395072 0.306593 0.864368
+-0.400119 0.311641 0.860259
+-0.405140 0.316667 0.856091
+-0.410137 0.321669 0.851865
+-0.415103 0.326654 0.847581
+-0.420039 0.331619 0.843239
+-0.424950 0.336558 0.838840
+-0.429831 0.341474 0.834384
+-0.434683 0.346370 0.829871
+-0.442287 0.349297 0.824645
+-0.449855 0.352187 0.819341
+-0.457378 0.355048 0.813959
+-0.464860 0.357874 0.808502
+-0.464860 0.357874 0.808502
+-0.474899 0.359828 0.801817
+-0.478300 0.363260 0.798264
+-0.483260 0.368252 0.793007
+-0.491510 0.376590 0.784031
+-0.499672 0.384827 0.774880
+-0.506281 0.388189 0.768930
+-0.512844 0.391517 0.762910
+-0.519351 0.394766 0.756851
+-0.525808 0.397983 0.750723
+-0.526535 0.411034 0.743194
+-0.527061 0.424101 0.735492
+-0.526729 0.433385 0.730334
+-0.526338 0.442621 0.725093
+-0.524728 0.450223 0.721595
+-0.525704 0.454448 0.718251
+-0.529807 0.459938 0.711756
+-0.533902 0.466574 0.704388
+-0.536429 0.473308 0.697989
+-0.539564 0.476310 0.693546
+-0.548317 0.479998 0.684138
+-0.552225 0.483249 0.678720
+-0.559183 0.489114 0.668816
+-0.560479 0.491648 0.665886
+-0.560799 0.496345 0.662148
+-0.563955 0.499384 0.657197
+-0.569165 0.499039 0.652982
+-0.570921 0.502361 0.648917
+-0.574340 0.505370 0.643577
+-0.573675 0.510192 0.640379
+-0.572733 0.514155 0.638064
+-0.572683 0.518458 0.634640
+-0.575506 0.522313 0.628939
+-0.580219 0.525225 0.622192
+-0.585648 0.529378 0.613585
+-0.591087 0.534050 0.604312
+-0.595197 0.538670 0.596176
+-0.597804 0.540271 0.592132
+-0.602129 0.539861 0.588137
+-0.605672 0.540412 0.584008
+-0.610048 0.541227 0.578709
+-0.614909 0.540705 0.574065
+-0.464860 0.357874 0.808502
+-0.457272 0.366632 0.808902
+-0.449622 0.375343 0.809193
+-0.440975 0.380492 0.811528
+-0.429581 0.387911 0.814105
+-0.418110 0.395249 0.816528
+-0.405484 0.403536 0.818823
+-0.392766 0.411725 0.820929
+-0.383565 0.416044 0.823085
+-0.374327 0.420312 0.825153
+-0.365875 0.424664 0.826703
+-0.357387 0.428980 0.828177
+-0.343256 0.433190 0.831929
+-0.329049 0.437298 0.835489
+-0.314768 0.441304 0.838855
+-0.307193 0.445751 0.839309
+-0.299598 0.450163 0.839697
+-0.291979 0.454542 0.840020
+-0.284341 0.458881 0.840279
+-0.276675 0.463189 0.840473
+-0.268995 0.467457 0.840602
+-0.262820 0.473730 0.839053
+-0.256630 0.479961 0.837437
+-0.250418 0.486154 0.835755
+-0.244191 0.492307 0.834006
+-0.232949 0.499219 0.833119
+-0.221672 0.506039 0.832087
+-0.210356 0.512773 0.830909
+-0.198324 0.518708 0.830189
+-0.189975 0.528893 0.825733
+-0.188494 0.536006 0.821504
+-0.186998 0.543080 0.817217
+-0.187480 0.554172 0.809676
+-0.187928 0.565164 0.801989
+-0.182500 0.571640 0.798669
+-0.177054 0.578069 0.795283
+-0.171592 0.584452 0.791831
+-0.166118 0.590787 0.788312
+-0.160633 0.597072 0.784730
+-0.155128 0.603310 0.781083
+-0.162461 0.610403 0.774097
+-0.169771 0.617403 0.766991
+-0.175051 0.627724 0.757431
+-0.180281 0.637907 0.747700
+-0.183679 0.644129 0.741554
+-0.187059 0.650295 0.735344
+-0.190418 0.656406 0.729067
+-0.193766 0.662457 0.722727
+-0.197153 0.667288 0.717382
+-0.200534 0.672077 0.711991
+-0.203894 0.676824 0.706556
+-0.207246 0.681528 0.701074
+-0.210588 0.686188 0.695548
+-0.213907 0.690807 0.689978
+-0.226935 0.693038 0.683592
+-0.239906 0.695122 0.677060
+-0.250052 0.698638 0.669778
+-0.262640 0.699854 0.663705
+-0.275185 0.700928 0.657501
+-0.287671 0.701868 0.651166
+-0.293607 0.694694 0.656157
+-0.299509 0.687445 0.661072
+-0.310802 0.685413 0.657983
+-0.322041 0.683288 0.654802
+-0.330500 0.683368 0.650518
+-0.338926 0.683390 0.646174
+-0.347511 0.681734 0.643376
+-0.356078 0.680015 0.640524
+-0.362142 0.674120 0.643330
+-0.368181 0.668170 0.646085
+-0.377444 0.657830 0.651294
+-0.386630 0.647344 0.656360
+-0.390132 0.641327 0.660157
+-0.393609 0.635272 0.663912
+-0.397058 0.629178 0.667626
+-0.400480 0.623046 0.671298
+-0.413145 0.623958 0.662779
+-0.425712 0.624726 0.654104
+-0.438181 0.625346 0.645276
+-0.443117 0.628182 0.639163
+-0.448015 0.630978 0.633007
+-0.452885 0.633728 0.626805
+-0.457716 0.636440 0.620558
+-0.465041 0.642098 0.609256
+-0.472269 0.647618 0.597822
+-0.475793 0.652116 0.590141
+-0.479264 0.656560 0.582405
+-0.484134 0.661582 0.572677
+-0.488937 0.666508 0.562866
+-0.109415 0.963271 0.248916
+-0.124684 0.961331 0.249234
+-0.139925 0.959163 0.249491
+-0.155131 0.956769 0.249691
+-0.164115 0.953500 0.256319
+-0.172433 0.949120 0.266827
+-0.180729 0.944549 0.277281
+-0.185351 0.941178 0.285516
+-0.189945 0.937714 0.293721
+-0.199136 0.934295 0.298457
+-0.208306 0.930765 0.303159
+-0.217442 0.928526 0.303607
+-0.226572 0.926202 0.304026
+-0.235679 0.923796 0.304420
+-0.244763 0.921309 0.304786
+-0.259799 0.917072 0.305117
+-0.274769 0.912612 0.305374
+-0.289670 0.907930 0.305557
+-0.304499 0.903027 0.305667
+-0.319253 0.897906 0.305700
+-0.333930 0.892566 0.305660
+-0.341973 0.889016 0.307099
+-0.349998 0.885393 0.308513
+-0.357986 0.881702 0.309903
+-0.365954 0.877939 0.311267
+-0.376077 0.872697 0.313915
+-0.386160 0.867329 0.316521
+-0.386160 0.867329 0.316521
+-0.391591 0.862497 0.322945
+-0.397962 0.856318 0.331430
+-0.405555 0.850494 0.337135
+-0.417422 0.843885 0.339237
+-0.429206 0.837120 0.341276
+-0.433351 0.832319 0.347676
+-0.437450 0.827457 0.354047
+-0.437747 0.821724 0.366718
+-0.442137 0.814857 0.376575
+-0.449194 0.811770 0.374899
+-0.457646 0.805014 0.379190
+-0.464558 0.803472 0.374055
+-0.471433 0.801870 0.368889
+-0.109415 0.963271 0.248916
+-0.108714 0.961071 0.257520
+-0.107800 0.960137 0.261335
+-0.107800 0.960137 0.261335
+-0.107886 0.958913 0.265726
+-0.108029 0.955990 0.275932
+-0.108048 0.952804 0.286662
+-0.107529 0.948762 0.299870
+-0.106451 0.945944 0.308958
+-0.104700 0.942115 0.320940
+-0.102352 0.938292 0.332605
+-0.098529 0.934957 0.342923
+-0.096789 0.929825 0.356986
+-0.095879 0.924912 0.369682
+-0.095420 0.920516 0.380540
+-0.094816 0.916066 0.391209
+-0.095232 0.910797 0.403145
+-0.097037 0.905413 0.414602
+-0.099559 0.900296 0.424948
+-0.103372 0.895976 0.433036
+-0.107849 0.890489 0.443078
+-0.110823 0.885910 0.451388
+-0.113735 0.882156 0.457926
+-0.115167 0.878203 0.465062
+-0.112887 0.875351 0.470920
+-0.039500 0.992933 0.121090
+-0.041250 0.994113 0.110417
+-0.044102 0.995155 0.099461
+-0.046371 0.996196 0.087339
+-0.050552 0.996887 0.076533
+-0.056236 0.997415 0.064882
+-0.065444 0.997548 0.053226
+-0.076824 0.997236 0.042914
+-0.086836 0.996662 0.036756
+-0.086836 0.996662 0.036756
+-0.096629 0.995897 0.032874
+-0.106149 0.995133 0.025984
+-0.108123 0.994982 0.023499
+-0.108123 0.994982 0.023499
+-0.111216 0.994726 0.019621
+-0.116275 0.994253 0.013256
+-0.122189 0.993631 0.002026
+-0.128452 0.992796 -0.009561
+-0.135307 0.991691 -0.021789
+-0.139884 0.990883 -0.028551
+-0.144449 0.990008 -0.035310
+-0.154273 0.988056 -0.046548
+-0.162716 0.986100 -0.057828
+-0.167885 0.984776 -0.065101
+-0.173041 0.983372 -0.072368
+-0.179418 0.981528 -0.081260
+-0.186628 0.979174 -0.092557
+-0.195873 0.976171 -0.104346
+-0.204361 0.973300 -0.114338
+-0.214151 0.969815 -0.125418
+-0.226287 0.966067 -0.132768
+-0.235918 0.963172 -0.136945
+-0.249373 0.959006 -0.142201
+-0.386160 0.867329 0.316521
+-0.381545 0.866759 0.323554
+-0.376907 0.866125 0.330565
+-0.372247 0.865428 0.337551
+-0.367564 0.864667 0.344512
+-0.362845 0.863849 0.351450
+-0.358106 0.862967 0.358362
+-0.353332 0.862028 0.365248
+-0.348541 0.861024 0.372108
+-0.334738 0.864124 0.377520
+-0.320860 0.867025 0.382844
+-0.306896 0.869733 0.388080
+-0.292879 0.872235 0.393228
+-0.278782 0.874542 0.398285
+-0.269148 0.873144 0.407800
+-0.259466 0.871583 0.417240
+-0.249726 0.869865 0.426601
+-0.244053 0.867085 0.435392
+-0.238350 0.864204 0.444133
+-0.233197 0.859375 0.455999
+-0.228004 0.854382 0.467776
+-0.230416 0.849830 0.474787
+-0.232796 0.845217 0.481761
+-0.244392 0.837819 0.488842
+-0.255932 0.830220 0.495804
+-0.268296 0.823627 0.500214
+-0.280612 0.816854 0.504515
+-0.292862 0.809907 0.508707
+-0.305046 0.802786 0.512791
+-0.309343 0.797163 0.518910
+-0.313606 0.791474 0.524984
+-0.311830 0.786270 0.533729
+-0.310018 0.780984 0.542416
+-0.316232 0.772051 0.551480
+-0.322369 0.762969 0.560434
+-0.325454 0.757514 0.565985
+-0.328526 0.752002 0.571497
+-0.337487 0.748146 0.571337
+-0.346405 0.744224 0.571124
+-0.359235 0.744905 0.562301
+-0.371985 0.745402 0.553340
+-0.384633 0.745724 0.544244
+-0.392032 0.746110 0.538445
+-0.399394 0.746430 0.532597
+-0.406718 0.746686 0.526703
+-0.414015 0.746872 0.520761
+-0.424035 0.743082 0.518131
+-0.431641 0.736657 0.520997
+-0.439192 0.730159 0.523807
+-0.446727 0.725832 0.523452
+-0.454232 0.721447 0.523057
+-0.461714 0.716990 0.522637
+-0.469154 0.712483 0.522178
+0.297428 -0.879057 -0.374289
+0.307477 -0.877197 -0.370540
+0.317490 -0.875233 -0.366746
+0.331927 -0.869860 -0.366746
+0.346274 -0.864249 -0.366746
+0.353962 -0.861129 -0.366746
+0.361623 -0.857940 -0.366746
+0.369254 -0.854683 -0.366746
+0.376856 -0.851359 -0.366746
+0.387260 -0.846923 -0.366181
+0.397614 -0.842380 -0.365568
+0.406398 -0.838381 -0.365104
+0.415144 -0.834304 -0.364607
+0.419565 -0.836393 -0.354690
+0.423936 -0.838379 -0.344730
+0.424032 -0.842598 -0.334235
+0.424071 -0.846710 -0.323696
+0.422046 -0.850833 -0.315484
+0.419983 -0.854880 -0.307242
+0.420656 -0.857010 -0.300356
+0.409870 -0.862582 -0.299324
+0.397899 -0.869845 -0.294451
+0.392973 -0.874217 -0.288092
+0.388012 -0.878516 -0.281709
+0.381161 -0.884863 -0.271068
+0.374233 -0.891032 -0.260374
+0.371994 -0.894653 -0.251059
+0.363649 -0.900411 -0.242616
+0.355241 -0.906012 -0.234129
+0.348215 -0.909317 -0.231875
+0.341168 -0.912562 -0.229605
+0.331529 -0.917069 -0.225760
+0.321849 -0.921459 -0.221887
+0.311737 -0.925863 -0.217982
+0.301582 -0.930140 -0.214048
+0.291434 -0.933093 -0.215246
+0.281251 -0.935940 -0.216417
+0.271079 -0.936110 -0.228258
+0.260841 -0.936051 -0.240043
+0.252082 -0.935678 -0.250555
+0.243276 -0.935129 -0.261018
+0.234424 -0.934405 -0.271433
+-0.295848 -0.880010 0.373307
+-0.297176 -0.879183 0.374195
+-0.295541 -0.878741 0.376505
+-0.294214 -0.878497 0.378100
+-0.294222 -0.877963 0.379324
+-0.292039 -0.877542 0.381957
+-0.289620 -0.877116 0.384750
+-0.288784 -0.876691 0.386333
+-0.295848 -0.880010 0.373307
+-0.297458 -0.880370 0.371188
+-0.299499 -0.880577 0.369063
+-0.301013 -0.880791 0.367330
+-0.302235 -0.880948 0.365955
+-0.303082 -0.881364 0.364260
+-0.300690 -0.882817 0.362731
+-0.302703 -0.883369 0.359720
+-0.304458 -0.883558 0.357783
+-0.306225 -0.883776 0.355745
+-0.307679 -0.883831 0.354362
+-0.308910 -0.884036 0.352785
+-0.309452 -0.884398 0.351409
+-0.308058 -0.885269 0.350447
+-0.308697 -0.885710 0.348775
+-0.310617 -0.886041 0.346239
+-0.311663 -0.886102 0.345148
+-0.311654 -0.886323 0.344593
+-0.313075 -0.886556 0.342713
+-0.309018 -0.889376 0.339093
+-0.305373 -0.891768 0.336119
+-0.305409 -0.892229 0.334871
+-0.300074 -0.895061 0.332141
+-0.295111 -0.897690 0.329502
+-0.295869 -0.898146 0.327587
+-0.289624 -0.901209 0.324760
+-0.285137 -0.903074 0.323558
+-0.281358 -0.904894 0.321788
+-0.277270 -0.906797 0.319986
+-0.273467 -0.908286 0.319040
+-0.269907 -0.909616 0.318287
+-0.265449 -0.911069 0.317882
+-0.266408 -0.912168 0.313931
+-0.267135 -0.912879 0.311252
+-0.267405 -0.913388 0.309534
+-0.267378 -0.913889 0.308084
+-0.255911 -0.917437 0.307284
+-0.295848 -0.880010 0.373307
+-0.293150 -0.881395 0.372175
+-0.289025 -0.883543 0.370315
+-0.286223 -0.884686 0.369765
+-0.283738 -0.885121 0.370634
+-0.280828 -0.886035 0.370666
+-0.277830 -0.886938 0.370765
+-0.274383 -0.887980 0.370837
+-0.272443 -0.888568 0.370859
+-0.269936 -0.889022 0.371598
+-0.269936 -0.889022 0.371598
+-0.269659 -0.889675 0.370243
+-0.268962 -0.890396 0.369022
+-0.268462 -0.891608 0.366470
+-0.266708 -0.893287 0.363669
+-0.265706 -0.894085 0.362448
+-0.265394 -0.894521 0.361607
+-0.264211 -0.895287 0.360581
+-0.263756 -0.897264 0.356001
+-0.264204 -0.898441 0.352708
+-0.264537 -0.899690 0.349279
+-0.264406 -0.901162 0.345590
+-0.263616 -0.903194 0.340887
+-0.261700 -0.905436 0.336418
+-0.259371 -0.907582 0.332441
+-0.256417 -0.909853 0.328528
+-0.253633 -0.911728 0.325498
+-0.249199 -0.914239 0.321884
+-0.255911 -0.917437 0.307284
+-0.254317 -0.916417 0.311592
+-0.252914 -0.915578 0.315154
+-0.251187 -0.914923 0.318398
+-0.249199 -0.914239 0.321884
+-0.475994 0.774474 0.417953
+-0.471704 0.774751 0.422253
+-0.471704 0.774751 0.422253
+-0.468082 0.779605 0.417354
+-0.464629 0.787338 0.406628
+-0.464843 0.793575 0.394150
+-0.467447 0.796935 0.384233
+-0.469694 0.799775 0.375551
+-0.471433 0.801870 0.368889
+-0.471433 0.801870 0.368889
+-0.471314 0.805138 0.361904
+-0.472363 0.808676 0.352590
+-0.476522 0.808909 0.346447
+-0.476633 0.811071 0.341235
+-0.473349 0.816077 0.333838
+-0.470530 0.821758 0.323804
+-0.464960 0.829260 0.312605
+-0.464758 0.832918 0.303098
+-0.468029 0.835795 0.289946
+-0.468834 0.836991 0.285188
+-0.468834 0.836991 0.285188
+-0.476095 0.833736 0.282699
+-0.483334 0.830417 0.280191
+-0.490535 0.827042 0.277662
+-0.497712 0.823604 0.275115
+-0.504851 0.820111 0.272547
+-0.511951 0.816563 0.269961
+-0.519011 0.812961 0.267355
+-0.526045 0.809296 0.264733
+-0.533038 0.805577 0.262092
+-0.539990 0.801805 0.259431
+-0.546900 0.797980 0.256754
+-0.553782 0.794093 0.254058
+-0.553782 0.794093 0.254058
+-0.558807 0.793630 0.244382
+-0.565563 0.793066 0.230361
+-0.569347 0.792739 0.222068
+-0.576814 0.789938 0.212644
+-0.579599 0.790763 0.201795
+-0.580406 0.792618 0.192026
+-0.586844 0.790964 0.178921
+-0.591834 0.790430 0.164343
+-0.596160 0.789610 0.152287
+-0.599403 0.789141 0.141680
+-0.600817 0.790572 0.127055
+-0.602113 0.791819 0.112402
+-0.605630 0.790443 0.102843
+-0.606616 0.790615 0.095498
+-0.611521 0.787346 0.091149
+-0.616276 0.784527 0.083128
+-0.619874 0.782451 0.075665
+-0.624410 0.779837 0.064612
+-0.629060 0.776880 0.054383
+-0.632274 0.774775 0.046646
+-0.632997 0.774860 0.033682
+-0.632586 0.775710 0.018508
+-0.600193 0.800197 0.040973
+-0.608191 0.794159 0.040515
+-0.616968 0.787386 0.040007
+-0.618551 0.786406 0.034479
+-0.626397 0.780419 0.028354
+-0.632586 0.775710 0.018508
+-0.600193 0.800197 0.040973
+-0.594182 0.805164 0.029812
+-0.594182 0.805164 0.029812
+-0.590385 0.808315 0.017495
+-0.588001 0.810235 0.003320
+-0.551193 0.834977 0.035043
+-0.548109 0.836992 0.035355
+-0.537140 0.843790 0.041523
+-0.525169 0.851350 0.040325
+-0.512555 0.859001 0.040367
+-0.503040 0.864691 0.038562
+-0.495637 0.869086 0.035521
+-0.489834 0.872660 0.027553
+-0.489114 0.873411 0.012470
+-0.492593 0.871543 -0.001416
+-0.492593 0.871543 -0.001416
+-0.498928 0.867802 -0.015014
+-0.506253 0.863301 -0.025533
+-0.512550 0.859436 -0.029875
+-0.518809 0.855509 -0.034216
+-0.526101 0.850899 -0.037631
+-0.533360 0.846208 -0.041042
+-0.542090 0.840418 -0.045378
+-0.550761 0.834512 -0.049708
+-0.554243 0.831933 -0.054027
+-0.554229 0.830843 -0.068809
+-0.550170 0.832542 -0.079877
+-0.558788 0.826569 -0.082040
+-0.567339 0.820504 -0.084194
+-0.576214 0.814359 -0.083582
+-0.585009 0.808129 -0.082960
+-0.592711 0.802994 -0.078035
+-0.600353 0.797767 -0.073102
+-0.605726 0.794410 -0.064937
+-0.605726 0.794410 -0.064937
+-0.608646 0.792916 -0.055229
+-0.611193 0.791733 -0.042742
+-0.611450 0.792095 -0.030716
+-0.587997 0.810230 -0.004850
+-0.588001 0.810235 0.003320
+-0.590385 0.808315 0.017495
+-0.594182 0.805164 0.029812
+-0.492593 0.871543 -0.001416
+-0.489834 0.873016 -0.011887
+-0.485873 0.874917 -0.026056
+-0.483296 0.876067 -0.034062
+-0.480685 0.877153 -0.042066
+-0.478111 0.877720 -0.056847
+-0.481680 0.875341 -0.063027
+-0.481680 0.875341 -0.063027
+-0.492771 0.868669 -0.069240
+-0.498429 0.864942 -0.075112
+-0.504042 0.861149 -0.080978
+-0.506179 0.858773 -0.092045
+-0.506984 0.856580 -0.106765
+-0.505016 0.855774 -0.121438
+-0.504000 0.854155 -0.136070
+-0.674136 0.730836 -0.116466
+-0.680706 0.725182 -0.113578
+-0.687210 0.719476 -0.110681
+-0.691820 0.716851 -0.098395
+-0.685465 0.723618 -0.093242
+-0.691789 0.718724 -0.083978
+-0.611450 0.792095 -0.030716
+-0.605666 0.796751 -0.024252
+-0.599836 0.801321 -0.017787
+-0.593945 0.805814 -0.011319
+-0.587997 0.810230 -0.004850
+-0.611450 0.792095 -0.030716
+-0.621111 0.784125 -0.039938
+-0.621111 0.784125 -0.039938
+-0.632954 0.774476 -0.042206
+-0.644310 0.764953 -0.044003
+-0.650578 0.759445 -0.047052
+-0.656793 0.753878 -0.050097
+-0.662209 0.748780 -0.054993
+-0.667568 0.743625 -0.059883
+-0.672372 0.738513 -0.068696
+-0.677084 0.733312 -0.077501
+-0.677084 0.733312 -0.077501
+-0.684472 0.726065 -0.080744
+-0.691789 0.718724 -0.083978
+-0.503535 0.841812 -0.199436
+-0.506298 0.842787 -0.188073
+-0.507954 0.844275 -0.176662
+-0.505721 0.847648 -0.166699
+-0.503434 0.850921 -0.156717
+-0.503738 0.852589 -0.146401
+-0.504000 0.854155 -0.136070
+-0.504000 0.854155 -0.136070
+-0.514322 0.847477 -0.139151
+-0.523634 0.841547 -0.140396
+-0.535345 0.834751 -0.136774
+-0.545739 0.828192 -0.135574
+-0.557993 0.819984 -0.135588
+-0.565529 0.815207 -0.133159
+-0.573008 0.810368 -0.130718
+-0.580110 0.805498 -0.129496
+-0.587240 0.800660 -0.127358
+-0.594328 0.795756 -0.125210
+-0.603153 0.789091 -0.125193
+-0.609741 0.784546 -0.121822
+-0.616289 0.779937 -0.118442
+-0.622839 0.775320 -0.114449
+-0.629332 0.770648 -0.110447
+-0.637165 0.763692 -0.113779
+-0.644929 0.756637 -0.117097
+-0.652435 0.750276 -0.116447
+-0.659879 0.743841 -0.115785
+-0.667039 0.737373 -0.116131
+-0.674136 0.730836 -0.116466
+-0.753020 0.659382 -0.020257
+-0.751726 0.661012 -0.014324
+-0.744548 0.669124 -0.012548
+-0.737291 0.677143 -0.010770
+-0.731471 0.683470 -0.007378
+-0.725590 0.689739 -0.003986
+-0.715955 0.699746 -0.000403
+-0.707111 0.708643 0.007360
+-0.701324 0.714395 0.004526
+-0.694164 0.721368 0.000990
+-0.686926 0.728260 -0.002546
+-0.680508 0.734265 -0.000750
+-0.676538 0.737924 0.000298
+-0.676538 0.737924 0.000298
+-0.674707 0.739599 0.000592
+-0.666467 0.747028 0.002616
+-0.658129 0.754374 0.004640
+-0.650762 0.760707 0.008297
+-0.643313 0.766969 0.011954
+-0.632586 0.775710 0.018508
+-0.772685 0.630232 -0.089158
+-0.766990 0.637582 -0.086044
+-0.761229 0.644861 -0.082921
+-0.752690 0.655249 -0.079378
+-0.747340 0.661563 -0.077543
+-0.741948 0.667818 -0.075703
+-0.732272 0.678637 -0.073687
+-0.726282 0.685084 -0.073306
+-0.720237 0.691479 -0.072920
+-0.711600 0.700289 -0.073636
+-0.705474 0.706312 -0.075026
+-0.705474 0.706312 -0.075026
+-0.699426 0.712040 -0.077454
+-0.691789 0.718724 -0.083978
+-0.754933 0.656901 -0.028084
+-0.749300 0.663205 -0.030639
+-0.743599 0.669469 -0.033191
+-0.739190 0.674170 -0.036337
+-0.734929 0.678600 -0.040095
+-0.730652 0.682991 -0.043543
+-0.726059 0.687513 -0.048841
+-0.721104 0.692311 -0.054139
+-0.716085 0.697068 -0.059433
+-0.709512 0.703053 -0.067201
+-0.705474 0.706312 -0.075026
+-0.109415 0.963271 0.248916
+-0.109931 0.964392 0.244333
+-0.099201 0.967033 0.238458
+-0.093587 0.971118 0.223769
+-0.087948 0.974946 0.209019
+-0.082285 0.978516 0.194214
+-0.075716 0.980748 0.185492
+-0.069138 0.982857 0.176748
+-0.072543 0.983991 0.168952
+-0.076046 0.985026 0.161257
+-0.068724 0.986266 0.156933
+-0.071978 0.986939 0.151177
+-0.076489 0.987575 0.144712
+-0.082545 0.988240 0.136676
+-0.077159 0.989254 0.132444
+-0.084544 0.989700 0.124415
+-0.077941 0.990891 0.119171
+-0.085858 0.991400 0.109142
+-0.094348 0.991630 0.099693
+-0.104460 0.991620 0.089228
+-0.114113 0.991262 0.081061
+-0.114839 0.992311 0.065862
+-0.116587 0.992934 0.052029
+-0.118151 0.993383 0.038176
+-0.117486 0.993720 0.030797
+-0.108123 0.994982 0.023499
+-0.039500 0.992933 0.121090
+-0.032949 0.991571 0.133483
+-0.030795 0.990437 0.142084
+-0.028515 0.989228 0.150662
+-0.027526 0.987967 0.158842
+-0.026412 0.986642 0.167003
+-0.026809 0.985273 0.174788
+-0.027075 0.983826 0.182663
+-0.027248 0.981205 0.196145
+-0.028087 0.979452 0.204551
+-0.029015 0.977621 0.212949
+-0.032127 0.974153 0.227779
+-0.035093 0.971757 0.237311
+-0.035093 0.971757 0.237311
+-0.042574 0.968598 0.248651
+-0.049639 0.966108 0.256837
+-0.056699 0.963499 0.264992
+-0.063696 0.962080 0.268513
+-0.070687 0.960599 0.272016
+-0.085523 0.959189 0.272729
+-0.099317 0.959186 0.268053
+-0.107800 0.960137 0.261335
+-0.588001 0.810235 0.003320
+-0.582999 0.813845 -0.002233
+-0.577958 0.817398 -0.007785
+-0.577958 0.817398 -0.007785
+-0.572163 0.821489 -0.004702
+-0.565829 0.825878 0.000233
+-0.559946 0.829842 0.007635
+-0.556072 0.832347 0.014725
+-0.552908 0.834245 0.023659
+-0.551518 0.834898 0.031660
+-0.551193 0.834977 0.035043
+0.335716 -0.094464 0.935266
+0.339661 -0.097611 0.933529
+0.342816 -0.100004 0.932131
+0.346001 -0.102408 0.930701
+0.343909 -0.106153 0.931055
+0.346031 -0.108384 0.930018
+0.349824 -0.112512 0.928119
+0.354179 -0.116587 0.925977
+0.358662 -0.119936 0.923835
+0.362592 -0.123127 0.921892
+0.367706 -0.127321 0.919311
+0.371729 -0.121629 0.918469
+0.373784 -0.123236 0.917427
+0.376874 -0.118636 0.916774
+0.381252 -0.121804 0.914560
+0.386214 -0.114452 0.913435
+0.389878 -0.116644 0.911612
+0.393516 -0.119255 0.909722
+0.397694 -0.121777 0.907583
+0.403258 -0.124374 0.904790
+0.406660 -0.127186 0.902887
+0.409353 -0.131601 0.901048
+0.412039 -0.138875 0.898745
+0.413951 -0.142864 0.897249
+0.415269 -0.144918 0.896317
+0.411771 -0.150660 0.896979
+0.409084 -0.154835 0.897494
+0.406801 -0.158586 0.897874
+0.406743 -0.164877 0.896774
+0.406621 -0.168739 0.896115
+0.406621 -0.171529 0.895589
+0.407751 -0.173573 0.894687
+0.406909 -0.175498 0.894694
+0.407611 -0.177127 0.894058
+0.408175 -0.179521 0.893328
+0.409019 -0.182188 0.892408
+0.410017 -0.184740 0.891431
+0.410853 -0.187404 0.890496
+0.411859 -0.189614 0.889569
+0.412268 -0.191264 0.889030
+0.413513 -0.193133 0.888054
+0.414371 -0.194603 0.887337
+0.415194 -0.196360 0.886571
+0.414633 -0.197314 0.886621
+0.415592 -0.199507 0.885687
+0.416565 -0.202047 0.884660
+0.417654 -0.204672 0.883550
+0.418762 -0.207046 0.882480
+0.420259 -0.209776 0.881131
+0.420938 -0.212336 0.880200
+0.422145 -0.215387 0.878888
+0.423234 -0.217753 0.877788
+0.424442 -0.219905 0.876675
+0.425677 -0.222366 0.875463
+0.427121 -0.225715 0.873912
+0.427937 -0.227765 0.872986
+0.428716 -0.229802 0.872076
+0.429777 -0.232454 0.870858
+0.430672 -0.235216 0.869682
+0.431865 -0.237701 0.868422
+0.432590 -0.239064 0.867692
+0.432077 -0.239785 0.867747
+0.432587 -0.240953 0.867174
+0.433531 -0.242536 0.866267
+0.434029 -0.244281 0.865532
+0.367953 0.923395 -0.118720
+0.356300 0.928550 -0.113992
+0.343389 0.933601 -0.112363
+0.335440 0.936425 -0.112866
+0.327338 0.939227 -0.113366
+0.318625 0.942014 -0.115049
+0.309975 0.944688 -0.116725
+0.301268 0.947128 -0.119693
+0.292403 0.949521 -0.122666
+0.283976 0.952074 -0.122674
+0.281931 0.954474 -0.107952
+0.279472 0.955985 -0.100785
+0.278771 0.957644 -0.085972
+0.277118 0.959036 -0.075190
+0.269122 0.961167 -0.076991
+0.261106 0.963230 -0.078787
+0.249485 0.965918 -0.083359
+0.237824 0.968450 -0.087917
+0.228068 0.970781 -0.088060
+0.218288 0.973013 -0.088203
+0.207676 0.975430 -0.087138
+0.197038 0.977730 -0.086063
+0.187949 0.979789 -0.082942
+0.178841 0.981753 -0.079812
+0.166906 0.984103 -0.076683
+0.154944 0.986298 -0.073542
+0.144140 0.988167 -0.070369
+0.133317 0.989908 -0.067188
+0.125281 0.991198 -0.063571
+0.117236 0.992408 -0.059949
+0.109182 0.993540 -0.056323
+0.101120 0.994594 -0.052691
+0.087352 0.995741 -0.055551
+0.073567 0.996690 -0.058399
+0.060967 0.997136 -0.064888
+0.048353 0.997382 -0.071364
+0.036219 0.998550 -0.061615
+0.024078 0.999475 -0.051852
+0.020460 1.000117 -0.039677
+0.016838 1.000596 -0.027496
+0.009950 1.000855 -0.020592
+0.003063 1.001019 -0.013686
+-0.011009 1.001026 -0.007868
+-0.025080 1.000801 -0.002049
+-0.039143 1.000345 0.003771
+-0.053198 0.999657 0.009590
+-0.067241 0.998737 0.015406
+-0.077047 0.997805 0.026084
+-0.086836 0.996662 0.036756
+-0.688618 0.159600 -0.706553
+-0.685236 0.161857 -0.709304
+-0.683064 0.163523 -0.711003
+-0.680608 0.164946 -0.713014
+-0.677420 0.166328 -0.715705
+-0.675040 0.168069 -0.717532
+-0.673884 0.169018 -0.718390
+-0.672027 0.170885 -0.719678
+-0.669579 0.174075 -0.721184
+-0.666151 0.176403 -0.723770
+-0.663292 0.177468 -0.726116
+-0.660816 0.177770 -0.728282
+-0.657944 0.177243 -0.730987
+-0.655977 0.177758 -0.732617
+-0.654335 0.178527 -0.733889
+-0.651881 0.178347 -0.736099
+-0.650775 0.178630 -0.737002
+-0.648687 0.179555 -0.738605
+-0.647266 0.179746 -0.739797
+-0.645273 0.179156 -0.741665
+-0.643259 0.179625 -0.743288
+-0.641441 0.179226 -0.744943
+-0.640288 0.179868 -0.745774
+-0.638271 0.179566 -0.747562
+-0.635990 0.179787 -0.749438
+-0.633826 0.180191 -0.751160
+-0.631082 0.181389 -0.753166
+-0.628259 0.181718 -0.755429
+-0.625226 0.182355 -0.757772
+-0.621403 0.183537 -0.760607
+-0.618689 0.183875 -0.762720
+-0.617480 0.183938 -0.763678
+-0.615329 0.184654 -0.765229
+-0.613933 0.184948 -0.766271
+-0.613933 0.184948 -0.766271
+-0.610825 0.186200 -0.768435
+-0.609321 0.186718 -0.769495
+-0.607779 0.188313 -0.770320
+-0.605781 0.189910 -0.771493
+-0.603786 0.190918 -0.772798
+-0.601255 0.192197 -0.774441
+-0.598632 0.193941 -0.776026
+-0.595853 0.195618 -0.777731
+-0.594524 0.196436 -0.778536
+-0.591250 0.197348 -0.780780
+-0.588791 0.198516 -0.782331
+-0.585365 0.199708 -0.784579
+-0.582633 0.200321 -0.786442
+-0.578565 0.201908 -0.789018
+-0.576598 0.202249 -0.790360
+-0.574278 0.202968 -0.791854
+-0.570966 0.203963 -0.793976
+-0.567611 0.205562 -0.795953
+-0.564724 0.206604 -0.797723
+-0.561738 0.207448 -0.799597
+-0.558648 0.208737 -0.801412
+-0.554617 0.209373 -0.804024
+-0.553960 0.210253 -0.804246
+-0.551152 0.210002 -0.806225
+-0.546933 0.210112 -0.809046
+-0.543661 0.209945 -0.811277
+-0.539804 0.210027 -0.813809
+-0.537830 0.209972 -0.815121
+-0.534453 0.209256 -0.817506
+-0.532790 0.208841 -0.818689
+-0.529574 0.208178 -0.820927
+-0.525967 0.207555 -0.823383
+-0.522030 0.207403 -0.825906
+-0.518390 0.207068 -0.828263
+-0.516200 0.206957 -0.829648
+-0.513834 0.207165 -0.831054
+-0.511754 0.207344 -0.832284
+-0.507449 0.206849 -0.835020
+-0.503402 0.206429 -0.837553
+-0.499941 0.205653 -0.839798
+-0.496536 0.204505 -0.842080
+-0.492333 0.202724 -0.844955
+-0.488897 0.200003 -0.847576
+-0.485825 0.197076 -0.850009
+-0.482772 0.193867 -0.852466
+-0.480851 0.191675 -0.854035
+-0.480149 0.190250 -0.854744
+-0.478064 0.186870 -0.856643
+-0.475830 0.182921 -0.858722
+-0.473615 0.180042 -0.860542
+-0.471210 0.176994 -0.862479
+-0.469131 0.173621 -0.864284
+-0.468522 0.172355 -0.864863
+-0.475994 0.774474 0.417953
+-0.480419 0.775471 0.411031
+-0.486463 0.774288 0.406156
+-0.492498 0.773038 0.401267
+-0.500013 0.769658 0.398480
+-0.506873 0.765279 0.398248
+-0.513701 0.760848 0.397992
+-0.520497 0.756365 0.397707
+-0.527260 0.751832 0.397396
+-0.533990 0.747247 0.397060
+-0.533990 0.747247 0.397060
+-0.538763 0.742797 0.398945
+-0.543765 0.736844 0.403147
+-0.548398 0.730371 0.408576
+-0.552949 0.723280 0.414964
+-0.557249 0.715637 0.422347
+-0.561882 0.707345 0.430057
+-0.475994 0.774474 0.417953
+-0.481418 0.769712 0.420512
+-0.487673 0.763903 0.423863
+-0.496848 0.759784 0.420620
+-0.503815 0.754838 0.421232
+-0.503777 0.753813 0.423098
+-0.508711 0.750009 0.423947
+-0.515768 0.744725 0.424729
+-0.514146 0.742605 0.430333
+-0.519708 0.737854 0.431812
+-0.526782 0.732123 0.432985
+-0.524587 0.731036 0.437434
+-0.528813 0.726115 0.440510
+-0.531699 0.721627 0.444369
+-0.532090 0.719683 0.447027
+-0.535112 0.714779 0.451239
+-0.533249 0.714237 0.454273
+-0.534305 0.712015 0.456499
+-0.539246 0.704872 0.461710
+-0.537517 0.704393 0.464430
+-0.539972 0.701193 0.466407
+-0.544129 0.695227 0.470462
+-0.548470 0.688116 0.475810
+-0.544035 0.688349 0.480510
+-0.546704 0.682716 0.485459
+-0.549334 0.677041 0.490378
+-0.541575 0.677303 0.498525
+-0.543186 0.673634 0.501712
+-0.541230 0.672001 0.505969
+-0.542273 0.668887 0.508949
+-0.537310 0.667825 0.515522
+-0.538730 0.663877 0.519101
+-0.538614 0.662268 0.521258
+-0.540078 0.656520 0.526945
+-0.540078 0.656520 0.526945
+-0.542327 0.651661 0.530629
+-0.547190 0.647855 0.530299
+-0.554731 0.641868 0.529748
+-0.560386 0.638234 0.528195
+-0.565910 0.634785 0.526471
+-0.571071 0.633571 0.522372
+-0.575105 0.632719 0.518991
+-0.580177 0.631357 0.515015
+-0.584294 0.630451 0.511482
+-0.469154 0.712483 0.522178
+-0.474288 0.701258 0.532562
+-0.479298 0.689851 0.542807
+-0.484179 0.678268 0.552909
+-0.488937 0.666508 0.562866
+-0.469154 0.712483 0.522178
+-0.476132 0.709442 0.520012
+-0.484171 0.704816 0.518886
+-0.491113 0.700601 0.518076
+-0.499592 0.694513 0.518165
+-0.507600 0.688391 0.518548
+-0.515127 0.682258 0.519228
+-0.521759 0.676174 0.520552
+-0.528231 0.669866 0.522167
+-0.533932 0.663793 0.524108
+-0.540078 0.656520 0.526945
+-0.696702 0.708450 0.121829
+-0.694132 0.712074 0.115238
+-0.691026 0.715853 0.110419
+-0.687313 0.719886 0.107351
+-0.684476 0.723079 0.103985
+-0.683228 0.724821 0.100023
+-0.682815 0.726108 0.093325
+-0.682530 0.727101 0.087533
+-0.680770 0.729219 0.083552
+-0.679550 0.731002 0.077741
+-0.678303 0.732758 0.071922
+-0.678007 0.733720 0.064574
+-0.678993 0.733374 0.057841
+-0.679959 0.733004 0.050794
+-0.679746 0.733622 0.044344
+-0.679234 0.734379 0.039424
+-0.679043 0.734996 0.030196
+-0.679033 0.735346 0.020347
+-0.678220 0.736242 0.014180
+-0.676538 0.737924 0.000298
+-0.738092 0.656254 0.163126
+-0.748224 0.646032 0.157717
+-0.756410 0.637272 0.154289
+-0.764476 0.628417 0.150838
+-0.770150 0.622588 0.146106
+-0.775763 0.616694 0.141361
+-0.784681 0.607302 0.132583
+-0.789350 0.602064 0.128732
+-0.793972 0.596781 0.124873
+-0.799646 0.590455 0.118623
+-0.804657 0.584059 0.116396
+-0.811220 0.575141 0.115252
+-0.815422 0.569545 0.113385
+-0.819661 0.563948 0.110781
+-0.825150 0.556549 0.107425
+-0.829258 0.551333 0.102609
+-0.833135 0.546643 0.096136
+-0.836950 0.541903 0.089656
+-0.840693 0.537129 0.083168
+-0.844374 0.532307 0.076674
+-0.848901 0.526525 0.065922
+-0.854069 0.519405 0.054777
+-0.854217 0.520026 0.045924
+-0.854713 0.520001 0.035956
+-0.855124 0.519923 0.025987
+-0.856775 0.517594 0.016364
+-0.859110 0.513922 0.007098
+-0.859837 0.512749 -0.002503
+-0.860355 0.511837 -0.006936
+-0.860490 0.511531 -0.011361
+-0.790650 0.612275 -0.047038
+-0.792374 0.610342 -0.043008
+-0.795131 0.607352 -0.033470
+-0.798448 0.603380 -0.025395
+-0.802088 0.598730 -0.020259
+-0.807833 0.591071 -0.016608
+-0.813503 0.583335 -0.012962
+-0.820362 0.573720 -0.009332
+-0.824989 0.567063 -0.008269
+-0.829156 0.560980 -0.006101
+-0.835722 0.551162 -0.005071
+-0.840158 0.544376 -0.005128
+-0.842951 0.540044 -0.004799
+-0.847664 0.532584 -0.007449
+-0.852144 0.525391 -0.007154
+-0.855611 0.519729 -0.006847
+-0.857314 0.516900 -0.007984
+-0.860490 0.511531 -0.011361
+-0.860490 0.511531 -0.011361
+-0.862335 0.508339 -0.014301
+-0.864834 0.503972 -0.017551
+-0.867055 0.500131 -0.017845
+-0.869815 0.495249 -0.019616
+-0.872989 0.489558 -0.021386
+-0.876120 0.483864 -0.022858
+-0.878903 0.478656 -0.025510
+-0.882054 0.472636 -0.028750
+-0.884731 0.467354 -0.032577
+-0.888010 0.460733 -0.037281
+-0.890703 0.455482 -0.037561
+-0.892282 0.452308 -0.038436
+-0.894261 0.448008 -0.042546
+-0.895330 0.445576 -0.045481
+-0.896580 0.442903 -0.046942
+-0.897619 0.440089 -0.053109
+-0.898540 0.437568 -0.058095
+-0.899947 0.433967 -0.063071
+-0.900374 0.432179 -0.068935
+-0.902549 0.426633 -0.074764
+-0.904110 0.422458 -0.079421
+-0.903942 0.421669 -0.085277
+-0.903342 0.421657 -0.091429
+-0.899971 0.427491 -0.097350
+-0.899111 0.427987 -0.102921
+-0.898131 0.427752 -0.111992
+-0.898796 0.424283 -0.119538
+-0.899397 0.420792 -0.127076
+-0.753020 0.659382 -0.020257
+-0.758267 0.653203 -0.024284
+-0.764422 0.645872 -0.027209
+-0.769064 0.640169 -0.030876
+-0.775792 0.631887 -0.033075
+-0.779593 0.626921 -0.037850
+-0.783883 0.621432 -0.039688
+-0.786775 0.617620 -0.041895
+-0.790650 0.612275 -0.047038
+-0.753020 0.659382 -0.020257
+-0.754933 0.656901 -0.028084
+-0.805792 0.590982 -0.060426
+-0.812129 0.582113 -0.061660
+-0.816548 0.575862 -0.061990
+-0.822512 0.567434 -0.060856
+-0.829503 0.557193 -0.060604
+-0.832486 0.552789 -0.060029
+-0.836233 0.546465 -0.065561
+-0.837122 0.545338 -0.063575
+-0.838009 0.544230 -0.061366
+-0.838921 0.543075 -0.059113
+-0.839775 0.541987 -0.056947
+-0.840612 0.540886 -0.055047
+-0.841483 0.539704 -0.053323
+-0.842325 0.538545 -0.051732
+-0.843033 0.537526 -0.050804
+-0.843625 0.536642 -0.050318
+-0.844245 0.535671 -0.050275
+-0.846260 0.532588 -0.049128
+-0.847727 0.530069 -0.051035
+-0.848939 0.527945 -0.052853
+-0.850740 0.524833 -0.054848
+-0.852226 0.522265 -0.056266
+-0.853754 0.519601 -0.057728
+-0.855512 0.516526 -0.059279
+-0.857344 0.513333 -0.060518
+-0.859133 0.510217 -0.061491
+-0.860515 0.507833 -0.061888
+-0.861818 0.505565 -0.062330
+-0.862812 0.503843 -0.062505
+-0.863292 0.502993 -0.062726
+-0.863645 0.502331 -0.063167
+-0.790650 0.612275 -0.047038
+-0.792734 0.609408 -0.049141
+-0.794604 0.606796 -0.051213
+-0.797739 0.602538 -0.052710
+-0.800188 0.599227 -0.053320
+-0.803610 0.594466 -0.055115
+-0.805792 0.590982 -0.060426
+-0.863655 0.502316 -0.063149
+-0.864614 0.500937 -0.060967
+-0.865779 0.499173 -0.058878
+-0.866743 0.497695 -0.057181
+-0.867794 0.496005 -0.055918
+-0.868736 0.494474 -0.054853
+-0.869501 0.493223 -0.054009
+-0.870154 0.492129 -0.053460
+-0.870600 0.491359 -0.053279
+-0.871083 0.490510 -0.053219
+-0.871044 0.490507 -0.053875
+-0.871141 0.490182 -0.055232
+-0.871499 0.489402 -0.056486
+-0.871864 0.488627 -0.057545
+-0.872319 0.487743 -0.058140
+-0.872600 0.487200 -0.058473
+-0.873083 0.486371 -0.058170
+-0.873487 0.485558 -0.058889
+-0.873876 0.484756 -0.059704
+-0.874153 0.484132 -0.060692
+-0.874710 0.482966 -0.061940
+-0.875068 0.482227 -0.062635
+-0.875575 0.481272 -0.062889
+-0.875957 0.480566 -0.062977
+-0.876336 0.479760 -0.063841
+-0.863655 0.502316 -0.063149
+-0.864096 0.501463 -0.063890
+-0.864610 0.500431 -0.065018
+-0.865358 0.499071 -0.065510
+-0.866138 0.497629 -0.066171
+-0.866713 0.496532 -0.066860
+-0.866963 0.495992 -0.067630
+-0.867054 0.495763 -0.068137
+-0.867768 0.494565 -0.067757
+-0.868886 0.492654 -0.067342
+-0.869806 0.491071 -0.067029
+-0.870905 0.489169 -0.066664
+-0.871929 0.487445 -0.065912
+-0.872966 0.485707 -0.065014
+-0.873658 0.484536 -0.064464
+-0.874455 0.482824 -0.066457
+-0.875593 0.480924 -0.065241
+-0.876336 0.479760 -0.063841
+-0.876336 0.479760 -0.063841
+-0.876905 0.478601 -0.064712
+-0.877299 0.477763 -0.065549
+-0.878511 0.475743 -0.063995
+-0.879336 0.473969 -0.065802
+-0.880532 0.471860 -0.064955
+-0.881521 0.470115 -0.064197
+-0.882024 0.469237 -0.063707
+-0.882454 0.468459 -0.063483
+-0.883192 0.466995 -0.064008
+-0.883883 0.465506 -0.065283
+-0.884625 0.463887 -0.066735
+-0.885244 0.462499 -0.068142
+-0.885676 0.461486 -0.069374
+-0.886240 0.460227 -0.070516
+-0.886612 0.459262 -0.072101
+-0.886915 0.458516 -0.073112
+-0.888528 0.454154 -0.080344
+-0.890080 0.449748 -0.087570
+-0.891235 0.446239 -0.093534
+-0.892352 0.442696 -0.099491
+-0.893408 0.439166 -0.105440
+-0.893855 0.437315 -0.109245
+-0.805792 0.590982 -0.060426
+-0.808970 0.586048 -0.065749
+-0.812172 0.581115 -0.069897
+-0.813473 0.578468 -0.076381
+-0.814619 0.576078 -0.081980
+-0.815636 0.573941 -0.086695
+-0.816737 0.571737 -0.090764
+-0.820900 0.564083 -0.100508
+-0.825283 0.556513 -0.106592
+-0.829366 0.549008 -0.113548
+-0.833389 0.542120 -0.117106
+-0.837588 0.534096 -0.123783
+-0.842137 0.526021 -0.127414
+-0.847234 0.517418 -0.128837
+-0.902826 0.412317 -0.130470
+-0.901145 0.415205 -0.132892
+-0.897577 0.420991 -0.138669
+-0.893934 0.426749 -0.144442
+-0.890195 0.432505 -0.150255
+-0.886426 0.438157 -0.156018
+-0.882475 0.444707 -0.159807
+-0.868244 0.468401 -0.169696
+-0.869708 0.465669 -0.169714
+-0.869358 0.465404 -0.172201
+-0.869941 0.464154 -0.172625
+-0.870767 0.462527 -0.172827
+-0.871262 0.461582 -0.172861
+-0.872287 0.459633 -0.172884
+-0.872107 0.459362 -0.174496
+-0.873603 0.456456 -0.174638
+-0.874644 0.454399 -0.174788
+-0.875408 0.452780 -0.175161
+-0.876939 0.449738 -0.175340
+-0.876162 0.449224 -0.180433
+-0.878611 0.444319 -0.180669
+-0.880064 0.441434 -0.180669
+-0.881645 0.438574 -0.179928
+-0.883200 0.435508 -0.179749
+-0.883976 0.434070 -0.179419
+-0.885164 0.431532 -0.179682
+-0.886055 0.429767 -0.179521
+-0.886408 0.429098 -0.179378
+-0.886906 0.428384 -0.178625
+-0.887916 0.428891 -0.172322
+-0.889228 0.426447 -0.171626
+-0.891004 0.423156 -0.170565
+-0.892039 0.421303 -0.169747
+-0.893100 0.419329 -0.169057
+-0.892838 0.419072 -0.171055
+-0.893543 0.417597 -0.170983
+-0.894517 0.415790 -0.170295
+-0.895431 0.414278 -0.169177
+-0.895722 0.414413 -0.167308
+-0.896755 0.412632 -0.166184
+-0.897221 0.411784 -0.165776
+-0.897963 0.410437 -0.165096
+-0.898030 0.409767 -0.166388
+-0.898871 0.408181 -0.165746
+-0.898895 0.407776 -0.166608
+-0.899755 0.406104 -0.166050
+-0.900443 0.404732 -0.165673
+-0.900436 0.404426 -0.166449
+-0.901150 0.402953 -0.166157
+-0.901666 0.401844 -0.166046
+-0.901710 0.401675 -0.166216
+-0.902441 0.400171 -0.165878
+-0.902654 0.400642 -0.163584
+-0.903121 0.399756 -0.163173
+-0.903255 0.400249 -0.161227
+-0.904461 0.397821 -0.160478
+-0.905149 0.396391 -0.160142
+-0.905756 0.395188 -0.159680
+-0.906424 0.396195 -0.153307
+-0.906738 0.396879 -0.149664
+-0.907038 0.397577 -0.145976
+-0.907284 0.398345 -0.142330
+-0.784178 0.588841 0.200743
+-0.783388 0.588569 0.204561
+-0.782944 0.587723 0.208628
+-0.782628 0.586696 0.212639
+-0.782967 0.584903 0.216274
+-0.783971 0.582165 0.219966
+-0.784659 0.580405 0.222138
+-0.785449 0.577772 0.226146
+-0.785869 0.575780 0.229715
+-0.785973 0.573751 0.234358
+-0.786018 0.573111 0.235760
+-0.785777 0.572117 0.238938
+-0.785170 0.570962 0.243619
+-0.784274 0.568095 0.252963
+-0.785541 0.566217 0.253238
+-0.785873 0.564000 0.257102
+-0.787679 0.561224 0.257645
+-0.784638 0.560648 0.267904
+-0.787517 0.555553 0.270048
+-0.785603 0.554346 0.277934
+-0.784644 0.552665 0.283888
+-0.782157 0.551792 0.292269
+-0.779063 0.552199 0.299620
+-0.781439 0.547779 0.301527
+-0.778265 0.549555 0.306431
+-0.776782 0.549870 0.309592
+-0.775720 0.549993 0.312011
+-0.774496 0.549877 0.315219
+-0.772448 0.548930 0.321780
+-0.770421 0.548664 0.327016
+-0.770030 0.548710 0.327852
+-0.764533 0.550345 0.337759
+-0.763293 0.551781 0.338219
+-0.762269 0.552135 0.339933
+-0.759949 0.552743 0.344086
+-0.757204 0.553338 0.349111
+-0.754721 0.556937 0.348767
+-0.753253 0.557521 0.350986
+-0.751296 0.558125 0.354184
+-0.749043 0.558706 0.357993
+-0.748934 0.557812 0.359601
+-0.747213 0.557361 0.363827
+-0.744864 0.556865 0.369326
+-0.742800 0.556697 0.373681
+-0.740202 0.557843 0.377088
+-0.736764 0.559761 0.380933
+-0.733144 0.561342 0.385533
+-0.728294 0.563763 0.391114
+-0.728294 0.563763 0.391114
+-0.730597 0.552827 0.402198
+-0.732720 0.541749 0.413184
+-0.965472 0.125890 -0.232145
+-0.965070 0.128185 -0.232558
+-0.964579 0.130416 -0.233348
+-0.963908 0.132673 -0.234832
+-0.963014 0.135823 -0.236682
+-0.961861 0.141709 -0.237907
+-0.960867 0.147102 -0.238643
+-0.959725 0.146944 -0.243261
+-0.959356 0.148842 -0.243558
+-0.958696 0.152786 -0.243713
+-0.957895 0.157857 -0.243632
+-0.958497 0.158025 -0.241162
+-0.956981 0.166159 -0.241711
+-0.955851 0.173036 -0.241357
+-0.956391 0.173133 -0.239155
+-0.956098 0.175097 -0.238897
+-0.955575 0.177865 -0.238943
+-0.954917 0.181625 -0.238746
+-0.955537 0.181691 -0.236222
+-0.954917 0.185167 -0.236028
+-0.954190 0.189073 -0.235874
+-0.953587 0.192675 -0.235402
+-0.954007 0.192431 -0.233905
+-0.952509 0.199701 -0.233913
+-0.948330 0.216204 -0.236195
+-0.943873 0.232641 -0.238405
+-0.952449 0.101771 -0.290098
+-0.950806 0.101948 -0.295341
+-0.948862 0.104018 -0.300784
+-0.947705 0.105297 -0.303949
+-0.945993 0.106946 -0.308637
+-0.944232 0.109101 -0.313212
+-0.942307 0.111513 -0.318088
+-0.942709 0.108658 -0.317888
+-0.941334 0.108134 -0.322084
+-0.940073 0.107889 -0.325803
+-0.938779 0.107973 -0.329463
+-0.937551 0.107998 -0.332908
+-0.936142 0.108348 -0.336713
+-0.934724 0.108813 -0.340457
+-0.933505 0.109084 -0.343678
+-0.931777 0.108618 -0.348450
+-0.930329 0.107906 -0.352489
+-0.929010 0.107819 -0.355952
+-0.928030 0.107656 -0.358531
+-0.927110 0.107615 -0.360902
+-0.928377 0.095627 -0.361019
+-0.927048 0.095556 -0.364415
+-0.925627 0.095458 -0.368010
+-0.923892 0.095638 -0.372270
+-0.921245 0.095916 -0.378660
+-0.919531 0.096095 -0.382731
+-0.911838 0.121034 -0.393826
+-0.913298 0.115652 -0.392069
+-0.914229 0.111605 -0.391077
+-0.915734 0.109000 -0.388299
+-0.916454 0.102700 -0.388316
+-0.919531 0.096095 -0.382731
+-0.965472 0.125890 -0.232145
+-0.964686 0.122895 -0.236934
+-0.963851 0.120379 -0.241550
+-0.962736 0.117885 -0.247123
+-0.962043 0.115756 -0.250776
+-0.961424 0.115017 -0.253458
+-0.961037 0.114427 -0.255174
+-0.960567 0.113538 -0.257318
+-0.960208 0.112900 -0.258924
+-0.959856 0.112418 -0.260423
+-0.959575 0.111943 -0.261653
+-0.959237 0.111683 -0.262990
+-0.958709 0.111130 -0.265128
+-0.958433 0.110420 -0.266411
+-0.958191 0.109782 -0.267534
+-0.957994 0.108879 -0.268602
+-0.957858 0.108474 -0.269244
+-0.957455 0.108157 -0.270791
+-0.956770 0.110702 -0.272169
+-0.956251 0.109205 -0.274571
+-0.955835 0.108380 -0.276330
+-0.955304 0.107712 -0.278407
+-0.954567 0.109519 -0.280211
+-0.953655 0.107088 -0.284201
+-0.953211 0.105757 -0.286169
+-0.952808 0.104888 -0.287814
+-0.952504 0.103677 -0.289247
+-0.952449 0.101771 -0.290098
+-0.952449 0.101771 -0.290098
+-0.954904 0.091896 -0.285314
+-0.953937 0.085388 -0.290490
+-0.954892 0.081746 -0.288405
+-0.955096 0.079765 -0.288286
+-0.955872 0.077227 -0.286413
+-0.956048 0.075461 -0.286294
+-0.956390 0.073389 -0.285695
+-0.956877 0.068707 -0.285230
+-0.957245 0.063849 -0.285128
+-0.957245 0.063849 -0.285128
+-0.956650 0.063893 -0.287094
+-0.955877 0.064361 -0.289538
+-0.955067 0.065009 -0.292037
+-0.954383 0.065649 -0.294109
+-0.953577 0.066079 -0.296600
+-0.951937 0.066800 -0.301630
+-0.950520 0.066917 -0.306013
+-0.950826 0.060887 -0.306318
+-0.949667 0.060713 -0.309901
+-0.949068 0.061373 -0.311592
+-0.948448 0.062264 -0.313286
+-0.947996 0.062717 -0.314553
+-0.946372 0.062659 -0.319384
+-0.945608 0.063868 -0.321390
+-0.944605 0.065043 -0.324075
+-0.943779 0.066409 -0.326183
+-0.943387 0.067259 -0.327133
+-0.942887 0.067587 -0.328495
+-0.941916 0.067765 -0.331214
+-0.941177 0.068472 -0.333152
+-0.940500 0.069528 -0.334830
+-0.939011 0.072929 -0.338244
+-0.937711 0.072581 -0.341883
+-0.936455 0.072221 -0.345361
+-0.936455 0.072221 -0.345361
+-0.934054 0.068134 -0.352569
+-0.931038 0.063129 -0.361309
+-0.928960 0.069311 -0.365473
+-0.926202 0.077271 -0.370801
+-0.922522 0.087464 -0.377604
+-0.919531 0.096095 -0.382731
+-0.957245 0.063849 -0.285128
+-0.957370 0.060618 -0.285411
+-0.957601 0.057815 -0.285217
+-0.957750 0.055710 -0.285138
+-0.957903 0.053723 -0.285004
+-0.957995 0.052168 -0.284984
+-0.958155 0.051070 -0.284649
+-0.958268 0.049634 -0.284522
+-0.958404 0.048048 -0.284338
+-0.958458 0.047044 -0.284323
+-0.958513 0.045722 -0.284355
+-0.958604 0.043329 -0.284422
+-0.959644 0.043342 -0.280915
+-0.959585 0.044498 -0.280933
+-0.960069 0.043596 -0.279430
+-0.960145 0.040443 -0.279641
+-0.960216 0.038214 -0.279708
+-0.960280 0.036790 -0.279681
+-0.960346 0.035617 -0.279606
+-0.960671 0.033430 -0.278766
+-0.960832 0.032109 -0.278367
+-0.961042 0.030689 -0.277806
+-0.961127 0.028811 -0.277714
+-0.961212 0.026816 -0.277619
+-0.961309 0.025324 -0.277426
+-0.961850 0.024784 -0.275603
+-0.962284 0.024156 -0.274151
+-0.962284 0.024156 -0.274151
+-0.962829 0.017882 -0.272725
+-0.963325 0.011232 -0.271332
+-0.963616 0.006492 -0.270458
+-0.963749 0.001850 -0.270060
+-0.964268 -0.004393 -0.268183
+-0.965472 0.125890 -0.232145
+-0.966168 0.117792 -0.233485
+-0.967279 0.107284 -0.233949
+-0.968671 0.102820 -0.230188
+-0.969192 0.093630 -0.231899
+-0.969404 0.090594 -0.232213
+-0.969675 0.088520 -0.231884
+-0.970095 0.086613 -0.230852
+-0.971065 0.079597 -0.229307
+-0.971192 0.073723 -0.230716
+-0.971163 0.068813 -0.232341
+-0.970344 0.067496 -0.236093
+-0.970492 0.063507 -0.236588
+-0.970629 0.057360 -0.237588
+-0.970449 0.051437 -0.239655
+-0.970222 0.048012 -0.241269
+-0.969968 0.043758 -0.243078
+-0.969968 0.043758 -0.243078
+-0.969288 0.033357 -0.247377
+-0.968678 0.025890 -0.250617
+-0.967621 0.016687 -0.255402
+-0.966847 0.010311 -0.258628
+-0.965784 0.003540 -0.262720
+-0.964268 -0.004393 -0.268183
+-0.964268 -0.004393 -0.268183
+-0.964305 -0.009358 -0.267924
+-0.964305 -0.009358 -0.267924
+-0.964843 -0.020008 -0.265408
+-0.964849 -0.029243 -0.264536
+-0.964170 -0.038877 -0.265758
+-0.962988 -0.048277 -0.268472
+-0.966465 -0.061719 -0.252872
+-0.966835 -0.052700 -0.253494
+-0.967126 -0.043663 -0.254095
+-0.967631 -0.038086 -0.253076
+-0.969371 -0.029786 -0.247505
+-0.971011 -0.021476 -0.241909
+-0.969978 -0.020860 -0.246047
+-0.970046 -0.018829 -0.245940
+-0.966984 -0.016068 -0.257827
+-0.967006 -0.012017 -0.257964
+-0.964305 -0.009358 -0.267924
+-0.383269 -0.844089 -0.376701
+-0.384282 -0.843035 -0.378019
+-0.383218 -0.840974 -0.383610
+-0.382871 -0.837537 -0.391347
+-0.387321 -0.835367 -0.391604
+-0.388184 -0.833907 -0.393839
+-0.391227 -0.832040 -0.394770
+-0.391781 -0.830545 -0.397342
+-0.396561 -0.827724 -0.398477
+-0.392772 -0.826282 -0.405123
+-0.392048 -0.825576 -0.407243
+-0.392930 -0.824461 -0.408640
+-0.398677 -0.820605 -0.410815
+-0.399032 -0.819298 -0.413058
+-0.401876 -0.817297 -0.414256
+-0.402147 -0.816372 -0.415803
+-0.399409 -0.815332 -0.420425
+-0.403890 -0.810431 -0.425554
+-0.401139 -0.809756 -0.429399
+-0.395682 -0.810263 -0.433459
+-0.391038 -0.810020 -0.438072
+-0.386568 -0.809803 -0.442390
+-0.382616 -0.809760 -0.445866
+-0.379526 -0.810017 -0.448021
+-0.370925 -0.812943 -0.449908
+-0.362441 -0.816202 -0.450914
+-0.357588 -0.818175 -0.451211
+-0.348475 -0.821914 -0.451544
+-0.348475 -0.821914 -0.451544
+-0.348387 -0.822863 -0.449892
+-0.344372 -0.823893 -0.451088
+-0.344748 -0.825846 -0.447238
+-0.345926 -0.827652 -0.442998
+-0.346496 -0.829464 -0.439173
+-0.346050 -0.830515 -0.437547
+-0.345060 -0.830996 -0.437417
+-0.345336 -0.832029 -0.435243
+-0.344090 -0.832557 -0.435221
+-0.344129 -0.833393 -0.433598
+-0.343122 -0.833964 -0.433300
+-0.343439 -0.834650 -0.431735
+-0.344148 -0.835462 -0.429610
+-0.345611 -0.836732 -0.425973
+-0.346153 -0.837630 -0.423776
+-0.339288 -0.840697 -0.423258
+-0.339650 -0.841637 -0.421109
+-0.341333 -0.842795 -0.417441
+-0.342720 -0.843890 -0.414100
+-0.343631 -0.845286 -0.410507
+-0.343565 -0.846182 -0.408724
+-0.338079 -0.848993 -0.407475
+-0.339275 -0.849838 -0.404730
+-0.340646 -0.850299 -0.402618
+-0.341782 -0.851756 -0.398582
+-0.342272 -0.852674 -0.396208
+-0.340639 -0.854209 -0.394317
+-0.343862 -0.854351 -0.391222
+-0.348597 -0.853870 -0.388090
+-0.354584 -0.852881 -0.384849
+-0.360477 -0.851959 -0.381424
+-0.366100 -0.850893 -0.378455
+-0.371252 -0.849358 -0.376893
+-0.375700 -0.847575 -0.376502
+-0.378927 -0.846111 -0.376558
+-0.383269 -0.844089 -0.376701
+-0.319662 -0.790278 -0.523142
+-0.319090 -0.788151 -0.526665
+-0.318785 -0.786528 -0.529251
+-0.318232 -0.785087 -0.531702
+-0.318605 -0.782631 -0.535065
+-0.321456 -0.781615 -0.534847
+-0.321684 -0.779883 -0.537217
+-0.320624 -0.777200 -0.541690
+-0.319791 -0.774260 -0.546341
+-0.318980 -0.771610 -0.550521
+-0.318643 -0.769120 -0.554164
+-0.319937 -0.768448 -0.554350
+-0.318996 -0.765284 -0.559214
+-0.316978 -0.762917 -0.563550
+-0.314076 -0.761365 -0.567236
+-0.310574 -0.761531 -0.568928
+-0.304328 -0.762573 -0.570891
+-0.299202 -0.763513 -0.572333
+-0.295262 -0.764157 -0.573511
+-0.290927 -0.764784 -0.574879
+-0.290927 -0.764784 -0.574879
+-0.287022 -0.766575 -0.574459
+-0.284734 -0.768665 -0.572814
+-0.282696 -0.770793 -0.570973
+-0.280100 -0.772966 -0.569324
+-0.277333 -0.774944 -0.567996
+-0.271694 -0.777620 -0.567070
+-0.271694 -0.777620 -0.567070
+-0.273053 -0.780720 -0.562169
+-0.273887 -0.783414 -0.558028
+-0.273688 -0.785704 -0.554919
+-0.276300 -0.787975 -0.550416
+-0.278301 -0.789837 -0.546751
+-0.275546 -0.792016 -0.545004
+-0.272887 -0.793783 -0.543778
+-0.276986 -0.795129 -0.539751
+-0.280983 -0.796341 -0.535910
+-0.286828 -0.797089 -0.531714
+-0.293277 -0.796675 -0.528827
+-0.300569 -0.795978 -0.525795
+-0.308214 -0.794541 -0.523552
+-0.314580 -0.792115 -0.523442
+-0.319662 -0.790278 -0.523142
+-0.348475 -0.821914 -0.451544
+-0.349851 -0.819738 -0.454406
+-0.349281 -0.817732 -0.458416
+-0.348372 -0.815445 -0.463125
+-0.346396 -0.816018 -0.463595
+-0.345197 -0.814379 -0.467331
+-0.344072 -0.812355 -0.471634
+-0.342963 -0.810565 -0.475479
+-0.344027 -0.810083 -0.475533
+-0.343637 -0.808734 -0.478086
+-0.342840 -0.806898 -0.481722
+-0.341206 -0.805550 -0.485104
+-0.332416 -0.807821 -0.487410
+-0.324155 -0.810199 -0.489013
+-0.322348 -0.808013 -0.493769
+-0.321244 -0.804267 -0.500512
+-0.320742 -0.802927 -0.502964
+-0.320269 -0.800851 -0.506538
+-0.320362 -0.798898 -0.509534
+-0.320698 -0.798365 -0.510155
+-0.320343 -0.794833 -0.515822
+-0.319555 -0.791802 -0.520912
+-0.319347 -0.791844 -0.520976
+-0.319662 -0.790278 -0.523142
+-0.209083 -0.977951 0.046030
+-0.209332 -0.977947 0.044966
+-0.209259 -0.978020 0.043711
+-0.209398 -0.978003 0.043426
+-0.209410 -0.978058 0.042132
+-0.209498 -0.978055 0.041763
+-0.209474 -0.978107 0.040653
+-0.209340 -0.978150 0.040321
+-0.209276 -0.978267 0.037750
+-0.209142 -0.978311 0.037336
+-0.209294 -0.978352 0.035366
+-0.209318 -0.978380 0.034441
+-0.209531 -0.978376 0.033253
+-0.209805 -0.978317 0.033259
+-0.210315 -0.978280 0.031069
+-0.212520 -0.977819 0.030600
+-0.211996 -0.978041 0.026929
+-0.212458 -0.977947 0.026691
+-0.211876 -0.978149 0.023780
+-0.212236 -0.978076 0.023561
+-0.211564 -0.978274 0.021327
+-0.211906 -0.978202 0.021210
+-0.211195 -0.978385 0.019817
+-0.211195 -0.978385 0.019817
+-0.209499 -0.978723 0.021079
+-0.207392 -0.979148 0.022167
+-0.205096 -0.979604 0.023313
+-0.201995 -0.980219 0.024525
+-0.200907 -0.980479 0.023022
+-0.199309 -0.980775 0.024265
+-0.198218 -0.981018 0.023379
+-0.196928 -0.981251 0.024443
+-0.196367 -0.981385 0.023588
+-0.194305 -0.981764 0.024863
+-0.193589 -0.981921 0.024211
+-0.191765 -0.982241 0.025696
+-0.192224 -0.982132 0.026445
+-0.190325 -0.982431 0.028916
+-0.190477 -0.982389 0.029330
+-0.189356 -0.982572 0.030459
+-0.190478 -0.982305 0.032003
+-0.191756 -0.982013 0.033303
+-0.193461 -0.981634 0.034592
+-0.195525 -0.981182 0.035785
+-0.196991 -0.980852 0.036761
+-0.198387 -0.980533 0.037735
+-0.199644 -0.980229 0.038994
+-0.199644 -0.980229 0.038994
+-0.199212 -0.980034 0.045500
+-0.202746 -0.979281 0.046106
+-0.205838 -0.978633 0.046149
+-0.209083 -0.977951 0.046030
+-0.209083 -0.977951 0.046030
+-0.209757 -0.977679 0.048653
+-0.209533 -0.977716 0.048875
+-0.209891 -0.977554 0.050526
+-0.210352 -0.977459 0.050453
+-0.211136 -0.977118 0.053654
+-0.211545 -0.976865 0.056558
+-0.211195 -0.978385 0.019817
+-0.212228 -0.978284 0.012455
+-0.211716 -0.978396 0.012341
+-0.212462 -0.978291 0.006495
+-0.213165 -0.978156 0.002744
+-0.213593 -0.978067 -0.000270
+-0.199644 -0.980229 0.038994
+-0.194353 -0.981285 0.039154
+-0.194239 -0.981337 0.038411
+-0.192027 -0.981764 0.038613
+-0.184775 -0.983159 0.038507
+-0.180483 -0.983955 0.038544
+-0.174847 -0.984971 0.038553
+-0.174509 -0.984966 0.040170
+-0.172207 -0.985391 0.039692
+-0.170451 -0.985696 0.039698
+-0.169214 -0.985912 0.039632
+0.498291 -0.281787 -0.818557
+0.493767 -0.295579 -0.816446
+0.488914 -0.309880 -0.814076
+0.482864 -0.322442 -0.812816
+0.480226 -0.316111 -0.816829
+0.474674 -0.308937 -0.822757
+0.469468 -0.312991 -0.824201
+0.463014 -0.319307 -0.825420
+0.455423 -0.332201 -0.824560
+0.456020 -0.341718 -0.820358
+0.451663 -0.350476 -0.819082
+0.448674 -0.359648 -0.816761
+0.444766 -0.369398 -0.814559
+0.441139 -0.378900 -0.812179
+0.437466 -0.388361 -0.809710
+0.434771 -0.397141 -0.806917
+0.432036 -0.405886 -0.804048
+0.428234 -0.416578 -0.800629
+0.424373 -0.427212 -0.797098
+0.416126 -0.437191 -0.796042
+0.407808 -0.447587 -0.794577
+0.396194 -0.458390 -0.794296
+0.383583 -0.468168 -0.794780
+0.369770 -0.476290 -0.796487
+0.356856 -0.480193 -0.800003
+0.343775 -0.486273 -0.802042
+0.335491 -0.489909 -0.803327
+0.327180 -0.493504 -0.804545
+0.316128 -0.501032 -0.804313
+0.303142 -0.509451 -0.804025
+0.291106 -0.515204 -0.804801
+0.277520 -0.520469 -0.806203
+0.268732 -0.523362 -0.807299
+0.259919 -0.526209 -0.808326
+0.249068 -0.529009 -0.809903
+0.238185 -0.531742 -0.811376
+0.223456 -0.536924 -0.812147
+0.208342 -0.542426 -0.812507
+0.200974 -0.548205 -0.810495
+0.195404 -0.552192 -0.809159
+0.188691 -0.557163 -0.807354
+0.181868 -0.562456 -0.805262
+0.174387 -0.570770 -0.801084
+0.165700 -0.579205 -0.796890
+0.157245 -0.586667 -0.793162
+0.150399 -0.591915 -0.790603
+0.143539 -0.597115 -0.787981
+0.498291 -0.281787 -0.818557
+0.495047 -0.282538 -0.820253
+0.493027 -0.282527 -0.821464
+0.490958 -0.281101 -0.823179
+0.489761 -0.280180 -0.824199
+0.488560 -0.279993 -0.824970
+0.485227 -0.283722 -0.825658
+0.483807 -0.283012 -0.826727
+0.482699 -0.282454 -0.827559
+0.481426 -0.281688 -0.828555
+0.480424 -0.281022 -0.829356
+0.478429 -0.279950 -0.830861
+0.476294 -0.279193 -0.832331
+0.474541 -0.281997 -0.832387
+0.473737 -0.281588 -0.832979
+0.472919 -0.281284 -0.833542
+0.469289 -0.279121 -0.836298
+0.470724 -0.276934 -0.836219
+0.468087 -0.274405 -0.838514
+0.469262 -0.272341 -0.838530
+0.463132 -0.268136 -0.843249
+0.464167 -0.266387 -0.843234
+0.455679 -0.261437 -0.849350
+0.454806 -0.262655 -0.849441
+0.448180 -0.258245 -0.854269
+0.449766 -0.255123 -0.854372
+0.440714 -0.249900 -0.860569
+0.438267 -0.254131 -0.860579
+0.433095 -0.250364 -0.864269
+0.430647 -0.247445 -0.866317
+0.428422 -0.243358 -0.868560
+0.431958 -0.236266 -0.868765
+0.435789 -0.228841 -0.868838
+0.433806 -0.227721 -0.870116
+0.433806 -0.227721 -0.870116
+0.438477 -0.222351 -0.869169
+0.443178 -0.216831 -0.868186
+0.355167 -0.345697 -0.866910
+0.360112 -0.337587 -0.868058
+0.365023 -0.329447 -0.869126
+0.364461 -0.319215 -0.873144
+0.376070 -0.313630 -0.870260
+0.375514 -0.305096 -0.873505
+0.380809 -0.292845 -0.875391
+0.384740 -0.283842 -0.876629
+0.397535 -0.276553 -0.873266
+0.407745 -0.269333 -0.870828
+0.416496 -0.263980 -0.868339
+0.416496 -0.263980 -0.868339
+0.421274 -0.253266 -0.869219
+0.425970 -0.243346 -0.869760
+0.429788 -0.235725 -0.869979
+0.433806 -0.227721 -0.870116
+0.443178 -0.216831 -0.868186
+0.452633 -0.211728 -0.864584
+0.462931 -0.210540 -0.859440
+0.470993 -0.209608 -0.855306
+0.481510 -0.212566 -0.848739
+0.490732 -0.219826 -0.841626
+0.493711 -0.222221 -0.839267
+0.497750 -0.228900 -0.835104
+0.501749 -0.235562 -0.830876
+0.505282 -0.243399 -0.826494
+0.507661 -0.252160 -0.822427
+0.507543 -0.258549 -0.820526
+0.506507 -0.264845 -0.819167
+0.502735 -0.274631 -0.818273
+0.498291 -0.281787 -0.818557
+0.472163 0.824937 0.313240
+0.467143 0.824209 0.322486
+0.462035 0.823748 0.330857
+0.456883 0.823208 0.339195
+0.451926 0.823074 0.346042
+0.446948 0.822899 0.352812
+0.440401 0.823003 0.360663
+0.435940 0.823218 0.365526
+0.433417 0.819707 0.376188
+0.427188 0.820707 0.381069
+0.420897 0.821698 0.385871
+0.408471 0.823990 0.394190
+0.397688 0.825428 0.402077
+0.391219 0.825804 0.407576
+0.384729 0.826115 0.413050
+0.472163 0.824937 0.313240
+0.476465 0.827324 0.300246
+0.478989 0.830310 0.287813
+0.481220 0.832295 0.278263
+0.483400 0.834197 0.268686
+0.488051 0.833272 0.263126
+0.492238 0.832647 0.257280
+0.497240 0.828649 0.260527
+0.504691 0.826467 0.253075
+0.509468 0.822107 0.257633
+0.513508 0.821262 0.252287
+0.520611 0.816448 0.253345
+0.527362 0.812113 0.253313
+0.537846 0.805406 0.252689
+0.537846 0.805406 0.252689
+0.538601 0.804793 0.253029
+0.539060 0.804604 0.252657
+0.540719 0.803384 0.252992
+0.543890 0.800965 0.253857
+0.545957 0.799399 0.254352
+0.546579 0.799192 0.253673
+0.548565 0.797571 0.254480
+0.551225 0.795411 0.255481
+0.553415 0.793550 0.256528
+0.554618 0.793470 0.254183
+0.555819 0.792543 0.254446
+0.558761 0.790067 0.255692
+0.561087 0.788037 0.256854
+0.561894 0.788067 0.255002
+0.563087 0.787978 0.252652
+0.563907 0.787288 0.252972
+0.564588 0.786631 0.253492
+0.565171 0.786154 0.253673
+0.565667 0.785741 0.253842
+0.566397 0.785115 0.254149
+0.566928 0.784604 0.254541
+0.567929 0.783662 0.255206
+0.568928 0.783571 0.253265
+0.570582 0.783287 0.250428
+0.571844 0.783117 0.248086
+0.572425 0.782635 0.248265
+0.575479 0.779962 0.249606
+0.578291 0.777490 0.250807
+0.580031 0.775914 0.251660
+0.580216 0.775910 0.251248
+0.581368 0.774934 0.251598
+0.584103 0.772522 0.252671
+0.586235 0.770575 0.253671
+0.587495 0.770283 0.251647
+0.589015 0.768922 0.252250
+0.592157 0.766139 0.253353
+0.594226 0.764387 0.253796
+0.597788 0.763485 0.248121
+0.601017 0.762728 0.242624
+0.604523 0.761892 0.236503
+0.606670 0.761289 0.232944
+0.608547 0.760757 0.229787
+0.610113 0.760272 0.227245
+0.612245 0.758195 0.228435
+0.615160 0.755380 0.229916
+0.617320 0.753184 0.231316
+0.618851 0.752679 0.228874
+0.620596 0.750956 0.229799
+0.622054 0.749539 0.230478
+0.623025 0.749170 0.229059
+0.624411 0.748572 0.227248
+0.625678 0.747279 0.228014
+0.628226 0.744698 0.229437
+0.630260 0.742651 0.230484
+0.631768 0.742131 0.228032
+0.633744 0.741287 0.225297
+0.634205 0.740714 0.225877
+0.635618 0.740254 0.223416
+0.636773 0.739753 0.221792
+0.639323 0.737288 0.222659
+0.641602 0.735016 0.223605
+0.642978 0.734533 0.221245
+0.644588 0.733698 0.219334
+0.646194 0.732115 0.219896
+0.647617 0.730658 0.220549
+0.649281 0.729985 0.217885
+0.650239 0.728980 0.218391
+0.651736 0.727444 0.219046
+0.652852 0.726285 0.219562
+0.653800 0.725899 0.218023
+0.655245 0.725210 0.215984
+0.656596 0.723827 0.216516
+0.658281 0.722159 0.216963
+0.659260 0.721665 0.215640
+0.660056 0.721307 0.214408
+0.662662 0.718598 0.215456
+0.664553 0.716680 0.216017
+0.665209 0.716609 0.214238
+0.666152 0.715584 0.214732
+0.666819 0.714883 0.214993
+0.667863 0.714436 0.213239
+0.669101 0.713735 0.211714
+0.670647 0.712091 0.212352
+0.672246 0.710356 0.213101
+0.673321 0.709800 0.211562
+0.674626 0.709145 0.209608
+0.675948 0.707604 0.210548
+0.677267 0.706188 0.211058
+0.678004 0.705789 0.210032
+0.678642 0.705452 0.209106
+0.681714 0.702269 0.209825
+0.684043 0.699733 0.210708
+0.684177 0.699567 0.210823
+0.684830 0.699370 0.209361
+0.686038 0.698648 0.207822
+0.687091 0.697434 0.208415
+0.688221 0.696139 0.209011
+0.688927 0.695720 0.208085
+0.691159 0.693500 0.208095
+0.693346 0.691248 0.208312
+0.693707 0.690848 0.208437
+0.694920 0.689609 0.208497
+0.698153 0.686387 0.208329
+0.703698 0.680725 0.208251
+0.708419 0.675786 0.208331
+0.718459 0.666263 0.204610
+0.728361 0.656584 0.200885
+0.732129 0.599194 0.326308
+0.735153 0.591630 0.333191
+0.737444 0.584401 0.340751
+0.738414 0.578460 0.348641
+0.736325 0.574757 0.358961
+0.733653 0.569599 0.372314
+0.733060 0.563306 0.382835
+0.733939 0.553917 0.394592
+0.736153 0.546140 0.401208
+0.734887 0.541950 0.409079
+0.733562 0.537716 0.416916
+0.732651 0.533595 0.423711
+0.731693 0.529440 0.430479
+0.732159 0.523123 0.437310
+0.732560 0.516762 0.444103
+0.732549 0.510554 0.451196
+0.732474 0.504301 0.458248
+0.730832 0.497734 0.467883
+0.725729 0.497438 0.476014
+0.720559 0.497097 0.484102
+0.715323 0.496709 0.492144
+0.710022 0.496275 0.500140
+0.732129 0.599194 0.326308
+0.731719 0.605113 0.316216
+0.729485 0.611822 0.308423
+0.728561 0.618549 0.297056
+0.731314 0.619129 0.289025
+0.734013 0.619666 0.280973
+0.741392 0.614876 0.272040
+0.742536 0.618146 0.261372
+0.741287 0.622594 0.254311
+0.739984 0.626998 0.247233
+0.738068 0.632914 0.237766
+0.745481 0.627558 0.228726
+0.742726 0.634507 0.218349
+0.739966 0.640002 0.211623
+0.737143 0.645445 0.204879
+0.731095 0.650209 0.211342
+0.728361 0.656584 0.200885
+0.740933 0.274081 0.612874
+0.745738 0.282688 0.603123
+0.747506 0.291840 0.596584
+0.750107 0.296970 0.590798
+0.751277 0.301908 0.586823
+0.750523 0.308963 0.584127
+0.750722 0.316595 0.579798
+0.751892 0.325351 0.573442
+0.752477 0.333042 0.568270
+0.750844 0.343649 0.564127
+0.745644 0.356880 0.562818
+0.740464 0.368622 0.562092
+0.734304 0.377811 0.564055
+0.727994 0.381954 0.569383
+0.724092 0.385821 0.571732
+0.718919 0.389984 0.575398
+0.715227 0.392857 0.578021
+0.712632 0.396161 0.578965
+0.710308 0.399342 0.579630
+0.707582 0.404103 0.579664
+0.707582 0.404103 0.579664
+0.706490 0.411530 0.575784
+0.703760 0.419407 0.573454
+0.701761 0.425940 0.571100
+0.699769 0.432860 0.568353
+0.697723 0.438902 0.566245
+0.694709 0.445444 0.564849
+0.692149 0.451219 0.563416
+0.687015 0.458796 0.563580
+0.682787 0.461486 0.566495
+0.676869 0.465196 0.570521
+0.671087 0.468158 0.574882
+0.664698 0.471715 0.579349
+0.658800 0.474988 0.583372
+0.650842 0.480077 0.588088
+0.728361 0.656584 0.200885
+0.735774 0.649638 0.196429
+0.740938 0.646739 0.186397
+0.746001 0.643751 0.176339
+0.750648 0.639969 0.170322
+0.755242 0.636139 0.164293
+0.759572 0.632623 0.157825
+0.763846 0.629060 0.151345
+0.768115 0.625489 0.144433
+0.772322 0.621869 0.137509
+0.777073 0.617614 0.129747
+0.781745 0.613297 0.121973
+0.785437 0.610317 0.112928
+0.789047 0.607273 0.103872
+0.796083 0.598011 0.103919
+0.799998 0.594161 0.095666
+0.803834 0.590252 0.087402
+0.808915 0.583030 0.088968
+0.813932 0.575761 0.090527
+0.818884 0.568446 0.092079
+0.823769 0.561086 0.093624
+0.828588 0.553680 0.095161
+0.833341 0.546231 0.096690
+0.838027 0.538737 0.098212
+0.842646 0.531199 0.099725
+0.847889 0.524745 0.088944
+0.852974 0.518194 0.078146
+0.860475 0.506278 0.073934
+0.861173 0.506760 0.061529
+0.861739 0.507163 0.049115
+0.856760 0.515795 0.046249
+0.851691 0.524371 0.043378
+0.856520 0.517136 0.034241
+0.861212 0.509820 0.025098
+0.864763 0.504232 0.013078
+0.868150 0.498549 0.001056
+0.870158 0.494915 -0.010943
+0.872026 0.491201 -0.022941
+0.874056 0.487091 -0.031608
+0.876001 0.482934 -0.040273
+0.875037 0.483251 -0.054730
+0.873888 0.483465 -0.069176
+0.870433 0.488073 -0.079536
+0.866854 0.492612 -0.089885
+0.866213 0.492157 -0.098126
+0.865511 0.491670 -0.106360
+0.860475 0.497707 -0.118378
+0.855261 0.503641 -0.130371
+0.850101 0.511641 -0.132930
+0.844858 0.519591 -0.135476
+0.839269 0.526811 -0.142125
+0.833572 0.533965 -0.148755
+0.829077 0.540448 -0.150442
+0.824528 0.546896 -0.152119
+0.820024 0.549321 -0.166905
+0.815319 0.551610 -0.181649
+0.807678 0.559452 -0.191469
+0.808314 0.554316 -0.203277
+0.808816 0.549087 -0.215051
+0.807323 0.546011 -0.228012
+0.801252 0.549879 -0.239748
+0.795030 0.553642 -0.251437
+0.793842 0.550273 -0.262277
+0.792551 0.546832 -0.273083
+0.787714 0.549533 -0.281471
+0.782796 0.552179 -0.289830
+0.780376 0.550485 -0.299359
+0.777878 0.548735 -0.308857
+0.781878 0.539359 -0.315166
+0.783415 0.533840 -0.320661
+0.784902 0.528288 -0.326136
+0.786339 0.522702 -0.331591
+0.787728 0.517082 -0.337025
+0.784298 0.513158 -0.350654
+0.780701 0.509123 -0.364208
+0.784087 0.502131 -0.366616
+0.787421 0.495108 -0.368998
+0.790704 0.488052 -0.371355
+0.793935 0.480962 -0.373689
+0.797113 0.473842 -0.375997
+0.800237 0.466690 -0.378283
+0.803309 0.459509 -0.380541
+0.806329 0.452296 -0.382775
+0.806964 0.444443 -0.390504
+0.807501 0.436538 -0.398184
+0.807940 0.428579 -0.405815
+0.808281 0.420567 -0.413396
+0.804649 0.420517 -0.420424
+0.800968 0.420441 -0.427424
+0.797237 0.420339 -0.434397
+0.793455 0.420209 -0.441343
+0.796135 0.410082 -0.445988
+0.798709 0.399901 -0.450576
+0.793641 0.397343 -0.461585
+0.788451 0.394724 -0.472522
+0.781128 0.401087 -0.479234
+0.773696 0.407394 -0.485878
+0.768674 0.409641 -0.491882
+0.763602 0.411861 -0.497853
+0.577213 0.362439 -0.730830
+0.582418 0.373369 -0.721199
+0.587581 0.384072 -0.711389
+0.592613 0.394887 -0.701290
+0.597502 0.405404 -0.691136
+0.602157 0.415959 -0.680815
+0.606856 0.426344 -0.670207
+0.606856 0.426344 -0.670207
+0.611628 0.436721 -0.659170
+0.616246 0.446990 -0.647966
+0.620708 0.457146 -0.636597
+0.625015 0.467186 -0.625066
+0.629164 0.477111 -0.613376
+0.633153 0.486916 -0.601530
+0.644855 0.481025 -0.593841
+0.656410 0.475022 -0.586015
+0.667813 0.468908 -0.578053
+0.679064 0.462686 -0.569957
+0.690158 0.456357 -0.561729
+0.701094 0.449923 -0.553371
+0.711869 0.443384 -0.544884
+0.722479 0.436743 -0.536272
+0.732924 0.429999 -0.527535
+0.743200 0.423156 -0.518676
+0.753305 0.416216 -0.509696
+0.763602 0.411861 -0.497853
+0.227889 -0.962838 0.151959
+0.226315 -0.962278 0.157710
+0.223445 -0.962048 0.163078
+0.220616 -0.961940 0.167479
+0.216938 -0.961955 0.172101
+0.213314 -0.962144 0.175519
+0.210189 -0.962287 0.178460
+0.205997 -0.962667 0.181258
+0.202442 -0.963046 0.183226
+0.200713 -0.963185 0.184387
+0.197362 -0.963797 0.184802
+0.191996 -0.964832 0.185053
+0.188263 -0.965811 0.183784
+0.185267 -0.966720 0.182053
+0.183899 -0.967189 0.180950
+0.180551 -0.967766 0.181235
+0.175233 -0.968878 0.180519
+0.169237 -0.970214 0.179069
+0.164862 -0.971074 0.178488
+0.160325 -0.972204 0.176471
+0.156242 -0.973169 0.174821
+0.156242 -0.973169 0.174821
+0.152899 -0.974078 0.172713
+0.149109 -0.975146 0.169998
+0.146419 -0.976124 0.166717
+0.143327 -0.977002 0.164258
+0.136061 -0.978053 0.164180
+0.132066 -0.978398 0.165374
+0.128410 -0.978619 0.166929
+0.123609 -0.978729 0.169866
+0.119823 -0.978888 0.171641
+0.116559 -0.978732 0.174729
+0.112125 -0.978763 0.177415
+0.106660 -0.979019 0.179349
+0.101657 -0.979148 0.181524
+0.095622 -0.979468 0.183061
+0.090097 -0.979810 0.184021
+0.083622 -0.980189 0.185053
+0.078305 -0.980714 0.184598
+0.073500 -0.981279 0.183576
+0.069191 -0.981846 0.182223
+0.064432 -0.982490 0.180498
+0.057598 -0.983398 0.177866
+0.195461 -0.973436 0.127846
+0.193683 -0.973810 0.127701
+0.189765 -0.974605 0.127524
+0.185375 -0.975489 0.127219
+0.181496 -0.976383 0.125957
+0.178311 -0.977070 0.125187
+0.175113 -0.977701 0.124775
+0.170864 -0.978584 0.123745
+0.168221 -0.978971 0.124301
+0.168221 -0.978971 0.124301
+0.166258 -0.979110 0.125826
+0.163203 -0.979365 0.127810
+0.160645 -0.979605 0.129200
+0.159015 -0.980001 0.128211
+0.157153 -0.980447 0.127099
+0.154699 -0.980999 0.125855
+0.152588 -0.981443 0.124977
+0.149536 -0.982072 0.123722
+0.147063 -0.982542 0.122956
+0.145406 -0.982823 0.122684
+0.142711 -0.983172 0.123049
+0.142711 -0.983172 0.123049
+0.140203 -0.983711 0.121624
+0.139267 -0.983906 0.121127
+0.136754 -0.984220 0.121435
+0.136130 -0.984219 0.122138
+0.134800 -0.984331 0.122708
+0.133549 -0.984309 0.124233
+0.132395 -0.984193 0.126355
+0.129744 -0.984445 0.127131
+0.127592 -0.984702 0.127321
+0.126421 -0.984918 0.126818
+0.125345 -0.985043 0.126912
+0.124260 -0.985138 0.127245
+0.123145 -0.985133 0.128350
+0.123145 -0.985133 0.128350
+0.119653 -0.985044 0.132253
+0.116850 -0.984769 0.136699
+0.114648 -0.984836 0.138067
+0.110395 -0.985035 0.140089
+0.106364 -0.985135 0.142465
+0.103418 -0.985148 0.144512
+0.100785 -0.984974 0.147511
+0.096255 -0.984999 0.150326
+0.091629 -0.985079 0.152656
+0.085434 -0.985186 0.155513
+0.079609 -0.985254 0.158133
+0.075596 -0.985250 0.160103
+0.070425 -0.985005 0.163897
+0.065335 -0.984594 0.168380
+0.061075 -0.984103 0.172763
+0.057598 -0.983398 0.177866
+0.195461 -0.973436 0.127846
+0.194343 -0.973899 0.126026
+0.193599 -0.974343 0.123729
+0.193881 -0.974440 0.122530
+0.194736 -0.974344 0.121939
+0.196435 -0.974121 0.120999
+0.197443 -0.974110 0.119446
+0.199168 -0.973963 0.117781
+0.199940 -0.974007 0.116104
+0.201069 -0.973974 0.114429
+0.202294 -0.973847 0.113359
+0.203507 -0.973677 0.112649
+0.204289 -0.973749 0.110607
+0.204706 -0.973866 0.108802
+0.205486 -0.973929 0.106758
+0.206119 -0.973927 0.105558
+0.206859 -0.973862 0.104720
+0.195461 -0.973436 0.127846
+0.202474 -0.971602 0.130830
+0.206067 -0.970543 0.133043
+0.211154 -0.968985 0.136358
+0.213987 -0.967910 0.139523
+0.217358 -0.966924 0.141128
+0.220376 -0.966022 0.142609
+0.224328 -0.964450 0.146987
+0.227889 -0.962838 0.151959
+0.227889 -0.962838 0.151959
+0.227420 -0.962154 0.156882
+0.227114 -0.961181 0.163124
+0.226895 -0.960082 0.169720
+0.228489 -0.958680 0.175373
+0.230632 -0.957402 0.179473
+0.233470 -0.955907 0.183697
+0.236828 -0.954441 0.186968
+0.239222 -0.952736 0.192496
+0.243513 -0.950578 0.197681
+0.247660 -0.948764 0.201186
+0.251601 -0.947102 0.204089
+0.256851 -0.945134 0.206641
+0.262021 -0.943308 0.208469
+0.264612 -0.941804 0.211944
+0.268534 -0.940062 0.214708
+0.271171 -0.937885 0.220791
+0.274778 -0.935545 0.226156
+0.279876 -0.933064 0.230093
+0.286081 -0.930851 0.231413
+0.293945 -0.928217 0.232130
+0.303393 -0.924936 0.233064
+0.313733 -0.921315 0.233713
+0.317715 -0.920232 0.232604
+0.322590 -0.919084 0.230438
+0.322590 -0.919084 0.230438
+0.325413 -0.918719 0.227925
+0.330740 -0.917797 0.223966
+0.336200 -0.916894 0.219520
+0.340793 -0.916090 0.215788
+0.345095 -0.915577 0.211104
+0.350696 -0.914745 0.205443
+0.355819 -0.914029 0.199780
+0.361836 -0.912925 0.193975
+0.366945 -0.912182 0.187817
+0.369321 -0.912328 0.182410
+0.146029 -0.988777 -0.056660
+0.151144 -0.987985 -0.057067
+0.156746 -0.987115 -0.056996
+0.163711 -0.986172 -0.053678
+0.170078 -0.985271 -0.050346
+0.177045 -0.984249 -0.046164
+0.182323 -0.983422 -0.043171
+0.187007 -0.982685 -0.039808
+0.192124 -0.981887 -0.034840
+0.196670 -0.981294 -0.024824
+0.200659 -0.980714 -0.013071
+0.204841 -0.979928 -0.004097
+0.208049 -0.979258 0.002579
+0.208049 -0.979258 0.002579
+0.213138 -0.978112 0.010231
+0.219523 -0.976626 0.015705
+0.226495 -0.974969 0.019240
+0.232396 -0.973513 0.022289
+0.237806 -0.972105 0.026312
+0.242280 -0.970944 0.028267
+0.245888 -0.969860 0.033750
+0.251601 -0.968161 0.039846
+0.255323 -0.967022 0.043627
+0.260900 -0.965285 0.048750
+0.265659 -0.963773 0.052776
+0.269690 -0.962378 0.057530
+0.273757 -0.961094 0.059728
+0.276641 -0.960112 0.062167
+0.278428 -0.959291 0.066671
+0.278955 -0.958938 0.069470
+0.282043 -0.957789 0.072758
+0.286431 -0.956296 0.075196
+0.289659 -0.955176 0.077023
+0.293019 -0.953669 0.082739
+0.295379 -0.952637 0.086142
+0.297624 -0.951645 0.089301
+0.302205 -0.949955 0.091852
+0.304625 -0.948709 0.096585
+0.305307 -0.948032 0.100953
+0.306326 -0.947211 0.105440
+0.308756 -0.945993 0.109196
+0.308985 -0.945503 0.112710
+0.309086 -0.945012 0.116465
+0.306198 -0.945181 0.122521
+0.305739 -0.944946 0.125425
+0.305772 -0.944642 0.127602
+0.300727 -0.945675 0.131837
+0.299356 -0.945785 0.134133
+0.302408 -0.944518 0.136186
+0.304902 -0.943505 0.137634
+0.307653 -0.942090 0.141131
+0.309555 -0.941230 0.142697
+0.311065 -0.940342 0.145228
+0.314912 -0.938760 0.147148
+0.318862 -0.937101 0.149184
+0.320868 -0.936165 0.150743
+0.323286 -0.934920 0.153263
+0.326454 -0.933622 0.154452
+0.329790 -0.932047 0.156841
+0.332212 -0.930819 0.158992
+0.336470 -0.928537 0.163290
+0.339622 -0.926791 0.166629
+0.342287 -0.925133 0.170326
+0.345092 -0.923511 0.173418
+0.348377 -0.921803 0.175902
+0.350813 -0.920630 0.177194
+0.353329 -0.919323 0.178959
+0.358060 -0.916957 0.181653
+0.360620 -0.915793 0.182455
+0.363078 -0.914708 0.183020
+0.366602 -0.913384 0.182610
+0.369321 -0.912328 0.182410
+0.369321 -0.912328 0.182410
+0.376558 -0.909041 0.184006
+0.386426 -0.904629 0.185279
+0.393255 -0.901696 0.185207
+0.400688 -0.898452 0.185043
+0.407604 -0.895469 0.184399
+0.413941 -0.892612 0.184134
+0.415953 -0.891892 0.183092
+0.423645 -0.888496 0.181972
+0.428194 -0.886152 0.182752
+0.433299 -0.883623 0.182962
+LINES 230 6278
+0 
+17 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 
+28 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 
+27 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 
+20 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 
+93 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 
+16 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 
+55 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 
+141 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 
+10 397 398 399 400 401 402 403 404 405 406 
+14 407 408 409 410 411 412 413 414 415 416 417 418 419 420 
+8 421 422 423 424 425 426 427 428 
+13 429 430 431 432 433 434 435 436 437 438 439 440 441 
+5 442 443 444 445 446 
+69 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 
+92 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 
+173 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 
+45 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 
+40 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 
+110 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 
+73 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 
+26 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 
+62 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 
+168 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 
+45 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 
+11 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 
+39 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 
+31 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 
+20 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 
+4 1451 1452 1453 1454 
+5 1455 1456 1457 1458 1459 
+7 1460 1461 1462 1463 1464 1465 1466 
+15 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 
+50 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 
+34 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 
+39 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 
+6 1605 1606 1607 1608 1609 1610 
+2 1611 1612 
+8 1613 1614 1615 1616 1617 1618 1619 1620 
+13 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 
+13 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 
+4 1647 1648 1649 1650 
+2 1651 1652 
+4 1653 1654 1655 1656 
+20 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 
+11 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 
+102 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 
+98 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 
+53 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 
+9 1941 1942 1943 1944 1945 1946 1947 1948 1949 
+11 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 
+24 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 
+35 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 
+32 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 
+45 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 
+28 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 
+45 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 
+27 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 
+205 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 
+272 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 
+37 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 
+44 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 
+53 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 
+33 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 
+60 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 
+29 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 
+23 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 
+67 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 
+23 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 
+78 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 
+40 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 
+13 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 
+22 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 
+17 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 
+17 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 
+17 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 
+9 3247 3248 3249 3250 3251 3252 3253 3254 3255 
+9 3256 3257 3258 3259 3260 3261 3262 3263 3264 
+11 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 
+27 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 
+19 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 
+5 3322 3323 3324 3325 3326 
+10 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 
+31 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 
+37 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 
+27 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 
+17 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 
+8 3449 3450 3451 3452 3453 3454 3455 3456 
+10 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 
+10 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 
+6 3477 3478 3479 3480 3481 3482 
+10 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 
+2 3493 3494 
+16 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 
+15 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 
+12 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 
+13 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 
+14 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 
+25 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 
+14 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 
+21 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 
+23 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 
+42 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 
+89 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 
+27 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 
+14 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 
+3 3820 3821 3822 
+22 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 
+9 3845 3846 3847 3848 3849 3850 3851 3852 3853 
+4 3854 3855 3856 3857 
+20 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 
+53 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 
+42 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 
+8 3973 3974 3975 3976 3977 3978 3979 3980 
+37 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 
+10 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 
+18 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 
+5 4046 4047 4048 4049 4050 
+2 4051 4052 
+7 4053 4054 4055 4056 4057 4058 4059 
+11 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 
+13 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 
+23 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 
+6 4107 4108 4109 4110 4111 4112 
+2 4113 4114 
+3 4115 4116 4117 
+10 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 
+19 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 
+4 4147 4148 4149 4150 
+4 4151 4152 4153 4154 
+7 4155 4156 4157 4158 4159 4160 4161 
+8 4162 4163 4164 4165 4166 4167 4168 4169 
+6 4170 4171 4172 4173 4174 4175 
+5 4176 4177 4178 4179 4180 
+2 4181 4182 
+9 4183 4184 4185 4186 4187 4188 4189 4190 4191 
+3 4192 4193 4194 
+7 4195 4196 4197 4198 4199 4200 4201 
+22 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 
+13 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 
+7 4237 4238 4239 4240 4241 4242 4243 
+11 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 
+3 4255 4256 4257 
+11 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 
+26 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 
+13 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 
+9 4308 4309 4310 4311 4312 4313 4314 4315 4316 
+3 4317 4318 4319 
+8 4320 4321 4322 4323 4324 4325 4326 4327 
+65 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 
+49 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 
+34 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 
+54 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 
+10 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 
+7 4540 4541 4542 4543 4544 4545 4546 
+34 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 
+10 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 
+5 4591 4592 4593 4594 4595 
+11 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 
+20 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 
+30 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 
+18 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 
+29 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 
+9 4704 4705 4706 4707 4708 4709 4710 4711 4712 
+2 4713 4714 
+31 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 
+7 4746 4747 4748 4749 4750 4751 4752 
+25 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 
+18 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 
+23 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 
+14 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 
+7 4833 4834 4835 4836 4837 4838 4839 
+55 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 
+48 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 
+3 4943 4944 4945 
+26 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 
+26 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 
+6 4998 4999 5000 5001 5002 5003 
+28 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 
+10 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 
+25 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 
+7 5067 5068 5069 5070 5071 5072 5073 
+27 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 
+6 5101 5102 5103 5104 5105 5106 
+17 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 
+7 5124 5125 5126 5127 5128 5129 5130 
+2 5131 5132 
+5 5133 5134 5135 5136 5137 
+11 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 
+28 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 
+37 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 
+20 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 
+7 5234 5235 5236 5237 5238 5239 5240 
+16 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 
+24 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 
+23 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 
+24 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 
+5 5328 5329 5330 5331 5332 
+7 5333 5334 5335 5336 5337 5338 5339 
+6 5340 5341 5342 5343 5344 5345 
+11 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 
+47 5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399 5400 5401 5402 5403 
+34 5404 5405 5406 5407 5408 5409 5410 5411 5412 5413 5414 5415 5416 5417 5418 5419 5420 5421 5422 5423 5424 5425 5426 5427 5428 5429 5430 5431 5432 5433 5434 5435 5436 5437 
+3 5438 5439 5440 
+11 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 
+5 5452 5453 5454 5455 5456 
+15 5457 5458 5459 5460 5461 5462 5463 5464 5465 5466 5467 5468 5469 5470 5471 
+15 5472 5473 5474 5475 5476 5477 5478 5479 5480 5481 5482 5483 5484 5485 5486 
+14 5487 5488 5489 5490 5491 5492 5493 5494 5495 5496 5497 5498 5499 5500 
+108 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 5535 5536 5537 5538 5539 5540 5541 5542 5543 5544 5545 5546 5547 5548 5549 5550 5551 5552 5553 5554 5555 5556 5557 5558 5559 5560 5561 5562 5563 5564 5565 5566 5567 5568 5569 5570 5571 5572 5573 5574 5575 5576 5577 5578 5579 5580 5581 5582 5583 5584 5585 5586 5587 5588 5589 5590 5591 5592 5593 5594 5595 5596 5597 5598 5599 5600 5601 5602 5603 5604 5605 5606 5607 5608 
+22 5609 5610 5611 5612 5613 5614 5615 5616 5617 5618 5619 5620 5621 5622 5623 5624 5625 5626 5627 5628 5629 5630 
+17 5631 5632 5633 5634 5635 5636 5637 5638 5639 5640 5641 5642 5643 5644 5645 5646 5647 
+20 5648 5649 5650 5651 5652 5653 5654 5655 5656 5657 5658 5659 5660 5661 5662 5663 5664 5665 5666 5667 
+15 5668 5669 5670 5671 5672 5673 5674 5675 5676 5677 5678 5679 5680 5681 5682 
+99 5683 5684 5685 5686 5687 5688 5689 5690 5691 5692 5693 5694 5695 5696 5697 5698 5699 5700 5701 5702 5703 5704 5705 5706 5707 5708 5709 5710 5711 5712 5713 5714 5715 5716 5717 5718 5719 5720 5721 5722 5723 5724 5725 5726 5727 5728 5729 5730 5731 5732 5733 5734 5735 5736 5737 5738 5739 5740 5741 5742 5743 5744 5745 5746 5747 5748 5749 5750 5751 5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764 5765 5766 5767 5768 5769 5770 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5781 
+7 5782 5783 5784 5785 5786 5787 5788 
+19 5789 5790 5791 5792 5793 5794 5795 5796 5797 5798 5799 5800 5801 5802 5803 5804 5805 5806 5807 
+21 5808 5809 5810 5811 5812 5813 5814 5815 5816 5817 5818 5819 5820 5821 5822 5823 5824 5825 5826 5827 5828 
+22 5829 5830 5831 5832 5833 5834 5835 5836 5837 5838 5839 5840 5841 5842 5843 5844 5845 5846 5847 5848 5849 5850 
+9 5851 5852 5853 5854 5855 5856 5857 5858 5859 
+12 5860 5861 5862 5863 5864 5865 5866 5867 5868 5869 5870 5871 
+14 5872 5873 5874 5875 5876 5877 5878 5879 5880 5881 5882 5883 5884 5885 
+17 5886 5887 5888 5889 5890 5891 5892 5893 5894 5895 5896 5897 5898 5899 5900 5901 5902 
+17 5903 5904 5905 5906 5907 5908 5909 5910 5911 5912 5913 5914 5915 5916 5917 5918 5919 
+9 5920 5921 5922 5923 5924 5925 5926 5927 5928 
+25 5929 5930 5931 5932 5933 5934 5935 5936 5937 5938 5939 5940 5941 5942 5943 5944 5945 5946 5947 5948 5949 5950 5951 5952 5953 
+11 5954 5955 5956 5957 5958 5959 5960 5961 5962 5963 5964 
+13 5965 5966 5967 5968 5969 5970 5971 5972 5973 5974 5975 5976 5977 
+59 5978 5979 5980 5981 5982 5983 5984 5985 5986 5987 5988 5989 5990 5991 5992 5993 5994 5995 5996 5997 5998 5999 6000 6001 6002 6003 6004 6005 6006 6007 6008 6009 6010 6011 6012 6013 6014 6015 6016 6017 6018 6019 6020 6021 6022 6023 6024 6025 6026 6027 6028 6029 6030 6031 6032 6033 6034 6035 6036 
+11 6037 6038 6039 6040 6041 6042 6043 6044 6045 6046 6047 

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/copy-info.sh
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/copy-info.sh	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/copy-info.sh	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+# copy-info.sh
+# SPECFEM3D_GLOBE
+#
+
+PWD=`pwd`
+echo "$PWD"
+echo "copy cmt solution etc..."
+
+jobid=$1
+
+#echo "calculating slice files..."
+#./global_slice_number.pl ../../DATA/CMTSOLUTION ../../DATA/STATIONS_ADJOINT ../../DATA/Par_file
+#echo
+
+echo "collecting database files..."
+../collect_database/copy_m_globe_database.pl slices_all ../../OUTPUT_FILES/lsf_machines beta_kernel $jobid
+
+echo
+cd ../../
+make xcombine_vol_data
+cd $PWD
+
+echo "combining mesh..."
+../../xcombine_vol_data UTILS/Paraview/slices_all beta_kernel $PWD $PWD ../../OUTPUT_FILES 1 1
+
+## echo "converting mesh to vtu..."
+#./mesh2vtu.pl -i ../../OUTPUT_FILES/reg_1_beta_kernel.mesh ../../OUTPUT_FILES/reg_1_beta_kernel.vtu
+
+
+echo "done"
+echo


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/copy-info.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/create_slice_VTK.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/create_slice_VTK.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/create_slice_VTK.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,354 @@
+!=====================================================================
+!
+!          S p e c f e m 3 D  G l o b e  V e r s i o n  5 . 1
+!          --------------------------------------------------
+!
+!          Main authors: Dimitri Komatitsch and Jeroen Tromp
+!                        Princeton University, USA
+!             and University of Pau / CNRS / INRIA, France
+! (c) Princeton University / California Institute of Technology and University of Pau / CNRS / INRIA
+!                            April 2011
+!
+! This program is free software; you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation; either version 2 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License along
+! with this program; if not, write to the Free Software Foundation, Inc.,
+! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+!
+!=====================================================================
+
+
+  program create_slice_VTK
+
+! this programs creates a vtk file that specifies the (velocity) model values on each element point,
+! rather than on global points. this will lead to differences especially where a (velocity) discontinuity
+! from one element to the other exists. in such cases, this output file should be more accurate
+! in how it is visualized.
+!
+! creates for each slice and each region a new vtk-file, doesn't combine different slices into one file
+!
+! for compilation, this file 'create_slice_VTK.f90' has to be in the package root directory SPECFEM3D_GLOBE/
+!
+! cd to your SPECFEM3D_GLOBE root directory:
+!   > cd SPECFEM3D_GLOBE/
+! create symbolic link:
+!   > ln -s UTILS/Visualization/Paraview/create_slice_VTK.f90
+! compile with:
+!   > f90 -o xcreate_slice_VTK create_slice_VTK.f90
+! run :
+!   > ./xcreate_slice_VTK my_slices.txt vp ~/DATABASES_MPI/ ~/DATABASES_MPI ~/OUTPUT_FILES/
+!
+! (or see usage below)
+!
+  implicit none
+
+  include "constants.h"
+  include "OUTPUT_FILES/values_from_mesher.h"
+
+  integer,parameter :: MAX_NUM_NODES = 300
+  integer  iregion, ir, irs, ire, ires, pfd, efd
+  character(len=256) :: sline, arg(7), filename, in_topo_dir, in_file_dir, outdir
+  character(len=256) :: prname_topo, prname_file, dimension_file
+  character(len=1038) :: command_name
+  character(len=256) :: pt_mesh_file1, pt_mesh_file2, mesh_file, em_mesh_file, data_file, topo_file
+  integer, dimension(MAX_NUM_NODES) :: node_list, nspec, nglob, npoint, nelement
+  integer iproc, num_node, i,j,k,ispec, ios, it, di, dj, dk
+  integer np, ne,  njunk
+  real(kind=CUSTOM_REAL),dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE) :: data
+  real(kind=CUSTOM_REAL),dimension(NGLOB_CRUST_MANTLE) :: xstore, ystore, zstore
+  integer ibool(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE)
+  integer num_ibool(NGLOB_CRUST_MANTLE)
+  logical mask_ibool(NGLOB_CRUST_MANTLE), HIGH_RESOLUTION_MESH
+  real x, y, z, dat
+  integer numpoin, iglob, n1, n2, n3, n4, n5, n6, n7, n8
+  integer iglob1, iglob2, iglob3, iglob4, iglob5, iglob6, iglob7, iglob8
+
+
+  ! starts here--------------------------------------------------------------------------------------------------
+  do i = 1, 6
+    call getarg(i,arg(i))
+    if (i < 6 .and. trim(arg(i)) == '') then
+      print *, ' '
+      print *, ' Usage: xcreate_slice_VTK slice_list filename input_topo_dir input_file_dir output_dir [region]'
+      print *, ' '
+      print *, '   - slice_list:    file containing slice/proc ids '
+      print *, '   - filename:    looks for filename.bin must be array of (NGLLX,NGLLY,NGLLZ,nspec) '
+      print *, '   - input_topo_dir:    includes "proc***_array_dims.txt '
+      print*,  '   - input_file_dir:    includes "proc****filename.bin '
+      print *, '   - output_dir:    output mesh files go to here '
+      print *, '   if region is not specified, all 3 regions will be collected, otherwise, only collect regions specified'
+      print *, ' '
+      stop ' Reenter command line options'
+    endif
+  enddo
+
+  if (NSPEC_CRUST_MANTLE < NSPEC_OUTER_CORE .or. NSPEC_CRUST_MANTLE < NSPEC_INNER_CORE) &
+             stop 'This program needs that NSPEC_CRUST_MANTLE > NSPEC_OUTER_CORE and NSPEC_INNER_CORE'
+
+  ! get region id
+  if (trim(arg(6)) == '') then
+    iregion  = 0
+  else
+    read(arg(6),*) iregion
+  endif
+  if (iregion > 3 .or. iregion < 0) stop 'Iregion = 0,1,2,3'
+  if (iregion == 0) then
+    irs = 1
+    ire = 3
+  else
+    irs = iregion
+    ire = irs
+  endif
+
+  ! get slices id
+  num_node = 0
+  open(unit = 20, file = trim(arg(1)), status = 'old',iostat = ios)
+  if (ios /= 0) then
+    print*,'no file: ',trim(arg(1))
+    stop 'Error opening slices file'
+  endif
+
+  do while (1 == 1)
+    read(20,'(a)',iostat=ios) sline
+    if (ios /= 0) exit
+    read(sline,*,iostat=ios) njunk
+    if (ios /= 0) exit
+    num_node = num_node + 1
+    node_list(num_node) = njunk
+  enddo
+  close(20)
+  print *, 'slice list: '
+  print *, node_list(1:num_node)
+  print *, ' '
+
+  ! file to collect
+  filename = arg(2)
+
+  ! input and output dir
+  in_topo_dir= arg(3)
+  in_file_dir= arg(4)
+  outdir = arg(5)
+
+
+  do ir = irs, ire
+    print *, '----------- Region ', ir, '----------------'
+
+
+    ! figure out total number of points and elements for high-res mesh
+
+    do it = 1, num_node
+
+      iproc = node_list(it)
+
+      print *, 'Reading slice ', iproc
+      write(prname_topo,'(a,i6.6,a,i1,a)') trim(in_topo_dir)//'/proc',iproc,'_reg',ir,'_'
+      dimension_file = trim(prname_topo) //'array_dims.txt'
+      open(unit = 27,file = trim(dimension_file),status='old',action='read', iostat = ios)
+      if (ios /= 0) then
+       print*,'error ',ios
+       print*,'file:',trim(dimension_file)
+       stop 'Error opening file'
+      endif
+      read(27,*) nspec(it)
+      read(27,*) nglob(it)
+      close(27)
+
+
+    enddo
+
+    print *, 'nspec(it) = ', nspec(1:num_node)
+    print *, 'nglob(it) = ', nglob(1:num_node)
+
+    np = 0
+    ne = 0
+
+    ! write points information
+    do it = 1, num_node
+
+      iproc = node_list(it)
+
+
+      print *, ' '
+      print *, 'Reading slice ', iproc
+      write(prname_topo,'(a,i6.6,a,i1,a)') trim(in_topo_dir)//'/proc',iproc,'_reg',ir,'_'
+      write(prname_file,'(a,i6.6,a,i1,a)') trim(in_file_dir)//'/proc',iproc,'_reg',ir,'_'
+
+      ! filename.bin
+      data_file = trim(prname_file) // trim(filename) // '.bin'
+      open(unit = 27,file = trim(data_file),status='old',action='read', iostat = ios,form ='unformatted')
+      if (ios /= 0) then
+       print*,'error ',ios
+       print*,'file:',trim(data_file)
+       stop 'Error opening file'
+      endif
+
+      data(:,:,:,:) = -1.e10
+      read(27) data(:,:,:,1:nspec(it))
+      close(27)
+
+      print *,trim(data_file)
+      print *,'  min/max value: ',minval(data(:,:,:,1:nspec(it))),maxval(data(:,:,:,1:nspec(it)))
+      print *
+
+      ! topology file
+      topo_file = trim(prname_topo) // 'solver_data_2' // '.bin'
+      open(unit = 28,file = trim(topo_file),status='old',action='read', iostat = ios, form='unformatted')
+      if (ios /= 0) then
+       print*,'error ',ios
+       print*,'file:',trim(topo_file)
+       stop 'Error opening file'
+      endif
+      xstore(:) = 0.0
+      ystore(:) = 0.0
+      zstore(:) = 0.0
+      ibool(:,:,:,:) = -1
+      read(28) xstore(1:nglob(it))
+      read(28) ystore(1:nglob(it))
+      read(28) zstore(1:nglob(it))
+      read(28) ibool(:,:,:,1:nspec(it))
+      close(28)
+
+
+      write(mesh_file,'(a,i1,a)') trim(outdir)//'/' // 'reg_',ir,'_'//trim(filename)
+      print *, trim(mesh_file)
+
+      ! writes out vtk file
+      call write_VTK_data_gll_cr(nspec(it),nglob(it), &
+              xstore(1:nglob(it)),ystore(1:nglob(it)),zstore(1:nglob(it)),&
+              ibool(:,:,:,1:nspec(it)), &
+              data(:,:,:,1:nspec(it)),mesh_file)
+
+    enddo  ! all slices for points
+
+  enddo
+
+  print *, 'Done writing slice files'
+  print *, ' '
+
+
+  end program create_slice_VTK
+
+!
+!-------------------------------------------------------------------------------------------------
+!
+
+  subroutine write_VTK_data_gll_cr(nspec,nglob, &
+            xstore_dummy,ystore_dummy,zstore_dummy,ibool, &
+            gll_data,prname_file)
+
+! external mesh routine for saving vtk files for custom_real values on all gll points
+
+  implicit none
+
+  include "constants.h"
+
+  integer :: nspec,nglob
+
+! global coordinates
+  integer, dimension(NGLLX,NGLLY,NGLLZ,nspec) :: ibool
+  real(kind=CUSTOM_REAL), dimension(nglob) :: xstore_dummy,ystore_dummy,zstore_dummy
+
+! gll data values array
+  real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,nspec) :: gll_data
+
+! file name
+  character(len=256) prname_file
+
+  integer :: ispec,i,ier
+
+! write source and receiver VTK files for Paraview
+  write(IMAIN,*) '  vtk file: '
+  write(IMAIN,*) '    ',prname_file(1:len_trim(prname_file))//'.vtk'
+
+  open(IOVTK,file=prname_file(1:len_trim(prname_file))//'.vtk',status='unknown')
+  write(IOVTK,'(a)') '# vtk DataFile Version 3.1'
+  write(IOVTK,'(a)') 'material model VTK file'
+  write(IOVTK,'(a)') 'ASCII'
+  write(IOVTK,'(a)') 'DATASET UNSTRUCTURED_GRID'
+
+  ! writes out all points for each element, not just global ones
+  write(IOVTK, '(a,i12,a)') 'POINTS ', nspec*8, ' float'
+  do ispec=1,nspec
+    i = ibool(1,1,1,ispec)
+    write(IOVTK,'(3e18.6)') xstore_dummy(i),ystore_dummy(i),zstore_dummy(i)
+
+    i = ibool(NGLLX,1,1,ispec)
+    write(IOVTK,'(3e18.6)') xstore_dummy(i),ystore_dummy(i),zstore_dummy(i)
+
+    i = ibool(NGLLX,NGLLY,1,ispec)
+    write(IOVTK,'(3e18.6)') xstore_dummy(i),ystore_dummy(i),zstore_dummy(i)
+
+    i = ibool(1,NGLLY,1,ispec)
+    write(IOVTK,'(3e18.6)') xstore_dummy(i),ystore_dummy(i),zstore_dummy(i)
+
+    i = ibool(1,1,NGLLZ,ispec)
+    write(IOVTK,'(3e18.6)') xstore_dummy(i),ystore_dummy(i),zstore_dummy(i)
+
+    i = ibool(NGLLX,1,NGLLZ,ispec)
+    write(IOVTK,'(3e18.6)') xstore_dummy(i),ystore_dummy(i),zstore_dummy(i)
+
+    i = ibool(NGLLX,NGLLY,NGLLZ,ispec)
+    write(IOVTK,'(3e18.6)') xstore_dummy(i),ystore_dummy(i),zstore_dummy(i)
+
+    i = ibool(1,NGLLY,NGLLZ,ispec)
+    write(IOVTK,'(3e18.6)') xstore_dummy(i),ystore_dummy(i),zstore_dummy(i)
+  enddo
+  write(IOVTK,*) ""
+
+  ! note: indices for vtk start at 0
+  write(IOVTK,'(a,i12,i12)') "CELLS ",nspec,nspec*9
+  do ispec=1,nspec
+    write(IOVTK,'(9i12)') 8,(ispec-1)*8,(ispec-1)*8+1,(ispec-1)*8+2,(ispec-1)*8+3,&
+          (ispec-1)*8+4,(ispec-1)*8+5,(ispec-1)*8+6,(ispec-1)*8+7
+  enddo
+  write(IOVTK,*) ""
+
+  ! type: hexahedrons
+  write(IOVTK,'(a,i12)') "CELL_TYPES ",nspec
+  write(IOVTK,*) (12,ispec=1,nspec)
+  write(IOVTK,*) ""
+
+  ! writes out gll-data (velocity) for each element point
+  write(IOVTK,'(a,i12)') "POINT_DATA ",nspec*8
+  write(IOVTK,'(a)') "SCALARS gll_data float"
+  write(IOVTK,'(a)') "LOOKUP_TABLE default"
+  do ispec = 1,nspec
+    i = ibool(1,1,1,ispec)
+    write(IOVTK,'(3e18.6)') gll_data(1,1,1,ispec)
+
+    i = ibool(NGLLX,1,1,ispec)
+    write(IOVTK,'(3e18.6)') gll_data(NGLLX,1,1,ispec)
+
+    i = ibool(NGLLX,NGLLY,1,ispec)
+    write(IOVTK,'(3e18.6)') gll_data(NGLLX,NGLLY,1,ispec)
+
+    i = ibool(1,NGLLY,1,ispec)
+    write(IOVTK,'(3e18.6)') gll_data(1,NGLLY,1,ispec)
+
+    i = ibool(1,1,NGLLZ,ispec)
+    write(IOVTK,'(3e18.6)') gll_data(1,1,NGLLZ,ispec)
+
+    i = ibool(NGLLX,1,NGLLZ,ispec)
+    write(IOVTK,'(3e18.6)') gll_data(NGLLX,1,NGLLZ,ispec)
+
+    i = ibool(NGLLX,NGLLY,NGLLZ,ispec)
+    write(IOVTK,'(3e18.6)') gll_data(NGLLX,NGLLY,NGLLZ,ispec)
+
+    i = ibool(1,NGLLY,NGLLZ,ispec)-1
+    write(IOVTK,'(3e18.6)') gll_data(1,NGLLY,NGLLZ,ispec)
+  enddo
+  write(IOVTK,*) ""
+
+  close(IOVTK)
+
+
+  end subroutine write_VTK_data_gll_cr
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_number.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_number.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_number.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,81 @@
+#!/usr/bin/perl -w
+
+#  This program figures out the global slice number for given simulation parameters
+#  uses xglobal_slice_number and xnormal_plane, compile first from global_slice_util/
+# Qinya Liu, May 2007, Caltech
+
+# modify the following line for the correct location of perl libs (UTILS/lib)
+use lib '/opt/seismo-util/lib/perl';
+use CMT_TOOLS;
+
+if (@ARGV != 3) {die("Usage: global_slice_number.pl CMTSOLUTION STATIONS_ADJOINT Par_file\n");}
+$cmt = $ARGV[0];
+$sta = $ARGV[1];
+$par_file = $ARGV[2];
+
+# obtain event location
+($elat,$elon) = get_cmt_location($cmt);
+
+# obtain station location
+($slat,$slon) = split(" ",`awk 'NR == 1 {print \$3, \$4}' $sta`);
+
+print "event = ($elat,$elon);  station = ($slat,$slon) \n";
+
+# obtain simulation parameters
+if (not -f $par_file) {die("Check if $par_file exists or not\n");}
+($nchunk) = split(" ",`grep NCHUNKS $par_file|awk '{print \$3}'`);
+($nproc) = split(" ",`grep NPROC_XI $par_file|awk '{print \$3}'`);
+print "NCHUNKS = $nchunk, nproc = $nproc\n";
+if ($nchunk != 6) {
+  ($xi_width) = split(" ",`grep ANGULAR_WIDTH_XI_IN_DEGREES $par_file|awk '{print \$3}'`);
+  ($eta_width) = split(" ",`grep ANGULAR_WIDTH_ETA_IN_DEGREES $par_file|awk '{print \$3}'`);
+  ($clat) = split(" ",`grep CENTER_LATITUDE_IN_DEGREES $par_file|awk '{print \$3}'`);
+  ($clon) = split(" ",`grep CENTER_LONGITUDE_IN_DEGREES $par_file|awk '{print \$3}'`);
+  ($grot) = split(" ",`grep GAMMA_ROTATION_AZIMUTH $par_file|awk '{print \$3}'`);
+  print "xi_width = $xi_width, eta_width = $eta_width; clat = $clat, clon = $clon; grot = $grot\n";
+}
+
+# minor 
+print "compute slices along minor arc ...\n";
+if ($nchunk == 6) {
+  $command = "xglobal_slice_number $elon $elat $slon $slat $nproc 0";
+}else {
+  $command = "xglobal_slice_number $elon $elat $slon $slat $nproc 0 $nchunk $xi_width $eta_width $clon $clat $grot";}
+system(" $command > slices_minor ");
+
+# major
+print "compute slices along major arc ...\n";
+if ($nchunk == 6) {
+  $command = "xglobal_slice_number $elon $elat $slon $slat $nproc 1";
+}else {
+  $command = "xglobal_slice_number $elon $elat $slon $slat $nproc 1 $nchunk $xi_width $eta_width $clon $clat $grot";}
+system(" $command > slices_major ");
+
+if ($nchunk == 6) {
+  print "output slices_ic file\n";
+  $nslice = $nproc * $nproc;
+  `cat slices_minor slices_major | sort -g | awk '\$1 < $nslice {print \$1}' > slice_ab_old`;
+
+  open(SLICE,"slice_ab_old");
+  @tmp=<SLICE>;
+  close(SLICE);
+
+  open(SLICE_IC,">slices_ic");
+  for ($i = 0; $i < $nslice; $i ++ ) {
+    for ($j = 0; $j < @tmp; $j ++ ){
+      if ($i == $tmp[$j]) {last;}
+      if ($j == @tmp - 1) {print SLICE_IC "$i\n";}
+    }
+  }
+  close(SLICE_IC);
+}
+
+# figure out the normal to the source-receiver plane
+print "calculate normal to source and receiver plane\n";
+$command = "xnormal_plane $elat $elon $slat $slon";
+$result = `$command`;
+print "$result\n";
+
+# clean up temp files
+system(" rm -f slice_ab_old gcarc_station.txt xsection_translate.txt");
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_number.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_number2.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_number2.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_number2.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,83 @@
+#!/usr/bin/perl -w
+
+#  This program figures out the global slice number on a source-receiver
+#  belt for given simulation parameters
+#  uses xglobal_slice_number and xnormal_plane, compile first from global_slice_util/
+#  Qinya Liu, Caltech, May 2007
+
+# modify the following line for the correct location of perl libs (UTILS/lib)
+use lib '/opt/seismo-util/lib/perl';
+use CMT_TOOLS;
+
+if (@ARGV != 4) {die("Usage: global_slice_number.pl CMTSOLUTION STATIONS_ADJOINT Par_file lat_belt_width (in degrees)\n");}
+$cmt = $ARGV[0];
+$sta = $ARGV[1];
+$par_file = $ARGV[2];
+$lat0 = $ARGV[3];
+
+# obtain event location
+($elat,$elon) = get_cmt_location($cmt);
+
+# obtain station location
+($slat,$slon) = split(" ",`awk 'NR == 1 {print \$3, \$4}' $sta`);
+
+print "event = ($elat,$elon);  station = ($slat,$slon) \n";
+
+# obtain simulation parameters
+if (not -f $par_file) {die("Check if $par_file exists or not\n");}
+($nchunk) = split(" ",`grep NCHUNKS $par_file|awk '{print \$3}'`);
+($nproc) = split(" ",`grep NPROC_XI $par_file|awk '{print \$3}'`);
+print "NCHUNKS = $nchunk, nproc = $nproc\n";
+if ($nchunk != 6) {
+  ($xi_width) = split(" ",`grep ANGULAR_WIDTH_XI_IN_DEGREES $par_file|awk '{print \$3}'`);
+  ($eta_width) = split(" ",`grep ANGULAR_WIDTH_ETA_IN_DEGREES $par_file|awk '{print \$3}'`);
+  ($clat) = split(" ",`grep CENTER_LATITUDE_IN_DEGREES $par_file|awk '{print \$3}'`);
+  ($clon) = split(" ",`grep CENTER_LONGITUDE_IN_DEGREES $par_file|awk '{print \$3}'`);
+  ($grot) = split(" ",`grep GAMMA_ROTATION_AZIMUTH $par_file|awk '{print \$3}'`);
+  print "xi_width = $xi_width, eta_width = $eta_width; clat = $clat, clon = $clon; grot = $grot\n";
+}
+
+# minor 
+print "compute slices along minor arc ...\n";
+if ($nchunk == 6) {
+  $command = "xglobal_slice_number $elon $elat $slon $slat $nproc 0 $lat0";
+}else {
+  $command = "xglobal_slice_number $elon $elat $slon $slat $nproc 0 $nchunk $xi_width $eta_width $clon $clat $grot $lat0";}
+system(" $command > slices_minor ");
+
+# major
+print "compute slices along major arc ...\n";
+if ($nchunk == 6) {
+  $command = "xglobal_slice_number $elon $elat $slon $slat $nproc 1 $lat0";
+}else {
+  $command = "xglobal_slice_number $elon $elat $slon $slat $nproc 1 $nchunk $xi_width $eta_width $clon $clat $grot $lat0";}
+system(" $command > slices_major ");
+
+if ($nchunk == 6) {
+  print "output slices_ic file\n";
+  $nslice = $nproc * $nproc;
+  `cat slices_minor slices_major | sort -g | awk '\$1 < $nslice {print \$1}' > slice_ab_old`;
+
+  open(SLICE,"slice_ab_old");
+  @tmp=<SLICE>;
+  close(SLICE);
+
+  open(SLICE_IC,">slices_ic");
+  for ($i = 0; $i < $nslice; $i ++ ) {
+    for ($j = 0; $j < @tmp; $j ++ ){
+      if ($i == $tmp[$j]) {last;}
+      if ($j == @tmp - 1) {print SLICE_IC "$i\n";}
+    }
+  }
+  close(SLICE_IC);
+}
+
+# figure out the normal to the source-receiver plane
+print "calculate normal to source and receiver plane\n";
+$command = "xnormal_plane $elat $elon $slat $slon";
+$result = `$command`;
+print "$result\n";
+
+# clean up temp files
+system(" rm -f slice_ab_old gcarc_station.txt xsection_translate.txt");
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_number2.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_util/CMTSOLUTION
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_util/CMTSOLUTION	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_util/CMTSOLUTION	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,13 @@
+PDE 1994  6  9  0 33 16.40 -13.8300  -67.5600 637.0 6.9 6.8 NORTHERNBOLIVIA
+event name:     060994A
+time shift:      0.0000
+half duration:  10.0000
+latitude:      -13.8200
+longitude:     -67.2500
+depth:          15.0000
+Mrr:      -7.600000e+27
+Mtt:       7.700000e+27
+Mpp:      -2.000000e+26
+Mrt:      -2.500000e+28
+Mrp:       4.000000e+26
+Mtp:      -2.500000e+27

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_util/Makefile
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_util/Makefile	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_util/Makefile	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,27 @@
+F90 = ifort
+F90_FLAGS = -O3
+
+LIB = 
+
+SUB_MOD = sub_slice_number
+SRC_ALL = global_slice_number normal_plane make_az_stations
+
+MOD_DIR = mod
+OBJ_DIR = obj
+BIN_DIR = ..
+
+SUB_MOD_OBJ = $(patsubst %,$(OBJ_DIR)/%.o,$(SUB_MOD))
+SRC_OBJ = $(patsubst %,$(OBJ_DIR)/%.o,$(SRC_ALL))
+
+F90_OBJ = $(SUB_MOD_OBJ) $(SRC_OBJ)
+
+all : $(SRC_ALL)
+
+$(SRC_ALL): % : %.f90 $(SUB_MOD_OBJ) constants.h
+	$(F90) -o $(BIN_DIR)/x$@ $(F90_FLAGS) $*.f90 -module $(MOD_DIR) $(SUB_MOD_OBJ) $(LIB)
+
+$(SUB_MOD_OBJ): $(OBJ_DIR)/%.o : %.f90
+	$(F90) -c -o $(OBJ_DIR)/$*.o $*.f90 -module $(MOD_DIR)
+
+clean: 
+	\rm -f $(MOD_DIR)/*.mod $(OBJ_DIR)/*.o *.o *.mod *~ garc_station.txt  xsection_translate.txt xglobal_slice_number xmake_az_stations xnormal_plane

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_util/constants.h
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_util/constants.h	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_util/constants.h	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,12 @@
+  integer, parameter :: SIZE_REAL = 4
+  integer, parameter :: SIZE_DOUBLE = 8
+
+! uncomment this to run in single precision
+ integer, parameter :: CUSTOM_REAL = SIZE_REAL
+! uncomment this to run in double precision (increases memory size by 2)
+!  integer, parameter :: CUSTOM_REAL = SIZE_DOUBLE
+
+ real(kind=CUSTOM_REAL), parameter :: pi = 3.1415926
+ real(kind=CUSTOM_REAL), parameter :: EPS = 0.01_CUSTOM_REAL
+ 
+ integer, parameter :: NPTS = 100000

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_util/global_slice_number.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_util/global_slice_number.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_util/global_slice_number.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,190 @@
+program global_slice_number
+
+! this program computes the slice numbers the source-receiver lin goes through
+! for given source receiver location and simulation parameters
+! Qinya Liu, Caltech, May 2007
+
+  use sub_slice_number
+
+  implicit none
+
+  character(len=200) :: ch_elon, ch_elat, ch_slon, ch_slat, ch_nproc, ch_narc, ch_usage, ch_arg7, ch_arg8, &
+             ch_eta_width, ch_clon, ch_clat, ch_grot, ch_arg13
+  logical :: belt_region
+  integer :: nchunks, narc, nproc, np, nt, i, ii, k, j, nproc_xi, nproc_eta, np_short
+  integer, dimension(NPTS) :: chunk, slices, slices_short
+
+  real(kind=CUSTOM_REAL) :: elon, elat, slon, slat, xi_width, eta_width, lat0, th0, clon, clat, grot, &
+             ths, phs, thr, phr, thn, phn, ths_new, phs_new, thr_new, phr_new, delta, rotation_matrix(3,3), &
+             x, y, z, xn, yn, zn, xik, etak, xi1, eta1
+  real(kind=CUSTOM_REAL), dimension(NPTS) :: th, ph, thp, php, xi,eta
+
+  !============================
+
+  ! set up the input arguments
+
+  call getarg(1,ch_elon)
+  call getarg(2,ch_elat)
+  call getarg(3,ch_slon)
+  call getarg(4,ch_slat)
+  call getarg(5,ch_nproc)
+  call getarg(6,ch_narc)
+
+  ch_usage = 'Usage: global_slice_number elon elat slon slat nproc narc [nchunks xi_width eta_width clon clat grot] [lat0]'
+
+  if (trim(ch_elon) == '' .or. trim(ch_elat) == '' .or. trim(ch_slon) == '' .or. &
+             trim(ch_slat) == '' .or. trim(ch_nproc) == '' .or. trim(ch_narc) == '')  then
+    print *, trim(ch_usage)
+    stop
+  endif
+
+  read(ch_elon,*) elon
+  read(ch_elat,*) elat
+  read(ch_slon,*) slon
+  read(ch_slat,*) slat
+  read(ch_nproc,*) nproc
+  read(ch_narc,*) narc
+
+  call getarg(7,ch_arg7)
+  if (trim(ch_arg7) == '') then
+    belt_region = .false.
+    nchunks = 6
+    xi_width = 90.
+    eta_width = 90.
+  else
+    call getarg(8,ch_arg8)
+    if (trim(ch_arg8) == '') then
+      belt_region = .true.
+      nchunks = 6
+      xi_width = 90.
+      eta_width = 90.
+      read(ch_arg7,*) lat0
+    else
+      read(ch_arg7,*) nchunks
+      read(ch_arg8,*) xi_width
+      call getarg(9,ch_eta_width)
+      call getarg(10,ch_clon)
+      call getarg(11,ch_clat)
+      call getarg(12,ch_grot)
+      if (trim(ch_eta_width) == '' .or. trim(ch_clon) == '' .or. trim(ch_clat) == '' .or. trim(ch_grot) == '') then
+        print *, trim(ch_usage)
+        stop
+      else
+        read(ch_eta_width,*) eta_width
+        read(ch_clon,*) clon
+        read(ch_clat,*) clat
+        read(ch_grot,*) grot
+
+        call getarg(13,ch_arg13)
+        if (trim(ch_arg13) == '') then
+          belt_region = .false.
+        else
+          belt_region = .true.
+          read(ch_arg13,*) lat0
+        endif
+      endif
+    endif
+  endif
+
+  ! check the input arguements
+  if (nchunks /= 6 .and. nchunks /= 1 .and. nchunks /= 2) stop 'nchunks = 1, 2, 6'
+  if (narc /= 1 .and. narc /= 0) stop 'narc = 0,1'
+  if (xi_width > 90.0 .or. eta_width > 90.0) stop 'xi(eta)_width <= 90.0'
+
+  ! convert to degrees to radians
+  ths = (90-elat)/180. * pi
+  phs = elon/180. * pi
+  thr = (90-slat)/180. * pi
+  phr = slon/180. * pi
+  xi_width = xi_width/180. * pi
+  eta_width = eta_width/180. * pi
+  if (nchunks /= 6) then
+    clon = clon/180. * pi
+    clat = clat/180. * pi
+    grot = grot/180. * pi
+  endif
+
+  if (belt_region) th0 = lat0/180. * pi
+
+  ! figure out the normal of source-receiver plane, and rotate them to the equator
+  call tp2norm(ths,phs,thr,phr,thn,phn)
+  call norm_rot(thn,phn,ths,phs,ths_new,phs_new)
+  call norm_rot(thn,phn,thr,phr,thr_new,phr_new)
+  if ((ths_new-pi/2) > EPS .or. (thr_new-pi/2) > EPS) stop 'New lat of source/receiver is not 0'
+
+  ! discretize the source receiver garc, and figure out the slice number for individual point
+  np = 180
+  if (phr_new < phs_new) phr_new = phr_new + 2 * pi
+  if (((phr_new - phs_new) <= pi .and. narc == 0) .or. ((phr_new-phs_new) > pi .and. narc == 1)) then
+    call linarray(ph,np,phs_new,phr_new)
+    delta = phr_new - phs_new
+  else
+    call linarray(ph,np,phr_new-2*pi,phs_new)
+    delta = phs_new - phr_new + 2*pi
+  endif
+  !print *, 'Delta = ', delta
+
+  if (nchunks /= 6) call rotmat(clon,clat,grot,rotation_matrix)
+
+  chunk(1:np) = 10.
+
+  if (belt_region) then
+    nt = 10
+    call linarray(th,nt,-th0,th0)
+  else
+    nt = 1
+    th(1) = 0.
+    open(11,file='garc_station.txt',status='unknown')
+    open(12,file='xsection_translate.txt',status='unknown')
+  endif
+
+  j = 0
+  do ii = 1, nt
+    do i = 1, np
+      call norm_rot_back(thn,phn,pi/2+th(ii),ph(i),thp(i),php(i))
+      call tp2xyz(thp(i),php(i),x,y,z)
+
+      if (.not. belt_region) then
+        write(11,*) thp(i) * 180./pi, php(i) * 180./pi
+        if (i == np/2) write(12,*) x, y, z
+      endif
+
+      if (nchunks /= 6) then
+        xn = x * rotation_matrix(1,1) + y * rotation_matrix(2,1) + z * rotation_matrix(3,1)
+        yn = x * rotation_matrix(1,2) + y * rotation_matrix(2,2) + z * rotation_matrix(3,2)
+        zn = x * rotation_matrix(1,3) + y * rotation_matrix(2,3) + z * rotation_matrix(3,3)
+        x = xn; y = yn; z = zn
+      endif
+
+      do k = 1, nchunks
+        call chunk_map(k,x,y,z,xik,etak)
+        if (abs(xik) <= pi/4 .and. abs(etak) <= pi/4) then
+          chunk(i) = k; xi(i) = xik; eta(i) = etak
+        endif
+      enddo
+
+      if (nchunks /= 6 .and. (chunk(i) > nchunks .or. abs(xi(i) > pi/2) .or. abs(eta(i)) > pi/2)) then
+        write(ch_usage,*) 'Check if point ', x, ',', y, ',', z, ' is within the region or not'
+        print *, trim(ch_usage)
+        stop
+      endif
+
+      xi1 = xi(i)/xi_width * 2; eta1 = eta(i) /eta_width * 2
+      nproc_xi = floor((xi1+1)/2 * nproc);  nproc_eta = floor((eta1+1)/2 * nproc)
+      j = j + 1; slices(j) = nproc * nproc * (chunk(i)-1) + nproc * nproc_eta + nproc_xi
+    end do
+  end do
+
+  ! compact the slice numbers into an array
+  np = np * nt
+  call compact_int_array(slices,np,slices_short,np_short)
+
+  ! write the result out          
+  do i = 1, np_short
+    print *, slices_short(i)
+  enddo
+
+  if (.not. belt_region) close(11); close(12)
+
+
+end program global_slice_number

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_util/make_az_stations.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_util/make_az_stations.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_util/make_az_stations.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,77 @@
+program make_az_stations
+
+! this program computes a station list from a source location at given azimuth
+! Qinya Liu, Caltech, May 2007
+
+
+  use sub_slice_number
+
+  implicit none
+
+  character(len=200) :: ch_elon, ch_elat, ch_az, ch_dist, filename
+  real(kind=CUSTOM_REAL) :: elon, elat, az, ths, phs, thn, phn, azr, thn_new, phn_new, phr, dist
+  integer np, i
+  real(kind=CUSTOM_REAL), dimension(1000) :: thr_array, thr_new, phr_new, latr_new, lonr_new
+
+  !============================
+
+  ! set up the input arguments
+
+  call getarg(1,ch_elon)
+  call getarg(2,ch_elat)
+  call getarg(3,ch_az)
+
+  if (trim(ch_elon) == '' .or. trim(ch_elat) == '' .or. trim(ch_az) == '')  then
+    print *, 'Usage: xmake_az_stations elon elat az [dist(degrees)]'
+    stop
+  endif
+
+  read(ch_elon,*) elon
+  read(ch_elat,*) elat
+  read(ch_az,*) az
+
+  ! convert to degrees to radians
+  ths = (90-elat)/180. * pi
+  phs = elon/180. * pi
+
+  ! another point is the north pole
+  thn = (90-90)/180. * pi
+  phn = 0/180. * pi
+
+  ! receiver azimuth
+  azr = az /180. * pi
+
+  ! rotate (ths,phs) to North Pole, and figure out the new location of old N. Pole
+  call norm_rot(ths,phs,thn,phn,thn_new,phn_new)
+  print *, 'After rotating the source to the N. Pole, old N. Pole become: '
+  print *, thn_new*180/pi, phn_new *180/pi
+ 
+  phr = phn_new - azr ! here could be + azr as well
+  write(filename,'(a,i3.3)') 'STATIONS_',floor(az)
+  open(11,file=trim(filename),status='unknown')
+
+  ! read in extra distance argument
+  call getarg(4,ch_dist)
+  if (trim(ch_dist) .ne. '') then
+    read(ch_dist,*) dist
+    np = 1
+    thr_array(1) = dist / 180. * pi
+  else
+  ! discretize the receiver garc, and figure out the slice number for individual point
+    np = 180
+  end if
+
+  do i = 1, np
+    if (trim(ch_dist) == '') thr_array(i) = (i*1.) / np * pi
+    call norm_rot_back(ths,phs,thr_array(i),phr,thr_new(i),phr_new(i))
+    latr_new(i) = (pi/2 - thr_new(i)) * 180/pi
+    lonr_new(i) = phr_new(i)  * 180/pi
+
+    write(11,'(a,i3.3,4x,a,4x,f10.3,4x,f10.3,4x,f5.2,4x,f5.2)') 'T',i,'NT',latr_new(i),lonr_new(i),0.,0.
+
+  end do
+
+  close(11)
+
+
+end program make_az_stations

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_util/normal_plane.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_util/normal_plane.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_util/normal_plane.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,35 @@
+program normal_plane
+
+! this program computes the normal to the source-receiver plane
+! Qinya Liu, Caltech, May 2007
+
+  use sub_slice_number
+
+  implicit none
+
+  character(len=100) :: ch_lats, ch_lons, ch_latr, ch_lonr
+  real(kind=CUSTOM_REAL) :: lats, lons, latr, lonr, xs, ys, zs, nx, ny, nz, xc, yc, zc
+
+  call getarg(1,ch_lats)
+  call getarg(2,ch_lons)
+  call getarg(3,ch_latr)
+  call getarg(4,ch_lonr)
+
+  if (trim(ch_lats) == '' .or. trim(ch_lons) == '' .or. trim(ch_latr) == '' .or. trim(ch_lonr) == '') &
+             stop 'Usage: normal_plane lats lons latr lonr'
+
+  read(ch_lats,*) lats
+  read(ch_lons,*) lons
+  read(ch_latr,*) latr
+  read(ch_lonr,*) lonr
+
+  call latlon2norm(lats,lons,latr,lonr,xs,ys,zs,nx,ny,nz,xc,yc,zc)
+
+  write(*,'(3f10.3,a)') xs, ys, zs, '   --- source location'
+  
+  write(*,'(3f10.3,a)') nx, ny, nz, '   --- normal of s-r plane'
+
+  write(*,'(3f10.3,a)') xc, yc, zc, '   --- center of s-r gcarc'
+
+  
+end program normal_plane

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_util/sub_slice_number.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_util/sub_slice_number.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/global_slice_util/sub_slice_number.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,390 @@
+module sub_slice_number
+
+! this file holds all the subroutines needed the main programs in this dir
+! Qinya Liu, Caltech, May 2007
+
+  implicit none
+
+  include 'constants.h'
+
+contains
+
+
+  subroutine tp2norm(ths,phs,thr,phr,thn,phn)
+
+    ! find out the normal of the plane constructed
+    ! by (ths,phs), (thr,phr), and the origin using
+    ! cross-product.
+
+    real(kind=CUSTOM_REAL) :: ths, phs, thr, phr, thn, phn
+
+    real(kind=CUSTOM_REAL) :: xs, ys, zs, xr, yr, zr, nx, ny, nz
+
+    call tp2xyz(ths,phs,xs,ys,zs)
+    call tp2xyz(thr,phr,xr,yr,zr)
+    nx = ys*zr - zs*yr
+    ny = -(xs*zr - zs*xr)
+    nz = xs*yr - ys*xr
+
+    call xyz2tp(nx,ny,nz,thn,phn)
+
+
+  end subroutine tp2norm
+
+  ! ------------------------------------------------
+
+  subroutine tp2norm2(ths,phs,thr,phr,nx,ny,nz)
+
+! find out the normal of the plane (nx,ny,nz) 
+! constructed by (ths,phs), (thr,phr), and the origin.
+
+    real(kind=CUSTOM_REAL) :: ths, phs, thr, phr, nx, ny, nz
+
+    real(kind=CUSTOM_REAL) :: xs, ys, zs, xr, yr, zr, nr
+
+    call tp2xyz(ths,phs,xs,ys,zs)
+    call tp2xyz(thr,phr,xr,yr,zr)
+    nx = ys*zr - zs*yr
+    ny = -(xs*zr - zs*xr)
+    nz = xs*yr - ys*xr
+    nr = sqrt(nx*nx+ny*ny+nz*nz)
+    nx = nx/nr
+    ny = ny/nr
+    nz = nz/nr
+    
+  end subroutine tp2norm2
+
+  ! -------------------------------------------------
+
+  subroutine norm_rot(thn,phn,th,ph,th_new,ph_new)
+
+
+    ! coordinates change from (th,ph) to (th_new,ph_new)
+    ! according to a rotation that converts (thn,phn) to
+    ! z axis
+
+    real(kind=CUSTOM_REAL) :: thn, phn, th, ph, th_new, ph_new
+
+    real(kind=CUSTOM_REAL) :: rot(3,3), x, y, z, x_new, y_new, z_new
+
+    rot(1,1) = cos(thn)*cos(phn)
+    rot(1,2) = cos(thn)*sin(phn)
+    rot(1,3) = -sin(thn)
+    rot(2,1) = -sin(phn)
+    rot(2,2) = cos(phn)
+    rot(2,3) = 0
+    rot(3,1) = sin(thn)*cos(phn)
+    rot(3,2) = sin(thn)*sin(phn)
+    rot(3,3) = cos(thn)
+
+    call tp2xyz(th,ph,x,y,z)
+    x_new = rot(1,1) * x + rot(1,2) * y + rot(1,3) * z
+    y_new = rot(2,1) * x + rot(2,2) * y + rot(2,3) * z
+    z_new = rot(3,1) * x + rot(3,2) * y + rot(3,3) * z
+
+    call xyz2tp(x_new,y_new,z_new,th_new,ph_new)
+
+  end subroutine norm_rot
+
+  ! -------------------------------------------------
+
+  subroutine linarray(array,n,a0,a1)
+
+
+    real(kind=CUSTOM_REAL) :: array(*), a0, a1
+    integer n
+
+    real(kind=CUSTOM_REAL) :: da
+    integer :: i
+
+    if (n <= 0) stop 'number of points in linarray n > 0'
+    if (n == 1 .and. abs(a0-a1) > EPS) stop 'number of points n = 1 asks for a0 = a1'
+
+    if (n == 1) then
+      array(1) = a0
+    else
+      da = (a1-a0)/(n-1)
+      do i = 1, n
+        array(i) = a0 + (i-1) * da
+      enddo
+    endif
+
+  end subroutine linarray
+
+  ! -------------------------------------------------
+
+  subroutine rotmat(clon,clat,grot,rotation_matrix)
+
+    ! this function calculate the 3x3 rotation matrix from the AB chunk
+    ! frame to the actual frame defined by (clon,clat,grot)
+
+    real(kind=CUSTOM_REAL) :: clon,clat,grot, rotation_matrix(3,3)
+
+    real(kind=CUSTOM_REAL) :: alpha, beta, gamma, sina, cosa, sinb, cosb, &
+               sing, cosg
+
+    ! compute colatitude and longitude
+    alpha = clon 
+    beta = pi/2 - clat
+    gamma = grot
+
+    sina = sin(alpha)
+    cosa = cos(alpha)
+    sinb = sin(beta)
+    cosb = cos(beta)
+    sing = sin(gamma)
+    cosg = cos(gamma)
+
+    ! define rotation matrix
+    rotation_matrix(1,1) = cosg*cosb*cosa-sing*sina
+    rotation_matrix(1,2) = -sing*cosb*cosa-cosg*sina
+    rotation_matrix(1,3) = sinb*cosa
+    rotation_matrix(2,1) = cosg*cosb*sina+sing*cosa
+    rotation_matrix(2,2) = -sing*cosb*sina+cosg*cosa
+    rotation_matrix(2,3) = sinb*sina
+    rotation_matrix(3,1) = -cosg*sinb
+    rotation_matrix(3,2) = sing*sinb
+    rotation_matrix(3,3) = cosb
+
+  end subroutine rotmat
+
+  ! -------------------------------------------
+
+  subroutine norm_rot_back(thn,phn,th,ph,th_old,ph_old)
+
+    !coordinates change from (th_old,ph_old) to (th,ph)
+    ! according to a rotation that converts (thn,phn) to
+    ! z axis
+
+    real(kind=CUSTOM_REAL) :: thn, phn, th, ph, th_old, ph_old
+
+    real(kind=CUSTOM_REAL) :: rot(3,3), x,y,z, x_old, y_old, z_old
+
+    rot(1,1) = cos(thn)*cos(phn)
+    rot(1,2) = cos(thn)*sin(phn)
+    rot(1,3) = -sin(thn)
+    rot(2,1) = -sin(phn)
+    rot(2,2) = cos(phn)
+    rot(2,3) = 0
+    rot(3,1) = sin(thn)*cos(phn)
+    rot(3,2) = sin(thn)*sin(phn)
+    rot(3,3) = cos(thn)
+    call tp2xyz(th,ph,x,y,z)
+    x_old = rot(1,1) * x + rot(2,1) * y + rot(3,1) * z
+    y_old = rot(1,2) * x + rot(2,2) * y + rot(3,2) * z
+    z_old = rot(1,3) * x + rot(2,3) * y + rot(3,3) * z
+
+    call xyz2tp(x_old,y_old,z_old,th_old,ph_old)
+
+  end subroutine norm_rot_back
+
+  ! ----------------------------------------------
+
+  subroutine tp2xyz(th,ph,x,y,z)
+
+    real(CUSTOM_REAL) :: th,ph,x,y,z
+
+    ! convert (th,ph) to (x,y,z) on unit sphere
+    x = sin(th) * cos(ph)
+    y = sin(th) * sin(ph)
+    z = cos(th)
+
+  end subroutine tp2xyz
+
+  ! ---------------------------------------
+
+  subroutine xyz2tp(x,y,z,th,ph)
+
+    real(kind=CUSTOM_REAL) :: x, y, z, th, ph
+
+    ! convert x,y,z to a point on unit sphere
+
+    ph = atan2(y,x)
+    th = atan2(sqrt(x*x+y*y),z)
+    if (th < 0) th = th + pi
+    if (ph < 0) ph = ph + 2*pi
+
+  end subroutine xyz2tp
+
+  ! ---------------------------------------
+
+  subroutine chunk_map(k,xx,yy,zz,xi,eta)
+
+    ! this program get the xi,eta for (xx,yy,zz)
+    ! point under the k'th chunk coordinate
+    ! transformation
+
+    real(kind=CUSTOM_REAL) :: xx, yy, zz, xi, eta
+    integer :: k
+
+    real(kind=CUSTOM_REAL) :: x, y, z
+
+    x = xx; y = yy; z = zz
+    if (x < EPS .and. x >= 0) x = EPS
+    if (x > -EPS .and. x < 0) x = -EPS
+    if (y < EPS .and. y >= 0) y = EPS
+    if (y > -EPS .and. y < 0) y = -EPS
+    if (z < EPS .and. z >= 0) z = EPS
+    if (z > -EPS .and. z < 0) z = -EPS
+
+    if (k == 1) then ! CHUNK_AB
+      xi = atan(y/z); eta = atan(-x/z)
+      if (z < 0)  xi = 10
+    else if (k == 2) then ! CHUNK_AC
+      xi = atan(-z/y); eta = atan(x/y)
+      if (y > 0) xi = 10
+    else if (k == 3) then ! CHUNK_BC
+      xi = atan(-z/x); eta = atan(-y/x)
+      if (x > 0) xi = 10
+    else if (k == 4) then ! CHUNK_AC'
+      xi = atan(-z/y); eta = atan(-x/y)
+      if (y < 0) xi = 10
+    else if (k == 5) then ! CHUNK_BC'
+      xi = atan(z/x); eta = atan(-y/x)
+      if (x < 0) xi = 10
+    else if (k == 6) then ! CHUNK_AB'
+      xi = atan(y/z); eta = atan(x/z)
+      if (z > 0)  xi = 10
+    else
+      stop 'chunk number k < 6'
+    end if
+
+  end subroutine chunk_map
+
+
+  ! ------------------------------------------
+
+  subroutine compact_int_array(s,np,ss,np2)
+
+    integer :: s(*), ss(*)
+    integer :: np, np2, i
+
+    ss(1) = s(1)
+    np2 = 1
+
+    do i = 2, np
+      if (all((s(i)-ss(1:np2)) /= 0)) then
+        np2 = np2 + 1
+        ss(np2) = s(i)
+      endif
+    enddo
+
+  end subroutine compact_int_array
+  
+
+! -----------------------------------------
+
+
+  subroutine distaz (sta,sto,epa,epo,dk,dd,daze,dazs)
+
+    ! output: dk, dd -- distance in km and radians
+    !         daze, dazs -- azimuth and back-azimuth
+
+    real(kind=CUSTOM_REAL) :: sta, sto, epa, epo, dk, dd, daze, dazs
+
+    real(kind=CUSTOM_REAL) :: rad, sa, ea, ssa, csa, so, eo, sea, cea, ces, &
+               ses
+
+    rad=pi/180.0d0
+
+    sa  = atan(.993270*tan(sta*rad))
+    ea  = atan(.993270*tan(epa*rad))
+    ssa = sin(sa)
+    csa = cos(sa)
+    so  = sto*rad
+    eo  = epo*rad
+    sea = sin(ea)
+    cea = cos(ea)
+    ces = cos(eo-so)
+    ses = sin(eo-so)
+
+    if  (sa==ea) then
+      if (sto==epo) then
+        dk =0.00
+        dd =0.00
+        daze=0.0
+        dazs=0.0
+        return
+      end if
+    end if
+
+    if (sta==90.) then
+      if (epa==90.0) then
+        dk =0.00
+        dd =0.00
+        daze=0.00
+        dazs=0.00
+        return
+      end if
+    end if
+
+    if (sta==-90.0) then
+      if (epa==-90.0) then
+        dk =0.00
+        dd =0.00
+        daze=0.00
+        dazs=0.00
+        return
+      end if
+    end if
+
+    dd = ssa*sea+csa*cea*ces
+    if (dd /=0.) dd=atan(sqrt(1.0-dd*dd)/dd)
+    if (dd==0.) dd=pi/2.0
+    if (dd<0.0) dd=dd+pi
+    dd = dd/rad
+    dk = dd*111.19
+
+    dazs = atan2(-ses,(ssa/csa*cea-sea*ces))
+    daze = atan2(ses,(sea*csa/cea-ssa*ces))
+    dazs = dazs/rad
+    daze = daze/rad
+    if (dazs<0.00)  dazs=dazs+360.0
+    if (daze<0.00) daze=daze+360.0
+
+  end subroutine distaz
+
+! ---------------------------------------
+
+
+  subroutine latlon2norm(lats,lons,latr,lonr,xs,ys,zs,nx,ny,nz,xc,yc,zc)
+
+    ! [xs,ys,zs,nx,ny,nz] = latlon2norm(lats,lons,latr,lonr)
+    ! find out the coordinates of the source (xs,ys,zs) 
+    ! the normal of the plane (nx,ny,nz) 
+    ! the center of the source and receiver garc (xc,yc,zc)
+    ! constructed by (lons,lats), (lonr,latr), and the origin
+    ! for a "banana cross-section"
+    
+    real(kind=CUSTOM_REAL) :: lats, lons, latr, lonr, xs, ys, zs, nx, ny, nz, xc, yc, zc
+    
+    real(kind=CUSTOM_REAL) :: ts, ps, tr, pr, xr, yr, zr, nr 
+
+    ts = (90 - lats) * pi/180
+    ps = lons * pi / 180
+    tr = (90 - latr) * pi/180
+    pr = lonr * pi / 180
+    
+    call tp2xyz(ts,ps,xs,ys,zs)
+    call tp2xyz(tr,pr,xr,yr,zr)
+
+    nx = ys*zr - zs*yr
+    ny = -(xs*zr - zs*xr)
+    nz = xs*yr - ys*xr
+    nr = sqrt(nx*nx+ny*ny+nz*nz)
+    nx = nx/nr
+    ny = ny/nr
+    nz = nz/nr
+
+    xc=(xr+xs)/2
+    yc=(yr+ys)/2
+    zc=(zr+zs)/2
+
+  end subroutine latlon2norm
+
+  ! ---------------------------------------
+
+
+
+
+end module sub_slice_number

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/make_movie.m
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/make_movie.m	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/make_movie.m	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,60 @@
+%
+% make_movie.m
+% /SPECFEM3D_GLOBE/UTILS/Visualization/Paraview/make_movie.m
+%
+% template script for using matlab to make a movie from a set of jpgs 
+%
+% NOTE: VideoWriter requires version R2010a or later (type "version")
+%
+% Alternatively, try the command-line using ImageMagick:
+%    convert -delay 8 -resize 400x320 *.jpg movie.mpg
+%
+%
+
+close
+clear all
+
+%----------------
+% USER PARAMETERS
+
+ifiles = '*.jpg';           % input files
+ofile = 'simulation.avi';   % output file
+fps = 2;                    % frames per second
+
+% optional: construct text label for each jpg
+itextlabel = 1;             % =1 to add text label (see below)
+frames = [1000:400:17800]'; % frames
+DT = 7.6219589E-02;         % time step
+t0 = -60;                   % origin time (USER_T0)
+tvec = (t0 + DT*frames)/60;
+tx0 = 30; ty0 = 40;         % position of a text label (in pixels)
+
+%----------------
+
+list = dir(ifiles);         % create structure
+files = {list.name};
+
+vid_out = VideoWriter(ofile);
+vid_out.FrameRate = fps;
+open(vid_out);
+
+fig = figure(1); clf
+
+% loop over each input file
+for i = 1:length(files)
+    img = imread(files{i});
+    imshow(img, 'Border', 'tight', 'InitialMagnification', 80);
+    
+    % add text label
+    if itextlabel==1
+        stlab = sprintf('Time = %3.0f minutes',tvec(i));
+        text(tx0,ty0,stlab,'fontsize',18,'color','w','fontweight','bold');
+    end
+    
+    drawnow
+    writeVideo(vid_out, getframe(fig));
+end
+
+close(vid_out);
+
+%=========================================================

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/README.lyx
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/README.lyx	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/README.lyx	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,121 @@
+#LyX 1.5.2 created this file. For more info see http://www.lyx.org/
+\lyxformat 276
+\begin_document
+\begin_header
+\textclass article
+\language english
+\inputencoding auto
+\font_roman default
+\font_sans default
+\font_typewriter default
+\font_default_family default
+\font_sc false
+\font_osf false
+\font_sf_scale 100
+\font_tt_scale 100
+\graphics default
+\paperfontsize default
+\papersize default
+\use_geometry false
+\use_amsmath 2
+\use_esint 0
+\cite_engine basic
+\use_bibtopic false
+\paperorientation portrait
+\secnumdepth 3
+\tocdepth 3
+\paragraph_separation indent
+\defskip medskip
+\quotes_language english
+\papercolumns 1
+\papersides 1
+\paperpagestyle default
+\tracking_changes false
+\output_changes false
+\author "" 
+\end_header
+
+\begin_body
+
+\begin_layout Standard
+This is a set of obsolete matlab scripts to calculate the slice numbers,
+ which have been replaced by much faster Fortran programs.
+ I leave them here because they can still be useful if you write matlab
+ scripts.
+\newline
+
+\end_layout
+
+\begin_layout Standard
+slice_number($elon,$elat,$slon,$slat,$nproc,[0 or 1])
+\end_layout
+
+\begin_layout Itemize
+elon,elat,slon,slat => normal plane -> rotation => new_elon, new_slon =>
+ lon_array along gcarc 
+\end_layout
+
+\begin_layout Itemize
+for every point in the lon_array -> check for each chunk, the possible 
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+$(
+\backslash
+xi,
+\backslash
+eta)$
+\end_layout
+
+\end_inset
+
+, and figure out the chunk number as well as the slice number => print out
+ the slice number
+\end_layout
+
+\begin_layout Itemize
+0 for minor arc, and 1 for major arc
+\end_layout
+
+\begin_layout Itemize
+use tp2norm(), norm_rot(), norm_rot_back(), tp2xyz(), chunk_map()
+\end_layout
+
+\begin_layout Itemize
+extra auxilliary functions:
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+slice_number2(elon,elat,slon,slat,nproc,[0,1],lat0) -- get the slice number
+ for points on a 'belt' between source and receiver points.
+\end_layout
+
+\begin_layout Itemize
+[nx,ny,nz] = tp2norm2(ths,phs,thr,phr) to get the coordinates of the unit
+ normal vector
+\end_layout
+
+\begin_layout Itemize
+[th,ph] = xyz2tp(x,y,z) 
+\end_layout
+
+\begin_layout Itemize
+[th,ph] = gcarc_station(lats,lons,latr,lonr,[0,1]) -- output stations with
+ 1 degree apart
+\end_layout
+
+\begin_layout Itemize
+[x,y,z] = xsection_translate(lats,lons,latr,lonr,[0,1],scale) -- to move
+ xsections up and down for S,P Kernels to be aligned on the same plot
+\end_layout
+
+\begin_layout Itemize
+new_array = compact_array(old_array) -- compacts an array by sorting and
+ removing the repeated entries
+\end_layout
+
+\end_body
+\end_document

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/README.pdf
===================================================================
(Binary files differ)


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/README.pdf
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/chunk_map.m
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/chunk_map.m	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/chunk_map.m	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,36 @@
+function [xi,eta] = chunk_map(k,xx,yy,zz)
+% this program get the xi,eta for (xx,yy,zz)
+% point under the k'th chunk coordinate
+% transformation
+small = 1d-6;
+x = xx; y = yy; z = zz;
+if (x < small & x >= 0); x = small; end
+if (x > -small & x < 0); x = -small; end
+if (y < small & y >= 0); y = small; end
+if (y > -small & y < 0); y = -small; end
+if (z < small & z >= 0); z = small; end
+if (z > -small & z < 0); z = -small; end
+
+if k == 1 % CHUNK_AB 
+  xi = atan(y/z); eta = atan(-x/z);
+  if (z < 0); xi = 10; end
+elseif k == 2 % CHUNK_AC
+  xi = atan(-z/y); eta = atan(x/y);
+  if (y > 0); xi = 10; end
+elseif k == 3 % CHUNK_BC
+  xi = atan(-z/x); eta = atan(-y/x);
+  if (x > 0); xi = 10; end
+elseif k == 4 % CHUNK_AC'
+  xi = atan(-z/y); eta = atan(-x/y);
+  if (y < 0); xi = 10; end
+elseif k == 5 % CHUNK_BC'
+  xi = atan(z/x); eta = atan(-y/x);
+  if (x < 0); xi = 10; end
+elseif k == 6 % CHUNK_AB'
+  xi = atan(y/z); eta = atan(x/z);
+  if (z > 0); xi = 10; end
+else
+  disp('k != 1 - 6');
+  return;
+end
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/compact_array.m
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/compact_array.m	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/compact_array.m	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,16 @@
+function new_array=compact_array(old_array)
+% this function compacts an old array to a new
+% array by sorting it and removing the repeated
+% entries
+
+temp = sort(old_array);
+for i = 1: length(temp)
+  if (i == 1)
+    new_array = [temp(1)];
+  else 
+    if temp(i) ~= temp(i-1)
+       new_array = [new_array,temp(i)];
+    end
+  end
+end
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/distaz.m
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/distaz.m	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/distaz.m	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,62 @@
+
+function [dk,dd,daze,dazs]=distaz (sta,sto,epa,epo)
+        rad=pi/180.0d0;
+
+        sa  = atan(.993270*tan(sta*rad));
+        ea  = atan(.993270*tan(epa*rad));
+        ssa = sin(sa);
+        csa = cos(sa);
+        so  = sto*rad;
+        eo  = epo*rad;
+        sea = sin(ea);
+        cea = cos(ea);
+        ces = cos(eo-so);
+        ses = sin(eo-so);
+        
+        if  (sa==ea)
+           if (sto==epo)
+              	dk =0.00;
+					dd =0.00;
+	  				daze=0.0;
+               dazs=0.0;
+                 return
+  end
+end
+
+if sta==90.
+   if epa==90.0
+     dk =0.00;
+	  dd =0.00;
+	  daze=0.00;
+     dazs=0.00;
+     return
+  end
+end
+
+      
+      
+if sta==-90.0
+   if epa==-90.0
+	  dk =0.00;
+	  dd =0.00;
+	  daze=0.00;
+	  dazs=0.00;
+	  return
+	end
+end
+        dd = ssa*sea+csa*cea*ces;
+        if dd~=0. , dd=atan(sqrt(1.0-dd*dd)/dd); end
+        if dd==0. , dd=pi/2.0; end
+        if dd<0.0 , dd=dd+pi; end
+        dd = dd/rad;
+        dk = dd*111.19;
+
+        dazs = atan2(-ses,(ssa/csa*cea-sea*ces));
+        daze = atan2(ses,(sea*csa/cea-ssa*ces));
+        dazs = dazs/rad;
+        daze = daze/rad;
+        if (dazs<0.00), dazs=dazs+360.0; end
+        if (daze<0.00), daze=daze+360.0; end
+
+
+return

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/gcarc_station.m
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/gcarc_station.m	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/gcarc_station.m	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,56 @@
+function [thp,php] = gcarc_station(lats,lons,latr,lonr,narc)
+% this function get the geographic coordinates for points along
+% the great circle path between the
+% source and receiver points in the 6-chunk global mesh
+% input: lats, lons, latr, lonr, nproc, narc
+%        narc = 0 : minor arc
+%        narc = 1 : major arc
+% output:  thp(1:180), php(1:180), 1 degree apart
+
+
+% 
+%clear all;
+%lats = -13.82; lons=-67.25;
+%latr = 18.79; lonr = 98.98;
+%nproc = 5;
+
+
+ths = (90-lats)/180.*pi; phs = lons/180.*pi;
+thr = (90-latr)/180.*pi; phr = lonr/180.*pi;
+
+[thn,phn] = tp2norm(ths,phs,thr,phr);
+[ths_new,phs_new] = norm_rot(thn,phn,ths,phs);
+[thr_new,phr_new] = norm_rot(thn,phn,thr,phr);
+
+if (ths_new-pi/2) > 1e-2
+    disp('new lat of source is not 0'); return;
+end
+if (thr_new-pi/2) > 1e-2
+    disp('new lat of receiver is not 0');return;
+end
+
+Np = 180;
+%phr_new = phs_new + pi - 0.001;
+pharray= sort([phs_new,phr_new]);
+ph1 = pharray(1); ph2 = pharray(2);
+delta = ph2-ph1;
+%disp(strcat('Delta = ',num2str(delta * 180/pi)));
+
+% we are looking at minor arc
+if (narc == 0) 
+  if (delta < pi)
+      ph = linspace(ph1,ph2+pi,Np);
+  else
+      ph = linspace(ph2-2*pi,ph2-pi,Np);
+  end
+elseif (narc == 1) 
+  if (delta < pi) 
+      ph = linspace(ph2-2*pi,ph2-pi,Np);
+  else
+      ph = linspace(ph1,ph1+pi,Np);
+  end
+end
+
+for i = 1 : Np
+    [thp(i),php(i)] = norm_rot_back(thn,phn,pi/2.,ph(i));
+end

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/norm_rot.m
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/norm_rot.m	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/norm_rot.m	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,14 @@
+function [th_new,ph_new] = norm_rot(thn,phn,th,ph)
+% coordinates change from (th,ph) to (th_new,ph_new) 
+% according to a rotation that converts (thn,phn) to
+% z axis
+
+rot=[cos(thn)*cos(phn),cos(thn)*sin(phn),-sin(thn);
+    -sin(phn),cos(phn),0;
+    sin(thn)*cos(phn),sin(thn)*sin(phn),cos(thn)];
+[x,y,z] = tp2xyz(th,ph);
+temp=rot * [x,y,z]';
+x_new = temp(1); y_new = temp(2); z_new = temp(3);
+[th_new,ph_new] = xyz2tp(x_new,y_new,z_new);
+
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/norm_rot_back.m
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/norm_rot_back.m	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/norm_rot_back.m	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,13 @@
+function [th_old,ph_old] = norm_rot_back(thn,phn,th,ph)
+% coordinates change from (th_old,ph_old) to (th,ph) 
+% according to a rotation that converts (thn,phn) to
+% z axis
+
+rot=[cos(thn)*cos(phn),cos(thn)*sin(phn),-sin(thn);
+    -sin(phn),cos(phn),0;
+    sin(thn)*cos(phn),sin(thn)*sin(phn),cos(thn)];
+[x,y,z] = tp2xyz(th,ph);
+temp=rot' * [x,y,z]';
+x_old = temp(1); y_old = temp(2); z_old = temp(3);
+[th_old,ph_old] = xyz2tp(x_old,y_old,z_old);
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/normal_plane.m
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/normal_plane.m	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/normal_plane.m	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,20 @@
+function [xs,ys,zs,nx,ny,nz] = tp2norm(lats,lons,latr,lonr)
+% find out the coordinates of the source (xs,ys,zs) 
+% the normal of the plane (nx,ny,nz) 
+% constructed by (ths,phs), (thr,phr), and the origin
+% for a "banana cross-section"
+
+ts = (90 - lats) * pi/180;
+ps = lons * pi / 180;
+tr = (90 - latr) * pi/180;
+pr = lonr * pi / 180;
+
+[xs,ys,zs] = tp2xyz(ts,ps);
+[xr,yr,zr] = tp2xyz(tr,pr);
+nx = ys*zr - zs*yr;
+ny = -(xs*zr - zs*xr);
+nz = xs*yr - ys*xr;
+nr = sqrt(nx*nx+ny*ny+nz*nz);
+nx = nx/nr;
+ny = ny/nr;
+nz = nz/nr;

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/normal_plane_orth.m
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/normal_plane_orth.m	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/normal_plane_orth.m	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,25 @@
+function [xc,yc,zc,nx,ny,nz] = normal_plane_orth(lats,lons,latr,lonr)
+% find out the coord (xc,yc,zc) of the center of the vector source-receiver
+% and the normalised coordinates (nx,ny,nz) of this vector 
+% for a "doughnut cross-section"
+
+ts = (90 - lats) * pi/180;
+ps = lons * pi / 180;
+tr = (90 - latr) * pi/180;
+pr = lonr * pi / 180;
+
+[xs,ys,zs] = tp2xyz(ts,ps);
+[xr,yr,zr] = tp2xyz(tr,pr);
+
+nx=xr-xs;
+ny=yr-ys;
+nz=zr-zs;
+nr=sqrt(nx*nx+ny*ny+nz*nz);
+nx = nx/nr;
+ny = ny/nr;
+nz = nz/nr;
+
+xc=(xr+xs)/2;
+yc=(yr+ys)/2;
+zc=(zr+zs)/2;
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/rotmat.m
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/rotmat.m	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/rotmat.m	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,28 @@
+function  rotation_matrix = rotmat(clon,clat,grot)
+% this function calculate the 3x3 rotation matrix from the AB chunk
+% frame to the actual frame defined by (clon,clat,grot)
+
+% compute colatitude and longitude and convert to radians
+  DEGREES_TO_RADIANS = pi / 180.0;
+  alpha = clon * DEGREES_TO_RADIANS;
+  beta = (90.00 - clat) * DEGREES_TO_RADIANS;
+  gamma = grot * DEGREES_TO_RADIANS;
+
+  sina = sin(alpha);
+  cosa = cos(alpha);
+  sinb = sin(beta);
+  cosb = cos(beta);
+  sing = sin(gamma);
+  cosg = cos(gamma);
+
+% define rotation matrix
+  rotation_matrix(1,1) = cosg*cosb*cosa-sing*sina;
+  rotation_matrix(1,2) = -sing*cosb*cosa-cosg*sina;
+  rotation_matrix(1,3) = sinb*cosa;
+  rotation_matrix(2,1) = cosg*cosb*sina+sing*cosa;
+  rotation_matrix(2,2) = -sing*cosb*sina+cosg*cosa;
+  rotation_matrix(2,3) = sinb*sina;
+  rotation_matrix(3,1) = -cosg*sinb;
+  rotation_matrix(3,2) = sing*sinb;
+  rotation_matrix(3,3) = cosb;
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/slice_number.m
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/slice_number.m	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/slice_number.m	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,116 @@
+function slices = slice_number(lats,lons,latr,lonr,nproc,narc,nchunks,xi_width,eta_width,clon,clat,grot)
+% this function get the slice number between
+% source and receiver points in the 6-chunk global mesh
+% input: lats, lons, latr, lonr, nproc, narc
+%        narc = 0 : minor arc
+%        narc = 1 : major arc
+% for 1-chunk or 2-chunk mesh, also need input:
+%        nchunks, xi_width, eta_width, clon, clat, grot, 
+%        
+% output:  slice numbers 
+
+
+% 
+%clear all;
+%lats = -13.82; lons=-67.25;
+%latr = 18.79; lonr = 98.98;
+%nproc = 5;
+
+if (nargin ~= 6 && nargin ~= 12)
+  disp('Number of arguments for slice_number should be either 6 or 12');
+  return
+end
+
+if (nargin == 12 && nchunks > 1 && nproc ~= nproc_eta)
+  disp('Number of processors in xi and eta directions need to be the same for nchunks > 1');
+  return
+end 
+
+ths = (90-lats)/180.*pi; phs = lons/180.*pi;
+thr = (90-latr)/180.*pi; phr = lonr/180.*pi;
+xi_width = xi_width/180.*pi;
+eta_width = eta_width/180.*pi;
+
+[thn,phn] = tp2norm(ths,phs,thr,phr);
+[ths_new,phs_new] = norm_rot(thn,phn,ths,phs);
+[thr_new,phr_new] = norm_rot(thn,phn,thr,phr);
+
+
+if (ths_new-pi/2) > 1e-2
+    disp('new lat of source is not 0'); return;
+end
+if (thr_new-pi/2) > 1e-2
+    disp('new lat of receiver is not 0');return;
+end
+
+Np = 180;
+%phr_new = phs_new + pi - 0.001;
+pharray= sort([phs_new,phr_new]);
+ph1 = pharray(1); ph2 = pharray(2);
+delta = ph2-ph1;
+%disp(strcat('Delta = ',num2str(delta * 180/pi)));
+
+% we are looking at minor arc
+if (narc == 0) 
+  if (delta < pi)
+      ph = linspace(ph1,ph2,Np);
+  else
+      ph = linspace(ph2-2*pi,ph1,Np);
+  end
+elseif (narc == 1) 
+  if (delta < pi) 
+      ph = linspace(ph2-2*pi,ph1,Np);
+  else
+      ph = linspace(ph1,ph2,Np);
+  end
+end
+
+% calculate the rotation matrix from CHUNK_AB frame to the actual frame
+if (nargin == 12); rotation_matrix = rotmat(clon,clat,grot); end
+if (nargin == 6); nchunks = 6; xi_width = pi/2; yi_width = pi/2; end
+
+% initialize
+chunk(1:Np) = 10;
+long_slice=[];
+
+for i = 1:Np
+    [thp(i),php(i)] = norm_rot_back(thn,phn,pi/2.,ph(i));
+    [x,y,z] = tp2xyz(thp(i),php(i));
+
+% rotate the points between source and receiver to CHUNK_AB standard coordinates
+    if (nargin == 12)
+      temp = [x,y,z] * rotation_matrix; 
+      x=temp(1); y=temp(2); z=temp(3);
+    end
+    
+    for k = 1: nchunks
+        [xik,etak] = chunk_map(k,x,y,z);
+        %[i,k,xik,etak]
+         if (abs(xik) <= pi/4 && abs(etak) <= pi/4)
+             chunk(i) = k;
+             xi(i) = xik; eta(i) = etak;
+         end
+    end
+% check chunk number
+    if nargin == 12 && (chunk(i) > nchunks || abs(xi(i)) > xi_width/2 || abs(eta(i)) > eta_width/2)
+      disp('Check if point ',num2str(x),',',num2str(y),',',num2str(z),' is within the region or not');return;
+    end
+    
+    xi1 = xi(i) / xi_width * 2; eta1 = eta(i) / eta_width * 2;
+    nproc_xi(i) = floor((xi1+1)/2 * nproc);
+    nproc_eta(i) = floor((eta1+1)/2 * nproc);
+    slice(i) = nproc * nproc * (chunk(i) - 1) + nproc * nproc_eta(i) + nproc_xi(i);
+    info(i,:) = [chunk(i),nproc_xi(i),nproc_eta(i),slice(i),thp(i)*180/pi,php(i)*180/pi,xi(i),eta(i)];
+    long_slice = [long_slice;slice(i)];
+end
+
+slices = compact_array(long_slice);
+%[thp',php'] * 180/pi
+slices=slices';
+
+
+    
+ 
+
+
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/slice_number2.m
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/slice_number2.m	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/slice_number2.m	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,123 @@
+function slices = slice_number2(lats,lons,latr,lonr,nproc,narc,lat0,nchunks,xi_width,eta_width,clon,clat,grot)
+% this function get the slice number for a width 'lat0' belt between
+% source and receiver points in the global mesh
+% input: lats, lons, latr, lonr, nproc, narc
+%        narc = 0 : minor arc
+%        narc = 1 : major arc
+%        lat0 : the width of the belt
+% for 1-chunk or 2-chunk mesh, also need input:
+%        nchunks, xi_width, eta_width, clon, clat, grot
+%        
+% output:  slice numbers 
+
+
+% 
+%clear all;
+%lats = -13.82; lons=-67.25;
+%latr = 18.79; lonr = 98.98;
+%nproc = 5;
+
+if (nargin ~= 7 && nargin ~= 13)
+  disp('Number of arguments for slice_number should be either 6 or 12');
+  return
+end
+
+if (nargin == 13 && nchunks > 1 && nproc ~= nproc_eta)
+  disp('Number of processors in xi and eta directions need to be the same for nchunks > 1');
+  return
+end 
+
+ths = (90-lats)/180.*pi; phs = lons/180.*pi;
+thr = (90-latr)/180.*pi; phr = lonr/180.*pi;
+xi_width = xi_width/180.*pi;
+eta_width = eta_width/180.*pi;
+
+[thn,phn] = tp2norm(ths,phs,thr,phr);
+[ths_new,phs_new] = norm_rot(thn,phn,ths,phs);
+[thr_new,phr_new] = norm_rot(thn,phn,thr,phr);
+
+
+if (ths_new-pi/2) > 1e-2
+    disp('new lat of source is not 0'); return;
+end
+if (thr_new-pi/2) > 1e-2
+    disp('new lat of receiver is not 0');return;
+end
+
+Np = 180;
+%phr_new = phs_new + pi - 0.001;
+pharray= sort([phs_new,phr_new]);
+ph1 = pharray(1); ph2 = pharray(2);
+delta = ph2-ph1;
+%disp(strcat('Delta = ',num2str(delta * 180/pi)));
+
+% we are looking at minor arc
+if (narc == 0) 
+  if (delta < pi)
+      ph = linspace(ph1,ph2,Np);
+  else
+      ph = linspace(ph2-2*pi,ph1,Np);
+  end
+elseif (narc == 1) 
+  if (delta < pi) 
+      ph = linspace(ph2-2*pi,ph1,Np);
+  else
+      ph = linspace(ph1,ph2,Np);
+  end
+end
+
+% calculate the rotation matrix from CHUNK_AB frame to the actual frame
+if (nargin == 13); rotation_matrix = rotmat(clon,clat,grot); end
+if (nargin == 7); nchunks = 6; xi_width = pi/2; yi_width = pi/2; end
+
+% initialize
+chunk(1:Np) = 10;
+long_slice=[];
+
+Nt = 11;
+th0 = lat0 * pi/180;
+th = linspace(-th0,th0,Nt);
+
+for ii = 1 : Nt
+for i = 1 : Np
+    [thp(i),php(i)] = norm_rot_back(thn,phn,pi/2+th(ii),ph(i));
+    [x,y,z] = tp2xyz(thp(i),php(i));
+
+% rotate the points between source and receiver to CHUNK_AB standard coordinates
+    if (nargin == 13)
+      temp = [x,y,z] * rotation_matrix; 
+      x=temp(1); y=temp(2); z=temp(3);
+    end
+    
+    for k = 1: 6
+        [xik,etak] = chunk_map(k,x,y,z);
+        %[i,k,xik,etak]
+         if (abs(xik) <= pi/4 && abs(etak) <= pi/4)
+             chunk(i) = k;
+             xi(i) = xik; eta(i) = etak;
+         end
+    end
+% check chunk number
+    if nargin == 12 && (chunk(i) > nchunks || abs(xi(i)) > xi_width/2 || abs(eta(i)) > eta_width/2)
+      continue;
+    end
+    
+    xi1 = xi(i) / xi_width * 2; eta1 = eta(i) / eta_width * 2;
+    nproc_xi(i) = floor((xi1+1)/2 * nproc);
+    nproc_eta(i) = floor((eta1+1)/2 * nproc);
+    slice(i) = nproc * nproc * (chunk(i) - 1) + nproc * nproc_eta(i) + nproc_xi(i);
+    info(i,:) = [chunk(i),nproc_xi(i),nproc_eta(i),slice(i),thp(i)*180/pi,php(i)*180/pi,xi(i),eta(i)];
+    long_slice = [long_slice;slice(i)];
+end
+end
+
+slices = compact_array(long_slice);
+
+slices=slices';
+
+
+    
+ 
+
+
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/tp2norm.m
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/tp2norm.m	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/tp2norm.m	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,13 @@
+function [thn,phn] = tp2norm(ths,phs,thr,phr)
+% find out the normal of the plane constructed
+% by (ths,phs), (thr,phr), and the origin using
+% cross-product.
+
+[xs,ys,zs] = tp2xyz(ths,phs);
+[xr,yr,zr] = tp2xyz(thr,phr);
+nx = ys*zr - zs*yr;
+ny = -(xs*zr - zs*xr);
+nz = xs*yr - ys*xr;
+
+[thn,phn] = xyz2tp(nx,ny,nz);
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/tp2norm2.m
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/tp2norm2.m	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/tp2norm2.m	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,14 @@
+function [nx,ny,nz] = tp2norm(ths,phs,thr,phr)
+% find out the normal of the plane (nx,ny,nz) 
+% constructed by (ths,phs), (thr,phr), and the origin.
+
+[xs,ys,zs] = tp2xyz(ths,phs);
+[xr,yr,zr] = tp2xyz(thr,phr);
+nx = ys*zr - zs*yr;
+ny = -(xs*zr - zs*xr);
+nz = xs*yr - ys*xr;
+nr = sqrt(nx*nx+ny*ny+nz*nz);
+nx = nx/nr;
+ny = ny/nr;
+nz = nz/nr;
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/tp2xyz.m
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/tp2xyz.m	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/tp2xyz.m	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,5 @@
+function [x,y,z] = tp2xyz(th,ph)
+% convert (th,ph) to (x,y,z) on unit sphere
+x = sin(th) * cos(ph);
+y = sin(th) * sin(ph);
+z = cos(th);
\ No newline at end of file

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/xsection_translate.m
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/xsection_translate.m	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/xsection_translate.m	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,44 @@
+function [x,y,z] = xsection_translate(lats,lons,latr,lonr,narc,scale)
+% this function figures out the x,y,z values for a translation within
+% the source receiver cross-section with certain scale
+
+ths = (90-lats)/180.*pi; phs = lons/180.*pi;
+thr = (90-latr)/180.*pi; phr = lonr/180.*pi;
+
+[thn,phn] = tp2norm(ths,phs,thr,phr);
+[ths_new,phs_new] = norm_rot(thn,phn,ths,phs);
+[thr_new,phr_new] = norm_rot(thn,phn,thr,phr);
+
+if (ths_new-pi/2) > 1e-2
+    disp('new lat of source is not 0'); return;
+end
+if (thr_new-pi/2) > 1e-2
+    disp('new lat of receiver is not 0');return;
+end
+
+%phr_new = phs_new + pi - 0.001;
+pharray= sort([phs_new,phr_new]);
+ph1 = pharray(1); ph2 = pharray(2);
+delta = ph2-ph1;
+%disp(strcat('Delta = ',num2str(delta * 180/pi)));
+
+% we are looking at minor arc
+if (narc == 0) 
+  if (delta < pi)
+      ph = (ph1+ph2+pi)/2;
+  else
+      ph = (ph2-2*pi+ph2-pi)/2;
+  end
+elseif (narc == 1) 
+  if (delta < pi) 
+      ph = (ph2-2*pi+ph2-pi)/2;
+  else
+      ph = (ph1+ph1+pi)/2;
+  end
+end
+
+[thp,php] = norm_rot_back(thn,phn,pi/2.,ph);
+[x,y,z] = tp2xyz(thp,php);
+x = x*scale;
+y = y*scale;
+z = z*scale;

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/xyz2tp.m
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/xyz2tp.m	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/matlab/xyz2tp.m	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,11 @@
+function [th,ph] = xyz2tp(x,y,z)
+% convert x,y,z to a point on unit sphere
+
+ph = atan2(y,x);
+th = atan2(sqrt(x*x+y*y),z);
+if (th < 0) 
+    th = th + pi;
+end
+if (ph < 0)
+    ph = ph + 2*pi;
+end

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/Makefile
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/Makefile	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/Makefile	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,39 @@
+# Makefile
+
+#############################################################
+## modify to match your compiler defaults
+CXX=g++
+
+## modify to match your library paths
+# VTK libraries
+VTK=/opt/seismo-util
+LIBS=-L$(VTK)/lib/vtk -lvtkCommon -lvtkIO -lvtkRendering -lvtkFiltering -lvtkGraphics
+
+INCLUDES=-I$(VTK)/include -I$(VTK)/include/vtk
+CPPFLAGS= -O3 $(INCLUDES) -Wno-deprecated
+
+#############################################################
+
+
+all: mesh2vtu ugrid ugrid_pts
+
+mesh2vtu: mesh2vtu.o
+	$(CXX) $(CPPFLAGS) -o mesh2vtu mesh2vtu.o $(LIBS)
+
+mesh2vtu.o: mesh2vtu.cxx
+	$(CXX) $(CPPFLAGS) -c mesh2vtu.cxx -o mesh2vtu.o
+
+ugrid: ugrid.o
+	$(CXX) $(CPPFLAGS) -o ugrid ugrid.o $(LIBS)
+
+ugrid.o: ugrid.cxx
+	$(CXX) $(CPPFLAGS) -c ugrid.cxx -o ugrid.o
+
+ugrid_pts: ugrid_pts.o
+	$(CXX) $(CPPFLAGS) -o ugrid_pts ugrid_pts.o $(LIBS)
+
+ugrid_pts.o: ugrid_pts.cxx
+	$(CXX) $(CPPFLAGS) -c ugrid_pts.cxx -o ugrid_pts.o
+
+clean:
+	rm -f mesh2vtu ugrid ugrid_pts cell2vtu *.o *~ core

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/cell2vtu.cxx
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/cell2vtu.cxx	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/cell2vtu.cxx	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,139 @@
+//-----------------------------------------------------------------------------
+// Program:     cell2vtu
+// Description: Converts x, y, z, s points to VTK XML Unstructured Grid
+//              using definition of cells
+// File:        cell2vtu.cxx
+// Author:      Nicholas Schwarz, schwarz at evl.uic.edu
+//              Electronic Visualization Laboratory
+//              University of Illinois at Chicago
+//               - wrote ugrid and introduced vtk to Seismo Lab, Caltech
+//
+//              Brian Savage savage13 at gps.caltech.edu
+//              California Institute of Technology
+//              Geologial and Planetary Sciences
+//
+// Input:       in binary
+//              integer    number of points
+//              3 floats   (x,y,z) point 0
+//                ...
+//              3 floats   (x,y,z) point n-1
+//              integer    number of cells
+//              8 integers, 1 float    (1-8) cell 0, scalar
+//                ...      define a hexahedron of 8 points and corresponding scalar
+//              8 integers, 1 float    (1-8) cell n-1, scalar
+//
+// Date:        4  June 2004 ver 1.0 (was ugrid)
+//                 - original version, only read in x,y,z,s points
+//              25 June 2004 ver 2.0 (cell2vtu)
+//                 - reads in cell definition
+//                 - input is done in binary
+//
+//-----------------------------------------------------------------------------
+
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+
+#include <vtk/vtkFloatArray.h>
+#include <vtk/vtkPoints.h>
+#include <vtk/vtkCellData.h>
+#include <vtk/vtkUnstructuredGrid.h>
+#include <vtk/vtkXMLUnstructuredGridWriter.h>
+#include <vtk/vtkUnstructuredGridToPolyDataFilter.h>
+#include <vtk/vtkXMLPolyDataWriter.h>
+#include <vtk/vtkUnstructuredGridToPolyDataFilter.h>
+#include <vtk/vtkDelaunay3D.h>
+#include <vtk/vtkCellArray.h>
+#include <vtk/vtkPointSet.h>
+#include <vtk/vtkHexahedron.h>
+
+
+int main(int argc, char** argv) {
+
+  if (argc < 3) {
+    printf("Usage: cell2vtu input_file output_file\n");
+    return 0;
+  }
+
+  float xyz[3];
+  int cell[8];
+  FILE *file;
+  int i, j;
+  int npts, ncells;
+  int pid[8];
+
+  int fd;
+
+  if((fd = open(argv[1], O_RDONLY)) == -1) {
+    printf("Error opening file: %s.\n", argv[1]);
+    return 0;
+  }
+
+  if(read(fd, &npts, sizeof(int)) != sizeof(int)) {
+    printf("Bad read on file (in points): %s\n", argv[1]);
+  }
+
+  vtkUnstructuredGrid *dataSet = vtkUnstructuredGrid::New();
+  float *xV = new float[npts];
+  float *yV = new float[npts];
+  float *zV = new float[npts];
+  vtkPoints *newPts = vtkPoints::New();
+  vtkFloatArray *newScalars = vtkFloatArray::New();
+  printf("cell2vtu: Reading in points: %d\n", npts);
+  for (i = 0 ; i < npts ; i++)
+    {
+      read(fd, &xV[i], sizeof(float));
+      read(fd, &yV[i], sizeof(float));
+      read(fd, &zV[i], sizeof(float));
+      xyz[0] = xV[i];
+      xyz[1] = yV[i];
+      xyz[2] = zV[i];
+      newPts -> InsertPoint(i, xyz);
+    }
+
+  vtkCellArray *cells = vtkCellArray::New();
+  if(read(fd, &ncells, sizeof(int)) != sizeof(int)) {
+    printf("Bad read on file (in cells): %s\n", argv[1]);
+  }
+  printf("cell2vtu: Reading in cells: %d\n", ncells);
+  float *sV = new float[ncells];
+  int *cellTypes = new int[ncells];
+  vtkHexahedron *hex = vtkHexahedron::New();
+
+  hex->GetPointIds()->SetNumberOfIds(8);
+
+  for(i = 0; i < ncells; i++) {
+    for(j = 0; j < 8; j++) {
+      read(fd, &cell[j], sizeof(int));
+      hex->GetPointIds()->SetId(j,cell[j]);
+    }
+    cells->InsertNextCell(hex);
+    cellTypes[i] = hex->GetCellType();
+    read(fd, &sV[i], sizeof(float));
+    newScalars -> InsertValue(i, sV[i]);
+  }
+
+  close(fd);
+
+  dataSet -> SetPoints(newPts);
+  dataSet -> SetCells(cellTypes, cells);
+  dataSet -> GetCellData() -> SetScalars(newScalars);
+
+  vtkXMLUnstructuredGridWriter* writer = vtkXMLUnstructuredGridWriter::New();
+  writer -> SetInput(dataSet);
+  writer -> SetFileName(argv[2]);
+  writer -> Write();
+
+  writer -> Delete();
+  newPts -> Delete();
+  newScalars -> Delete();
+  dataSet -> Delete();
+  cells -> Delete();
+
+  //  printf("Done.\n");
+
+  return 0;
+
+}

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/cell2vtu.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/cell2vtu.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/cell2vtu.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,52 @@
+#!/usr/bin/perl
+
+use Getopt::Std;
+use File::Basename;
+
+$progname = basename($0);
+$cell2vtu = "/opt/seismo-util/source/cell2vtu/cell2vtu";
+$REQLIBS  = "env LD_LIBRARY_PATH=/opt/seismo-util/lib/vtk";
+
+sub Usage {
+    print STDERR <<END;
+Usage: $progname -i input-file -o output-file
+    Takes an input file (binary) with a number of points and a number of cells
+    and transforms them into an unstructured grid file
+
+    -i input-file (Binary file)
+    -o output-file (XML Unstructured Grid File)
+
+    Input Binary files have this structure:
+      number_of_points          integer (4 bytes)
+      x_1, y_1, z_1         3 reals (4 bytes each)
+      ...
+      x_n, y_n, z_n         3 reals (4 bytes each)
+      number_of_cells           integer (4 bytes)
+      cell_1 (eight points), scalar_1    8 integers (4 bytes each), 1 real (4 bytes)
+      ...
+      cell_n, scalar_n                   8 integers (4 bytes each), 1 real (4 bytes)
+
+    This is a wrapper around cell2vtu
+
+    Brian Savage 6/26/2004
+    
+END
+    exit(-1);
+}
+
+if(@ARGV == 0) {
+    Usage ();
+}
+
+if(!getopts('i:o:')){die "Check input paramaters \n";}
+
+if(!defined($opt_i)) {
+    die "$progname: Must specify input file -i input-file\n";
+}
+if(!defined($opt_o)) {
+    die "$progname: Must specify output file -o output-file\n";
+}
+#print "$REQLIBS $cell2vtu $opt_i $opt_o\n";
+system("$REQLIBS $cell2vtu $opt_i $opt_o");
+
+1;


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/cell2vtu.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/century2xyz.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/century2xyz.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/century2xyz.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,33 @@
+#!/usr/bin/perl
+
+use POSIX;
+
+open(FILE, "century.llrm");
+ at lines = <FILE>;
+close(FILE);
+print @lines . "\n";
+foreach $line (@lines) {
+    ($lat,$lon,$depth,$mag) = split(/\s+/,$line);
+    @pt = lat_lon_depth_2_xyz($lat, $lon, $depth);
+    print "@pt $depth\n";
+}
+
+sub lat_lon_depth_2_xyz {
+    my($lat, $lon, $depth) = @_;
+    my($PI, $D2R, $theta, $phi, $r0, $r, $x, $y, $z);
+
+    $R_EARTH_KM = 6371.0;
+    $PI = 3.141592653589793;
+    $D2R = $PI/180.0;
+
+    $theta = ($PI/2.0) - atan(0.99329534*tan($lat*$D2R));
+    $phi = $lon * $D2R;
+    $r0 = 1.0;
+    
+    $r = ($R_EARTH_KM - $depth) / $R_EARTH_KM;
+    $x = $r * sin($theta) * cos($phi);
+    $y = $r * sin($theta) * sin($phi);
+    $z = $r * cos($theta);
+    return($x, $y, $z);
+}
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/century2xyz.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/mesh2vtu.cxx
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/mesh2vtu.cxx	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/mesh2vtu.cxx	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,142 @@
+//-----------------------------------------------------------------------------
+// Program:     mesh2vtu
+// Description: Converts x, y, z, s points to VTK XML Unstructured Grid
+//              using definition of cells
+// File:        mesh2vtu.cxx
+// Author:      Nicholas Schwarz, schwarz at evl.uic.edu
+//              Electronic Visualization Laboratory
+//              University of Illinois at Chicago
+//               - wrote ugrid and introduced vtk to Seismo Lab, Caltech
+//
+//              Brian Savage savage13 at gps.caltech.edu
+//              California Institute of Technology
+//              Geologial and Planetary Sciences
+//
+// Input:       in binary
+//              integer    number of points
+//              4 floats   (x,y,z,s) point 0
+//                ...
+//              4 floats   (x,y,z,s) point n-1
+//              integer    number of cells
+//              8 integers (1-8) cell 0
+//                ...      define a hexahedron of 8 points
+//              8 integers (1-8) cell n-1
+//
+// Date:        4  June 2004 ver 1.0 (was ugrid)
+//                 - original version, only read in x,y,z,s points
+//              25 June 2004 ver 2.0 (mesh2vtu)
+//                 - reads in cell definition
+//                 - input is done in binary
+//              26 February 2010
+//                 - changes array allocation for reading in points
+//
+//-----------------------------------------------------------------------------
+
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+
+#include <vtk/vtkFloatArray.h>
+#include <vtk/vtkPoints.h>
+#include <vtk/vtkPointData.h>
+#include <vtk/vtkUnstructuredGrid.h>
+#include <vtk/vtkXMLUnstructuredGridWriter.h>
+#include <vtk/vtkUnstructuredGridToPolyDataFilter.h>
+#include <vtk/vtkXMLPolyDataWriter.h>
+#include <vtk/vtkUnstructuredGridToPolyDataFilter.h>
+#include <vtk/vtkDelaunay3D.h>
+#include <vtk/vtkCellArray.h>
+#include <vtk/vtkPointSet.h>
+#include <vtk/vtkHexahedron.h>
+
+
+int main(int argc, char** argv) {
+
+  if (argc < 3) {
+    printf("Usage: mesh2vtu input_file output_file\n");
+    return 0;
+  }
+
+  float xyz[3];
+  float scalar;
+  int cell[8];
+  FILE *file;
+  int i, j;
+  int npts, ncells;
+  int pid[8];
+
+  int fd;
+
+  if((fd = open(argv[1], O_RDONLY)) == -1) {
+    printf("Error opening file: %s.\n", argv[1]);
+    return 0;
+  }
+
+  if(read(fd, &npts, sizeof(int)) != sizeof(int)) {
+    printf("Bad read on file (in points): %s\n", argv[1]);
+  }
+
+  printf("mesh2vtu: Reading in points: %d\n", npts);
+
+  vtkPoints *newPts = vtkPoints::New();
+  vtkFloatArray *newScalars = vtkFloatArray::New();
+  for (i = 0 ; i < npts ; i++)
+  {
+    read(fd, &xyz[0], sizeof(float));
+    read(fd, &xyz[1], sizeof(float));
+    read(fd, &xyz[2], sizeof(float));
+    read(fd, &scalar, sizeof(float));
+
+    newPts -> InsertPoint(i, xyz);
+    newScalars -> InsertValue(i, scalar);
+  }
+
+  vtkCellArray *cells = vtkCellArray::New();
+  if(read(fd, &ncells, sizeof(int)) != sizeof(int)) {
+    printf("Bad read on file (in cells): %s\n", argv[1]);
+  }
+
+  printf("mesh2vtu: Reading in cells: %d\n", ncells);
+
+  int *cellTypes = new int[ncells];
+  vtkHexahedron *hex = vtkHexahedron::New();
+  hex->GetPointIds()->SetNumberOfIds(8);
+
+  for(i = 0; i < ncells; i++) {
+    for(j = 0; j < 8; j++) {
+      read(fd, &cell[j], sizeof(int));
+      hex->GetPointIds()->SetId(j,cell[j]);
+    }
+    cells->InsertNextCell(hex);
+    cellTypes[i] = hex->GetCellType();
+  }
+
+  close(fd);
+
+  printf("Creating unstructured grid...\n");
+
+  vtkUnstructuredGrid *dataSet = vtkUnstructuredGrid::New();
+  dataSet -> SetPoints(newPts);
+  dataSet -> GetPointData() -> SetScalars(newScalars);
+  dataSet -> SetCells(cellTypes, cells);
+
+  cells-> Delete();
+  newPts -> Delete();
+  newScalars -> Delete();
+
+  printf("Writing out VTU file...\n");
+
+  vtkXMLUnstructuredGridWriter* writer = vtkXMLUnstructuredGridWriter::New();
+  writer -> SetInput(dataSet);
+  writer -> SetFileName(argv[2]);
+  writer -> Write();
+
+  writer -> Delete();
+
+  printf("Done.\n");
+
+  return 0;
+
+}

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/mesh2vtu.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/mesh2vtu.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/mesh2vtu.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,52 @@
+#!/usr/bin/perl
+
+use Getopt::Std;
+use File::Basename;
+
+$progname = basename($0);
+$mesh2vtu = "/opt/seismo-util/source/mesh2vtu/mesh2vtu";
+$REQLIBS  = "env LD_LIBRARY_PATH=/opt/seismo-util/lib/vtk";
+
+sub Usage {
+    print STDERR <<END;
+Usage: $progname -i input-file -o output-file
+    Takes an input file (binary) with a number of points and a number of cells
+    and transforms them into an unstructured grid file
+
+    -i input-file (Binary file)
+    -o output-file (XML Unstructured Grid File)
+
+    Input Binary files have this structure:
+      number_of_points          integer (4 bytes)
+      x_1, y_1, z_1, scalar_1   4 reals (4 bytes each)
+      ...
+      x_n, y_n, z_n, scalar_n   4 reals (4 bytes each)
+      number_of_cells           integer (4 bytes)
+      cell_1 (eight points)     8 integers (4 bytes each)
+      ...
+      cell_n                    8 integers (4 bytes each)
+
+    This is a wrapper around mesh2vtu
+
+    Brian Savage 6/26/2004
+    
+END
+    exit(-1);
+}
+
+if(@ARGV == 0) {
+    Usage ();
+}
+
+if(!getopts('i:o:')){die "Check input paramaters \n";}
+
+if(!defined($opt_i)) {
+    die "$progname: Must specify input file -i input-file\n";
+}
+if(!defined($opt_o)) {
+    die "$progname: Must specify output file -o output-file\n";
+}
+#print "$REQLIBS $mesh2vtu $opt_i $opt_o\n";
+system("$REQLIBS $mesh2vtu $opt_i $opt_o");
+
+1;


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/mesh2vtu.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/points2vtu.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/points2vtu.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/points2vtu.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,86 @@
+#!/usr/bin/perl
+
+use Getopt::Std;
+use File::Basename;
+use POSIX;
+
+$progname = basename($0);
+$ugrid    = "/opt/seismo-util/source/mesh2vtu/ugrid_pts";
+$REQLIBS  = "env LD_LIBRARY_PATH=/opt/seismo-util/lib/vtk";
+
+sub Usage {
+    print STDERR <<END;
+Usage: $progname -i input-file -o output-file
+    Takes an input file (ascii) with a number of points
+    and transforms them into an unstructured grid file
+
+    -i input-file (ascii file)
+    -o output-file (XML Unstructured Grid File)
+    -L - input is in lon lat depth scalar
+
+    Input ascii files have this structure:
+      number_of_points          
+      x_1 y_1 z_1 scalar_1   
+      ...
+      x_n y_n z_n scalar_n   
+
+    This is a wrapper around $ugrid
+
+    Brian Savage 6/26/2004
+    
+END
+    exit(-1);
+}
+
+if(@ARGV == 0) {
+    Usage ();
+}
+
+if(!getopts('i:o:L')){die "Check input paramaters \n";}
+
+if(!defined($opt_i)) {
+    die "$progname: Must specify input file -i input-file\n";
+}
+if(!defined($opt_o)) {
+    die "$progname: Must specify output file -o output-file\n";
+}
+#print "$REQLIBS $ugrid $opt_i $opt_o\n";
+if($opt_L){
+  open(FILE, "$opt_i");
+  @lines = <FILE>;
+  close(FILE);
+  print "Converting to xyzm\n";
+  open(OUT,">points2vtu.tempfile");
+  #  print @lines . "\n";
+  print OUT "@lines[0]";
+  foreach $line (@lines[1..$#lines]) {
+    ($lon,$lat,$depth,$mag) = split(/\s+/,$line);
+    @pt = lat_lon_depth_2_xyz($lat, $lon, $depth);
+    print OUT "@pt $mag\n";
+  }
+  print "Running ugrid\n";
+  system("$REQLIBS $ugrid points2vtu.tempfile $opt_o");
+}
+else{
+  system("$REQLIBS $ugrid $opt_i $opt_o");
+}
+
+1;
+sub lat_lon_depth_2_xyz {
+    my($lat, $lon, $depth) = @_;
+    my($PI, $D2R, $theta, $phi, $r0, $r, $x, $y, $z);
+
+    $R_EARTH_KM = 6371.0;
+    $PI = 3.141592653589793;
+    $D2R = $PI/180.0;
+
+    $theta = ($PI/2.0) - atan(0.99329534*tan($lat*$D2R));
+    $phi = $lon * $D2R;
+    $r0 = 1.0;
+    
+    $r = ($R_EARTH_KM - $depth) / $R_EARTH_KM;
+    $x = $r * sin($theta) * cos($phi);
+    $y = $r * sin($theta) * sin($phi);
+    $z = $r * cos($theta);
+    return($x, $y, $z);
+}


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/points2vtu.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/surf2vtu.cxx
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/surf2vtu.cxx	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/surf2vtu.cxx	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,143 @@
+//-----------------------------------------------------------------------------
+// Program:     surf2vtu
+// Description: Converts x, y, z, s points to VTK XML Unstructured Grid
+//              using definition of cells
+// File:        surf2vtu.cxx
+// Author:      Nicholas Schwarz, schwarz at evl.uic.edu
+//              Electronic Visualization Laboratory
+//              University of Illinois at Chicago
+//               - wrote ugrid and introduced vtk to Seismo Lab, Caltech
+//
+//              Brian Savage savage13 at gps.caltech.edu
+//              California Institute of Technology
+//              Geologial and Planetary Sciences
+//
+//              Qinya Liu, modification from mesh2vtu
+//
+// Input:       in binary
+//              integer    number of points
+//              4 floats   (x,y,z,s) point 0
+//                ...
+//              4 floats   (x,y,z,s) point n-1
+//              integer    number of quad cells
+//              4 integers (1-4) cell 0
+//                ...      define a hexahedron of 8 points
+//              4 integers (1-8) cell n-1
+//
+// Date:        4  June 2004 ver 1.0 (was ugrid)
+//                 - original version, only read in x,y,z,s points
+//              25 June 2004 ver 2.0 (mesh2vtu)
+//                 - reads in cell definition
+//                 - input is done in binary
+//              29 Sep 2005 modified to quad2vtu
+//                 - to deal with quad elements instead of Hexhedron
+//
+//-----------------------------------------------------------------------------
+
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+
+#include <vtk/vtkFloatArray.h>
+#include <vtk/vtkPoints.h>
+#include <vtk/vtkPointData.h>
+#include <vtk/vtkUnstructuredGrid.h>
+#include <vtk/vtkXMLUnstructuredGridWriter.h>
+#include <vtk/vtkUnstructuredGridToPolyDataFilter.h>
+#include <vtk/vtkXMLPolyDataWriter.h>
+#include <vtk/vtkUnstructuredGridToPolyDataFilter.h>
+#include <vtk/vtkDelaunay3D.h>
+#include <vtk/vtkCellArray.h>
+#include <vtk/vtkPointSet.h>
+#include <vtk/vtkQuad.h>
+
+
+int main(int argc, char** argv) {
+
+  if (argc < 3) {
+    printf("Usage: surf2vtu input_file output_file\n");
+    return 0;
+  }
+
+  float xyz[3];
+  int cell[8];
+  FILE *file;
+  int i, j;
+  int npts, ncells;
+  int pid[8];
+
+  int fd;
+
+  if((fd = open(argv[1], O_RDONLY)) == -1) {
+    printf("Error opening file: %s.\n", argv[1]);
+    return 0;
+  }
+
+  if(read(fd, &npts, sizeof(int)) != sizeof(int)) {
+    printf("Bad read on file (in points): %s\n", argv[1]);
+  }
+
+  vtkUnstructuredGrid *dataSet = vtkUnstructuredGrid::New();
+  float *xV = new float[npts];
+  float *yV = new float[npts];
+  float *zV = new float[npts];
+  float *sV = new float[npts];
+
+  vtkPoints *newPts = vtkPoints::New();
+  vtkFloatArray *newScalars = vtkFloatArray::New();
+  printf("mesh2vtu: Reading in points: %d\n", npts);
+  for (i = 0 ; i < npts ; i++)
+    {
+      read(fd, &xV[i], sizeof(float));
+      read(fd, &yV[i], sizeof(float));
+      read(fd, &zV[i], sizeof(float));
+      read(fd, &sV[i], sizeof(float));
+      xyz[0] = xV[i];
+      xyz[1] = yV[i];
+      xyz[2] = zV[i];
+      newPts -> InsertPoint(i, xyz);
+      newScalars -> InsertValue(i, sV[i]);
+    }
+
+  vtkCellArray *cells = vtkCellArray::New();
+  if(read(fd, &ncells, sizeof(int)) != sizeof(int)) {
+    printf("Bad read on file (in cells): %s\n", argv[1]);
+  }
+  printf("mesh2vtu: Reading in cells: %d\n", ncells);
+  int *cellTypes = new int[ncells];
+  vtkQuad *quad = vtkQuad::New();
+  quad->GetPointIds()->SetNumberOfIds(4);
+
+  for(i = 0; i < ncells; i++) {
+    for(j = 0; j < 4; j++) {
+      read(fd, &cell[j], sizeof(int));
+      quad->GetPointIds()->SetId(j,cell[j]);
+    }
+    cells->InsertNextCell(quad);
+    cellTypes[i] = quad->GetCellType();
+  }
+
+  close(fd);
+
+  dataSet -> SetPoints(newPts);
+  dataSet -> GetPointData() -> SetScalars(newScalars);
+  dataSet -> SetCells(cellTypes, cells);
+
+  vtkXMLUnstructuredGridWriter* writer = vtkXMLUnstructuredGridWriter::New();
+  writer -> SetInput(dataSet);
+  writer -> SetFileName(argv[2]);
+  writer -> Write();
+
+  writer -> Delete();
+  newPts -> Delete();
+  newScalars -> Delete();
+  dataSet -> Delete();
+  cells -> Delete();
+
+  //  printf("Done.\n");
+
+  return 0;
+
+}

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/surf2vtu.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/surf2vtu.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/surf2vtu.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,53 @@
+#!/usr/bin/perl
+
+use Getopt::Std;
+use File::Basename;
+
+$progname = basename($0);
+$surf2vtu = "/opt/seismo-util/source/mesh2vtu/surf2vtu";
+$REQLIBS  = "env LD_LIBRARY_PATH=/opt/seismo-util/lib/vtk";
+
+sub Usage {
+    print STDERR <<END;
+Usage: $progname -i input-file -o output-file
+    Takes an input file (binary) with a number of points and a number of cells
+    and transforms them into an unstructured grid file
+
+    -i input-file (Binary file)
+    -o output-file (XML Unstructured Grid File)
+
+    Input Binary files have this structure:
+      number_of_points          integer (4 bytes)
+      x_1, y_1, z_1, scalar_1   4 reals (4 bytes each)
+      ...
+      x_n, y_n, z_n, scalar_n   4 reals (4 bytes each)
+      number_of_cells           integer (4 bytes)
+      cell_1 (four points)      4 integers (4 bytes each)
+      ...
+      cell_n                    4 integers (4 bytes each)
+
+    This is a wrapper around surf2vtu
+
+    Brian Savage 6/26/2004
+    Qinya Liu 9/29/2005 modified to deal with quad elements
+    
+END
+    exit(-1);
+}
+
+if(@ARGV == 0) {
+    Usage ();
+}
+
+if(!getopts('i:o:')){die "Check input paramaters \n";}
+
+if(!defined($opt_i)) {
+    die "$progname: Must specify input file -i input-file\n";
+}
+if(!defined($opt_o)) {
+    die "$progname: Must specify output file -o output-file\n";
+}
+#print "$REQLIBS $surf2vtu $opt_i $opt_o\n";
+system("$REQLIBS $surf2vtu $opt_i $opt_o");
+
+1;


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/surf2vtu.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/ugrid.cxx
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/ugrid.cxx	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/ugrid.cxx	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,106 @@
+//-----------------------------------------------------------------------------
+// Program:     ugrid
+// Description: Converts x, y, z, s data to VTK XML Unstructured Grid
+// File:        ugrid.cxx
+// Author:      Nicholas Schwarz, schwarz at evl.uic.edu
+//              Electronic Visualization Laboratory
+//              University of Illinois at Chicago
+// Date:        4 June 2004
+//-----------------------------------------------------------------------------
+
+#include <stdio.h>
+#include <vtk/vtkHexahedron.h>
+#include <vtk/vtkCellArray.h>
+#include <vtk/vtkFloatArray.h>
+#include <vtk/vtkPoints.h>
+#include <vtk/vtkPointData.h>
+#include <vtk/vtkUnstructuredGrid.h>
+#include <vtk/vtkXMLUnstructuredGridWriter.h>
+
+int main(int argc, char** argv) {
+
+  if (argc < 3) {
+    printf("Usage: ugrid input_file output_file\n");
+    return 0;
+  }
+
+  float xyz[3];
+  FILE *file;
+  int i;
+  int npts, ncells;
+  int pid[8];
+  fprintf(stderr,"Welcome to ugrid\n");
+  if ((file = fopen(argv[1], "r")) == 0)
+    {
+      //cerr << "ERROR: Can't read file: " << filename << "\n";
+      return 0;
+    }
+
+
+  // get points
+
+  fscanf(file, "%d", &npts);
+  fprintf(stderr, "npts: %d\n", npts);
+  vtkUnstructuredGrid *dataSet = vtkUnstructuredGrid::New();
+  float *xV = new float[npts];
+  float *yV = new float[npts];
+  float *zV = new float[npts];
+  float *sV = new float[npts];
+
+  vtkPoints *newPts = vtkPoints::New();
+  vtkFloatArray *newScalars = vtkFloatArray::New();
+
+  for (i = 0 ; i < npts ; i++)
+    {
+      fscanf(file, "%f", &xV[i]);
+      fscanf(file, "%f", &yV[i]);
+      fscanf(file, "%f", &zV[i]);
+      fscanf(file, "%f", &sV[i]);
+      fprintf(stderr, "%f %f %f %f\n", xV[i], yV[i], zV[i], sV[i]);
+      xyz[0] = xV[i]; 
+      xyz[1] = yV[i]; 
+      xyz[2] = zV[i];
+      newPts -> InsertPoint(i, xyz);
+      newScalars -> InsertValue(i, sV[i]);
+    }
+
+
+  // get cells
+  fscanf(file, "%d", &ncells);
+
+  vtkHexahedron* ahex;
+
+  for (i = 0 ; i < ncells ; i++)
+    {
+      fscanf(file, "%d %d %d %d %d %d %d %d", 
+	     &pid[0], &pid[1], &pid[2], &pid[3], 
+	     &pid[4], &pid[5], &pid[6], &pid[7]);
+      ahex = vtkHexahedron::New();
+      ahex -> GetPointIds() -> InsertNextId(pid[0]);
+      ahex -> GetPointIds() -> InsertNextId(pid[1]);
+      ahex -> GetPointIds() -> InsertNextId(pid[2]);
+      ahex -> GetPointIds() -> InsertNextId(pid[3]);
+      ahex -> GetPointIds() -> InsertNextId(pid[4]);
+      ahex -> GetPointIds() -> InsertNextId(pid[5]);
+      ahex -> GetPointIds() -> InsertNextId(pid[6]);
+      ahex -> GetPointIds() -> InsertNextId(pid[7]);
+      dataSet -> InsertNextCell(ahex -> GetCellType(), ahex -> GetPointIds());
+    }
+
+  dataSet -> SetPoints(newPts);
+  dataSet -> GetPointData() -> SetScalars(newScalars);
+
+
+  vtkXMLUnstructuredGridWriter* writer = vtkXMLUnstructuredGridWriter::New();
+  writer -> SetInput(dataSet);
+  writer -> SetFileName(argv[2]);
+  writer -> Write();
+
+  writer -> Delete();
+  newPts -> Delete();
+  newScalars -> Delete();
+  dataSet -> Delete();
+ 
+  return 0;
+
+}

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/ugrid_pts.cxx
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/ugrid_pts.cxx	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu/ugrid_pts.cxx	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,75 @@
+//-----------------------------------------------------------------------------
+// Program:     ugrid
+// Description: Converts x, y, z, s data to VTK XML Unstructured Grid
+// File:        ugrid.cxx
+// Author:      Nicholas Schwarz, schwarz at evl.uic.edu
+//              Electronic Visualization Laboratory
+//              University of Illinois at Chicago
+// Date:        3 June 2004
+//-----------------------------------------------------------------------------
+
+#include <stdio.h>
+#include <vtk/vtkFloatArray.h>
+#include <vtk/vtkPoints.h>
+#include <vtk/vtkPointData.h>
+#include <vtk/vtkUnstructuredGrid.h>
+#include <vtk/vtkXMLUnstructuredGridWriter.h>
+
+int main(int argc, char** argv) {
+
+  if (argc < 3) {
+    printf("Usage: ugrid_pts input_file output_file\n");
+    return 0;
+  }
+
+  float xyz[3];
+  FILE *file;
+  int i;
+  int npts;
+
+  if ((file = fopen(argv[1], "r")) == 0)
+    {
+      //cerr << "ERROR: Can't read file: " << filename << "\n";
+      return 0;
+    }
+
+  fscanf(file, "%d", &npts);
+
+  vtkUnstructuredGrid *dataSet = vtkUnstructuredGrid::New();
+  float *xV = new float[npts];
+  float *yV = new float[npts];
+  float *zV = new float[npts];
+  float *sV = new float[npts];
+
+  vtkPoints *newPts = vtkPoints::New();
+  vtkFloatArray *newScalars = vtkFloatArray::New();
+
+  for(i = 0; i < npts; i++)
+    {
+      fscanf(file, "%f", &xV[i]);
+      fscanf(file, "%f", &yV[i]);
+      fscanf(file, "%f", &zV[i]);
+      fscanf(file, "%f", &sV[i]);
+      xyz[0] = xV[i];
+      xyz[1] = yV[i];
+      xyz[2] = zV[i];
+      newPts -> InsertPoint(i, xyz);
+      newScalars -> InsertValue(i, sV[i]);
+    }
+
+  dataSet -> SetPoints(newPts);
+  dataSet -> GetPointData() -> SetScalars(newScalars);
+
+  vtkXMLUnstructuredGridWriter* writer = vtkXMLUnstructuredGridWriter::New();
+  writer -> SetInput(dataSet);
+  writer -> SetFileName(argv[2]);
+  writer -> Write();
+
+  writer -> Delete();
+  newPts -> Delete();
+  newScalars -> Delete();
+  dataSet -> Delete();
+
+  return 0;
+
+}

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,55 @@
+#!/usr/bin/perl
+
+use Getopt::Std;
+use File::Basename;
+
+$progname = basename($0);
+
+### Please modify the following variables according to your own system setting ###
+$mesh2vtu = "/opt/seismo-util/source/mesh2vtu/mesh2vtu";
+$REQLIBS  = "env LD_LIBRARY_PATH=/opt/seismo-util/lib/vtk";
+#################################################################################
+
+sub Usage {
+    print STDERR <<END;
+Usage: $progname -i input-file -o output-file
+    Takes an input file (binary) with a number of points and a number of cells
+    and transforms them into an unstructured grid file
+
+    -i input-file (Binary file)
+    -o output-file (XML Unstructured Grid File)
+
+    Input Binary files have this structure:
+      number_of_points          integer (4 bytes)
+      x_1, y_1, z_1, scalar_1   4 reals (4 bytes each)
+      ...
+      x_n, y_n, z_n, scalar_n   4 reals (4 bytes each)
+      number_of_cells           integer (4 bytes)
+      cell_1 (eight points)     8 integers (4 bytes each)
+      ...
+      cell_n                    8 integers (4 bytes each)
+
+    This is a wrapper around mesh2vtu
+
+    Brian Savage 6/26/2004
+    
+END
+    exit(-1);
+}
+
+if(@ARGV == 0) {
+    Usage ();
+}
+
+if(!getopts('i:o:')){die "Check input paramaters \n";}
+
+if(!defined($opt_i)) {
+    die "$progname: Must specify input file -i input-file\n";
+}
+if(!defined($opt_o)) {
+    die "$progname: Must specify output file -o output-file\n";
+}
+#print "$REQLIBS $mesh2vtu $opt_i $opt_o\n";
+system("$REQLIBS $mesh2vtu $opt_i $opt_o");
+
+1;


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/mesh2vtu.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/paraview-run.py
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/paraview-run.py	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/paraview-run.py	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,33 @@
+#! /usr/bin/env pvpython
+
+import os
+import sys
+import fileinput
+import string
+from paraview import servermanager
+
+
+# loop
+# be sure to have called : 
+# > ls -1 AVS_movie_0*.inp | gawk '{print "sed -e \"s/AVS_movie_0001000.inp/"$1"/g\"< paraview_movie.pvsm > "$1".pvsm"}' | sh 
+# > ls -1 AVS_movie_0*.inp.pvsm > tmp.in
+
+f = open("tmp.in", "r")
+
+receiverInput = open("tmp.in","r")
+line = receiverInput.readline()
+icounter = 0
+
+while line :
+  length= len(line)
+  filename = line[0:length-1]
+  print filename
+  icounter = icounter + 1
+  str_i = "%6.6d " % ( icounter )
+  
+  os.system("./paraviewpython-example.py "+filename+" "+str_i)
+
+  #raw_input("Enter to continue")
+
+  line = receiverInput.readline()
+receiverInput.close()


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/paraview-run.py
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/paraview_movie.000050.jpg
===================================================================
(Binary files differ)


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/paraview_movie.000050.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/paraviewpython-example.py
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/paraviewpython-example.py	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/paraviewpython-example.py	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,29 @@
+#! /usr/bin/env pvpython
+
+import os
+import sys
+import fileinput
+import string
+from paraview import servermanager
+
+## input: 
+if len(sys.argv) == 3:
+  filename = str(sys.argv[1])  
+  icounter = str(sys.argv[2])
+  
+outfile = "paraview_movie."
+print "file root: ",outfile
+
+## paraview
+servermanager.Connect()
+view = servermanager.CreateRenderView()
+servermanager.LoadState(filename)
+view = servermanager.GetRenderView()
+view.UseOffscreenRenderingForScreenshots = 1
+
+## save as jpeg
+jpegfilename = outfile+str(icounter)+".jpg"
+print "plot to: " + jpegfilename
+view.WriteImage(jpegfilename, "vtkJPEGWriter", 1)
+print
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/paraviewpython-example.py
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/readme.txt
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/readme.txt	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/Paraview/readme.txt	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,88 @@
+--------------------------------
+readme
+--------------------------------
+
+ParaView, ParaView is an open-source, multi-platform application designed to visualize data sets
+http://www.paraview.org/
+
+
+
+- contains mesh2vtu/:
+
+  mesh2vtu/ -- it requires the installation of vtk package. 
+               once vtk is installed, you can set the vars 
+               in the Makefile and compile all the programs
+
+  How to collect and visualize 3D/2D data generated by the parallel simulation?
+
+  0. run global_slice_number(2).pl to figure out the slices you need to collect
+  
+  1. copy database using the corresponding scripts in collect_database/
+  
+  2. combine all the databases using the program combine_vol_data.f90 or combine_surf_data.f90
+  
+  3. convert the mesh file to vtu file using mesh2vtu/
+  
+  4. visualizing in Paraview. After loading in the .vtu file, you can generate the source-
+     receiver cross-section using the normals given by global_slice_number.pl
+
+  Yes, it is a pretty painful process. You can certainly streamline them using a master bash
+  script. To make life easier, you can use VTK scripts instead of Paraview in step 4.
+
+  Good luck!
+
+  Qinya, May 2007, Caltech
+
+
+
+- example procedure to make a movie plot:
+
+  1. run specfem with the movie options (see Par_file):
+
+     MOVIE_SURFACE = .true.
+     MOVIE_COARSE  = .false.
+     
+     and adjust the time steps NSTEP_BETWEEN_FRAMES   
+     
+     this creates binary files in directory OUTPUT_FILES/ like: moviedata000100,...
+
+     
+  2. convert binary files to AVS-files (readable by Paraview):
+
+     in SPECFEM3D_GLOBE:  > make xcreate_movie_AVS_DX
+                            
+                            choose option 2 for individual files
+                            
+     outputs files like: OUTPUT_FILES/AVS_movie_000100.inp, ...
+
+     
+  3. make a default state-file with paraview:
+   
+     run > paraview &
+     
+     load files: under -> File / Open... select e.g. AVS_movie_009000.inp & AVS_continent_boundary.inp
+     align and orient image, save state file under -> File / Save State as...
+           
+     save under: paraview_movie.pvsm
+
+                    
+  4. create for each AVS-inp file a corresponding state-file:
+
+     > ls -1 AVS_movie_0*.inp | gawk '{print "sed -e \"s/AVS_movie_009000.inp/"$1"/g\"< paraview_movie.pvsm > "$1".pvsm"}' | sh
+     
+     and create a new file tmp.in:
+     
+     >  ls -1 AVS_movie_0*.inp.pvsm > tmp.in
+
+     
+  5. run the script:
+
+     > ./paraview-run.py   
+     
+     which renders jpeg files: paraview_movie.000001.jpg,...
+       
+
+  6. make mpeg-movie (and resize images) using command from ImageMagick (http://www.imagemagick.org)
+
+     > convert -delay 8 -resize 400x320 paraview_movie.*.jpg movie.mpg
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/VTK/bin_image.png
===================================================================
(Binary files differ)


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/VTK/bin_image.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/VTK/blue_white_red.cpt
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/VTK/blue_white_red.cpt	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/VTK/blue_white_red.cpt	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,261 @@
+#	cpt file created by: makecpt -V -Cpolar -T0/255/1 -Z
+#COLOR_MODEL = RGB
+#
+0	0	0	255	1	2	2	255
+1	2	2	255	2	4	4	255
+2	4	4	255	3	6	6	255
+3	6	6	255	4	8	8	255
+4	8	8	255	5	10	10	255
+5	10	10	255	6	12	12	255
+6	12	12	255	7	14	14	255
+7	14	14	255	8	16	16	255
+8	16	16	255	9	18	18	255
+9	18	18	255	10	20	20	255
+10	20	20	255	11	22	22	255
+11	22	22	255	12	24	24	255
+12	24	24	255	13	26	26	255
+13	26	26	255	14	28	28	255
+14	28	28	255	15	30	30	255
+15	30	30	255	16	32	32	255
+16	32	32	255	17	34	34	255
+17	34	34	255	18	36	36	255
+18	36	36	255	19	38	38	255
+19	38	38	255	20	40	40	255
+20	40	40	255	21	42	42	255
+21	42	42	255	22	44	44	255
+22	44	44	255	23	46	46	255
+23	46	46	255	24	48	48	255
+24	48	48	255	25	50	50	255
+25	50	50	255	26	52	52	255
+26	52	52	255	27	54	54	255
+27	54	54	255	28	56	56	255
+28	56	56	255	29	58	58	255
+29	58	58	255	30	60	60	255
+30	60	60	255	31	62	62	255
+31	62	62	255	32	64	64	255
+32	64	64	255	33	66	66	255
+33	66	66	255	34	68	68	255
+34	68	68	255	35	70	70	255
+35	70	70	255	36	72	72	255
+36	72	72	255	37	74	74	255
+37	74	74	255	38	76	76	255
+38	76	76	255	39	78	78	255
+39	78	78	255	40	80	80	255
+40	80	80	255	41	82	82	255
+41	82	82	255	42	84	84	255
+42	84	84	255	43	86	86	255
+43	86	86	255	44	88	88	255
+44	88	88	255	45	90	90	255
+45	90	90	255	46	92	92	255
+46	92	92	255	47	94	94	255
+47	94	94	255	48	96	96	255
+48	96	96	255	49	98	98	255
+49	98	98	255	50	100	100	255
+50	100	100	255	51	102	102	255
+51	102	102	255	52	104	104	255
+52	104	104	255	53	106	106	255
+53	106	106	255	54	108	108	255
+54	108	108	255	55	110	110	255
+55	110	110	255	56	112	112	255
+56	112	112	255	57	114	114	255
+57	114	114	255	58	116	116	255
+58	116	116	255	59	118	118	255
+59	118	118	255	60	120	120	255
+60	120	120	255	61	122	122	255
+61	122	122	255	62	124	124	255
+62	124	124	255	63	126	126	255
+63	126	126	255	64	128	128	255
+64	128	128	255	65	130	130	255
+65	130	130	255	66	132	132	255
+66	132	132	255	67	134	134	255
+67	134	134	255	68	136	136	255
+68	136	136	255	69	138	138	255
+69	138	138	255	70	140	140	255
+70	140	140	255	71	142	142	255
+71	142	142	255	72	144	144	255
+72	144	144	255	73	146	146	255
+73	146	146	255	74	148	148	255
+74	148	148	255	75	150	150	255
+75	150	150	255	76	152	152	255
+76	152	152	255	77	154	154	255
+77	154	154	255	78	156	156	255
+78	156	156	255	79	158	158	255
+79	158	158	255	80	160	160	255
+80	160	160	255	81	162	162	255
+81	162	162	255	82	164	164	255
+82	164	164	255	83	166	166	255
+83	166	166	255	84	168	168	255
+84	168	168	255	85	170	170	255
+85	170	170	255	86	172	172	255
+86	172	172	255	87	174	174	255
+87	174	174	255	88	176	176	255
+88	176	176	255	89	178	178	255
+89	178	178	255	90	180	180	255
+90	180	180	255	91	182	182	255
+91	182	182	255	92	184	184	255
+92	184	184	255	93	186	186	255
+93	186	186	255	94	188	188	255
+94	188	188	255	95	190	190	255
+95	190	190	255	96	192	192	255
+96	192	192	255	97	194	194	255
+97	194	194	255	98	196	196	255
+98	196	196	255	99	198	198	255
+99	198	198	255	100	200	200	255
+100	200	200	255	101	202	202	255
+101	202	202	255	102	204	204	255
+102	204	204	255	103	206	206	255
+103	206	206	255	104	208	208	255
+104	208	208	255	105	210	210	255
+105	210	210	255	106	212	212	255
+106	212	212	255	107	214	214	255
+107	214	214	255	108	216	216	255
+108	216	216	255	109	218	218	255
+109	218	218	255	110	220	220	255
+110	220	220	255	111	222	222	255
+111	222	222	255	112	224	224	255
+112	224	224	255	113	226	226	255
+113	226	226	255	114	228	228	255
+114	228	228	255	115	230	230	255
+115	230	230	255	116	232	232	255
+116	232	232	255	117	234	234	255
+117	234	234	255	118	236	236	255
+118	236	236	255	119	238	238	255
+119	238	238	255	120	240	240	255
+120	240	240	255	121	242	242	255
+121	242	242	255	122	244	244	255
+122	244	244	255	123	246	246	255
+123	246	246	255	124	248	248	255
+124	248	248	255	125	250	250	255
+125	250	250	255	126	252	252	255
+126	252	252	255	127	254	254	255
+127	254	254	254	128	254	254	254
+128	255	254	254	129	255	252	252
+129	255	252	252	130	255	250	250
+130	255	250	250	131	255	248	248
+131	255	248	248	132	255	246	246
+132	255	246	246	133	255	244	244
+133	255	244	244	134	255	242	242
+134	255	242	242	135	255	240	240
+135	255	240	240	136	255	238	238
+136	255	238	238	137	255	236	236
+137	255	236	236	138	255	234	234
+138	255	234	234	139	255	232	232
+139	255	232	232	140	255	230	230
+140	255	230	230	141	255	228	228
+141	255	228	228	142	255	226	226
+142	255	226	226	143	255	224	224
+143	255	224	224	144	255	222	222
+144	255	222	222	145	255	220	220
+145	255	220	220	146	255	218	218
+146	255	218	218	147	255	216	216
+147	255	216	216	148	255	214	214
+148	255	214	214	149	255	212	212
+149	255	212	212	150	255	210	210
+150	255	210	210	151	255	208	208
+151	255	208	208	152	255	206	206
+152	255	206	206	153	255	204	204
+153	255	204	204	154	255	202	202
+154	255	202	202	155	255	200	200
+155	255	200	200	156	255	198	198
+156	255	198	198	157	255	196	196
+157	255	196	196	158	255	194	194
+158	255	194	194	159	255	192	192
+159	255	192	192	160	255	190	190
+160	255	190	190	161	255	188	188
+161	255	188	188	162	255	186	186
+162	255	186	186	163	255	184	184
+163	255	184	184	164	255	182	182
+164	255	182	182	165	255	180	180
+165	255	180	180	166	255	178	178
+166	255	178	178	167	255	176	176
+167	255	176	176	168	255	174	174
+168	255	174	174	169	255	172	172
+169	255	172	172	170	255	170	170
+170	255	170	170	171	255	168	168
+171	255	168	168	172	255	166	166
+172	255	166	166	173	255	164	164
+173	255	164	164	174	255	162	162
+174	255	162	162	175	255	160	160
+175	255	160	160	176	255	158	158
+176	255	158	158	177	255	156	156
+177	255	156	156	178	255	154	154
+178	255	154	154	179	255	152	152
+179	255	152	152	180	255	150	150
+180	255	150	150	181	255	148	148
+181	255	148	148	182	255	146	146
+182	255	146	146	183	255	144	144
+183	255	144	144	184	255	142	142
+184	255	142	142	185	255	140	140
+185	255	140	140	186	255	138	138
+186	255	138	138	187	255	136	136
+187	255	136	136	188	255	134	134
+188	255	134	134	189	255	132	132
+189	255	132	132	190	255	130	130
+190	255	130	130	191	255	128	128
+191	255	128	128	192	255	126	126
+192	255	126	126	193	255	124	124
+193	255	124	124	194	255	122	122
+194	255	122	122	195	255	120	120
+195	255	120	120	196	255	118	118
+196	255	118	118	197	255	116	116
+197	255	116	116	198	255	114	114
+198	255	114	114	199	255	112	112
+199	255	112	112	200	255	110	110
+200	255	110	110	201	255	108	108
+201	255	108	108	202	255	106	106
+202	255	106	106	203	255	104	104
+203	255	104	104	204	255	102	102
+204	255	102	102	205	255	100	100
+205	255	100	100	206	255	98	98
+206	255	98	98	207	255	96	96
+207	255	96	96	208	255	94	94
+208	255	94	94	209	255	92	92
+209	255	92	92	210	255	90	90
+210	255	90	90	211	255	88	88
+211	255	88	88	212	255	86	86
+212	255	86	86	213	255	84	84
+213	255	84	84	214	255	82	82
+214	255	82	82	215	255	80	80
+215	255	80	80	216	255	78	78
+216	255	78	78	217	255	76	76
+217	255	76	76	218	255	74	74
+218	255	74	74	219	255	72	72
+219	255	72	72	220	255	70	70
+220	255	70	70	221	255	68	68
+221	255	68	68	222	255	66	66
+222	255	66	66	223	255	64	64
+223	255	64	64	224	255	62	62
+224	255	62	62	225	255	60	60
+225	255	60	60	226	255	58	58
+226	255	58	58	227	255	56	56
+227	255	56	56	228	255	54	54
+228	255	54	54	229	255	52	52
+229	255	52	52	230	255	50	50
+230	255	50	50	231	255	48	48
+231	255	48	48	232	255	46	46
+232	255	46	46	233	255	44	44
+233	255	44	44	234	255	42	42
+234	255	42	42	235	255	40	40
+235	255	40	40	236	255	38	38
+236	255	38	38	237	255	36	36
+237	255	36	36	238	255	34	34
+238	255	34	34	239	255	32	32
+239	255	32	32	240	255	30	30
+240	255	30	30	241	255	28	28
+241	255	28	28	242	255	26	26
+242	255	26	26	243	255	24	24
+243	255	24	24	244	255	22	22
+244	255	22	22	245	255	20	20
+245	255	20	20	246	255	18	18
+246	255	18	18	247	255	16	16
+247	255	16	16	248	255	14	14
+248	255	14	14	249	255	12	12
+249	255	12	12	250	255	10	10
+250	255	10	10	251	255	8	8
+251	255	8	8	252	255	6	6
+252	255	6	6	253	255	4	4
+253	255	4	4	254	255	2	2
+254	255	2	2	255	255	0	0
+B	0	0       0	
+F	0	0	0
+N	0	0	0

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/VTK/convert_cpt_lookuptable_python.bash
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/VTK/convert_cpt_lookuptable_python.bash	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/VTK/convert_cpt_lookuptable_python.bash	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,15 @@
+#!/bin/bash
+#
+# based on GMT makecpt
+#
+if [ $# -eq 0 ]; then
+  echo "convert_cpt_lookuptable.bash cpt_name_from_gmt (no_green,seis,etc)"
+  exit
+fi
+
+cpt=$1
+ncolors=25
+echo "colortable.SetNumberOfTableValues($ncolors)"
+makecpt -C$cpt -I -T0/$ncolors/1 > temp.cpt
+nline=`wc temp.cpt | awk '{print $1}'`
+awk 'NR > 3 && NR < '$nline'-2 {print "colortable.SetTableValue( ",NR-4,",",$2/255,",",$3/255,",",$4/255,",",1.0,")"}' temp.cpt 


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/VTK/convert_cpt_lookuptable_python.bash
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/VTK/gray_pyramid_inv.cpt
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/VTK/gray_pyramid_inv.cpt	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/VTK/gray_pyramid_inv.cpt	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,261 @@
+#	cpt file created by: makecpt -V -I -Cgray -T0/128/1 -Z
+#COLOR_MODEL = RGB
+#
+0	255	255	255	1	253	253	253
+1	253	253	253	2	251	251	251
+2	251	251	251	3	249	249	249
+3	249	249	249	4	247	247	247
+4	247	247	247	5	245	245	245
+5	245	245	245	6	243	243	243
+6	243	243	243	7	241	241	241
+7	241	241	241	8	239	239	239
+8	239	239	239	9	237	237	237
+9	237	237	237	10	235	235	235
+10	235	235	235	11	233	233	233
+11	233	233	233	12	231	231	231
+12	231	231	231	13	229	229	229
+13	229	229	229	14	227	227	227
+14	227	227	227	15	225	225	225
+15	225	225	225	16	223	223	223
+16	223	223	223	17	221	221	221
+17	221	221	221	18	219	219	219
+18	219	219	219	19	217	217	217
+19	217	217	217	20	215	215	215
+20	215	215	215	21	213	213	213
+21	213	213	213	22	211	211	211
+22	211	211	211	23	209	209	209
+23	209	209	209	24	207	207	207
+24	207	207	207	25	205	205	205
+25	205	205	205	26	203	203	203
+26	203	203	203	27	201	201	201
+27	201	201	201	28	199	199	199
+28	199	199	199	29	197	197	197
+29	197	197	197	30	195	195	195
+30	195	195	195	31	193	193	193
+31	193	193	193	32	191	191	191
+32	191	191	191	33	189	189	189
+33	189	189	189	34	187	187	187
+34	187	187	187	35	185	185	185
+35	185	185	185	36	183	183	183
+36	183	183	183	37	181	181	181
+37	181	181	181	38	179	179	179
+38	179	179	179	39	177	177	177
+39	177	177	177	40	175	175	175
+40	175	175	175	41	173	173	173
+41	173	173	173	42	171	171	171
+42	171	171	171	43	169	169	169
+43	169	169	169	44	167	167	167
+44	167	167	167	45	165	165	165
+45	165	165	165	46	163	163	163
+46	163	163	163	47	161	161	161
+47	161	161	161	48	159	159	159
+48	159	159	159	49	157	157	157
+49	157	157	157	50	155	155	155
+50	155	155	155	51	153	153	153
+51	153	153	153	52	151	151	151
+52	151	151	151	53	149	149	149
+53	149	149	149	54	147	147	147
+54	147	147	147	55	145	145	145
+55	145	145	145	56	143	143	143
+56	143	143	143	57	141	141	141
+57	141	141	141	58	139	139	139
+58	139	139	139	59	137	137	137
+59	137	137	137	60	135	135	135
+60	135	135	135	61	133	133	133
+61	133	133	133	62	131	131	131
+62	131	131	131	63	129	129	129
+63	129	129	129	64	127	127	127
+64	127	127	127	65	126	126	126
+65	126	126	126	66	124	124	124
+66	124	124	124	67	122	122	122
+67	122	122	122	68	120	120	120
+68	120	120	120	69	118	118	118
+69	118	118	118	70	116	116	116
+70	116	116	116	71	114	114	114
+71	114	114	114	72	112	112	112
+72	112	112	112	73	110	110	110
+73	110	110	110	74	108	108	108
+74	108	108	108	75	106	106	106
+75	106	106	106	76	104	104	104
+76	104	104	104	77	102	102	102
+77	102	102	102	78	100	100	100
+78	100	100	100	79	98	98	98
+79	98	98	98	80	96	96	96
+80	96	96	96	81	94	94	94
+81	94	94	94	82	92	92	92
+82	92	92	92	83	90	90	90
+83	90	90	90	84	88	88	88
+84	88	88	88	85	86	86	86
+85	86	86	86	86	84	84	84
+86	84	84	84	87	82	82	82
+87	82	82	82	88	80	80	80
+88	80	80	80	89	78	78	78
+89	78	78	78	90	76	76	76
+90	76	76	76	91	74	74	74
+91	74	74	74	92	72	72	72
+92	72	72	72	93	70	70	70
+93	70	70	70	94	68	68	68
+94	68	68	68	95	66	66	66
+95	66	66	66	96	64	64	64
+96	64	64	64	97	62	62	62
+97	62	62	62	98	60	60	60
+98	60	60	60	99	58	58	58
+99	58	58	58	100	56	56	56
+100	56	56	56	101	54	54	54
+101	54	54	54	102	52	52	52
+102	52	52	52	103	50	50	50
+103	50	50	50	104	48	48	48
+104	48	48	48	105	46	46	46
+105	46	46	46	106	44	44	44
+106	44	44	44	107	42	42	42
+107	42	42	42	108	40	40	40
+108	40	40	40	109	38	38	38
+109	38	38	38	110	36	36	36
+110	36	36	36	111	34	34	34
+111	34	34	34	112	32	32	32
+112	32	32	32	113	30	30	30
+113	30	30	30	114	28	28	28
+114	28	28	28	115	26	26	26
+115	26	26	26	116	24	24	24
+116	24	24	24	117	22	22	22
+117	22	22	22	118	20	20	20
+118	20	20	20	119	18	18	18
+119	18	18	18	120	16	16	16
+120	16	16	16	121	14	14	14
+121	14	14	14	122	12	12	12
+122	12	12	12	123	10	10	10
+123	10	10	10	124	8	8	8
+124	8	8	8	125	6	6	6
+125	6	6	6	126	4	4	4
+126	4	4	4	127	2	2	2
+127	2	2	2	128	0	0	0
+128	0	0	0	129	2	2	2
+129	2	2	2	130	4	4	4
+130	4	4	4	131	6	6	6
+131	6	6	6	132	8	8	8
+132	8	8	8	133	10	10	10
+133	10	10	10	134	12	12	12
+134	12	12	12	135	14	14	14
+135	14	14	14	136	16	16	16
+136	16	16	16	137	18	18	18
+137	18	18	18	138	20	20	20
+138	20	20	20	139	22	22	22
+139	22	22	22	140	24	24	24
+140	24	24	24	141	26	26	26
+141	26	26	26	142	28	28	28
+142	28	28	28	143	30	30	30
+143	30	30	30	144	32	32	32
+144	32	32	32	145	34	34	34
+145	34	34	34	146	36	36	36
+146	36	36	36	147	38	38	38
+147	38	38	38	148	40	40	40
+148	40	40	40	149	42	42	42
+149	42	42	42	150	44	44	44
+150	44	44	44	151	46	46	46
+151	46	46	46	152	48	48	48
+152	48	48	48	153	50	50	50
+153	50	50	50	154	52	52	52
+154	52	52	52	155	54	54	54
+155	54	54	54	156	56	56	56
+156	56	56	56	157	58	58	58
+157	58	58	58	158	60	60	60
+158	60	60	60	159	62	62	62
+159	62	62	62	160	64	64	64
+160	64	64	64	161	66	66	66
+161	66	66	66	162	68	68	68
+162	68	68	68	163	70	70	70
+163	70	70	70	164	72	72	72
+164	72	72	72	165	74	74	74
+165	74	74	74	166	76	76	76
+166	76	76	76	167	78	78	78
+167	78	78	78	168	80	80	80
+168	80	80	80	169	82	82	82
+169	82	82	82	170	84	84	84
+170	84	84	84	171	86	86	86
+171	86	86	86	172	88	88	88
+172	88	88	88	173	90	90	90
+173	90	90	90	174	92	92	92
+174	92	92	92	175	94	94	94
+175	94	94	94	176	96	96	96
+176	96	96	96	177	98	98	98
+177	98	98	98	178	100	100	100
+178	100	100	100	179	102	102	102
+179	102	102	102	180	104	104	104
+180	104	104	104	181	106	106	106
+181	106	106	106	182	108	108	108
+182	108	108	108	183	110	110	110
+183	110	110	110	184	112	112	112
+184	112	112	112	185	114	114	114
+185	114	114	114	186	116	116	116
+186	116	116	116	187	118	118	118
+187	118	118	118	188	120	120	120
+188	120	120	120	189	122	122	122
+189	122	122	122	190	124	124	124
+190	124	124	124	191	126	126	126
+191	126	126	126	192	129	129	129
+192	129	129	129	193	131	131	131
+193	131	131	131	194	133	133	133
+194	133	133	133	195	135	135	135
+195	135	135	135	196	137	137	137
+196	137	137	137	197	139	139	139
+197	139	139	139	198	141	141	141
+198	141	141	141	199	143	143	143
+199	143	143	143	200	145	145	145
+200	145	145	145	201	147	147	147
+201	147	147	147	202	149	149	149
+202	149	149	149	203	151	151	151
+203	151	151	151	204	153	153	153
+204	153	153	153	205	155	155	155
+205	155	155	155	206	157	157	157
+206	157	157	157	207	159	159	159
+207	159	159	159	208	161	161	161
+208	161	161	161	209	163	163	163
+209	163	163	163	210	165	165	165
+210	165	165	165	211	167	167	167
+211	167	167	167	212	169	169	169
+212	169	169	169	213	171	171	171
+213	171	171	171	214	173	173	173
+214	173	173	173	215	175	175	175
+215	175	175	175	216	177	177	177
+216	177	177	177	217	179	179	179
+217	179	179	179	218	181	181	181
+218	181	181	181	219	183	183	183
+219	183	183	183	220	185	185	185
+220	185	185	185	221	187	187	187
+221	187	187	187	222	189	189	189
+222	189	189	189	223	191	191	191
+223	191	191	191	224	193	193	193
+224	193	193	193	225	195	195	195
+225	195	195	195	226	197	197	197
+226	197	197	197	227	199	199	199
+227	199	199	199	228	201	201	201
+228	201	201	201	229	203	203	203
+229	203	203	203	230	205	205	205
+230	205	205	205	231	207	207	207
+231	207	207	207	232	209	209	209
+232	209	209	209	233	211	211	211
+233	211	211	211	234	213	213	213
+234	213	213	213	235	215	215	215
+235	215	215	215	236	217	217	217
+236	217	217	217	237	219	219	219
+237	219	219	219	238	221	221	221
+238	221	221	221	239	223	223	223
+239	223	223	223	240	225	225	225
+240	225	225	225	241	227	227	227
+241	227	227	227	242	229	229	229
+242	229	229	229	243	231	231	231
+243	231	231	231	244	233	233	233
+244	233	233	233	245	235	235	235
+245	235	235	235	246	237	237	237
+246	237	237	237	247	239	239	239
+247	239	239	239	248	241	241	241
+248	241	241	241	249	243	243	243
+249	243	243	243	250	245	245	245
+250	245	245	245	251	247	247	247
+251	247	247	247	252	249	249	249
+252	249	249	249	253	251	251	251
+253	251	251	251	254	253	253	253
+254	253	253	253	255	255	255	255
+B	0	0	0
+F	0	0	0
+N	0	0	0

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/VTK/plot_VTK.py
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/VTK/plot_VTK.py	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/VTK/plot_VTK.py	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,116 @@
+#!/usr/bin/env python
+#
+# creates a PNG file from a polygon data file *.vtk
+#
+from vtk import *
+import sys
+
+# input: 
+if len(sys.argv) == 2:
+  modelfile = str(sys.argv[1])  
+else :
+  print "Usage: python plot_VTK.py OUTPUT_FILES/bin_movie_009000.d.vtk"
+  sys.exit(1)
+  
+print "modelfile: ",modelfile
+
+
+# creates 2D projection view
+# graticule
+latLevel = 3
+lngLevel = 3
+pname = "eqc" # equidistant cylindrical (plate caree) 
+pcs = vtkGeoProjection()
+pcs.SetName( pname )
+pcs.SetCentralMeridian( 0. )
+gcs = vtkGeoProjection()
+xfm = vtkGeoTransform()
+xfm.SetSourceProjection( gcs )
+xfm.SetDestinationProjection( pcs )
+
+# reads in polygon data
+model = vtkPolyDataReader()
+model.SetFileName(modelfile)
+model.Update()
+
+# Delaunay triangulation on data
+delaunay2D = vtkDelaunay2D()
+delaunay2D.SetInput( model.GetOutput() )
+delaunay2D.Update()
+print "delaunay : "
+print "   points: ",delaunay2D.GetOutput().GetNumberOfPoints()
+print "   polygons: ",delaunay2D.GetOutput().GetNumberOfPolys()
+
+xf3 = vtkTransformFilter()
+xf3.SetTransform( xfm )
+xf3.SetInputConnection( delaunay2D.GetOutputPort() )
+
+
+# coloring
+#output from: ./convert_cpt_lookuptable_python.bash blue_white_red.cpt 
+colortable = vtkLookupTable()
+colortable.SetNumberOfTableValues(25)
+colortable.SetTableValue( 0 , 1 , 0.0392157 , 0.0392157 , 1.0 )
+colortable.SetTableValue( 1 , 1 , 0.121569 , 0.121569 , 0.878431 )
+colortable.SetTableValue( 2 , 1 , 0.2 , 0.2 , 0.8 )
+colortable.SetTableValue( 3 , 1 , 0.278431 , 0.278431 , 0.721569 )
+colortable.SetTableValue( 4 , 1 , 0.360784 , 0.360784 , 0.639216 )
+colortable.SetTableValue( 5 , 1 , 0.439216 , 0.439216 , 0.560784 )
+colortable.SetTableValue( 6 , 1 , 0.521569 , 0.521569 , 0.47451 )
+colortable.SetTableValue( 7 , 1 , 0.6 , 0.6 , 0.396078 )
+colortable.SetTableValue( 8 , 1 , 0.678431 , 0.678431 , 0.317647 )
+colortable.SetTableValue( 9 , 1 , 0.760784 , 0.760784 , 0.235294 )
+colortable.SetTableValue( 10 , 1 , 0.839216 , 0.839216 , 0.156863 )
+colortable.SetTableValue( 11 , 1 , 0.921569 , 0.921569 , 0.0745098 )
+colortable.SetTableValue( 12 , 0.996078 , 0.996078 , 0.996078 , 0.0 )
+colortable.SetTableValue( 13 , 0.921569 , 0.921569 , 1 , 0.0823529 )
+colortable.SetTableValue( 14 , 0.839216 , 0.839216 , 1 , 0.164706 )
+colortable.SetTableValue( 15 , 0.760784 , 0.760784 , 1 , 0.243137 )
+colortable.SetTableValue( 16 , 0.678431 , 0.678431 , 1 , 0.32549 )
+colortable.SetTableValue( 17 , 0.6 , 0.6 , 1 , 0.403922 )
+colortable.SetTableValue( 18 , 0.521569 , 0.521569 , 1 , 0.482353 )
+colortable.SetTableValue( 19 , 0.439216 , 0.439216 , 1 , 0.560784 )
+colortable.SetTableValue( 20 , 0.360784 , 0.360784 , 1 , 0.639216 )
+colortable.SetTableValue( 21 , 0.278431 , 0.278431 , 1 , 0.721569 )
+colortable.SetTableValue( 22 , 0.2 , 0.2 , 1 , 0.8 )
+colortable.SetTableValue( 23 , 0.121569 , 0.121569 , 1 , 0.878431 )
+colortable.SetTableValue( 24 , 0.0392157 , 0.0392157 , 1 , 1.0 )
+colortable.SetTableRange(0.0,255.0)
+
+# creates new actor based on PolyData mapper
+mapper3 = vtkPolyDataMapper()
+mapper3.SetInputConnection( xf3.GetOutputPort() )
+mapper3.SetScalarRange(0.0,255.0)
+mapper3.ColorArrayName= "displacement" 
+mapper3.ColorAttributeType= 0 
+mapper3.SetLookupTable( colortable )
+
+actor3 = vtkActor()
+actor3.SetMapper( mapper3 )
+
+
+# view rendering
+ren = vtkRenderer()
+ren.AddActor( actor3 )
+ren.SetBackground(0,0,0) # black
+
+window = vtkRenderWindow()
+window.SetMultiSamples(0)
+window.AddRenderer( ren )
+window.SetSize(1000, 500)
+window.OffScreenRenderingOn()
+
+ren.ResetCamera()
+ren.GetActiveCamera().Zoom(2.2)
+window.Render()
+
+# writes png images
+windowToImage = vtkWindowToImageFilter()
+windowToImage.SetInput(window)
+PNGWriter = vtkPNGWriter()
+PNGWriter.SetInputConnection( windowToImage.GetOutputPort() )
+PNGWriter.SetFileName("bin_color.png")
+PNGWriter.Write()
+
+#window.GetInteractor().Initialize()
+#window.GetInteractor().Start()


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/VTK/plot_VTK.py
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/VTK/plot_VTK_gray.py
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/VTK/plot_VTK_gray.py	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/VTK/plot_VTK_gray.py	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,117 @@
+#!/usr/bin/env python
+#
+# creates a (gray-scale) PNG file from a polygon data file *.vtk
+#
+from vtk import *
+import sys
+
+# input: 
+if len(sys.argv) == 2:
+  modelfile = str(sys.argv[1])  
+else :
+  print "Usage: python plot_VTK_gray.py OUTPUT_FILES/bin_movie_009000.d.vtk"
+  sys.exit(1)
+  
+print "modelfile: ",modelfile
+
+
+# creates 2D projection view
+# graticule
+latLevel = 3
+lngLevel = 3
+pname = "eqc" # equidistant cylindrical (plate caree) 
+pcs = vtkGeoProjection()
+pcs.SetName( pname )
+pcs.SetCentralMeridian( 0. )
+gcs = vtkGeoProjection()
+xfm = vtkGeoTransform()
+xfm.SetSourceProjection( gcs )
+xfm.SetDestinationProjection( pcs )
+
+# reads in polygon data
+model = vtkPolyDataReader()
+model.SetFileName(modelfile)
+model.Update()
+
+# Delaunay triangulation on data
+delaunay2D = vtkDelaunay2D()
+delaunay2D.SetInput( model.GetOutput() )
+delaunay2D.Update()
+print "delaunay : "
+print "   points: ",delaunay2D.GetOutput().GetNumberOfPoints()
+print "   polygons: ",delaunay2D.GetOutput().GetNumberOfPolys()
+
+xf3 = vtkTransformFilter()
+xf3.SetTransform( xfm )
+xf3.SetInputConnection( delaunay2D.GetOutputPort() )
+
+
+# coloring
+#output from: ./convert_cpt_lookuptable_python.bash gray_pyramid_inv.cpt 
+colortable = vtkLookupTable()
+colortable.SetNumberOfTableValues(25)
+colortable.SetTableValue(  0 , 1.0 , 1.0 , 1.0 , 1 )
+colortable.SetTableValue(  1 , 0.878431 , 0.878431 , 0.878431 , 1 )
+colortable.SetTableValue(  2 , 0.8 , 0.8 , 0.8 , 1 )
+colortable.SetTableValue(  3 , 0.721569 , 0.721569 , 0.721569 , 1 )
+colortable.SetTableValue(  4 , 0.639216 , 0.639216 , 0.639216 , 1 )
+colortable.SetTableValue(  5 , 0.560784 , 0.560784 , 0.560784 , 1 )
+colortable.SetTableValue(  6 , 0.47451 , 0.47451 , 0.47451 , 1 )
+colortable.SetTableValue(  7 , 0.396078 , 0.396078 , 0.396078 , 1 )
+colortable.SetTableValue(  8 , 0.317647 , 0.317647 , 0.317647 , 1 )
+colortable.SetTableValue(  9 , 0.235294 , 0.235294 , 0.235294 , 1 )
+colortable.SetTableValue(  10 , 0.156863 , 0.156863 , 0.156863 , 1 )
+colortable.SetTableValue(  11 , 0.0745098 , 0.0745098 , 0.0745098 , 1 )
+colortable.SetTableValue(  12 , 0.00392157 , 0.00392157 , 0.00392157 , 1 )
+colortable.SetTableValue(  13 , 0.0823529 , 0.0823529 , 0.0823529 , 1 )
+colortable.SetTableValue(  14 , 0.164706 , 0.164706 , 0.164706 , 1 )
+colortable.SetTableValue(  15 , 0.243137 , 0.243137 , 0.243137 , 1 )
+colortable.SetTableValue(  16 , 0.32549 , 0.32549 , 0.32549 , 1 )
+colortable.SetTableValue(  17 , 0.403922 , 0.403922 , 0.403922 , 1 )
+colortable.SetTableValue(  18 , 0.482353 , 0.482353 , 0.482353 , 1 )
+colortable.SetTableValue(  19 , 0.560784 , 0.560784 , 0.560784 , 1 )
+colortable.SetTableValue(  20 , 0.639216 , 0.639216 , 0.639216 , 1 )
+colortable.SetTableValue(  21 , 0.721569 , 0.721569 , 0.721569 , 1 )
+colortable.SetTableValue(  22 , 0.8 , 0.8 , 0.8 , 1 )
+colortable.SetTableValue(  23 , 0.878431 , 0.878431 , 0.878431 , 1 )
+colortable.SetTableValue(  24 , 1.0 , 1.0 , 1.0 , 1 )
+colortable.SetTableRange(0.0,255.0)
+
+
+# creates new actor based on PolyData mapper
+mapper3 = vtkPolyDataMapper()
+mapper3.SetInputConnection( xf3.GetOutputPort() )
+mapper3.SetScalarRange(0.0,255.0)
+mapper3.ColorArrayName= "displacement" 
+mapper3.ColorAttributeType= 0 
+mapper3.SetLookupTable( colortable )
+
+actor3 = vtkActor()
+actor3.SetMapper( mapper3 )
+
+
+# view rendering
+ren = vtkRenderer()
+ren.AddActor( actor3 )
+ren.SetBackground(0,0,0) # black
+
+window = vtkRenderWindow()
+window.SetMultiSamples(0)
+window.AddRenderer( ren )
+window.SetSize(1000, 500)
+window.OffScreenRenderingOn()
+
+ren.ResetCamera()
+ren.GetActiveCamera().Zoom(2.2)
+window.Render()
+
+# writes png images
+windowToImage = vtkWindowToImageFilter()
+windowToImage.SetInput(window)
+PNGWriter = vtkPNGWriter()
+PNGWriter.SetInputConnection( windowToImage.GetOutputPort() )
+PNGWriter.SetFileName("bin_mask.png")
+PNGWriter.Write()
+
+#window.GetInteractor().Initialize()
+#window.GetInteractor().Start()


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/VTK/plot_VTK_gray.py
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/VTK/plot_movie_GMT_binary_VTK.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/VTK/plot_movie_GMT_binary_VTK.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/VTK/plot_movie_GMT_binary_VTK.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,281 @@
+#!/usr/bin/perl -W
+#
+# reads in binary files produced from xcreate_movie_GMT_global
+# and creates png files with transparency
+#
+# uses segmented M-file to plot with psxy
+#
+
+use Getopt::Std;
+use POSIX;
+
+sub Usage {
+  print STDERR <<EOF;
+  
+Usage: plot_movie_GMT_binary_VTK.pl file_name
+  
+  ex. ./plot_movie_GMT_binary_VTK.pl OUTPUT_FILES/bin_movie_00***.d
+  
+EOF
+exit(1)
+}
+
+if (!getopts('l:L:cdts')) {die('Check input arguments\n');}
+ at ARGV > 0 or Usage();
+
+
+#######################################################
+## PARAMETERS
+
+# specfem3D Par_file settings
+$nex = 160;
+$nproc = 5;
+$nchunks = 6;
+
+# gunzipped files (ending .gz)
+$gzipped = 0;
+
+# point locations
+$xy_file = "OUTPUT_FILES/bin_movie.xy";
+
+# non-linear scaling 
+$power_scaling = 0.5;
+
+
+#######################################################
+
+
+# gunzips location file
+if( $gzipped == 1 ){
+  system("cp -v $xy_file.gz $xy_file.gz.org");
+  system("gunzip -f $xy_file.gz");
+}
+
+print "Processing locations: $xy_file\n";
+
+(@lines) = read_binary_file_locations($xy_file);
+$nlines = @lines;
+print "  number of lines: $nlines\n\n";
+
+# restore gzipped file
+if( $gzipped == 1 ) {system("mv $xy_file.gz.org $xy_file.gz");}
+
+open(CSH,">plot_movie.csh");
+
+
+foreach $file (@ARGV) {
+  
+  if (not -f $file) {die("No $file\n");}
+
+  print "Processing frame $file...\n";
+  
+  # gunzips data file
+  if( $gzipped == 1 ){
+    $filegz = $file;
+    $file = substr($file,0,length($filegz)-3);
+    system("cp $filegz $filegz.org");
+    system("gunzip -f $filegz");
+  }
+  print "    $file\n";
+
+  # reads displacement file (binary data)
+  (@lines_f) = read_binary_file_data($file);
+  $nlines_f = @lines_f;  
+  
+  # restore gzipped file
+  if( $gzipped == 1 ) {system("mv $filegz.org $filegz");}
+  
+  if ($nlines_f != $nlines) {die("number of lines differ\n");}
+  
+  
+  # non-linear scaling of displacement data and min/max
+  $min = 1.e30;
+  $max = -1.e30;  
+  for($i=0;$i<$nlines;$i++){
+    # scale between 0,1
+    $val = $lines_f[$i];    
+    if( $power_scaling > 0 ) {
+      if( $val > 0 ){ 
+        $val = $val**$power_scaling;
+      }else{
+        $val = - abs($val)**$power_scaling;
+      }
+    }
+    # determines min/max of displacements
+    if( $val < $min) {$min = $val;}
+    if( $val > $max) {$max = $val;}    
+    $lines_f[$i] = $val;
+  }  
+  if( abs($min) > abs($max) ){$max = abs($min);}  
+
+  # writes out segment file
+  open VTKFILE, ">$file.vtk" or die $!;   
+  print VTKFILE "# vtk DataFile Version 3.1\n";
+  print VTKFILE "specfem3D_data\n";
+  print VTKFILE "ASCII\n";
+  print VTKFILE "DATASET POLYDATA\n";
+  print VTKFILE "POINTS $nlines float\n";
+  
+  @elem_val = ();
+  for($i=0;$i<$nlines;$i++){
+    # scale between 0,1
+    $val = ($lines_f[$i] + $max)/(2.0*$max);
+    # scale between 0, 255
+    $val = $val * 255.0;
+
+    # prints value together with coordinates		        
+    $coord = $lines[$i];
+    chomp($coord);
+
+    # adds point: uses lon, lat and 0 (flat earth file)
+    print VTKFILE "$coord 0.0 \n";
+
+    # stores values in arrays
+    push(@elem_val, $val );
+  }
+  print VTKFILE "\n";
+
+  
+  # specfem3D output for MOVIE_COARSE
+  $nex_per_proc = $nex / $nproc  ;  
+  $total = $nproc * $nex_per_proc * $nproc * $nex_per_proc * $nchunks;
+  if( $total != $nlines ){ die("error nex/proc $nlines $total");}
+
+  $npoly = $nproc * $nproc* $nchunks * ($nex_per_proc-1) * ($nex_per_proc-1);
+  print VTKFILE "POLYGONS $npoly ",$npoly*5," \n";
+  $count = 0;
+  for($n=0;$n<$nproc*$nproc*$nchunks;$n++){
+    for($m=0;$m<$nex_per_proc-1;$m++){
+      for ($k=0;$k<$nex_per_proc-1;$k++){  
+        # global array index
+        $i = $k + $m*$nex_per_proc + $n*$nex_per_proc*$nex_per_proc;
+
+        # adds element
+        print VTKFILE "4 ",$i," ",$i+1," ",$i+$nex_per_proc+1," ",$i+$nex_per_proc," \n"; 
+        $count++;
+      }
+    }
+  }  
+  print VTKFILE "\n";
+  
+  print "count: $count \n";
+  
+  print VTKFILE "POINT_DATA $nlines \n";
+  print VTKFILE "SCALARS displacement float\n";
+  print VTKFILE "LOOKUP_TABLE default\n";  
+  for($i=0;$i<$nlines;$i++){
+    $val = $elem_val[$i];
+    print VTKFILE "$val \n";    
+  }
+  print VTKFILE "\n";
+  close(VTKFILE);
+
+  # creates png files
+  #print CSH "python plot_VTKdisp.py $file.vtk \n";
+  #print CSH "python plot_VTKdisp_gray.py $file.vtk \n";
+  #print CSH "mv bin_disp.png $file.disp.png \n";
+  #print CSH "mv bin_mask.png $file.mask.png \n";
+
+  # creates file with transparency (opacity)
+  #print CSH "composite -compose CopyOpacity $file.mask.png $file.disp.png $file.png\n";
+
+  print CSH "echo \n";
+  print CSH "echo 'plotted: $file.png' \n";
+  print CSH "echo \n";
+
+}
+close(CSH);
+
+print "\nplotting... \n\n";
+
+system("csh -f plot_movie.csh");
+
+system("rm -f plot_movie.csh");
+
+#-------------------------------------------------------------
+
+sub read_binary_file_locations{
+  
+  my($xy_file) = @_;
+  my(@return_lines);
+  my(@lines,$line,$is_ok,$junk,$n1,$n2,$data1,$data2);
+  
+  # reads in locations (binary data)
+  open FILE, "$xy_file" or die $!;
+  binmode FILE;
+  
+  @lines= () ;
+  $line="";
+  $is_ok = 1;
+  while ( $is_ok != 0) {
+    read FILE, $junk, 4;
+    
+    $n1 = read FILE, $data1, 4;
+    if( $n1 != 0 ){
+      ($lon) = unpack( "f",$data1);
+    }
+    $n2 = read FILE, $data2, 4;
+    if( $n2 != 0 ){
+      ($lat) = unpack( "f",$data2);
+    }
+    read FILE, $junk, 4;
+    
+    #print "$n1 $n2 bytes read: lon=$lon \t \t lat=$lat\n";
+    
+    if( $n1 != 0 && $n2 != 0  ){
+      $line = "$lon $lat \n";
+      push(@lines, $line);
+      $is_ok = 1;
+    }
+    else{ $is_ok = 0;}
+    
+  }
+  close(FILE);
+  
+  @return_lines = @lines;
+  return @return_lines;
+  
+}
+
+
+#-------------------------------------------------------------
+
+sub read_binary_file_data{
+  
+  my($file) = @_;
+  my(@return_lines_f);
+  my(@lines_f,$is_ok,$junk,$n1,$data1);
+  
+  open FILE, "$file" or die $!;
+  binmode FILE;
+  
+  @lines_f = () ; 
+  $line = "";
+  $is_ok = 1;
+  while ( $is_ok != 0) {
+    read FILE, $junk, 4;
+    
+    $n1 = read FILE, $data1, 4;
+    if( $n1 != 0 ){
+      ($val) = unpack( "f",$data1);
+    }
+    
+    read FILE, $junk, 4;
+    
+    #print "$n1 bytes read: value=$val \n";
+    
+    if( $n1 != 0 ){
+      $line = "$val \n";
+      push(@lines_f, $line);
+      $is_ok = 1;
+    }
+    else{ $is_ok = 0;}
+  }
+  close(FILE);
+  
+  @return_lines_f = @lines_f;
+  return @return_lines_f;
+  
+}
+
+#-------------------------------------------------------------


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/VTK/plot_movie_GMT_binary_VTK.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/VTK/readme.txt
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/VTK/readme.txt	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/VTK/readme.txt	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,115 @@
+--------------------------------
+readme
+--------------------------------
+
+VTK, The Visualization Toolkit
+http://www.vtk.org/
+
+
+
+- procedure to make a PNG image (flat earth):
+
+------------------
+NOTE: this requires VTK to be installed and compiled with python wrappers
+      see small howto note below.
+------------------
+
+
+1. run specfem with the movie options (see Par_file):
+
+   MOVIE_SURFACE = .true.
+   MOVIE_COARSE  = .false.
+   
+   and adjust the time steps NSTEP_BETWEEN_FRAMES   
+   
+   this creates binary files in directory OUTPUT_FILES/ like: moviedata000100,...
+
+
+2. convert binary files to GMT-files:
+
+   in SPECFEM3D_GLOBE:  > make xcreate_movie_GMT_global
+   
+	         run it > ./xcreate_movie_GMT_global
+
+                          choose option for binary (T)
+                          to create individual files
+
+
+3. create VTK files:
+
+    > ./plot_movie_GMT_binary_VTK.pl OUTPUT_FILES/bin_movie_00***.d
+
+
+4. render VTK files to create a PNG image:
+
+    for each single file:
+    
+    > python plot_VTK.py OUTPUT_FILES/bin_movie_009000.d.vtk
+    
+    this creates a single PNG image 'bin_color.png'
+    
+    
+optional, to add transparency:
+    
+    a) create a color image:
+
+        > python plot_VTK.py OUTPUT_FILES/bin_movie_009000.d.vtk
+        
+       and a gray-scale image:        
+       
+        > python plot_VTK_gray.py OUTPUT_FILES/bin_movie_009000.d.vtk
+
+    
+    b) use the gray-scale image as alpha channel in the new file to
+       create a file with transparency (opacity):
+
+       > composite -compose CopyOpacity bin_mask.png bin_color.png bin_image.png
+    
+      this requires software installed from ImageMagick
+      ( http://www.imagemagick.org/ )
+
+
+
+------------------
+VTK installation - python wrapper:
+------------------
+
+  download sources from:
+  http://www.vtk.org/VTK/resources/software.html
+
+  install with python wrappers and Geovis for example in /opt/vtk-5.4.2:
+  > cd /opt/vtk-5.4.2
+  > tar -xvf vtk-5.4.2.tar
+  > cd VTK
+  > ccmake .
+  
+    turn on options: BUILD_SHARED_LIBS ON
+                     CMAKE_INSTALL_PREFIX /opt/vtk-5.4.2
+                     VTK_USE_GEOVIS    ON
+                     VTK_WRAP_PYTHON   ON
+  > make
+  > make install
+   
+  export your python path specifics for example in ~/.bashrc:
+  
+    # vtk python
+    export PYTHONPATH=$PYTHONPATH:/opt/vtk-5.4.2/VTK/bin
+    export PYTHONPATH=$PYTHONPATH:/opt/vtk-5.4.2/VTK/Wrapping/Python/
+    export PATH=$PATH:/opt/vtk-5.4.2/VTK/bin    
+    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/vtk-5.4.2/VTK/lib/
+
+  check if properly installed:
+  > cd ~/SPECFEM3D_GLOBE/UTILS/VTK
+  > python
+  
+    >>> from vtk import *
+    >>> gs = vtkGeoProjection()
+  
+    if any of this fails, check your path default settings:
+  
+    >>> import sys
+    >>> sys.path
+
+    and fix the paths in your ~/.bashrc
+  
+  
\ No newline at end of file

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/DX_continent_boundaries.dx
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/DX_continent_boundaries.dx	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/DX_continent_boundaries.dx	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,15330 @@
+object 1 class array type float rank 1 shape 3 items 5228 data follows
+0.177972013674219 0.0647765155078226 0.98902930461509
+0.172259682069497 0.0569130813673094 0.990523348085543
+0.177142971081427 0.0564374817604035 0.989688930143704
+0.166885558033403 0.0487052816766612 0.991880036121645
+0.185769399930152 0.0551215810783765 0.988180318236004
+0.172655469310468 0.0453806761108591 0.991049788432904
+0.181984877872931 0.0455196967363286 0.989372761619505
+0.177916833633687 0.0389489595884998 0.990392638733112
+0.171875164188853 0.0422369469091299 0.991324350679862
+0.179548176263048 0.0338117486131139 0.99028693723402
+0.200574099655097 0.0463065482992911 0.985735630953935
+0.187779910823273 0.0515349628851314 0.987993852557612
+0.194234142772082 0.0535856216214929 0.986636041778848
+0.18885419477752 0.0561925844921972 0.987535055865371
+0.192738561861116 0.0603943238066365 0.986536047199314
+0.202548976696635 0.0489950189121436 0.98520170531772
+0.207924790283787 0.0516480157367401 0.983945508682214
+0.201391673230307 0.0615389452744598 0.984735168544317
+0.208238773814868 0.0547796142595201 0.983709716807585
+0.210074160983201 0.0606339965183614 0.982975770481356
+0.211155419004306 0.0523143529716119 0.983222048928052
+0.218353893303189 0.0603013366545437 0.981190259876755
+0.218353893303189 0.0603013366545437 0.981190259876755
+0.223247011337081 0.0682108572171364 0.979569829510262
+0.191056594226618 0.0658916357308643 0.986511363413132
+0.187867760895795 0.0683782729421866 0.986954465112471
+0.301615694556896 0.166280401852653 0.946270469134846
+0.300014125236375 0.163274254301503 0.947302508463342
+0.296728227599382 0.172577257210837 0.946688147828689
+0.289494711102757 0.174159909793881 0.948635935469513
+0.288494050530164 0.159732583440819 0.951475530214004
+0.298266857033513 0.157622367803886 0.948810345202478
+0.288405319792401 0.156942787151259 0.951966560902555
+0.288453076478209 0.151169057801514 0.952886005057089
+0.299804019923305 0.153359368031245 0.949024474855566
+0.302963292087228 0.150959506582076 0.948405752312883
+0.293467208428574 0.147342015049804 0.951953952761478
+0.31078067574273 0.145927048043594 0.946662383447327
+0.296765549727429 0.14418994951335 0.951413930397445
+0.29811442404781 0.136739268813007 0.952091992687223
+0.315872553845685 0.137279747123615 0.946270469134846
+0.316175114032676 0.13658146473714 0.946270469134846
+0.315346498549642 0.124615825181816 0.948196436381584
+0.319631084707612 0.128285497746057 0.946270469134846
+0.32094494314204 0.124962165133577 0.946270469134846
+0.320841458582675 0.124672375355913 0.946343783874368
+0.321076497259515 0.124623762384545 0.946270469134846
+0.187867760895795 0.0683782729421866 0.986954465112471
+0.182788275010565 0.0721179589757836 0.98764186146185
+0.177972013674219 0.0647765155078226 0.98902930461509
+0.121426493936187 0.210316856867892 0.977277558469228
+0.143972430903902 0.213513814781881 0.973515685562852
+0.145140507258819 0.223187941062866 0.971169591841081
+0.156514254105601 0.224575028674479 0.969081185844418
+0.153561953782455 0.231052323283267 0.968030242428365
+0.157544272480552 0.225289320808505 0.968748431812004
+0.166430161533204 0.226505061495472 0.966977486009351
+0.159179515288033 0.234632287523525 0.96626009519391
+0.169327004659129 0.233690171724414 0.96476228633409
+0.15939893485944 0.242614622376275 0.96425055072574
+0.156137908153868 0.23479567895896 0.966716578310073
+0.152064633623567 0.239604428641951 0.966185833562102
+0.15393043554174 0.233391027622824 0.967410486421918
+0.149708500196009 0.238424634033967 0.966845416214417
+0.147394749939538 0.23134113713958 0.968919535336773
+0.146041592670344 0.236046616014254 0.967989074462377
+0.146031705044695 0.236052733183097 0.967989074462377
+0.141348533883077 0.228138070023242 0.970578493979325
+0.138682701827493 0.232227511552131 0.969993036620434
+0.132300558629576 0.229151289400331 0.971614763552133
+0.195282790302276 0.268758054131604 0.950622291002662
+0.178172241343887 0.280873705040754 0.950480727964105
+0.178619306353745 0.256866506881172 0.957164427379315
+0.172589109286367 0.247226852654263 0.960802207887974
+0.161019139377986 0.243446902423123 0.963771467960408
+0.167183943683007 0.237084428860764 0.96430778414693
+0.174866782961875 0.233717785859765 0.963766883011329
+0.175773372812683 0.23850905778062 0.962427218425713
+0.182709114049649 0.236942789970226 0.961521967468407
+0.178036744608214 0.242001854182713 0.961138398016351
+0.195857666224514 0.245400241028676 0.956800656502782
+0.197573503192098 0.252065419249151 0.954712907242356
+0.189626520333319 0.256276759611816 0.955203122518527
+0.195296769129818 0.268665852426746 0.950645481610923
+0.195282790302276 0.268758054131604 0.950622291002662
+0.0539148079553017 0.305766070093727 0.957940135844918
+0.0610245116705328 0.298544571052305 0.959789637405285
+0.0667917646513248 0.30037497753004 0.958834048753271
+0.0653826557851138 0.307203084635958 0.956765578975664
+0.0759230668184095 0.303745066760504 0.957091229895847
+0.0656310509506319 0.322834946258118 0.95158770621821
+0.0779357329464524 0.315689114779299 0.95305582435656
+0.0777944366339887 0.286899004919964 0.962125764442848
+0.0796192921282924 0.297533718439668 0.958740556518005
+0.0938769316255588 0.307222529090728 0.954384848647372
+0.0904066397029793 0.322195197585336 0.949771495755985
+0.0943855300191855 0.331228880030585 0.946270469134846
+0.102491318408501 0.328811083898043 0.946270469134846
+0.0975234967991319 0.315265663556978 0.951391469876647
+0.0999259706926464 0.30412512730769 0.95476264449402
+0.0881927747209078 0.286294569295184 0.961408578118123
+0.0933012474767765 0.281007621626786 0.962485633039234
+0.103917965571388 0.276413602116423 0.962728194765546
+0.117409640478529 0.29561996221925 0.955443778701914
+0.12882646147497 0.299547508200376 0.952745523817763
+0.13576319719346 0.3165273345718 0.946270469134846
+0.132300558629576 0.229151289400331 0.971614763552133
+0.122591064276626 0.224070325838181 0.97407028495807
+0.0883260495052177 0.223143026535496 0.977985019664095
+0.0829078854011242 0.211628831284084 0.981014026560093
+0.101409191638989 0.215307461106933 0.978472213730576
+0.115264469980668 0.20902880893732 0.978299575280661
+0.121426493936187 0.210316856867892 0.977277558469228
+-0.040896200394574 0.231933877856848 0.979072610737105
+-0.0363201665105214 0.232514493962178 0.979115343359586
+-0.0415299501435441 0.239312004932742 0.977268656785915
+-0.036701772494929 0.236353183415797 0.978181553999537
+-0.0245033507570595 0.245357590699501 0.976344323734108
+-0.0257870176514831 0.240239585054218 0.977583229957234
+-0.0138092068388225 0.241438273962062 0.977530493474604
+-0.0121578985924041 0.245382371133601 0.976569852820917
+-0.0175841381518561 0.244402183000114 0.976733009081927
+0.0135967404135015 0.257985262956351 0.973297350632103
+0.013958936035446 0.267030075752803 0.970849672579752
+0.0187341819866238 0.262473012999421 0.972011289992198
+0.0135159096161348 0.280028972698435 0.967186690684227
+0.0470133230214967 0.281130431944968 0.965818009613049
+0.0483381850316551 0.300144835734426 0.96001327982992
+0.0349760688869592 0.315240373538908 0.955745353897294
+0.0382206398939376 0.342286987671773 0.946270469134846
+0.042716850942561 0.341754985170472 0.946270469134846
+0.0450374345370891 0.338608223985463 0.947293565976106
+0.0409072630244938 0.32597831301303 0.951900065803666
+0.0465731482781278 0.331969511555907 0.949566314301848
+0.0370475778498375 0.313651221271073 0.956190037790932
+0.0469468377809002 0.312353296387499 0.95618011517613
+0.0539148079553017 0.305766070093727 0.957940135844918
+-0.147612481634242 0.255672318057181 0.962751900047488
+-0.14688769281856 0.255982859694161 0.96278023517376
+-0.138258707811372 0.255640141373222 0.964148146206281
+-0.137886389932605 0.249986970624157 0.965682586562226
+-0.122467660853012 0.254616829125539 0.966551055232598
+-0.116110337963847 0.266844431514149 0.964033940682491
+-0.107846355926343 0.255993345200768 0.967928494634975
+-0.107349318615116 0.261640621947678 0.966472611479343
+-0.101728738634055 0.257304768570065 0.968243006588237
+-0.0949983008303257 0.260694188924695 0.968020073500672
+-0.095376156794629 0.266521838214844 0.966394587355324
+-0.101521058022602 0.263989280842367 0.966463726364472
+-0.0819346364827001 0.279470190043651 0.963966870914874
+-0.0798266902350588 0.287845745936388 0.961676414430779
+-0.0830492525921089 0.27135388021521 0.966187814731712
+-0.102807853186259 0.235564386242786 0.973647248882927
+-0.0936679016791912 0.227842067114582 0.976403255139992
+-0.100660780965921 0.230589892207091 0.975061387189162
+-0.0999758979675683 0.22523687707726 0.976382183896276
+-0.0829690956370372 0.215097677747937 0.980254108992468
+-0.0668989071910468 0.225370184048632 0.979174048041782
+-0.0687301112088539 0.217388575615791 0.980850334661184
+-0.0550944189394374 0.218259550967126 0.98151738314375
+-0.0619847708856407 0.211355034166804 0.982616882467731
+-0.0523633417211148 0.207745797521627 0.983945508682214
+-0.0442999182462749 0.220597162861652 0.98154134349031
+-0.0454894232689139 0.231263247610078 0.979028611775724
+-0.040896200394574 0.231933877856848 0.979072610737105
+-0.245535614712452 0.206028843775327 0.954627350037899
+-0.237007610313334 0.212542791949882 0.955354360561416
+-0.241873836115394 0.21883366655945 0.952710802805852
+-0.228410245467562 0.220403781629405 0.95566727097296
+-0.22221644825704 0.231579492347961 0.954484043265201
+-0.211901712554162 0.228993321933327 0.957449070565402
+-0.218521526903325 0.25098187296456 0.950423822156747
+-0.192052146348802 0.243127845958082 0.958151252988066
+-0.195905035341983 0.237179122530999 0.958861971799425
+-0.188080668673146 0.236933244774508 0.960488052810698
+-0.190795008187596 0.231856563600939 0.961191343472182
+-0.182438465718812 0.22677797775341 0.964021242002602
+-0.171640109523865 0.233822168477312 0.964321453837465
+-0.15886137064482 0.231690079123268 0.967022115648191
+-0.16101413099923 0.249443265263395 0.96223776013691
+-0.147612481634242 0.255672318057181 0.962751900047488
+-0.189375345160189 0.158904782300523 0.97618402404848
+-0.180657264176555 0.158248185934627 0.977941442290203
+-0.183303119881657 0.171004713727491 0.975298084753902
+-0.195602576700174 0.176158444610145 0.971986025815591
+-0.195622745879774 0.176176608845848 0.971978674555175
+-0.201443646225857 0.169031289275098 0.972058578811601
+-0.235779529262904 0.197842516071716 0.958809341013622
+-0.236666187548608 0.203521920137277 0.957401140429048
+-0.244696900356873 0.205325078868797 0.954994261209595
+-0.23344266847494 0.195881657046144 0.959783255203046
+-0.232098301442268 0.200879746311382 0.95907596466051
+-0.234871744549522 0.197080794253421 0.959188940797748
+-0.199071476454416 0.281054703759922 0.946270469134846
+-0.196765314883808 0.273324264481609 0.949013307232445
+-0.201780291473222 0.262509547801337 0.95101127821184
+-0.194606672649085 0.255494773575856 0.95441063679942
+-0.202078006644086 0.262261579208317 0.951016478985466
+-0.197277647270361 0.273110007465896 0.948968626304078
+-0.199551907359691 0.280713796441193 0.946270469134846
+-0.323013387475841 0.117567258339899 0.946514284772196
+-0.307614995983135 0.118544566875799 0.951508906900258
+-0.297976848734357 0.133154200529147 0.952643037291401
+-0.293610546969783 0.152642125615153 0.951074249570344
+-0.270695031872971 0.163751532312955 0.956011838516893
+-0.270691750450278 0.155881060561974 0.957327567343717
+-0.260227132246622 0.16029947928652 0.959497220727173
+-0.256886089513479 0.166091681431298 0.959412367219537
+-0.262099789581769 0.181161831909662 0.955265979170371
+-0.253025795345574 0.173906313397421 0.959053460996965
+-0.259825441900946 0.175373262193867 0.956966017499294
+-0.256359770678572 0.166838439679424 0.959423578521482
+-0.24915523666505 0.17939911785723 0.95905506857241
+-0.255485580798943 0.166784151951499 0.95966617355289
+-0.230117301610515 0.187077956222069 0.962339267511863
+-0.235255684142539 0.188468601942339 0.96082430712411
+-0.23344266847494 0.195881657046144 0.959783255203046
+-0.201443646225857 0.169031289275098 0.972058578811601
+-0.211194184818043 0.15577975910784 0.972203005010448
+-0.196617788636336 0.151399681395437 0.975944968563862
+-0.20865140363878 0.154941257709718 0.972885809547502
+-0.207675814489453 0.14322315560519 0.974888139108603
+-0.187988756062527 0.150176920500213 0.977832357893282
+-0.193492135738007 0.159105974131518 0.975343571467616
+-0.189375345160189 0.158904782300523 0.97618402404848
+-0.234871744549522 0.197080794253421 0.959188940797748
+-0.23550251325032 0.196206333318446 0.959213553395965
+-0.235779529262904 0.197842516071716 0.958809341013622
+-0.244696900356873 0.205325078868797 0.954994261209595
+-0.246056821455376 0.205611421068202 0.954583146793191
+-0.245535614712452 0.206028843775327 0.954627350037899
+-0.340588422914979 0.0511930212002209 0.946270469134846
+-0.337791135574819 0.0562238609353775 0.946987342148032
+-0.339652077896884 0.0570759601202418 0.946270469134846
+-0.323748286116853 0.117508495351267 0.946270469134846
+-0.323013387475841 0.117567258339899 0.946514284772196
+-0.316277871274417 -0.11511573086523 0.949086759284675
+-0.314459924379229 -0.113659122572063 0.949866074673455
+-0.322789746502681 -0.105348083932394 0.948028248927482
+-0.328261568116959 -0.104237911244966 0.946270469134846
+-0.273680747043275 -0.209093395259519 0.946270469134846
+-0.274421693402181 -0.204883098816229 0.946976583664949
+-0.296709592259923 -0.163117478654867 0.948369709563854
+-0.297771866740191 -0.154323902095872 0.949507792816871
+-0.292517466668277 -0.153822669521297 0.951220856602353
+-0.298594850263087 -0.144423550471038 0.950805949426961
+-0.295345606256456 -0.1372515335093 0.952880889416065
+-0.303294020930971 -0.135047883957526 0.950696484639613
+-0.296047033711952 -0.13448607445677 0.953057526914069
+-0.294692961413547 -0.128227893484375 0.95433886320629
+-0.305631141713156 -0.124619986561666 0.951371885313247
+-0.310574303998655 -0.115143808673845 0.950965038799972
+-0.318495124651312 -0.116905770609046 0.948125991823687
+-0.316277871274417 -0.11511573086523 0.949086759284675
+-0.137037295783694 -0.237355558763575 0.968985097041396
+-0.139912575099516 -0.228755472710751 0.97064123394481
+-0.154769713551165 -0.223232700292276 0.969671334673511
+-0.156537664532213 -0.234257468620774 0.966782497761615
+-0.183201479406662 -0.252238515580963 0.957529085302751
+-0.178416523439536 -0.25582068830764 0.957482281610242
+-0.17832472614889 -0.273539141574578 0.952588909273337
+-0.162873376961777 -0.275053119325478 0.954917297270497
+-0.157244551500082 -0.268607278569378 0.957691641878058
+-0.157175252079305 -0.268607166492084 0.957703049093455
+-0.154746530949317 -0.268028853825139 0.958260426333225
+-0.206629826637243 -0.275545484425315 0.946270469134846
+-0.206345116294465 -0.263729988120568 0.94969320643424
+-0.208006226473554 -0.271579180622559 0.947115176945556
+-0.212175213229446 -0.271298503745151 0.946270469134846
+-0.221357604466845 -0.263859830569222 0.946270469134846
+-0.217154830791299 -0.261861700428848 0.947798095225198
+-0.224250017577866 -0.26140606125269 0.946270469134846
+-0.19503381073788 -0.283871470761645 0.946270469134846
+-0.193329174288122 -0.281022415543929 0.947469911042524
+-0.196250814334191 -0.28303147725383 0.946270469134846
+-0.0655462143011683 -0.338119643076388 0.946270469134846
+-0.0650124932629144 -0.335053442797105 0.947397258909665
+-0.0818865845325934 -0.316951398045767 0.952305307425313
+-0.0783639558398529 -0.286824044378789 0.962101895846445
+-0.0834559177175904 -0.27708335651807 0.964525232090169
+-0.0912708253183407 -0.276852472754569 0.963883470537486
+-0.0969143853730811 -0.302669482541099 0.955535340134556
+-0.100360679051288 -0.277228197144769 0.96287136254446
+-0.104424661158014 -0.275958490759959 0.96280392683013
+-0.102709177941321 -0.286131562453166 0.960014871621647
+-0.10650899927179 -0.282121013655546 0.960787472195641
+-0.109874336390804 -0.286098099911384 0.959231206451175
+-0.115040855732037 -0.284164777048646 0.959200177750887
+-0.108060068191474 -0.278797523651069 0.961584090170218
+-0.114071290634086 -0.271524051341515 0.962970108672208
+-0.125164885955726 -0.274332004512564 0.960793787773323
+-0.119374963075183 -0.262186942457648 0.964912755328433
+-0.144445117888126 -0.266056959549238 0.960415692392466
+-0.153294202481679 -0.275166635472546 0.956469137091325
+-0.147429664648022 -0.280288928656561 0.955903557088438
+-0.151989250312196 -0.283055301823347 0.954373073750109
+-0.134983860936555 -0.288986448608774 0.955151919752637
+-0.155232550293835 -0.287936854298667 0.952388693373593
+-0.155156397401382 -0.295730013877653 0.950010132176151
+-0.134315579496581 -0.304232135832847 0.950500464298194
+-0.123839864969516 -0.315305330389536 0.948311782312272
+-0.158013419872214 -0.305295097864094 0.946507085214073
+-0.15802421304246 -0.306022135368718 0.946270469134846
+-0.112490277702257 -0.235206576887821 0.972662738882899
+-0.102846090964387 -0.230670977996053 0.974814126633221
+-0.105300996865565 -0.237434986325113 0.972926167459747
+-0.0918838054571509 -0.238842042354484 0.973940883780248
+-0.109909417122313 -0.242001999499831 0.971289839474251
+-0.102855320871073 -0.250065848518172 0.970018996913666
+-0.0835794133159357 -0.245541008072345 0.973022659049922
+-0.0715934127970696 -0.249675901752966 0.972926167459747
+-0.0654580376183754 -0.237239535377701 0.976463848877634
+-0.0691367910121774 -0.232359064398552 0.977383430041848
+-0.0723053797875073 -0.23886907987612 0.975583156236781
+-0.0764011194836561 -0.235138467556029 0.976177120207724
+-0.0751244472418248 -0.216860769648135 0.980498201943394
+-0.0828633374451523 -0.222634380978293 0.97857886739591
+-0.0817156506812873 -0.238875935044624 0.974838366135787
+-0.0911729493274683 -0.234766173625582 0.974998121553131
+-0.0988080281884918 -0.212902593480241 0.97926424383559
+-0.104243338905037 -0.214690219422641 0.978309989716035
+-0.100311350835923 -0.218816407555319 0.977806735852263
+-0.110308070920429 -0.219027881903456 0.976682095893387
+-0.102847298777668 -0.222765717325578 0.976650842583243
+-0.114682253737919 -0.222984769575778 0.975281894231011
+-0.105154231378509 -0.225421796568861 0.975795368535259
+-0.119018125343738 -0.227042622076602 0.973825104215456
+-0.112531909544406 -0.235209244442796 0.972657278111329
+-0.112490277702257 -0.235206576887821 0.972662738882899
+-0.048726216760074 -0.276340107040571 0.967114730030029
+-0.0527993427925769 -0.275243682078158 0.967213598372526
+-0.0520344372607445 -0.282818278822675 0.965067478730237
+-0.0576308080213435 -0.280209125788674 0.965510505272498
+-0.05040792876974 -0.285877569779589 0.964252070681759
+-0.0512215075087867 -0.290491604087672 0.96282915676827
+-0.0525959489727164 -0.293314570087632 0.96189876241004
+-0.062028430473033 -0.286215609785421 0.963473973975536
+-0.0657891554074325 -0.292262465954086 0.961407009556938
+-0.0550345241415647 -0.312116295978645 0.955826144723549
+-0.154746530949317 -0.268028853825139 0.958260426333225
+-0.122031720846489 -0.257903749226262 0.965734391663816
+-0.126733856072881 -0.242162094811111 0.969198147729138
+-0.135135965679273 -0.242532353331694 0.967969693930198
+-0.137037295783694 -0.237355558763575 0.968985097041396
+0.0286007328150279 -0.162202816174097 0.993439099546437
+0.0200522836381045 -0.168013851936615 0.992682351751212
+0.029809623646632 -0.180026339888925 0.990328684470082
+0.0184735941847279 -0.169583672187143 0.992446020922761
+0.0103690170319166 -0.169386379672384 0.992597470209991
+0.0221309595219761 -0.189936586253655 0.988677558070853
+0.0177006119996836 -0.190988011763945 0.988564245609405
+0.0283135356477035 -0.189044008605082 0.988690905444997
+0.0228793671402554 -0.193480379247317 0.987973115730168
+0.0265847126235159 -0.197820782428663 0.987020360020013
+0.01660091392229 -0.192771514285635 0.988237093483627
+0.0107956176630788 -0.196352461430966 0.987612355901481
+0.00910164140438258 -0.207052100272063 0.985441823699742
+0.014775868561358 -0.202175216285585 0.986385247065331
+0.0164662816617443 -0.206960924816506 0.985365433312602
+0.0187492451186559 -0.198235509337377 0.987117089632852
+0.0197595805757729 -0.216702199485354 0.983208378581915
+0.027881643181643 -0.206162881347167 0.985275839716029
+0.0213496647012524 -0.220434237039319 0.982345122122585
+0.00654891099950844 -0.211804323121798 0.984451644557333
+0.0131880390949637 -0.223031963864336 0.981902143148515
+0.0013713733022754 -0.233848224526826 0.979470329933948
+0.00580607421716691 -0.236723749465702 0.978763074467506
+0.00635026916015319 -0.230368275845326 0.980275028533138
+0.00991151228311522 -0.237671256822647 0.97850045253163
+0.0100447273624552 -0.232671254292216 0.97970005148428
+0.0137449153352364 -0.237370918728792 0.978527017636343
+0.0137576168409772 -0.232251727720909 0.979754491160673
+0.019791441621001 -0.238031498107319 0.978262901651365
+0.0230059618739095 -0.231265985153992 0.979814150657669
+0.0280130400068325 -0.234889542023691 0.978821318033826
+0.026516639947723 -0.229071571960763 0.980240828942208
+0.0318757315520338 -0.234739672815631 0.978739098914738
+0.0290015770505187 -0.227685333062182 0.980493394999143
+0.0374845512879464 -0.238445517663268 0.977643924709317
+0.0415288421276988 -0.235521767540964 0.978189067760376
+0.0436887057901917 -0.247770963072917 0.975064021920764
+0.0360869956402183 -0.24423317333409 0.976266810758628
+0.015297462984693 -0.254040331121158 0.974309241355169
+0.00536652396639873 -0.24893243325953 0.975731952993243
+0.00472647702222728 -0.253298188465366 0.974611044537831
+0.000288988761854308 -0.243497507152408 0.977117127316914
+-0.00516722534324187 -0.246680759961057 0.976304718029821
+-0.000821278865509651 -0.242554799491167 0.977351264768622
+-0.00675542996941847 -0.239008402205407 0.978201588549695
+0.00336195319990989 -0.239568517015515 0.978082114612914
+-0.00605958377144328 -0.235809907883322 0.978982108513008
+-0.00393970112076938 -0.232447615250455 0.97979670591376
+-0.0146878443728252 -0.236552914310443 0.978711390532937
+-0.0146700144840841 -0.227470868060708 0.980862271095562
+-0.0268585237779722 -0.225208914621508 0.981126171537316
+-0.0225679744095695 -0.238610880631478 0.978061620847746
+-0.0128029875826901 -0.237090056734519 0.978607882916636
+-0.00986861358268564 -0.260442178225883 0.972687761960082
+-0.0098599195737345 -0.260573318604152 0.972652727142436
+8.90742089306785e-05 -0.268609374798247 0.970514294503837
+0.00663038955389787 -0.26212032191041 0.97226435436868
+0.0107551087449111 -0.269656697485738 0.970164209367141
+0.0299598960851258 -0.266720271157624 0.970572872884964
+0.0296360356846523 -0.260597391349984 0.972244673428701
+0.0386211180396266 -0.266857162717571 0.970229181146237
+0.0459195264588262 -0.260422575784105 0.971658622722903
+-0.0140649462631814 -0.191665519121127 0.988491530599348
+-0.00578191997192896 -0.199510188376237 0.987021405105034
+-0.0104871540643635 -0.200911929259024 0.986698239727348
+-0.00738228361264336 -0.205738347900507 0.985731319423215
+0.00189132831277252 -0.206797920486687 0.985535409287558
+0.000131866080529115 -0.198825534264161 0.987176473350083
+0.00410811020121275 -0.206807052302665 0.985526745729641
+0.00617214310858303 -0.192128355127705 0.988482473190784
+0.00825963652902666 -0.198143481596085 0.987279058374779
+0.0167336313871217 -0.18676036397854 0.989388473769127
+0.0135918046920769 -0.180934157633985 0.990518598233518
+0.00818764698715109 -0.182769661820221 0.990240987414142
+0.00698396461571735 -0.167681573479153 0.992916468870268
+0.005023533690638 -0.173445954269609 0.991937631636568
+-0.00919605231500384 -0.150656186975446 0.995623998278386
+-0.0154148362122395 -0.160030642580833 0.994083284367922
+-0.0108963940573246 -0.165494444056004 0.993248134950749
+-0.0194586154317824 -0.167663285214405 0.992753436194804
+-0.0134122361300456 -0.174706183785241 0.99163847306828
+-0.020040255659348 -0.171161719944912 0.992144673814564
+-0.0204415179819547 -0.175757338739566 0.991332689979393
+-0.0135098239833921 -0.17834265099057 0.990989598075375
+-0.0168103248250065 -0.186663318371807 0.989405487428538
+-0.00109229231633507 -0.187937037850336 0.989306563559313
+-0.0140521348330353 -0.191628401445004 0.988498909087039
+-0.0140649462631814 -0.191665519121127 0.988491530599348
+0.0216845823620636 -0.122979377816422 0.999227127093569
+0.0170756536910541 -0.127247530964965 0.998782002197849
+0.0232063499958657 -0.1374960451082 0.997299003759391
+0.0110569784215589 -0.131316718637971 0.99833995343988
+0.0074880799156609 -0.136498652357888 0.997677827038196
+0.0136230918832199 -0.141558908811092 0.99690746145455
+0.00489745087747385 -0.137898416954297 0.997501399285435
+-0.00482082411810857 -0.14601405430269 0.996346152499679
+0.0012694188757438 -0.146634129569876 0.996265938703619
+-0.00106899934857312 -0.15122994988821 0.995578906715687
+0.00725032263358138 -0.148829233821462 0.995914801567797
+0.000827048334107979 -0.157428386312099 0.994617825686943
+0.0142397105736769 -0.151856737195963 0.995382219055059
+0.00161841907504605 -0.159048685144773 0.994359038010625
+0.00717095550605175 -0.16391363918907 0.993544108877369
+0.0206778057993927 -0.153057061948495 0.995085405447702
+0.0126013483059554 -0.16047338513805 0.994051557356663
+0.0113794309606928 -0.165303804400443 0.993274463983521
+0.018943856950421 -0.159198807928527 0.994155857920667
+0.0231086931560697 -0.159065074445559 0.994089176277585
+0.0198407735421749 -0.164315992569896 0.993305390245627
+0.0257743960746225 -0.161492429131427 0.993632163247657
+0.0278489561174003 -0.157939278652947 0.994147182212854
+0.0528915583660034 -0.29996293361737 0.95983004824254
+0.0491878792181461 -0.309232532129334 0.957081393409621
+0.0507332970232013 -0.294511206806752 0.961633132560638
+0.0414816288804014 -0.279159661071364 0.966642725155447
+0.025149854375474 -0.287464151372698 0.964769841205905
+0.032304721223369 -0.292518888403421 0.96303587934921
+0.0228361430409157 -0.292971595974758 0.963169328063876
+0.0314729373765686 -0.297001441385649 0.961690489725118
+0.0221848727335425 -0.295187172303066 0.962507851775515
+0.0317110199852139 -0.309449229758158 0.957749750933708
+0.0255270077437955 -0.305656375554205 0.959151474981254
+0.0214710447375834 -0.310083259359473 0.957828986042332
+0.0305104810933973 -0.315765869070525 0.955724869653179
+0.0299747679877594 -0.32759348384909 0.95175260578771
+0.0282768116318417 -0.323205436417952 0.953303554904637
+0.00267121180771578 -0.326323554318829 0.952656707594191
+0.00708138010775933 -0.336100393670137 0.949228834070346
+0.0127247125827528 -0.34021131586506 0.947704248300624
+0.0211824292564902 -0.335005594593166 0.949405896485835
+0.0250989350828993 -0.343341212964032 0.946327562178177
+0.026788714333596 -0.343370884070958 0.946270469134846
+-0.0550345241415647 -0.312116295978645 0.955826144723549
+-0.0515583091172205 -0.317838512601729 0.954132810812045
+-0.0456323324685337 -0.31753005638845 0.954537245749703
+-0.0447404625972837 -0.309711454425764 0.957144767526866
+-0.0451289856475122 -0.313871918657016 0.955770261795684
+-0.0384618089462529 -0.313065607154045 0.956326102785996
+-0.0384324264037466 -0.313006994360254 0.956346469686735
+-0.0339067369373732 -0.296583081543602 0.961736870943587
+-0.0434393136819453 -0.291041448916878 0.96304563808742
+-0.0341393315823212 -0.279737635283505 0.966762825849807
+-0.048726216760074 -0.276340107040571 0.967114730030029
+0.0281667225817893 -0.321947112815904 0.953732505626449
+0.0212118294212987 -0.310826555569042 0.957593812973793
+0.0194051315678008 -0.298781696370713 0.961458235589396
+0.0253921477491317 -0.280749859308026 0.966738721336437
+0.0168093789907761 -0.279473447544876 0.967295733938347
+0.00432705701899172 -0.291308902466367 0.963934333822276
+-4.31396600150823e-11 -0.320289045947386 0.954706199333655
+0.0170613379125037 -0.323819498379335 0.953361863731705
+0.0281498654317794 -0.321948587180731 0.953732505626449
+0.0281667225817893 -0.321947112815904 0.953732505626449
+-0.0271472098971277 -0.310294028525766 0.957616648171935
+-0.0182923750115268 -0.303246649602292 0.960081172881451
+-0.0223232866515619 -0.297376123254501 0.961830604727878
+-0.0109428951899404 -0.298571317452304 0.96165712259602
+-0.000910586364520584 -0.278997690729924 0.967578657991092
+-0.0256060339134691 -0.276496869114269 0.967958063346356
+-0.0272419057006047 -0.310315929129855 0.957606862288525
+-0.0271472098971277 -0.310294028525766 0.957616648171935
+-0.015545596058213 -0.344063269888713 0.946270469134846
+-0.0140041232191867 -0.340086556819167 0.947730984195275
+-0.00896590079653716 -0.341255893705111 0.947371641772347
+-0.024336120118381 -0.31032763761188 0.957681319955554
+-0.0380183722931728 -0.328583190231217 0.951123909102097
+-0.0333404034176766 -0.330872111944119 0.950505688061668
+-0.0366944967383175 -0.342453957711749 0.946270469134846
+0.0390746377472636 -0.221603282845207 0.981536630858547
+0.0318858796858201 -0.221245322882215 0.981877180598167
+0.0300391307945181 -0.212688962916998 0.983824199577547
+0.0379680994217019 -0.215327792151613 0.982975770481356
+-0.05040792876974 -0.285877569779589 0.964252070681759
+-0.0493843287360114 -0.286650423243904 0.964075579469465
+-0.0512215075087867 -0.290491604087672 0.96282915676827
+0.0453459026119398 -0.257169393287302 0.972551619335729
+0.0435614323061544 -0.25667874959916 0.972762777412688
+0.0446079971607145 -0.252984523513753 0.973682678007486
+0.0511751878854764 -0.340591102919916 0.946270469134846
+0.049199036943072 -0.338446281543326 0.947144428940681
+0.0593924794433216 -0.339254672228539 0.946270469134846
+0.0472009164753276 -0.341164583049307 0.946270469134846
+0.0411634124445166 -0.336706485710961 0.948147307097424
+0.0484212730282553 -0.340993518357229 0.946270469134846
+0.0379680994217019 -0.215327792151613 0.982975770481356
+0.0432265445671891 -0.216879261940612 0.982417351019858
+0.0429713642576842 -0.205369984769815 0.984898792368779
+0.0513069866870566 -0.203734859972562 0.984839428510584
+0.0466836647174667 -0.2003418067409 0.985765081507932
+0.0527187256727668 -0.19681766355182 0.986170646124413
+0.0463240766676162 -0.194915858013621 0.986869235621268
+0.052995565805507 -0.192084880229436 0.98708858203922
+0.0368978550868821 -0.187429183400885 0.988715251980905
+0.0514071144651726 -0.184592170388293 0.988601051594476
+0.0385385416239819 -0.182028065994871 0.98966133803421
+0.0529555859744334 -0.175408427191598 0.990190178493139
+0.0480138787972931 -0.170198889803901 0.991350596586474
+0.0571173743529489 -0.170340195048993 0.990843490919578
+0.0579731868386974 -0.163312547988904 0.991976371330052
+0.0518406779725666 -0.163057105521106 0.992357760309468
+0.0583879537980976 -0.161374138066956 0.992269234842247
+0.0543388251142845 -0.156004781873919 0.993357337576801
+0.0590147389811354 -0.157774928724547 0.992810824099411
+0.0645745069390954 -0.135950726986019 0.995688973970057
+0.0533503964129463 -0.146706466907323 0.99482659180892
+0.0589684061144976 -0.13637895057863 0.995978166888907
+0.0513471971442339 -0.135836222338187 0.996474277664166
+0.0601151208412889 -0.133855923423237 0.996251857720099
+0.0650116658912697 -0.124197417134126 0.997194807886229
+0.0646876353028799 -0.117229803425398 0.99805895769126
+0.0559301188597395 -0.112502816069037 0.99913159202423
+0.0472009603149121 -0.120374622558001 0.998664618172372
+0.0496721711357089 -0.113457531389963 0.999354323543737
+0.0270982922504866 -0.117375599192884 0.999768798908637
+0.0269335807589974 -0.11748511260794 0.9997603865642
+0.0216845823620636 -0.122979377816422 0.999227127093569
+0.122567980407614 -0.321866881524206 0.946270469134846
+0.123998110490348 -0.317645498732756 0.947509791891167
+0.116609685450192 -0.32350605963375 0.946464479333193
+0.124207968352499 -0.311898981409249 0.949389491196115
+0.116293752410766 -0.310166814380246 0.950958101289133
+0.111804472687585 -0.317751501581172 0.948990380947015
+0.113415985466649 -0.309655778447928 0.951472076896866
+0.108900007449491 -0.326281387124339 0.946430264094359
+0.108272600223343 -0.317412966267576 0.949513060934969
+0.104435268371685 -0.320904077377209 0.9487691225176
+0.108550822375131 -0.308315468026093 0.952474299463001
+0.100137435432843 -0.318875705779305 0.949915669040512
+0.104429938876328 -0.305973003034124 0.953689629429075
+0.0950132237225201 -0.302262946399654 0.955854904549667
+0.0909354068348441 -0.314126923756899 0.952420089852586
+0.0889057093953589 -0.302056222793278 0.956507612676849
+0.0838202933405732 -0.313873156869444 0.953156230542039
+0.0840533251823185 -0.305507699932386 0.955849927450862
+0.0799496547584443 -0.306186472102057 0.955984778647496
+0.0844027345309917 -0.29845187132643 0.958045749902082
+0.0737194181320274 -0.304742824184569 0.956946319548954
+0.0776475553880405 -0.292849188731467 0.960343277063771
+0.0642079706687041 -0.291428227586258 0.961767084417292
+0.0603167191099702 -0.297796114856336 0.960066855678437
+0.0694677089560057 -0.300993574009182 0.958449845228003
+0.0592548232900841 -0.301495108774204 0.958977875293321
+0.0670260974315855 -0.308210526441334 0.956327754304897
+0.053661508004083 -0.297939751642775 0.960417277515231
+0.0528915583660034 -0.29996293361737 0.95983004824254
+0.071396144274647 -0.123661749390946 0.996824639703636
+0.0679148939227152 -0.126836100185072 0.996669037782005
+0.0745000886046177 -0.138866412809176 0.994592809239749
+0.0687824782812146 -0.137775605682771 0.995156195358417
+0.0732983912425147 -0.144529033320318 0.993875094953462
+0.0679699412564444 -0.139854305887979 0.99492203725226
+0.0646956458459744 -0.155942707262572 0.992746365120614
+0.0679342272587024 -0.160120704272273 0.991864557704384
+0.0759456228944782 -0.154668841000927 0.992148583623743
+0.0772995987078181 -0.173691162961637 0.988890869585034
+0.0684807020229762 -0.178799292357896 0.988630470146837
+0.0601110264974127 -0.197377955364778 0.985635636140175
+0.0771490752333458 -0.204384839358518 0.98301773006952
+0.087319216437412 -0.197745436877498 0.983524832749475
+0.0898066868886826 -0.203234624444467 0.982180964189896
+0.0790702491136148 -0.207227286669214 0.982269691767402
+0.0900867424010421 -0.205779307726446 0.981625313118602
+0.0720429032060673 -0.213602421176816 0.981444255047144
+0.0871814055471047 -0.214906327801544 0.979930442836473
+0.0823829155231031 -0.22166307154098 0.978839893927976
+0.0886134337966483 -0.225269557594061 0.977471373377319
+0.0978564856728076 -0.224764801027054 0.976705632435401
+0.093095558683847 -0.220495405632876 0.978143135255846
+0.10119531508204 -0.221233736482229 0.977171500836756
+0.106185041211113 -0.212018898945038 0.978683668767967
+0.117083879872982 -0.210444638919886 0.977779841796592
+0.123031724607099 -0.213097198035967 0.976474156815951
+0.0278489561174003 -0.157939278652947 0.994147182212854
+0.0340691930695628 -0.145735189871742 0.995816019411536
+0.0305459432050915 -0.156678017945137 0.994267541482922
+0.0374091773137767 -0.155259258518102 0.994255558745897
+0.0286007328150279 -0.162202816174097 0.993439099546437
+0.0658353539558701 -0.338063463587569 0.946270469134846
+0.0610497227202005 -0.332666480435788 0.9485014202152
+0.0635610509986051 -0.326567217644038 0.95045402053765
+0.0717077096773427 -0.33686674459814 0.946270469134846
+0.0415288421276988 -0.235521767540964 0.978189067760376
+0.0474563293310945 -0.230984530559008 0.979001043640329
+0.0471075468432425 -0.221718722371531 0.981157829903195
+0.0390746377472636 -0.221603282845207 0.981536630858547
+0.132739622550678 -0.317807161417773 0.946270469134846
+0.126164496935585 -0.314812115167237 0.948169210561554
+0.123365307596834 -0.321562124829491 0.946270469134846
+0.0698030072362786 -0.120902355096118 0.99727586991413
+0.0696129368355037 -0.121158455614306 0.997258074752114
+0.0701162968916654 -0.121444988696921 0.997187956019628
+0.0446079971607145 -0.252984523513753 0.973682678007486
+0.0457668386851067 -0.248679375159497 0.974737382502104
+0.0436887057901917 -0.247770963072917 0.975064021920764
+0.0459195264588262 -0.260422575784105 0.971658622722903
+0.0485205350139779 -0.257996885446726 0.972179183474809
+0.0453459026119398 -0.257169393287302 0.972551619335729
+0.123031724607099 -0.213097198035967 0.976474156815951
+0.149361359259646 -0.222701098619221 0.97064123394481
+0.149000808114975 -0.232128256127153 0.968485535198359
+0.152267074658367 -0.226392407308885 0.96933493483309
+0.16537798331608 -0.242398704182238 0.96329745709468
+0.176940528135606 -0.245975983697585 0.960331643208271
+0.171429284354932 -0.250610036128609 0.96013312111247
+0.176275008883593 -0.248906850000127 0.959698651278673
+0.178065126311815 -0.256679818968551 0.957317753583328
+0.178810019463655 -0.24970394309994 0.95902237603705
+0.177534822734533 -0.261912479612497 0.955998033334719
+0.18877476989587 -0.258941272436025 0.954653080275748
+0.181204348817236 -0.245537268478912 0.959648599101586
+0.188920405154785 -0.253243944870739 0.956151444543414
+0.195510273617935 -0.247594480822504 0.956306282514172
+0.193046785105503 -0.256237561171028 0.954528287168879
+0.199646138508417 -0.249815063511419 0.954873213270465
+0.197717857007963 -0.258034406814391 0.953087033759312
+0.20086826883362 -0.252670821220802 0.953864977174123
+0.199668540483325 -0.257652469173735 0.952783647566401
+0.206403224425069 -0.254305412967098 0.952247586440926
+0.20171945875999 -0.257901392013854 0.952284165548757
+0.215317112694752 -0.261767861854301 0.948243179506725
+0.199952269495115 -0.264643413781731 0.950805949426961
+0.193181402406771 -0.271993466035542 0.950131306819287
+0.20985857805543 -0.272064627238125 0.946567068845274
+0.219703616988016 -0.264118000869234 0.946583859095021
+0.219996135655189 -0.264996036838482 0.946270469134846
+0.0970435425654463 -0.0814292008012012 0.998999917969579
+0.0844403236812399 -0.0823155877541116 1.00007148531958
+0.0862608216996672 -0.0890391361082984 0.999339833530509
+0.096018376751622 -0.0839896746161903 0.998886983539104
+0.101177397671359 -0.0875808117582055 0.99806900343224
+0.0870599325801551 -0.0918864520560975 0.999012736689418
+0.0990890465144801 -0.0932723619171155 0.997762811174707
+0.0948676818532368 -0.0969399734042324 0.997823513701787
+0.10155195781272 -0.102649677608308 0.996593820747105
+0.0812463303287375 -0.10299391043423 0.998418894162956
+0.0938275822272084 -0.113216754631574 0.996206480245983
+0.0830532333630407 -0.113249591721492 0.997158809018333
+0.0847408416004385 -0.120150059308464 0.996208789869384
+0.0767094538090797 -0.11034988990298 0.997991764241926
+0.0698030072362786 -0.120902355096118 0.99727586991413
+0.0701162968916654 -0.121444988696921 0.997187956019628
+0.082154020815706 -0.127561191274426 0.995503821863312
+0.0718515385765029 -0.123230578299572 0.996845314467667
+0.071396144274647 -0.123661749390946 0.996824639703636
+0.304723978591462 -0.160513227226634 0.946270469134846
+0.30086522523566 -0.164009798863291 0.946905434624133
+0.30119302787755 -0.150320296502829 0.949070897466177
+0.293873573500026 -0.164583846668693 0.948999199269452
+0.287358357611075 -0.152386090115398 0.953022903109053
+0.293548959400671 -0.148295111016241 0.95178073550764
+0.291941973763643 -0.138836603438613 0.953699785834419
+0.280245769053436 -0.15190780781937 0.955214806654064
+0.280766787866506 -0.14520012778915 0.956104562127563
+0.273827190892902 -0.147872570231315 0.957706308061551
+0.292728334615897 -0.134293511391696 0.954109204918961
+0.30920161476596 -0.133656147791481 0.948988617204476
+0.304954421115574 -0.126253905216262 0.951373613497719
+0.311260886425844 -0.128445036268432 0.949035053746382
+0.31244766214294 -0.123070107908734 0.949357259918912
+0.302440479477436 -0.124261930794305 0.952437782182506
+0.296865262827106 -0.11849128767948 0.954923991986091
+0.295574582100657 -0.122908738047205 0.954765996738293
+0.29273671890109 -0.117804057366062 0.956282603352752
+0.291813201038219 -0.124800097701156 0.955677242228573
+0.288581802172895 -0.119764695012373 0.957301395216385
+0.276429639203048 -0.126676107003911 0.959994176276297
+0.279095589119649 -0.133193526699025 0.958339259646307
+0.275445910701043 -0.1299439877958 0.959840148313144
+0.273063553455739 -0.135158092702506 0.959800805246144
+0.27559146738686 -0.12611163036978 0.96030942918886
+0.269273847799127 -0.127083978632039 0.96197206678079
+0.270301074051154 -0.13561051872785 0.960518670603105
+0.263653679041826 -0.137050626449673 0.962160518477796
+0.265620872191402 -0.124408949419376 0.963336371970168
+0.258790761072451 -0.13596038843961 0.963634326266396
+0.260278995934709 -0.128943261360043 0.964197842574362
+0.254141847461553 -0.131329711644401 0.96551200314042
+0.261052544103252 -0.127323833141025 0.964203925905457
+0.259792468795622 -0.119441747470524 0.965551936520384
+0.250759132997517 -0.12101659171059 0.967741619312245
+0.259743865902397 -0.118251672542014 0.965711481793136
+0.25624594516124 -0.114855219278027 0.96705495924121
+0.262986097895538 -0.107472591331766 0.966093657171039
+0.258378764763685 -0.115545937025425 0.966404961885083
+0.268341199598535 -0.110618698869696 0.964264229378232
+0.268402076887554 -0.0998764982734477 0.965419085275965
+0.262576854728221 -0.0970936601732018 0.967303063426972
+0.256864219081381 -0.102348537379706 0.968294660654466
+0.263291953584038 -0.105453217671553 0.966232873618268
+0.25559307900018 -0.105796958783337 0.968260389295878
+0.247684352604482 -0.10061951028262 0.97086413860302
+0.256231329725537 -0.0932605771557607 0.969379683310754
+0.139411942107902 -0.0507417972552973 0.996011335482185
+0.137430104327798 -0.0529499628007157 0.996171806398802
+0.150374286775636 -0.0694221719527028 0.993286029257478
+0.127932456513796 -0.0541355360145224 0.997372362917063
+0.133197789540758 -0.0702599117759011 0.995676098768419
+0.126008769316863 -0.0618865788762474 0.997166406077864
+0.118528857937655 -0.08077308436018 0.996732470966477
+0.11507721181418 -0.0741650449560538 0.997650129768819
+0.123568190105828 -0.0596660347649443 0.997607070288397
+0.119842860515541 -0.0482372734061055 0.998679054670617
+0.112929408970387 -0.0573915258207524 0.999000581257871
+0.107429668762614 -0.0529784497925772 0.999850563897991
+0.102185218997152 -0.0766698573633082 0.998863811533081
+0.098351430487812 -0.0684553557484034 0.999844918169993
+0.104210091434293 -0.0526403050429384 1.00020910570152
+0.0883502917142178 -0.0711904597351165 1.00058739967917
+0.097834688241212 -0.0813278183292072 0.998931008499864
+0.0970435425654463 -0.0814292008012012 0.998999917969579
+0.251832418321548 -0.0916595043406899 0.970684278406908
+0.248771690521599 -0.0957935254117862 0.971074274442592
+0.243078872837985 -0.0915223155951745 0.972926167459747
+0.238138635441789 -0.0984212002421061 0.973474323057792
+0.241011694077677 -0.0904223526952961 0.973543096863644
+0.232188478792791 -0.096185112614908 0.975133803345544
+0.241945913097973 -0.088061110716492 0.973527819794877
+0.198806378623591 -0.0723596042394303 0.984524815072168
+0.195309840008375 -0.0745308036875241 0.985062549129544
+0.199244009667221 -0.0804472236038022 0.983808451288241
+0.192091538079007 -0.0769945186019044 0.985505801659078
+0.18131720439308 -0.0659940653942696 0.988340960763953
+0.226220751262816 -0.0823376198764556 0.977800433652577
+0.222748961603581 -0.0892601283890599 0.977990045749186
+0.213594345801308 -0.0895017981749805 0.980008103826267
+0.216478820541127 -0.078791847067606 0.980294733788159
+0.167615572731482 -0.0610070793059368 0.991076261471566
+0.167736097197755 -0.0624371532731739 0.990966802465152
+0.161830086289213 -0.0609182054730482 0.992042839505215
+0.161575218921772 -0.0588085703136056 0.99221167131215
+0.318424569740178 -0.131251638576824 0.946270469134846
+0.317582243905051 -0.128982604546039 0.946865357947344
+0.30515575648728 -0.144116166311922 0.948767355514633
+0.306379892914119 -0.157329464695115 0.946270469134846
+0.155249494130112 -0.0565061947780665 0.99335474253866
+0.153743798343869 -0.0598742053743204 0.993391626701974
+0.153996519628527 -0.0560501493549543 0.993575589826757
+0.205511752132237 -0.0748001606075024 0.982964320669184
+0.202687275593602 -0.0782186392435037 0.98328465501468
+0.202362068077718 -0.0736537693637098 0.983704079315434
+0.232367290771945 -0.0845747773027004 0.976166763019262
+0.22659383528448 -0.090961533470503 0.976949452755753
+0.226626456214657 -0.082485284402898 0.977694035575833
+0.153996519628527 -0.0560501493549543 0.993575589826757
+0.15408255009462 -0.0406672141221949 0.994310688593801
+0.140946713202176 -0.0322112106073731 0.996566837672572
+0.135358111738241 -0.0408025870715284 0.997026745115159
+0.142316475079008 -0.0473368726755501 0.995768166495789
+0.139411942107902 -0.0507417972552973 0.996011335482185
+0.241945913097973 -0.088061110716492 0.973527819794877
+0.24346251941487 -0.0867074678919374 0.97327119378513
+0.234329529247235 -0.0822998620378317 0.975892106962303
+0.232367290771945 -0.0845747773027004 0.976166763019262
+0.216478820541127 -0.078791847067606 0.980294733788159
+0.218019084610595 -0.0720269423382802 0.980473762179772
+0.209506146555222 -0.069713725600354 0.982494870733939
+0.205511752132237 -0.0748001606075024 0.982964320669184
+0.256231329725537 -0.0932605771557607 0.969379683310754
+0.257650232101656 -0.0919732008478096 0.969126559446067
+0.254751221195462 -0.0875637332846098 0.970300679126157
+0.251832418321548 -0.0916595043406899 0.970684278406908
+0.226626456214657 -0.082485284402898 0.977694035575833
+0.22661162919725 -0.0815181965344496 0.977778580838392
+0.226220751262816 -0.0823376198764556 0.977800433652577
+0.202362068077718 -0.0736537693637098 0.983704079315434
+0.202054234937373 -0.0702520312638206 0.984016127025965
+0.198806378623591 -0.0723596042394303 0.984524815072168
+0.18131720439308 -0.0659940653942696 0.988340960763953
+0.166692717380401 -0.0529773267800583 0.991693471199431
+0.167615572731482 -0.0610070793059368 0.991076261471566
+0.161575218921772 -0.0588085703136056 0.99221167131215
+0.159388900585123 -0.0460263383234356 0.993240028669204
+0.155249494130112 -0.0565061947780665 0.99335474253866
+0.327903039405152 0.119346946065188 0.944608333233291
+0.333450685048981 0.119042127258529 0.942702823045592
+0.327122252532977 0.117256210104078 0.945140737186679
+0.331630838740688 0.113796161993132 0.943991748010426
+0.336753128076115 0.119580701615331 0.941459922955904
+0.335658248719175 0.110022650926302 0.943015141103219
+0.348954500863927 0.111303180502338 0.93802524397634
+0.353832989000379 0.104513936052373 0.936978149727035
+0.35252061697356 0.113894350884791 0.936379352316737
+0.356203270782273 0.104059905592899 0.936130207787361
+0.364520423031696 0.108091447581925 0.932464530238248
+0.358420073365717 0.102798320470266 0.935423196375312
+0.362916632041482 0.0991302698520714 0.934084422194655
+0.364301067789076 0.103534021496787 0.933067220729805
+0.366553766025951 0.0971886005291954 0.932867467832043
+0.369407847060021 0.105140769926508 0.93087714604546
+0.377112516872542 0.0962004813755451 0.928752182770608
+0.377648085086046 0.104536620168263 0.927633019504286
+0.383373181673984 0.0919640395014793 0.926615680318295
+0.384972159378846 0.0959179708658933 0.925551284029231
+0.396268459337211 0.0916132758024376 0.921209702419194
+0.392082758882427 0.0989988761180285 0.922236050430968
+0.398481123848154 0.0896306076973622 0.920449970449515
+0.401444408580588 0.0941645887709744 0.918708015117412
+0.400810921577074 0.0901010014883473 0.919391872204303
+0.412869060664094 0.0880887142950482 0.914236576144377
+0.409849568172984 0.0943251697302408 0.91497272845904
+0.419235947537789 0.0836825846504449 0.911749661540004
+0.416641312676723 0.0898527155572223 0.912351635104585
+0.422076112201051 0.0849981523737462 0.910316466731375
+0.425069134880407 0.0892677784679999 0.908513342939668
+0.428164233508023 0.0849217020862452 0.907476001698812
+0.423944639990858 0.0820617644909286 0.909717433619724
+0.440892683523263 0.0737991173576625 0.902339366254673
+0.440833452697725 0.0810798790983485 0.901743267337217
+0.431005687945308 0.0867893554115188 0.905952926341123
+0.441934823421741 0.0855904871747916 0.900786811821963
+0.44562657210324 0.0771853486504213 0.899726836428273
+0.44135890466139 0.0752457777803105 0.901991901406179
+0.446200075222226 0.0668032027997184 0.90027319462893
+0.454744315624499 0.0695789168790524 0.895776412802404
+0.453003931297243 0.0627185502353791 0.89716376525449
+0.45723258392895 0.0685918592282807 0.894585111122057
+0.454459087411881 0.0556672332420021 0.896893024285472
+0.457277278762309 0.0654662014213433 0.894796438749729
+0.46089152364539 0.0505486903185997 0.89390873882008
+0.467508441713063 0.0590458753862403 0.889942942849089
+0.464295993763744 0.0544112959773439 0.891917956453957
+0.468055580651232 0.05375532209397 0.889990639707975
+0.466789461462839 0.0484922789929118 0.890957405011769
+0.468972842700491 0.0518850270691342 0.889618691786237
+0.467898090281391 0.0417501491011047 0.890717296430839
+0.472445713757512 0.0428155199681694 0.888262843308224
+0.471375272328893 0.0565903747397766 0.888060742361508
+0.472637910139944 0.042944635312179 0.888154358316419
+0.477439420669902 0.0417481178048754 0.885639709052241
+0.478668997270661 0.0490924529916998 0.884598735083403
+0.479890111848689 0.0418078837704893 0.884311359988373
+0.480167458902277 0.0477088919468437 0.883862021494608
+0.484567468405077 0.0443695099476419 0.881631847854024
+0.48203024793694 0.0550715991619206 0.882418811585293
+0.478413047928599 0.0566521951540573 0.884285295793103
+0.481818420223442 0.0619642675589196 0.882077343252434
+0.476389040351938 0.063452081802344 0.88491599349741
+0.480213872307565 0.0650343183433781 0.882731088316813
+0.486538754988172 0.0608018520260195 0.879563627422579
+0.482241761379332 0.0561940998509237 0.88223245617224
+0.485806638218492 0.0426935345311114 0.881032446832742
+0.487843980263511 0.0477395642251514 0.879646625030897
+0.489317320393159 0.0423587365844405 0.879103689787632
+0.493155243086743 0.0455452346235842 0.876796748294117
+0.48976607137412 0.049740332582043 0.878466900142167
+0.49576765745001 0.0448492553863697 0.875358197607024
+0.499229436297507 0.0475574243538927 0.87324524695122
+0.495022943207157 0.0499838239658492 0.875501515155899
+0.502864042057437 0.0488335584737605 0.87108669991709
+0.492060688052547 0.0616463067263283 0.876427414073896
+0.508577531060214 0.0464997022108346 0.867891509691736
+0.512238556942519 0.050661250719745 0.865502223253619
+0.506815854739139 0.0586171991538456 0.868188178535273
+0.514646808602791 0.0530843513037069 0.863926914757045
+0.514369321819238 0.0599461937720252 0.863643244993825
+0.517931193869452 0.0570502127754489 0.861708507349927
+0.51570498783696 0.0503301476772719 0.863460619689667
+0.522829245836167 0.0518408246205801 0.859075729258511
+0.529884346868645 0.0655164959937704 0.853802768615965
+0.526547825351043 0.0760331795122838 0.854994352748215
+0.509500392816628 0.0854281488138709 0.864384394300324
+0.509149272411359 0.0936530703984843 0.863739035130357
+0.496024486808239 0.094202790347182 0.871283273555408
+0.518304714331708 0.102728629331328 0.857237453578198
+0.516141749260283 0.106942308234627 0.858026827890588
+0.523839875421669 0.107225928856015 0.853313181135259
+0.517146054766234 0.109079693948891 0.857152599253911
+0.526836905659764 0.109125692907052 0.851224681257775
+0.540492255609503 0.124195381367499 0.840531158775886
+0.545539645796785 0.120402912571151 0.837817780611215
+0.557888645895167 0.126876167735404 0.828680696554489
+0.55460463193162 0.140302558825003 0.828720637022603
+0.542347144394169 0.142163744637026 0.836479554249994
+0.540668998505267 0.153486299168599 0.835564473887466
+0.518951533352195 0.155980259552666 0.848768793406831
+0.505030084716643 0.148788823223852 0.858402877217196
+0.503623057429445 0.153483928835094 0.858402877217196
+0.503254353746003 0.14608890046349 0.859908186143766
+0.497746327551209 0.157002807944808 0.861189707153267
+0.491570423793645 0.156437832008415 0.864832193646746
+0.496282946283737 0.16051697025992 0.86138640544561
+0.487250091542653 0.165042598124961 0.86567735854407
+0.486946464425965 0.159009083838394 0.866976500281252
+0.479422270304528 0.165929575839554 0.869868186909808
+0.470107661886383 0.152657439410405 0.877350267811196
+0.471086435948985 0.145608502174546 0.878023196709158
+0.435490226312815 0.13885118563444 0.897283461919322
+0.437931124212056 0.14332071116001 0.895390699191673
+0.421858700799581 0.153544010152493 0.901392519109173
+0.549557183677684 0.200022456879632 0.819772479784536
+0.555424963759991 0.195307304170775 0.816949916806261
+0.548036470364605 0.198150623074383 0.821243787024011
+0.555697359501339 0.18913909771965 0.818215036745864
+0.551778850417134 0.17873352456416 0.82319100300551
+0.572082004365431 0.150421253040101 0.814950689867231
+0.578276288821913 0.150535929044453 0.810545783933936
+0.570573535514573 0.131954914949387 0.819196399522789
+0.581810901076592 0.111914858250002 0.814260486509892
+0.575295311093374 0.113206334132947 0.818699353209808
+0.578154972610379 0.103435937886678 0.817977282324757
+0.572237242735636 0.0949479373336467 0.823151521423852
+0.559483803949284 0.0942195476594077 0.831955257184721
+0.546499738704183 0.105841803808137 0.839157046185575
+0.54409117149527 0.0971535361261655 0.841768963266695
+0.528263249156564 0.0994105967466517 0.851530664653379
+0.540523578615766 0.0817139863543715 0.845698578333015
+0.575096088237986 0.083650208631506 0.822384418559393
+0.572763905529578 0.0867315031537411 0.823691783911432
+0.577732391796002 0.0916496721204551 0.819679584392514
+0.581037540486453 0.0876044024167915 0.817783495322968
+0.589761346468047 0.102143938480378 0.809813046353239
+0.586617804351993 0.0894335326280067 0.813590925993476
+0.594224508809109 0.0888676727785726 0.80811432969939
+0.590161354248662 0.0824865869900415 0.81176014863882
+0.593197532239888 0.0738130624702439 0.810380971860316
+0.597841445802428 0.0779473991768306 0.806572258785554
+0.597291790866264 0.0614964273813992 0.808399471785512
+0.602341928657287 0.0562407551968306 0.805028060651497
+0.608666542500443 0.0623006290508936 0.799807896722968
+0.613079789951572 0.0563705913026043 0.796871713382481
+0.604422406399143 0.0500467769760048 0.80387677834167
+0.618963416031103 0.0433649687141704 0.79312846948242
+0.621884093991355 0.0505355292335401 0.790414659483006
+0.625292994361244 0.0374836224004386 0.788449522324981
+0.627172156840898 0.0466096937666023 0.786467813791842
+0.635218851411684 0.0175577570275931 0.781177147630024
+0.644542126499403 0.0187430390840777 0.773474722052065
+0.647118223181405 0.0147859645991445 0.771406754233727
+0.636616933930196 0 0.780235784512166
+0.636616933921166 3.39087377013494e-06 0.780235784512166
+0.631442537523734 0.0153666210184751 0.784278769803226
+0.628150849860972 0.0156447938236038 0.786912161708761
+0.62733636329203 0.00278343992260862 0.787712091917934
+0.625538268873089 0.0101830870704688 0.789079957236892
+0.613032657879292 0.0188987307612321 0.798675652783447
+0.60680132738971 0.0137870963254389 0.803524153372503
+0.607471020272451 0.00030091435284397 0.803136270491938
+0.607604251487961 0 0.80303553693081
+0.543661793877963 0.197876710473203 0.824212145827577
+0.544109676635337 0.197347416471193 0.824043480044551
+0.548030037398588 0.19827376429644 0.821218358599357
+0.547535878601419 0.199286761997523 0.821302774947652
+0.595253202394576 0 0.812233110036153
+0.595253202394576 0 0.812233110036153
+0.595253202394576 0 0.812233110036153
+0.598730796689766 0 0.809673040859851
+0.598367557929129 3.18714245407245e-06 0.809941519869041
+0.598367557937617 0 0.809941519869041
+0.33414907632788 0.121620317587118 0.942126261781951
+0.335118778132908 0.121377462044789 0.941813100487709
+0.332323538699809 0.120955876228988 0.942857222293871
+0.421858700799581 0.153544010152493 0.901392519109173
+0.416029481924306 0.156989563420338 0.903505809138428
+0.403864086101358 0.160056044348573 0.9084739196174
+0.391729220554443 0.152198225090469 0.915113609363951
+0.392456721465863 0.156546566384042 0.914067773378776
+0.384137904388072 0.153221289870134 0.918155927249219
+0.385584568680132 0.158899723265726 0.916583012248117
+0.379397204627141 0.158237113052666 0.919275680725792
+0.374713612488479 0.171491630546012 0.91881953030424
+0.383779514310814 0.183128265033834 0.912812315287789
+0.429367425951567 0.165888350120498 0.89564148453833
+0.446264639690807 0.178470534651814 0.884898378133179
+0.460127049423918 0.180560875095855 0.877342503685452
+0.462109782074085 0.191600203790655 0.873952465079664
+0.457966253514117 0.195267366067822 0.875320836260156
+0.46651780955125 0.197001513284403 0.870402514435223
+0.431858439842184 0.236027234515192 0.878543358351871
+0.437243470913596 0.238622606458168 0.87517221095653
+0.435164701343584 0.254763711317937 0.871651383352347
+0.446967871198393 0.23864157447448 0.870240725919396
+0.45292126105531 0.239960287950411 0.866793165346165
+0.458140799740756 0.220453809598369 0.869227315175074
+0.472427288075514 0.205448605652736 0.865246975098418
+0.483705589522174 0.212691471472124 0.857228231352671
+0.480873171996774 0.22001779936585 0.856972671918988
+0.496262038895222 0.225051785644849 0.846832145427665
+0.502956261868173 0.220117856533098 0.844175412981726
+0.495908439986488 0.206527301241416 0.851745439079133
+0.501808595997066 0.199667516863323 0.849923535203661
+0.518641921776812 0.198888598391497 0.839942189918759
+0.538991229588527 0.209576234770705 0.824387806948879
+0.541571680483861 0.202638352488835 0.824431205740356
+0.529117158468058 0.20399321551876 0.832148304472829
+0.539670330670847 0.202500523029077 0.825710889092889
+0.543661793877963 0.197876710473203 0.824212145827577
+0.33113032957302 0.277851337405073 0.90950554651364
+0.335768697983372 0.26643819004783 0.911218454783806
+0.340597971016722 0.266137806807526 0.909512336324787
+0.335625960360297 0.265696401377232 0.911487595651974
+0.338609335258121 0.253764082470301 0.913781433672221
+0.345597976481685 0.25604469415509 0.910523010827728
+0.344042674700547 0.269201968435403 0.907311378841574
+0.353345103608147 0.270324757677118 0.90339402430111
+0.355900289458189 0.247206095519401 0.908995671222713
+0.346850577262773 0.236114310495778 0.915419963422027
+0.337865552454989 0.235346027852165 0.91897122677399
+0.340258963084292 0.220771768713662 0.921700962449233
+0.335183960220225 0.223649806718863 0.922865903999981
+0.332243306638112 0.206557137522652 0.927899528037719
+0.316544966325996 0.25735554671591 0.920660853337552
+0.307644642619825 0.2581445061455 0.923452861717487
+0.28889166515691 0.24240888967353 0.933717589001147
+0.288041469681182 0.239787873668723 0.934656561195254
+0.291131757816383 0.20618312698786 0.941689873438305
+0.296592039167105 0.196818835477156 0.941989654032418
+0.30415724694584 0.197759851182657 0.939376607325593
+0.295432366984761 0.19553500290601 0.942621227840923
+0.299788340872249 0.188458130612383 0.942687373249027
+0.295360942568199 0.185291063854449 0.944710609266622
+0.292334741031085 0.190793901019568 0.944556555490471
+0.292610730721178 0.183496725571675 0.945915911680997
+0.300653682007983 0.182525862923478 0.943578652184905
+0.299075725725751 0.174753839729181 0.945549472942333
+0.304731241716465 0.172337735893659 0.944186197266719
+0.301615694556896 0.166280401852653 0.946270469134846
+0.315872553845685 0.137279747123615 0.946270469134846
+0.316211309319968 0.137283302164104 0.946156806668467
+0.316175114032676 0.13658146473714 0.946270469134846
+0.319631084707612 0.128285497746057 0.946270469134846
+0.323099543726184 0.131317347170934 0.944675308863273
+0.32094494314204 0.124962165133577 0.946270469134846
+0.332323538699809 0.120955876228988 0.942857222293871
+0.323378639821252 0.119545042837194 0.94614176424065
+0.327903039405152 0.119346946065188 0.944608333233291
+0.547535878601419 0.199286761997523 0.821302774947652
+0.545664665232477 0.203067475609192 0.821621977229455
+0.549557183677684 0.200022456879632 0.819772479784536
+0.318485167895958 0.267240786906103 0.917168773805612
+0.321718687010305 0.267101691202949 0.916080112754823
+0.324890005817337 0.272615084043464 0.913332633859092
+0.321076497259515 0.124623762384545 0.946270469134846
+0.33414907632788 0.121620317587118 0.942126261781951
+0.18272995890596 0.316497572868218 0.938343246625004
+0.183068407283279 0.316383290830504 0.938315816523426
+0.18717595382149 0.321149079913481 0.935883235655891
+0.185899723152261 0.30942946260381 0.940076433384345
+0.199082715379894 0.31014368020664 0.937137113801844
+0.20940116546957 0.303109450884646 0.937189848794999
+0.21586694261451 0.306579677035608 0.934590479683485
+0.224053507168579 0.299698020598145 0.934895781558037
+0.216047030156951 0.293137596837217 0.938851974531056
+0.209429911833262 0.294326470152705 0.939978744970843
+0.21315273855375 0.292021561163907 0.939860797066476
+0.227542658146654 0.294687385740376 0.935645597119474
+0.225378019376982 0.290730527860702 0.937405733154831
+0.250437209098068 0.283992303945423 0.933101589109643
+0.251387313531586 0.28992099325456 0.93102053482491
+0.25788233100657 0.284668065181862 0.930865079385962
+0.266689492237281 0.291652070380857 0.92620990308503
+0.275291504223089 0.285262941734495 0.925682797601625
+0.27372161850506 0.273000235582815 0.929836731332279
+0.260900686406848 0.276798162138073 0.932396165409007
+0.258046797867807 0.27236028238558 0.934494904581624
+0.266626817768927 0.251094789697394 0.938035471948282
+0.267200308615389 0.260027929755205 0.935434909987361
+0.294541242674917 0.285492131327886 0.91966771135741
+0.297168759787565 0.269560155039326 0.923621703416228
+0.310518654030065 0.2674665150377 0.919830869689067
+0.318485167895958 0.267240786906103 0.917168773805612
+0.324890005817337 0.272615084043464 0.913332633859092
+0.329686301052803 0.281216664862683 0.908995671222713
+0.33113032957302 0.277851337405073 0.90950554651364
+0.307644642619825 0.2581445061455 0.923452861717487
+0.293788024972389 0.258924246451193 0.927736940615445
+0.28889166515691 0.24240888967353 0.933717589001147
+0.0943855300191855 0.331228880030585 0.946270469134846
+0.100178147222889 0.344012991194937 0.941099570028645
+0.0866453644582852 0.346015295871199 0.941708551432479
+0.0775546689147727 0.354259798298728 0.93943295058182
+0.0764257464214905 0.365326108851546 0.935278001171473
+0.0826406454238306 0.37233421646904 0.931980018546706
+0.075055243868667 0.378508833758949 0.930132664265832
+0.0851204802768024 0.371479747364813 0.932097795907286
+0.0838540127821969 0.351565842377422 0.939903698797795
+0.0964415062490791 0.351727480210286 0.938635081135013
+0.100362480713631 0.368698339037308 0.931685519505448
+0.124681513518804 0.386792166450929 0.921355165047039
+0.142419613284873 0.373493992045003 0.924266136812376
+0.123703866042697 0.375139374985823 0.926291964156732
+0.104397049556268 0.355299062674837 0.936436240278177
+0.108511937907918 0.344980814185674 0.939820406873173
+0.102491318408501 0.328811083898043 0.946270469134846
+0.13576319719346 0.3165273345718 0.946270469134846
+0.138549985850042 0.32337667716819 0.943546727027662
+0.131345926952753 0.326759623096939 0.94341157306155
+0.128134121172327 0.338455607178746 0.939722538284925
+0.138967246557807 0.348469047873875 0.934508655421669
+0.148509994120209 0.326317554275162 0.941015746636735
+0.145200698692387 0.328977656044486 0.940605899897889
+0.168880995565953 0.30273130969223 0.945453311099326
+0.174813128915218 0.305047075435617 0.943628979910562
+0.175429179820609 0.31895942592841 0.938902810454249
+0.18272995890596 0.316497572868218 0.938343246625004
+0.0894129032509682 0.507085772528116 0.865400688716964
+0.0948839241416648 0.501981292047334 0.867790771657528
+0.101297729430622 0.486828619589726 0.875662986062882
+0.124456157219934 0.471327428693298 0.881141373385344
+0.172666481790537 0.455431066469326 0.881372696287269
+0.169654967763682 0.463368418379785 0.877813135445876
+0.17358278923133 0.475476069538237 0.870540362406673
+0.184259267855421 0.477692812056453 0.867125769147119
+0.197079499580671 0.493310614107567 0.855484254006961
+0.18447195378662 0.477417638251933 0.867232089438631
+0.173758805600037 0.475249994411429 0.870628692548313
+0.170130799823892 0.463337543180032 0.877737336582633
+0.193079577922449 0.414419230994805 0.897232398863841
+0.181649838976644 0.403257086853326 0.904674559110805
+0.17795059011267 0.385265159660852 0.913210459987209
+0.167945655653359 0.371206711272078 0.920895669581376
+0.159029703519633 0.366041988954439 0.924538704284864
+0.142318928610065 0.370172112344211 0.925617053538831
+0.149996522085766 0.372660011388115 0.923403789939366
+0.159204895818806 0.366632560151028 0.924274508457539
+0.167069740324076 0.371365594845487 0.920990932003732
+0.177532128071271 0.385286186028327 0.913283032995923
+0.181605734397789 0.405783280803308 0.903553145229622
+0.181606001964496 0.405852267988096 0.903522106325789
+0.19264334072124 0.414855280561019 0.897124651019243
+0.176154281727377 0.449795441339765 0.883573839573738
+0.129810485684772 0.466942002963656 0.88270233016265
+0.101848156583775 0.484171003524743 0.877071486451549
+0.0944525847934014 0.50190696635152 0.867880813449439
+0.0890493848590703 0.50502415728153 0.866642837400911
+0.0382206398939376 0.342286987671773 0.946270469134846
+0.0387794007187507 0.346906702282488 0.944563866549734
+0.042716850942561 0.341754985170472 0.946270469134846
+0.0890493848590703 0.50502415728153 0.866642837400911
+0.0786831532867488 0.510744267867666 0.86429060750952
+0.0573607232283738 0.534442429611264 0.851545675147215
+0.0525212017508691 0.544109722698752 0.845715751911558
+0.0583119952366833 0.55594026764645 0.837603205593621
+0.0528839565859383 0.544074585056575 0.845715751911558
+0.0649977517187711 0.527916871975146 0.855060271884668
+0.0894129032509682 0.507085772528116 0.865400688716964
+-0.189175750247591 0.534630965052291 0.832124550007699
+-0.193898932533099 0.533747193562508 0.831604555859737
+-0.197482542674143 0.555823016268948 0.816155879672899
+-0.190285778989843 0.567814874536568 0.809584208448541
+-0.195340925833327 0.56840674798189 0.807963298388751
+-0.173024958523584 0.590436619217093 0.797180006281769
+-0.171086676949473 0.599809715511539 0.79057362348383
+-0.159821077909187 0.606655922264893 0.787702237547208
+-0.148361585459978 0.606762428782537 0.789858971575127
+-0.163117540585936 0.599338595484809 0.792612714959514
+-0.173989573675571 0.584567939587036 0.801284563846802
+-0.185293626030904 0.563308669880889 0.813878746859348
+-0.18917284345547 0.534622750145914 0.832130488760862
+-0.189175750247591 0.534630965052291 0.832124550007699
+-0.249802283179352 0.432670246373162 0.874325040944024
+-0.240479718466142 0.448117109879777 0.869143003676288
+-0.224245053322741 0.443910499597785 0.875617852951346
+-0.208109509910386 0.446943827578587 0.878055036358348
+-0.195923973968007 0.47645615591324 0.865246975098418
+-0.207974059557207 0.446795569879605 0.878162575658547
+-0.224596108936393 0.443508577058161 0.875731539871939
+-0.240835172729008 0.446774952592155 0.869735339809109
+-0.249676379054545 0.432452174032083 0.87446888047382
+-0.223820286439821 0.387668107931984 0.902034875972338
+-0.21800601919296 0.393358031292959 0.900994913866314
+-0.223801394069208 0.387635385386201 0.90205362590545
+-0.451830862882354 0.379131110452869 0.816184704851642
+-0.448438957882879 0.379739100574939 0.817771188381844
+-0.44125226021737 0.388291368313403 0.817664513199862
+-0.443902937601791 0.391628555340974 0.814632589963133
+-0.439936702642642 0.405777128714875 0.809845429375156
+-0.434656188843495 0.395007762069004 0.817980357591358
+-0.433793790707446 0.407601761607333 0.812239343468576
+-0.424975556390844 0.398618245417115 0.821308876666308
+-0.418148996267592 0.407442296411748 0.820482292322709
+-0.410953084714622 0.40770961019519 0.823977812758343
+-0.415383342106174 0.371030458647506 0.838952965223037
+-0.413510909784134 0.346976851936862 0.850096930772887
+-0.199551907359691 0.280713796441193 0.946270469134846
+-0.209069737838359 0.318641716642655 0.932097795907286
+-0.237738531617838 0.346909552345051 0.914977132542639
+-0.27607628771877 0.349096943904124 0.903306264295905
+-0.308802631139007 0.328645939728363 0.900378687720721
+-0.312638211161866 0.331949284296976 0.897839641348183
+-0.330057672675252 0.323781078487287 0.894581883296217
+-0.352754625342775 0.351280096361175 0.875337345370207
+-0.348435990796118 0.353989724154358 0.87597524822968
+-0.351433290572912 0.351126740957202 0.875930165059903
+-0.343869780187462 0.341704013914201 0.882632959473387
+-0.329995449141169 0.324149795572741 0.894471303942316
+-0.312735581143305 0.332354717081449 0.897655723716319
+-0.308981860243756 0.329089807679794 0.900155046934463
+-0.285772701751588 0.347262333288007 0.900994913866314
+-0.301376467274824 0.358263941555845 0.891553797117043
+-0.302851957005949 0.377642676448991 0.883015119384776
+-0.277462451956658 0.40965629985866 0.877066305213187
+-0.25628456925698 0.421895493108303 0.877708045112762
+-0.253584005272337 0.427389939667668 0.875832170989914
+-0.259776511965956 0.430042277452565 0.872713471555363
+-0.250985435645315 0.430579035330167 0.875018288624914
+-0.250968621482161 0.430636561607949 0.874994801606174
+-0.249802283179352 0.432670246373162 0.874325040944024
+-0.249676379054545 0.432452174032083 0.87446888047382
+-0.255746326605643 0.42183862429288 0.877892357571479
+-0.277267872385341 0.409399792939635 0.877247591324074
+-0.300928594058628 0.36847568485315 0.887534028051826
+-0.288634361963668 0.349817931822026 0.899092108557064
+-0.258778921374521 0.350345864536619 0.907931850446017
+-0.256280945303476 0.362186374476812 0.903985678657411
+-0.243974121740169 0.366142085952115 0.905795562373623
+-0.223820286439821 0.387668107931984 0.902034875972338
+-0.223801394069208 0.387635385386201 0.90205362590545
+-0.243832970903611 0.366027155991585 0.905880015993857
+-0.255680609181679 0.361766297564401 0.904323820340386
+-0.257770392894445 0.352598705965998 0.907346448220385
+-0.239056876407156 0.34939533010016 0.913686879158639
+-0.209321992635942 0.322783753585656 0.930614824629434
+-0.199071476454416 0.281054703759922 0.946270469134846
+-0.413510909784134 0.346976851936862 0.850096930772887
+-0.408841122240552 0.314145852833386 0.864991514358765
+-0.423095346712196 0.288702650355639 0.867000638562693
+-0.428479312925712 0.288501833377957 0.864419557004738
+-0.426683436962629 0.282362061668536 0.86733033542708
+-0.441268791030798 0.265854332568149 0.865246975098418
+-0.436688388340006 0.257917426398802 0.869960259235344
+-0.4562865545871 0.239342503121326 0.865197518664178
+-0.452664161963676 0.249853119225231 0.864128216925674
+-0.457291772953944 0.249924418990503 0.861667580439753
+-0.468422638244254 0.216560709200648 0.864714225169683
+-0.46322787309894 0.216203593688428 0.867597224327303
+-0.460517369607301 0.223327243835649 0.8672356625801
+-0.455165955860406 0.219732079819571 0.870971162395087
+-0.440935901502366 0.190070365120059 0.885154103571476
+-0.445572052106044 0.162174964227784 0.888377074985462
+-0.485817121044336 0.176822971400952 0.864155287946056
+-0.49619778521719 0.19726047393824 0.853771083702895
+-0.493437436847463 0.210967852675964 0.852092166995272
+-0.505316167816124 0.225097507683565 0.841448562051344
+-0.523540881471607 0.237896452790861 0.826655444049973
+-0.583652713776478 0.251686689202234 0.781058461435359
+-0.573263384495496 0.225329164270862 0.796646006533494
+-0.563553467742536 0.222933203799406 0.80421220808882
+-0.568328966503898 0.206854827130064 0.805147356901581
+-0.523792421120437 0.380292149668354 0.771406754233727
+-0.501803909416053 0.3753153350478 0.788276750749838
+-0.466020742580928 0.354922701812753 0.819087018101408
+-0.464598787326748 0.359717846528639 0.817801955062051
+-0.47470358806807 0.360502488779978 0.811630124538722
+-0.471886888132228 0.371765306741988 0.808184583812335
+-0.482477062535279 0.382050256001527 0.797058646535182
+-0.499773408232966 0.386910112642974 0.783949045000889
+-0.511450240340763 0.396735769975386 0.771406754233727
+-0.498872896422881 0.412439635264644 0.771406754233727
+-0.49152347875265 0.406089228122652 0.779451864221032
+-0.483865832289144 0.384250400589376 0.795156893946118
+-0.466922405451605 0.383111494078436 0.805765505834219
+-0.472344365561087 0.379733902288884 0.804202688241683
+-0.47053799147447 0.375302948907506 0.807335552989277
+-0.451830862882354 0.379131110452869 0.816184704851642
+-0.45152414672034 0.164341349499462 0.884967155194567
+-0.45465472838392 0.16752366537451 0.882764917459701
+-0.459204535931144 0.169027172376035 0.880119315308342
+-0.459321380262442 0.167179310419115 0.8804112378892
+-0.557613839348667 0.202954839788214 0.813587818968167
+-0.554086488849287 0.201846234925383 0.816269110233332
+-0.554085265925165 0.201670544092317 0.81631336490967
+-0.554085265925165 0.201670544092317 0.81631336490967
+-0.553212830002348 0.178213834399087 0.822340801583849
+-0.53450506614416 0.172774369435187 0.835764531152466
+-0.536908265715486 0.160457327492535 0.836679126224829
+-0.518827621669419 0.161835249219097 0.847747752048359
+-0.515057247440391 0.154338425314503 0.851436834022681
+-0.507516550194481 0.165970219841848 0.853773879551455
+-0.483126733536917 0.141852979929513 0.872075278532229
+-0.483672405376764 0.134252418685179 0.872975539379102
+-0.489154537135786 0.132570370323392 0.870173508969213
+-0.48212730866327 0.117752861718653 0.876205753118627
+-0.491918163819309 0.120116848501386 0.870423726015516
+-0.48447948487188 0.11174403005449 0.875695095615739
+-0.485473858384045 0.0921437566018486 0.877424447428385
+-0.497408359743795 0.0849342200165951 0.871447130884691
+-0.490243907838953 0.0816077532611621 0.875813955948669
+-0.473592947380934 0.0536911797953767 0.887060300883328
+-0.463670485466798 0.023366835002024 0.893595362526559
+-0.468272896614087 0.00696382741178865 0.891471255512163
+-0.461418953002412 0.00304418403272292 0.895059932492642
+-0.434377634776252 0.0133928524851434 0.908397326013513
+-0.438593111087967 0.0134155556418256 0.906369188450821
+-0.429289829526712 0.0186831447115849 0.910719595906782
+-0.433346470474349 0.02975536298042 0.908501213483684
+-0.429454905129868 0.0287728123679437 0.910378827592302
+-0.428447133241959 0.0364145197334054 0.910580055112856
+-0.42883247267955 0.0035552373176136 0.91111967965968
+-0.424230145205282 3.80929756290847e-11 0.913278590518307
+-0.459321380262442 0.167179310419115 0.8804112378892
+-0.459551643836263 0.16326852914094 0.881024786279899
+-0.465458472393108 0.167456073380516 0.87712933707946
+-0.455586918748184 0.144625710140096 0.886325540324777
+-0.45792434764704 0.137131288412708 0.886312191933691
+-0.445010816076456 0.133839884336959 0.893365131922909
+-0.445581664014926 0.122649973438682 0.894685958707959
+-0.450245419454608 0.118044085757187 0.892969011823979
+-0.450735256606597 0.127978664089395 0.891351888980822
+-0.471408667195183 0.137055026865507 0.879226243980556
+-0.472639067845252 0.154098875999388 0.875736745810119
+-0.485817121044336 0.176822971400952 0.864155287946056
+-0.339652077896884 0.0570759601202418 0.946270469134846
+-0.345891971121145 0.0599759749868047 0.943827646733402
+-0.356124938681787 0.0552647156689773 0.94030305713154
+-0.359729414922609 0.0603142420747509 0.938619166777658
+-0.349835144743899 0.0723072989886864 0.941507315964659
+-0.340446596860257 0.0735574038059198 0.944846243063707
+-0.344052674062787 0.0802344948640259 0.942994794950725
+-0.333324341519032 0.10607616926747 0.94429430246319
+-0.338955017254703 0.115964326331021 0.9411220809738
+-0.323748286116853 0.117508495351267 0.946270469134846
+-0.360978253355198 3.24133868446224e-11 0.940076433384345
+-0.345524899098195 0.0236645811831237 0.945569421936121
+-0.345854080276642 0.0410998002096356 0.944851714068788
+-0.340588422914979 0.0511930212002209 0.946270469134846
+-0.568328966503898 0.206854827130064 0.805147356901581
+-0.568468677053797 0.206355284109624 0.805176912193055
+-0.557613839348667 0.202954839788214 0.813587818968167
+-0.445572052106044 0.162174964227784 0.888377074985462
+-0.446008627119887 0.158842842822301 0.888759953991382
+-0.45152414672034 0.164341349499462 0.884967155194567
+-0.328261568116959 -0.104237911244966 0.946270469134846
+-0.346978891695178 -0.0998092570471083 0.940049339623028
+-0.35246556420392 -0.0863781865816022 0.93933797694615
+-0.361969018480155 -0.0845792049078989 0.935881289351198
+-0.368771710133564 -0.104567409764743 0.9311939017306
+-0.375991207812916 -0.109961770437375 0.927678834882882
+-0.37312140721073 -0.123737749457655 0.927102143693045
+-0.380369123509596 -0.127358317641701 0.923660212853199
+-0.378465392572371 -0.136166392519861 0.923185604400961
+-0.381869435346355 -0.127149503190154 0.923069736361643
+-0.375928150892573 -0.118738914188578 0.92662187305492
+-0.385776171679349 -0.13214088680727 0.920741294500368
+-0.392297674577393 -0.114262634906307 0.92037795757256
+-0.385473425024894 -0.107597105633269 0.924057412425722
+-0.405730180715617 -0.0854637811504638 0.917675303453208
+-0.409136929684038 -0.101599816387167 0.914512684482185
+-0.412058610359703 -0.0954342789511669 0.913864869676858
+-0.419817911870728 -0.103023943029395 0.909498756478082
+-0.416530000999152 -0.126011704344291 0.908114975449636
+-0.412556542363035 -0.125069032528288 0.910057051209371
+-0.416798951446737 -0.129068658890605 0.907562072458452
+-0.406498430270713 -0.134066678711755 0.911501043250442
+-0.406108579329068 -0.141533244105636 0.910545530222547
+-0.412451991833446 -0.137716402218766 0.90827669076804
+-0.418630563707852 -0.146364507361451 0.904087873004879
+-0.425151729972381 -0.145205588631073 0.901227132043746
+-0.427428495421633 -0.136302982941656 0.901540558235072
+-0.437849047162236 -0.131294374245226 0.89727309064224
+-0.437190432310768 -0.121843709532409 0.898925823604654
+-0.46657745863379 -0.115250219783095 0.884913477089586
+-0.471481747974743 -0.121389307180153 0.88148658380545
+-0.469017128360183 -0.127578578107377 0.881927230395381
+-0.473090028805995 -0.125623152900557 0.880030481346906
+-0.471924036749449 -0.140525245380139 0.878401593207205
+-0.47701536050442 -0.132359796431816 0.876918599489922
+-0.486694387265533 -0.138381435615398 0.870648121620468
+-0.477098002841231 -0.15322533859554 0.87346922744719
+-0.490409513495773 -0.163888884707448 0.864111070720765
+-0.498877479667792 -0.160786951097733 0.859835924253579
+-0.487309235660818 -0.174107832980657 0.863866408268344
+-0.488534147157318 -0.17781188793269 0.862418877095744
+-0.424230145205282 3.80929756290847e-11 0.913278590518307
+-0.41713573220258 -0.00527128430138397 0.916525501271859
+-0.404393463604495 -0.00436201152620985 0.922223345751671
+-0.403622287880402 -0.0109146484047444 0.922506866736715
+-0.417966618436017 -0.0113463455348383 0.916091789241758
+-0.416224247384541 -0.0254938239916635 0.916600480486157
+-0.427974937824289 -0.0341709313467689 0.910889016316033
+-0.433684311085236 -0.0482393157034948 0.907546079678042
+-0.428834730400052 -0.0501868159414539 0.909742302802488
+-0.434525390363795 -0.052198642553384 0.906924465898222
+-0.431083964612046 -0.0587752409135332 0.908163579158466
+-0.426422810693693 -0.0507648121914945 0.910843301761205
+-0.420782142311114 -0.0582461304006308 0.913016307086255
+-0.413829517153104 -0.0575266588993891 0.916234039014433
+-0.411290200682383 -0.0504345086132899 0.917793948097056
+-0.413029761086689 -0.0650480602363145 0.916091789241758
+-0.407686909810145 -0.0613439198850945 0.918736799667122
+-0.4101633812964 -0.068159554840949 0.917152809365695
+-0.400794391811926 -0.0730245822903615 0.920912735210794
+-0.390200452694452 -0.0571536314552999 0.926566818490991
+-0.389155054982904 -0.043444420639895 0.927749926163574
+-0.390903890770552 -0.0367723330237582 0.927303048471444
+-0.404987135054457 -0.042958957196954 0.920971741388916
+-0.381473031896415 -0.0316510374922636 0.931410509797597
+-0.360993019776819 -1.26010011336967e-05 0.940070763035224
+-0.360978253355198 3.24133868446224e-11 0.940076433384345
+-0.360978253355198 3.24133868446224e-11 0.940076433384345
+-0.523238444472196 -0.190443219152509 0.839048217032339
+-0.526219709941766 -0.188051353726061 0.837722212449091
+-0.533184996740525 -0.191359439759433 0.832552895656344
+-0.536381596261679 -0.176311802239067 0.833821282759672
+-0.555996221908586 -0.166204128122261 0.822978364854446
+-0.551880252637685 -0.169000607495702 0.82517633352796
+-0.551604147529501 -0.173359310262888 0.824456435461224
+-0.547119664568498 -0.170985118509336 0.827933066069234
+-0.547747509550023 -0.178375673368271 0.825956285121775
+-0.539487286456435 -0.179672713948813 0.831095772828945
+-0.542046842887822 -0.184137277994641 0.82844896219868
+-0.532004466377692 -0.193633790198045 0.832782206250666
+-0.532004466377692 -0.193633790198045 0.832782206250666
+-0.530500302018537 -0.195007415291153 0.833420984580844
+-0.533741573519532 -0.198496711823514 0.83052271979287
+-0.488838294540257 -0.221592591527008 0.852046269384074
+-0.478684916603904 -0.231271353062581 0.855232899196772
+-0.465121681789408 -0.234440627471789 0.861828528954586
+-0.466667920339625 -0.225937827447704 0.863262503676663
+-0.461636995730857 -0.223750794017676 0.866530937906459
+-0.420421307606312 -0.237078948212363 0.883792111542708
+-0.412488841380689 -0.246351532232458 0.884993151557195
+-0.421033983487558 -0.242310664290863 0.882079886812708
+-0.420870340348436 -0.253194438692284 0.879095974754913
+-0.423914845906531 -0.240915022710235 0.881081809625286
+-0.432464230819308 -0.235650088243128 0.878346585906082
+-0.447223684251492 -0.239126330076942 0.869976191920477
+-0.442844631155151 -0.246180541976764 0.870248684807443
+-0.454758358925691 -0.244422084913903 0.864581794507352
+-0.43966888137225 -0.256499873145487 0.868877488389027
+-0.435424798706973 -0.254207287263622 0.871683944886599
+-0.43781029739673 -0.257622439211468 0.869483652697461
+-0.431894074360699 -0.255146811345669 0.873164711375954
+-0.429626660843651 -0.264039414679114 0.871638181694816
+-0.421026579494593 -0.263740984731927 0.875914557666281
+-0.420012013458791 -0.255230760324931 0.878917611346052
+-0.409154332277176 -0.25844678567164 0.883089458296732
+-0.415734647108196 -0.261022468119674 0.87925023419419
+-0.409830464924146 -0.260889726767319 0.882056993899675
+-0.412887094708672 -0.26420464183862 0.879641491889712
+-0.40451982906408 -0.26962821003824 0.881880568016748
+-0.409398437531513 -0.26853599534288 0.879960418741641
+-0.407223442820761 -0.274127950013083 0.879245093610895
+-0.411881538434329 -0.270998311542092 0.878044710386838
+-0.407554249751869 -0.274433336827624 0.878996517141477
+-0.411434991405158 -0.278049570334949 0.876047192954802
+-0.406120959079921 -0.285659617992624 0.876078392179782
+-0.408333843857235 -0.293936664549652 0.872303679456988
+-0.39189026966359 -0.312718727152729 0.873314384532269
+-0.391080148157889 -0.324508078052368 0.869367485586827
+-0.387617495313017 -0.325249697282521 0.870640173518826
+-0.488534147157318 -0.17781188793269 0.862418877095744
+-0.492339845071811 -0.190126235923535 0.857614418820144
+-0.4806959568408 -0.188973304788914 0.864447503989724
+-0.486937322731393 -0.194869482919243 0.859631856295455
+-0.476357099539912 -0.203753710059486 0.863491366114865
+-0.487626396263351 -0.201622607989464 0.857681655169763
+-0.499698395376732 -0.207994133663633 0.84916956729468
+-0.523238444472196 -0.190443219152509 0.839048217032339
+-0.269982083730966 -0.226541866832635 0.943311961673481
+-0.273680747043275 -0.209093395259519 0.946270469134846
+-0.387617495313017 -0.325249697282521 0.870640173518826
+-0.38229457736606 -0.326337361806451 0.872584541695366
+-0.381552764891526 -0.333013906432214 0.87038395304968
+-0.386771739062526 -0.332676178338211 0.868206877552137
+-0.38299363490316 -0.327049667791388 0.872011118289903
+-0.390318485110906 -0.329109707323248 0.867978848086941
+-0.385994066040625 -0.363907794389833 0.855937321399034
+-0.379975561898871 -0.366438624788266 0.857549011207477
+-0.378863367051531 -0.352702870065165 0.863777884964747
+-0.377269141073706 -0.361320712732903 0.86090901827295
+-0.373507841811297 -0.358356377466235 0.863783305485088
+-0.37926201258405 -0.36726100768172 0.857513077478882
+-0.37538606927961 -0.374195545480175 0.856219593757114
+-0.363804795112743 -0.359387012721221 0.867488355045929
+-0.371761411979015 -0.374588123127304 0.85762823564487
+-0.369573949503912 -0.380745271114846 0.855860464311655
+-0.36320466599169 -0.379899364487011 0.858957416560466
+-0.370418732809607 -0.382830317975972 0.854564163783002
+-0.366242139375442 -0.390882315270399 0.85271725147
+-0.370285178593314 -0.388987254679906 0.851837309708085
+-0.368312179595361 -0.396434353944125 0.849255521839345
+-0.371363958965551 -0.389112948848195 0.851310121530394
+-0.370835946573727 -0.396880538562757 0.847947839692339
+-0.376171418053109 -0.395391829575413 0.846291536850582
+-0.370771829288488 -0.419213987735261 0.837160010447924
+-0.382159617577746 -0.421670346402317 0.830781045557601
+-0.368684288231843 -0.423659590251962 0.835842956062034
+-0.369556712467759 -0.429573482494972 0.832432255145825
+-0.380079116235805 -0.439286326418494 0.822566950967004
+-0.369272838751712 -0.437935762002784 0.828190098298267
+-0.361931477887943 -0.432358907512378 0.834338288950323
+-0.371911368689919 -0.440534179268363 0.825627380078653
+-0.368842717198883 -0.444889019601581 0.824668303142111
+-0.377903041319557 -0.443359992386328 0.821383107029007
+-0.377584983986628 -0.450179707272655 0.817812210123891
+-0.377990091308089 -0.443383740027967 0.821330231972326
+-0.380952491647912 -0.446211499617464 0.8184250098307
+-0.374952640797272 -0.453916950375174 0.816957109841914
+-0.381801424904687 -0.453227135619392 0.814163273231476
+-0.380659040209529 -0.464826132620617 0.808136350834264
+-0.369989417711447 -0.462053613439447 0.814655319192782
+-0.374663303045827 -0.466487130495541 0.809979114812738
+-0.369844800863175 -0.471324688009616 0.809392897020425
+-0.376464948491847 -0.465078032606134 0.809954051872227
+-0.373973213140441 -0.481567756271292 0.801427184448623
+-0.382680596198203 -0.482632374307252 0.79666213200072
+-0.377361645560711 -0.482670875454351 0.799172080623343
+-0.378961887843941 -0.487218878647972 0.795647316246821
+-0.367562465214419 -0.487701022104288 0.800683799763634
+-0.382366784328531 -0.491189447749775 0.791566528259962
+-0.383477396696778 -0.496555707872606 0.78767157826203
+-0.377894294713875 -0.497028238576652 0.790068245204232
+-0.385559448108819 -0.497382818210882 0.786131823629233
+-0.379022816447115 -0.50186767991277 0.786460130249124
+-0.386931881618488 -0.499081336349153 0.784379078440469
+-0.376748434421025 -0.506239260456106 0.784749277370907
+-0.385942355544675 -0.502406801656435 0.782741913944807
+-0.374639530954221 -0.512011246158999 0.782009402534976
+-0.378944198041242 -0.510509352789838 0.780916445905054
+-0.376937215756899 -0.514585842610976 0.779210334865874
+-0.368370402911934 -0.515731462990153 0.782542845051015
+-0.378135293059524 -0.514787653722876 0.778496224600533
+-0.374463796902642 -0.520987187609095 0.776143166662196
+-0.369960431152941 -0.519201908392116 0.7794919227953
+-0.37323217003163 -0.521402079195278 0.776457738105765
+-0.369033031732508 -0.524730400401757 0.776222666755181
+-0.362426753521339 -0.521036742442556 0.781803403265061
+-0.369504042381258 -0.526121848125658 0.775055845464539
+-0.361272306455787 -0.528811981684662 0.777103087508251
+-0.369407513628311 -0.531349430858759 0.771527621800427
+-0.369294935897514 -0.531603113086292 0.771406754233727
+-0.37179594689109 -0.52985695560023 0.771406754233727
+-0.372750361548125 -0.523639248451343 0.775182627157662
+-0.395732940093855 -0.498718264471955 0.780208006115519
+-0.39525574464686 -0.505031617926544 0.77637939257695
+-0.388339113391074 -0.507577544729055 0.77820740750616
+-0.396834510531955 -0.509426123595343 0.772694244736873
+-0.389215235692774 -0.514728149453959 0.773055905135147
+-0.388770748452202 -0.517530602641526 0.771406754233727
+-0.224250017577866 -0.26140606125269 0.946270469134846
+-0.242182356819021 -0.259518015124795 0.942362512980685
+-0.248778045264417 -0.255770483072857 0.941668701923927
+-0.244765427277328 -0.249083804125632 0.944508414008076
+-0.257153057414785 -0.24833849467319 0.941408145878121
+-0.260684200803815 -0.258013547007561 0.937828212953659
+-0.269982083730966 -0.226541866832635 0.943311961673481
+-0.176737619128962 -0.30611853585548 0.942923250318032
+-0.183493186786063 -0.295023632203911 0.945166814294866
+-0.200632960638306 -0.293302475561803 0.942214982334088
+-0.19503381073788 -0.283871470761645 0.946270469134846
+-0.362070748328636 -0.536549524953036 0.771406754233727
+-0.359349326084454 -0.535737172802637 0.773241710928793
+-0.359481940086988 -0.538287427192835 0.771406754233727
+-0.212175213229446 -0.271298503745151 0.946270469134846
+-0.232900652489094 -0.269048098000258 0.942029408793907
+-0.221357604466845 -0.263859830569222 0.946270469134846
+-0.196250814334191 -0.28303147725383 0.946270469134846
+-0.206413972832799 -0.289755955693543 0.942063563651361
+-0.206629826637243 -0.275545484425315 0.946270469134846
+-0.211482859851984 -0.366299058092326 0.913864869676858
+-0.221876267576513 -0.366693386192815 0.911238652828535
+-0.210672421985465 -0.358967604509115 0.916956045581121
+-0.226289331346227 -0.36157668109048 0.912197589456621
+-0.233427582790606 -0.352790998736899 0.91383755383698
+-0.23340645591047 -0.352745690151881 0.913860440340092
+-0.2197387155427 -0.349750876928991 0.918388926859991
+-0.222082868770921 -0.34479014921215 0.919699925195572
+-0.211694940274976 -0.349150943616627 0.920504139498347
+-0.220889824598955 -0.340036549837034 0.921754755975563
+-0.234531520458319 -0.337572338803762 0.919287159698245
+-0.231960893284013 -0.331570003089808 0.922119556802645
+-0.196576991463307 -0.340481336719341 0.927080873372461
+-0.200544483666402 -0.347353234791834 0.923675614244863
+-0.204500054914655 -0.347838229042613 0.922625218578162
+-0.201840640183719 -0.349598243733768 0.922545621608217
+-0.0664138184433184 -0.376651480823314 0.931542734775696
+-0.0810006571674528 -0.374105451353753 0.931414518249445
+-0.0867213094325035 -0.364469395881574 0.93471411348927
+-0.0969613894783319 -0.361940635327406 0.934690572033988
+-0.100858136955966 -0.347404920084854 0.93978000495361
+-0.120237467426031 -0.352973094708045 0.935415386787709
+-0.112991037336785 -0.357057571734753 0.934768375560726
+-0.0997009289501043 -0.353725500908817 0.93754306289007
+-0.117884569662267 -0.362187532721045 0.932186901526182
+-0.114672596723505 -0.374049550096543 0.927893382686428
+-0.116332919300117 -0.378946052296788 0.925697327065274
+-0.120228336392363 -0.375299919663798 0.926684475659688
+-0.119513221163754 -0.385917922012133 0.92240606428888
+-0.124762605763194 -0.372098988192142 0.927375671014483
+-0.119937550592519 -0.369920523461415 0.928882549238546
+-0.12918226266489 -0.354232673160889 0.933745230926547
+-0.1425059977807 -0.355103558569868 0.931473297141439
+-0.161371138799152 -0.344521798938069 0.932369607837547
+-0.159594860864498 -0.33840483303352 0.934912107828964
+-0.150134067038438 -0.338972459421178 0.936272627853904
+-0.153280132011471 -0.329040101130903 0.939301236546781
+-0.16513409937831 -0.323117403519522 0.93934811053481
+-0.176737619128962 -0.30611853585548 0.942923250318032
+-0.15802421304246 -0.306022135368718 0.946270469134846
+-0.15803412018635 -0.316967408315112 0.942658940934062
+-0.144223226329397 -0.330806154231529 0.940114859636675
+-0.144217580114482 -0.330824725265524 0.940109190859718
+-0.145568953000748 -0.339834364856444 0.936680993927433
+-0.119003101859995 -0.345394674622931 0.93839745336921
+-0.100736290874638 -0.338042464066285 0.943201193907649
+-0.0946075058207142 -0.35002369386487 0.939458266010564
+-0.073598738897662 -0.353159383022987 0.940165238570059
+-0.0750168480364833 -0.344318173394503 0.943327338722325
+-0.081871307248071 -0.34971895673074 0.940767102078221
+-0.0816701571137065 -0.33960617470771 0.944482202869603
+-0.0766357617973983 -0.343524540970535 0.943486539259949
+-0.0684940427201385 -0.33862487590547 0.945880943633953
+-0.0664825822560393 -0.343527492704943 0.94425522397942
+-0.0655462143011683 -0.338119643076388 0.946270469134846
+-0.207221956034959 -0.443943793791764 0.879785183377636
+-0.224653905306018 -0.42819312414137 0.883306442447245
+-0.212554433349275 -0.436555107676749 0.882207033991971
+-0.205547085451274 -0.430049537204818 0.887049486337943
+-0.197890487391935 -0.431812095341516 0.887933932968299
+-0.20186658959008 -0.414034558220961 0.895474323811712
+-0.187205106579265 -0.434288913861136 0.889042399083396
+-0.16215774262866 -0.428775856399637 0.896607568267375
+-0.14910804033998 -0.435484145181611 0.895639074405205
+-0.168841709988059 -0.431032552145382 0.894288776603702
+-0.172516521127828 -0.434154387909963 0.892074558204905
+-0.161212703267273 -0.433140777385457 0.894677892468111
+-0.155742755244445 -0.435379641024617 0.894560094331367
+-0.164680594980474 -0.434186604736191 0.893538635932737
+-0.157595031692354 -0.43654137105662 0.893669087158044
+-0.16777245905019 -0.435652555626153 0.892248985855772
+-0.196507254397067 -0.446765915013935 0.880814461819905
+-0.207300320607747 -0.444010577985871 0.879733018428078
+-0.207221956034959 -0.443943793791764 0.879785183377636
+-0.201840640183719 -0.349598243733768 0.922545621608217
+-0.193256146604583 -0.355075906146421 0.922291799092806
+-0.184750556020284 -0.353335136870174 0.924700228778565
+-0.193132952216523 -0.366200786362175 0.917957322992662
+-0.204512936024606 -0.358680247245848 0.918461724425277
+-0.206878424628032 -0.366028932194808 0.915026304660009
+-0.211482859851984 -0.366299058092326 0.913864869676858
+-0.196576991463307 -0.340481336719341 0.927080873372461
+-0.195205351916406 -0.340751218534853 0.927271523152849
+-0.191455512190671 -0.346064068385763 0.926085010905641
+-0.200544483666402 -0.347353234791834 0.923675614244863
+0.109639232564443 -0.62179498686744 0.784473857428786
+0.102584645604263 -0.621616049258343 0.785569142590706
+0.102265911431731 -0.61567080908269 0.790278519385731
+0.080979628065604 -0.601388642813346 0.803631134372902
+0.0768381918376266 -0.570256326828047 0.826409471138677
+0.0479577341603077 -0.572191305960418 0.827252177463148
+-0.00761942686848006 -0.543626916815738 0.847620622476595
+-0.0269686908017405 -0.549058078268834 0.843716134967309
+-0.0230149994603633 -0.542781258358468 0.847884317212341
+-0.0289628576251077 -0.521796800522692 0.860777701757237
+-0.0382353264793881 -0.520417365645982 0.861250733145181
+-0.0391613583565169 -0.526109996494845 0.85774335299078
+-0.0448457897873513 -0.515803847983372 0.863703795026915
+-0.0411027317926443 -0.493924610490411 0.87658316467468
+-0.0271263928780121 -0.476096055138814 0.886930496200625
+-0.0300686426031664 -0.472531346432272 0.88874012139146
+-0.0149746194322615 -0.463613137780379 0.893805134942897
+-0.0192493368803201 -0.459275263006042 0.895960208837646
+-0.0111409314069376 -0.460464524613099 0.895487186519281
+-0.00499153399959894 -0.454661905622172 0.898502440822698
+-0.0133757194434697 -0.446210159641976 0.902644217597195
+-0.0192974663801336 -0.448632656009461 0.901335313716934
+-0.017309580630752 -0.445112897093481 0.903118977355385
+-0.0304906854035981 -0.441686609052036 0.904451357170596
+-0.0290923003670339 -0.437082720238599 0.906731125377408
+-0.00510703607303735 -0.450152394016194 0.900769526762555
+0.00015319647492683 -0.438875724010175 0.906331658613658
+0.014460230484403 -0.438903341435522 0.906202934563264
+0.0228120794639138 -0.422715854371225 0.913695745581502
+-0.00662421349108351 -0.410721395008517 0.919409079505898
+0.00127282526507237 -0.409703844326127 0.91988593850555
+0.0195134589292992 -0.420013335639792 0.915017498633414
+0.0293988046722112 -0.405961395686022 0.92107548848968
+0.0225882592028469 -0.400260251092027 0.923758898166579
+0.0439359991848364 -0.404898471602867 0.92096463323479
+0.0332041781950286 -0.393523463817832 0.926329188774276
+0.0418857980618666 -0.392583735334903 0.926376052513889
+0.0467887336497865 -0.401315567498487 0.922391256293562
+0.0591478815480699 -0.381543494062207 0.930040370224421
+0.0473820372765865 -0.367028047283005 0.936533157475561
+0.0558709229001705 -0.362494249433483 0.93783013339407
+0.0502314139159644 -0.359326090774676 0.939367109039162
+0.0539560200563469 -0.353511945342353 0.941364463106583
+0.0413479099140288 -0.349608105423272 0.943458278339902
+0.0453084186605118 -0.346393809551447 0.944461474017294
+0.026947683327778 -0.345641891476737 0.945438789779459
+0.0336759568574925 -0.363775108334553 0.938393627688251
+0.027883165639049 -0.364118719664603 0.938450364731004
+0.023609229861657 -0.387338808230256 0.92922561948329
+0.017087076856744 -0.391358403455693 0.927682937133751
+0.0112128065418901 -0.362029981042739 0.939605005199338
+0.00416667157746337 -0.356833855710621 0.941648149930035
+-0.00161962816497738 -0.374182563788315 0.934897740804528
+-0.00884046610270114 -0.354882030552731 0.942353219631502
+-0.00215219261898127 -0.353323856664019 0.942977529095468
+-0.0175367327823265 -0.349073973155521 0.944398657489908
+-0.015545596058213 -0.344063269888713 0.946270469134846
+-0.0366944967383175 -0.342453957711749 0.946270469134846
+-0.037357628983 -0.344667187163957 0.945440605035162
+-0.0206761520152646 -0.354073140713566 0.942472125722067
+-0.0264202503891219 -0.354606216792293 0.942128123654969
+-0.0293698288003453 -0.363761897890611 0.93854338993957
+-0.024039314277771 -0.35983979144838 0.94020552851993
+-0.0221697934383218 -0.367099163078123 0.937441040666688
+-0.0358486791682869 -0.374494972517822 0.934086392022047
+-0.0361230517627563 -0.389099330072889 0.928087192276768
+-0.043325698399296 -0.383477744650514 0.930116499808475
+-0.0381550620505806 -0.370356795248511 0.935643647684934
+-0.043790393405205 -0.374575163214745 0.933715614385914
+-0.0412598078854405 -0.369703340149574 0.935770307573127
+-0.0469061161054839 -0.365956805273918 0.9369762179189
+-0.0559542900512883 -0.366475666385147 0.936276510103943
+-0.0531271038471812 -0.374838017789799 0.933125378101049
+-0.0474204837085938 -0.375055914495737 0.933345251622683
+-0.048997746883365 -0.381905486878419 0.930481821365958
+-0.0559180850054314 -0.371318908556598 0.934368469030105
+-0.0590538915175984 -0.377714064524071 0.931608138305658
+-0.0664138184433184 -0.376651480823314 0.931542734775696
+0.0704433089777712 -0.444761549157761 0.900707446738979
+0.0762308447903223 -0.438409262424198 0.903346653795333
+0.0693519822856843 -0.433997408924565 0.906027345944817
+0.061574764920125 -0.43746239844975 0.904922205644012
+0.0615362789515255 -0.428356078062695 0.909270782968168
+0.0399914994670432 -0.416012539800084 0.916178610697423
+0.0374539508369232 -0.420492143453894 0.914238786565225
+0.031565390547234 -0.409761384836419 0.919319440464815
+0.0293239634586172 -0.439059891079517 0.905767915755642
+0.0221647811701659 -0.447587955300421 0.901788636403047
+0.033592977160775 -0.444696094416542 0.90286538060563
+0.0380275795395853 -0.453903429014876 0.898094972885885
+0.0534180930021714 -0.435306692545024 0.906478676398691
+0.0583718268250521 -0.443019542417122 0.902427512252164
+0.0703856304839423 -0.444799329143404 0.900693299528178
+0.0704433089777712 -0.444761549157761 0.900707446738979
+0.026788714333596 -0.343370884070958 0.946270469134846
+0.0496528468569546 -0.342913310222244 0.945512589271778
+0.0472009164753276 -0.341164583049307 0.946270469134846
+0.0484212730282553 -0.340993518357229 0.946270469134846
+0.0550012561607325 -0.34465531669064 0.944582751535098
+0.0511751878854764 -0.340591102919916 0.946270469134846
+0.0593924794433216 -0.339254672228539 0.946270469134846
+0.0598244065930783 -0.339281069757863 0.946233795676177
+-0.0888006024071874 -0.598825054018549 0.804718589130264
+-0.0963158076759716 -0.593621362074108 0.807704118895655
+-0.0919213364348352 -0.586461633679174 0.813426222917843
+-0.0817676406388908 -0.590478781100592 0.811602034259592
+-0.0816657336949461 -0.580273525289748 0.818939768107444
+-0.0794686020453993 -0.585300316956828 0.815571750527927
+-0.0687623790095231 -0.627055753627639 0.784934275640594
+-0.074470097280016 -0.637582757821716 0.775881067908967
+-0.0732159456386275 -0.621105821742756 0.789250266709804
+-0.0793281736970002 -0.622788946240261 0.787330914735884
+-0.0805462042452906 -0.612883694117785 0.7949433228012
+-0.0866599872694075 -0.614671686181292 0.792917249663238
+-0.0940617096525439 -0.600802723232566 0.802644057184486
+-0.0898433199756532 -0.599366597389189 0.804199514915209
+-0.0888006024071874 -0.598825054018549 0.804718589130264
+0.0717077096773427 -0.33686674459814 0.946270469134846
+0.0746887017735529 -0.340468625900029 0.944749550201072
+0.0775593577677927 -0.335759331199421 0.946202524587186
+0.0776784721565335 -0.341599497184239 0.944100015086803
+0.0834668864227247 -0.339713907006146 0.944286365599713
+0.0888558155414703 -0.345769893969913 0.941592706252812
+0.0844989765234239 -0.355984647872436 0.938181141062658
+0.0904154407174359 -0.348907077281554 0.94028607322597
+0.100211653250733 -0.354873225521462 0.937054757397212
+0.103067283748319 -0.35157409461963 0.937988161446151
+0.119245505458055 -0.370362187932284 0.928795649848805
+0.11605069547981 -0.379703229586886 0.925422440575082
+0.12289025419871 -0.379388558953433 0.924668214419753
+0.115885955098808 -0.380732665604993 0.925020044513714
+0.109035066929831 -0.392051532383176 0.921116686492874
+0.119037713902236 -0.401144607396037 0.915948703053838
+0.103460456699734 -0.40896178537803 0.914382410154469
+0.0913664215567915 -0.407947126637115 0.916122436621016
+0.0901515885821322 -0.425224553758369 0.908353328808297
+0.116632337806323 -0.419453707516948 0.908022293244014
+0.113377260576687 -0.411810057348189 0.911924927530225
+0.123402934642649 -0.418666634987201 0.907490476242079
+0.123960561925376 -0.41276325571048 0.910114978352972
+0.132443992233567 -0.423665574051962 0.903888859475797
+0.144322616740971 -0.423944901496874 0.901937194482989
+0.138223678221513 -0.428485636836576 0.900745954086761
+0.143337432460373 -0.431919904032168 0.898303165393794
+0.192595850580323 -0.432536728695106 0.888745079687633
+0.192580730093797 -0.432523085515247 0.888754995987595
+0.159701048934428 -0.415666784349349 0.903197486354958
+0.17136657590993 -0.417585749008439 0.900169227915489
+0.167341509043485 -0.412422153239829 0.903301603490259
+0.196387775644861 -0.419204915146191 0.894286352738617
+0.185635803627879 -0.403898245538236 0.903578749010049
+0.19506073285529 -0.409265793405099 0.899167293025303
+0.189423283964545 -0.399140234572797 0.904906013151233
+0.179886685614171 -0.397867792322375 0.907408948694726
+0.183404197535995 -0.394029532048552 0.908379121402389
+0.176211179084411 -0.390028526583976 0.911524200894532
+0.173454685280569 -0.395403281116405 0.909735520597387
+0.168228774623031 -0.390191615500753 0.912961435429638
+0.169878930939304 -0.395042673640647 0.910566546072152
+0.160025701029897 -0.382854023764433 0.917531237341418
+0.155267905616116 -0.388905951558262 0.91580185538584
+0.150567310265626 -0.379650615292794 0.920458524533929
+0.159047342437532 -0.377123599645006 0.920071048047025
+0.150000287264236 -0.370147272304286 0.924413279127006
+0.157970296829871 -0.367455925887124 0.924159362799468
+0.165990567471218 -0.372558394120317 0.920704281776225
+0.167401408057913 -0.367006297591407 0.922676620549408
+0.167774772744178 -0.374626573484114 0.919540948555414
+0.174772569565006 -0.364093325774104 0.922463874118871
+0.171570481652139 -0.376494475274729 0.918076510925565
+0.190522955507737 -0.382748708611529 0.911731007194997
+0.183069973649957 -0.367647447205191 0.919439905220189
+0.191131417669954 -0.36994588811412 0.916873939561447
+0.185199378037127 -0.362675817333884 0.920986667599407
+0.192609773362898 -0.361469727739785 0.919940275851003
+0.184161361124764 -0.35982090897543 0.92231367035991
+0.192725798117887 -0.355592915749605 0.922203581108053
+0.186421286959303 -0.353549518550031 0.92428287969727
+0.191581420074736 -0.349814659157562 0.924648724500621
+0.184155968574071 -0.346741092194384 0.927311271484603
+0.182801205870938 -0.354687113643876 0.924570046317263
+0.179832303145539 -0.350547641298148 0.926728489864035
+0.175050942040933 -0.355907280429489 0.925600440485994
+0.175475224928161 -0.346150041123523 0.929213427833775
+0.17434909069228 -0.35452717202613 0.926262316447091
+0.173863014335531 -0.348715258628831 0.928557117599984
+0.167971440101848 -0.355667606389932 0.927003316647232
+0.170848691927766 -0.349640997409235 0.928768484282949
+0.165017176896041 -0.350599932008314 0.929461144429947
+0.170350252430361 -0.3485129937536 0.929283855816841
+0.163551386456531 -0.343355165205272 0.932420063337875
+0.160489886285293 -0.347810098067327 0.931300237346974
+0.161234516064716 -0.34143351199842 0.93352856823656
+0.160165653597413 -0.348914628215535 0.930942826184792
+0.154791082970616 -0.344490099930392 0.933496272988131
+0.155900099381897 -0.350700823589569 0.930995752593057
+0.153575651782585 -0.343966712300924 0.933889939986746
+0.152692633105069 -0.349067770966967 0.932140360175222
+0.150725197603013 -0.343589667714937 0.934492940073424
+0.149355642028916 -0.347601217104195 0.93322842116055
+0.145171539240314 -0.342318284417411 0.935837815194555
+0.140372536170185 -0.345401835533136 0.935436862166277
+0.146480249705432 -0.339698930562581 0.936588048728401
+0.127989450300294 -0.340654828039978 0.938947276871754
+0.137824666740179 -0.337325063385775 0.938757243833432
+0.133093699773912 -0.332757988467941 0.941067047659868
+0.129389412013812 -0.337282065717046 0.939972440130221
+0.133329302705933 -0.331399615207472 0.941512927197651
+0.126988163844417 -0.331507041981306 0.94235136088416
+0.141628195610026 -0.328872790883425 0.941187091722361
+0.136691920122549 -0.325670360043119 0.943028703466971
+0.120019137234031 -0.33086341893901 0.943490225018568
+0.135235388419244 -0.321806606097066 0.944563866549734
+0.133314440069767 -0.318058938656931 0.946105053157054
+0.132739622550678 -0.317807161417773 0.946270469134846
+0.286984705326254 -0.497072090792049 0.827410487886408
+0.282792709929391 -0.503848258235519 0.824751002353938
+0.280403749643448 -0.492058965459541 0.832646810896902
+0.279043660614976 -0.496640461725227 0.830380567720577
+0.277816295630211 -0.492943908254456 0.83299064172242
+0.266749209022053 -0.496506769967722 0.834490794953623
+0.268666495362584 -0.491156675465928 0.837037893057921
+0.262579817699534 -0.494402725484934 0.837058411563941
+0.266030154736274 -0.491622745260927 0.837606132447169
+0.259205238136934 -0.492126037605102 0.839448394860266
+0.263644735070564 -0.48863983027548 0.840102118755763
+0.254573121439076 -0.489844205126733 0.842196046383812
+0.262910842143586 -0.487707296347314 0.840873642215608
+0.262143347254247 -0.480067020532709 0.845497203595131
+0.249632089009324 -0.480213870957633 0.849192238704951
+0.253985948049646 -0.475513603142566 0.850545090762211
+0.245406501200257 -0.475039105930881 0.853324379708582
+0.245621525232829 -0.470830926348319 0.855591786505856
+0.239509284008162 -0.47737298265995 0.853697451267274
+0.242617368881859 -0.467217777600223 0.858424930096483
+0.235267006002127 -0.474108515048406 0.856691048071234
+0.238698091108281 -0.465514936903365 0.860446433440873
+0.23397298626355 -0.461945022097521 0.863662224633124
+0.226816015085966 -0.466094268234432 0.863342127096513
+0.231231577990673 -0.460914582748007 0.864950116914365
+0.215020634912713 -0.454859122651432 0.872306313804103
+0.216190231670211 -0.450557681313144 0.874247424668843
+0.211581915721124 -0.450613953187822 0.875345165139
+0.210103560779755 -0.461820273334578 0.869843393309878
+0.216628650209337 -0.464858158658647 0.866618670602574
+0.211356880977885 -0.469151145498964 0.865606418379803
+0.216311754852945 -0.470619989029463 0.863582683151039
+0.21133886353231 -0.476621265282436 0.86152019955509
+0.215636742714043 -0.483669065183736 0.85651271477776
+0.208705008565391 -0.477184660525171 0.861850346150187
+0.202617470725996 -0.493419090665832 0.85412690012849
+0.196557879540831 -0.486693463538809 0.859385520321939
+0.193958432538149 -0.497093088038389 0.85400678467551
+0.192567047642437 -0.485106827660854 0.861184241564543
+0.176339191284339 -0.491307093565224 0.861145068748395
+0.178384756735871 -0.486039368062786 0.863709216841763
+0.182247170098671 -0.488637779746433 0.861433740455703
+0.18212440537864 -0.480405435888257 0.866077547413908
+0.17774007003858 -0.482070535521846 0.866063199936564
+0.174709931210677 -0.472758707413761 0.871793923184161
+0.164732848613438 -0.475049617536534 0.872490658669819
+0.174986285323812 -0.470951595120224 0.872716102178876
+0.170575966805705 -0.456323262232564 0.881318285237365
+0.168858625368295 -0.461353028897851 0.879027387153272
+0.153195101997488 -0.461058744975203 0.882045970687396
+0.151461422150345 -0.454092297687523 0.885950688684794
+0.145969625908911 -0.45658527536862 0.885591189335448
+0.130621492208585 -0.446546006712267 0.893075410960648
+0.125642356124916 -0.454036258248547 0.890007907011527
+0.100932301230109 -0.452583960776173 0.893884460663987
+0.0959076229555424 -0.458883842603261 0.891221828085849
+0.104027352876386 -0.468579075237082 0.885246270878049
+0.1002874991039 -0.481181840308088 0.878894449909207
+0.106122207560911 -0.479042434967364 0.879377861083015
+0.111436167675862 -0.490329674157876 0.872472229457161
+0.103463396027734 -0.513167491378317 0.860234532830956
+0.119951445818583 -0.519649550547949 0.854180891416652
+0.129927626252031 -0.5422714475005 0.838516242634706
+0.12286496295092 -0.560267106809611 0.827679871632902
+0.10360281886395 -0.573559931891499 0.821184790684814
+0.112155692509827 -0.578716461921062 0.816429640164545
+0.123949333308309 -0.604155261136142 0.796041445663444
+0.118430134701012 -0.611892615745988 0.790955580288952
+0.121984448514432 -0.619470441005903 0.784490386837584
+0.115852626221422 -0.613778576609043 0.789875324271734
+0.112358221637461 -0.621844947855048 0.784049418632282
+0.109639232564443 -0.62179498686744 0.784473857428786
+0.299203569138767 -0.518235783733401 0.809912277146637
+0.294226907485505 -0.525853464241258 0.806819472408161
+0.299048055091345 -0.517966425501882 0.810141989282673
+0.123365307596834 -0.321562124829491 0.946270469134846
+0.119800891434698 -0.32956181177713 0.943973388729591
+0.122567980407614 -0.321866881524206 0.946270469134846
+0.0598244065930783 -0.339281069757863 0.946233795676177
+0.0672858814595551 -0.339662962576908 0.945595411373008
+0.0658353539558701 -0.338063463587569 0.946270469134846
+0.255865484973691 -0.594569990095165 0.771406754233727
+0.257107008330207 -0.59009417042224 0.774424855167484
+0.32186902045855 -0.557493497009313 0.774370928212947
+0.219996135655189 -0.264996036838482 0.946270469134846
+0.224231823649783 -0.278430092566557 0.94140627404754
+0.230201333858614 -0.274071149893965 0.94124457538172
+0.231263569682832 -0.279271643919313 0.939453836141063
+0.225198794964341 -0.279131798561156 0.940967556177482
+0.233895904144059 -0.28535826681633 0.936969778372928
+0.224469615186834 -0.289906525338232 0.937878775974906
+0.221523344516353 -0.299065849714062 0.9357008204384
+0.233212768302354 -0.285967485263044 0.936954322298095
+0.233237732594767 -0.292601049780483 0.934897740804528
+0.241628210295807 -0.291363201109752 0.933151805993174
+0.223428735285615 -0.300113230104028 0.934912107828964
+0.232352027928678 -0.298125667604038 0.933371641648211
+0.225617767060043 -0.301666324192645 0.933885995202272
+0.228396233390525 -0.31079871624607 0.930208749987236
+0.234495991805625 -0.295966410417184 0.933522636968093
+0.232867286432799 -0.300947532615447 0.932337068619552
+0.242737082173473 -0.291921794048733 0.932689323996623
+0.228440298183534 -0.312215545597412 0.929723336941226
+0.241777158400628 -0.303444283793561 0.929254740267022
+0.230437575367538 -0.315811921682381 0.928014199235126
+0.242555622489949 -0.313072989841282 0.925851539411343
+0.237488822849207 -0.320865732022607 0.924496209313642
+0.244673424597968 -0.317909998052864 0.923643409781898
+0.238121349790713 -0.322920939255775 0.923617501871861
+0.2428292316058 -0.323159666517496 0.922307320915343
+0.241552394625362 -0.328617310338366 0.920712823847225
+0.248138997406986 -0.306010942849609 0.926732615602876
+0.252737042017772 -0.304931851656511 0.925845318310482
+0.243461827123271 -0.328791693501201 0.920147466995595
+0.252798240432986 -0.32076514902235 0.920462801424727
+0.247705380003508 -0.331162813251081 0.918162423450746
+0.255461689532156 -0.332803871066129 0.915439735091707
+0.258312221783067 -0.321677802270529 0.91861155425125
+0.264068843733589 -0.319931348608533 0.917584098569025
+0.255630677621859 -0.334060946165425 0.914934555531515
+0.25911132685088 -0.331301597331494 0.914958781532358
+0.262759973324049 -0.338870224809157 0.911138390781849
+0.266353453935503 -0.332059442875986 0.912601426677341
+0.264114834361138 -0.340102402479344 0.910287158043091
+0.269937490216206 -0.345529092206859 0.906527659707347
+0.272495494661345 -0.332367803608137 0.910673843104089
+0.265655977487854 -0.32802269196499 0.914263099540288
+0.282359026640992 -0.332334420231944 0.90767627114707
+0.272331926655703 -0.334984887576783 0.909763401560627
+0.278118088067117 -0.333878786403289 0.908418562712012
+0.271594668721106 -0.344602781610556 0.906385270637459
+0.28189936457084 -0.337100030693741 0.906060327771189
+0.27385316827231 -0.345578655541502 0.905333549064292
+0.279143206622969 -0.343571393058243 0.904481491280095
+0.277735456113913 -0.349825051119044 0.902515623148295
+0.284230553217812 -0.344872808236361 0.902399434151342
+0.281965655802858 -0.3512340110176 0.900654783172861
+0.289064320173953 -0.346502839867542 0.900236969228713
+0.283761978930772 -0.351783130818283 0.899875973779153
+0.2913500632507 -0.347882818286763 0.898967010175942
+0.293911894310414 -0.354811682131204 0.895418041255641
+0.295211651836543 -0.348052369864219 0.897640589797409
+0.297033787884935 -0.35800771535359 0.893112761414834
+0.305730934407381 -0.355181597509453 0.891304453336245
+0.306059765957861 -0.36108488294237 0.888816137889223
+0.310447450840784 -0.3550836754289 0.889711730680428
+0.309016836273188 -0.361786655712082 0.887506625692663
+0.31133009100538 -0.356105764431628 0.888994521340344
+0.312037594425175 -0.361384253694053 0.886613196860583
+0.316364441438675 -0.358946041033342 0.886070132562702
+0.313176604710492 -0.363754523620502 0.885241244411731
+0.319571457122384 -0.358250896871858 0.885200191303179
+0.315833536803995 -0.364466793355656 0.884003469207516
+0.323898081292063 -0.358716750238795 0.883437222463169
+0.330865002550211 -0.363093584861389 0.879056538977985
+0.341816316655539 -0.344355230328239 0.882400181898001
+0.3404725980918 -0.355488385473035 0.878496111398562
+0.34280623233207 -0.347590035138477 0.880746305440291
+0.343838028894959 -0.355917930730769 0.877010168966105
+0.346469918504487 -0.349079952466758 0.878721106129413
+0.350508304568038 -0.353050153935034 0.875527565091636
+0.350610723088263 -0.34608726101492 0.878262334737586
+0.353545777935923 -0.355724506808966 0.873220738507281
+0.353450291949717 -0.346946811858302 0.876783782275892
+0.357947810473669 -0.354206515398991 0.87204363963394
+0.357633737665816 -0.346728583841363 0.87517221095653
+0.36660693116708 -0.343533059570642 0.872716102178876
+0.354804474712223 -0.345261272534986 0.876902182921051
+0.362894414021778 -0.336891966319793 0.876846877910262
+0.356057811907518 -0.338228920521001 0.879131976385132
+0.358134104987434 -0.330522935872745 0.881217085460167
+0.351991006270493 -0.33553639116906 0.881797404002716
+0.358179649237405 -0.329801760351203 0.881468738947342
+0.351922573317183 -0.331067277713979 0.883512286285181
+0.354938910904691 -0.324149206931608 0.884869855499328
+0.349937511011688 -0.327248136638522 0.885720833814786
+0.353507910388268 -0.320912601152637 0.886620696642239
+0.349179837394366 -0.324182773235028 0.887145969215264
+0.350724417949981 -0.317026159710419 0.889120799842694
+0.339924883108259 -0.316962898702623 0.893327820393984
+0.346147999816207 -0.313295863657916 0.892231059781086
+0.336401168988853 -0.3154159255249 0.895207265066701
+0.343011035511838 -0.306493410271069 0.895798090519011
+0.336255398968794 -0.303968679701468 0.899213182968802
+0.342759796913288 -0.301238452630803 0.897674838834508
+0.334700724870479 -0.300615713493789 0.900918763025721
+0.340827240901483 -0.297741825411729 0.899575231573198
+0.336183327508563 -0.298488018083959 0.901074177504594
+0.33947591950461 -0.292469873084625 0.901812881597043
+0.332248047319088 -0.294072318076378 0.903981032319726
+0.339407732246198 -0.289973805247717 0.902644217597195
+0.333962108989472 -0.286098626411225 0.905906113085078
+0.327300290113936 -0.290274270478027 0.907008471840138
+0.332304823488818 -0.282273967288933 0.907713562571934
+0.318912423293928 -0.278528663256379 0.913655104518882
+0.325160842464008 -0.274967098992757 0.912530832903527
+0.320830437447525 -0.269208701819938 0.915774811442012
+0.32186902045855 -0.557493497009313 0.774370928212947
+0.322792936821125 -0.556959051885336 0.774370928212947
+0.327468957538838 -0.538380117562099 0.785467969342001
+0.342376318212457 -0.52636816808188 0.78725091829569
+0.34875166912226 -0.511097519378913 0.794481339597828
+0.340955492159459 -0.510295234609419 0.798371546274803
+0.346524777804354 -0.506617599673795 0.798315843553418
+0.337190133878898 -0.510231636942499 0.800009681364987
+0.344137599718575 -0.505737285946652 0.799905063156405
+0.338497761318266 -0.50552739284575 0.802440228718065
+0.33798060154095 -0.497342024426701 0.807755547007365
+0.328493792995134 -0.4959801824905 0.812492760915665
+0.323531779974972 -0.505348277367084 0.808702235627147
+0.321725560201661 -0.497845297427809 0.814058796243824
+0.310337264484842 -0.500035467148003 0.817131760407184
+0.299203569138767 -0.518235783733401 0.809912277146637
+0.299048055091345 -0.517966425501882 0.810141989282673
+0.308616696021233 -0.501276736273386 0.817022869085095
+0.299315846678734 -0.510028733258831 0.815064239908355
+0.314998797347225 -0.491302104110966 0.820638166408277
+0.306366599160294 -0.493906988176304 0.822340801583849
+0.307094842800496 -0.490368268791263 0.824184881254199
+0.298997313737964 -0.497084345552299 0.823138360049101
+0.296093852411129 -0.493328856798699 0.826440602592845
+0.294204635730217 -0.497571966777446 0.824569445342279
+0.294008532170892 -0.493145191861355 0.827294266119828
+0.291202243255522 -0.503058237801226 0.822303266990517
+0.292716969481654 -0.495272970039597 0.82648076863629
+0.288134572235413 -0.498802318781583 0.825968349914711
+0.288295434613592 -0.494903950946089 0.828254080411869
+0.286984705326254 -0.497072090792049 0.827410487886408
+0.356931913755403 -0.539981692713273 0.771406754233727
+0.356118022155496 -0.522656722814363 0.783619106704914
+0.350829125480287 -0.521774012577938 0.786587442381999
+0.356111814079448 -0.51802968168418 0.786688391148129
+0.350418294976107 -0.517604576962109 0.789519803712303
+0.34351435981238 -0.537365701807875 0.779284920374583
+0.34705314471241 -0.546383321732841 0.771406754233727
+0.360148700808201 -0.537841549927812 0.771406754233727
+0.359285209707924 -0.535884159922146 0.773169648414673
+0.358758209163355 -0.53877005009604 0.771406754233727
+0.320830437447525 -0.269208701819938 0.915774811442012
+0.319433649280964 -0.267372297557754 0.916800522581512
+0.32676120801269 -0.257071078928172 0.917164420001557
+0.318015085515749 -0.247318489109978 0.922902470648317
+0.322487230711313 -0.244391022644707 0.922130150292692
+0.325311199210298 -0.252391800061042 0.918977694468318
+0.329533078239765 -0.250129220484851 0.918091674837249
+0.324747322993976 -0.24698833219522 0.920643763878119
+0.328987099490079 -0.247882555157605 0.918896472524322
+0.331567964465492 -0.237256826022652 0.920771895447438
+0.326064554085213 -0.235918643942285 0.923078165709516
+0.332152083743671 -0.23076574789071 0.922209934269404
+0.319851772500943 -0.209576321203581 0.93156943338582
+0.320616656065598 -0.200740562283018 0.933250870081358
+0.308954329663088 -0.197523760970662 0.937859576927397
+0.320086878848587 -0.19712674784646 0.934202566509238
+0.3245068812306 -0.187920935338686 0.93457477287557
+0.320571556748008 -0.185022399152635 0.936509257197152
+0.325491986389861 -0.183570005355257 0.935096797091003
+0.328153690915146 -0.162804114473031 0.938007982614977
+0.318424569740178 -0.131251638576824 0.946270469134846
+0.385867850147759 -0.140444411888193 0.919472875832521
+0.382506536683956 -0.142412513756448 0.920573965154139
+0.39472821396998 -0.152210054422636 0.913822048556899
+0.381423227077801 -0.148887117476784 0.919998884833569
+0.370249711728496 -0.158207559579221 0.923002989733486
+0.381060020785577 -0.157318427945132 0.918745434158868
+0.372769774606482 -0.161852880669376 0.921355165047039
+0.381041783861301 -0.163763618949571 0.917626087281926
+0.376716018829633 -0.168489547720879 0.918556102514139
+0.381660872240389 -0.168117706485541 0.916580828605283
+0.379873769542517 -0.173342697136054 0.916349948744014
+0.388708595402649 -0.154536643311322 0.916009308759561
+0.390137697676434 -0.162430606569969 0.914033847787402
+0.394748789908289 -0.15790423545259 0.912846452198876
+0.390270016575525 -0.174134980389131 0.911819786343231
+0.405419810466843 -0.158523238050294 0.908049646373522
+0.410132035594726 -0.171595590755143 0.903546161860211
+0.412838146855511 -0.15891202953712 0.904632871041784
+0.419398431969349 -0.15264854561532 0.902691739622768
+0.306379892914119 -0.157329464695115 0.946270469134846
+0.306486185674743 -0.158880922273869 0.945976781178033
+0.304723978591462 -0.160513227226634 0.946270469134846
+0.595253202394576 -1.068993610578e-10 0.812233110036153
+0.590193067214931 -0.000803463957456122 0.815916967501658
+0.583480603594987 -0.0123444344743058 0.820638166408277
+0.563939563833638 -0.0210433997920771 0.834013395377027
+0.560130656521819 -0.0376850080842208 0.835991918495704
+0.558629571554687 -0.0253281405093391 0.837460737636676
+0.556579639436202 -0.0328427149283325 0.838563927820177
+0.554279412730793 -0.0245783784267435 0.840368511985497
+0.539144005234643 -0.0171222484066612 0.850340855321587
+0.539643822743684 -0.0418833720494425 0.849163899209305
+0.523277797873564 -0.02763446597959 0.85992190490917
+0.52223782668997 -0.0457174433285077 0.859782860814078
+0.534223772230793 -0.0474150625819355 0.8522944168677
+0.533032088010585 -0.0542750165525239 0.85263123079635
+0.544437992971766 -0.0513494993457694 0.845576431037322
+0.549223679477875 -0.0599460683400941 0.841907844595445
+0.550577319453927 -0.0482080059408639 0.841777644907569
+0.570287763385804 -0.0579880558731836 0.827924061921421
+0.562837813154641 -0.0523714160610237 0.83337856395702
+0.558160752203731 -0.0463992001189013 0.836870771940143
+0.562828989907918 -0.0435840196770882 0.833890257376844
+0.561897165195958 -0.0480135191708025 0.834275300917857
+0.577343583070427 -0.0519937889060402 0.823419718614143
+0.580797418516224 -0.0493528442103067 0.821150202711565
+0.577398000200478 -0.0490639810762878 0.823561336589713
+0.577025230219828 -0.0307657659768031 0.824708646331306
+0.583466295278528 -0.03714822857394 0.819900049632739
+0.590133675492206 -0.0324976833404912 0.815312912707484
+0.58778140162729 -0.0287370233494761 0.817151275707301
+0.597457782290762 -0.0324408231273739 0.809963450641461
+0.600378159928053 -0.0281135828057277 0.807963298388751
+0.60142493238966 -0.044155332917865 0.806465967834356
+0.606791884298452 -0.0506231322516434 0.802053556584949
+0.605585917739372 -0.0429627632318456 0.8034107898275
+0.610833022083907 -0.0420387274174159 0.79947780740241
+0.619218628241167 -0.0576720918681297 0.792017184320316
+0.62740905657774 -0.0373079334781427 0.78677505922838
+0.622249363829212 -0.0255033907335067 0.791330718647541
+0.63040529312448 -0.0336670480229655 0.784541073671773
+0.629454795548092 -0.046566688901156 0.784644635389991
+0.643243073864212 -0.0643856163674884 0.772102221425828
+0.643034581673239 -0.040940832082755 0.773872970868407
+0.63681693128163 -0.0386928074776007 0.779112355621799
+0.636616931506129 -5.55554221103932e-05 0.780235784512166
+0.636616933930196 -1.14327723398963e-10 0.780235784512166
+0.615870894248741 -0.0865550096569062 0.791997646410991
+0.61288884990244 -0.0678151454613089 0.796126474695651
+0.588022771763154 -0.0659469299103699 0.814818521097413
+0.582370680648434 -0.0553681621560133 0.819650997035046
+0.571012069217575 -0.0614469738040869 0.827175003380895
+0.572801998945366 -0.0735300536977242 0.824948605191501
+0.569995111695823 -0.0691990655181995 0.82726420324723
+0.567341170071631 -0.0735639282012352 0.828710652284231
+0.573021107790342 -0.0767627358357001 0.82450184500324
+0.56876194475714 -0.0797824415569384 0.827159967730118
+0.575046929918676 -0.0891350185026544 0.821842428247433
+0.576797018833183 -0.0822547134973236 0.82133328264026
+0.582395338499879 -0.0872370196911711 0.816856396246619
+0.579325975704932 -0.103339727459893 0.817160519483194
+0.586486010177341 -0.0986808400570924 0.812616300397605
+0.590823910893706 -0.106135678645368 0.808524164162552
+0.595871312956402 -0.0930872165444438 0.806424918086998
+0.603030215961746 -0.105690339861841 0.799520550515756
+0.603858737465241 -0.0923817996036866 0.800543083343345
+0.606645871629121 -0.11093544947396 0.796067278868661
+0.608858661065399 -0.104719518381201 0.795219437209415
+0.611910354138591 -0.112350724867748 0.79182828512227
+0.612973102394766 -0.103192506859568 0.792252663150193
+0.6155210712952 -0.110350502460658 0.789307023532852
+0.615231994952128 -0.102490966229118 0.790591041075376
+0.618520657750277 -0.106559157160427 0.787481010540206
+0.615881560815199 -0.0865784318036702 0.791986791679162
+0.615870894248741 -0.0865550096569062 0.791997646410991
+0.419398431969349 -0.15264854561532 0.902691739622768
+0.427147870629665 -0.144864149558081 0.900337755950153
+0.425274460564735 -0.130011334534033 0.903486406142369
+0.425261635489076 -0.130015529695866 0.903491839154654
+0.422810619404571 -0.112959640471983 0.906929048902483
+0.414829411528093 -0.100978784522995 0.91201362073574
+0.411974401713248 -0.104490406804933 0.912911741198869
+0.412634229759869 -0.0989961641841669 0.913226013595375
+0.393629493895616 -0.106828739235845 0.92070214619537
+0.390564974564606 -0.101203353470536 0.922640711159911
+0.392409574018837 -0.108072867982213 0.921077619652358
+0.384983341563431 -0.111796997417506 0.923763096300715
+0.391277498253515 -0.116459012812028 0.920536918159896
+0.38623607939541 -0.127511057526864 0.921201183879853
+0.394791479032787 -0.128671772737796 0.917405179287548
+0.384791222903169 -0.130896200584458 0.921331047696341
+0.390596330444169 -0.137588995645823 0.917906735415272
+0.385867850147759 -0.140444411888193 0.919472875832521
+0.598367557937617 -1.07458656860525e-10 0.809941519869041
+0.596847970894019 -0.00233341153407441 0.811058601353999
+0.596162787758418 -0.00812681119888352 0.811525036848432
+0.595253202394576 -1.068993610578e-10 0.812233110036153
+0.607604251487961 -1.09117441113758e-10 0.80303553693081
+0.607642087048292 -8.48429504141315e-05 0.803006903363395
+0.598730796689766 -1.07523889588984e-10 0.809673040859851
+0.772069500258922 0 0.646496470810118
+0.759484665707344 0.0129907897027706 0.66110761751647
+0.748455021153752 0.0418866714183781 0.672390948829047
+0.737491261715694 0.0380190258034027 0.684624125027707
+0.731784316898176 0.042631408003014 0.69045150198515
+0.727855968440481 0.0519837520481717 0.693954161835322
+0.731869255303781 0.0789667689924491 0.687154016604707
+0.710775933298205 0.109365734668839 0.70490120493897
+0.713439113433693 0.128109588840229 0.699029015613896
+0.729792827641917 0.143091037703096 0.67895241633819
+0.742380611263661 0.208349462962485 0.647696324910862
+0.752986688868049 0.219066442788305 0.631719827163601
+0.763985732098788 0.213803181510563 0.620212061093172
+0.763331007435109 0.219819123813984 0.618913827518625
+0.751928771822246 0.224229725058516 0.631168085779114
+0.747261268389585 0.231441777764587 0.634101175105326
+0.742286649750144 0.219714682537233 0.644038032945469
+0.733438443496067 0.222762929634628 0.65306487180269
+0.731179522764534 0.235575610158015 0.65109879234146
+0.734434162119086 0.243565102759515 0.644462180605024
+0.730015080362799 0.244489165754344 0.649116345712879
+0.72556479145014 0.207524825701819 0.666736964720979
+0.719822176572289 0.208490237247443 0.672634265472134
+0.72304131786615 0.190875110731422 0.674408588884845
+0.709278166332308 0.171941046810407 0.693836983149515
+0.705033561744328 0.15495750281825 0.702114555563719
+0.691412369302985 0.148766278143139 0.716844843785788
+0.682588065003704 0.164428140641178 0.721862812506493
+0.693994258968498 0.171809203195759 0.709156235406559
+0.685617979273487 0.178068852552563 0.71572932750276
+0.702272301178618 0.200734134164836 0.693230425167838
+0.700117608402487 0.212531817373242 0.691892015424957
+0.703336331885546 0.225031472837615 0.684637013666599
+0.70420085001441 0.215407358073317 0.686840471235392
+0.703093014391571 0.238838997010826 0.680194932810174
+0.707086713050394 0.251712726186274 0.671355407890234
+0.72360602802425 0.25324160780317 0.652925726468359
+0.728139193596712 0.265020992863572 0.643137767581672
+0.812639201866397 0.29577648066803 0.51592906593211
+0.82233296483899 0.282989810916675 0.507675350845854
+0.822243765039807 0.264839177258746 0.517517536941574
+0.827305974190955 0.233196601722953 0.52462669586366
+0.820638897694536 0.223039556242655 0.539308961488474
+0.822537853365196 0.195778667951856 0.546947157371141
+0.826670878825404 0.180229797767123 0.546059958336863
+0.823567635198593 0.148392449876889 0.560147329791843
+0.820294302327427 0.144904271340355 0.565834790125599
+0.80713982761754 0.159274931647515 0.580694235223845
+0.799741009890789 0.147756949705537 0.593827585173152
+0.788414282650398 0.153809219222209 0.607284647422534
+0.793911905564268 0.146164190518601 0.601987471309292
+0.788961392344684 0.135497763607875 0.610924936016531
+0.798234436344619 0.110762761258678 0.60382314906928
+0.798281190360871 0.089764635560683 0.607238380966395
+0.804492179295234 0.075253791516267 0.600981031576897
+0.803152979454198 0.054696160362708 0.604981505201126
+0.809405879014012 0.0153152759426843 0.5988961223287
+0.816298956877118 4.34793134454368e-06 0.589665170230042
+0.816298956888697 0 0.589665170230042
+0.774117409910811 0.115020858788961 0.633688754607833
+0.768295530819333 0.13042405530724 0.637777816422188
+0.754162805647459 0.130700348711395 0.654373655814989
+0.747188543524508 0.121430235364236 0.664088080276337
+0.752971495301816 0.108184123142318 0.659832647542446
+0.774143664883667 0.115024759837416 0.633655971916015
+0.774117409910811 0.115020858788961 0.633688754607833
+0.779867370242903 0.208954620138991 0.601825432790098
+0.761270137115334 0.213279634580124 0.623721553106648
+0.774556963668152 0.171557720356918 0.620224522748907
+0.778805584304732 0.17491591268979 0.613934267934006
+0.779873934361048 0.20893011977987 0.601825432790098
+0.779867370242903 0.208954620138991 0.601825432790098
+0.786883647449444 0 0.628381353460348
+0.785466845035609 0.00322565948759873 0.630143182515432
+0.783340865864619 0 0.63279229441142
+0.647118223181405 0.0147859645991445 0.771406754233727
+0.656289926454601 0 0.763762091514245
+0.656289926454601 0 0.763762091514245
+0.728139193596712 0.265020992863572 0.643137767581672
+0.732455095082123 0.277147233644891 0.633046557980709
+0.729624712614412 0.281800661492336 0.634259541453512
+0.733838241315679 0.277715980149109 0.631192735978901
+0.736937739746075 0.284350263766483 0.624593223813609
+0.727675421182641 0.31226550780064 0.622115531107104
+0.731666822642834 0.309006468919888 0.619053844838559
+0.736777821322724 0.288275861459924 0.62298031245496
+0.741805346504959 0.286304311272737 0.617902637349365
+0.749035776412865 0.298135084597113 0.60341517795449
+0.744760420848659 0.302808090382109 0.606372967682819
+0.749044581382984 0.309993360289405 0.597398804549584
+0.744175751568526 0.310302437680505 0.603294163693762
+0.744664546717756 0.319137479323796 0.598059346680989
+0.736325149894066 0.308281808576267 0.613870181825463
+0.73323952731995 0.319060554895759 0.612053231251356
+0.731696380193088 0.310493247564751 0.618274494402791
+0.727168486301945 0.316483721528075 0.620574771109072
+0.728225015151173 0.324695843780763 0.615069050058262
+0.722857463424936 0.323065165929967 0.622217796381226
+0.724327107500313 0.300424602213255 0.631778679384828
+0.719907794654995 0.306428320124266 0.633942782765765
+0.717048491714567 0.303421257883608 0.638612559220529
+0.716599693276509 0.309362653586754 0.636261446389592
+0.707352881171209 0.29423257856413 0.653550373888878
+0.703788176246674 0.297700051270171 0.655824582071393
+0.705625607785969 0.313412464218903 0.646462782307626
+0.702469217338381 0.308875829682767 0.652059598909321
+0.700886482445435 0.317977509695752 0.649382354282092
+0.698313494484498 0.307022378418557 0.657377001857428
+0.687893700498353 0.322767493352473 0.660811926382721
+0.681946207340183 0.344599821244115 0.655933939884852
+0.691855726283301 0.340169782929597 0.647818780825809
+0.674269786711252 0.351237497258537 0.660334366247828
+0.664834576670901 0.368247799209492 0.660634198358054
+0.658179223875113 0.345869867438571 0.679134113454168
+0.660937683359889 0.341223032552998 0.678805731244366
+0.64159397281623 0.349568737677811 0.69297032525515
+0.624102560332123 0.344003145660708 0.711482136081031
+0.626247823737574 0.347061969645241 0.708103560568593
+0.620687814505382 0.352722993393812 0.710198653093513
+0.609970771720412 0.346951107869667 0.722225440146506
+0.611724183954349 0.349520118983413 0.719498581785403
+0.606068471025407 0.351765259217293 0.723181312560492
+0.612064041781916 0.349411130319665 0.7192624491563
+0.602071453346082 0.35432313472851 0.725268282266568
+0.600750542436372 0.348814686143028 0.729024074014944
+0.602003953652449 0.354323020446928 0.725324366727181
+0.59511746377654 0.354185671947274 0.731051786192631
+0.583688342942705 0.364573159945152 0.735148508371204
+0.58509155145295 0.37197251934766 0.730310428015741
+0.590103736126611 0.361747799644232 0.731413091256898
+0.588333407263204 0.368028556874512 0.729703901060514
+0.59172179468997 0.366705788718785 0.727627090073627
+0.581042399724913 0.386004180987544 0.726250302569335
+0.583815871276414 0.389161018925423 0.722330762043739
+0.596606576176053 0.379793448075683 0.716844843785788
+0.591186083459345 0.386909965170647 0.717529576795026
+0.598932377317102 0.394656224367119 0.706806530791542
+0.596756885246776 0.402164610908205 0.704410282181925
+0.567565050424137 0.422224579042696 0.716690531812207
+0.576893017502591 0.410962319387884 0.715788668812301
+0.572787184654667 0.398319895693482 0.726157766459957
+0.577090853242008 0.411085032088412 0.715558693258128
+0.579781231635306 0.405566180928888 0.716532481001527
+0.577617741757307 0.396475276278879 0.723335399179921
+0.566230026134335 0.39922121625328 0.730790652647638
+0.572281451594253 0.400578856874846 0.725313394048404
+0.559742532694913 0.405498761177006 0.73233056182041
+0.529122379026577 0.432502106137329 0.73960829916925
+0.54016335697708 0.431104877554382 0.732407763700026
+0.546436775388158 0.422276447168601 0.732897300220198
+0.546397642760597 0.436028953511309 0.724829198974141
+0.546583941068003 0.431275781619872 0.727527453471508
+0.560912270015595 0.430910400968437 0.716758433283608
+0.569716365758228 0.423113341621614 0.714455990757324
+0.559869988367038 0.469786700726972 0.692744579153066
+0.582894132587673 0.489106251649896 0.659589648790711
+0.59661187047147 0.472485696906356 0.659439566777312
+0.6093645338437 0.449413329365294 0.663891199129987
+0.611958829122605 0.428711512524146 0.675101348308644
+0.624917853953768 0.411144117277253 0.674156651408354
+0.649015011835406 0.393224688282828 0.661968925960396
+0.661431049979489 0.369078265201641 0.663580590643501
+0.665069211014859 0.372494775473672 0.65801184397007
+0.661409030317605 0.380877173804142 0.656901570320314
+0.668478783882132 0.37016415751575 0.655868593538463
+0.671250710023182 0.371852180260447 0.652071652756755
+0.684767220206125 0.345113624249448 0.652716968132886
+0.693316462280713 0.340384769091738 0.646142006141778
+0.698251870552242 0.341654590689459 0.640129257206006
+0.692006864872781 0.351804378020417 0.641411863450164
+0.702448320196076 0.353635786180168 0.62893329390838
+0.701629133017807 0.360179815851746 0.626127830361886
+0.70603877218316 0.354740834358045 0.624273331652934
+0.704023664130264 0.349759165974179 0.629339499921659
+0.70922124176955 0.349464568712193 0.623641519975745
+0.705650755889545 0.363532198323248 0.619637274132844
+0.710297645194868 0.361984999505901 0.615217941353581
+0.710107187629145 0.371980250220835 0.60944850112464
+0.715221470831513 0.368587569183249 0.605516681442544
+0.70736212824062 0.381439201086471 0.606788229455232
+0.717124642599645 0.371799918843028 0.601287009110166
+0.708140978225007 0.383876489508075 0.604337815928712
+0.706582020070982 0.402780505482893 0.593766547824442
+0.70085731963524 0.411269476317449 0.594731397660556
+0.693274508114625 0.410602643352668 0.604007388754663
+0.689469925323685 0.417077720513178 0.603925820880084
+0.68462055067483 0.441082702330381 0.592275063883851
+0.67381048649246 0.453835868916038 0.595030614656102
+0.663430257985586 0.458355498713322 0.603174543219822
+0.65992103356798 0.468198375185984 0.599452676136969
+0.650748119111197 0.475470299268249 0.603741567218128
+0.664924904764267 0.478038139976618 0.586006320573358
+0.671194016163308 0.487448776209159 0.570912675668322
+0.711052261217882 0.48390216355997 0.523729298320149
+0.730846159334274 0.458444711533953 0.519366284863478
+0.728540618507714 0.453813625981821 0.526622027698831
+0.734961549023966 0.442103677961503 0.527659795122959
+0.755870458222092 0.420109253745088 0.515962271202914
+0.765619179164964 0.389807947180586 0.525286623482479
+0.776688763601016 0.365496891565368 0.526512665329124
+0.774342346731949 0.360751104528991 0.533199372316557
+0.782911578121652 0.337500639358222 0.535902770356578
+0.77997841767434 0.332806450854148 0.543067706858084
+0.785166636209707 0.312589102002572 0.547585981095535
+0.800375486129105 0.292897418989522 0.53633868325236
+0.812083392163909 0.29649103645995 0.516393870481111
+0.812639201866397 0.29577648066803 0.51592906593211
+0.583678476410917 0.647963105545636 0.503500000026102
+0.58361122472387 0.647181685812753 0.504581810933437
+0.573426550655731 0.656942248040482 0.503644590701208
+0.57076383790377 0.654862380353911 0.509345564561593
+0.565745145855843 0.66367505731102 0.5035045662591
+0.558446675597926 0.667785774513142 0.50620990692746
+0.558249260439757 0.669995905354786 0.503500000026102
+0.559869988367038 0.469786700726972 0.692744579153066
+0.554488952735036 0.489465578062145 0.683384554396054
+0.559432173586928 0.499830033637373 0.671754851586401
+0.566760408139264 0.499756179661484 0.665639091892877
+0.58142209540254 0.490833799727442 0.659605585196821
+0.582894132587673 0.489106251649896 0.659589648790711
+0.507464829251291 0.591058167847297 0.638105547142442
+0.500003478687472 0.58518270429502 0.649312500953427
+0.489462310426306 0.590790712304224 0.65225913633096
+0.49580906014891 0.581092613482286 0.65616594732627
+0.498230552748053 0.548287906729626 0.682052554897652
+0.488603558841482 0.536940059825911 0.697861687185638
+0.494347064884586 0.537735885312618 0.69318835613926
+0.491222045032429 0.521498249919461 0.707664806108865
+0.475846006874533 0.517119865398314 0.721253507826472
+0.462258645295704 0.527799555944201 0.72235280410232
+0.451302492543108 0.524722748312688 0.731465035136716
+0.429500950752846 0.534002475368094 0.737847741477298
+0.414509265171412 0.548188862479866 0.736016331435714
+0.414034806912304 0.553598785252391 0.732224394316502
+0.427015975428071 0.561208839173602 0.718853945918523
+0.423512983238872 0.567291027140394 0.71614708234699
+0.441104546700763 0.552852975291638 0.716818921758555
+0.449645535502559 0.554333631563246 0.710339438100209
+0.44632121137623 0.562517973816927 0.705988601472116
+0.457389066379931 0.551235063276036 0.707802336087667
+0.460449118096663 0.553248747664447 0.704238193263989
+0.455943746630435 0.559839794520481 0.701957053087913
+0.459672299884405 0.573055279211001 0.688736541565338
+0.448000959720453 0.588899408944557 0.683038524707285
+0.455912015628174 0.592127115814986 0.674965712256913
+0.45844344383437 0.605246001899962 0.661480072254178
+0.451112721926347 0.59748954961417 0.673463102343446
+0.442455612989812 0.601441026307878 0.675685372349835
+0.438193005749399 0.620400863501274 0.661164622676668
+0.452043915126365 0.616424371968599 0.655535119151023
+0.457668302222307 0.605554470824944 0.661734469409651
+0.465698940878644 0.611102592783224 0.650943252179582
+0.465589559576819 0.6187295322335 0.643777234728891
+0.465175151519004 0.615194541091019 0.647454056301358
+0.458255364960355 0.621017669350252 0.646829247050435
+0.459557225383314 0.626390077145748 0.640696205585247
+0.463720366450179 0.621315758591266 0.642634538338448
+0.468028142856117 0.624716393017013 0.636182431218017
+0.462443422544839 0.626411720388426 0.638594893109104
+0.460716402706562 0.633749483914043 0.632574887199776
+0.473474744309206 0.652364226673929 0.603565723229424
+0.499224949299119 0.6360905101938 0.600176901287182
+0.521360980585027 0.604288171556601 0.614058249386977
+0.516193903900549 0.590268943631047 0.631803314141829
+0.507531735789562 0.590902349970501 0.63819663894898
+0.507464829251291 0.591058167847297 0.638105547142442
+0.365609887765166 0.63325490131505 0.692363083886489
+0.368566543731021 0.632179097512258 0.691778354323664
+0.368954002810011 0.626254623128854 0.696941239144454
+0.381889268466619 0.619080379928521 0.696382847159225
+0.376406203530225 0.606591614042484 0.710221080873623
+0.364799494639249 0.599317997737748 0.722349130475399
+0.356316544219396 0.604695473471855 0.722101727375164
+0.353803559160547 0.598876376065808 0.728161470908489
+0.350323855404388 0.60406332342972 0.725554751636047
+0.347884706107924 0.602553986113441 0.727979343851875
+0.347884706107924 0.602553986113441 0.727979343851875
+0.342750029093714 0.599323919381463 0.733063610618819
+0.335253683745927 0.606940398564058 0.730258392711572
+0.32701396798815 0.607622982021495 0.733420190927378
+0.339589477844184 0.610029165756568 0.725666868103994
+0.342055435211606 0.615376013753283 0.719971833434696
+0.334418417223345 0.628026407220386 0.712598171521431
+0.341850428119181 0.628364703103873 0.708763066678783
+0.341854814924039 0.628362316522353 0.708763066678783
+0.354087628289378 0.63167144826711 0.699758624767523
+0.353188905354286 0.637597364922611 0.694820982252539
+0.365609887765166 0.63325490131505 0.692363083886489
+-0.399433077304161 0.691838384210037 0.613075743190817
+-0.391431475138312 0.700814920346048 0.608020433613383
+-0.381652301647565 0.693076380334996 0.622925077091022
+-0.36678925474417 0.698897300417167 0.625345669269255
+-0.3634505908488 0.691743252427948 0.635172370882158
+-0.378405088190019 0.682520376815217 0.63641537101481
+-0.385575122535952 0.667835702459189 0.647592695605986
+-0.415427765351903 0.719541996563771 0.568971077433419
+-0.403744036978044 0.722888841106977 0.573124311129517
+-0.402416630541593 0.720010270229523 0.577663454121481
+-0.408844053517867 0.708138673163251 0.587737321831505
+-0.385575122535952 0.667835702459189 0.647592695605986
+-0.392123946724705 0.653300989746592 0.658396253939194
+-0.401131643778209 0.644846255426111 0.661298503871523
+-0.409134312306182 0.647737006910587 0.653524968438285
+-0.403755388664354 0.665394473069494 0.638968529219606
+-0.411677224085061 0.660282046377408 0.639217085504823
+-0.406258842752247 0.672427698619671 0.629955349857955
+-0.427584748979614 0.642933627109768 0.646418311599787
+-0.450795244270562 0.630617030500771 0.642771194582826
+-0.451064554816279 0.641181264038029 0.632041417974319
+-0.457856676008254 0.639433119986845 0.628920940419828
+-0.451004623788536 0.645035388871422 0.628150600115016
+-0.450400144117058 0.651626127812286 0.621749225758825
+-0.457558696480905 0.647190892405592 0.621154560525759
+-0.455305485021869 0.650823675473545 0.619010871271343
+-0.461629843164631 0.64682291407113 0.618520012394369
+-0.461985641363524 0.644628924619074 0.620541551161878
+-0.473733976844033 0.639747570046049 0.616723735398365
+-0.483762012197106 0.645295134404355 0.603007052254841
+-0.477958457140146 0.645994520091448 0.606873786927753
+-0.475359084021438 0.651664972162903 0.602839535278022
+-0.481201445967456 0.652232824513723 0.597567160263749
+-0.480537979239756 0.649149126192589 0.601446308885149
+-0.483686913201361 0.653832393597628 0.593800615594271
+-0.488201273682762 0.650364880857272 0.593914167302006
+-0.486968207785314 0.66440829241102 0.579199953022988
+-0.494307458727417 0.665051912742299 0.572201965746582
+-0.490510906355712 0.66823844717341 0.571756441560012
+-0.495154757779434 0.668552972798644 0.567369093633488
+-0.500575097053504 0.658456618327816 0.574376578552931
+-0.503701815434888 0.660246426425546 0.569568378265415
+-0.503023908213707 0.655174612473235 0.575987998951328
+-0.508146541293162 0.655027751590241 0.571642140869995
+-0.504686126657222 0.652493141591407 0.577575634645287
+-0.514139170728734 0.648124301215694 0.574147022369739
+-0.513173741522662 0.643094827617566 0.58062961834819
+-0.519814581107219 0.639837022849506 0.578316855589916
+-0.519017966270405 0.627741784180353 0.592122962806375
+-0.510399553984469 0.620685595901225 0.606869579344027
+-0.487819120617952 0.616335913173086 0.6294533721354
+-0.473659709457539 0.619992003988661 0.636635998531911
+-0.471482890322346 0.614293055971468 0.643736689585517
+-0.486846006411906 0.586075762803056 0.658441467630642
+-0.480386104070598 0.577396497317578 0.670739499285128
+-0.485706953823907 0.564686429087181 0.677692402061488
+-0.482517892415448 0.561513818587863 0.682588979572503
+-0.48882607724323 0.55796876010916 0.681005821523753
+-0.487793869063307 0.546334885697871 0.691103707104616
+-0.505345489035218 0.541101951733762 0.682556674966753
+-0.51771409958487 0.515262173210106 0.693199829738746
+-0.518483159608482 0.465110335749268 0.727252768149842
+-0.511103194283664 0.428866501877779 0.754251979354481
+-0.595704589020083 0.499855501008261 0.639788653175558
+-0.601504081620102 0.515096258143917 0.622027077095919
+-0.593181617327005 0.546759161696996 0.602693112591903
+-0.586200528037444 0.549324871400841 0.607173884969595
+-0.587439498896102 0.541200992298504 0.613241649818251
+-0.583028068488112 0.548323792696172 0.611120519798105
+-0.589237193490141 0.567610329740954 0.587083506308282
+-0.55933674152273 0.597866667612382 0.586299289903032
+-0.544346342441602 0.629164638982659 0.56735166918259
+-0.547218689772751 0.63161514955172 0.561838952387738
+-0.561231651790949 0.620278089002523 0.560645275848626
+-0.560439981723853 0.613738582896286 0.568578032243443
+-0.564159301264809 0.614443508337744 0.564120960307279
+-0.576749121152202 0.593374157922053 0.573861098141751
+-0.588665331574046 0.581780968526903 0.573631442707526
+-0.591741281561571 0.590544464052719 0.561380879325753
+-0.601968184226461 0.586350016039842 0.554866618088684
+-0.602569075931028 0.581934842762053 0.558848232985604
+-0.602573952717675 0.581898902209592 0.558880397861178
+-0.607575837624205 0.568559413051155 0.567133842550567
+-0.600911138518588 0.570183583549613 0.572577928892492
+-0.600056310204471 0.565207464192965 0.578378722814345
+-0.604258714940219 0.565653152901313 0.573547658029914
+-0.603380798572703 0.563016195353806 0.577055782124304
+-0.608579956475645 0.560108231551055 0.574419886080601
+-0.606531893656633 0.565283561483677 0.571509017508586
+-0.618237603181761 0.552205397253329 0.571752101226016
+-0.619117163769809 0.54306588774681 0.579501837004333
+-0.624101826369338 0.5454946166975 0.571822991385013
+-0.622213611595507 0.537630199949755 0.581251227652262
+-0.627844137036413 0.532827440752595 0.579616819950941
+-0.624644340797776 0.528220559888418 0.587240570482385
+-0.627166361355245 0.526255062574623 0.58631643700224
+-0.562520704614145 0.654706837157664 0.518631289317771
+-0.568062681478446 0.645475280791297 0.524133047802668
+-0.566492089608394 0.627257263289313 0.54743404905241
+-0.548330928130209 0.631516813239537 0.560864250823355
+-0.535845238262126 0.64864710666429 0.553331556707052
+-0.543915064013962 0.647983019976514 0.546189901921304
+-0.538599971591852 0.649300009077058 0.549880504122294
+-0.542526014614024 0.652594595470449 0.542065325795503
+-0.548817785614423 0.646000044732389 0.543628531627097
+-0.543394850417338 0.644890824122432 0.550351579903799
+-0.546153879126811 0.640414037360849 0.552842474006759
+-0.55257453924263 0.643289672145465 0.543036625184504
+-0.553640010824363 0.657328927520185 0.524833706481931
+-0.560661163600256 0.654435055989876 0.520982549728813
+-0.559809449029038 0.648591258760388 0.529142475933864
+-0.562520704614145 0.654706837157664 0.518631289317771
+-0.576073318608295 0.617784618696218 0.548206800842523
+-0.578258360692271 0.608165607692289 0.556597576270106
+-0.586903916169705 0.604011472639525 0.552053379760052
+-0.588880144154605 0.594041647002393 0.560699293246509
+-0.584407427915666 0.592852414670714 0.566606541275424
+-0.576200789188333 0.598865802338618 0.56868392040576
+-0.571367225905646 0.609893216612194 0.561799570568825
+-0.56775649955388 0.61012401701957 0.565199293232245
+-0.563074435290366 0.624962564436993 0.553550334996532
+-0.566716818347028 0.620133992164284 0.555261091348034
+-0.573528492985315 0.62303065695059 0.544928314765997
+-0.576100723099978 0.617814007443965 0.54814487961643
+-0.576073318608295 0.617784618696218 0.548206800842523
+-0.408844053517867 0.708138673163251 0.587737321831505
+-0.411160885762334 0.703673914355931 0.591471680027147
+-0.407844127691028 0.702804517438143 0.594792382076707
+-0.415393201097122 0.699212641048595 0.593800615594271
+-0.413538177305027 0.694322760633672 0.600792043869817
+-0.425667952196259 0.682031977649563 0.606372967682819
+-0.432895889721482 0.679065727036787 0.604582407142522
+-0.432136930061879 0.673122446046338 0.611729389767477
+-0.406552640081834 0.683570743375867 0.617652806715112
+-0.399433077304161 0.691838384210037 0.613075743190817
+-0.461128759941807 0.740200659772906 0.503500000026102
+-0.451094106254223 0.742970685219039 0.508485661752478
+-0.436994680453478 0.752704369906002 0.506478805854471
+-0.456578744985525 0.733182103207474 0.517715030845839
+-0.437823293558842 0.734805270410646 0.531432947975589
+-0.427867789712952 0.739418812100883 0.533139732938253
+-0.452695617045332 0.727003061907951 0.529700128642999
+-0.434959170879038 0.728176328815588 0.542787945537548
+-0.419502402317728 0.718323968689627 0.56751864326702
+-0.415427765351903 0.719541996563771 0.568971077433419
+-0.583923826044776 0.489970267139292 0.658035791349285
+-0.584380937606509 0.492774669397302 0.655531116700433
+-0.588978820467379 0.499419676771551 0.646322624928336
+-0.591059920257557 0.495958161162132 0.647087840282761
+-0.566834074868204 0.475630263228085 0.683025610259154
+-0.566236717099422 0.478100702662977 0.681795202624392
+-0.57711703066742 0.48453338539336 0.667991265925588
+-0.577222842014727 0.484347473910356 0.668034666146225
+-0.630271146793921 0.528860286891471 0.580615258556083
+-0.631659555428562 0.532095183637036 0.576133596994708
+-0.631990530528246 0.530303021148999 0.577421574833215
+-0.577222842014727 0.484347473910356 0.668034666146225
+-0.584931460367456 0.470515519948038 0.67120736897059
+-0.573444454661086 0.476234941102559 0.677060365323131
+-0.571880910564722 0.471807936617691 0.681467897318884
+-0.57883843754167 0.468683944388821 0.677739200206432
+-0.581013449981676 0.459350939549144 0.682252948161977
+-0.599703046851678 0.447672793526037 0.673791010279455
+-0.599694565405316 0.44766646220455 0.673802765533499
+-0.596480373318596 0.433463801061442 0.68583474497511
+-0.60540436496867 0.411154405780354 0.691727265245693
+-0.601648706653253 0.417689720055973 0.691088367390184
+-0.592404844664619 0.409543141821115 0.703832306025504
+-0.592470120644212 0.418313474475571 0.698600023773266
+-0.583007895496234 0.42771381006132 0.700864958798684
+-0.555345304239756 0.435242904445214 0.718473525739778
+-0.572676167705802 0.456883246073996 0.690904267173597
+-0.563889301478678 0.467435478452318 0.691073027372607
+-0.568552999513051 0.468295729346957 0.686655369614273
+-0.566834074868204 0.475630263228085 0.683025610259154
+-0.631990530528246 0.530303021148999 0.577421574833215
+-0.634370493180379 0.516182682468038 0.587518949228179
+-0.626926337998792 0.51571485006372 0.595861192013021
+-0.624883011207629 0.506345412820819 0.605957544073346
+-0.614296762828831 0.498887281558856 0.622735872964481
+-0.618907913665276 0.491843197750134 0.623772605385502
+-0.612468867137276 0.477309248723264 0.641176081798763
+-0.590565730497264 0.470380184291228 0.66635095872099
+-0.585481969963536 0.476912190123383 0.666194135188336
+-0.592855807547946 0.477844950639262 0.658965245369764
+-0.582749838535216 0.483138545575682 0.664099970987948
+-0.583923826044776 0.489970267139292 0.658035791349285
+-0.511450240340763 0.396735769975386 0.771406754233727
+-0.55152034002972 0.430910416197332 0.72401003290434
+-0.551539809734328 0.430910125854598 0.723995374097235
+-0.547768654240989 0.420135427856941 0.733133496500113
+-0.555845432665875 0.413153551423147 0.731019150180709
+-0.561473455557762 0.416758964390068 0.724643722324664
+-0.559360952692318 0.412155402594092 0.728897968659293
+-0.537057097565655 0.411651812674419 0.745762334176391
+-0.526114671625229 0.396599826820942 0.761551659223638
+-0.53202873982217 0.38591761614273 0.762929887705251
+-0.543333371102034 0.384046942794959 0.755874191632936
+-0.523792421120437 0.380292149668354 0.771406754233727
+-0.591059920257557 0.495958161162132 0.647087840282761
+-0.591549340307486 0.495138525837694 0.647268273757531
+-0.594602992938903 0.497094743294483 0.64295652806165
+-0.595704589020083 0.499855501008261 0.639788653175558
+-0.627166361355245 0.526255062574623 0.58631643700224
+-0.628625675704814 0.525109514689414 0.585780468629089
+-0.630271146793921 0.528860286891471 0.580615258556083
+-0.511103194283664 0.428866501877779 0.754251979354481
+-0.509246301914932 0.421419933945488 0.759685752965886
+-0.498872896422881 0.412439635264644 0.771406754233727
+-0.359481940086988 -0.538287427192835 0.771406754233727
+-0.359700700931749 -0.542913032356012 0.768055886669198
+-0.365323646199172 -0.542247197387136 0.765869186254114
+-0.356412845548359 -0.545258055901503 0.767927428864626
+-0.361244349749183 -0.552860198516737 0.760195448993431
+-0.356641110549968 -0.560008507199838 0.757130497423988
+-0.366555790345489 -0.576864838292485 0.73953553728403
+-0.363497638511353 -0.568254301455207 0.747666714301449
+-0.373147506068614 -0.571120715087762 0.740696339610516
+-0.363556962216702 -0.565060857890792 0.750054372764726
+-0.381040412634742 -0.549656588187691 0.752817932172854
+-0.386289395799603 -0.56896278817089 0.735602371101116
+-0.382310553422494 -0.570959336522047 0.73613387150714
+-0.390134914012242 -0.57648690050411 0.727672043173176
+-0.383685021208957 -0.581204377654415 0.727348799335797
+-0.389771200857468 -0.577359496037331 0.727174960595898
+-0.41896559806318 -0.608028767476333 0.684702742480832
+-0.422801736784075 -0.625321522253445 0.66652883296899
+-0.433130714082502 -0.632263667084495 0.653214696560976
+-0.435058163059695 -0.651553573947421 0.632654198619962
+-0.43248523457155 -0.665383947805684 0.619894929709958
+-0.423168635842766 -0.670500165469491 0.620811431712043
+-0.423666040924458 -0.67777046667363 0.612522065131049
+-0.427208586895665 -0.671151707313259 0.617330712870424
+-0.429890647804955 -0.677216373492619 0.608786509708733
+-0.419712846075052 -0.70853800147365 0.579537770388872
+-0.422635511402193 -0.713528696524273 0.57123114738097
+-0.415445639414663 -0.719572955050179 0.568918872117717
+-0.388770748452202 -0.517530602641526 0.771406754233727
+-0.385255885005013 -0.536693565963389 0.759991394242399
+-0.385267572576605 -0.536690074513087 0.759987935062173
+-0.375359872874086 -0.539529380369599 0.762929887705251
+-0.382025022940252 -0.543526294951378 0.756759571161096
+-0.366342888502165 -0.558446863051321 0.753643807903992
+-0.37179594689109 -0.52985695560023 0.771406754233727
+-0.369294935897514 -0.531603113086292 0.771406754233727
+-0.36639708734952 -0.537803308175168 0.768485377933525
+-0.362070748328636 -0.536549524953036 0.771406754233727
+-0.362382740283535 -0.793231050525829 0.503500000026102
+-0.36252141864767 -0.793058479733299 0.503671985268974
+-0.360767864955397 -0.775258290771788 0.531855365870393
+-0.338018498131989 -0.792205069629703 0.521731370126037
+-0.335209437368958 -0.805090916029054 0.503500000026102
+-0.415445639414663 -0.719572955050179 0.568918872117717
+-0.39864049436361 -0.733136108313419 0.563601102678651
+-0.387991165432805 -0.747393039411185 0.552191543022713
+-0.379847386486514 -0.785017651364018 0.503500000026102
+0.00543379020298197 -0.872070653042369 0.503500000026102
+-0.00619670002569386 -0.870193015861515 0.506729430815532
+0.0282621738869867 -0.868884904475429 0.508221676340066
+0.0301798037426899 -0.864669193091899 0.515252720481762
+0.0337140209741033 -0.868120898141391 0.50919394242267
+0.0299119006102 -0.869619421322194 0.50686915497112
+0.0449369757744558 -0.865541544278035 0.512706059391773
+0.0426656300121782 -0.868015166307145 0.508702580174745
+0.057522025878847 -0.865807160200758 0.510997238626485
+0.0527870951046251 -0.867034775136537 0.509424401942378
+0.0669520258532099 -0.866757117321768 0.50823078006572
+0.068817716724489 -0.869368087658238 0.503500000026102
+0.133853237915561 -0.861754060433274 0.503500000026102
+0.125785837562058 -0.852025823908777 0.521803524769027
+0.138136550596156 -0.840697227799682 0.536838397061281
+0.135395299715943 -0.8384591423857 0.54102068293612
+0.138823685822199 -0.840203961560399 0.537433053721996
+0.147046069273493 -0.833939699998158 0.544950484244391
+0.0829040820169085 -0.868138043837873 0.503500000026102
+0.0878848235812375 -0.866413207391952 0.505621807125529
+0.0931861375499074 -0.867094627905308 0.503500000026102
+0.12459620438318 -0.706620189288858 0.706549852411479
+0.123678219261806 -0.707914723403216 0.705414376426492
+0.112993637884003 -0.708133394046851 0.706985526042383
+0.102374825280939 -0.701325459893993 0.715339775528508
+0.108832452002264 -0.708411482027306 0.707359646518693
+0.105132377908078 -0.724729097787768 0.691204685990424
+0.0971879553252817 -0.729847319769346 0.68696898850326
+0.090844525793834 -0.718402603389952 0.699781374127543
+0.0767434391721687 -0.723604105873183 0.696100957122958
+0.0836220200783408 -0.71539601083483 0.703750598891133
+0.0815745129206124 -0.703844373282407 0.715540143556223
+0.0613387115298847 -0.69969813431067 0.721601748411145
+0.0557412818526545 -0.712712917408252 0.709212384872713
+0.0549636365572994 -0.707215747284568 0.71475442317563
+0.0466265367949778 -0.714248604049548 0.70832471203522
+0.0483689335554051 -0.734823046740308 0.686836615394086
+0.0484371583020731 -0.73488102028094 0.686769777819659
+0.0441818664340017 -0.748076117724348 0.672665656005177
+0.0341664105239911 -0.751823665404689 0.669061157540448
+0.0267562296409118 -0.733176571665048 0.689771860064536
+0.0333333826906374 -0.713982926962044 0.709342135788585
+0.0251101483913497 -0.715124165942822 0.708530809303553
+0.0369194010450843 -0.699558176339915 0.723397757628848
+0.0414865753567632 -0.703274343139862 0.719536699791166
+0.0544308862237486 -0.696114378411289 0.725610812208557
+0.0743259235873442 -0.695944994839326 0.724006368232337
+0.0689902926345054 -0.690705674695851 0.7295306782207
+0.060134044712138 -0.690667249362356 0.730350359296684
+0.0606238582002906 -0.686858312242947 0.73389332107581
+0.0320417179043978 -0.692281490787119 0.730594734327656
+0.0262069344236808 -0.687503480329559 0.735323847786032
+0.0182490487989022 -0.689544503631228 0.7336513816043
+0.0161209753560813 -0.683562299396499 0.739277821253512
+-0.00541311482432157 -0.692281936335157 0.731276567935787
+-0.0114711820905018 -0.691779035343763 0.731682429910886
+-0.0103383388227075 -0.687121211855314 0.736075104163203
+-0.0253949272149131 -0.68927219188817 0.733694720685264
+0.0100297699480757 -0.667387032901144 0.754017872487248
+0.0146412703671677 -0.66885889441579 0.75263697262553
+0.0175755419583958 -0.662347455066458 0.758311248163876
+0.0167913438445478 -0.667965670346897 0.753384970655716
+0.0208685593347844 -0.665528250100945 0.755437390886144
+0.0200956450165833 -0.660378913204371 0.759963720217209
+0.0412634011697601 -0.662318924800664 0.757416644638072
+0.0486591654581923 -0.672249063680324 0.748172762133078
+0.060550972026153 -0.671707117849432 0.747791500096849
+0.0662546485119279 -0.6902273654619 0.730236609269958
+0.111855012406901 -0.691148716669211 0.723775453884666
+0.123255012177957 -0.699013910312551 0.714308585390493
+0.12951011366396 -0.734488353678958 0.676611401595274
+0.108552433275634 -0.746379631858243 0.667220214304912
+0.085579632158283 -0.746719340991621 0.670175613066226
+0.0938027532013164 -0.734176668371823 0.682813783626475
+0.0983427945451132 -0.737241267966041 0.678861552578199
+0.0908898648007099 -0.739598244520717 0.677334827967957
+0.0922846383132446 -0.742807857333292 0.673623806449354
+0.107777272693764 -0.734835357410422 0.680036805614366
+0.10779061474339 -0.734836999184613 0.680032916852261
+0.127546374632248 -0.730883091723147 0.680875046209937
+0.122933643484652 -0.730704698956896 0.681914189778964
+0.128414855332672 -0.728276835011869 0.683499434173126
+0.147046069273493 -0.833939699998158 0.544950484244391
+0.162928791933098 -0.821120427502016 0.559700323653763
+0.195203711121688 -0.802644878198155 0.575938981721665
+0.18589474634371 -0.803662605165107 0.577597230205479
+0.192420475594895 -0.799398873315472 0.581364603251513
+0.184525004990725 -0.798947508760815 0.584536056011996
+0.196615625684324 -0.79771016942184 0.582279813610038
+0.201789082781193 -0.793269592578194 0.586560755217352
+0.199235166313302 -0.790210825046803 0.591541376813965
+0.197491524746673 -0.794102436318728 0.586896428925833
+0.196306579571624 -0.790751921423204 0.591797368684924
+0.187062876117735 -0.79362047226897 0.590950950903828
+0.193447745651067 -0.788171956820636 0.596164353332241
+0.199720533079268 -0.789056219306845 0.592917356331994
+0.19587363328888 -0.783043992176093 0.6021001794545
+0.204016949731456 -0.791096037214101 0.588721618531558
+0.19479762350021 -0.781116357565854 0.604946379294664
+0.180524440502607 -0.781066484265555 0.609421917507293
+0.188731177311165 -0.780777025210803 0.607302873049116
+0.182230973615389 -0.777495044119248 0.613467463379432
+0.187080246676413 -0.779485038243058 0.609469487717565
+0.189069955869617 -0.775537303805656 0.613875754687636
+0.179488825291286 -0.773140846819088 0.619746716470057
+0.188085018752931 -0.775259425315437 0.614528965289911
+0.18905256561127 -0.771893802504475 0.618456211134611
+0.173118496366737 -0.770569926591273 0.624740725780576
+0.1737236865676 -0.766877658713516 0.629100736998009
+0.187518494627775 -0.770634516755045 0.620490334943463
+0.180282144016916 -0.758565551942402 0.637279885101502
+0.189503589237532 -0.753110126554379 0.641063590408424
+0.184681549073096 -0.762159660930314 0.631707508806528
+0.196856704583213 -0.768990303167638 0.619637274132844
+0.194960421783736 -0.778931237968268 0.607705159148027
+0.203521533636534 -0.762372860508108 0.625632165818636
+0.193417688428574 -0.749888094385673 0.643666407156356
+0.204522181397672 -0.756051342232045 0.632934471509856
+0.21209327803054 -0.744411301845375 0.644140710636374
+0.207294839501774 -0.737030443592064 0.654113120747795
+0.21457723016922 -0.728554442782661 0.661221624112938
+0.240055779570714 -0.71670275444127 0.665401671527051
+0.239306746712014 -0.711290935975149 0.671451029768894
+0.243291686378193 -0.714460255139043 0.666636857041304
+0.257921561663524 -0.706905689363225 0.669185934083311
+0.255083446678809 -0.703011314121254 0.674356380149226
+0.252996070763484 -0.707914004986004 0.669999813226029
+0.241488608493458 -0.703686958622921 0.678643438214735
+0.245826350450605 -0.685059019059177 0.695925675506957
+0.251446358973138 -0.682675742989812 0.696259691848135
+0.24986461045953 -0.678746540633823 0.700656699116996
+0.257392111318379 -0.677981588241691 0.698669640843469
+0.258688989933982 -0.667838745931939 0.707898591550366
+0.260286652925374 -0.671928498931228 0.703428710412741
+0.265825411731608 -0.666093982263001 0.706897911491283
+0.269146720310376 -0.66814155906938 0.703701570262925
+0.279697464378177 -0.657298623006967 0.709772392118461
+0.274988863089774 -0.653757392203264 0.714864600687557
+0.28411844738568 -0.652120032759386 0.712786904150916
+0.303588034820029 -0.631881473573334 0.722917082706519
+0.299816321114636 -0.641320925932702 0.71614708234699
+0.317068577439042 -0.632536979153648 0.716528776256724
+0.310980999061354 -0.640525441973155 0.712086354600266
+0.304785581300016 -0.638881471011384 0.716229862146183
+0.290858640472377 -0.656731135121025 0.705800586160999
+0.293648466343925 -0.664847167169113 0.696991981676307
+0.303521612849147 -0.665063588931476 0.692541733912865
+0.311050597270201 -0.646488646062752 0.706646273923383
+0.31919200556525 -0.64436299275996 0.704955173854807
+0.31742108759715 -0.641181820517656 0.708645698629652
+0.340686753281538 -0.622560806884754 0.714422548544968
+0.343695551202848 -0.619023605654077 0.716053171019022
+0.330082776255314 -0.618423886276291 0.722942776229567
+0.316171592272112 -0.628118249547521 0.720799548297219
+0.29714273999259 -0.628865976710305 0.728205173976325
+0.292037955743315 -0.620527909396743 0.737365544397738
+0.285306944599349 -0.623710782781701 0.737315269613495
+0.287914387323559 -0.612015566667914 0.746050435110289
+0.279744556684737 -0.618701568627951 0.743639934365128
+0.276359931519074 -0.615819643383305 0.747288669172785
+0.265564720261224 -0.619459613672619 0.748193936343477
+0.282113050286056 -0.611753922673519 0.748477364355034
+0.289652324752571 -0.602310347880716 0.753241512133553
+0.282711654290615 -0.59546982630767 0.761274461994738
+0.265786620580694 -0.601822223572352 0.762375552818113
+0.24730776768239 -0.617813122770159 0.755774313784834
+0.222176314995404 -0.6523773678948 0.734227794974908
+0.232530860645382 -0.635626682846084 0.745625320721877
+0.229426918437322 -0.629968936666715 0.751366373969026
+0.252504135329504 -0.605916539362384 0.763646390005618
+0.255865484973691 -0.594569990095165 0.771406754233727
+0.128414855332672 -0.728276835011869 0.683499434173126
+0.141824218548693 -0.722083539834922 0.687408359370557
+0.139661533390214 -0.728332264915233 0.681231067975133
+0.12951011366396 -0.734488353678958 0.676611401595274
+0.123255012177957 -0.699013910312551 0.714308585390493
+0.127793952793791 -0.702020617331581 0.710552431894173
+0.12459620438318 -0.706620189288858 0.706549852411479
+0.34705314471241 -0.546383321732841 0.771406754233727
+0.349729873415502 -0.553324856803986 0.765225207689622
+0.345017071871504 -0.557258772115249 0.764509568951114
+0.351449821497356 -0.560106997011041 0.759481517134387
+0.345187851784992 -0.561270428115785 0.761491860431079
+0.341189683022218 -0.573944143228226 0.753808145785926
+0.350781667185557 -0.567409998905798 0.754352116128962
+0.343566014292375 -0.581216193906983 0.747127251385955
+0.348259252256445 -0.583446034220951 0.743206040321005
+0.355345360915424 -0.575735192101536 0.745860350904708
+0.371757179119333 -0.569339907046948 0.742763535734629
+0.379098552038794 -0.55761720881575 0.747928028806664
+0.379396942251545 -0.565262619806997 0.742014238986765
+0.391800898177921 -0.553442175127732 0.744474858525698
+0.384462556035576 -0.569796094190903 0.735914365977036
+0.391943815339848 -0.563975251344588 0.736451601592156
+0.391938680599622 -0.5639678628713 0.736459992326947
+0.396175242613098 -0.546993087701392 0.746922177437081
+0.40232538583579 -0.549587162963519 0.74171236622952
+0.403075190924862 -0.558877535547563 0.734326419735234
+0.406324749013604 -0.550180023163196 0.739088046481051
+0.410029655908029 -0.556659051063068 0.732158030855025
+0.41463401457371 -0.553487036575988 0.731969763242184
+0.412810001182419 -0.54036295407676 0.742727931873582
+0.408942209361223 -0.538644327158958 0.746108275133197
+0.406371192685472 -0.544851323082262 0.742999656454089
+0.404889905526909 -0.535768466854124 0.750376781575225
+0.403948731349977 -0.547102657170286 0.742666213690886
+0.397707655534665 -0.546253999138287 0.746648638353107
+0.39932051630173 -0.541862736667543 0.748983911624062
+0.394607082334146 -0.542413032762797 0.751080789569802
+0.401168162024888 -0.532426132346113 0.754742021734932
+0.391212088838653 -0.542408984828744 0.752857619157533
+0.390690479689329 -0.528064977444904 0.763254432464191
+0.381673560228425 -0.535066843177263 0.762940211782599
+0.379425324775655 -0.531522502464171 0.766530659721523
+0.374868272339887 -0.543321341292907 0.760476625866031
+0.373274490576977 -0.536272337157489 0.766242216981121
+0.364886296691052 -0.543848347745415 0.764941805068642
+0.367109652522871 -0.533648880964953 0.771037207188726
+0.360556042901043 -0.538775242505358 0.770564454144385
+0.360148700808201 -0.537841549927812 0.771406754233727
+0.358758209163355 -0.53877005009604 0.771406754233727
+0.357114239385741 -0.547206520257533 0.766213706622105
+0.356931913755403 -0.539981692713273 0.771406754233727
+0.656289926454601 -1.17860724687311e-10 0.763762091514245
+0.650571488408838 -0.022036374135162 0.76832293775761
+0.665310005249533 -0.0157602277005773 0.755753406963999
+0.666576041536434 -0.0312833522241793 0.754152990263405
+0.661239364545404 -0.0355452327234168 0.758648824691786
+0.66484846549799 -0.0555951801100366 0.754277597356239
+0.668777439612825 -0.048607354512234 0.751280947017982
+0.667915220026776 -0.0541263825858838 0.751670535251149
+0.674497857805238 -0.0516274262831538 0.745946545451833
+0.679644682032417 -0.0283667242730028 0.74251426594987
+0.692916909146277 -0.0219210597191766 0.730366089136097
+0.695376682799586 -0.0133640556258795 0.728231879991444
+0.703235592071936 -0.0151973005599867 0.720609286714322
+0.704939126894223 -0.0134862907294984 0.718977014469844
+0.731006578838473 -0.0204827050236231 0.692285230587643
+0.725155404262322 -0.0896674649909849 0.692934618410164
+0.720375842193444 -0.097245006448562 0.696886687134218
+0.726148347332647 -0.118937379508055 0.687467437353815
+0.735908814891699 -0.111295744450241 0.678307064265117
+0.761018074435052 -0.117716620197434 0.648878484550426
+0.774210635906956 -0.129558427930415 0.630762637606846
+0.773098866206656 -0.121700036012692 0.63368465683216
+0.778846296960817 -0.126494349592689 0.62565695491343
+0.780152523325314 -0.118418769218362 0.625610130549333
+0.779932829441932 -0.121534605547745 0.625286431336117
+0.794100457331213 -0.125702120889656 0.606343500394125
+0.79537048881093 -0.0957856284464392 0.610131050604526
+0.810775722337119 -0.0796115503516928 0.591906858483092
+0.804794285421873 -0.0621374918651934 0.602074821145179
+0.806513116860746 -0.0299399758649955 0.602236822335506
+0.798733708042995 -0.020245988487602 0.612913993628835
+0.797699208207717 -0.00998293771556941 0.614512257143296
+0.78986656698197 -0.00694820856632273 0.624589087930485
+0.786883647449444 -1.41313576812003e-10 0.628381353460348
+0.816298956888697 -1.46596165417531e-10 0.589665170230042
+0.817372325397386 -0.0133825520650105 0.588024139789088
+0.823643605812492 -0.0281433933684626 0.578677941530438
+0.822784159735202 -0.0406727093753198 0.579155382605488
+0.819297206434134 -0.042636440204831 0.583937686312404
+0.820047412499983 -0.0672472618189121 0.580559253676954
+0.811820561715434 -0.0777547405180961 0.590720387241713
+0.812457467981246 -0.0844609459757255 0.588921226758205
+0.82869872979106 -0.0990070454836932 0.563475838157479
+0.837735827066775 -0.136989336799683 0.541739425971499
+0.846889094185919 -0.146983456703524 0.524617694711528
+0.859092649451578 -0.146276471524552 0.504590936835567
+0.859581256897988 -0.147162538587069 0.503500000026102
+0.783340865864619 -1.4067734153219e-10 0.63279229441142
+0.781131360418965 -0.00329928177895058 0.635509175787227
+0.774331152674416 -0.00243264120275301 0.643781289146158
+0.772069500258922 -1.38653157913101e-10 0.646496470810118
+0.744068949506845 0.624347981076359 0.265706599288868
+0.744682674446405 0.62209726590405 0.269242838593817
+0.747922659233385 0.621199808364395 0.262243196085811
+0.748664532952351 0.596733807353372 0.312184529182319
+0.756835885008134 0.578898029815798 0.325769111855838
+0.748629013261779 0.56641375301414 0.364388612471811
+0.747325398908336 0.569694945092477 0.361941179865702
+0.746355084018692 0.560285553054348 0.378263383898091
+0.753358537994099 0.540705271649435 0.392603772831979
+0.749541123552159 0.534174837427776 0.408527045816035
+0.746714998138006 0.538423037728521 0.408125402295606
+0.749258486429209 0.527346055449012 0.41781198919631
+0.741736341542073 0.492552841303369 0.470391218200085
+0.741940789060119 0.474952671684764 0.487845083185588
+0.736130130568636 0.468572951037606 0.502594091116192
+0.73982278368652 0.484812783430112 0.48131882755724
+0.736861689249291 0.501632214625915 0.468453810066885
+0.717736536977988 0.502603738835451 0.496278898599841
+0.731489718069739 0.504157563699802 0.47412756018031
+0.726041201152636 0.512568156776996 0.473483958426333
+0.725456234893432 0.551441945448769 0.428572085014788
+0.728421010360425 0.557482167263538 0.415530341670312
+0.721614693659521 0.573083740755482 0.406074205012309
+0.722055448687134 0.587680029100717 0.383819114189747
+0.728141871421757 0.593815697059485 0.362272456872144
+0.723005944636349 0.606674021458756 0.351081238045501
+0.723005944636349 0.606674021458756 0.351081238045501
+0.717597119846133 0.619310501795885 0.339938047228996
+0.708654603410941 0.654016963076661 0.290033558528083
+0.715229744031665 0.657655210975595 0.264546851671012
+0.713086486952684 0.675823890894343 0.220949611047202
+0.694009343973981 0.694981466864953 0.2222628875702
+0.684817070444361 0.700739545676789 0.232462188651597
+0.644783033416404 0.733897208033665 0.244333231179739
+0.634801467787628 0.739133081016344 0.254476688602234
+0.594493091422781 0.766302640779165 0.27093768099964
+0.588183509275421 0.766076009539578 0.284985450548561
+0.552073461794824 0.789031600506554 0.294436794888045
+0.543999790851223 0.789409441752881 0.308133024561197
+0.530908271704276 0.797618587934342 0.309822522127757
+0.522167678806401 0.797907221513337 0.323626298478356
+0.506794280304002 0.806060501848328 0.327833837196788
+0.502844052039329 0.799907752980586 0.348345297155305
+0.496754844532684 0.801024332326471 0.354462471150671
+0.492849269913079 0.804874814944025 0.35117677801211
+0.468812154271868 0.805758691626673 0.380811101302262
+0.478951345531182 0.789389900225962 0.401893261992679
+0.498848873422343 0.773519241232252 0.408493310751523
+0.504182109930958 0.76531514452506 0.417303402317969
+0.504192829345231 0.755045657031749 0.43559688547365
+0.497936788851959 0.752463059264563 0.447109940339078
+0.539010026506059 0.744427125066098 0.411516034671507
+0.557971273311469 0.729643040833989 0.412720354624906
+0.565378587463053 0.726543266208315 0.408082020145014
+0.573885631589522 0.716285368654961 0.414294041118047
+0.562879361698691 0.709606928254069 0.440083891488315
+0.569775844807599 0.703398669030538 0.441174340912812
+0.578522047373549 0.708597964324502 0.421010885438712
+0.581804606246038 0.693439005713073 0.441242275293922
+0.57660597393519 0.69119516631701 0.451468484926968
+0.587257168822102 0.671934539610456 0.466564027916355
+0.586167226979997 0.653303225679175 0.493611058761618
+0.590560774147063 0.6490815367134 0.493943448925677
+0.584049510248676 0.652948555983067 0.496581667823036
+0.583678476410917 0.647963105545636 0.503500000026102
+0.625752317935269 0.769354091295069 0.174863714950176
+0.624799688177322 0.768870678480186 0.180311478910631
+0.617632805904818 0.77411913266784 0.182532971015464
+0.62297461377984 0.769919347567857 0.182142331231771
+0.616354591128973 0.769099681262458 0.206498664102754
+0.622609530544508 0.76332942280671 0.209128106080273
+0.642191351365899 0.749964520822331 0.197970921446993
+0.668521530281536 0.727330113183328 0.195240543962466
+0.681898809142895 0.717086085240782 0.186683048088333
+0.689381952432439 0.709050613364649 0.189865087226831
+0.705578797189257 0.695210050885931 0.181357509092243
+0.719557369522179 0.674682028383041 0.202707554233352
+0.727154359890467 0.666956549769247 0.201157892244342
+0.715984276698722 0.676509519286287 0.209165928954131
+0.715242926908541 0.674649839819263 0.217541143554837
+0.733249367556661 0.641683016559687 0.254238610829701
+0.743002680886824 0.628108265707258 0.259761472788425
+0.744068949506845 0.624347981076359 0.265706599288868
+0.558249260439757 0.669995905354786 0.503500000026102
+0.555091763890734 0.695388780090376 0.471547005276348
+0.543834363870327 0.707096824408116 0.467233630623604
+0.532218407865143 0.72530200739228 0.452470512190819
+0.51955539740121 0.736402117690802 0.4492472705446
+0.491991958262495 0.748413881514216 0.460292922997801
+0.489664910297997 0.7631708951687 0.438003950199379
+0.455152973088456 0.788348074550743 0.430571811015161
+0.455152973088456 0.788348074550743 0.430571811015161
+0.431859246235175 0.803951241882587 0.425686495107176
+0.362697083218613 0.832425282723423 0.43539404509885
+0.362109621176685 0.839095309486138 0.422900323775757
+0.352922561159082 0.843456970706311 0.421989341561902
+0.352567267583468 0.850370771900196 0.408184850437387
+0.339536977363612 0.855247191166055 0.409042642037912
+0.341819119195426 0.857463330959989 0.402449159287807
+0.332945439306718 0.858460134745758 0.407728502188835
+0.339551345439205 0.858720824678952 0.401686978968857
+0.329603961699896 0.867574517211504 0.390800058235613
+0.310285278431991 0.873692952066214 0.392979225275594
+0.315443468396458 0.874936784481836 0.386044092567931
+0.334850882484973 0.86938528013373 0.382221298707739
+0.309458259148684 0.88977297388683 0.355792974614806
+0.288385579087437 0.893466706020672 0.3641428332495
+0.282835034843326 0.887656531499135 0.382255444895296
+0.273853392872423 0.890766239442264 0.381561038212956
+0.280687671194353 0.890650324159949 0.376836080163867
+0.280807185503957 0.892773990637561 0.371686596759193
+0.27472843971339 0.89455736498004 0.371941400186391
+0.280601409684918 0.895279717921628 0.365767789124476
+0.276394608757514 0.90013940585787 0.356937067662664
+0.282396383931764 0.904196365709898 0.341658037486719
+0.275548617151908 0.927673427987603 0.278467180456512
+0.241217977496244 0.958184115825914 0.194283523520482
+0.236355616346299 0.963123929624524 0.174863714950176
+0.186477443635415 0.974011213595113 0.174863714950176
+0.184076708436753 0.973648880369932 0.179367285661205
+0.174077618812197 0.975333542589355 0.180195625165467
+0.175338493159692 0.970466427506521 0.203716287761238
+0.170828074529339 0.968814153132447 0.215095108365713
+0.170828074529339 0.968814153132447 0.215095108365713
+0.164352066836438 0.966179318878353 0.231376148075708
+0.168046020700321 0.957717623328799 0.261890222979446
+0.163966793228067 0.955599488183161 0.272017479038728
+0.152631606191109 0.957286201953367 0.272682453306442
+0.146746172358345 0.955354754978231 0.282509916708527
+0.129275195354209 0.95654231353185 0.286990812203572
+0.128898834029779 0.954133918209788 0.295063648569933
+0.0977886260961913 0.951004597504134 0.316348921496848
+0.0821557878958697 0.946311183177393 0.334356951637932
+0.0599031997378992 0.944661877702328 0.343619765841654
+0.0481523716131617 0.94063178896395 0.356289470372768
+0.0505280186269621 0.936605745125938 0.366422703350542
+0.0358510530895951 0.934973449724505 0.372274563061492
+0.0322162448419082 0.931643343715799 0.38085665765263
+0.0286559583188767 0.93609723335565 0.370067298956181
+0.0221643943166082 0.932907705226858 0.378471865735005
+0.0159059549971359 0.936158215321515 0.370680180859004
+0.015594085824421 0.93304660473042 0.378457207473099
+0.0127457743562624 0.935238047751372 0.373117058406957
+0.00777640097455792 0.9330777757415 0.378621700388631
+0.00361718387784575 0.93481431301738 0.374376970657434
+0.00158441918661714 0.931081460037916 0.383580245045939
+-0.00316899615648009 0.934960927717714 0.374014733806826
+-0.00865277468527158 0.929595266790238 0.387074630338171
+-0.0101617903106235 0.933618841171595 0.377228839601495
+-0.0135297335473367 0.93255804824445 0.379738637703143
+-0.0111255433056136 0.928501346252019 0.389628633822443
+-0.0234531697278094 0.928267687149299 0.38963835774242
+-0.0455257317007925 0.943976235887655 0.347685596239594
+-0.0506515962862558 0.941339842000311 0.354065979241839
+-0.049411265274487 0.944147327593584 0.346689126829596
+-0.0620114398935189 0.94474740679986 0.343010085372534
+-0.0666433877459161 0.947649273606565 0.334018731664403
+-0.0574908961587992 0.94827890112438 0.333932511955929
+-0.0654294598710013 0.950778783851074 0.325250195941003
+-0.0676967677212815 0.947619016779972 0.333892717316581
+-0.0769664944512725 0.957021442810689 0.303702348908318
+-0.0716268460127953 0.96556581915141 0.276769297099094
+-0.0779132569556185 0.963594926425277 0.281892430118357
+-0.0742268259451955 0.965964061138125 0.274686750498894
+-0.0782145453320776 0.96436677995082 0.279156226199207
+-0.0837276940718844 0.965610239548161 0.273195055821197
+-0.0864644466419196 0.963534843977429 0.279595250153322
+-0.0921573881049814 0.96487476745918 0.273080022957119
+-0.0963129840651075 0.961975551162632 0.281737196809056
+-0.106394069283028 0.960049005537686 0.284666838580642
+-0.102733377035329 0.958529545997729 0.291060067155055
+-0.108483225963983 0.959469474370345 0.285829874988499
+-0.115685705250615 0.956955416603919 0.291379732021784
+-0.114940023200492 0.953440620311065 0.302966622926557
+-0.123580966257751 0.95756541885763 0.286086024452108
+-0.130027061119095 0.956420176709904 0.287058197860516
+-0.131888026288174 0.964295534151936 0.258435042779499
+-0.138379884904895 0.969130664738293 0.235978308574375
+-0.139785978861575 0.967153681288196 0.243151469015511
+-0.148874036771882 0.970584844890291 0.223272434582809
+-0.146372468064843 0.974490730005596 0.207344924523766
+-0.15230991630205 0.974243795196846 0.204205085432534
+-0.145502360250133 0.978778580739613 0.186736587328219
+-0.147419834136449 0.980682962887092 0.174863714950176
+-0.158108442879092 0.979016548115594 0.174863714950176
+-0.157536984592395 0.978026541255221 0.180818093911769
+-0.17095593702728 0.969539297901348 0.211699356210844
+-0.170677293517133 0.967959032027636 0.219028705410473
+-0.169345252854681 0.965211196000292 0.231815729516505
+-0.170160886116265 0.965030340122722 0.231971367799455
+-0.147748455868211 0.980633506964953 0.174863714950176
+-0.150925972860198 0.979126903827422 0.180501681204162
+-0.149827629048677 0.980317990637464 0.174863714950176
+-0.281459262548455 0.950921849953772 0.174863714950176
+-0.279100644698081 0.950998369306199 0.178196329103788
+-0.286196861057688 0.949246860150974 0.176268985400845
+-0.280307109072131 0.950258322744635 0.180238854463118
+-0.286037773307501 0.948659295268349 0.179657824049623
+-0.285220382028046 0.947923370022354 0.184769094388746
+-0.293883230009838 0.94593398343375 0.181357509092243
+-0.321739092839414 0.933392555622333 0.198270757419446
+-0.323090442322793 0.927997968130289 0.220184779732199
+-0.327453796425643 0.926396339229399 0.22048318273465
+-0.315380496235411 0.918952359751124 0.264784257655447
+-0.304155996170249 0.91823105815471 0.279981881259779
+-0.283894603520328 0.920983275153936 0.291963458293611
+-0.25685769590534 0.917425782010481 0.326194816875831
+-0.259858834692966 0.910612647622103 0.342501083243072
+-0.269421882008669 0.905315764806802 0.349090554852436
+-0.268270310924512 0.902598572082895 0.356925563598888
+-0.27251805231355 0.901883733931396 0.355511802382413
+-0.268592927639494 0.900689964423632 0.361475347995685
+-0.280334999397686 0.897348404277536 0.360869961971427
+-0.286072964369981 0.892029157603282 0.369452623542113
+-0.296806920989783 0.888247189031888 0.370096720911593
+-0.297260197089166 0.885642269383265 0.375929708733123
+-0.307722219312956 0.88559833365019 0.36752092073393
+-0.313871218202821 0.881014839346018 0.373291724038971
+-0.319947935352057 0.880723325029798 0.368793632554052
+-0.316503620896307 0.885664688181903 0.359822898197404
+-0.322023133297264 0.888319386141498 0.348193580966974
+-0.327557035549966 0.886214688533735 0.348394767883753
+-0.326518074610962 0.878825609706793 0.367560191908529
+-0.328005479816382 0.879770552298801 0.363957663084989
+-0.345452013105607 0.870824343793782 0.369292389438792
+-0.345338071031084 0.868899643005927 0.373903767138956
+-0.355663083742717 0.865345797253088 0.372463987573346
+-0.355277444644434 0.863464432483019 0.377168544769708
+-0.363873241386531 0.860905548710671 0.374815821973989
+-0.362311229431147 0.856792872142046 0.385597649467259
+-0.366338478018841 0.858287349224098 0.378401830974309
+-0.368089005839136 0.855391640146779 0.383229207847418
+-0.372505854259279 0.854786627786563 0.380300157112563
+-0.367356833128684 0.850214036229467 0.39526453136104
+-0.383466631404026 0.84940302546397 0.381466699637469
+-0.381400596527625 0.848298409180574 0.385969421003891
+-0.388983989041217 0.842610812559975 0.390829214397543
+-0.391318382309544 0.843717252201227 0.386083050657048
+-0.396628572423868 0.838543858955859 0.391891531095557
+-0.401116618582496 0.838245981706029 0.387940887830401
+-0.413728942480301 0.829956979319852 0.392490477123201
+-0.416297110493685 0.826277102632012 0.397507063409765
+-0.411594179519108 0.827084079203948 0.400713310626625
+-0.422414911626524 0.82038027178907 0.403225559823342
+-0.422854858005016 0.817410162948756 0.408758357186304
+-0.426928073420922 0.81715906795658 0.405009231723714
+-0.432886378504333 0.809567541993761 0.413834240071532
+-0.427060844428938 0.810678758618667 0.417693650275101
+-0.439162678929943 0.803778183862794 0.418480313254164
+-0.436686258108958 0.802171370560126 0.424116969988804
+-0.442694047532995 0.799101627012991 0.423683336920446
+-0.439758842258136 0.797608555646859 0.429513390495238
+-0.445762196230376 0.794923950235816 0.428300102443787
+-0.444776869617078 0.791643922325284 0.435341746791037
+-0.450242262187817 0.790801228698665 0.431235807915668
+-0.445565039604054 0.78714883334698 0.442625699257427
+-0.450525404658655 0.781624048471188 0.447369764969274
+-0.445161679367416 0.784263566007606 0.448119111683283
+-0.448491100001173 0.782128048836027 0.448531435290423
+-0.443142007750244 0.78188111555975 0.454242316498721
+-0.44991826443243 0.779281293357911 0.452043384148613
+-0.170160886116265 0.965030340122722 0.231971367799455
+-0.186634058792866 0.961223778045996 0.235086317376157
+-0.185058645860691 0.964986288963308 0.220462603869749
+-0.200697845746311 0.961608638185841 0.221536005378726
+-0.215464809256213 0.960468904504583 0.212422690529871
+-0.224598857165176 0.963099943199484 0.189849552986693
+-0.231602212780823 0.960408635052714 0.194999150642277
+-0.233057837808843 0.962316747135484 0.183519814784258
+-0.237093692527831 0.960639115327287 0.187104438928439
+-0.258138258389865 0.957500210390177 0.174948525738898
+-0.258125440213105 0.957519158194035 0.174863714950176
+-0.311141955662767 0.903673088167766 0.317198097641964
+-0.320548154856227 0.901547958241165 0.313861688342897
+-0.332745438778307 0.894152275647243 0.322212943450584
+-0.340530780910946 0.885173038233089 0.33846193233122
+-0.338025203229307 0.883719205608846 0.344714849723443
+-0.312324718457624 0.893859394215995 0.34280847949282
+-0.303687437569705 0.900776469032192 0.332302111188363
+-0.311110411331715 0.90368394852035 0.317198097641964
+-0.311141955662767 0.903673088167766 0.317198097641964
+-0.483150084412775 0.836840493999808 0.283395454328548
+-0.481270490835773 0.83763150990264 0.284255463041464
+-0.480387340995363 0.840571629632294 0.276977143585377
+-0.486176539623162 0.842082468191755 0.261874949325301
+-0.277839149636697 0.951985865505881 0.174863714950176
+-0.27617626880518 0.951907071208408 0.177900523698724
+-0.279848978396599 0.951396988898012 0.174863714950176
+-0.17095593702728 0.969539297901348 0.211699356210844
+-0.171328657618602 0.96927873517431 0.212589333263686
+-0.170677293517133 0.967959032027636 0.219028705410473
+-0.486176539623162 0.842082468191755 0.261874949325301
+-0.487996660876913 0.842516096820488 0.257050356100419
+-0.494644238387658 0.840577764138735 0.25060945685552
+-0.494873864435503 0.838354801928463 0.257507445294614
+-0.501194484188076 0.835514403154791 0.254497094561688
+-0.498074879346331 0.841528063856602 0.240418244536258
+-0.508287337879601 0.836446155255876 0.23675052588945
+-0.514226710528171 0.830981104556293 0.243084952331032
+-0.528226825453122 0.826092323643825 0.229340126642642
+-0.525544277423674 0.82389172155296 0.243011612117052
+-0.538936508342646 0.819890988082183 0.226660997167705
+-0.54873219545207 0.813559563753276 0.225970825329135
+-0.548731533835544 0.813558582829507 0.225975963498189
+-0.550801736549253 0.814173394697841 0.21860496421747
+-0.551224770182203 0.811407208769195 0.227636979190467
+-0.545127708364285 0.815533104158397 0.227575344875653
+-0.540716238904309 0.816004487300404 0.236244842675523
+-0.546686309920824 0.811259116974653 0.238834092354207
+-0.542481120764287 0.812954977880252 0.242626127105144
+-0.535605781140298 0.816810212616096 0.244941878361253
+-0.534501594107712 0.819517279926162 0.238219381660561
+-0.528155690655332 0.820385979502078 0.249133319860681
+-0.520812263009479 0.825469402846352 0.247798005769685
+-0.521316237910998 0.826907652019351 0.241872104886379
+-0.511899123609293 0.830228342523594 0.250457953594139
+-0.505563954457617 0.829157609835577 0.266367689491291
+-0.51718916367282 0.813013775959661 0.29252857822651
+-0.51007660473151 0.811966510274963 0.307540637148122
+-0.510924847600693 0.807578924697855 0.317523354240385
+-0.486294795826611 0.821559462229366 0.320322371328244
+-0.489745187554659 0.834016579228811 0.280383660077622
+-0.483150084412775 0.836840493999808 0.283395454328548
+-0.44991826443243 0.779281293357911 0.452043384148613
+-0.45170898628538 0.778581051909086 0.451463771876743
+-0.456543333133827 0.764068581608272 0.470973871430441
+-0.451941601683971 0.764709264622041 0.474360126136824
+-0.465066468453233 0.755216196250178 0.476875955403342
+-0.459464816005445 0.754321932276513 0.483672932196656
+-0.463484894396805 0.749509359185226 0.487305318214089
+-0.458397591394956 0.750416120868267 0.490709989448275
+-0.465373477495883 0.745505817739799 0.491627503461211
+-0.464003843410923 0.742619053452452 0.497258860905742
+-0.457102746890695 0.748061594844444 0.495489585262666
+-0.46441721738258 0.739254874636112 0.50186440252858
+-0.461128759941807 0.740200659772906 0.503500000026102
+-0.478977726970491 0.801455817834743 0.377223950889951
+-0.483601926786805 0.773924861852515 0.425697644596086
+-0.476675171244005 0.775643193759942 0.430357313279761
+-0.46307221945028 0.797910423101152 0.403673229580476
+-0.463633542851567 0.80206670034342 0.394692216978144
+-0.478963738854709 0.801464177451053 0.377223950889951
+-0.478977726970491 0.801455817834743 0.377223950889951
+-0.379847386486514 -0.785017651364018 0.503500000026102
+-0.379119285944365 -0.787751690069811 0.499764786491797
+-0.360731169319796 -0.80843008204738 0.47996127544005
+-0.365906070196341 -0.811222479757225 0.471253473334689
+-0.36219191571667 -0.81510387471435 0.467409552336216
+-0.3770438211231 -0.80757928618762 0.468724496344693
+-0.360491330739198 -0.824073312170214 0.452767243327845
+-0.353009398980491 -0.824944525889842 0.457055678704265
+-0.342303564899693 -0.837159939367965 0.442764616217677
+-0.34500252309506 -0.846416178408927 0.422613194287247
+-0.320679067261483 -0.865561515004511 0.402513601712291
+-0.317424349093359 -0.871690172557614 0.391723149263781
+-0.308340654322265 -0.872711321959936 0.396673656063847
+-0.311877936491569 -0.864995118245118 0.410566192156485
+-0.323990063432154 -0.858230139093526 0.415355831966682
+-0.329385902899987 -0.83868355539013 0.449626312496201
+-0.343958755911088 -0.822098657194098 0.468929815720602
+-0.343785686161212 -0.815999336355614 0.479588870865309
+-0.362382740283535 -0.793231050525829 0.503500000026102
+-0.335209437368958 -0.805090916029054 0.503500000026102
+-0.3325276100727 -0.815851435138477 0.487709774683495
+-0.320359849202706 -0.829973162079191 0.471765956006882
+-0.31178552489363 -0.833819535713107 0.470726851082431
+-0.313754647039738 -0.838104532766707 0.461722658764837
+-0.29533049583516 -0.853200688958801 0.445956816956514
+-0.301444196629552 -0.855997192211831 0.436404861617999
+-0.282532716769254 -0.867279513174432 0.426673774660343
+-0.28276952207137 -0.870481877770816 0.419942493515628
+-0.255308270211457 -0.891951898558948 0.391520750176438
+-0.245560826081194 -0.90443784746759 0.368430537228545
+-0.252253242101436 -0.907136091200487 0.357101405613049
+-0.247917358963291 -0.909538004455931 0.354014973659292
+-0.255308456480221 -0.908593122709346 0.35117677801211
+-0.253129840694032 -0.911582745838326 0.344950983822443
+-0.223336193474651 -0.929547451060876 0.316403983714619
+-0.19834626750079 -0.937166509727783 0.310526474254853
+-0.184671824199745 -0.943721102054609 0.298890948145929
+-0.16732891427966 -0.948969428730867 0.292415898644726
+0.121562325265624 -0.984222679209252 0.174863714950176
+0.105278951092362 -0.98187610040365 0.197191951947878
+0.115574724293337 -0.968807298379069 0.249206544279976
+0.111918315072113 -0.9650688060324 0.264887693890481
+0.0840009963836796 -0.964400623535642 0.277352248829198
+0.0313665977494937 -0.969010991979123 0.272181619455202
+0.0179677520256098 -0.968352065020082 0.2757180408651
+0.0299697248721782 -0.962750658598087 0.293703906953988
+0.031805309407231 -0.955237043865164 0.317111356342299
+0.0267163212570829 -0.955264384837028 0.317498335807328
+0.0323932223931281 -0.952402333173597 0.325468085852481
+0.0360743577675519 -0.956005681190851 0.314325910867168
+0.0427876009296816 -0.947731271308859 0.33767389385319
+0.0373264699285676 -0.947492844782253 0.338988264884059
+0.052520714402342 -0.936469212012079 0.366491458989352
+0.0304320576846331 -0.935595246141994 0.371193245172352
+-0.00462541434745737 -0.939767990792988 0.361750921246961
+-0.0119216807550774 -0.949966799920704 0.333871161642319
+-0.0259401237753955 -0.954944861772057 0.318522245618204
+-0.0390326386547402 -0.953158455450717 0.322512653895085
+-0.0737327685973548 -0.954540223734395 0.312194554898158
+-0.0862072556064585 -0.949829538992897 0.323173569366901
+-0.0973260760280061 -0.948768306320935 0.323133619182366
+-0.126213177017929 -0.924618945487385 0.378416489588967
+-0.127636110539408 -0.920886380464336 0.386944824957856
+-0.125381026548193 -0.907527798679522 0.417997479424963
+-0.123756818987766 -0.902275602065815 0.429688244743558
+-0.117293442855159 -0.901877043276194 0.432329789714489
+-0.119536281768794 -0.904673670237757 0.425823470136908
+-0.112597909777718 -0.898364748896563 0.440807768368145
+-0.11562994690413 -0.88763265680766 0.46128839346717
+-0.121184723407934 -0.886741796233573 0.461575833016634
+-0.115280972511446 -0.88712941189165 0.462342626126545
+-0.111153315274762 -0.880734426789215 0.475395424853566
+-0.0987148439332871 -0.879924020770555 0.479622869823996
+-0.102465669021727 -0.877136627160896 0.483922642541902
+-0.0919513543749631 -0.87884235144356 0.482938991734737
+-0.0958612635747668 -0.879843404131362 0.480349042210334
+-0.0785930692918003 -0.876643479534862 0.489252837751917
+-0.0760883793907403 -0.871270410343385 0.499146702465077
+-0.0682537697083182 -0.873286901369501 0.496749847324647
+-0.0730123368733901 -0.874606338982204 0.493742797898291
+-0.0586225928615093 -0.872928520610051 0.498606246964217
+-0.0587590362473014 -0.870189474465965 0.503355395508914
+-0.0585077937673768 -0.872814090456045 0.498820009191552
+-0.035513572899177 -0.875446741417279 0.496367594713639
+-0.0278808917319998 -0.873108129445326 0.500952942074115
+-0.013177258335433 -0.879889096296422 0.489561577415371
+-0.00681711430399603 -0.877716893347452 0.493574292366471
+-0.00176535161943293 -0.879539604690035 0.490363097424099
+-0.00299614000956688 -0.875844392861093 0.496927180418646
+0.00356488351733967 -0.87661657010318 0.495559966730612
+0.00901473502929879 -0.881379296397287 0.486968449116136
+0.0153591632868971 -0.879046656731856 0.491009237582831
+0.00446392236053905 -0.875896245841935 0.496824757753842
+0.0116110442792288 -0.872998184445103 0.501785166785846
+0.00543379020298197 -0.872070653042369 0.503500000026102
+0.0931861375499074 -0.867094627905308 0.503500000026102
+0.0960427887132184 -0.867446104337416 0.502356485780794
+0.113179371558289 -0.874539853817841 0.486229857102523
+0.110739245958711 -0.883285500042843 0.470736173263284
+0.117575035236321 -0.88177086971278 0.471916565099325
+0.113616238039459 -0.886177170858159 0.464575475357438
+0.119392733942108 -0.889948636917774 0.455835275872792
+0.124898144515752 -0.888696476763602 0.45680195455414
+0.130253058998696 -0.896356638223448 0.440031723554382
+0.141700568473745 -0.897297318673431 0.434542829644776
+0.141219092220066 -0.900777660637456 0.427440959769945
+0.149591618583924 -0.899032247838039 0.428266698444701
+0.149633665759214 -0.900644104255548 0.42485169593775
+0.155578239619508 -0.885218812811935 0.45412780668081
+0.133853237915561 -0.861754060433274 0.503500000026102
+-0.16732891427966 -0.948969428730867 0.292415898644726
+-0.110831584413348 -0.963337587312876 0.271562244737064
+-0.0728475303387586 -0.964562951323582 0.279929545167146
+-0.0222577205759829 -0.977052038663813 0.242740411999422
+0.0262156490417213 -0.980214150153013 0.229220329781473
+0.0219459267814134 -0.979889958083027 0.231047714435242
+0.0443653314987473 -0.978507928366566 0.233672744420007
+0.0461659298382436 -0.980400774177345 0.225237716456707
+0.0395281730517341 -0.980750592467266 0.224977329769688
+0.0745999905294719 -0.985476590121697 0.193183155930105
+0.0697883192491409 -0.986390955799622 0.190293123399372
+0.0748435399232269 -0.986406585942995 0.18828035410006
+0.0748570315074852 -0.988872138361533 0.174863714950176
+0.161020200223894 -0.913190934866855 0.392687931565074
+0.142518330221654 -0.914488293949569 0.396798041552676
+0.0966912216227384 -0.923832935837993 0.388886248563841
+0.0930703645861545 -0.928999363541994 0.377289132860159
+0.0822288323862174 -0.930897051699595 0.37512411047732
+0.0970760421889636 -0.92923284359446 0.375701429885861
+0.117107248716101 -0.921566007502361 0.388652783489714
+0.131512444957902 -0.919796165144732 0.388237673862597
+0.135146732841489 -0.920547636042494 0.385196586665623
+0.127002208488613 -0.922349328149677 0.383654995928444
+0.132908660249903 -0.923006878718611 0.380056035169424
+0.162294251424123 -0.920416438281881 0.374890858911204
+0.068817716724489 -0.869368087658238 0.503500000026102
+0.070831069883205 -0.872158974314833 0.498368019701604
+0.0829040820169085 -0.868138043837873 0.503500000026102
+0.0859841563534824 -0.987966804123501 0.174863714950176
+0.0814837349045286 -0.987517833971588 0.179493533404607
+0.0899149315769784 -0.987616821582809 0.174863714950176
+0.309432554768788 -0.906358734457391 0.311150025746516
+0.316200252046302 -0.90151360842936 0.318338835869157
+0.348333874556175 -0.890902324279776 0.314651490429613
+0.352486503041947 -0.886885699636958 0.321303627356933
+0.331288179914888 -0.89214129060639 0.329212787485307
+0.338218010422532 -0.888169780786068 0.332884391229526
+0.329078006446831 -0.89171738890385 0.332560917727083
+0.324869290241197 -0.890780785908795 0.339143827474259
+0.27954113115225 -0.904336441970601 0.343629678168336
+0.269949829830974 -0.908888247016849 0.33926132082639
+0.28234150087133 -0.906549922790443 0.335409472696237
+0.281142276539757 -0.909460009479575 0.328466910813638
+0.289428470243149 -0.909859003298619 0.320057424111915
+0.259495817120367 -0.918017194099478 0.322421079079446
+0.255587026139185 -0.920556317491943 0.318277140861546
+0.265830330624858 -0.919966221631324 0.311521084964187
+0.294713471630507 -0.909897836155703 0.315085539812071
+0.305742525161314 -0.909861126384244 0.304504908010985
+0.309417788454289 -0.906367218507169 0.311139996470454
+0.309432554768788 -0.906358734457391 0.311150025746516
+0.457640376666073 -0.879793706978379 0.174863714950176
+0.451402629437823 -0.881700630146724 0.181352322663618
+0.46649347237794 -0.87245486246342 0.187764089198936
+0.429755149117131 -0.891411953347832 0.186398071974779
+0.439594850373578 -0.887229359135907 0.183383292075146
+0.418165778864052 -0.899011504142244 0.175967885726118
+0.398827918409959 -0.905719205418838 0.186166625452167
+0.368857462946518 -0.918905429299103 0.183319349860534
+0.363721672013932 -0.918468734838279 0.195373305320764
+0.343625032608148 -0.925116379977634 0.200326035407598
+0.336309951105206 -0.925008521299195 0.212847016214674
+0.333532152996787 -0.928199855050281 0.20310177744659
+0.340445852203967 -0.925454257861413 0.204156896340282
+0.341011675232178 -0.926243916399264 0.19958017108094
+0.335196631546007 -0.927842134223198 0.201993049782293
+0.312395881095342 -0.938549716949656 0.188632558929751
+0.320033703809092 -0.938642695395888 0.174863714950176
+0.162294251424123 -0.920416438281881 0.374890858911204
+0.18259723658594 -0.918062040330701 0.371307607375621
+0.19347574416598 -0.921535304489809 0.356915702930391
+0.20808699978268 -0.918941608146303 0.355380248943198
+0.210531412638044 -0.920335550307312 0.350297015592722
+0.201188111589344 -0.925603351819709 0.341805176753123
+0.245043863148817 -0.914516147874414 0.343020000014644
+0.245043863148817 -0.914516147874414 0.343020000014644
+0.258150349164885 -0.908832010563271 0.348470621145557
+0.232412997502638 -0.912990786667367 0.355641704602175
+0.232022591973625 -0.910260892620814 0.362821752626548
+0.212760739794894 -0.913779075232736 0.365772701645072
+0.164390579914481 -0.912913047929841 0.391936862459795
+0.161020200223894 -0.913190934866855 0.392687931565074
+0.306189195014058 -0.943249626583794 0.174863714950176
+0.312670856738778 -0.938774333268633 0.187052630407251
+0.305443999675635 -0.938109691405845 0.201750266301138
+0.318849594349362 -0.931761026412456 0.21025062625841
+0.30929156933206 -0.93335304596509 0.217347226179216
+0.284232481168866 -0.945716822840568 0.197181610818384
+0.269777214225775 -0.949765006331127 0.198029511521423
+0.267868138224991 -0.951504862548301 0.19218261386196
+0.258357532416903 -0.953742080841005 0.194104169652583
+0.251686346102416 -0.956581967480806 0.188822463378074
+0.244803585096583 -0.960542812087474 0.177419589873684
+0.245200842453704 -0.960910104043982 0.174863714950176
+0.859581256897988 -0.147162538587069 0.503500000026102
+0.864168817278434 -0.15576880382011 0.492947598635032
+0.868775338707461 -0.177149141305483 0.477385161676048
+0.866984231027097 -0.198820720143818 0.472078027863876
+0.874524635701 -0.212393943417577 0.451823499113939
+0.874919712000797 -0.225715794837652 0.444541198893026
+0.884189912229322 -0.235330844666731 0.420566989503867
+0.886025568285481 -0.252641824444951 0.406423179562285
+0.885787016147283 -0.249066910357528 0.409140606869874
+0.894222500629088 -0.273101159909813 0.373939668696135
+0.899496046848229 -0.276841415981152 0.358210402001335
+0.89848365519959 -0.273185767873274 0.363518441857733
+0.907400362735065 -0.26358982796 0.348129263786155
+0.910596711268945 -0.270561035564776 0.334154687922073
+0.921719189835668 -0.265064923024896 0.306958175767458
+0.929150169964923 -0.276585612222124 0.272450657488413
+0.928606018812236 -0.29339429390626 0.256241390350849
+0.937273988898531 -0.277882336145215 0.241553052128749
+0.93936264607994 -0.278376731665756 0.232708432199576
+0.943158879988005 -0.262891133334888 0.23534778332007
+0.940531373678618 -0.276010943805568 0.230797950653319
+0.937945403362057 -0.281718323639066 0.234397539317251
+0.941085687475195 -0.283485441891092 0.219186525738131
+0.943594647863707 -0.274496801476409 0.219840047539542
+0.941627100233153 -0.283863655788629 0.216353481665578
+0.945541245551832 -0.271379642944469 0.21529942488456
+0.944811714914584 -0.277213334812855 0.211027463525717
+0.947552727377361 -0.269095209048877 0.209238135402384
+0.947968113912153 -0.271037811495211 0.204802245460643
+0.95174180573593 -0.253932735314702 0.209176244229846
+0.949860340088647 -0.263598126562989 0.20574343731736
+0.952520340550274 -0.255832971750296 0.203232604183979
+0.951447070908419 -0.263949042598898 0.197808933496228
+0.953765724559995 -0.259758146337189 0.192108427889084
+0.954195668215577 -0.255765208728766 0.195304338821641
+0.954729742522372 -0.257212616972176 0.190740106987203
+0.955906268020533 -0.250723819865673 0.193467756773634
+0.959680631791348 -0.24740416948066 0.178474821440294
+0.962285495466535 -0.239746337633232 0.174863714950176
+1.00220617817252 0 0.0981416141747397
+1.00090836429446 0.0234723528321634 0.10807633847385
+0.998059388989212 0.0666719349032677 0.11610903990101
+0.998969734985385 0.0593714341681117 0.11217620687138
+0.997829953378429 0.0773203507500991 0.111381989121595
+0.997996938627496 0.088439643484933 0.101141188199489
+0.997147275361183 0.0936824403738227 0.104737345800695
+0.998052624241992 0.0887286429701946 0.100335373425034
+0.997475024785404 0.0968013370264752 0.098600588635383
+0.998161266223554 0.0904212216168874 0.0977092078173779
+0.998159990312546 0.0936810997994373 0.094601719221303
+0.997373513943817 0.0992051315023557 0.097228676669813
+0.99852537834765 0.0937206671745809 0.0906228742649057
+0.998681125260883 0.104672557305435 0.0756879501294432
+0.997246413669307 0.117239874860684 0.0761800641005073
+0.996835200647639 0.117514504595057 0.080987183921655
+0.996882317948847 0.120061957742923 0.076549137577576
+0.996642605339551 0.118476908542124 0.0819496147903874
+0.996572313943638 0.122464685773583 0.0767790584690867
+0.995915948194998 0.123622682022103 0.0831736534037055
+0.995746250936706 0.12826272641015 0.0780197203233202
+0.993385700762218 0.144535438118229 0.0796451922536901
+0.992929199914905 0.143718402804362 0.0865195044583037
+0.992750072392892 0.149344015610229 0.0786934480456903
+0.991651414632257 0.1540545541183 0.0833286638153644
+0.991655205350309 0.160867276119837 0.06921468901484
+0.989983574342873 0.169717720841064 0.0719542755076019
+0.990012517311554 0.171606904601876 0.0668975773806665
+0.990868747667787 0.166578942995805 0.066929669397602
+0.990344486581992 0.174186595382442 0.0540909223966757
+0.99343008046658 0.163458706383059 0.0206622005541744
+0.992439663174873 0.169567548434041 0.0189568318928288
+0.992679326464114 0.169037058368923 0.00795158529689097
+0.993696863058383 0.162893820135644 0.00900820234817021
+0.991736466763207 0.174638427546714 0.00303316930627608
+0.993184021961631 0.166233903054724 0.000887690999826075
+0.993597254907024 0.163627457956873 0.00628888255562724
+0.99416383071242 0.15978013046438 -0.0125533904580899
+0.995344555043455 0.152316053537997 -0.0117488969676446
+0.991963587398043 0.168126967322804 -0.0423150580200687
+0.983004663466828 0.204067939661584 -0.0781479852890898
+0.979463074027452 0.211191296568721 -0.100495387308654
+0.977066109420138 0.219705801844948 -0.10545225677179
+0.978341851383824 0.212826543317418 -0.107708329717021
+0.969137167195598 0.230741622664292 -0.146902875160224
+0.968896082936572 0.223591104667476 -0.159048415219217
+0.964674319158275 0.229945948391106 -0.174863714861128
+0.763055527441716 0.633417668892817 -0.174863714861128
+0.771600728185952 0.630545513543187 -0.145236605624987
+0.770398816586012 0.633871790836939 -0.136898561658054
+0.772865267296019 0.630719964542481 -0.137552189858919
+0.770634587032884 0.636424109219779 -0.123027177779814
+0.78071536803394 0.62710352514264 -0.106177600600613
+0.777744028112998 0.63435775925993 -0.082179437825342
+0.770275134227486 0.646337581009121 -0.0545247555345824
+0.857020088307475 0.52751654799831 -0.0359424515774046
+0.853816422527092 0.533896757397157 -0.000876962849340265
+0.847856314772139 0.543288610056549 0.00511426278468984
+0.844741204961235 0.548141270169254 0.00156351459140757
+0.841004115819215 0.553792711720219 0.00864347272263318
+0.839834173895392 0.555623303392354 0.00321015339391524
+0.834953376071815 0.562920288197716 0.00475488398157985
+0.832080268374309 0.567136502375193 -0.00690033736639425
+0.827525664539009 0.573801181847562 -0.00157424255214809
+0.826489787559679 0.57526865181141 -0.00544144306594314
+0.834210213482435 0.563953822378862 -0.0099199771098893
+0.834969745690984 0.562278695586746 -0.0267804456647133
+0.841931482404539 0.5512824749542 -0.0358888805128802
+0.835823991712701 0.560283544562572 -0.0391101594198696
+0.83960222704076 0.554164583117867 -0.0449301142441965
+0.844593032134163 0.546722177416886 -0.0425025974613232
+0.843225584580838 0.548141273803737 -0.0506039273290148
+0.845690324772684 0.54410820090428 -0.0529446909007847
+0.845305532497894 0.545487087829367 -0.0441745825095092
+0.851288169150802 0.536462493511251 -0.0395657189946777
+0.854844905625563 0.529914764017367 -0.0497948812875416
+0.857015215674929 0.527525923719887 -0.0359210231638084
+0.857020088307475 0.52751654799831 -0.0359424515774046
+0.877865268252268 0.487520400795424 -0.0756665686062349
+0.876584960285807 0.492131815105679 -0.0587714553292553
+0.868037839318226 0.500130183083136 -0.102123011515401
+0.869375381597662 0.49616856609938 -0.10978251175303
+0.860640998929912 0.508353354708098 -0.122159476578554
+0.851513547358196 0.515264402921523 -0.153219691121562
+0.858336221895837 0.50505803260928 -0.149078213963087
+0.863751374907005 0.501664382813825 -0.12773178681238
+0.874169091153443 0.488360388271522 -0.1066842595665
+0.876510719887855 0.490624447798084 -0.0711730928406177
+0.877865268252268 0.487520400795424 -0.0756665686062349
+0.822312555592495 0.554322777937101 -0.174863714861128
+0.823649954525636 0.553935246443812 -0.169721816974575
+0.823599232044485 0.554028487648731 -0.16966360791105
+0.823005962582045 0.556034117057393 -0.165940490003511
+0.817304850438367 0.561814678561607 -0.174430640664525
+0.817167478401607 0.561879874588622 -0.174863714861128
+0.770275134227486 0.646337581009121 -0.0545247555345824
+0.768422323840401 0.649050024808881 -0.0480645141378585
+0.759538549052584 0.659975226122637 -0.0397855929636486
+0.762152360078864 0.657280563036132 -0.0339859012109962
+0.755905895421373 0.664430267684806 -0.0344629750820981
+0.729677427538467 0.693874721778353 0.0125587506487848
+0.698744460927333 0.723866825044478 0.042684867616015
+0.67220724171847 0.745658359592478 0.0786131983263771
+0.627462472825183 0.770181710462766 0.164802846045674
+0.625752317935269 0.769354091295069 0.174863714950176
+0.236355616346299 0.963123929624524 0.174863714950176
+0.231453160458788 0.967582585896676 0.155763840422418
+0.215157249021551 0.973526548645819 0.141429902337651
+0.205939084131132 0.974746548793989 0.146653534704887
+0.202260556856549 0.973768948846495 0.157840746965006
+0.186403617589407 0.976180768727674 0.16240011735165
+0.191211438794654 0.9746488650014 0.165972213414052
+0.186477443635415 0.974011213595113 0.174863714950176
+0.172606353917784 0.978899276695987 0.161283144411563
+0.176176771279501 0.981586922451676 0.139634733978968
+0.178292808384965 0.98063441398327 0.143585586288773
+0.173560165994041 0.984308613782131 0.122729057742739
+0.172322801742491 0.977291172399711 0.171043317172044
+0.173933081893183 0.977077010036721 0.170636454138147
+0.172361409616631 0.977510128534364 0.169748322783166
+-0.174640816395405 0.990437287275373 0.0508287834139991
+-0.170331240440163 0.9909171134361 0.0558528676934597
+-0.142495518682333 0.994283109264783 0.0717295321761474
+-0.144739784427113 0.993502551891277 0.0777950781830896
+-0.130944610936785 0.994180587436508 0.0922359389338697
+-0.0913148780947377 0.998054787912793 0.0979654702581081
+-0.0968425154679456 0.998985644828973 0.0818425844135012
+-0.120151704880201 0.99769790074708 0.0648958138807984
+-0.13570166362428 0.997012784424262 0.0399945769346592
+-0.153934366921055 0.994700008560654 0.0304155166000622
+-0.15989353680213 0.994214873213506 0.00445452241641135
+-0.174855611006505 0.991655448048611 -0.00969472305179367
+0.173560165994041 0.984308613782131 0.122729057742739
+0.169523221363665 0.987031496760822 0.105260162552493
+0.169470672291516 0.987045645534122 0.105212094671618
+0.150996967650056 0.989669024855011 0.108646845343155
+0.141159646317088 0.989425269210975 0.123128351318552
+0.149710159305877 0.984646371115954 0.148685547545119
+0.168729884855565 0.977757515962788 0.171957744620315
+0.172322801742491 0.977291172399711 0.171043317172044
+-0.149827629048677 0.980317990637464 0.174863714950176
+-0.143629668987941 0.986292914488582 0.143686481674626
+-0.150189137112211 0.984835435352565 0.146940084277278
+-0.173669263565547 0.984927337372993 0.11749947654329
+-0.172839891813907 0.980223736434844 0.152763864599816
+-0.169942073938741 0.979151740750713 0.162574783069971
+-0.159323996629731 0.981037880955883 0.16195536492355
+-0.158108442879092 0.979016548115594 0.174863714950176
+0.172361409616631 0.977510128534364 0.169748322783166
+0.165658220939811 0.979315872540365 0.165972213414052
+0.171499226613154 0.977979499040446 0.167908054385988
+0.172606353917784 0.978899276695987 0.161283144411563
+-0.147419834136449 0.980682962887092 0.174863714950176
+-0.147493350638789 0.980752818126287 0.174409349676815
+-0.147748455868211 0.980633506964953 0.174863714950176
+-0.424532379844163 0.91041262669256 -0.0704989902240108
+-0.445160911277043 0.901586038584286 -0.0549852534857098
+-0.442450229675664 0.903193186629774 -0.0502877906206456
+-0.445781678091189 0.901455697370764 -0.0520127018716882
+-0.450577987235948 0.899744225757207 -0.0385850441876931
+-0.443824417932252 0.903362906166476 -0.0316914153921212
+-0.452414492870028 0.899447876165018 -0.0190694704539152
+-0.455458277307285 0.89783498153162 -0.0223406260072549
+-0.466729381070169 0.892201981585606 -0.0137225690224187
+-0.464387762342725 0.893526977733433 0.00159569698681224
+-0.473271821350867 0.888747245776976 0.0138244797034727
+-0.470944487089048 0.889872437984809 0.0196808077935272
+-0.478350244188842 0.886020426728523 0.0140658204268821
+-0.488131284198218 0.880612147658838 0.0172943569608059
+-0.470086832918184 0.889941780769192 0.0327260807050101
+-0.468298447191239 0.890654732459383 0.0384670236173807
+-0.473829437784268 0.887627383840606 0.0406483867493497
+-0.456486760808887 0.895364793998067 0.0631721685159698
+-0.46820317652883 0.889229797744701 0.0640714623778085
+-0.461576147042711 0.891994265362254 0.0730937141077005
+-0.479898683103682 0.88199032699497 0.0764154241148814
+-0.472957964753238 0.884879264957914 0.0857231008772788
+-0.490073266711579 0.874659038069876 0.0940678498601952
+-0.475707318616843 0.881640346076849 0.102283171557532
+-0.469533936650628 0.88526286143286 0.0994813977639484
+-0.470219960234505 0.884094533654115 0.106390998491294
+-0.463414980236749 0.888015953507755 0.103552993234803
+-0.465744158656106 0.885684157054116 0.112671880347567
+-0.45609836915219 0.889341423662544 0.122862157780953
+-0.451272995088433 0.892865245089057 0.11486225670765
+-0.449774973056117 0.892492211274818 0.12332528705077
+-0.437208022453544 0.901836040892215 0.0979280370992698
+-0.429538893002565 0.9058305700745 0.0949542927762409
+-0.433409365598112 0.904311582188925 0.0917926147944618
+-0.429975382193266 0.906505840210884 0.0861239361113657
+-0.40781553311427 0.917174690709397 0.080784142459054
+-0.393430273821935 0.925291713441633 0.0556494804705635
+-0.367560219734685 0.936315358786072 0.0475608428215665
+-0.363577557245342 0.938767944095769 0.0239813887361255
+-0.342479568168789 0.946502260608903 0.0298364885527144
+-0.338271170389938 0.947776742049117 0.0366177895807922
+-0.32623427433189 0.952472606293757 0.0203993262418836
+-0.326345976032938 0.952636013588006 0.0056506231746346
+-0.332529394083366 0.950512062161168 0.000147501436436493
+-0.329677787510271 0.951461840522516 -0.00905110224440719
+-0.337622558371755 0.948625799054158 -0.0130039012365569
+-0.331893435569433 0.950663370350588 -0.0116148051890783
+-0.338411734641485 0.948275134682859 -0.0173426295338014
+-0.334915592453665 0.949404500250051 -0.0226194791355035
+-0.343606689934707 0.946363614177428 -0.0194769708412363
+-0.348221114153719 0.943438233961314 -0.0521090621437292
+-0.371922157653037 0.934504157592718 -0.0492431527081015
+-0.374918849755663 0.932498846535244 -0.0626957519161402
+-0.393304451170454 0.925578941414635 -0.0516161980319228
+-0.402767628337854 0.921285000101622 -0.0553279870486355
+-0.402977250706048 0.920844779131212 -0.060854154830905
+-0.417377203539504 0.914539094111021 -0.0588516381091941
+-0.41800671496953 0.913216394269925 -0.0731792557834458
+-0.424499648433118 0.9104254038788 -0.0705310743735166
+-0.424532379844163 0.91041262669256 -0.0704989902240108
+-0.174855611006505 0.991655448048611 -0.00969472305179367
+-0.18046606891279 0.990583518106419 -0.0150097177546625
+-0.201842293910212 0.984957105865842 -0.0562866591071773
+-0.242530160124778 0.97288001394598 -0.0934483809079537
+-0.242546780982933 0.972874340612338 -0.0934643055552474
+-0.252163990319967 0.969320763026515 -0.104305226866183
+-0.251470625572633 0.970268679165294 -0.0969031202023134
+-0.262010296989076 0.966958980629719 -0.10193102595006
+-0.264250521470156 0.96699810312256 -0.0955789226771285
+-0.271435925066485 0.964178137025087 -0.103595649841752
+-0.278594173080778 0.966034754501495 -0.0566669199857704
+-0.270887606294432 0.968969705601412 -0.0420311120812263
+-0.257827311465655 0.97260603142849 -0.0401445524488074
+-0.255491967794703 0.972977993452976 -0.0456801778522297
+-0.258404967448854 0.972591698251926 -0.0366232342808616
+-0.251623484268276 0.974429031272868 -0.0349669154675328
+-0.249829472778208 0.975353369228689 -0.0178896524730398
+-0.231232025335611 0.98001372980273 -0.0124032196357159
+-0.238988297329638 0.978217367040029 0.00493726247562596
+-0.232111195267777 0.979836788538868 0.00965716610617719
+-0.221091934466859 0.982421328338872 0.00396107795798352
+-0.228333348913713 0.980738860407456 0.00801058428168669
+-0.224966565049844 0.981468411642395 0.0126016490122903
+-0.216440243944824 0.983362777455245 0.0141516330015457
+-0.192799606631727 0.987542306089679 0.0404661014397243
+-0.190893359988557 0.988229510146768 0.0317987482042661
+-0.174640816395405 0.990437287275373 0.0508287834139991
+-0.404988883781535 0.909619926134965 -0.150414739941297
+-0.414202707957582 0.904989279366796 -0.153230287318706
+-0.412760978402708 0.908324736955406 -0.136468116946531
+-0.392375102772666 0.917424823616036 -0.135729406309852
+-0.383374712184115 0.923405241903963 -0.119981620600953
+-0.359088884806836 0.934045186804092 -0.112533380897812
+-0.348545719122029 0.936860840995864 -0.12188784307809
+-0.324390571147059 0.945743397610135 -0.119954921648604
+-0.314349964708511 0.950395199411784 -0.109462617467305
+-0.276747694659787 0.962723638643868 -0.103067497771141
+-0.272395939700476 0.962755114156958 -0.113807039322339
+-0.26231140542523 0.965000383401093 -0.11838913218528
+-0.28397614286962 0.958380265096132 -0.122122142771738
+-0.28199308299662 0.958006836613815 -0.129428753154982
+-0.305743880813645 0.949830993168947 -0.135612550159278
+-0.322685943603417 0.944532203915863 -0.133348031731308
+-0.35243827169362 0.932307115726983 -0.143665258884836
+-0.404955177721977 0.909629672994913 -0.150446542144807
+-0.404988883781535 0.909619926134965 -0.150414739941297
+-0.503477281426153 0.872048232007308 0.00956598874437389
+-0.50107720870569 0.873480166642074 -0.0017405167762965
+-0.497536985228465 0.875503244460637 -0.000131410304423962
+-0.501554919048798 0.873076823595921 -0.0151169863931521
+-0.499383897129516 0.874378104660892 -0.0112983794131305
+-0.493241642045525 0.877689556317721 -0.0205602841185334
+-0.493441192211419 0.877184126326271 -0.0333586323189433
+-0.483833197859423 0.881801973012352 -0.0487823435337813
+-0.486197040783334 0.879619234861756 -0.062701189739492
+-0.495068571566706 0.874674507472708 -0.0624549071272846
+-0.493648360475542 0.873302754282982 -0.087764432212416
+-0.493647900646789 0.873301940809772 -0.0877751124459713
+-0.492589276180732 0.872779879022706 -0.0982857454814933
+-0.501084760505976 0.867904264214818 -0.0985152320527336
+-0.173669263565547 0.984927337372993 0.11749947654329
+-0.175697970800023 0.984869284523685 0.114942226612152
+-0.183990354396845 0.98714524091261 0.0757682178258679
+-0.196919373399613 0.986291457369155 0.0500092141563139
+-0.235226811704326 0.978886959347964 0.0223084709004106
+-0.242506911640173 0.976926602982114 0.0292200306736929
+-0.248248469284953 0.975624802595203 0.0240404255109884
+-0.23407685129125 0.97815847790421 0.0496288201924451
+-0.233969232721757 0.976203129831104 0.0795917548967765
+-0.228116491040652 0.976334634743826 0.0937152469715583
+-0.200497830339323 0.97952636797013 0.119907107714549
+-0.180811042091218 0.9826502559118 0.125518291951258
+-0.172839891813907 0.980223736434844 0.152763864599816
+-0.258125440213105 0.957519158194035 0.174863714950176
+-0.254104411365247 0.962154553942293 0.154073237302355
+-0.262307080438433 0.960083968801209 0.15324088358785
+-0.277174923198315 0.95410449861061 0.16403556834115
+-0.270642201587867 0.954077182026671 0.174752766661129
+-0.282069849206301 0.952129804724638 0.167135977945378
+-0.277839149636697 0.951985865505881 0.174863714950176
+-0.279848978396599 0.951396988898012 0.174863714950176
+-0.283761290324229 0.950827789149498 0.171624722853694
+-0.281459262548455 0.950921849953772 0.174863714950176
+-0.770832525826505 0.64680528821221 -0.0388476031262073
+-0.746819518327285 0.675016334172056 -0.0257401562994778
+-0.737463945003055 0.684982039276878 -0.031552110684085
+-0.738017027396727 0.684105442153816 -0.0371431189862841
+-0.728585760800253 0.694041107451501 -0.0389708907597905
+-0.720442353529203 0.701431868758294 -0.0548192368749314
+-0.712148110082415 0.709493188697102 -0.0592746530859843
+-0.706780825434142 0.715968668595281 -0.0435744235593804
+-0.704407080890483 0.717861696291361 -0.0503413288366385
+-0.7011257272538 0.72163831184376 -0.0413504711232923
+-0.699250374157487 0.724525040132156 -0.0127035610012481
+-0.679218276242625 0.743421898400659 -0.00595098280608095
+-0.663521806086314 0.757347900229816 -0.0145592192594357
+-0.659515508398281 0.760560478389789 -0.025220089088882
+-0.673107151710878 0.748532749764075 -0.0259708460836826
+-0.677288466107771 0.744121554837343 -0.040155264957898
+-0.698296778891191 0.72462452421096 -0.0367410873849199
+-0.694509871470941 0.727601605615249 -0.0479681345846127
+-0.688973855453575 0.733195250223253 -0.042293634881591
+-0.682397387786468 0.738885718209231 -0.049302135538256
+-0.672333093623172 0.748092020685343 -0.048739509702253
+-0.68353734654367 0.737197678961472 -0.0580110163146341
+-0.683691229593432 0.735842400580889 -0.071772307224837
+-0.690933360360389 0.729416514462913 -0.0679090566115862
+-0.696190546375825 0.725777908689865 -0.0511287628903372
+-0.693398715875674 0.727682483333897 -0.0610362537429903
+-0.697537162155149 0.72310341786315 -0.0679143172473433
+-0.709548175165933 0.711234394751677 -0.0688187680862609
+-0.705469237892389 0.714939467204427 -0.0722752559385428
+-0.712350446125952 0.707443969414267 -0.0782871128829148
+-0.746422044660992 0.669326542140356 -0.0943668969000131
+-0.745234954059775 0.669741848728149 -0.100596815604306
+-0.748966170528781 0.665735086664527 -0.0994759759300069
+-0.748375455846268 0.66455561873245 -0.111126084687714
+-0.753692408842081 0.65700148508256 -0.119773959829056
+-0.749158230858226 0.661774278828102 -0.121925177953195
+-0.756882644663543 0.65230993103627 -0.125177538235012
+-0.75020003975181 0.659739909000593 -0.126460083932725
+-0.754947927303197 0.653034439138684 -0.132848215492083
+-0.751595747671775 0.654389293138881 -0.144663350945918
+-0.763869992272758 0.640963028874373 -0.140420904858953
+-0.574574511084119 0.820577442838515 0.102790036078642
+-0.578115357793654 0.817560105661495 0.106897645969778
+-0.580378181187827 0.817124398338537 0.0975596455559046
+-0.584239505648978 0.813474679824963 0.104748008681368
+-0.57894956417544 0.81544458951333 0.117968315977232
+-0.5828090307853 0.811184088500294 0.127917974495561
+-0.591065296869332 0.807824957235523 0.110043869907388
+-0.589787247440264 0.807171485175817 0.121137097026063
+-0.595605639912211 0.801866715183757 0.127721152457912
+-0.590912412179418 0.801699142587432 0.148828780505912
+-0.586352044053099 0.804679223281786 0.150770116579428
+-0.587006246617732 0.801836761520814 0.162881780152278
+-0.575326049561847 0.808396496946043 0.171883799181089
+-0.578190156142016 0.809396857561304 0.156913575927503
+-0.567594606465749 0.816752862235628 0.157480553532491
+-0.567569474718623 0.818391982878519 0.148823565767628
+-0.562286933224537 0.821722263869406 0.150515533372082
+-0.552860932117096 0.8300466328101 0.139342660729697
+-0.554671875997884 0.827402616971925 0.147624589432105
+-0.547593482591344 0.831163375399954 0.15283265756126
+-0.531757992245011 0.843698746131171 0.139480692069707
+-0.527984536291005 0.848374643667027 0.124666729404505
+-0.532000117137108 0.846373499355202 0.121147740199036
+-0.537933290732093 0.840302488332571 0.136266293793548
+-0.549886811116168 0.83369380574821 0.128950119106411
+-0.553351219597905 0.830123120293139 0.136919804719016
+-0.562215485150288 0.825383366320781 0.129248005238771
+-0.560458429643171 0.829102142286852 0.111915085208667
+-0.574559242478591 0.820586118795661 0.102806121035189
+-0.574574511084119 0.820577442838515 0.102790036078642
+-0.501084760505976 0.867904264214818 -0.0985152320527336
+-0.508177961004069 0.863748845474104 -0.0987020359055458
+-0.50564753674315 0.869277954687641 -0.0522054219373463
+-0.514393102283718 0.864479716269682 -0.0460820624670989
+-0.519459559922154 0.861355866509376 -0.0477162114523473
+-0.516179131460142 0.862370007921973 -0.0626583887576839
+-0.526462842691185 0.855452018880176 -0.0713282458731991
+-0.524976105879232 0.855241746954738 -0.0837295797295381
+-0.531783506608175 0.85080019156568 -0.0859903258007311
+-0.533637150041892 0.850327812959232 -0.078886010186452
+-0.545134302857766 0.843133251198256 -0.0774849183495393
+-0.535532661522057 0.850444351931382 -0.0632311055661214
+-0.539993716629773 0.848142917585968 -0.0557617911219286
+-0.522735422470035 0.860086859696083 -0.0323615802025205
+-0.528365895933686 0.85656697778173 -0.0342270739045426
+-0.555164137499206 0.840035132258044 -0.0135187649943489
+-0.528021254626006 0.857347219477993 -0.0140819003167867
+-0.519881836879736 0.862056076425158 -0.0251236299330517
+-0.513598129328886 0.865823784734762 -0.0248019220513387
+-0.504382386464836 0.871506992321083 -0.0110892091465939
+-0.508197455239932 0.869327368987767 0.00736695435468267
+-0.567645550616851 0.83173181920984 0.00705051620684172
+-0.579827846936417 0.822781245034444 0.0296595808576074
+-0.562346559390942 0.835221538559678 0.0148434722074587
+-0.51711090035295 0.863755638220593 0.0239063627157625
+-0.512529133381664 0.866708482647156 0.0133900538649013
+-0.507726107521203 0.869461215138953 0.0173319101792777
+-0.504129582486629 0.871631532427249 0.0126821031529838
+-0.503477281426153 0.872048232007308 0.00956598874437389
+-0.561548943996338 0.817394925798762 -0.174863714861128
+-0.603696479507114 0.792436213139296 -0.147120388580811
+-0.572773997319322 0.814279943813007 -0.151417043620366
+-0.550366112558963 0.826300995429345 -0.168442296051818
+-0.548207957894132 0.82640166754824 -0.174863714861128
+-0.763869992272758 0.640963028874373 -0.140420904858953
+-0.764299801020156 0.640483061272875 -0.140272101228563
+-0.773818327044301 0.623813114563601 -0.161590206475573
+-0.785921655225019 0.609206000777634 -0.158884236049039
+-0.789791198476527 0.602989566198809 -0.163347622769304
+-0.799041626755377 0.593355771649774 -0.153331037177802
+-0.787713638105609 0.61077114367577 -0.143230005220333
+-0.803143865062143 0.590097318980556 -0.14420154695773
+-0.800614835544096 0.594784196889164 -0.138912361716344
+-0.806037713234705 0.587148128594684 -0.140033138689125
+-0.804102635883308 0.592034455210783 -0.13024267660328
+-0.812253230188266 0.579246272291368 -0.136994328661011
+-0.811630989202613 0.581649422433544 -0.130338354864228
+-0.812804752323814 0.578976418197068 -0.134847105165504
+-0.815525637361773 0.576292511271788 -0.12982247978578
+-0.815909827105898 0.574239828914714 -0.136340650284583
+-0.827396372934568 0.556196928432424 -0.141806977462526
+-0.837673432401959 0.530824737434952 -0.174863714861128
+-0.858015279875021 0.497274029812493 -0.174863714861128
+-0.856796914053506 0.500451054382012 -0.171746296135672
+-0.859907826917707 0.496207906974563 -0.168479204240733
+-0.853441527176232 0.507986394123337 -0.166241941388658
+-0.854779419266473 0.508520116062016 -0.157506939398699
+-0.848771461319374 0.518031314635357 -0.158995482662048
+-0.846736341945274 0.526432034223183 -0.141265284386426
+-0.839054716181568 0.541231432873465 -0.130785011844647
+-0.838238894315214 0.545399290642331 -0.118085434428003
+-0.846909636900672 0.532151540139071 -0.116652497840326
+-0.845649031070336 0.536127056298922 -0.107212386196999
+-0.828660646595032 0.564024462585539 -0.0961610024375657
+-0.829935996178732 0.563918051231931 -0.0851567598115199
+-0.818235411075964 0.583146211247694 -0.0669351056532141
+-0.770832525826505 0.64680528821221 -0.0388476031262073
+-0.876363056870542 0.484716779000388 -0.105292149318021
+-0.886168256102947 0.468805963127579 -0.0947406502589319
+-0.885318353339099 0.471743425235454 -0.0878553014226688
+-0.889890676075614 0.465124725413504 -0.0761746312278538
+-0.888192822702629 0.468925094814048 -0.0726069222125003
+-0.882485983061311 0.479370189143168 -0.0739710177106891
+-0.883325675774409 0.475900322534025 -0.0854612984320614
+-0.875828708675582 0.487540072463055 -0.0963210818169235
+-0.868857619872747 0.499756550829095 -0.0968443405288681
+-0.869575835295844 0.500189858113533 -0.0877323914520673
+-0.866911162743984 0.503117223061686 -0.0968870258010406
+-0.852881205382224 0.526400650949437 -0.0976985372755046
+-0.86337960766205 0.506400027567977 -0.110379641023499
+-0.876358150901204 0.484714065506663 -0.10534546050507
+-0.876363056870542 0.484716779000388 -0.105292149318021
+0.0899149315769784 -0.987616821582809 0.174863714950176
+0.0909061000917776 -0.987621343549901 0.174324876970537
+0.110475125039999 -0.988333604546219 0.158243271174714
+0.111568978327176 -0.989824978807337 0.147810264880642
+0.116628276340305 -0.989381492662257 0.146871056152307
+0.114741365988998 -0.988657928124527 0.153097746840037
+0.123366240856715 -0.989457757146351 0.140723549698675
+0.126294729158457 -0.98834809280079 0.145831028398736
+0.142825546845619 -0.986384148208683 0.143861653441358
+0.147223230829984 -0.98697894603309 0.135081014178131
+0.155065866965906 -0.985279033850619 0.138667957208945
+0.158179478656159 -0.986445000622071 0.126311176385103
+0.165909497388718 -0.985097770175704 0.126907138771141
+0.17336300319757 -0.983190449031765 0.131646534534847
+0.174863346146031 -0.991699316725512 0.00206769938982406
+0.166199036889149 -0.993166282895945 -0.00690033736639425
+0.170090263051182 -0.992461402244132 -0.0117757152984317
+0.159047346097515 -0.994187939490487 -0.0185278890053883
+0.159150747530787 -0.993500283669681 -0.0409539486332634
+0.170374753859521 -0.991315336170992 -0.0481180581434818
+0.174711640580554 -0.990838951709386 -0.0419882652784904
+0.174562651383699 -0.98999399198525 -0.0590658664120111
+0.174474014944342 -0.989996497331782 -0.0592853555273456
+0.152658568001015 -0.992529922534746 -0.0750247591735627
+0.159318507513065 -0.989350607925401 -0.0992571798987312
+0.154047722075582 -0.98960336584423 -0.104897462472147
+0.173655746841515 -0.984850680738833 -0.118160138105761
+0.172511553977083 -0.978361640543342 0.164612466289014
+0.154264832735209 -0.983093894873931 0.154200373679128
+0.140152881618843 -0.984149797322114 0.160795976954576
+0.142070168682988 -0.984559674684824 0.156548120892273
+0.134209621900832 -0.985510011053859 0.157501731742409
+0.121562325265624 -0.984222679209252 0.174863714950176
+0.0748570315074852 -0.988872138361533 0.174863714950176
+0.0748443358340829 -0.989163163161824 0.173215363167503
+0.0846488361972214 -0.989415014492152 0.167157122576189
+0.0888578479224933 -0.988229905989337 0.171915490200535
+0.0859841563534824 -0.987966804123501 0.174863714950176
+0.173356664648791 -0.98315450133528 0.13192305835609
+0.164954112806157 -0.982881370573109 0.144164323078424
+0.172939666263698 -0.980789585973162 0.148972010388511
+0.174846759380563 -0.991605248503991 0.0140229053143197
+0.17327254803589 -0.991886994137953 0.0136313960079367
+0.174859672940845 -0.991678484943703 0.0068466983854941
+0.172939666263698 -0.980789585973162 0.148972010388511
+0.188257989207268 -0.976508394530306 0.158238064041118
+0.199982585651271 -0.976055277098356 0.146191865316384
+0.206104737008449 -0.974580207006933 0.147523752301119
+0.200518059338297 -0.977020959640633 0.138822016633172
+0.2200386689008 -0.975912049687891 0.115011544908951
+0.216837300261223 -0.98060035816027 0.0738479708006502
+0.225585804156775 -0.978990207138425 0.0688347244492534
+0.223812864213112 -0.979732422158507 0.0638841356218338
+0.21312326679033 -0.983075648146701 0.046794691724177
+0.19949708732351 -0.986108292615656 0.0428992702044111
+0.200151632719841 -0.986420126388833 0.0310428441773757
+0.191497238222783 -0.988206286547774 0.0287427030827905
+0.193336118561915 -0.988089406361984 0.0186941246019937
+0.174846759380563 -0.991605248503991 0.0140229053143197
+0.245200842453704 -0.960910104043982 0.174863714950176
+0.246711978810606 -0.962204260822004 0.165363720227069
+0.22507058938426 -0.970020425989969 0.149841926564163
+0.228250670946893 -0.970940920059923 0.138651941802062
+0.208877612693861 -0.972091794947872 0.159551512403793
+0.189966860888095 -0.974660714723477 0.16732627689351
+0.178819353050152 -0.976613854320957 0.168220148980701
+0.172511553977083 -0.978361640543342 0.164612466289014
+0.497954357486667 -0.86248224731531 0.149046405276924
+0.494362593294647 -0.8641497594368 0.151326863498558
+0.484609972569786 -0.869814681680763 0.150414740030705
+0.483792182097202 -0.867598774939631 0.165125680210194
+0.47125379246906 -0.872912524989639 0.173183679368872
+0.460642124615479 -0.878846930762282 0.171714604269569
+0.457640376666073 -0.879793706978379 0.174863714950176
+0.320033703809092 -0.938642695395888 0.174863714950176
+0.32273462404117 -0.938619645612058 0.169954474245606
+0.322346185761464 -0.939996929162909 0.162934679210215
+0.312104146268492 -0.944213250429979 0.158434022843801
+0.304468366952064 -0.944398931476421 0.171635287023787
+0.306189195014058 -0.943249626583794 0.174863714950176
+0.174711640580554 -0.990838951709386 -0.0419882652784904
+0.176842481797188 -0.990584809783836 -0.0389547334393724
+0.179609834330148 -0.989801999831914 -0.0456213605741964
+0.174562651383699 -0.98999399198525 -0.0590658664120111
+0.173655746841515 -0.984850680738833 -0.118160138105761
+0.173977945016772 -0.984768241665102 -0.118373074875854
+0.190430331304581 -0.978311641512931 -0.143845823712408
+0.202561818662284 -0.970793691185307 -0.174863714861128
+0.17336300319757 -0.983190449031765 0.131646534534847
+0.17349845143676 -0.98315586708525 0.131726338918597
+0.173356664648791 -0.98315450133528 0.13192305835609
+0.174859672940845 -0.991678484943703 0.0068466983854941
+0.175762904579696 -0.991537910364609 0.00299561070463745
+0.174863346146031 -0.991699316725512 0.00206769938982406
+0.502669080891141 -0.870648387798314 -0.0578288849992063
+0.474494484411086 -0.885447916644249 -0.069899722272818
+0.465787369607604 -0.890439066383911 -0.0648798533550879
+0.447556556330355 -0.898641306127554 -0.0786506948925236
+0.446387374396871 -0.899793515138911 -0.0718257759653867
+0.450950140031511 -0.897629074972252 -0.0703918672150372
+0.429847698319573 -0.908734008601853 -0.059012353450553
+0.428146997498437 -0.909281912546603 -0.062813629481714
+0.420749820674547 -0.91359940885264 -0.0485253392202772
+0.409341689257579 -0.919007956180709 -0.0437350878849807
+0.387169662416329 -0.928516260157243 -0.0447907035893997
+0.374153796834617 -0.932900343522991 -0.0612771194568178
+0.356125784879558 -0.939977941710962 -0.060538371639328
+0.350382210578672 -0.941545741908816 -0.0690863402083184
+0.353998740050361 -0.940004636019037 -0.0715903366766364
+0.344920095333903 -0.942946397651606 -0.0770144076826513
+0.338895069405746 -0.945820975032278 -0.067983932818457
+0.319591909666503 -0.952672312643425 -0.0657683510386654
+0.313883344285029 -0.95518727108435 -0.0560671324296037
+0.2937138665804 -0.961294808613885 -0.0607738061206058
+0.299549237298392 -0.959676714154617 -0.0577915109972755
+0.295774181303102 -0.960951564767799 -0.0560243147641927
+0.303513600605827 -0.958420921613084 -0.057946796819263
+0.313709873236055 -0.955277714607867 -0.0554941745392096
+0.319683490660688 -0.952669588386361 -0.0653614654269561
+0.339122808320572 -0.945832683141307 -0.0666727558938768
+0.346409852517061 -0.942478735683466 -0.0760463468130042
+0.353439253488802 -0.940210243298702 -0.0716546752799382
+0.34958714174174 -0.941822355489267 -0.0693432118486741
+0.355725953667226 -0.940160583699729 -0.0600510011983715
+0.375196904741767 -0.932626022589567 -0.0590337586552116
+0.387211290832492 -0.928524847768445 -0.0442495573810722
+0.418886949998351 -0.914759720468517 -0.0423954824178248
+0.435373296273031 -0.905933374101476 -0.0615127188593592
+0.454928248185147 -0.895550093576966 -0.0712693405152662
+0.465782531934048 -0.890467658351801 -0.064521177721489
+0.47297935681849 -0.886332794600508 -0.068947119150989
+0.487809391599152 -0.878692744611286 -0.0631669061704805
+0.490037419709986 -0.877969789462036 -0.0555101439015155
+0.502719871325048 -0.87073635941041 -0.0560350191900739
+0.502728356704558 -0.870751056518849 -0.055729677340205
+0.493953940540875 -0.875911978138487 -0.0532607846136803
+0.478473403836091 -0.885693797394653 -0.0256651335111461
+0.447311022197321 -0.902169435399523 -0.00722213622779736
+0.404011045434599 -0.922374185658853 -0.0070665972723441
+0.411971120409109 -0.918863923174393 -0.00422925967822642
+0.446324378537026 -0.902672087452829 -0.00516252429439886
+0.478897857844746 -0.88548141413315 -0.0250700414134194
+0.502690901969581 -0.870791475900327 -0.0554352106186916
+0.502736495815539 -0.8707651538726 -0.0554352106186916
+0.770452876733559 -0.646486724916189 -0.0500627530218083
+0.770201650509759 -0.646802966511614 -0.0498431546334935
+0.744341570674537 -0.676373134418479 -0.0502395183365153
+0.730789226733847 -0.691604746152871 -0.0409753729521586
+0.713088288372876 -0.708572369410592 -0.058985509180665
+0.714407114576992 -0.708199781831739 -0.0460927722669483
+0.719367072592726 -0.703473134119908 -0.041055626178215
+0.711555520676571 -0.711257527627801 -0.0430170941310664
+0.717992338907198 -0.705150471739196 -0.0360390548788494
+0.713911457278144 -0.709761865330015 -0.0248500641901342
+0.708709968290708 -0.71464730568719 -0.0325332033378721
+0.707793799916237 -0.715919341953782 -0.0231610150165579
+0.705294130476812 -0.718263984727737 -0.0265713710220443
+0.706700764102992 -0.71701306967665 -0.0226999543857547
+0.703147676834089 -0.720416410936065 -0.0251503363162645
+0.699556217501991 -0.724108109671761 -0.0183723722446517
+0.697466712523255 -0.72599147897204 -0.0229250383204169
+0.696942360113456 -0.72668860417945 -0.0156211150436881
+0.694989821842572 -0.7284607203029 -0.0195736177292381
+0.682986053214894 -0.739911661835367 -0.0104777761937892
+0.681969471111263 -0.74077945477401 -0.0145753167013126
+0.673077382524597 -0.748920176675972 -0.011593364544772
+0.667106793236223 -0.753894485950217 -0.0257027327718543
+0.672692686429172 -0.748860102078458 -0.0272414599415146
+0.667659324555026 -0.753246428340812 -0.0299974086637077
+0.665058195466311 -0.755742024497536 -0.0245069184407073
+0.653615539024901 -0.764906927949077 -0.0418702605758946
+0.656604458039289 -0.762888189154995 -0.0303512195923668
+0.640929428406697 -0.775935522581545 -0.0343879717106016
+0.66177536372251 -0.758553889198013 -0.0264265993368045
+0.668735620062509 -0.752870925048704 -0.00520006499191424
+0.642710755972711 -0.775221916919879 -0.00169224231515044
+0.636353247024788 -0.780246168535112 -0.017873485594196
+0.635961133882344 -0.780710818601097 -0.00964644547422817
+0.630237646238307 -0.785203682732101 -0.0174552538779731
+0.629758768962671 -0.785730133104107 -0.00900282438035125
+0.624010097267782 -0.790162182279765 -0.0174391571680747
+0.629467861207752 -0.786013533208665 -0.00139187620435597
+0.648504156177976 -0.770096163621108 0.0210536979161051
+0.645283376367103 -0.7727912121198 0.0212627997846621
+0.647899540319902 -0.770305470604745 0.0300776928912796
+0.636474201570397 -0.779477427410733 0.0369395572857944
+0.627874013560349 -0.783742910814439 0.0746342605224217
+0.624329676012829 -0.786269264301089 0.0777309440643832
+0.623142923185227 -0.787819477582699 0.0712907288887755
+0.613637496810507 -0.793696446336698 0.086856050915473
+0.586388716745866 -0.8121214975179 0.103227642336828
+0.543494901972509 -0.841531532756393 0.102405912459044
+0.524702681258096 -0.850960665696723 0.120838908127943
+0.520062836540858 -0.855016894367274 0.111936394419415
+0.522148083554539 -0.851400989096188 0.128556347981557
+0.512976340068839 -0.855256814025617 0.139427603408833
+0.497954357486667 -0.86248224731531 0.149046405276924
+0.502736495815539 -0.8707651538726 -0.0554352106186916
+0.526448508611973 -0.856634092324313 -0.0554887344235789
+0.539473650910976 -0.849255156242756 -0.0422239217491145
+0.55270707973018 -0.840552650656654 -0.0451123651586804
+0.562172255605394 -0.834773948619467 -0.034114655704069
+0.578985842865714 -0.823172028613909 -0.0348167354693284
+0.583911727253726 -0.819581897393086 -0.0371699911369242
+0.583220040937929 -0.819821551597806 -0.042379327320351
+0.58778864944597 -0.816580109270755 -0.0418381252668562
+0.609919865260199 -0.800808219824132 -0.0274399894877105
+0.595154783105657 -0.811421389455199 -0.0378828837478442
+0.590022565917683 -0.814964417869054 -0.0418971277687014
+0.577368194327425 -0.823893744472472 -0.043520868537024
+0.570749023198179 -0.82719336206794 -0.0636057722935744
+0.57403106266263 -0.826322460538182 -0.0415755975126901
+0.581050619287247 -0.821376538414178 -0.0420685151704827
+0.567863242043793 -0.830680004735892 -0.0393836015048229
+0.575819394654639 -0.825202877121781 -0.0390030297477035
+0.568438982679733 -0.83049509997817 -0.0346988743661787
+0.552691261463396 -0.840528594358912 -0.0457498805138446
+0.540150702143392 -0.848814535862388 -0.0424276169813869
+0.523297488279998 -0.858309157267049 -0.0592800920324338
+0.507063004856787 -0.868221279620853 -0.0559277991622658
+0.502669080891141 -0.870648387798314 -0.0578288849992063
+0.502719871325048 -0.87073635941041 -0.0560350191900739
+0.504009585047999 -0.869987019284246 -0.0560885412241835
+0.502728356704558 -0.870751056518849 -0.055729677340205
+0.80094803536884 -0.5847682668064 -0.174863714861128
+0.816737894812214 -0.570591127405186 -0.146335151293842
+0.820509280666016 -0.570162621694767 -0.125411742524721
+0.818485984024556 -0.578684359020067 -0.0961982670368264
+0.815362093028429 -0.584107924422841 -0.089730651835034
+0.799613662449995 -0.605840707726811 -0.087315678342336
+0.786714035650052 -0.625220333550313 -0.0650350722798419
+0.770452876733559 -0.646486724916189 -0.0500627530218083
+0.962285495466535 -0.239746337633232 0.174863714950176
+0.964747923829249 -0.232274502604309 0.171344678665767
+0.964815487590657 -0.235624864647516 0.166315958539889
+0.966996931379377 -0.22865967106537 0.163342246620846
+0.969643779128684 -0.226981578923821 0.149396467248368
+0.970892086656957 -0.221240704659863 0.149900322442971
+0.969448034824629 -0.229060613956757 0.14748133071144
+0.974276962497808 -0.215207172682477 0.136085536233869
+0.974897804563957 -0.216504550946419 0.12941812112632
+0.980789206642493 -0.194753014874108 0.119049549898494
+0.991866953958725 -0.152078169801376 0.0843870601129393
+0.995538766919991 -0.130729324787536 0.0765598275861397
+0.997447620861137 -0.107019000726744 0.0877164586717122
+1.00029855016807 -0.0702459407885849 0.0922893186364779
+1.00293444820113 -0.0347077809324027 0.0834677336114852
+1.00220617817252 -1.79982568197602e-10 0.0981416141747397
+0.964674319158275 0.229945948391106 -0.174863714861128
+0.959678798622968 0.236835354753707 -0.192287852482318
+0.956302217321991 0.232362912027506 -0.213406996743644
+0.956170884185089 0.212552334558968 -0.233683001757161
+0.948499292153329 0.19719487681278 -0.274794966008162
+0.937587143591955 0.195863620243062 -0.310832415356508
+0.90042636643951 0.2329029784362 -0.386053832070202
+0.872089030435275 0.232798098587556 -0.446446825824174
+0.833177263285331 0.257589592175103 -0.503499999947795
+0.748309311827654 0.447850336479268 -0.503499999947795
+0.74942847582489 0.455204728209603 -0.495171298681985
+0.746976000374249 0.473778425756663 -0.481258618782488
+0.758829690498016 0.492119702879924 -0.442769351757843
+0.758586059828668 0.489514587862027 -0.446062392613282
+0.763612227030906 0.486450283324894 -0.440807768286847
+0.748292425785894 0.533789240456755 -0.41131070042495
+0.75875743301424 0.54214005175543 -0.380026738701714
+0.775554653755076 0.536242857945884 -0.353564104994943
+0.780329189805399 0.538942440294794 -0.338639043210823
+0.776949965644077 0.541703449432895 -0.341987022792051
+0.76779620981708 0.564260321793027 -0.325804035334978
+0.766844500145976 0.574823980134881 -0.309153528942759
+0.74142548991307 0.618974299061816 -0.284970279166262
+0.740757499789378 0.621569344839883 -0.281031806137862
+0.759125808814049 0.63698218616721 -0.178971229246652
+0.762889212371808 0.633466298607174 -0.175412366085316
+0.763055527441716 0.633417668892817 -0.174863714861128
+0.817167478401607 0.561879874588622 -0.174863714861128
+0.808763912277931 0.565453139278472 -0.200530998793247
+0.808597616878195 0.559694942624922 -0.216703634438809
+0.796594593612924 0.562783539807417 -0.250520938742639
+0.804232684545042 0.554065776932622 -0.245499295195575
+0.815861197949338 0.550226602152629 -0.213705853837098
+0.814485570269969 0.556173240012471 -0.203306622902537
+0.822312555592495 0.554322777937101 -0.174863714861128
+0.642770256044187 0.642752306734265 -0.433318439640725
+0.621281597386715 0.668606705980416 -0.425468270810679
+0.62228706331047 0.726814874014855 -0.313923477534256
+0.625424137927918 0.73082479616405 -0.297974436837953
+0.621628152078703 0.736567084426353 -0.291712822280542
+0.628527998603246 0.739069166636847 -0.269774576078833
+0.625267563549515 0.74246597839998 -0.268018180150923
+0.620130205146459 0.743289866860179 -0.277502617083131
+0.61784109844718 0.748585016881271 -0.268219778484826
+0.631498411865003 0.750733900527422 -0.227282569527147
+0.642994108938872 0.744681955418898 -0.214607458266001
+0.642778272801144 0.746576211422827 -0.208588236850296
+0.648746666565205 0.738985915253493 -0.216971379858016
+0.645142329830455 0.737254242036387 -0.233016215874098
+0.650960811348844 0.729698796731366 -0.240496752861348
+0.656296259887707 0.726156548102249 -0.236687318852603
+0.652505610793523 0.725752605516195 -0.248130174443629
+0.656092024382629 0.722605014807847 -0.247859331307205
+0.657030405949335 0.716688797199339 -0.262139683426635
+0.658598220413676 0.717807700610043 -0.255048013152157
+0.662229030067691 0.711327627839619 -0.263656438585644
+0.659284672796582 0.712202012076568 -0.268628022011091
+0.662791158461036 0.708058543869316 -0.270942759119969
+0.663258710337201 0.710223343347391 -0.264044855519449
+0.668265875401844 0.70353118279597 -0.269283483725071
+0.666296739816775 0.702191621258337 -0.27753302784376
+0.671277484842254 0.699390563742355 -0.27255894351866
+0.690499670161307 0.677068396494955 -0.280780326901434
+0.691681435975705 0.666306182510038 -0.30275710111488
+0.675169660491924 0.663109916204101 -0.344209483575061
+0.680520813433664 0.645744993799339 -0.365997029314003
+0.67871108000852 0.638027903901994 -0.38251884099492
+0.656206355867772 0.634293418499762 -0.425574996641749
+0.642781474090313 0.642741088179067 -0.433318439640725
+0.642770256044187 0.642752306734265 -0.433318439640725
+0.740757499789378 0.621569344839883 -0.281031806137862
+0.736426654948971 0.636609074927925 -0.257786088841275
+0.747488912470177 0.636041461830223 -0.225301097571727
+0.745273437178441 0.63972709735758 -0.222184033500784
+0.752727426480656 0.639082382299235 -0.197545260784821
+0.75085792815366 0.64452070735839 -0.18669341047566
+0.759125808814049 0.63698218616721 -0.178971229246652
+-0.473822704336017 0.820684997803124 -0.34061294637255
+-0.460211987645263 0.827109495336554 -0.343720539321855
+-0.43296276920092 0.836055415990827 -0.357216435621705
+-0.425273404770598 0.841752219396772 -0.353050608745305
+-0.389795545723954 0.849584550964698 -0.374585802314872
+-0.383233394249868 0.847584328096522 -0.385722662410303
+-0.379951237088953 0.853785455117065 -0.375148575987061
+-0.364129750703718 0.841615404115183 -0.416103396054978
+-0.370457502709141 0.823113946959528 -0.446423194969991
+-0.366449596021554 0.828071801243242 -0.440523308760629
+-0.363493523790991 0.827198227207052 -0.444594816734877
+-0.362539303401605 0.8334252856899 -0.433608748368604
+-0.363930265642555 0.823660436714594 -0.45076296070159
+-0.355415438693378 0.831128606427752 -0.443795116597577
+-0.369954199891338 0.79820158277522 -0.489956246248472
+-0.368353204226539 0.790476227971855 -0.503499999947795
+-0.735425844016246 0.617095554559797 -0.303958721696762
+-0.73119758120948 0.622341931091674 -0.30346271276467
+-0.72752945828019 0.631607331754231 -0.292954033610794
+-0.704469746596395 0.664392828077779 -0.276321454341176
+-0.692919606945661 0.683049196285155 -0.259528830314619
+-0.704716266728551 0.67882724417384 -0.237944438841345
+-0.7039199535265 0.681907700263006 -0.231403516285446
+-0.710548071842031 0.675181140247647 -0.230869801956555
+-0.711915063690414 0.676480091228553 -0.22271198499875
+-0.719177415882215 0.67116025003951 -0.215352648583392
+-0.715564672599958 0.677528043378873 -0.207296767370141
+-0.707410480377852 0.682732846790564 -0.217934100509371
+-0.70891290072917 0.683514040177929 -0.210475784971567
+-0.703843961994139 0.687980650119485 -0.212920882549281
+-0.707617743155029 0.685441977702161 -0.208555567597543
+-0.698315278568796 0.693094049243166 -0.214535336532461
+-0.693551336510353 0.699679123726991 -0.20852977592021
+-0.685651871365614 0.706278794499265 -0.212369432201287
+-0.683842228897612 0.710220157144913 -0.204929583909694
+-0.678426713178735 0.714712701078824 -0.207296767370141
+-0.660801947104097 0.734590766235224 -0.194335258935122
+-0.657716527474816 0.736443265076161 -0.197760680648181
+-0.669193622504374 0.724614328840921 -0.202886594031972
+-0.668393183346176 0.722734622463265 -0.212024097567343
+-0.651501785468232 0.737347731700099 -0.214272597614403
+-0.649820759092509 0.740014008826532 -0.210145777480588
+-0.642779976867269 0.744352538835066 -0.21638437852189
+-0.644108162006545 0.741876475392485 -0.220891310140922
+-0.639711509528197 0.746997255034573 -0.216363780582535
+-0.640941954599596 0.7443224926031 -0.221870317616301
+-0.636124138344616 0.74873974105348 -0.220870733195883
+-0.633890213235149 0.746981825989006 -0.232917043616021
+-0.62700487492957 0.75210075233767 -0.235070936416362
+-0.618798285085126 0.75427630395653 -0.24940918119705
+-0.626070020836733 0.74614764351813 -0.255634549859431
+-0.619490138521286 0.748675297198661 -0.264133049123685
+-0.616345597616844 0.753295374326855 -0.258288953143758
+-0.612978559539231 0.753571006335486 -0.265399743699446
+-0.613630923433799 0.755261192631647 -0.259010850565002
+-0.606953227249359 0.76143405036721 -0.256661190819673
+-0.601322329384594 0.764144376397308 -0.261808762656745
+-0.602385016249527 0.760784203025622 -0.269051460922862
+-0.600030832782971 0.764477994552861 -0.263790438708855
+-0.597516846167334 0.764511615335096 -0.269341063642297
+-0.602675379574109 0.765121608592532 -0.255773944959177
+-0.593986038820307 0.776115132179303 -0.242641478912537
+-0.586962080743732 0.782470928711688 -0.239298477826454
+-0.582100956468693 0.783428182126303 -0.247886586826535
+-0.581859445282361 0.785305495425912 -0.242453840533752
+-0.576851077540004 0.78730176832802 -0.247886586826535
+-0.574640631508806 0.790663768994492 -0.242255957653442
+-0.571456778958067 0.788914665301721 -0.255146625795336
+-0.568404297277043 0.79352900358676 -0.247542471716663
+-0.560487733043845 0.796370133987287 -0.256314476377051
+-0.564481634513576 0.791169588670516 -0.26355296670652
+-0.555118759613731 0.797849218058459 -0.263303604169062
+-0.559825453078774 0.792134694308817 -0.270494155495868
+-0.552717631941529 0.798970267117321 -0.264950432351835
+-0.547218451475126 0.80039049741877 -0.27198532682279
+-0.548198296518153 0.797782607612155 -0.277615811304302
+-0.552270627331674 0.796094819654519 -0.274370538334416
+-0.54581950236019 0.797417950363943 -0.283292575406845
+-0.553812363187565 0.791631573942291 -0.284007601162812
+-0.545308913153549 0.796403581637025 -0.287103682301383
+-0.534604664192721 0.805956314835848 -0.280501821027255
+-0.532533161957389 0.804417312078369 -0.288739016144817
+-0.538595111639042 0.799372540401579 -0.291492448221996
+-0.536766009368495 0.797859260250699 -0.298917801441848
+-0.532374726444723 0.802229716887223 -0.295048524798808
+-0.530639824314267 0.799675997698167 -0.304940445918814
+-0.52506611690344 0.810945711132017 -0.284115516078459
+-0.512049354358564 0.813970979877462 -0.298840597339621
+-0.512388465169354 0.80836143445436 -0.313143500728154
+-0.490378327779682 0.812492582237987 -0.33679949443586
+-0.473822704336017 0.820684997803124 -0.34061294637255
+-0.548207957894132 0.82640166754824 -0.174863714861128
+-0.546090363083337 0.826462124104459 -0.18109299480724
+-0.554028409567941 0.82147367274121 -0.179673388081497
+-0.554071421069394 0.821444662755476 -0.179673388081497
+-0.561548943996338 0.817394925798762 -0.174863714861128
+-0.779214322134646 0.391614338645578 -0.503499999947795
+-0.791909967744675 0.392418669531433 -0.482633598902736
+-0.797517141147593 0.405934578253231 -0.461771077216992
+-0.808286494173005 0.408418843958951 -0.440358934548565
+-0.810387123125083 0.435072227804756 -0.409919342390741
+-0.806003377741317 0.450607764437967 -0.401696648850603
+-0.811966580588974 0.456250879442014 -0.382876490548896
+-0.80987428898474 0.455670524882106 -0.387965215960307
+-0.808210271091956 0.465830819593874 -0.379271413657776
+-0.805264863355895 0.46379620281814 -0.387931156387169
+-0.804856927128013 0.468212275380774 -0.383446987257443
+-0.802197203781762 0.470063059910404 -0.386741988866466
+-0.807951248993323 0.489833202010919 -0.348320561348104
+-0.792413189318568 0.529273539955744 -0.325576192767057
+-0.798402891322066 0.539381502288239 -0.292693385845747
+-0.795049778425512 0.548427145611369 -0.284907907545773
+-0.800342836708373 0.55319225812896 -0.259766566893771
+-0.795031744599113 0.566776653740113 -0.24645029895468
+-0.786810700893544 0.576427964414505 -0.250417097659803
+-0.78968719184272 0.583378525794254 -0.223858514874197
+-0.785402363426532 0.601920283752354 -0.186772855446136
+-0.780427806813769 0.606890465559878 -0.191482117087644
+-0.77706267730645 0.605384330843028 -0.209122948303316
+-0.770149204585295 0.610719196627347 -0.218954939536623
+-0.774189498201763 0.605363765954419 -0.219577621226722
+-0.764750366213337 0.609160279190061 -0.241100874394214
+-0.762848178263754 0.603174921228618 -0.261326752018468
+-0.741756950248993 0.6090909242114 -0.304719334471273
+-0.735425844016246 0.617095554559797 -0.303958721696762
+-0.837673432401959 0.530824737434952 -0.174863714861128
+-0.838200663838231 0.529376707299626 -0.176717143791299
+-0.855670471593508 0.499152374351854 -0.180897626357702
+-0.858650033742338 0.49171370858762 -0.187047449438077
+-0.865707009308187 0.482301618211678 -0.178844969470965
+-0.858648531831825 0.495641057817928 -0.176384921657655
+-0.858605275720555 0.495715987150558 -0.176384921657655
+-0.858015279875021 0.497274029812493 -0.174863714861128
+0.202561818662284 -0.970793691185307 -0.174863714861128
+0.211077569798973 -0.964691113382374 -0.197145416606208
+0.233634840094542 -0.951334036023472 -0.233296621058449
+0.22986325274212 -0.950068254813268 -0.242037592606778
+0.237076136765526 -0.944956424134428 -0.254757260668677
+0.248924125173874 -0.938359146927988 -0.267521758522555
+0.305450952908255 -0.91168027953833 -0.299312183628318
+0.32191736902898 -0.899426572559288 -0.318512241666959
+0.321714903626602 -0.889843526043586 -0.344567874217613
+0.31970470993874 -0.88110785388513 -0.36808538175935
+0.306291222320683 -0.871168207364651 -0.401622511329185
+0.30448066207154 -0.857448121156958 -0.431420034246068
+0.279391238038288 -0.83603059100917 -0.486869989837421
+0.280187709560034 -0.826686037886611 -0.502129507373187
+0.279097949921489 -0.82622096584521 -0.503499999947795
+0.559225085661622 -0.669181629768273 -0.503499999947795
+0.567984353243608 -0.669744160839072 -0.4928341845818
+0.583148166524987 -0.665234047320279 -0.481093419373438
+0.594167584001169 -0.670758198477259 -0.459453285218155
+0.594450757471032 -0.67932265340391 -0.446316064593676
+0.60368951813101 -0.678734039371322 -0.434658566575465
+0.600021700606211 -0.683976858213678 -0.431507376796477
+0.605829420678037 -0.677869005901886 -0.43302808670859
+0.617332085001097 -0.675401747404398 -0.420455201455856
+0.635139389274882 -0.666496050421381 -0.40795829561884
+0.646666911521665 -0.656057384414964 -0.406767272402325
+0.662407004585015 -0.648971354955341 -0.392558455168317
+0.67136119414755 -0.638368542588977 -0.39472617195418
+0.678611502538191 -0.634655850797583 -0.388261998747308
+0.677453946910525 -0.632864348084706 -0.393176635545237
+0.688720627245015 -0.620431625856476 -0.393417710893044
+0.691638406471961 -0.621923911832761 -0.38587039609636
+0.704801230456482 -0.612350488141254 -0.37726794883769
+0.706340400989928 -0.615550704431499 -0.369092899150434
+0.725379434373006 -0.608665616043297 -0.342636606385441
+0.725379434373006 -0.608665616043297 -0.342636606385441
+0.728716000767834 -0.607337233494614 -0.337880859233018
+0.735300200971562 -0.610436309891932 -0.317411603468907
+0.744131528971764 -0.605537617917678 -0.306008922871096
+0.764690783906839 -0.615838638465188 -0.223695722760376
+0.767109127982731 -0.614372486690768 -0.219406092356105
+0.768140997458751 -0.610394279598127 -0.226775729426581
+0.773485086690657 -0.605814273148449 -0.22081414609749
+0.80094803536884 -0.5847682668064 -0.174863714861128
+0.833177263285331 0.257589592175103 -0.503499999947795
+0.814056130167613 0.267654334833332 -0.5288882433761
+0.80594858930626 0.266963411771269 -0.541503839479179
+0.805530748045267 0.259370682266398 -0.545798555452738
+0.789332631111095 0.262574488032204 -0.56750122087786
+0.789593475943399 0.268659611919326 -0.564281096326094
+0.776857661542145 0.282753065054211 -0.574971197457507
+0.776857661542145 0.282753065054211 -0.574971197457507
+0.776644854222321 0.282979591644487 -0.575147216912948
+0.771174475653992 0.320312760706217 -0.562795401037137
+0.755760805197982 0.349849392713186 -0.566109536878431
+0.747556461635174 0.381088059558042 -0.556758679797437
+0.745116812789176 0.430354666338564 -0.523110692358246
+0.748309311827654 0.447850336479268 -0.503499999947795
+-0.368353204226539 0.790476227971855 -0.503499999947795
+-0.367374400923171 0.785973791288003 -0.511204703572555
+-0.372949612112132 0.768639739542786 -0.533057724473634
+-0.364962822640088 0.758404479446689 -0.552877729381258
+-0.354778679240043 0.760790665526792 -0.556218169429939
+-0.352944649487619 0.752498623845459 -0.568528711243991
+-0.369396512704759 0.736896657058651 -0.578427638704573
+-0.386052907236779 0.72749896386294 -0.579445778647476
+-0.416515489410087 0.724254879649593 -0.562155420133283
+-0.417741033258053 0.723548694109295 -0.562155420133283
+-0.417741033258053 0.723548694109295 -0.562155420133283
+-0.46144382842118 0.696452276448705 -0.562203539513423
+-0.475011984691328 0.698067494165124 -0.54873890693993
+-0.49985452539473 0.689077660280488 -0.537927905527105
+-0.565240154120474 0.646738307076335 -0.525625465830851
+-0.592003723973248 0.609153563561091 -0.540844272228736
+-0.587874004175644 0.607486969620149 -0.547186199530126
+-0.59290242372403 0.598976723290443 -0.551128479484063
+-0.591302886223016 0.580686413524009 -0.572025511575274
+-0.587345849674996 0.585033654042359 -0.571672525583837
+-0.592895230750883 0.573392781311137 -0.577706641551865
+-0.596068065262919 0.5769446509756 -0.570864897575918
+-0.625452600683355 0.567503836356251 -0.548450034204908
+-0.628991404243673 0.571255428090595 -0.540449858233493
+-0.623436374707882 0.56177823940975 -0.556580000015069
+-0.614010446119845 0.56360369382769 -0.565146926347027
+-0.608393486061022 0.558408725235863 -0.576269087925924
+-0.604210962339578 0.563120469427702 -0.576084585716546
+-0.599721781876716 0.562152845044212 -0.581693186440512
+-0.609830563109715 0.553698023841614 -0.579287651077751
+-0.620330438674855 0.556707938873029 -0.565080009953639
+-0.619758415257331 0.547006019790179 -0.575093836717999
+-0.609214977499812 0.546655723826458 -0.586577898320141
+-0.617437377068444 0.53879577171686 -0.585251400492876
+-0.619956967987084 0.529156525131947 -0.591350767104047
+-0.619257335567578 0.524741186527085 -0.596000033144203
+-0.619285366470571 0.526829550148061 -0.594125626417681
+-0.612237990561973 0.518481180348558 -0.608597493041996
+-0.612444536399522 0.513901984682267 -0.612262558036992
+-0.612444536399522 0.513901984682267 -0.612262558036992
+-0.612750601109664 0.503641485877789 -0.620428041389618
+-0.630804336424659 0.465800212038722 -0.631795102555035
+-0.650836349643329 0.456940448933635 -0.617791608968004
+-0.649620754997928 0.452912075951479 -0.6220229305526
+-0.644533550629688 0.45706488553401 -0.624273331581984
+-0.651768601471818 0.448149163663185 -0.623224692421167
+-0.648127147696943 0.447580596357763 -0.627416775502738
+-0.650892774674226 0.434485541585881 -0.633726999606069
+-0.653321452407158 0.436865384242568 -0.629578204733292
+-0.673719157030437 0.421444390374926 -0.618495047087448
+-0.668183606013454 0.426434466187089 -0.62107432301021
+-0.671791374044346 0.425378449936028 -0.617898473933729
+-0.691687795736779 0.399668126155989 -0.61309247439824
+-0.70928751245255 0.406985819724028 -0.587641699696707
+-0.719776311976892 0.401560768910469 -0.578549919703543
+-0.719850058720174 0.405565005703091 -0.575657814252194
+-0.73577013368025 0.404476331434078 -0.555958818343389
+-0.754095354350558 0.391838168373345 -0.540233325844239
+-0.754984070279767 0.395367511167118 -0.536407107277032
+-0.769060223834061 0.390757411946823 -0.519522874496326
+-0.779214322134646 0.391614338645578 -0.503499999947795
+-0.607264399130016 0.409620430229222 -0.691006550394485
+-0.610281090680864 0.398292729634019 -0.694959633272363
+-0.621768300299265 0.40074840447056 -0.683267075935365
+-0.622254227365446 0.388736996071504 -0.689733444463247
+-0.636556236999118 0.394573929522612 -0.673169051040381
+-0.635138880915241 0.391336246534559 -0.676390082790971
+-0.647299756817777 0.403253537160006 -0.65760064597869
+-0.632014872402003 0.416626246996953 -0.664099970919977
+-0.623244393175652 0.441542973500272 -0.65624326962465
+-0.61660821804762 0.435872433723381 -0.666227083625543
+-0.613665071887742 0.42087781251241 -0.678473320389079
+-0.612368231545163 0.426114424636216 -0.676373155965845
+-0.608854202861127 0.422282753201932 -0.681925828816109
+-0.607271548262715 0.409609831403639 -0.691006550394485
+-0.607264399130016 0.409620430229222 -0.691006550394485
+-0.756992798698023 0.0670670974917459 -0.660691234354874
+-0.753252252715281 0.0710043436953109 -0.66454377354374
+-0.750320504257786 0.0625050606434752 -0.668701172635653
+-0.755259541483347 0.0532765296025585 -0.663922914495254
+-0.779310796995798 0.0402418608781097 -0.636478023437448
+-0.780830629212684 0.0272126278801719 -0.635304652404796
+-0.79661652606616 0.0201227605004594 -0.615667268017493
+-0.797989284683663 0.0281034593178325 -0.613573383634285
+-0.792054738033461 0.039403104320646 -0.620601069390508
+-0.795059224548322 0.0550382139474593 -0.615549043103874
+-0.806883924618582 0.0635739926813412 -0.599120755479783
+-0.799251506269328 0.0618358345411224 -0.609444303683948
+-0.801985519486619 0.0749909330310288 -0.604354686005589
+-0.807625902778373 0.0725191611398462 -0.597101643297848
+-0.812365827950853 0.0807985050524862 -0.589561161508294
+-0.819081701643042 0.0812932293156255 -0.580125483754141
+-0.817019227268756 0.0843586648984964 -0.582590935330878
+-0.821583909701457 0.0950750331110351 -0.57446463546384
+-0.818993162248563 0.0971226605172823 -0.577811724529837
+-0.824642712435128 0.100566805768663 -0.569121880096981
+-0.823863637546125 0.105860914138423 -0.569290061029564
+-0.806176655113987 0.0840355756636399 -0.597550184312669
+-0.81002224984763 0.0863805232762528 -0.59198932418609
+-0.808311505595182 0.0777034010487589 -0.595519681780465
+-0.804153144214572 0.0781677983961992 -0.60106282196099
+-0.805795068551327 0.0824891292246822 -0.598279910291258
+-0.80002725110033 0.0771888837455848 -0.606668998485137
+-0.800493604882366 0.0709915324162231 -0.606810671352796
+-0.799987836879776 0.0764805202439564 -0.606810671352796
+-0.792652617203985 0.0696966387698221 -0.617165461593453
+-0.781093198397991 0.0739175736558395 -0.631251619975133
+-0.774888768116755 0.0848230627647668 -0.637496231416079
+-0.769223996864144 0.0665138100064417 -0.646466824923583
+-0.757033085493211 0.0670174013736594 -0.660650115705545
+-0.756992798698023 0.0670670974917459 -0.660691234354874
+-0.685706951345498 0.120908636441517 -0.727486136301108
+-0.692037796870819 0.112680714936098 -0.722797166695936
+-0.716022106488795 0.109285425020726 -0.699584189999593
+-0.718873786863875 0.0983072969871721 -0.69828730041371
+-0.722455373573503 0.105794077420915 -0.693480242240129
+-0.718896853104977 0.0982465432928104 -0.698272104073172
+-0.720841682217599 0.0874739789265305 -0.69769948558707
+-0.722771267979314 0.0932046451261528 -0.694955817524022
+-0.729104492752681 0.0923788255583987 -0.688419778359328
+-0.747633208112766 0.0749004769475343 -0.670435309839842
+-0.753786445002517 0.0749854425966313 -0.663499946291674
+-0.752468433598652 0.0803226973318786 -0.664370770527213
+-0.756297004232027 0.075288511284967 -0.660602362588989
+-0.750814338009782 0.0895956427393326 -0.665055975569769
+-0.75763122830307 0.0976596668147882 -0.656129950069044
+-0.759660063027293 0.0935706273500922 -0.65437766338612
+-0.754523919384607 0.104242518712847 -0.658692760222012
+-0.725693529802891 0.118199698080285 -0.688074655961074
+-0.711920316164959 0.135522779155006 -0.699179547585374
+-0.709370883895303 0.146000048234259 -0.69966130019974
+-0.692007496815058 0.160093314281357 -0.713824036492305
+-0.688598480528452 0.156862866976486 -0.717826701633357
+-0.68946105625016 0.16161007136379 -0.715943179832174
+-0.678096088148391 0.160595064980857 -0.72694148343704
+-0.681260889967213 0.149149329120631 -0.726420730309885
+-0.67822085645303 0.131709939568753 -0.732610375090958
+-0.685675220993712 0.120927720411632 -0.727512871192854
+-0.685706951345498 0.120908636441517 -0.727486136301108
+0.279097949921489 -0.82622096584521 -0.503499999947795
+0.271873620339714 -0.823033479640052 -0.512591090397566
+0.264408072559363 -0.795720896961071 -0.557642919174009
+0.232698526216967 -0.768552656636734 -0.607640691423039
+0.224916054276204 -0.768455844035415 -0.610685994842391
+0.224848525985887 -0.744452489928683 -0.639752007109753
+0.209971277411071 -0.730332156975373 -0.660738982617237
+0.214151711993269 -0.722315899402689 -0.668167483285767
+0.210044971162333 -0.721334537253529 -0.670527102699549
+0.221210056277528 -0.721338531495139 -0.666922659670616
+0.225507399830038 -0.718627895385513 -0.668408079391387
+0.229892171591661 -0.719610139394786 -0.665852713984922
+0.220528097810197 -0.716170595677031 -0.672693121686124
+0.226234793080147 -0.711157845454048 -0.6761074894195
+0.223344981815646 -0.707885871180551 -0.680487775408729
+0.219691041544473 -0.711641257093082 -0.677754798926634
+0.222878744740249 -0.706709029988395 -0.681862458327098
+0.219167708420875 -0.709155507439714 -0.680524049430631
+0.212451165992123 -0.699390780075212 -0.69265145550585
+0.215488431954326 -0.693558714358029 -0.697560065823656
+0.207734064363918 -0.691843341035297 -0.701604126247819
+0.215280426169297 -0.684865678341169 -0.70616027977978
+0.201337466141872 -0.680401561563307 -0.714538970070761
+0.209387626465259 -0.675253773966005 -0.717104011024839
+0.200693622254396 -0.677226473425604 -0.71772931783363
+0.198589052275667 -0.673575649225198 -0.721739033922307
+0.204140774688596 -0.673639087566035 -0.720129102184282
+0.195128156578627 -0.66461569064892 -0.73093090388455
+0.193842131858225 -0.670220600056542 -0.726139501181768
+0.186733214264945 -0.671517388047178 -0.726804034276488
+0.192340164973452 -0.670549013894268 -0.726235692391533
+0.18843853316056 -0.671921768971091 -0.725989707642647
+0.192469165849869 -0.674952836626768 -0.72211030218834
+0.187587889169792 -0.673270501170183 -0.724959734116917
+0.184885888718433 -0.677082425536826 -0.722098052332204
+0.180349998376787 -0.677376904923931 -0.722968468718497
+0.18602554082103 -0.673707791307818 -0.724956074595823
+0.181524164378481 -0.670663715095166 -0.728908882509634
+0.17140067091858 -0.668627266595122 -0.733217831462245
+0.174469950039356 -0.66494532901331 -0.735837581234233
+0.17260737203564 -0.668481965333097 -0.733067225528021
+0.1811463142832 -0.669916741951396 -0.729689366562813
+0.1801274906809 -0.665273315121952 -0.734176071039945
+0.187712302394425 -0.663891903109468 -0.733526163483943
+0.189421163793522 -0.65729825927298 -0.739004479731901
+0.181805644121751 -0.656192558285049 -0.741894220368913
+0.188458720403395 -0.653572698856501 -0.74254632044967
+0.17844206999865 -0.653618780206184 -0.744976454538247
+0.190133992314117 -0.651515888439873 -0.743925474813908
+0.194377822390986 -0.644908592596776 -0.748571419009157
+0.189641546921282 -0.647642253656059 -0.747425310623479
+0.191566208272775 -0.642063931681634 -0.75173485716808
+0.178311689295365 -0.649658908683461 -0.748463254828751
+0.186038841896685 -0.642064464292334 -0.753121353434317
+0.179134691045244 -0.641372272844099 -0.755381605607999
+0.182439841802172 -0.638471775812266 -0.757045900599382
+0.176114347483718 -0.631281140274582 -0.764537022350133
+0.180974685845441 -0.632717198370167 -0.762211328943457
+0.183268499650007 -0.624664802785932 -0.768280899929478
+0.176256457690593 -0.627851475168816 -0.767323390918526
+0.177656202234991 -0.622429830117177 -0.771406754175605
+0.243378571841202 -0.599789538405593 -0.771406754175605
+0.251833959886091 -0.610148489232574 -0.760491602672441
+0.277030036733512 -0.615414065851714 -0.747374662601891
+0.28110892532943 -0.623747941265257 -0.738894632452751
+0.270620083217378 -0.631221395670367 -0.736459992265278
+0.266009168864388 -0.646250839547654 -0.72501584428482
+0.277502236634998 -0.65213976260762 -0.715370700188825
+0.295399546033352 -0.648825233864325 -0.711205964615169
+0.304035874313985 -0.661995051731823 -0.695250845819486
+0.319425693694554 -0.663895475676784 -0.686483083246521
+0.313244582408167 -0.671112868260323 -0.682300776525525
+0.32075893942118 -0.669325649221622 -0.68056291265059
+0.322423509138896 -0.663769125015624 -0.685202619252549
+0.32967060647892 -0.663680803389215 -0.681831417900691
+0.330417352885903 -0.670462546814902 -0.67479874498279
+0.320267265048199 -0.670580592216866 -0.679558347958896
+0.315431582716406 -0.67789648375739 -0.674543011181933
+0.322459469372948 -0.691768723825849 -0.656905566537591
+0.334807256176431 -0.680118517956375 -0.662866429037128
+0.352774505427451 -0.67430802042541 -0.659475429345463
+0.362072172887852 -0.690055493743509 -0.637790057287405
+0.365335539925189 -0.687269834018494 -0.638935926768688
+0.364457871344144 -0.695398570617353 -0.630587256451189
+0.378063514858953 -0.68517174963943 -0.633763877345922
+0.39236032024102 -0.679588009766317 -0.631080435508994
+0.237126408940222 -0.602288706348851 -0.771406754175605
+0.236018898944559 -0.606232383412571 -0.768652311934929
+0.237494281908788 -0.602143741703663 -0.771406754175605
+0.39236032024102 -0.679588009766317 -0.631080435508994
+0.411446611611024 -0.671604011780998 -0.627462140016014
+0.425197447667885 -0.668661815587298 -0.62140768169714
+0.442554426929146 -0.672931006401585 -0.604448872799648
+0.445020951568879 -0.678253301715285 -0.596638761209028
+0.439332953612793 -0.686437766794844 -0.591471679953966
+0.445208598701999 -0.690775561249148 -0.581951396271826
+0.433181972310109 -0.708831149740885 -0.569175526549183
+0.441634740139793 -0.719075673378492 -0.549488791748227
+0.437488289433674 -0.711962083045332 -0.561927921458037
+0.441666597792813 -0.70287724144205 -0.57003789335178
+0.45969738382026 -0.685703534796776 -0.576661059614758
+0.485032777456627 -0.671303707677216 -0.572838141931499
+0.512668586605157 -0.670421415317909 -0.549322351803932
+0.523802356992379 -0.677085824871828 -0.530315827188728
+0.545635098160398 -0.67609225471037 -0.509146936331881
+0.545191917041518 -0.680608122156534 -0.503574580024797
+0.551296037409125 -0.67041890395208 -0.510548893212676
+0.523810470832739 -0.672525097064871 -0.536079830308761
+0.544787893899144 -0.66785695148908 -0.520790018153812
+0.559225085661622 -0.669181629768273 -0.503499999947795
+0.3246195445533 0.118151851674785 -0.945891796792755
+0.332856930408039 0.107222516803865 -0.944329707130716
+0.334610527437916 0.0935854885306508 -0.945159537466664
+0.343565473573787 0.0930981048363575 -0.941989654000455
+0.335667917638396 0.0771248881370361 -0.94627046910392
+0.344393431054745 0.00378997997202466 -0.94627046910392
+0.362093704115223 1.92865438883747e-06 -0.939647353764378
+0.362093704115223 1.92865438883747e-06 -0.939647353764378
+0.362093704120359 0 -0.939647353764378
+0.341316376095742 0.0460904622532402 -0.94627046910392
+0.341678413433949 0.0439637464481467 -0.946241010943566
+0.341607738937231 0.0438788331663464 -0.94627046910392
+0.269549286412428 0.214393053750345 -0.94627046910392
+0.278343287860743 0.216342029538749 -0.943276279972059
+0.279264717794444 0.210889980086415 -0.944238123406559
+0.304305861528667 0.2063614680682 -0.937476339507314
+0.304646075130285 0.19916197552507 -0.938921869173716
+0.29455122107878 0.193567892871195 -0.943302734550476
+0.298750526004201 0.186680047560184 -0.943370384872845
+0.309370351628019 0.185325249751332 -0.94020930506891
+0.304266250092181 0.16989119123604 -0.944779356355356
+0.306005585530683 0.15805625873679 -0.94627046910392
+0.273996097397345 0.22991002426081 -0.94133762240517
+0.268523195757722 0.215676824535942 -0.94627046910392
+0.322551465267638 0.120754923525077 -0.94627046910392
+0.3246195445533 0.118151851674785 -0.945891796792755
+0.193057757637807 0.334385845000886 -0.93003430521616
+0.198463170356414 0.331720776899078 -0.929850899975665
+0.217365384608324 0.329487961785916 -0.926411880651494
+0.218560613921564 0.337388596256244 -0.923281751773785
+0.243677970988185 0.331755270914998 -0.919025835695166
+0.257134645327772 0.311064398204697 -0.922588594305019
+0.246880759998265 0.3026463986393 -0.928172423493254
+0.259120643068088 0.300139079681413 -0.925646814494586
+0.259745748268107 0.291963877379361 -0.928083100030515
+0.253714823886213 0.294339372889478 -0.929000603717466
+0.255341681078603 0.285069037742022 -0.931442574518038
+0.267285720039963 0.283502853352157 -0.928565278267449
+0.265233272041629 0.275991014641271 -0.931412514001918
+0.278047758487672 0.241704080919159 -0.937185990754773
+0.273996097397345 0.22991002426081 -0.94133762240517
+0.065483028186605 0.371372707161541 -0.933725487172231
+0.0724640336379564 0.366914458543645 -0.934971520390082
+0.0758704132283936 0.351074747881858 -0.94076522140024
+0.0856300735575256 0.341366510750459 -0.943496367688074
+0.0894284379464528 0.346170446030264 -0.941391298441655
+0.0972083333082885 0.334865947249772 -0.944703306497832
+0.109175199125244 0.344293094196923 -0.939995766577846
+0.12241065276239 0.345246089099888 -0.938013736600652
+0.132711978384949 0.357529639124249 -0.931991999933925
+0.193057757637807 0.334385845000886 -0.93003430521616
+-0.0720354139481805 0.408533133612125 -0.917584098531776
+-0.0677652556552012 0.405314227804695 -0.919335220072128
+-0.043432161399222 0.422672305541931 -0.912968109784816
+-0.0395401962886203 0.405272213069466 -0.920999460472825
+-0.030622648051966 0.398595262824918 -0.924247299092521
+-0.0141320602615468 0.401494749009882 -0.923391169218255
+0.00323759784003397 0.396106257159043 -0.925817666173896
+0.0141614511785741 0.409216806643954 -0.919994596973613
+0.0442441411235188 0.39794362345596 -0.923976367948327
+0.0587508972339527 0.409246045531941 -0.918212941691999
+0.0604111889305214 0.400903108284293 -0.921778816213517
+0.0516826979534345 0.386885373451444 -0.928276686414988
+0.0571170962353289 0.376416075394336 -0.932254029491087
+0.065483028186605 0.371372707161541 -0.933725487172231
+-0.198279478301278 0.343430130563543 -0.925629512227047
+-0.183602776225001 0.348381021398134 -0.926806174176707
+-0.177112557795565 0.363134557693515 -0.922395487239529
+-0.166462198990773 0.366504697522679 -0.923045850974352
+-0.162593421217022 0.380734517862229 -0.917961658396014
+-0.149183027343162 0.382674147397879 -0.919431303179327
+-0.126134613883608 0.373313640132187 -0.926701670049045
+-0.0943998654081144 0.413165443728463 -0.913472485365373
+-0.0897105073868954 0.404758241727325 -0.917699183075909
+-0.0772380787302571 0.412320010115791 -0.915464629820384
+-0.0720354139481805 0.408533133612125 -0.917584098531776
+-0.305170987814269 0.256068863357278 -0.924850477328836
+-0.29227236849182 0.278580228133088 -0.922506866700459
+-0.297340317661606 0.299016071696346 -0.914454550188352
+-0.284513302860579 0.290738367999725 -0.921179885727115
+-0.261164165861536 0.316986510976219 -0.919435604231732
+-0.253409748083768 0.303160666119342 -0.926243008121626
+-0.243111579387459 0.308330221623841 -0.927296195614502
+-0.240435036604314 0.326678854529952 -0.92169459105285
+-0.229430977323656 0.337458052044671 -0.92061527781942
+-0.216329941259427 0.332737350474338 -0.925492416021877
+-0.215352510919633 0.355547245359741 -0.917201424092718
+-0.20685635706761 0.340232315627527 -0.924933197016654
+-0.198279478301278 0.343430130563543 -0.925629512227047
+-0.3294440247638 0.119907818900659 -0.944000926648865
+-0.332725085211473 0.126443567042389 -0.941995245223995
+-0.328490233719072 0.151310959472185 -0.939812832373977
+-0.333210033093259 0.165030135237075 -0.935833921328791
+-0.315273954040105 0.195013745802669 -0.93628039221802
+-0.323882488095535 0.198841080537308 -0.93252954837678
+-0.316040325810838 0.219612848918396 -0.930557740847566
+-0.32632439321217 0.214869068057691 -0.928112425294871
+-0.330001226027343 0.219210782589719 -0.925794158340208
+-0.319263283123949 0.226469545999861 -0.927810056414315
+-0.305170987814269 0.256068863357278 -0.924850477328836
+-0.325508939391727 0.112539458315385 -0.94627046910392
+-0.3294440247638 0.119907818900659 -0.944000926648865
+0.177656202234991 -0.622429830117177 -0.771406754175605
+0.178784984158568 -0.617876777563311 -0.774798823687413
+0.170043570079171 -0.621617232086651 -0.77377399868932
+0.177430075359951 -0.617226922244616 -0.775627806885623
+0.17484376691364 -0.611242150409128 -0.780936419137099
+0.181603197299044 -0.61584403569454 -0.77576117615554
+0.182889065275024 -0.61111199368167 -0.779193635100571
+0.172430193952114 -0.610901571068025 -0.781739150024006
+0.177849744742011 -0.606665478239348 -0.783821067468733
+0.173025680565782 -0.600681136849419 -0.789489256227112
+0.177053523440444 -0.593535843492012 -0.793987564340619
+0.178530906449212 -0.598984571011277 -0.789552530952095
+0.179345351804411 -0.592935671229137 -0.79392161739696
+0.179261731443374 -0.59990624418828 -0.788686712087782
+0.186307508138313 -0.594617085735456 -0.791055645174703
+0.178953985727886 -0.601285690105721 -0.787705522302713
+0.185351798575775 -0.603770049324036 -0.784318454649625
+0.18168630534864 -0.599655262343866 -0.788322683164749
+0.187509140972822 -0.593943861312933 -0.791277455549138
+0.180166793407102 -0.586296636709388 -0.798652102192602
+0.183756094953747 -0.592558135494431 -0.793194524455832
+0.179907998716457 -0.588012053968951 -0.797448391048007
+0.180943144864555 -0.591764479080453 -0.794432740781222
+0.173431423908006 -0.594591321149458 -0.793997293455704
+0.17085202448312 -0.584419812108325 -0.802067371824393
+0.180338882325302 -0.585873227047243 -0.798923932143048
+0.173510482918574 -0.580659470913661 -0.804224900855246
+0.173518205932993 -0.580648373238129 -0.804231247133379
+0.177079618172396 -0.578370845255487 -0.805095630460365
+0.179747129990654 -0.585258372200562 -0.799507727935929
+0.193753624967905 -0.580583527923166 -0.799644483452544
+0.193236558223198 -0.57250457523084 -0.805572556574396
+0.185079846699667 -0.56850286039833 -0.810307934099466
+0.187718286633655 -0.572800986544824 -0.806665900281276
+0.180723999564847 -0.572625669280426 -0.808385847762335
+0.190390795902659 -0.561936304352292 -0.81365099071189
+0.199670750213852 -0.576061889413341 -0.801456980177083
+0.218986096601751 -0.577000628748057 -0.795716258423488
+0.226964686087336 -0.571847227445745 -0.797199335004672
+0.224365393005139 -0.583487128913868 -0.789463071215811
+0.218138048258453 -0.586117139810662 -0.789260090415169
+0.22477575599647 -0.584158634843074 -0.788849509636972
+0.222230901324966 -0.592145583229838 -0.783598133457252
+0.23786373853648 -0.599582515567642 -0.773285619234592
+0.237126408940222 -0.602288706348851 -0.771406754175605
+0.222158624110395 -0.384790024431789 -0.903676481286948
+0.213944536809328 -0.385521723236612 -0.905345092261572
+0.191643079957081 -0.377194227133917 -0.913808757301773
+0.187255987601759 -0.381663596866995 -0.912862034446519
+0.185231863727973 -0.373917012021716 -0.916473799287581
+0.16838449850219 -0.371632507679229 -0.920643763841483
+0.163612728709302 -0.363223718373293 -0.924850477328836
+0.158681615627346 -0.366323151541638 -0.924487151617856
+0.154962394599578 -0.35615110220411 -0.929081292814984
+0.150550483702326 -0.36303083745811 -0.92714193245234
+0.146402210948928 -0.355656389263457 -0.930657791782428
+0.153593200793314 -0.353543872432616 -0.930303638031914
+0.14582508684824 -0.348708658136246 -0.933373620682801
+0.14841936884556 -0.342894824623782 -0.935117014174007
+0.127799075545252 -0.330237660884667 -0.942687373217231
+0.128095250236938 -0.323762780086438 -0.944890612239023
+0.122374211028731 -0.322355746311426 -0.946129127178262
+0.121632927591104 -0.343766781450612 -0.9386579946374
+0.11041329658128 -0.342356816293137 -0.940558192923586
+0.111925776821885 -0.337050418508466 -0.942294346722979
+0.106029193982106 -0.339377153287954 -0.942141156010961
+0.104326738123936 -0.33444055359666 -0.944094512123855
+0.0840518375272274 -0.339739426647627 -0.944225296520612
+0.0870373166788671 -0.333235209435003 -0.94627046910392
+0.228227255933361 -0.530549385409753 -0.824911309954265
+0.24522404816508 -0.528628177492406 -0.821259043275986
+0.224863424978702 -0.550105103429846 -0.812938998503138
+0.221823518314942 -0.570654096217842 -0.799498110812138
+0.204132006879864 -0.573934848512643 -0.801859035884718
+0.201159641486904 -0.565984484803619 -0.808235956635463
+0.211723054588843 -0.561137985632602 -0.808916874119804
+0.201427389156214 -0.555588540849832 -0.815351077864048
+0.210038846044162 -0.546115537503733 -0.819567265603895
+0.205162025124685 -0.544324222582805 -0.821990683740614
+0.206016771517102 -0.549700355887567 -0.818190447628639
+0.20182045378762 -0.547558537013279 -0.820668723040446
+0.192849381850976 -0.557828753256396 -0.815895335174869
+0.198531609023228 -0.549006279161746 -0.820503690216944
+0.192177488230113 -0.550373534901351 -0.821100350199509
+0.192974294867725 -0.554676545548132 -0.818012133980355
+0.180550787946147 -0.554328166894729 -0.821078983021216
+0.22824091004029 -0.530581126482965 -0.82488711664327
+0.228227255933361 -0.530549385409753 -0.824911309954265
+0.237494281908788 -0.602143741703663 -0.771406754175605
+0.238252759755784 -0.600013120364569 -0.772831726742067
+0.24329012993793 -0.59969174113174 -0.771510679312456
+0.243378571841202 -0.599789538405593 -0.771406754175605
+0.186828668488388 -0.323596746244171 -0.935109188518133
+0.193312642484901 -0.348386652741855 -0.924827531189914
+0.208177328218415 -0.360573709582857 -0.916895741059745
+0.16963956118024 -0.299739250990629 -0.94627046910392
+0.176880787839899 -0.306366511527401 -0.942815860869803
+0.208177328218415 -0.360573709582857 -0.916895741059745
+0.230489786176023 -0.377321466176409 -0.904738619508981
+0.24564226214594 -0.374509888275823 -0.901915307903938
+0.245016011573031 -0.381856867376839 -0.899000270806406
+0.222158624110395 -0.384790024431789 -0.903676481286948
+0.176880787839899 -0.306366511527401 -0.942815860869803
+0.192342060560626 -0.319769519333376 -0.935307963317213
+0.186742141285194 -0.323290488730431 -0.935232394950399
+0.186828668488388 -0.323596746244171 -0.935109188518133
+0.362093704120359 -6.50270934415914e-11 -0.939647353764378
+0.361691429211196 -0.00724795685463788 -0.939774322460768
+0.351167217432433 -0.00399629632171455 -0.943776782410158
+0.34424282286679 -0.0108663796432561 -0.94627046910392
+0.341607738937231 0.0438788331663464 -0.94627046910392
+0.336832315915375 0.0380975671094736 -0.94823075584766
+0.344221268764419 0.00382475541421307 -0.946332969612829
+0.344393431054745 0.00378997997202466 -0.94627046910392
+0.335667917638396 0.0771248881370361 -0.94627046910392
+0.334873972809855 0.0756421610825656 -0.946671371596978
+0.341316376095742 0.0460904622532402 -0.94627046910392
+0.268523195757722 0.215676824535942 -0.94627046910392
+0.267832937360702 0.213991204733139 -0.946848605618447
+0.269549286412428 0.214393053750345 -0.94627046910392
+0.306005585530683 0.15805625873679 -0.94627046910392
+0.307963229145152 0.137678631403151 -0.948816232971088
+0.322551465267638 0.120754923525077 -0.94627046910392
+-0.207210771512414 1.8606115002711e-11 -0.985450504170164
+-0.217619359918135 0.0234527384216949 -0.982924607103385
+-0.217622454807454 0.0511230361268069 -0.981873669236911
+-0.205818152862031 0.0486571426267164 -0.984540690080336
+-0.201991784320849 0.0558920130886729 -0.984948933671069
+-0.216541858935505 0.0690490268340282 -0.981015216610848
+-0.241427990983144 0.0747667709404747 -0.974767385140156
+-0.242215957862411 0.0659221209110098 -0.975210081844619
+-0.246578637649309 0.0731429185839468 -0.973600579763607
+-0.256554068706731 0.0733379923901455 -0.971004916929984
+-0.258299690381791 0.0669307197515928 -0.971004916929984
+-0.266235436131956 0.0721350172048977 -0.968485535173591
+-0.26814746528361 0.0661214374789195 -0.968387263633561
+-0.281610856265786 0.0619058571979359 -0.964837805269797
+-0.281985657388544 0.0540671269336424 -0.965199375679601
+-0.302919686851043 0.0546130233867958 -0.95880450614013
+-0.309949365806691 0.0484702700945114 -0.956886107931866
+-0.318049171474008 0.0538910623651744 -0.953933686333516
+-0.312157599144261 0.0532739689201018 -0.955912400553519
+-0.326349401255464 0.0776390576467911 -0.949482619655525
+-0.320743189320372 0.104191024137311 -0.94885037650507
+-0.325508939391727 0.112539458315385 -0.94627046910392
+-0.198593234030757 -0.0722820258914187 -0.984573530077991
+-0.197457136072421 -0.0569818737794546 -0.98580563270589
+-0.192242964653496 -0.0535088630150546 -0.987030113076633
+-0.202508026682956 -0.00843095146462111 -0.986391615022338
+-0.207210771512414 1.8606115002711e-11 -0.985450504170164
+-0.195348156589395 -0.163916566108789 -0.974176296710317
+-0.194437375007275 -0.161930133970931 -0.974690586243879
+-0.204988781175251 -0.137928582458404 -0.976219394262017
+-0.196597857601409 -0.136435618783372 -0.97815315994671
+-0.209361105553262 -0.111689826615195 -0.978643096390192
+-0.200128990202863 -0.113352064592671 -0.980381913711672
+-0.196645662808924 -0.103057470172421 -0.98222127911184
+-0.210933264361237 -0.0840301080943276 -0.981068345692372
+-0.198704967550728 -0.0771723397365067 -0.98417974265388
+-0.198593234030757 -0.0722820258914187 -0.984573530077991
+-0.140654290145956 -0.243620376767972 -0.966909759329674
+-0.167614548161214 -0.238164302685595 -0.963966870888723
+-0.176375733401745 -0.206838181018419 -0.96961774299978
+-0.191615196623712 -0.178016208337879 -0.972441692849428
+-0.200453718777954 -0.175756060916756 -0.971070086903677
+-0.195348156589395 -0.163916566108789 -0.974176296710317
+-0.054367516197058 -0.308333505952292 -0.957091229867733
+-0.0637054912668059 -0.305847551325307 -0.957312846320767
+-0.0725484866566725 -0.296301992688657 -0.959682679958619
+-0.0664427915665849 -0.283013654488949 -0.964125316969557
+-0.0538890313495178 -0.2799470245142 -0.965802586332143
+-0.0606273001985398 -0.278575773265515 -0.96579960085939
+-0.05177159835181 -0.254420077115735 -0.972953814918531
+-0.0685246187848096 -0.254599456405021 -0.971870615575275
+-0.0682771624186815 -0.247086817812365 -0.973825104192438
+-0.0711539835709794 -0.264184982724069 -0.969119396939853
+-0.0823072595044294 -0.260632817424918 -0.969198147704596
+-0.0853514244987614 -0.250145589811812 -0.971695074719293
+-0.113366126957789 -0.256090633746484 -0.967271786296858
+-0.135444049068062 -0.244347532616831 -0.967469995853161
+-0.140654290145956 -0.243620376767972 -0.966909759329674
+0.0512171303116576 -0.290466780226745 -0.962836878784432
+0.00877456576730657 -0.295124796360929 -0.96274262478012
+0.0104905297222356 -0.304215190245025 -0.959891695354393
+-0.0290874372662513 -0.29821074104652 -0.961391322468519
+-0.0352933317756499 -0.300664246501145 -0.960418862584483
+-0.0306659734480377 -0.304224454274917 -0.95945613734741
+-0.0360810838908971 -0.31231710603533 -0.956663567124292
+-0.054367516197058 -0.308333505952292 -0.957091229867733
+0.0870373166788671 -0.333235209435003 -0.94627046910392
+0.0913235667761614 -0.323161163809659 -0.949355501567493
+0.0830519479107246 -0.320630121900121 -0.95097197586393
+0.0944709476472281 -0.313218961556479 -0.952374990312175
+0.0792772898364531 -0.307250343477656 -0.955699397168926
+0.0926987448797906 -0.293984966224316 -0.958659888767543
+0.0894169183368121 -0.276378244362483 -0.964193279772401
+0.0669905401158506 -0.297042903151421 -0.95985768800503
+0.0573235601645415 -0.291722441304454 -0.962112793122216
+0.0581707576990482 -0.281167793561828 -0.965199375679601
+0.0531295867355609 -0.290107687546445 -0.96284151169326
+0.0512171303116576 -0.290466780226745 -0.962836878784432
+0.149388409318484 -0.258748315090937 -0.96165555819061
+0.165919695392087 -0.296246677575121 -0.948028248896993
+0.16963956118024 -0.299739250990629 -0.94627046910392
+0.127748424812123 -0.221266762437962 -0.974048438117039
+0.123069088344686 -0.23124504350826 -0.972331594337482
+0.144337516557155 -0.249999912201709 -0.964736090966463
+0.163393717441341 -0.137103608086162 -0.984151458745276
+0.161668310713588 -0.141022318807073 -0.983882646919484
+0.15650795861506 -0.140116234982664 -0.984846028364043
+0.158979902023235 -0.144934709908811 -0.983752164224471
+0.145733054503642 -0.147133612832644 -0.985475812387017
+0.127748424812123 -0.221266762437962 -0.974048438117039
+0.144337516557155 -0.249999912201709 -0.964736090966463
+0.145981215637713 -0.251345268568125 -0.964139015209608
+0.149388409318484 -0.258748315090937 -0.96165555819061
+0.268680906147238 -0.0977918524048735 -0.965554930739377
+0.262891528399763 -0.0977841521408195 -0.967148025839756
+0.225385700858761 -0.113283276106977 -0.974893422484158
+0.21555861291809 -0.109591022872906 -0.977534292034044
+0.190893127047888 -0.115918862355585 -0.981922416179642
+0.184634033846454 -0.122498769292393 -0.982320378016987
+0.169364190601948 -0.121400457109583 -0.985203887505186
+0.163393717441341 -0.137103608086162 -0.984151458745276
+0.34424282286679 -0.0108663796432561 -0.94627046910392
+0.340808307419012 -0.0141232192257496 -0.947469911011895
+0.33046037759765 -0.0456670637221275 -0.950136547096794
+0.333190149892457 -0.0528734796983622 -0.948808578776156
+0.314591388806013 -0.0680860368360581 -0.954172704324046
+0.302817331394194 -0.0692821199947228 -0.957888642617886
+0.299137289917232 -0.0807358399021095 -0.958148008366283
+0.286191555402019 -0.0895937516822013 -0.961309707261963
+0.285676057467169 -0.0973466573134252 -0.960709018641918
+0.268680906147238 -0.0977918524048735 -0.965554930739377
+object 2 class array type int rank 1 shape 2 items 4863 data follows
+0 1
+1 2
+2 3
+3 4
+4 5
+5 6
+6 7
+7 8
+8 9
+9 10
+10 11
+11 12
+12 13
+13 14
+14 15
+15 16
+16 17
+17 18
+18 19
+19 20
+20 21
+21 22
+22 23
+23 24
+24 25
+26 27
+27 28
+28 29
+29 30
+30 31
+31 32
+32 33
+33 34
+34 35
+35 36
+36 37
+37 38
+38 39
+39 40
+41 42
+42 43
+44 45
+45 46
+47 48
+48 49
+50 51
+51 52
+52 53
+53 54
+54 55
+55 56
+56 57
+57 58
+58 59
+59 60
+60 61
+61 62
+62 63
+63 64
+64 65
+65 66
+66 67
+67 68
+68 69
+70 71
+71 72
+72 73
+73 74
+74 75
+75 76
+76 77
+77 78
+78 79
+79 80
+80 81
+81 82
+82 83
+83 84
+85 86
+86 87
+87 88
+88 89
+89 90
+90 91
+91 92
+92 93
+93 94
+94 95
+95 96
+97 98
+98 99
+99 100
+100 101
+101 102
+102 103
+103 104
+104 105
+106 107
+107 108
+108 109
+109 110
+110 111
+111 112
+113 114
+114 115
+115 116
+116 117
+117 118
+118 119
+119 120
+120 121
+121 122
+122 123
+123 124
+124 125
+125 126
+126 127
+127 128
+128 129
+130 131
+131 132
+132 133
+133 134
+134 135
+135 136
+137 138
+138 139
+139 140
+140 141
+141 142
+142 143
+143 144
+144 145
+145 146
+146 147
+147 148
+148 149
+149 150
+150 151
+151 152
+152 153
+153 154
+154 155
+155 156
+156 157
+157 158
+158 159
+159 160
+160 161
+161 162
+162 163
+163 164
+165 166
+166 167
+167 168
+168 169
+169 170
+170 171
+171 172
+172 173
+173 174
+174 175
+175 176
+176 177
+177 178
+178 179
+179 180
+181 182
+182 183
+183 184
+184 185
+185 186
+187 188
+188 189
+190 191
+191 192
+193 194
+194 195
+195 196
+196 197
+197 198
+198 199
+200 201
+201 202
+202 203
+203 204
+204 205
+205 206
+206 207
+207 208
+208 209
+209 210
+210 211
+211 212
+212 213
+213 214
+214 215
+215 216
+217 218
+218 219
+219 220
+220 221
+221 222
+222 223
+223 224
+225 226
+226 227
+228 229
+229 230
+231 232
+232 233
+234 235
+236 237
+237 238
+238 239
+240 241
+241 242
+242 243
+243 244
+244 245
+245 246
+246 247
+247 248
+248 249
+249 250
+250 251
+251 252
+252 253
+254 255
+255 256
+256 257
+257 258
+258 259
+259 260
+260 261
+261 262
+262 263
+263 264
+265 266
+266 267
+267 268
+269 270
+270 271
+272 273
+273 274
+275 276
+276 277
+277 278
+278 279
+279 280
+280 281
+281 282
+282 283
+283 284
+284 285
+285 286
+286 287
+287 288
+288 289
+289 290
+290 291
+291 292
+292 293
+293 294
+294 295
+295 296
+296 297
+297 298
+298 299
+299 300
+300 301
+301 302
+303 304
+304 305
+305 306
+306 307
+307 308
+308 309
+309 310
+310 311
+311 312
+312 313
+313 314
+314 315
+315 316
+316 317
+317 318
+318 319
+319 320
+320 321
+321 322
+322 323
+323 324
+324 325
+325 326
+326 327
+327 328
+329 330
+330 331
+331 332
+332 333
+334 335
+335 336
+336 337
+337 338
+339 340
+340 341
+341 342
+342 343
+344 345
+345 346
+346 347
+347 348
+348 349
+349 350
+350 351
+351 352
+352 353
+353 354
+354 355
+355 356
+356 357
+357 358
+358 359
+359 360
+360 361
+361 362
+362 363
+363 364
+364 365
+365 366
+366 367
+367 368
+368 369
+369 370
+370 371
+371 372
+372 373
+373 374
+374 375
+375 376
+376 377
+377 378
+378 379
+380 381
+381 382
+382 383
+383 384
+384 385
+385 386
+386 387
+387 388
+388 389
+389 390
+390 391
+391 392
+392 393
+393 394
+394 395
+395 396
+396 397
+397 398
+398 399
+399 400
+400 401
+401 402
+402 403
+403 404
+404 405
+406 407
+407 408
+408 409
+409 410
+410 411
+411 412
+412 413
+413 414
+414 415
+415 416
+416 417
+417 418
+418 419
+419 420
+420 421
+421 422
+422 423
+423 424
+424 425
+425 426
+426 427
+427 428
+428 429
+429 430
+430 431
+432 433
+433 434
+434 435
+435 436
+436 437
+437 438
+438 439
+439 440
+440 441
+441 442
+442 443
+443 444
+444 445
+445 446
+446 447
+447 448
+448 449
+449 450
+450 451
+451 452
+452 453
+453 454
+455 456
+456 457
+457 458
+458 459
+459 460
+460 461
+461 462
+462 463
+463 464
+464 465
+465 466
+466 467
+467 468
+468 469
+469 470
+470 471
+471 472
+472 473
+473 474
+474 475
+476 477
+477 478
+478 479
+479 480
+480 481
+481 482
+482 483
+483 484
+484 485
+485 486
+487 488
+488 489
+489 490
+490 491
+491 492
+492 493
+493 494
+494 495
+495 496
+497 498
+498 499
+499 500
+500 501
+501 502
+502 503
+503 504
+505 506
+506 507
+507 508
+508 509
+509 510
+510 511
+512 513
+513 514
+514 515
+516 517
+517 518
+519 520
+520 521
+522 523
+523 524
+525 526
+526 527
+528 529
+529 530
+530 531
+531 532
+532 533
+533 534
+534 535
+535 536
+536 537
+537 538
+538 539
+539 540
+540 541
+541 542
+542 543
+543 544
+544 545
+545 546
+546 547
+547 548
+548 549
+549 550
+550 551
+551 552
+552 553
+553 554
+554 555
+555 556
+556 557
+557 558
+558 559
+560 561
+561 562
+562 563
+563 564
+564 565
+565 566
+566 567
+567 568
+568 569
+569 570
+570 571
+571 572
+572 573
+573 574
+574 575
+575 576
+576 577
+577 578
+578 579
+579 580
+580 581
+581 582
+582 583
+583 584
+584 585
+585 586
+586 587
+587 588
+589 590
+590 591
+591 592
+592 593
+593 594
+594 595
+595 596
+596 597
+597 598
+598 599
+599 600
+600 601
+601 602
+602 603
+603 604
+604 605
+605 606
+606 607
+607 608
+608 609
+609 610
+610 611
+611 612
+612 613
+613 614
+614 615
+616 617
+617 618
+618 619
+619 620
+621 622
+622 623
+623 624
+625 626
+626 627
+627 628
+629 630
+630 631
+632 633
+633 634
+635 636
+636 637
+638 639
+639 640
+641 642
+642 643
+643 644
+644 645
+645 646
+646 647
+647 648
+648 649
+649 650
+650 651
+651 652
+652 653
+653 654
+654 655
+655 656
+656 657
+657 658
+658 659
+659 660
+660 661
+661 662
+662 663
+663 664
+664 665
+665 666
+666 667
+667 668
+669 670
+670 671
+671 672
+672 673
+673 674
+674 675
+675 676
+676 677
+677 678
+678 679
+679 680
+680 681
+681 682
+682 683
+684 685
+685 686
+686 687
+688 689
+689 690
+690 691
+691 692
+692 693
+693 694
+694 695
+695 696
+696 697
+697 698
+698 699
+699 700
+700 701
+701 702
+702 703
+703 704
+704 705
+705 706
+706 707
+707 708
+708 709
+709 710
+710 711
+711 712
+712 713
+713 714
+714 715
+715 716
+716 717
+717 718
+718 719
+719 720
+720 721
+721 722
+722 723
+723 724
+724 725
+725 726
+726 727
+727 728
+728 729
+729 730
+730 731
+731 732
+732 733
+733 734
+734 735
+736 737
+737 738
+738 739
+739 740
+740 741
+741 742
+742 743
+743 744
+744 745
+745 746
+746 747
+747 748
+748 749
+749 750
+750 751
+751 752
+752 753
+754 755
+755 756
+756 757
+757 758
+758 759
+759 760
+761 762
+762 763
+763 764
+764 765
+766 767
+767 768
+768 769
+770 771
+771 772
+772 773
+774 775
+775 776
+776 777
+778 779
+779 780
+781 782
+782 783
+784 785
+785 786
+787 788
+788 789
+789 790
+790 791
+791 792
+793 794
+794 795
+795 796
+797 798
+798 799
+799 800
+801 802
+802 803
+803 804
+805 806
+806 807
+808 809
+809 810
+811 812
+812 813
+814 815
+815 816
+817 818
+818 819
+819 820
+820 821
+821 822
+822 823
+823 824
+824 825
+825 826
+826 827
+827 828
+828 829
+829 830
+830 831
+831 832
+832 833
+833 834
+834 835
+835 836
+836 837
+837 838
+838 839
+839 840
+840 841
+841 842
+842 843
+843 844
+844 845
+845 846
+846 847
+847 848
+848 849
+849 850
+850 851
+851 852
+852 853
+853 854
+854 855
+855 856
+856 857
+857 858
+858 859
+859 860
+860 861
+861 862
+862 863
+863 864
+864 865
+865 866
+866 867
+867 868
+868 869
+869 870
+870 871
+871 872
+872 873
+873 874
+874 875
+875 876
+876 877
+877 878
+878 879
+879 880
+880 881
+881 882
+882 883
+883 884
+884 885
+885 886
+886 887
+887 888
+888 889
+889 890
+890 891
+891 892
+892 893
+893 894
+894 895
+895 896
+896 897
+897 898
+898 899
+899 900
+900 901
+901 902
+902 903
+903 904
+904 905
+905 906
+906 907
+907 908
+908 909
+909 910
+910 911
+911 912
+912 913
+913 914
+914 915
+915 916
+916 917
+917 918
+918 919
+919 920
+920 921
+921 922
+922 923
+923 924
+924 925
+925 926
+926 927
+927 928
+928 929
+929 930
+930 931
+931 932
+933 934
+934 935
+935 936
+936 937
+937 938
+938 939
+939 940
+940 941
+941 942
+942 943
+943 944
+944 945
+945 946
+946 947
+947 948
+948 949
+949 950
+950 951
+951 952
+952 953
+953 954
+954 955
+955 956
+956 957
+957 958
+958 959
+959 960
+960 961
+961 962
+962 963
+963 964
+964 965
+965 966
+966 967
+967 968
+968 969
+969 970
+970 971
+972 973
+973 974
+974 975
+975 976
+976 977
+977 978
+978 979
+979 980
+980 981
+982 983
+983 984
+984 985
+986 987
+987 988
+989 990
+990 991
+992 993
+993 994
+995 996
+996 997
+997 998
+998 999
+999 1000
+1000 1001
+1001 1002
+1002 1003
+1003 1004
+1004 1005
+1005 1006
+1006 1007
+1007 1008
+1008 1009
+1009 1010
+1010 1011
+1011 1012
+1012 1013
+1013 1014
+1014 1015
+1015 1016
+1016 1017
+1017 1018
+1018 1019
+1019 1020
+1020 1021
+1021 1022
+1022 1023
+1023 1024
+1024 1025
+1025 1026
+1026 1027
+1027 1028
+1028 1029
+1030 1031
+1031 1032
+1032 1033
+1033 1034
+1034 1035
+1035 1036
+1036 1037
+1037 1038
+1038 1039
+1039 1040
+1040 1041
+1041 1042
+1042 1043
+1043 1044
+1044 1045
+1046 1047
+1047 1048
+1048 1049
+1049 1050
+1050 1051
+1051 1052
+1052 1053
+1053 1054
+1054 1055
+1055 1056
+1056 1057
+1057 1058
+1058 1059
+1060 1061
+1061 1062
+1063 1064
+1064 1065
+1066 1067
+1067 1068
+1069 1070
+1070 1071
+1072 1073
+1073 1074
+1075 1076
+1077 1078
+1078 1079
+1079 1080
+1080 1081
+1081 1082
+1082 1083
+1083 1084
+1084 1085
+1085 1086
+1086 1087
+1087 1088
+1088 1089
+1089 1090
+1090 1091
+1091 1092
+1092 1093
+1093 1094
+1094 1095
+1095 1096
+1096 1097
+1097 1098
+1098 1099
+1099 1100
+1100 1101
+1101 1102
+1102 1103
+1104 1105
+1105 1106
+1107 1108
+1108 1109
+1110 1111
+1111 1112
+1112 1113
+1113 1114
+1114 1115
+1115 1116
+1116 1117
+1117 1118
+1118 1119
+1119 1120
+1120 1121
+1121 1122
+1122 1123
+1123 1124
+1124 1125
+1125 1126
+1127 1128
+1128 1129
+1129 1130
+1130 1131
+1131 1132
+1132 1133
+1133 1134
+1134 1135
+1135 1136
+1136 1137
+1138 1139
+1139 1140
+1140 1141
+1141 1142
+1142 1143
+1143 1144
+1144 1145
+1145 1146
+1146 1147
+1147 1148
+1148 1149
+1149 1150
+1150 1151
+1151 1152
+1152 1153
+1153 1154
+1154 1155
+1155 1156
+1156 1157
+1157 1158
+1158 1159
+1159 1160
+1160 1161
+1161 1162
+1162 1163
+1163 1164
+1164 1165
+1165 1166
+1166 1167
+1168 1169
+1169 1170
+1171 1172
+1172 1173
+1173 1174
+1174 1175
+1175 1176
+1176 1177
+1177 1178
+1179 1180
+1180 1181
+1181 1182
+1182 1183
+1183 1184
+1184 1185
+1185 1186
+1186 1187
+1187 1188
+1188 1189
+1189 1190
+1190 1191
+1191 1192
+1193 1194
+1194 1195
+1195 1196
+1196 1197
+1197 1198
+1198 1199
+1199 1200
+1200 1201
+1202 1203
+1203 1204
+1205 1206
+1206 1207
+1207 1208
+1208 1209
+1209 1210
+1210 1211
+1211 1212
+1212 1213
+1213 1214
+1214 1215
+1215 1216
+1217 1218
+1218 1219
+1219 1220
+1220 1221
+1221 1222
+1222 1223
+1223 1224
+1224 1225
+1225 1226
+1226 1227
+1227 1228
+1228 1229
+1229 1230
+1230 1231
+1231 1232
+1232 1233
+1233 1234
+1234 1235
+1235 1236
+1236 1237
+1237 1238
+1238 1239
+1239 1240
+1241 1242
+1242 1243
+1243 1244
+1244 1245
+1245 1246
+1246 1247
+1247 1248
+1248 1249
+1250 1251
+1251 1252
+1252 1253
+1253 1254
+1254 1255
+1255 1256
+1257 1258
+1258 1259
+1259 1260
+1260 1261
+1261 1262
+1262 1263
+1263 1264
+1264 1265
+1265 1266
+1266 1267
+1267 1268
+1268 1269
+1269 1270
+1270 1271
+1271 1272
+1273 1274
+1274 1275
+1275 1276
+1276 1277
+1277 1278
+1278 1279
+1279 1280
+1280 1281
+1282 1283
+1283 1284
+1284 1285
+1285 1286
+1286 1287
+1287 1288
+1288 1289
+1289 1290
+1291 1292
+1292 1293
+1293 1294
+1294 1295
+1295 1296
+1296 1297
+1298 1299
+1299 1300
+1300 1301
+1302 1303
+1303 1304
+1305 1306
+1306 1307
+1307 1308
+1308 1309
+1309 1310
+1310 1311
+1311 1312
+1312 1313
+1313 1314
+1314 1315
+1315 1316
+1316 1317
+1317 1318
+1318 1319
+1319 1320
+1320 1321
+1321 1322
+1322 1323
+1323 1324
+1324 1325
+1325 1326
+1326 1327
+1327 1328
+1328 1329
+1329 1330
+1330 1331
+1331 1332
+1333 1334
+1334 1335
+1335 1336
+1336 1337
+1337 1338
+1338 1339
+1339 1340
+1340 1341
+1341 1342
+1342 1343
+1343 1344
+1345 1346
+1346 1347
+1347 1348
+1348 1349
+1349 1350
+1350 1351
+1351 1352
+1352 1353
+1353 1354
+1355 1356
+1356 1357
+1357 1358
+1359 1360
+1360 1361
+1362 1363
+1363 1364
+1365 1366
+1366 1367
+1367 1368
+1368 1369
+1369 1370
+1370 1371
+1371 1372
+1372 1373
+1373 1374
+1374 1375
+1375 1376
+1376 1377
+1377 1378
+1378 1379
+1379 1380
+1380 1381
+1381 1382
+1382 1383
+1383 1384
+1384 1385
+1385 1386
+1386 1387
+1387 1388
+1388 1389
+1389 1390
+1390 1391
+1391 1392
+1392 1393
+1393 1394
+1394 1395
+1395 1396
+1396 1397
+1397 1398
+1398 1399
+1399 1400
+1400 1401
+1401 1402
+1402 1403
+1403 1404
+1404 1405
+1406 1407
+1407 1408
+1408 1409
+1409 1410
+1410 1411
+1411 1412
+1412 1413
+1413 1414
+1414 1415
+1415 1416
+1416 1417
+1417 1418
+1418 1419
+1419 1420
+1420 1421
+1421 1422
+1422 1423
+1423 1424
+1424 1425
+1425 1426
+1426 1427
+1427 1428
+1428 1429
+1429 1430
+1430 1431
+1431 1432
+1433 1434
+1434 1435
+1435 1436
+1436 1437
+1437 1438
+1438 1439
+1439 1440
+1440 1441
+1441 1442
+1442 1443
+1443 1444
+1445 1446
+1446 1447
+1447 1448
+1448 1449
+1449 1450
+1450 1451
+1451 1452
+1452 1453
+1453 1454
+1454 1455
+1455 1456
+1456 1457
+1457 1458
+1458 1459
+1459 1460
+1460 1461
+1461 1462
+1462 1463
+1463 1464
+1464 1465
+1465 1466
+1466 1467
+1467 1468
+1468 1469
+1469 1470
+1470 1471
+1471 1472
+1472 1473
+1473 1474
+1474 1475
+1475 1476
+1476 1477
+1477 1478
+1478 1479
+1479 1480
+1480 1481
+1481 1482
+1482 1483
+1484 1485
+1485 1486
+1486 1487
+1487 1488
+1488 1489
+1489 1490
+1490 1491
+1492 1493
+1494 1495
+1495 1496
+1496 1497
+1497 1498
+1498 1499
+1499 1500
+1500 1501
+1501 1502
+1502 1503
+1503 1504
+1504 1505
+1505 1506
+1506 1507
+1507 1508
+1508 1509
+1509 1510
+1510 1511
+1511 1512
+1512 1513
+1513 1514
+1514 1515
+1515 1516
+1516 1517
+1517 1518
+1518 1519
+1519 1520
+1520 1521
+1521 1522
+1522 1523
+1523 1524
+1524 1525
+1525 1526
+1526 1527
+1527 1528
+1528 1529
+1529 1530
+1530 1531
+1531 1532
+1532 1533
+1533 1534
+1534 1535
+1535 1536
+1536 1537
+1537 1538
+1538 1539
+1539 1540
+1540 1541
+1541 1542
+1542 1543
+1543 1544
+1544 1545
+1545 1546
+1546 1547
+1547 1548
+1548 1549
+1549 1550
+1550 1551
+1551 1552
+1552 1553
+1553 1554
+1554 1555
+1555 1556
+1556 1557
+1557 1558
+1558 1559
+1559 1560
+1560 1561
+1561 1562
+1562 1563
+1563 1564
+1565 1566
+1566 1567
+1567 1568
+1568 1569
+1569 1570
+1570 1571
+1571 1572
+1573 1574
+1574 1575
+1575 1576
+1576 1577
+1577 1578
+1578 1579
+1580 1581
+1581 1582
+1582 1583
+1584 1585
+1585 1586
+1587 1588
+1588 1589
+1590 1591
+1591 1592
+1593 1594
+1594 1595
+1595 1596
+1596 1597
+1597 1598
+1598 1599
+1599 1600
+1600 1601
+1601 1602
+1602 1603
+1603 1604
+1604 1605
+1606 1607
+1607 1608
+1609 1610
+1610 1611
+1611 1612
+1612 1613
+1613 1614
+1614 1615
+1615 1616
+1616 1617
+1617 1618
+1618 1619
+1619 1620
+1620 1621
+1621 1622
+1622 1623
+1623 1624
+1624 1625
+1625 1626
+1626 1627
+1627 1628
+1628 1629
+1629 1630
+1630 1631
+1632 1633
+1633 1634
+1634 1635
+1635 1636
+1636 1637
+1637 1638
+1638 1639
+1639 1640
+1640 1641
+1641 1642
+1642 1643
+1643 1644
+1644 1645
+1645 1646
+1646 1647
+1648 1649
+1649 1650
+1650 1651
+1651 1652
+1652 1653
+1653 1654
+1654 1655
+1655 1656
+1656 1657
+1657 1658
+1658 1659
+1659 1660
+1660 1661
+1661 1662
+1662 1663
+1663 1664
+1664 1665
+1665 1666
+1667 1668
+1668 1669
+1669 1670
+1670 1671
+1671 1672
+1672 1673
+1674 1675
+1675 1676
+1676 1677
+1678 1679
+1679 1680
+1680 1681
+1681 1682
+1682 1683
+1683 1684
+1684 1685
+1685 1686
+1686 1687
+1687 1688
+1688 1689
+1689 1690
+1690 1691
+1691 1692
+1692 1693
+1693 1694
+1694 1695
+1695 1696
+1696 1697
+1697 1698
+1698 1699
+1699 1700
+1700 1701
+1701 1702
+1702 1703
+1703 1704
+1704 1705
+1705 1706
+1706 1707
+1707 1708
+1708 1709
+1709 1710
+1710 1711
+1711 1712
+1712 1713
+1713 1714
+1714 1715
+1715 1716
+1716 1717
+1717 1718
+1718 1719
+1719 1720
+1720 1721
+1721 1722
+1722 1723
+1723 1724
+1724 1725
+1725 1726
+1726 1727
+1727 1728
+1728 1729
+1729 1730
+1730 1731
+1731 1732
+1732 1733
+1733 1734
+1735 1736
+1736 1737
+1737 1738
+1738 1739
+1739 1740
+1740 1741
+1741 1742
+1742 1743
+1743 1744
+1744 1745
+1745 1746
+1746 1747
+1747 1748
+1748 1749
+1749 1750
+1750 1751
+1751 1752
+1752 1753
+1753 1754
+1754 1755
+1756 1757
+1757 1758
+1758 1759
+1759 1760
+1760 1761
+1761 1762
+1762 1763
+1763 1764
+1764 1765
+1765 1766
+1766 1767
+1767 1768
+1768 1769
+1769 1770
+1770 1771
+1772 1773
+1773 1774
+1775 1776
+1776 1777
+1778 1779
+1780 1781
+1781 1782
+1782 1783
+1783 1784
+1784 1785
+1785 1786
+1786 1787
+1787 1788
+1788 1789
+1789 1790
+1790 1791
+1791 1792
+1792 1793
+1793 1794
+1795 1796
+1796 1797
+1797 1798
+1798 1799
+1799 1800
+1800 1801
+1801 1802
+1802 1803
+1803 1804
+1804 1805
+1805 1806
+1806 1807
+1807 1808
+1808 1809
+1809 1810
+1810 1811
+1811 1812
+1812 1813
+1813 1814
+1814 1815
+1815 1816
+1816 1817
+1817 1818
+1818 1819
+1819 1820
+1820 1821
+1821 1822
+1822 1823
+1823 1824
+1824 1825
+1825 1826
+1826 1827
+1827 1828
+1828 1829
+1829 1830
+1830 1831
+1831 1832
+1832 1833
+1833 1834
+1834 1835
+1835 1836
+1836 1837
+1837 1838
+1838 1839
+1839 1840
+1840 1841
+1841 1842
+1842 1843
+1843 1844
+1844 1845
+1845 1846
+1846 1847
+1847 1848
+1848 1849
+1849 1850
+1850 1851
+1851 1852
+1852 1853
+1853 1854
+1854 1855
+1855 1856
+1856 1857
+1857 1858
+1858 1859
+1859 1860
+1860 1861
+1861 1862
+1862 1863
+1863 1864
+1864 1865
+1865 1866
+1866 1867
+1867 1868
+1868 1869
+1869 1870
+1870 1871
+1871 1872
+1872 1873
+1873 1874
+1874 1875
+1875 1876
+1876 1877
+1877 1878
+1878 1879
+1879 1880
+1880 1881
+1881 1882
+1882 1883
+1883 1884
+1884 1885
+1885 1886
+1886 1887
+1887 1888
+1888 1889
+1889 1890
+1890 1891
+1891 1892
+1893 1894
+1894 1895
+1895 1896
+1896 1897
+1897 1898
+1898 1899
+1899 1900
+1900 1901
+1901 1902
+1902 1903
+1903 1904
+1904 1905
+1905 1906
+1906 1907
+1907 1908
+1908 1909
+1909 1910
+1910 1911
+1911 1912
+1912 1913
+1913 1914
+1914 1915
+1915 1916
+1916 1917
+1917 1918
+1918 1919
+1919 1920
+1920 1921
+1921 1922
+1922 1923
+1923 1924
+1924 1925
+1925 1926
+1926 1927
+1927 1928
+1928 1929
+1929 1930
+1930 1931
+1931 1932
+1932 1933
+1933 1934
+1934 1935
+1935 1936
+1936 1937
+1937 1938
+1938 1939
+1939 1940
+1940 1941
+1941 1942
+1942 1943
+1943 1944
+1944 1945
+1945 1946
+1946 1947
+1947 1948
+1948 1949
+1949 1950
+1950 1951
+1951 1952
+1952 1953
+1953 1954
+1954 1955
+1955 1956
+1956 1957
+1957 1958
+1958 1959
+1959 1960
+1960 1961
+1961 1962
+1962 1963
+1963 1964
+1965 1966
+1966 1967
+1968 1969
+1969 1970
+1971 1972
+1972 1973
+1974 1975
+1975 1976
+1977 1978
+1978 1979
+1979 1980
+1980 1981
+1981 1982
+1982 1983
+1983 1984
+1984 1985
+1985 1986
+1986 1987
+1987 1988
+1988 1989
+1989 1990
+1990 1991
+1991 1992
+1992 1993
+1993 1994
+1994 1995
+1995 1996
+1996 1997
+1997 1998
+1998 1999
+1999 2000
+2000 2001
+2001 2002
+2002 2003
+2003 2004
+2004 2005
+2005 2006
+2006 2007
+2007 2008
+2008 2009
+2009 2010
+2010 2011
+2011 2012
+2012 2013
+2013 2014
+2014 2015
+2015 2016
+2016 2017
+2017 2018
+2018 2019
+2019 2020
+2020 2021
+2021 2022
+2022 2023
+2023 2024
+2024 2025
+2025 2026
+2026 2027
+2027 2028
+2028 2029
+2029 2030
+2030 2031
+2031 2032
+2032 2033
+2033 2034
+2034 2035
+2035 2036
+2036 2037
+2037 2038
+2038 2039
+2039 2040
+2040 2041
+2041 2042
+2042 2043
+2043 2044
+2044 2045
+2045 2046
+2046 2047
+2047 2048
+2048 2049
+2049 2050
+2050 2051
+2051 2052
+2052 2053
+2053 2054
+2054 2055
+2055 2056
+2056 2057
+2057 2058
+2058 2059
+2059 2060
+2060 2061
+2061 2062
+2062 2063
+2063 2064
+2064 2065
+2065 2066
+2066 2067
+2067 2068
+2068 2069
+2069 2070
+2070 2071
+2071 2072
+2072 2073
+2073 2074
+2074 2075
+2075 2076
+2076 2077
+2077 2078
+2078 2079
+2079 2080
+2080 2081
+2081 2082
+2082 2083
+2083 2084
+2084 2085
+2085 2086
+2086 2087
+2087 2088
+2088 2089
+2090 2091
+2091 2092
+2092 2093
+2093 2094
+2094 2095
+2095 2096
+2096 2097
+2097 2098
+2098 2099
+2099 2100
+2100 2101
+2101 2102
+2102 2103
+2103 2104
+2104 2105
+2106 2107
+2107 2108
+2108 2109
+2109 2110
+2110 2111
+2111 2112
+2112 2113
+2113 2114
+2114 2115
+2115 2116
+2116 2117
+2117 2118
+2118 2119
+2119 2120
+2121 2122
+2122 2123
+2123 2124
+2124 2125
+2125 2126
+2126 2127
+2128 2129
+2129 2130
+2131 2132
+2132 2133
+2133 2134
+2134 2135
+2135 2136
+2136 2137
+2137 2138
+2138 2139
+2139 2140
+2140 2141
+2141 2142
+2142 2143
+2143 2144
+2144 2145
+2145 2146
+2146 2147
+2147 2148
+2148 2149
+2149 2150
+2150 2151
+2152 2153
+2153 2154
+2154 2155
+2155 2156
+2156 2157
+2157 2158
+2158 2159
+2159 2160
+2160 2161
+2161 2162
+2162 2163
+2163 2164
+2164 2165
+2165 2166
+2166 2167
+2167 2168
+2168 2169
+2169 2170
+2171 2172
+2172 2173
+2174 2175
+2175 2176
+2176 2177
+2177 2178
+2178 2179
+2179 2180
+2180 2181
+2181 2182
+2182 2183
+2183 2184
+2184 2185
+2185 2186
+2186 2187
+2187 2188
+2188 2189
+2189 2190
+2190 2191
+2191 2192
+2192 2193
+2193 2194
+2194 2195
+2195 2196
+2196 2197
+2197 2198
+2198 2199
+2199 2200
+2200 2201
+2201 2202
+2202 2203
+2203 2204
+2204 2205
+2205 2206
+2206 2207
+2207 2208
+2208 2209
+2209 2210
+2210 2211
+2211 2212
+2212 2213
+2213 2214
+2214 2215
+2215 2216
+2216 2217
+2217 2218
+2219 2220
+2220 2221
+2221 2222
+2222 2223
+2223 2224
+2224 2225
+2225 2226
+2226 2227
+2227 2228
+2228 2229
+2229 2230
+2230 2231
+2231 2232
+2232 2233
+2233 2234
+2234 2235
+2235 2236
+2236 2237
+2237 2238
+2238 2239
+2239 2240
+2240 2241
+2241 2242
+2242 2243
+2243 2244
+2244 2245
+2245 2246
+2247 2248
+2248 2249
+2249 2250
+2250 2251
+2251 2252
+2252 2253
+2253 2254
+2254 2255
+2255 2256
+2256 2257
+2257 2258
+2258 2259
+2259 2260
+2260 2261
+2261 2262
+2262 2263
+2263 2264
+2265 2266
+2266 2267
+2267 2268
+2269 2270
+2270 2271
+2272 2273
+2273 2274
+2274 2275
+2275 2276
+2276 2277
+2277 2278
+2278 2279
+2279 2280
+2280 2281
+2281 2282
+2282 2283
+2283 2284
+2284 2285
+2285 2286
+2286 2287
+2287 2288
+2288 2289
+2289 2290
+2290 2291
+2291 2292
+2292 2293
+2293 2294
+2294 2295
+2295 2296
+2296 2297
+2297 2298
+2298 2299
+2299 2300
+2300 2301
+2301 2302
+2302 2303
+2303 2304
+2304 2305
+2305 2306
+2306 2307
+2307 2308
+2308 2309
+2310 2311
+2311 2312
+2312 2313
+2313 2314
+2314 2315
+2315 2316
+2316 2317
+2317 2318
+2318 2319
+2319 2320
+2320 2321
+2321 2322
+2322 2323
+2323 2324
+2324 2325
+2325 2326
+2326 2327
+2327 2328
+2328 2329
+2329 2330
+2331 2332
+2332 2333
+2333 2334
+2334 2335
+2335 2336
+2336 2337
+2338 2339
+2339 2340
+2340 2341
+2341 2342
+2342 2343
+2344 2345
+2345 2346
+2347 2348
+2348 2349
+2350 2351
+2351 2352
+2352 2353
+2353 2354
+2354 2355
+2355 2356
+2356 2357
+2357 2358
+2358 2359
+2359 2360
+2360 2361
+2361 2362
+2362 2363
+2363 2364
+2364 2365
+2365 2366
+2366 2367
+2367 2368
+2368 2369
+2369 2370
+2370 2371
+2371 2372
+2372 2373
+2373 2374
+2374 2375
+2375 2376
+2376 2377
+2377 2378
+2378 2379
+2379 2380
+2380 2381
+2381 2382
+2382 2383
+2383 2384
+2384 2385
+2385 2386
+2386 2387
+2387 2388
+2388 2389
+2389 2390
+2390 2391
+2391 2392
+2392 2393
+2393 2394
+2394 2395
+2395 2396
+2396 2397
+2397 2398
+2398 2399
+2399 2400
+2400 2401
+2401 2402
+2402 2403
+2403 2404
+2404 2405
+2405 2406
+2406 2407
+2407 2408
+2408 2409
+2409 2410
+2410 2411
+2411 2412
+2412 2413
+2413 2414
+2414 2415
+2415 2416
+2416 2417
+2417 2418
+2418 2419
+2419 2420
+2420 2421
+2421 2422
+2422 2423
+2423 2424
+2424 2425
+2425 2426
+2427 2428
+2428 2429
+2429 2430
+2430 2431
+2431 2432
+2432 2433
+2433 2434
+2434 2435
+2435 2436
+2436 2437
+2437 2438
+2438 2439
+2439 2440
+2440 2441
+2441 2442
+2442 2443
+2443 2444
+2444 2445
+2445 2446
+2446 2447
+2447 2448
+2448 2449
+2449 2450
+2450 2451
+2451 2452
+2452 2453
+2453 2454
+2454 2455
+2455 2456
+2456 2457
+2457 2458
+2458 2459
+2459 2460
+2460 2461
+2461 2462
+2462 2463
+2463 2464
+2464 2465
+2465 2466
+2466 2467
+2467 2468
+2468 2469
+2469 2470
+2470 2471
+2471 2472
+2472 2473
+2473 2474
+2474 2475
+2475 2476
+2476 2477
+2477 2478
+2479 2480
+2480 2481
+2481 2482
+2482 2483
+2483 2484
+2484 2485
+2486 2487
+2487 2488
+2488 2489
+2489 2490
+2490 2491
+2492 2493
+2493 2494
+2494 2495
+2495 2496
+2496 2497
+2497 2498
+2498 2499
+2499 2500
+2500 2501
+2501 2502
+2502 2503
+2503 2504
+2504 2505
+2505 2506
+2506 2507
+2507 2508
+2508 2509
+2509 2510
+2510 2511
+2511 2512
+2512 2513
+2513 2514
+2514 2515
+2515 2516
+2516 2517
+2517 2518
+2518 2519
+2519 2520
+2520 2521
+2521 2522
+2522 2523
+2523 2524
+2524 2525
+2525 2526
+2526 2527
+2527 2528
+2528 2529
+2529 2530
+2530 2531
+2531 2532
+2532 2533
+2533 2534
+2534 2535
+2535 2536
+2536 2537
+2538 2539
+2539 2540
+2540 2541
+2541 2542
+2542 2543
+2543 2544
+2544 2545
+2545 2546
+2546 2547
+2548 2549
+2549 2550
+2550 2551
+2551 2552
+2552 2553
+2553 2554
+2554 2555
+2555 2556
+2556 2557
+2557 2558
+2558 2559
+2560 2561
+2561 2562
+2562 2563
+2563 2564
+2564 2565
+2565 2566
+2567 2568
+2568 2569
+2569 2570
+2571 2572
+2572 2573
+2573 2574
+2574 2575
+2575 2576
+2576 2577
+2577 2578
+2578 2579
+2579 2580
+2580 2581
+2581 2582
+2582 2583
+2583 2584
+2584 2585
+2585 2586
+2586 2587
+2587 2588
+2588 2589
+2589 2590
+2590 2591
+2591 2592
+2592 2593
+2593 2594
+2594 2595
+2595 2596
+2596 2597
+2597 2598
+2598 2599
+2599 2600
+2600 2601
+2601 2602
+2602 2603
+2603 2604
+2604 2605
+2605 2606
+2606 2607
+2607 2608
+2608 2609
+2609 2610
+2610 2611
+2611 2612
+2612 2613
+2613 2614
+2614 2615
+2615 2616
+2616 2617
+2617 2618
+2618 2619
+2619 2620
+2620 2621
+2621 2622
+2623 2624
+2624 2625
+2625 2626
+2626 2627
+2627 2628
+2628 2629
+2629 2630
+2630 2631
+2631 2632
+2632 2633
+2633 2634
+2634 2635
+2635 2636
+2636 2637
+2637 2638
+2638 2639
+2639 2640
+2640 2641
+2641 2642
+2642 2643
+2643 2644
+2644 2645
+2645 2646
+2646 2647
+2647 2648
+2648 2649
+2649 2650
+2650 2651
+2651 2652
+2652 2653
+2653 2654
+2654 2655
+2656 2657
+2657 2658
+2658 2659
+2659 2660
+2660 2661
+2661 2662
+2662 2663
+2663 2664
+2664 2665
+2665 2666
+2666 2667
+2667 2668
+2668 2669
+2669 2670
+2670 2671
+2672 2673
+2673 2674
+2674 2675
+2675 2676
+2676 2677
+2677 2678
+2678 2679
+2679 2680
+2680 2681
+2681 2682
+2682 2683
+2683 2684
+2685 2686
+2686 2687
+2687 2688
+2688 2689
+2689 2690
+2690 2691
+2691 2692
+2692 2693
+2693 2694
+2695 2696
+2696 2697
+2697 2698
+2698 2699
+2699 2700
+2700 2701
+2701 2702
+2702 2703
+2703 2704
+2705 2706
+2706 2707
+2707 2708
+2709 2710
+2710 2711
+2711 2712
+2713 2714
+2714 2715
+2716 2717
+2717 2718
+2718 2719
+2719 2720
+2720 2721
+2721 2722
+2722 2723
+2723 2724
+2724 2725
+2725 2726
+2726 2727
+2727 2728
+2728 2729
+2729 2730
+2730 2731
+2731 2732
+2732 2733
+2733 2734
+2735 2736
+2736 2737
+2737 2738
+2738 2739
+2739 2740
+2740 2741
+2741 2742
+2742 2743
+2743 2744
+2744 2745
+2745 2746
+2747 2748
+2748 2749
+2749 2750
+2750 2751
+2751 2752
+2752 2753
+2753 2754
+2754 2755
+2755 2756
+2756 2757
+2757 2758
+2759 2760
+2760 2761
+2761 2762
+2763 2764
+2764 2765
+2766 2767
+2767 2768
+2769 2770
+2770 2771
+2771 2772
+2772 2773
+2773 2774
+2774 2775
+2775 2776
+2776 2777
+2777 2778
+2778 2779
+2779 2780
+2780 2781
+2781 2782
+2782 2783
+2783 2784
+2784 2785
+2785 2786
+2786 2787
+2787 2788
+2788 2789
+2789 2790
+2790 2791
+2791 2792
+2792 2793
+2793 2794
+2794 2795
+2795 2796
+2797 2798
+2798 2799
+2799 2800
+2800 2801
+2801 2802
+2802 2803
+2804 2805
+2805 2806
+2807 2808
+2808 2809
+2809 2810
+2810 2811
+2812 2813
+2813 2814
+2814 2815
+2816 2817
+2817 2818
+2818 2819
+2819 2820
+2820 2821
+2821 2822
+2822 2823
+2823 2824
+2824 2825
+2825 2826
+2826 2827
+2828 2829
+2829 2830
+2830 2831
+2831 2832
+2832 2833
+2834 2835
+2835 2836
+2837 2838
+2838 2839
+2839 2840
+2840 2841
+2841 2842
+2842 2843
+2843 2844
+2844 2845
+2845 2846
+2846 2847
+2847 2848
+2848 2849
+2849 2850
+2850 2851
+2851 2852
+2852 2853
+2853 2854
+2854 2855
+2855 2856
+2856 2857
+2857 2858
+2858 2859
+2859 2860
+2860 2861
+2861 2862
+2862 2863
+2863 2864
+2864 2865
+2865 2866
+2866 2867
+2867 2868
+2868 2869
+2869 2870
+2870 2871
+2871 2872
+2872 2873
+2873 2874
+2874 2875
+2875 2876
+2876 2877
+2877 2878
+2878 2879
+2879 2880
+2880 2881
+2881 2882
+2882 2883
+2883 2884
+2884 2885
+2886 2887
+2887 2888
+2888 2889
+2889 2890
+2890 2891
+2891 2892
+2892 2893
+2893 2894
+2894 2895
+2895 2896
+2896 2897
+2898 2899
+2899 2900
+2900 2901
+2901 2902
+2902 2903
+2903 2904
+2904 2905
+2905 2906
+2906 2907
+2907 2908
+2908 2909
+2909 2910
+2910 2911
+2911 2912
+2912 2913
+2913 2914
+2914 2915
+2915 2916
+2916 2917
+2917 2918
+2918 2919
+2919 2920
+2920 2921
+2921 2922
+2922 2923
+2923 2924
+2924 2925
+2925 2926
+2926 2927
+2927 2928
+2928 2929
+2929 2930
+2930 2931
+2931 2932
+2932 2933
+2933 2934
+2934 2935
+2935 2936
+2936 2937
+2937 2938
+2938 2939
+2939 2940
+2940 2941
+2941 2942
+2942 2943
+2943 2944
+2944 2945
+2945 2946
+2946 2947
+2947 2948
+2948 2949
+2949 2950
+2950 2951
+2951 2952
+2952 2953
+2953 2954
+2954 2955
+2955 2956
+2956 2957
+2957 2958
+2958 2959
+2959 2960
+2960 2961
+2961 2962
+2962 2963
+2963 2964
+2964 2965
+2965 2966
+2966 2967
+2967 2968
+2968 2969
+2969 2970
+2970 2971
+2971 2972
+2972 2973
+2973 2974
+2974 2975
+2975 2976
+2976 2977
+2977 2978
+2978 2979
+2979 2980
+2980 2981
+2981 2982
+2982 2983
+2983 2984
+2984 2985
+2985 2986
+2987 2988
+2988 2989
+2989 2990
+2991 2992
+2992 2993
+2994 2995
+2995 2996
+2996 2997
+2997 2998
+2998 2999
+2999 3000
+3000 3001
+3001 3002
+3002 3003
+3003 3004
+3004 3005
+3005 3006
+3006 3007
+3007 3008
+3008 3009
+3009 3010
+3010 3011
+3011 3012
+3012 3013
+3013 3014
+3014 3015
+3015 3016
+3016 3017
+3017 3018
+3018 3019
+3019 3020
+3020 3021
+3021 3022
+3022 3023
+3023 3024
+3024 3025
+3025 3026
+3026 3027
+3027 3028
+3028 3029
+3029 3030
+3030 3031
+3031 3032
+3032 3033
+3033 3034
+3034 3035
+3036 3037
+3037 3038
+3039 3040
+3040 3041
+3041 3042
+3042 3043
+3043 3044
+3044 3045
+3045 3046
+3046 3047
+3047 3048
+3048 3049
+3049 3050
+3050 3051
+3051 3052
+3052 3053
+3053 3054
+3054 3055
+3055 3056
+3056 3057
+3057 3058
+3058 3059
+3059 3060
+3060 3061
+3061 3062
+3062 3063
+3063 3064
+3064 3065
+3065 3066
+3066 3067
+3067 3068
+3068 3069
+3069 3070
+3070 3071
+3071 3072
+3073 3074
+3074 3075
+3075 3076
+3076 3077
+3077 3078
+3078 3079
+3079 3080
+3080 3081
+3081 3082
+3082 3083
+3083 3084
+3084 3085
+3086 3087
+3087 3088
+3088 3089
+3090 3091
+3091 3092
+3092 3093
+3093 3094
+3094 3095
+3095 3096
+3096 3097
+3097 3098
+3098 3099
+3099 3100
+3100 3101
+3101 3102
+3102 3103
+3103 3104
+3104 3105
+3105 3106
+3106 3107
+3107 3108
+3108 3109
+3109 3110
+3110 3111
+3111 3112
+3112 3113
+3113 3114
+3114 3115
+3116 3117
+3117 3118
+3118 3119
+3119 3120
+3120 3121
+3121 3122
+3122 3123
+3123 3124
+3124 3125
+3125 3126
+3126 3127
+3127 3128
+3128 3129
+3129 3130
+3130 3131
+3131 3132
+3132 3133
+3133 3134
+3134 3135
+3135 3136
+3136 3137
+3137 3138
+3138 3139
+3139 3140
+3140 3141
+3141 3142
+3142 3143
+3143 3144
+3144 3145
+3145 3146
+3146 3147
+3147 3148
+3148 3149
+3149 3150
+3150 3151
+3151 3152
+3152 3153
+3153 3154
+3155 3156
+3156 3157
+3157 3158
+3158 3159
+3159 3160
+3160 3161
+3161 3162
+3162 3163
+3163 3164
+3164 3165
+3165 3166
+3166 3167
+3167 3168
+3168 3169
+3169 3170
+3170 3171
+3171 3172
+3173 3174
+3174 3175
+3175 3176
+3176 3177
+3177 3178
+3178 3179
+3179 3180
+3181 3182
+3182 3183
+3183 3184
+3184 3185
+3185 3186
+3186 3187
+3187 3188
+3188 3189
+3189 3190
+3190 3191
+3191 3192
+3192 3193
+3193 3194
+3194 3195
+3195 3196
+3196 3197
+3197 3198
+3198 3199
+3199 3200
+3200 3201
+3201 3202
+3202 3203
+3203 3204
+3204 3205
+3205 3206
+3206 3207
+3208 3209
+3209 3210
+3210 3211
+3211 3212
+3213 3214
+3214 3215
+3215 3216
+3216 3217
+3217 3218
+3218 3219
+3219 3220
+3220 3221
+3221 3222
+3222 3223
+3223 3224
+3224 3225
+3225 3226
+3226 3227
+3227 3228
+3228 3229
+3229 3230
+3230 3231
+3231 3232
+3232 3233
+3233 3234
+3234 3235
+3235 3236
+3236 3237
+3237 3238
+3238 3239
+3239 3240
+3240 3241
+3241 3242
+3242 3243
+3243 3244
+3244 3245
+3245 3246
+3246 3247
+3247 3248
+3248 3249
+3249 3250
+3250 3251
+3251 3252
+3252 3253
+3253 3254
+3254 3255
+3255 3256
+3256 3257
+3257 3258
+3258 3259
+3259 3260
+3260 3261
+3261 3262
+3262 3263
+3263 3264
+3264 3265
+3265 3266
+3266 3267
+3267 3268
+3268 3269
+3269 3270
+3270 3271
+3271 3272
+3272 3273
+3274 3275
+3275 3276
+3277 3278
+3278 3279
+3280 3281
+3281 3282
+3283 3284
+3284 3285
+3285 3286
+3286 3287
+3287 3288
+3288 3289
+3289 3290
+3290 3291
+3291 3292
+3292 3293
+3293 3294
+3294 3295
+3295 3296
+3296 3297
+3297 3298
+3298 3299
+3299 3300
+3300 3301
+3301 3302
+3302 3303
+3303 3304
+3304 3305
+3305 3306
+3306 3307
+3307 3308
+3308 3309
+3309 3310
+3310 3311
+3311 3312
+3312 3313
+3313 3314
+3314 3315
+3315 3316
+3316 3317
+3317 3318
+3318 3319
+3319 3320
+3320 3321
+3321 3322
+3322 3323
+3323 3324
+3324 3325
+3325 3326
+3326 3327
+3327 3328
+3328 3329
+3329 3330
+3330 3331
+3331 3332
+3332 3333
+3333 3334
+3334 3335
+3335 3336
+3336 3337
+3337 3338
+3338 3339
+3339 3340
+3340 3341
+3341 3342
+3342 3343
+3343 3344
+3344 3345
+3345 3346
+3346 3347
+3347 3348
+3348 3349
+3349 3350
+3351 3352
+3352 3353
+3353 3354
+3354 3355
+3355 3356
+3356 3357
+3357 3358
+3358 3359
+3359 3360
+3360 3361
+3362 3363
+3363 3364
+3364 3365
+3365 3366
+3366 3367
+3367 3368
+3368 3369
+3369 3370
+3371 3372
+3372 3373
+3373 3374
+3375 3376
+3376 3377
+3378 3379
+3379 3380
+3381 3382
+3382 3383
+3383 3384
+3384 3385
+3385 3386
+3386 3387
+3387 3388
+3388 3389
+3389 3390
+3390 3391
+3391 3392
+3392 3393
+3393 3394
+3394 3395
+3395 3396
+3396 3397
+3397 3398
+3398 3399
+3399 3400
+3400 3401
+3401 3402
+3402 3403
+3403 3404
+3404 3405
+3405 3406
+3406 3407
+3407 3408
+3408 3409
+3409 3410
+3410 3411
+3411 3412
+3413 3414
+3414 3415
+3415 3416
+3416 3417
+3417 3418
+3418 3419
+3419 3420
+3420 3421
+3421 3422
+3422 3423
+3423 3424
+3424 3425
+3426 3427
+3427 3428
+3428 3429
+3429 3430
+3430 3431
+3431 3432
+3433 3434
+3434 3435
+3435 3436
+3436 3437
+3437 3438
+3438 3439
+3439 3440
+3440 3441
+3441 3442
+3442 3443
+3443 3444
+3444 3445
+3445 3446
+3446 3447
+3447 3448
+3448 3449
+3449 3450
+3450 3451
+3452 3453
+3453 3454
+3454 3455
+3455 3456
+3456 3457
+3457 3458
+3458 3459
+3459 3460
+3460 3461
+3461 3462
+3462 3463
+3463 3464
+3464 3465
+3465 3466
+3466 3467
+3467 3468
+3468 3469
+3469 3470
+3471 3472
+3472 3473
+3473 3474
+3474 3475
+3475 3476
+3476 3477
+3477 3478
+3478 3479
+3479 3480
+3480 3481
+3481 3482
+3482 3483
+3483 3484
+3484 3485
+3485 3486
+3486 3487
+3487 3488
+3488 3489
+3489 3490
+3490 3491
+3491 3492
+3492 3493
+3493 3494
+3494 3495
+3495 3496
+3496 3497
+3497 3498
+3498 3499
+3499 3500
+3500 3501
+3501 3502
+3502 3503
+3503 3504
+3504 3505
+3505 3506
+3506 3507
+3507 3508
+3508 3509
+3509 3510
+3510 3511
+3511 3512
+3512 3513
+3513 3514
+3514 3515
+3515 3516
+3516 3517
+3517 3518
+3518 3519
+3519 3520
+3520 3521
+3521 3522
+3522 3523
+3523 3524
+3524 3525
+3525 3526
+3526 3527
+3528 3529
+3529 3530
+3530 3531
+3531 3532
+3532 3533
+3533 3534
+3534 3535
+3535 3536
+3536 3537
+3537 3538
+3538 3539
+3539 3540
+3540 3541
+3541 3542
+3543 3544
+3544 3545
+3545 3546
+3546 3547
+3547 3548
+3548 3549
+3549 3550
+3550 3551
+3551 3552
+3552 3553
+3553 3554
+3554 3555
+3556 3557
+3557 3558
+3558 3559
+3559 3560
+3560 3561
+3561 3562
+3562 3563
+3563 3564
+3564 3565
+3565 3566
+3566 3567
+3568 3569
+3569 3570
+3571 3572
+3572 3573
+3574 3575
+3575 3576
+3576 3577
+3577 3578
+3578 3579
+3579 3580
+3580 3581
+3581 3582
+3582 3583
+3583 3584
+3584 3585
+3585 3586
+3586 3587
+3587 3588
+3588 3589
+3589 3590
+3590 3591
+3591 3592
+3592 3593
+3594 3595
+3595 3596
+3596 3597
+3597 3598
+3598 3599
+3599 3600
+3600 3601
+3601 3602
+3602 3603
+3603 3604
+3604 3605
+3605 3606
+3606 3607
+3607 3608
+3608 3609
+3609 3610
+3611 3612
+3612 3613
+3613 3614
+3614 3615
+3615 3616
+3616 3617
+3617 3618
+3618 3619
+3619 3620
+3620 3621
+3621 3622
+3622 3623
+3623 3624
+3625 3626
+3626 3627
+3627 3628
+3628 3629
+3629 3630
+3630 3631
+3631 3632
+3632 3633
+3633 3634
+3634 3635
+3635 3636
+3637 3638
+3638 3639
+3639 3640
+3640 3641
+3641 3642
+3642 3643
+3643 3644
+3644 3645
+3645 3646
+3646 3647
+3647 3648
+3648 3649
+3649 3650
+3650 3651
+3651 3652
+3652 3653
+3653 3654
+3654 3655
+3655 3656
+3656 3657
+3657 3658
+3658 3659
+3659 3660
+3660 3661
+3661 3662
+3662 3663
+3663 3664
+3664 3665
+3665 3666
+3666 3667
+3667 3668
+3668 3669
+3669 3670
+3670 3671
+3671 3672
+3672 3673
+3673 3674
+3674 3675
+3676 3677
+3677 3678
+3678 3679
+3679 3680
+3680 3681
+3681 3682
+3682 3683
+3683 3684
+3684 3685
+3685 3686
+3686 3687
+3687 3688
+3688 3689
+3689 3690
+3690 3691
+3691 3692
+3692 3693
+3693 3694
+3694 3695
+3695 3696
+3696 3697
+3697 3698
+3698 3699
+3699 3700
+3700 3701
+3701 3702
+3702 3703
+3703 3704
+3704 3705
+3705 3706
+3706 3707
+3707 3708
+3708 3709
+3709 3710
+3710 3711
+3711 3712
+3712 3713
+3713 3714
+3714 3715
+3715 3716
+3716 3717
+3717 3718
+3718 3719
+3719 3720
+3720 3721
+3721 3722
+3723 3724
+3724 3725
+3725 3726
+3726 3727
+3727 3728
+3728 3729
+3729 3730
+3731 3732
+3732 3733
+3733 3734
+3734 3735
+3735 3736
+3736 3737
+3737 3738
+3738 3739
+3739 3740
+3740 3741
+3741 3742
+3742 3743
+3743 3744
+3744 3745
+3745 3746
+3746 3747
+3747 3748
+3748 3749
+3749 3750
+3750 3751
+3751 3752
+3752 3753
+3754 3755
+3755 3756
+3756 3757
+3757 3758
+3758 3759
+3759 3760
+3760 3761
+3761 3762
+3762 3763
+3763 3764
+3765 3766
+3766 3767
+3767 3768
+3768 3769
+3769 3770
+3771 3772
+3772 3773
+3773 3774
+3774 3775
+3775 3776
+3776 3777
+3777 3778
+3778 3779
+3779 3780
+3781 3782
+3782 3783
+3783 3784
+3784 3785
+3785 3786
+3786 3787
+3787 3788
+3789 3790
+3790 3791
+3791 3792
+3793 3794
+3794 3795
+3796 3797
+3797 3798
+3798 3799
+3799 3800
+3800 3801
+3801 3802
+3802 3803
+3803 3804
+3804 3805
+3805 3806
+3806 3807
+3808 3809
+3809 3810
+3810 3811
+3811 3812
+3812 3813
+3813 3814
+3814 3815
+3816 3817
+3817 3818
+3818 3819
+3820 3821
+3821 3822
+3822 3823
+3824 3825
+3825 3826
+3826 3827
+3828 3829
+3829 3830
+3831 3832
+3832 3833
+3833 3834
+3834 3835
+3835 3836
+3836 3837
+3837 3838
+3838 3839
+3839 3840
+3840 3841
+3841 3842
+3842 3843
+3843 3844
+3844 3845
+3845 3846
+3846 3847
+3847 3848
+3848 3849
+3849 3850
+3850 3851
+3851 3852
+3852 3853
+3853 3854
+3854 3855
+3855 3856
+3856 3857
+3857 3858
+3858 3859
+3859 3860
+3860 3861
+3861 3862
+3862 3863
+3863 3864
+3864 3865
+3865 3866
+3866 3867
+3867 3868
+3868 3869
+3869 3870
+3870 3871
+3871 3872
+3872 3873
+3873 3874
+3874 3875
+3875 3876
+3876 3877
+3877 3878
+3878 3879
+3879 3880
+3880 3881
+3881 3882
+3882 3883
+3883 3884
+3884 3885
+3885 3886
+3886 3887
+3887 3888
+3888 3889
+3889 3890
+3891 3892
+3892 3893
+3893 3894
+3894 3895
+3895 3896
+3896 3897
+3897 3898
+3898 3899
+3899 3900
+3900 3901
+3901 3902
+3902 3903
+3903 3904
+3904 3905
+3905 3906
+3906 3907
+3907 3908
+3908 3909
+3909 3910
+3910 3911
+3911 3912
+3912 3913
+3913 3914
+3914 3915
+3915 3916
+3916 3917
+3918 3919
+3919 3920
+3920 3921
+3921 3922
+3922 3923
+3923 3924
+3924 3925
+3925 3926
+3926 3927
+3927 3928
+3928 3929
+3929 3930
+3930 3931
+3931 3932
+3932 3933
+3933 3934
+3934 3935
+3935 3936
+3937 3938
+3938 3939
+3939 3940
+3940 3941
+3941 3942
+3942 3943
+3943 3944
+3944 3945
+3945 3946
+3946 3947
+3947 3948
+3948 3949
+3949 3950
+3951 3952
+3952 3953
+3953 3954
+3954 3955
+3955 3956
+3956 3957
+3957 3958
+3958 3959
+3959 3960
+3960 3961
+3961 3962
+3962 3963
+3964 3965
+3965 3966
+3966 3967
+3967 3968
+3968 3969
+3969 3970
+3971 3972
+3972 3973
+3974 3975
+3975 3976
+3976 3977
+3977 3978
+3978 3979
+3979 3980
+3980 3981
+3981 3982
+3982 3983
+3983 3984
+3984 3985
+3985 3986
+3986 3987
+3987 3988
+3988 3989
+3989 3990
+3990 3991
+3991 3992
+3992 3993
+3993 3994
+3994 3995
+3995 3996
+3996 3997
+3997 3998
+3998 3999
+3999 4000
+4000 4001
+4001 4002
+4002 4003
+4003 4004
+4004 4005
+4005 4006
+4006 4007
+4007 4008
+4008 4009
+4009 4010
+4010 4011
+4011 4012
+4012 4013
+4013 4014
+4015 4016
+4016 4017
+4017 4018
+4018 4019
+4019 4020
+4020 4021
+4021 4022
+4022 4023
+4023 4024
+4024 4025
+4025 4026
+4026 4027
+4027 4028
+4028 4029
+4029 4030
+4030 4031
+4031 4032
+4032 4033
+4033 4034
+4034 4035
+4035 4036
+4036 4037
+4037 4038
+4038 4039
+4039 4040
+4040 4041
+4041 4042
+4042 4043
+4043 4044
+4045 4046
+4046 4047
+4047 4048
+4048 4049
+4049 4050
+4050 4051
+4051 4052
+4052 4053
+4053 4054
+4054 4055
+4055 4056
+4056 4057
+4057 4058
+4058 4059
+4059 4060
+4060 4061
+4061 4062
+4062 4063
+4063 4064
+4064 4065
+4065 4066
+4066 4067
+4067 4068
+4068 4069
+4069 4070
+4070 4071
+4071 4072
+4072 4073
+4074 4075
+4075 4076
+4076 4077
+4077 4078
+4079 4080
+4080 4081
+4081 4082
+4082 4083
+4083 4084
+4084 4085
+4085 4086
+4086 4087
+4087 4088
+4088 4089
+4089 4090
+4090 4091
+4091 4092
+4092 4093
+4093 4094
+4094 4095
+4095 4096
+4097 4098
+4098 4099
+4099 4100
+4100 4101
+4101 4102
+4102 4103
+4103 4104
+4104 4105
+4105 4106
+4106 4107
+4107 4108
+4108 4109
+4109 4110
+4110 4111
+4112 4113
+4113 4114
+4114 4115
+4115 4116
+4116 4117
+4117 4118
+4118 4119
+4119 4120
+4120 4121
+4121 4122
+4122 4123
+4123 4124
+4124 4125
+4125 4126
+4127 4128
+4128 4129
+4129 4130
+4130 4131
+4131 4132
+4132 4133
+4133 4134
+4134 4135
+4135 4136
+4136 4137
+4137 4138
+4138 4139
+4139 4140
+4141 4142
+4142 4143
+4143 4144
+4144 4145
+4145 4146
+4146 4147
+4148 4149
+4149 4150
+4150 4151
+4151 4152
+4152 4153
+4154 4155
+4155 4156
+4156 4157
+4157 4158
+4158 4159
+4160 4161
+4161 4162
+4162 4163
+4163 4164
+4165 4166
+4166 4167
+4168 4169
+4169 4170
+4171 4172
+4172 4173
+4173 4174
+4174 4175
+4175 4176
+4176 4177
+4177 4178
+4178 4179
+4179 4180
+4180 4181
+4181 4182
+4182 4183
+4183 4184
+4184 4185
+4186 4187
+4187 4188
+4188 4189
+4189 4190
+4190 4191
+4191 4192
+4192 4193
+4194 4195
+4195 4196
+4196 4197
+4197 4198
+4198 4199
+4199 4200
+4201 4202
+4202 4203
+4203 4204
+4204 4205
+4205 4206
+4207 4208
+4208 4209
+4209 4210
+4211 4212
+4212 4213
+4213 4214
+4215 4216
+4216 4217
+4218 4219
+4219 4220
+4221 4222
+4222 4223
+4223 4224
+4224 4225
+4225 4226
+4226 4227
+4227 4228
+4228 4229
+4229 4230
+4230 4231
+4231 4232
+4232 4233
+4233 4234
+4234 4235
+4235 4236
+4236 4237
+4237 4238
+4238 4239
+4239 4240
+4240 4241
+4241 4242
+4242 4243
+4243 4244
+4244 4245
+4245 4246
+4246 4247
+4247 4248
+4248 4249
+4249 4250
+4250 4251
+4251 4252
+4252 4253
+4253 4254
+4254 4255
+4255 4256
+4256 4257
+4257 4258
+4258 4259
+4259 4260
+4261 4262
+4262 4263
+4263 4264
+4264 4265
+4265 4266
+4266 4267
+4267 4268
+4268 4269
+4269 4270
+4271 4272
+4272 4273
+4273 4274
+4274 4275
+4275 4276
+4276 4277
+4277 4278
+4278 4279
+4279 4280
+4280 4281
+4281 4282
+4282 4283
+4283 4284
+4284 4285
+4285 4286
+4286 4287
+4287 4288
+4288 4289
+4289 4290
+4290 4291
+4291 4292
+4292 4293
+4293 4294
+4294 4295
+4295 4296
+4296 4297
+4297 4298
+4298 4299
+4299 4300
+4300 4301
+4301 4302
+4302 4303
+4303 4304
+4304 4305
+4305 4306
+4306 4307
+4307 4308
+4308 4309
+4309 4310
+4310 4311
+4311 4312
+4312 4313
+4313 4314
+4314 4315
+4315 4316
+4316 4317
+4317 4318
+4318 4319
+4319 4320
+4320 4321
+4321 4322
+4322 4323
+4324 4325
+4325 4326
+4326 4327
+4327 4328
+4328 4329
+4329 4330
+4330 4331
+4331 4332
+4332 4333
+4333 4334
+4334 4335
+4335 4336
+4336 4337
+4337 4338
+4338 4339
+4339 4340
+4340 4341
+4341 4342
+4342 4343
+4343 4344
+4344 4345
+4345 4346
+4346 4347
+4348 4349
+4349 4350
+4351 4352
+4352 4353
+4353 4354
+4354 4355
+4355 4356
+4356 4357
+4357 4358
+4359 4360
+4360 4361
+4361 4362
+4362 4363
+4363 4364
+4364 4365
+4365 4366
+4366 4367
+4367 4368
+4368 4369
+4369 4370
+4370 4371
+4371 4372
+4372 4373
+4373 4374
+4375 4376
+4376 4377
+4377 4378
+4378 4379
+4379 4380
+4380 4381
+4381 4382
+4382 4383
+4384 4385
+4385 4386
+4386 4387
+4387 4388
+4388 4389
+4389 4390
+4390 4391
+4391 4392
+4392 4393
+4393 4394
+4394 4395
+4395 4396
+4396 4397
+4397 4398
+4399 4400
+4400 4401
+4402 4403
+4403 4404
+4404 4405
+4405 4406
+4406 4407
+4407 4408
+4408 4409
+4410 4411
+4411 4412
+4412 4413
+4413 4414
+4414 4415
+4415 4416
+4416 4417
+4417 4418
+4418 4419
+4419 4420
+4420 4421
+4421 4422
+4422 4423
+4423 4424
+4424 4425
+4425 4426
+4426 4427
+4427 4428
+4428 4429
+4429 4430
+4430 4431
+4431 4432
+4432 4433
+4433 4434
+4434 4435
+4435 4436
+4436 4437
+4437 4438
+4438 4439
+4439 4440
+4440 4441
+4441 4442
+4442 4443
+4443 4444
+4445 4446
+4446 4447
+4447 4448
+4448 4449
+4449 4450
+4450 4451
+4452 4453
+4453 4454
+4454 4455
+4455 4456
+4456 4457
+4457 4458
+4458 4459
+4459 4460
+4460 4461
+4461 4462
+4462 4463
+4463 4464
+4464 4465
+4465 4466
+4466 4467
+4468 4469
+4469 4470
+4470 4471
+4471 4472
+4472 4473
+4473 4474
+4474 4475
+4475 4476
+4476 4477
+4477 4478
+4478 4479
+4479 4480
+4480 4481
+4481 4482
+4482 4483
+4483 4484
+4484 4485
+4485 4486
+4486 4487
+4487 4488
+4488 4489
+4489 4490
+4490 4491
+4491 4492
+4492 4493
+4493 4494
+4494 4495
+4495 4496
+4496 4497
+4497 4498
+4498 4499
+4499 4500
+4500 4501
+4501 4502
+4502 4503
+4503 4504
+4504 4505
+4505 4506
+4506 4507
+4507 4508
+4508 4509
+4509 4510
+4510 4511
+4511 4512
+4512 4513
+4513 4514
+4514 4515
+4515 4516
+4516 4517
+4517 4518
+4518 4519
+4519 4520
+4520 4521
+4521 4522
+4522 4523
+4523 4524
+4524 4525
+4525 4526
+4526 4527
+4527 4528
+4528 4529
+4529 4530
+4530 4531
+4531 4532
+4532 4533
+4533 4534
+4534 4535
+4535 4536
+4536 4537
+4537 4538
+4538 4539
+4539 4540
+4540 4541
+4541 4542
+4543 4544
+4544 4545
+4545 4546
+4546 4547
+4548 4549
+4549 4550
+4550 4551
+4551 4552
+4552 4553
+4553 4554
+4554 4555
+4555 4556
+4556 4557
+4557 4558
+4558 4559
+4559 4560
+4560 4561
+4561 4562
+4562 4563
+4563 4564
+4564 4565
+4565 4566
+4566 4567
+4567 4568
+4568 4569
+4569 4570
+4570 4571
+4571 4572
+4572 4573
+4573 4574
+4574 4575
+4575 4576
+4577 4578
+4578 4579
+4579 4580
+4580 4581
+4581 4582
+4582 4583
+4583 4584
+4585 4586
+4586 4587
+4587 4588
+4588 4589
+4589 4590
+4590 4591
+4591 4592
+4592 4593
+4593 4594
+4594 4595
+4595 4596
+4596 4597
+4597 4598
+4598 4599
+4600 4601
+4601 4602
+4602 4603
+4603 4604
+4604 4605
+4605 4606
+4606 4607
+4607 4608
+4608 4609
+4609 4610
+4610 4611
+4611 4612
+4612 4613
+4613 4614
+4614 4615
+4615 4616
+4616 4617
+4617 4618
+4618 4619
+4620 4621
+4621 4622
+4622 4623
+4623 4624
+4624 4625
+4625 4626
+4626 4627
+4627 4628
+4629 4630
+4630 4631
+4631 4632
+4632 4633
+4633 4634
+4634 4635
+4636 4637
+4637 4638
+4638 4639
+4639 4640
+4640 4641
+4641 4642
+4643 4644
+4644 4645
+4645 4646
+4646 4647
+4647 4648
+4648 4649
+4649 4650
+4650 4651
+4651 4652
+4653 4654
+4654 4655
+4655 4656
+4656 4657
+4657 4658
+4658 4659
+4659 4660
+4660 4661
+4661 4662
+4662 4663
+4663 4664
+4664 4665
+4665 4666
+4666 4667
+4667 4668
+4668 4669
+4669 4670
+4670 4671
+4671 4672
+4672 4673
+4673 4674
+4674 4675
+4675 4676
+4676 4677
+4677 4678
+4678 4679
+4679 4680
+4680 4681
+4682 4683
+4683 4684
+4684 4685
+4685 4686
+4686 4687
+4687 4688
+4688 4689
+4689 4690
+4690 4691
+4691 4692
+4692 4693
+4693 4694
+4694 4695
+4695 4696
+4696 4697
+4697 4698
+4698 4699
+4699 4700
+4700 4701
+4701 4702
+4702 4703
+4704 4705
+4705 4706
+4706 4707
+4707 4708
+4708 4709
+4709 4710
+4710 4711
+4711 4712
+4712 4713
+4713 4714
+4714 4715
+4715 4716
+4716 4717
+4717 4718
+4719 4720
+4720 4721
+4721 4722
+4722 4723
+4723 4724
+4724 4725
+4725 4726
+4726 4727
+4727 4728
+4728 4729
+4729 4730
+4730 4731
+4731 4732
+4732 4733
+4733 4734
+4734 4735
+4735 4736
+4736 4737
+4737 4738
+4738 4739
+4739 4740
+4740 4741
+4741 4742
+4742 4743
+4743 4744
+4744 4745
+4745 4746
+4746 4747
+4747 4748
+4748 4749
+4749 4750
+4750 4751
+4751 4752
+4752 4753
+4754 4755
+4755 4756
+4756 4757
+4757 4758
+4758 4759
+4759 4760
+4760 4761
+4761 4762
+4762 4763
+4763 4764
+4764 4765
+4765 4766
+4766 4767
+4767 4768
+4768 4769
+4769 4770
+4770 4771
+4771 4772
+4772 4773
+4773 4774
+4774 4775
+4775 4776
+4776 4777
+4777 4778
+4778 4779
+4779 4780
+4780 4781
+4782 4783
+4783 4784
+4784 4785
+4785 4786
+4786 4787
+4787 4788
+4788 4789
+4789 4790
+4790 4791
+4791 4792
+4792 4793
+4793 4794
+4794 4795
+4795 4796
+4796 4797
+4797 4798
+4798 4799
+4799 4800
+4800 4801
+4801 4802
+4802 4803
+4803 4804
+4804 4805
+4805 4806
+4806 4807
+4807 4808
+4808 4809
+4809 4810
+4810 4811
+4811 4812
+4812 4813
+4813 4814
+4814 4815
+4815 4816
+4816 4817
+4817 4818
+4818 4819
+4819 4820
+4820 4821
+4821 4822
+4822 4823
+4823 4824
+4824 4825
+4825 4826
+4826 4827
+4827 4828
+4828 4829
+4829 4830
+4830 4831
+4831 4832
+4832 4833
+4833 4834
+4834 4835
+4835 4836
+4836 4837
+4837 4838
+4838 4839
+4839 4840
+4840 4841
+4841 4842
+4843 4844
+4844 4845
+4845 4846
+4846 4847
+4847 4848
+4848 4849
+4849 4850
+4850 4851
+4851 4852
+4852 4853
+4853 4854
+4854 4855
+4855 4856
+4856 4857
+4857 4858
+4858 4859
+4859 4860
+4860 4861
+4861 4862
+4862 4863
+4863 4864
+4864 4865
+4865 4866
+4866 4867
+4868 4869
+4869 4870
+4871 4872
+4872 4873
+4873 4874
+4874 4875
+4875 4876
+4876 4877
+4877 4878
+4878 4879
+4879 4880
+4880 4881
+4881 4882
+4882 4883
+4883 4884
+4884 4885
+4885 4886
+4886 4887
+4887 4888
+4888 4889
+4889 4890
+4890 4891
+4892 4893
+4893 4894
+4894 4895
+4895 4896
+4897 4898
+4898 4899
+4899 4900
+4901 4902
+4902 4903
+4904 4905
+4905 4906
+4906 4907
+4907 4908
+4908 4909
+4909 4910
+4910 4911
+4911 4912
+4912 4913
+4914 4915
+4916 4917
+4918 4919
+4919 4920
+4920 4921
+4921 4922
+4922 4923
+4923 4924
+4924 4925
+4925 4926
+4926 4927
+4927 4928
+4928 4929
+4929 4930
+4930 4931
+4931 4932
+4933 4934
+4934 4935
+4935 4936
+4936 4937
+4937 4938
+4938 4939
+4939 4940
+4940 4941
+4941 4942
+4943 4944
+4944 4945
+4945 4946
+4946 4947
+4947 4948
+4948 4949
+4949 4950
+4950 4951
+4951 4952
+4952 4953
+4953 4954
+4954 4955
+4955 4956
+4957 4958
+4958 4959
+4959 4960
+4960 4961
+4961 4962
+4962 4963
+4963 4964
+4964 4965
+4965 4966
+4966 4967
+4968 4969
+4969 4970
+4970 4971
+4971 4972
+4972 4973
+4973 4974
+4974 4975
+4975 4976
+4976 4977
+4977 4978
+4978 4979
+4979 4980
+4981 4982
+4982 4983
+4983 4984
+4984 4985
+4985 4986
+4986 4987
+4987 4988
+4988 4989
+4989 4990
+4990 4991
+4992 4993
+4994 4995
+4995 4996
+4996 4997
+4997 4998
+4998 4999
+4999 5000
+5000 5001
+5001 5002
+5002 5003
+5003 5004
+5004 5005
+5005 5006
+5006 5007
+5007 5008
+5008 5009
+5009 5010
+5010 5011
+5011 5012
+5012 5013
+5013 5014
+5014 5015
+5015 5016
+5016 5017
+5017 5018
+5018 5019
+5019 5020
+5020 5021
+5021 5022
+5022 5023
+5023 5024
+5024 5025
+5025 5026
+5026 5027
+5027 5028
+5028 5029
+5029 5030
+5030 5031
+5031 5032
+5032 5033
+5033 5034
+5034 5035
+5035 5036
+5036 5037
+5037 5038
+5039 5040
+5040 5041
+5041 5042
+5042 5043
+5043 5044
+5044 5045
+5045 5046
+5046 5047
+5047 5048
+5048 5049
+5049 5050
+5050 5051
+5051 5052
+5052 5053
+5053 5054
+5054 5055
+5055 5056
+5056 5057
+5057 5058
+5058 5059
+5059 5060
+5060 5061
+5061 5062
+5063 5064
+5064 5065
+5065 5066
+5066 5067
+5067 5068
+5068 5069
+5069 5070
+5070 5071
+5071 5072
+5072 5073
+5073 5074
+5074 5075
+5075 5076
+5076 5077
+5077 5078
+5078 5079
+5079 5080
+5080 5081
+5082 5083
+5083 5084
+5084 5085
+5086 5087
+5087 5088
+5089 5090
+5091 5092
+5092 5093
+5093 5094
+5094 5095
+5096 5097
+5097 5098
+5098 5099
+5100 5101
+5101 5102
+5102 5103
+5104 5105
+5105 5106
+5106 5107
+5108 5109
+5109 5110
+5111 5112
+5112 5113
+5114 5115
+5115 5116
+5117 5118
+5118 5119
+5119 5120
+5120 5121
+5121 5122
+5122 5123
+5123 5124
+5124 5125
+5125 5126
+5126 5127
+5127 5128
+5128 5129
+5129 5130
+5130 5131
+5131 5132
+5132 5133
+5133 5134
+5134 5135
+5135 5136
+5136 5137
+5137 5138
+5139 5140
+5140 5141
+5141 5142
+5142 5143
+5144 5145
+5145 5146
+5146 5147
+5147 5148
+5148 5149
+5149 5150
+5150 5151
+5151 5152
+5152 5153
+5154 5155
+5155 5156
+5156 5157
+5157 5158
+5158 5159
+5160 5161
+5161 5162
+5162 5163
+5163 5164
+5164 5165
+5165 5166
+5166 5167
+5167 5168
+5168 5169
+5169 5170
+5170 5171
+5171 5172
+5172 5173
+5173 5174
+5175 5176
+5176 5177
+5177 5178
+5178 5179
+5179 5180
+5180 5181
+5181 5182
+5183 5184
+5184 5185
+5185 5186
+5186 5187
+5187 5188
+5188 5189
+5189 5190
+5190 5191
+5191 5192
+5192 5193
+5193 5194
+5195 5196
+5196 5197
+5198 5199
+5199 5200
+5201 5202
+5202 5203
+5203 5204
+5204 5205
+5205 5206
+5207 5208
+5208 5209
+5210 5211
+5211 5212
+5212 5213
+5213 5214
+5214 5215
+5215 5216
+5216 5217
+5218 5219
+5219 5220
+5220 5221
+5221 5222
+5222 5223
+5223 5224
+5224 5225
+5225 5226
+5226 5227
+attribute "element type" string "lines"
+attribute "ref" string "positions"
+object 3 class array type float rank 0 items 5228 data follows
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+255.
+attribute "dep" string "positions"
+object "irregular connections  irregular positions" class field
+component "positions" value 1
+component "connections" value 2
+component "data" value 3
+end

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/GMT_globe_palette_cropped.dat
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/GMT_globe_palette_cropped.dat	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/GMT_globe_palette_cropped.dat	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,38 @@
+-8180 153 0 255
+-7200 136 17 255
+-7000 119 34 255
+-6700 102 51 255
+-6300 85 68 255
+-6000 68 85 255
+-5800 51 102 255
+-5500 34 119 255
+-5000 17 136 255
+-4500 0 153 255
+-4000 27 164 255
+-3500 54 175 255
+-3000 81 186 255
+-2500 108 197 255
+-2000 134 208 255
+-1500 161 219 255
+-1000 188 230 255
+-500 215 241 255
+-200 241 252 255
+-198 241 252 255
+-1 241 252 255
+0 51 102 0
+1 51 102 0
+98 51 204 102
+100 51 204 102
+200 187 228 146
+500 255 220 185
+1000 243 202 137
+1500 230 184 88
+2000 217 166 39
+2500 168 154 31
+3000 164 144 25
+3500 162 134 19
+4000 159 123 13
+4500 156 113 7
+5000 153 102 0
+5500 162 89 89
+5606 178 118 118

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/GMT_globe_palette_opaque.cm
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/GMT_globe_palette_opaque.cm	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/GMT_globe_palette_opaque.cm	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,122 @@
+  -8180.000    
+   5606.000    
+          38
+  0.0000000E+00  0.7666667      0 0 0
+  7.1086608E-02  0.7500000      0 0 0
+  8.5594080E-02  0.7307693      0 0 0
+  0.1073553      0.7083333      0 0 0
+  0.1363702      0.6818182      0 0 0
+  0.1581314      0.6515151      0 0 0
+  0.1726389      0.6250000      0 0 0
+  0.1944001      0.6025641      0 0 0
+  0.2306688      0.5833333      0 0 0
+  0.2669375      0.5666667      0 0 0
+  0.3032061      0.5665205      0 0 0
+  0.3394748      0.5663350      0 0 0
+  0.3757435      0.5660919      0 0 0
+  0.4120122      0.5657596      0 0 0
+  0.4482809      0.5647383      0 0 0
+  0.4845496      0.5638298      0 0 0
+  0.5208182      0.5621890      0 0 0
+  0.5570869      0.5583333      0 0 0
+  0.5788481      0.5357143      0 0 0
+  0.5789932      0.5357143      0 0 0
+  0.5932831      0.5357143      0 0 0
+  0.5933556      0.2500000      0 0 0
+  0.5934281      0.2500000      0 0 0
+  0.6004642      0.3888889      0 0 0
+  0.6006093      0.3888889      0 0 0
+  0.6078631      0.2500000      0 0 0
+  0.6296242      8.3333336E-02  0 0 0
+  0.6658930      0.1022013      0 0 0
+  0.7021616      0.1126761      0 0 0
+  0.7384303      0.1189139      0 0 0
+  0.7746990      0.1496350      0 0 0
+  0.8109676      0.1426858      0 0 0
+  0.8472363      0.1340326      0 0 0
+  0.8835050      0.1255708      0 0 0
+  0.9197737      0.1185682      0 0 0
+  0.9560423      0.1111111      0 0 0
+  0.9923111      0.0000000E+00  0 0 0
+   1.000000      0.0000000E+00  0 0 0
+          38
+  0.0000000E+00   1.000000      0 0 0
+  7.1086608E-02  0.9333333      0 0 0
+  8.5594080E-02  0.8666667      0 0 0
+  0.1073553      0.8000000      0 0 0
+  0.1363702      0.7333333      0 0 0
+  0.1581314      0.7333333      0 0 0
+  0.1726389      0.8000000      0 0 0
+  0.1944001      0.8666667      0 0 0
+  0.2306688      0.9333333      0 0 0
+  0.2669375       1.000000      0 0 0
+  0.3032061      0.8941177      0 0 0
+  0.3394748      0.7882353      0 0 0
+  0.3757435      0.6823529      0 0 0
+  0.4120122      0.5764706      0 0 0
+  0.4482809      0.4745098      0 0 0
+  0.4845496      0.3686274      0 0 0
+  0.5208182      0.2627451      0 0 0
+  0.5570869      0.1568627      0 0 0
+  0.5788481      5.4901958E-02  0 0 0
+  0.5789932      5.4901958E-02  0 0 0
+  0.5932831      5.4901958E-02  0 0 0
+  0.5933556       1.000000      0 0 0
+  0.5934281       1.000000      0 0 0
+  0.6004642      0.7500000      0 0 0
+  0.6006093      0.7500000      0 0 0
+  0.6078631      0.3596491      0 0 0
+  0.6296242      0.2745098      0 0 0
+  0.6658930      0.4362140      0 0 0
+  0.7021616      0.6173913      0 0 0
+  0.7384303      0.8202765      0 0 0
+  0.7746990      0.8154762      0 0 0
+  0.8109676      0.8475610      0 0 0
+  0.8472363      0.8827161      0 0 0
+  0.8835050      0.9182390      0 0 0
+  0.9197737      0.9551282      0 0 0
+  0.9560423       1.000000      0 0 0
+  0.9923111      0.4506173      0 0 0
+   1.000000      0.3370787      0 0 0
+          38
+  0.0000000E+00   1.000000      0 0 0
+  7.1086608E-02   1.000000      0 0 0
+  8.5594080E-02   1.000000      0 0 0
+  0.1073553       1.000000      0 0 0
+  0.1363702       1.000000      0 0 0
+  0.1581314       1.000000      0 0 0
+  0.1726389       1.000000      0 0 0
+  0.1944001       1.000000      0 0 0
+  0.2306688       1.000000      0 0 0
+  0.2669375       1.000000      0 0 0
+  0.3032061       1.000000      0 0 0
+  0.3394748       1.000000      0 0 0
+  0.3757435       1.000000      0 0 0
+  0.4120122       1.000000      0 0 0
+  0.4482809       1.000000      0 0 0
+  0.4845496       1.000000      0 0 0
+  0.5208182       1.000000      0 0 0
+  0.5570869       1.000000      0 0 0
+  0.5788481       1.000000      0 0 0
+  0.5789932       1.000000      0 0 0
+  0.5932831       1.000000      0 0 0
+  0.5933556      0.4000000      0 0 0
+  0.5934281      0.4000000      0 0 0
+  0.6004642      0.8000000      0 0 0
+  0.6006093      0.8000000      0 0 0
+  0.6078631      0.8941177      0 0 0
+  0.6296242       1.000000      0 0 0
+  0.6658930      0.9529412      0 0 0
+  0.7021616      0.9019608      0 0 0
+  0.7384303      0.8509804      0 0 0
+  0.7746990      0.6588235      0 0 0
+  0.8109676      0.6431373      0 0 0
+  0.8472363      0.6352941      0 0 0
+  0.8835050      0.6235294      0 0 0
+  0.9197737      0.6117647      0 0 0
+  0.9560423      0.6000000      0 0 0
+  0.9923111      0.6352941      0 0 0
+   1.000000      0.6980392      0 0 0
+ 2
+ 0.00000000000000000000   1.00000000000000000000  0  0  0
+ 1.00000000000000000000   1.00000000000000000000  0  0  0

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/GMT_globe_palette_transparent.cm
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/GMT_globe_palette_transparent.cm	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/GMT_globe_palette_transparent.cm	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,124 @@
+  -8180.000    
+   5606.000    
+          38
+  0.0000000E+00  0.7666667      0 0 0
+  7.1086608E-02  0.7500000      0 0 0
+  8.5594080E-02  0.7307693      0 0 0
+  0.1073553      0.7083333      0 0 0
+  0.1363702      0.6818182      0 0 0
+  0.1581314      0.6515151      0 0 0
+  0.1726389      0.6250000      0 0 0
+  0.1944001      0.6025641      0 0 0
+  0.2306688      0.5833333      0 0 0
+  0.2669375      0.5666667      0 0 0
+  0.3032061      0.5665205      0 0 0
+  0.3394748      0.5663350      0 0 0
+  0.3757435      0.5660919      0 0 0
+  0.4120122      0.5657596      0 0 0
+  0.4482809      0.5647383      0 0 0
+  0.4845496      0.5638298      0 0 0
+  0.5208182      0.5621890      0 0 0
+  0.5570869      0.5583333      0 0 0
+  0.5788481      0.5357143      0 0 0
+  0.5789932      0.5357143      0 0 0
+  0.5932831      0.5357143      0 0 0
+  0.5933556      0.2500000      0 0 0
+  0.5934281      0.2500000      0 0 0
+  0.6004642      0.3888889      0 0 0
+  0.6006093      0.3888889      0 0 0
+  0.6078631      0.2500000      0 0 0
+  0.6296242      8.3333336E-02  0 0 0
+  0.6658930      0.1022013      0 0 0
+  0.7021616      0.1126761      0 0 0
+  0.7384303      0.1189139      0 0 0
+  0.7746990      0.1496350      0 0 0
+  0.8109676      0.1426858      0 0 0
+  0.8472363      0.1340326      0 0 0
+  0.8835050      0.1255708      0 0 0
+  0.9197737      0.1185682      0 0 0
+  0.9560423      0.1111111      0 0 0
+  0.9923111      0.0000000E+00  0 0 0
+   1.000000      0.0000000E+00  0 0 0
+          38
+  0.0000000E+00   1.000000      0 0 0
+  7.1086608E-02  0.9333333      0 0 0
+  8.5594080E-02  0.8666667      0 0 0
+  0.1073553      0.8000000      0 0 0
+  0.1363702      0.7333333      0 0 0
+  0.1581314      0.7333333      0 0 0
+  0.1726389      0.8000000      0 0 0
+  0.1944001      0.8666667      0 0 0
+  0.2306688      0.9333333      0 0 0
+  0.2669375       1.000000      0 0 0
+  0.3032061      0.8941177      0 0 0
+  0.3394748      0.7882353      0 0 0
+  0.3757435      0.6823529      0 0 0
+  0.4120122      0.5764706      0 0 0
+  0.4482809      0.4745098      0 0 0
+  0.4845496      0.3686274      0 0 0
+  0.5208182      0.2627451      0 0 0
+  0.5570869      0.1568627      0 0 0
+  0.5788481      5.4901958E-02  0 0 0
+  0.5789932      5.4901958E-02  0 0 0
+  0.5932831      5.4901958E-02  0 0 0
+  0.5933556       1.000000      0 0 0
+  0.5934281       1.000000      0 0 0
+  0.6004642      0.7500000      0 0 0
+  0.6006093      0.7500000      0 0 0
+  0.6078631      0.3596491      0 0 0
+  0.6296242      0.2745098      0 0 0
+  0.6658930      0.4362140      0 0 0
+  0.7021616      0.6173913      0 0 0
+  0.7384303      0.8202765      0 0 0
+  0.7746990      0.8154762      0 0 0
+  0.8109676      0.8475610      0 0 0
+  0.8472363      0.8827161      0 0 0
+  0.8835050      0.9182390      0 0 0
+  0.9197737      0.9551282      0 0 0
+  0.9560423       1.000000      0 0 0
+  0.9923111      0.4506173      0 0 0
+   1.000000      0.3370787      0 0 0
+          38
+  0.0000000E+00   1.000000      0 0 0
+  7.1086608E-02   1.000000      0 0 0
+  8.5594080E-02   1.000000      0 0 0
+  0.1073553       1.000000      0 0 0
+  0.1363702       1.000000      0 0 0
+  0.1581314       1.000000      0 0 0
+  0.1726389       1.000000      0 0 0
+  0.1944001       1.000000      0 0 0
+  0.2306688       1.000000      0 0 0
+  0.2669375       1.000000      0 0 0
+  0.3032061       1.000000      0 0 0
+  0.3394748       1.000000      0 0 0
+  0.3757435       1.000000      0 0 0
+  0.4120122       1.000000      0 0 0
+  0.4482809       1.000000      0 0 0
+  0.4845496       1.000000      0 0 0
+  0.5208182       1.000000      0 0 0
+  0.5570869       1.000000      0 0 0
+  0.5788481       1.000000      0 0 0
+  0.5789932       1.000000      0 0 0
+  0.5932831       1.000000      0 0 0
+  0.5933556      0.4000000      0 0 0
+  0.5934281      0.4000000      0 0 0
+  0.6004642      0.8000000      0 0 0
+  0.6006093      0.8000000      0 0 0
+  0.6078631      0.8941177      0 0 0
+  0.6296242       1.000000      0 0 0
+  0.6658930      0.9529412      0 0 0
+  0.7021616      0.9019608      0 0 0
+  0.7384303      0.8509804      0 0 0
+  0.7746990      0.6588235      0 0 0
+  0.8109676      0.6431373      0 0 0
+  0.8472363      0.6352941      0 0 0
+  0.8835050      0.6235294      0 0 0
+  0.9197737      0.6117647      0 0 0
+  0.9560423      0.6000000      0 0 0
+  0.9923111      0.6352941      0 0 0
+   1.000000      0.6980392      0 0 0
+ 4
+ 0.0000   0.00  0  0  0
+ 0.5934   0.00  0  0  0
+ 0.5934   0.44  0  0  0
+ 1.0000   0.44  0  0  0

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/add_logo_to_images.csh
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/add_logo_to_images.csh	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/add_logo_to_images.csh	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,16 @@
+#!/bin/csh
+
+# add logo banner to all images before creating a movie
+
+foreach file ($*)
+
+echo adding logo to image $file...
+
+set file1 = `basename $file 0.tiff`
+
+set file2 = `echo $file1 | sed 's/^imagemovie0//'` 
+
+montage -tile 1x2 -frame 0 -geometry +0+0 -depth 8 -strip $file ../banner_logos.tiff ../sequence_finale/te{$file2}.tif
+
+end
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/assemble_final_MPEG_movie.csh
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/assemble_final_MPEG_movie.csh	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/assemble_final_MPEG_movie.csh	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,6 @@
+#!/bin/csh
+
+# assemble the different MPEG files to create the final MPEG movie
+
+mpgjoin title_01.mpeg movie_opaque_europe.mpeg title_02.mpeg movie_transparent_europe.mpeg title_03.mpeg movie_opaque_pacific.mpeg title_02.mpeg movie_transparent_pacific.mpeg -o movie_SPECFEM3D_CINES_05nov2008.mpeg
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/constants_topo.h
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/constants_topo.h	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/constants_topo.h	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,515 @@
+!=====================================================================
+!
+!          S p e c f e m 3 D  G l o b e  V e r s i o n  5 . 1
+!          --------------------------------------------------
+!
+!          Main authors: Dimitri Komatitsch and Jeroen Tromp
+!                        Princeton University, USA
+!             and University of Pau / CNRS / INRIA, France
+! (c) Princeton University / California Institute of Technology and University of Pau / CNRS / INRIA
+!                            August 2008
+!
+! This program is free software; you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation; either version 2 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License along
+! with this program; if not, write to the Free Software Foundation, Inc.,
+! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+!
+!=====================================================================
+
+! constants.h.  Generated from constants.h.in by configure.
+
+!
+!--- user can modify parameters below
+!
+
+! exaggeration factor to display topography in OpenDX
+  double precision, parameter :: EXAGGERATION_FACTOR_TOPO = 22.d0 ! 35.d0
+
+! this for non blocking assembly
+  logical, parameter :: USE_NONBLOCKING_COMMS = .true.
+  integer, parameter :: ELEMENTS_NONBLOCKING_CM_IC = 1500
+  integer, parameter :: ELEMENTS_NONBLOCKING_OC = 3000
+
+  logical, parameter :: DEBUG_NONBLOCKING_COMMS = .false.
+  logical, parameter :: DEBUG_USING_OPENDX = .false.
+
+!! DK DK temporary patch for the large Gordon Bell runs: set RECEIVERS_CAN_BE_BURIED
+!! DK DK to false in all cases etc
+  logical, parameter :: PATCH_FOR_GORDON_BELL = .true.
+
+! save partial seismograms every 10,000 time steps or not
+  logical, parameter :: SAVE_PARTIAL_SEISMOGRAMS = .false.
+
+! (much) faster detection of receivers at high resolution: use grid points only
+  logical, parameter :: FASTER_RECEIVERS_POINTS_ONLY = .true.
+
+! suppress calculation and storage of seismograms if needed
+  logical, parameter :: COMPUTE_STORE_SEISMOGRAMS = .true.
+
+!! DK DK for Gordon Bell
+! integer, parameter :: SEA99_VS_DIM1 = 100, SEA99_VS_DIM2 = 100, SEA99_VS_DIM3 = 100
+  integer, parameter :: SEA99_VS_DIM1 = 1, SEA99_VS_DIM2 = 1, SEA99_VS_DIM3 = 1
+
+!! DK DK for Gordon Bell
+! integer, parameter :: AMM_V_DIM1 = 14, AMM_V_DIM2 = 34, AMM_V_DIM3 = 37, AMM_V_DIM4 = 73
+! use 6 for first index to avoid a warning when compiling
+  integer, parameter :: AMM_V_DIM1 = 6, AMM_V_DIM2 = 1, AMM_V_DIM3 = 1, AMM_V_DIM4 = 1
+
+!
+! solver in single or double precision depending on the machine (4 or 8 bytes)
+!
+!  ALSO CHANGE FILE precision.h ACCORDINGLY
+!
+  integer, parameter :: SIZE_REAL = 4, SIZE_DOUBLE = 8
+
+! usually the size of integer and logical variables is the same as regular single-precision real variable
+  integer, parameter :: SIZE_INTEGER = SIZE_REAL
+  integer, parameter :: SIZE_LOGICAL = SIZE_REAL
+
+! set to SIZE_REAL to run in single precision
+! set to SIZE_DOUBLE to run in double precision (increases memory size by 2)
+  integer, parameter :: CUSTOM_REAL = SIZE_REAL
+
+! input, output and main MPI I/O files
+  integer, parameter :: ISTANDARD_OUTPUT = 6
+  integer, parameter :: IIN = 40,IOUT = 41,IOUT_SAC = 903
+! local file unit for output of buffers
+  integer, parameter :: IOUT_BUFFERS = 35
+! uncomment this to write messages to a text file
+  integer, parameter :: IMAIN = 42
+! uncomment this to write messages to the screen (slows down the code)
+! integer, parameter :: IMAIN = ISTANDARD_OUTPUT
+
+! number of values read in Par_file that we need to broadcast
+  integer, parameter :: NVALUES_bcast_integer = 41
+  integer, parameter :: NVALUES_bcast_double_precision = 30
+  integer, parameter :: NVALUES_bcast_logical = 33
+
+! R_EARTH is the radius of the bottom of the oceans (radius of Earth in m)
+  double precision, parameter :: R_EARTH = 6371000.d0
+! uncomment line below for PREM with oceans
+! double precision, parameter :: R_EARTH = 6368000.d0
+
+! average density in the full Earth to normalize equation
+  double precision, parameter :: RHOAV = 5514.3d0
+
+! for topography/bathymetry model
+
+!!--- ETOPO5 5-minute model, smoothed Harvard version
+!! size of topography and bathymetry file
+!  integer, parameter :: NX_BATHY = 4320,NY_BATHY = 2160
+!! resolution of topography file in minutes
+!  integer, parameter :: RESOLUTION_TOPO_FILE = 5
+!! pathname of the topography file
+!  character(len=*), parameter :: PATHNAME_TOPO_FILE = 'DATA/topo_bathy/topo_bathy_etopo5_smoothed_Harvard.dat'
+
+!---  ETOPO4 4-minute model created by subsampling and smoothing etopo-2
+! size of topography and bathymetry file
+  integer, parameter :: NX_BATHY = 5400,NY_BATHY = 2700
+!!!!!!!!!!  integer, parameter :: NX_BATHY = 1,NY_BATHY = 1
+! resolution of topography file in minutes
+  integer, parameter :: RESOLUTION_TOPO_FILE = 4
+! pathname of the topography file
+! character(len=*), parameter :: PATHNAME_TOPO_FILE = 'DATA/topo_bathy/topo_bathy_etopo4_smoothed_window_7.dat'
+  character(len=*), parameter :: PATHNAME_TOPO_FILE = 'DATA/topo_bathy/topo_bathy_etopo4_smoothed_window_11_minmax_3500.dat'
+
+!!--- ETOPO2 2-minute model, not implemented yet
+!! size of topography and bathymetry file
+!  integer, parameter :: NX_BATHY = 10800,NY_BATHY = 5400
+!! resolution of topography file in minutes
+!  integer, parameter :: RESOLUTION_TOPO_FILE = 2
+!! pathname of the topography file
+!  character(len=*), parameter :: PATHNAME_TOPO_FILE = 'DATA/topo_bathy/topo_bathy_etopo2_smoothed_window7.dat'
+
+! minimum thickness in meters to include the effect of the oceans and topo
+  double precision, parameter :: MINIMUM_THICKNESS_3D_OCEANS = 100.d0
+
+! number of GLL points in each direction of an element (degree plus one)
+  integer, parameter :: NGLLX = 5
+  integer, parameter :: NGLLY = NGLLX
+  integer, parameter :: NGLLZ = NGLLX
+
+! flag to exclude elements that are too far from target in source detection
+  logical, parameter :: USE_DISTANCE_CRITERION = .true.
+
+! flag to display detailed information about location of stations
+  logical, parameter :: DISPLAY_DETAILS_STATIONS = .false.
+
+! maximum length of station and network name for receivers
+  integer, parameter :: MAX_LENGTH_STATION_NAME = 32
+  integer, parameter :: MAX_LENGTH_NETWORK_NAME = 8
+
+! we mimic a triangle of half duration equal to half_duration_triangle
+! using a Gaussian having a very close shape, as explained in Figure 4.2
+! of the manual. This source decay rate to mimic an equivalent triangle
+! was found by trial and error
+  double precision, parameter :: SOURCE_DECAY_MIMIC_TRIANGLE = 1.628d0
+
+! maximum number of sources to locate simultaneously (do not set it too high otherwise you will use a lot of memory)
+  integer, parameter :: NSOURCES_SUBSET_MAX = 100
+
+! distance threshold (in km) above which we consider that a receiver
+! is located outside the mesh and therefore excluded from the station list
+  double precision, parameter :: THRESHOLD_EXCLUDE_STATION = 50.d0
+
+! the first doubling is implemented right below the Moho
+! it seems optimal to implement the three other doublings at these depths
+! in the mantle
+  double precision, parameter :: DEPTH_SECOND_DOUBLING_OPTIMAL = 1650000.d0
+! in the outer core
+  double precision, parameter :: DEPTH_THIRD_DOUBLING_OPTIMAL  = 3860000.d0
+! in the outer core
+  double precision, parameter :: DEPTH_FOURTH_DOUBLING_OPTIMAL = 5000000.d0
+
+! Boundary Mesh -- save Moho, 400, 670 km discontinuity topology files (in
+! the mesher) and use them for the computation of boundary kernel (in the solver)
+  logical, parameter :: SAVE_BOUNDARY_MESH = .false.
+
+! this parameter must be set to .true. to compute anisotropic kernels
+! in crust and mantle (related to the 21 Cij in geographical coordinates)
+! default is .false. to compute isotropic kernels (related to alpha and beta)
+  logical, parameter :: ANISOTROPIC_KL = .false.
+
+! print date and time estimate of end of run in another country,
+! in addition to local time.
+! For instance: the code runs at Caltech in California but the person
+! running the code is connected remotely from France, which has 9 hours more.
+! The time difference with that remote location can be positive or negative
+  logical, parameter :: ADD_TIME_ESTIMATE_ELSEWHERE = .false.
+  integer, parameter :: HOURS_TIME_DIFFERENCE = +9
+  integer, parameter :: MINUTES_TIME_DIFFERENCE = +0
+
+!
+!--- debugging flags
+!
+
+! flags to actually assemble with MPI or not
+! and to actually match fluid and solid regions of the Earth or not
+! should always be set to true except when debugging code
+  logical, parameter :: ACTUALLY_ASSEMBLE_MPI_SLICES = .true.
+  logical, parameter :: ACTUALLY_ASSEMBLE_MPI_CHUNKS = .true.
+  logical, parameter :: ACTUALLY_COUPLE_FLUID_CMB = .true.
+  logical, parameter :: ACTUALLY_COUPLE_FLUID_ICB = .true.
+
+! flag to turn off the conversion of geographic to geocentric coordinates for
+! the seismic source and the stations; i.e. assume a perfect sphere, which
+! can be useful for benchmarks of a spherical Earth with fictitious sources and stations
+  logical, parameter :: ASSUME_PERFECT_SPHERE = .false.
+
+! flag to only create the mesh but not start the solver (for instance to check the mesh obtained)
+  logical, parameter :: MESHER_ONLY = .false.
+
+! flag to put a fictitious source in each region in the case of a serial test
+  logical, parameter :: PUT_SOURCE_IN_EACH_REGION = .false.
+
+!------------------------------------------------------
+!----------- do not modify anything below -------------
+!------------------------------------------------------
+
+! on some processors (e.g. Pentiums) it is necessary to suppress underflows
+! by using a small initial field instead of zero
+  logical, parameter :: FIX_UNDERFLOW_PROBLEM = .true.
+
+! some useful constants
+  double precision, parameter :: PI = 3.141592653589793d0
+  double precision, parameter :: TWO_PI = 2.d0 * PI
+  double precision, parameter :: PI_OVER_FOUR = PI / 4.d0
+
+! to convert angles from degrees to radians
+  double precision, parameter :: DEGREES_TO_RADIANS = PI / 180.d0
+
+! 3-D simulation
+  integer, parameter :: NDIM = 3
+
+! dimension of the boundaries of the slices
+  integer, parameter :: NDIM2D = 2
+
+! number of nodes for 2D and 3D shape functions for hexahedra with 27 nodes
+  integer, parameter :: NGNOD = 27, NGNOD2D = 9
+
+! gravitational constant
+  double precision, parameter :: GRAV = 6.6723d-11
+
+! a few useful constants
+  double precision, parameter :: ZERO = 0.d0,ONE = 1.d0,TWO = 2.d0,HALF = 0.5d0
+
+  real(kind=CUSTOM_REAL), parameter :: &
+    ONE_THIRD   = 1._CUSTOM_REAL/3._CUSTOM_REAL, &
+    TWO_THIRDS  = 2._CUSTOM_REAL/3._CUSTOM_REAL, &
+    FOUR_THIRDS = 4._CUSTOM_REAL/3._CUSTOM_REAL
+
+! very large and very small values
+  double precision, parameter :: HUGEVAL = 1.d+30,TINYVAL = 1.d-9
+
+! very large real value declared independently of the machine
+  real(kind=CUSTOM_REAL), parameter :: HUGEVAL_SNGL = 1.e+30_CUSTOM_REAL
+
+! very large integer value
+  integer, parameter :: HUGEINT = 100000000
+
+! normalized radius of free surface
+  double precision, parameter :: R_UNIT_SPHERE = ONE
+
+! same radius in km
+  double precision, parameter :: R_EARTH_KM = R_EARTH / 1000.d0
+
+! fixed thickness of 3 km for PREM oceans
+  double precision, parameter :: THICKNESS_OCEANS_PREM = 3000.d0 / R_EARTH
+
+! shortest radius at which crust is implemented (80 km depth)
+! to be constistent with the D80 discontinuity, we impose the crust only above it
+  double precision, parameter :: R_DEEPEST_CRUST = (R_EARTH - 80000.d0) / R_EARTH
+
+! maximum number of chunks (full sphere)
+  integer, parameter :: NCHUNKS_MAX = 6
+
+! define block type based upon chunk number (between 1 and 6)
+! do not change this numbering, chunk AB must be number 1 for central cube
+  integer, parameter :: CHUNK_AB = 1
+  integer, parameter :: CHUNK_AC = 2
+  integer, parameter :: CHUNK_BC = 3
+  integer, parameter :: CHUNK_AC_ANTIPODE = 4
+  integer, parameter :: CHUNK_BC_ANTIPODE = 5
+  integer, parameter :: CHUNK_AB_ANTIPODE = 6
+
+! maximum number of regions in the mesh
+  integer, parameter :: MAX_NUM_REGIONS = 3
+
+! define flag for regions of the global Earth mesh
+  integer, parameter :: IREGION_CRUST_MANTLE = 1
+  integer, parameter :: IREGION_OUTER_CORE = 2
+  integer, parameter :: IREGION_INNER_CORE = 3
+
+! define flag for elements
+  integer, parameter :: IFLAG_CRUST = 1
+
+  integer, parameter :: IFLAG_80_MOHO = 2
+  integer, parameter :: IFLAG_220_80 = 3
+  integer, parameter :: IFLAG_670_220 = 4
+  integer, parameter :: IFLAG_MANTLE_NORMAL = 5
+
+  integer, parameter :: IFLAG_OUTER_CORE_NORMAL = 6
+
+  integer, parameter :: IFLAG_INNER_CORE_NORMAL = 7
+  integer, parameter :: IFLAG_MIDDLE_CENTRAL_CUBE = 8
+  integer, parameter :: IFLAG_BOTTOM_CENTRAL_CUBE = 9
+  integer, parameter :: IFLAG_TOP_CENTRAL_CUBE = 10
+  integer, parameter :: IFLAG_IN_FICTITIOUS_CUBE = 11
+
+  integer, parameter :: NSPEC2D_XI_SUPERBRICK = 8
+  integer, parameter :: NSPEC2D_ETA_SUPERBRICK = 8
+  integer, parameter :: NSPEC2D_XI_SUPERBRICK_1L = 6
+  integer, parameter :: NSPEC2D_ETA_SUPERBRICK_1L = 6
+
+! dummy flag used for mesh display purposes only
+  integer, parameter :: IFLAG_DUMMY = 100
+
+! max number of layers that are used in the radial direction to build the full mesh
+  integer, parameter :: MAX_NUMBER_OF_MESH_LAYERS = 15
+
+! define number of spectral elements and points in basic symmetric mesh doubling superbrick
+  integer, parameter :: NSPEC_DOUBLING_SUPERBRICK = 32
+  integer, parameter :: NGLOB_DOUBLING_SUPERBRICK = 67
+  integer, parameter :: NSPEC_SUPERBRICK_1L = 28
+  integer, parameter :: NGLOB_SUPERBRICK_1L = 58
+  integer, parameter :: NGNOD_EIGHT_CORNERS = 8
+
+! define flag for reference 1D Earth model
+  integer, parameter :: REFERENCE_MODEL_PREM   = 1
+  integer, parameter :: REFERENCE_MODEL_IASP91 = 2
+  integer, parameter :: REFERENCE_MODEL_1066A  = 3
+  integer, parameter :: REFERENCE_MODEL_AK135  = 4
+  integer, parameter :: REFERENCE_MODEL_REF  = 5
+  integer, parameter :: REFERENCE_MODEL_JP1D  = 6
+  integer, parameter :: REFERENCE_MODEL_SEA1D  = 7
+
+! define flag for 3D Earth model
+  integer, parameter :: THREE_D_MODEL_S20RTS   = 1
+  integer, parameter :: THREE_D_MODEL_S362ANI   = 2
+  integer, parameter :: THREE_D_MODEL_S362WMANI = 3
+  integer, parameter :: THREE_D_MODEL_S362ANI_PREM  = 4
+  integer, parameter :: THREE_D_MODEL_S29EA  = 5
+  integer, parameter :: THREE_D_MODEL_SEA99_JP3D  = 6
+  integer, parameter :: THREE_D_MODEL_SEA99  = 7
+  integer, parameter :: THREE_D_MODEL_JP3D  = 8
+
+! define flag for regions of the global Earth for attenuation
+  integer, parameter :: NUM_REGIONS_ATTENUATION = 5
+
+  integer, parameter :: IREGION_ATTENUATION_INNER_CORE = 1
+  integer, parameter :: IREGION_ATTENUATION_CMB_670 = 2
+  integer, parameter :: IREGION_ATTENUATION_670_220 = 3
+  integer, parameter :: IREGION_ATTENUATION_220_80 = 4
+  integer, parameter :: IREGION_ATTENUATION_80_SURFACE = 5
+  integer, parameter :: IREGION_ATTENUATION_UNDEFINED = 6
+
+! number of standard linear solids for attenuation
+  integer, parameter :: N_SLS = 3
+
+! computation of standard linear solids in meshfem3D
+! ATTENUATION_COMP_RESOLUTION: Number of Digits after decimal
+! ATTENUATION_COMP_MAXIMUM:    Maximum Q Value
+  integer, parameter :: ATTENUATION_COMP_RESOLUTION = 1
+  integer, parameter :: ATTENUATION_COMP_MAXIMUM    = 5000
+
+! for lookup table for attenuation every 100 m in radial direction of Earth model
+  integer, parameter          :: NRAD_ATTENUATION  = 70000
+  double precision, parameter :: TABLE_ATTENUATION = R_EARTH_KM * 10.0d0
+
+!!!!!!!!!!!!!! for determination of the attenuation period range
+!!!!!!!!!!!!!! if this is set to .true. then the hardcoded values will be used
+!!!!!!!!!!!!!! otherwise they are computed automatically from the number of elements
+!!!!!!!!!!!!!! This *may* be a useful parameter for benchmarking against older versions
+!!!!!!!!!!!!!  logical, parameter           :: ATTENUATION_RANGE_PREDEFINED = .false.
+
+! flag for the four edges of each slice and for the bottom edge
+  integer, parameter :: XI_MIN  = 1
+  integer, parameter :: XI_MAX  = 2
+  integer, parameter :: ETA_MIN = 3
+  integer, parameter :: ETA_MAX = 4
+  integer, parameter :: BOTTOM  = 5
+
+! flags to select the right corner in each slice
+  integer, parameter :: ILOWERLOWER = 1
+  integer, parameter :: ILOWERUPPER = 2
+  integer, parameter :: IUPPERLOWER = 3
+  integer, parameter :: IUPPERUPPER = 4
+
+! number of points in each AVS or OpenDX quadrangular cell for movies
+  integer, parameter :: NGNOD2D_AVS_DX = 4
+
+! number of faces a given slice can share with other slices
+! this is at most 2, except when there is only once slice per chunk
+! in which case it is 4
+  integer, parameter :: NUMFACES_SHARED = 2 !!!!!  DK DK removed support for one slice only    4
+
+! number of corners a given slice can share with other slices
+! this is at most 1, except when there is only once slice per chunk
+! in which case it is 4
+  integer, parameter :: NUMCORNERS_SHARED = 1 !!!!!!  DK DK removed support for one slice only    4
+
+! number of layers in PREM
+  integer, parameter :: NR = 640
+
+! smallest real number on many machines =  1.1754944E-38
+! largest real number on many machines =  3.4028235E+38
+! small negligible initial value to avoid very slow underflow trapping
+! but not too small to avoid trapping on velocity and acceleration in Newmark
+  real(kind=CUSTOM_REAL), parameter :: VERYSMALLVAL = 1.E-24_CUSTOM_REAL
+
+! displacement threshold above which we consider that the code became unstable
+  real(kind=CUSTOM_REAL), parameter :: STABILITY_THRESHOLD = 1.E+25_CUSTOM_REAL
+
+! geometrical tolerance for boundary detection
+  double precision, parameter :: SMALLVAL = 0.00001d0
+
+! small tolerance for conversion from x y z to r theta phi
+  double precision, parameter :: SMALL_VAL_ANGLE = 1.d-10
+
+! geometry tolerance parameter to calculate number of independent grid points
+! sensitive to actual size of model, assumes reference sphere of radius 1
+! this is an absolute value for normalized coordinates in the Earth
+  double precision, parameter :: SMALLVALTOL = 1.d-10
+
+! do not use tags for MPI messages, use dummy tag instead
+  integer, parameter :: itag = 0,itag2 = 0
+
+! for the Gauss-Lobatto-Legendre points and weights
+  double precision, parameter :: GAUSSALPHA = 0.d0,GAUSSBETA = 0.d0
+
+! number of lines per source in CMTSOLUTION file
+  integer, parameter :: NLINES_PER_CMTSOLUTION_SOURCE = 13
+
+! number of iterations to solve the non linear system for xi and eta
+  integer, parameter :: NUM_ITER = 4
+
+! number of hours per day for rotation rate of the Earth
+  double precision, parameter :: HOURS_PER_DAY = 24.d0
+
+! for lookup table for gravity every 100 m in radial direction of Earth model
+  integer, parameter :: NRAD_GRAVITY = 70000
+
+! number of layers in DATA/1066a/1066a.dat
+  integer, parameter :: NR_1066A = 160
+
+! number of layers in DATA/ak135/ak135.dat
+  integer, parameter :: NR_AK135 = 144
+
+! number of layers in DATA/s362ani/REF
+  integer, parameter :: NR_REF = 750
+
+! number of layers in DATA/Lebedev_sea99 1D model
+  integer, parameter :: NR_SEA1D = 163
+
+! three_d_mantle_model_constants
+  integer, parameter :: NK = 20,NS = 20,ND = 1
+
+! Japan 3D model (Zhao, 1994) constants
+  integer, parameter :: MPA=42,MRA=48,MHA=21,MPB=42,MRB=48,MHB=18
+  integer, parameter :: MKA=2101,MKB=2101
+
+! The meaningful range of Zhao et al.'s model (1994) is as follows:
+!        latitude : 32 - 45 N
+!        longitude: 130-145 E
+!        depth    : 0  - 500 km
+! The deepest Moho beneath Japan is 40 km
+  double precision,parameter :: LAT_MAX = 45.d0
+  double precision,parameter :: LAT_MIN = 32.d0
+  double precision,parameter :: LON_MAX = 145.d0
+  double precision,parameter :: LON_MIN = 130.d0
+  double precision,parameter :: DEP_MAX = 500.d0
+
+! use sedimentary layers of crust 2.0
+  logical, parameter :: INCLUDE_SEDIMENTS_CRUST = .true.
+
+! number of points per degree in smoothed crust2.0
+  integer, parameter :: NFACTOR_CRUST = 2
+  integer, parameter :: NLON_CRUST = 180 * NFACTOR_CRUST
+  integer, parameter :: NLAT_CRUST = 90 * NFACTOR_CRUST
+
+! to inflate the central cube (set to 0.d0 for a non-inflated cube)
+  double precision, parameter :: CENTRAL_CUBE_INFLATE_FACTOR = 0.41d0
+
+! for the stretching of crustal elements in the case of 3D models
+  double precision, parameter :: MAX_RATIO_CRUST_STRETCHING = 0.6d0
+
+! to suppress the crustal layers (replaced by an extension of the mantle: R_EARTH is not modified, but no more crustal doubling)
+  logical, parameter :: SUPPRESS_CRUSTAL_MESH = .false.
+
+! to add a fourth doubling at the bottom of the outer core
+  logical, parameter :: ADD_4TH_DOUBLING = .false.
+
+! parameters to cut the doubling brick
+
+! this to cut the superbrick: 3 possibilities, 4 cases max / possibility
+! three possibilities: (cut in xi and eta) or (cut in xi) or (cut in eta)
+! case 1: (ximin and etamin) or ximin or etamin
+! case 2: (ximin and etamax) or ximax or etamax
+! case 3: ximax and etamin
+! case 4: ximax and etamax
+  integer, parameter :: NB_CUT_CASE = 4
+
+! corner 1: ximin and etamin
+! corner 2: ximax and etamin
+! corner 3: ximax and etamax
+! corner 4: ximin and etamax
+  integer, parameter :: NB_SQUARE_CORNERS = 4
+
+! two possibilities: xi or eta
+! face 1: ximin or etamin
+! face 2: ximax or etamax
+  integer, parameter :: NB_SQUARE_EDGES_ONEDIR = 2
+
+! this for the geometry of the basic doubling brick
+  integer, parameter :: NSPEC_DOUBLING_BASICBRICK = 8
+  integer, parameter :: NGLOB_DOUBLING_BASICBRICK = 27
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/continent_boundaries_gmt.dat
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/continent_boundaries_gmt.dat	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/continent_boundaries_gmt.dat	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,5593 @@
+> Shore Bin # 0, Level 1
+20 79.1594
+18.2831 79.6211
+17.6718 79.3608
+16.2698 80.0587
+16.5267 78.9055
+14.7265 79.7887
+14.0432 79.2638
+12.3482 79.5799
+13.8064 79.8772
+10.6648 79.5467
+13.0001 78.2045
+15.3466 78.8505
+15.4232 78.4578
+16.5701 78.7163
+17.3983 78.4294
+13.5982 78.0568
+13.9498 77.7162
+16.9915 77.9292
+14.7384 77.6533
+16.0998 77.4595
+13.915 77.5242
+15.4382 76.9999
+15.4382 76.9999
+16.99 76.5962
+19.0283 78.4224
+20 78.5487
+> Shore Bin # 1, Level 1
+28.8679 70
+28.556 70.1724
+30.1823 70.0696
+31.0311 70.3973
+28.9723 70.8847
+27.8547 70.4269
+28.5539 70.9702
+27.6576 71.1313
+27.0912 70.4633
+26.486 70.3583
+26.66 70.968
+25.1524 70.0653
+25.9138 70.874
+24.64 70.9921
+23.49 70
+> Shore Bin # 1, Level 1
+23.3634 70
+21.5625 70.3229
+21.8683 70
+> Shore Bin # 1, Level 1
+21.2738 70
+21.2351 70.0122
+21.2134 70
+> Shore Bin # 1, Level 1
+20 78.5487
+21.5314 78.7474
+20 79.1594
+> Shore Bin # 2, Level 1
+60 76.0447
+56.0082 75.1832
+56.9638 74.6699
+55.126 74.2267
+56.3912 74.0082
+55.035 74.1572
+53.6925 73.7922
+55.8462 73.6466
+54.0737 73.3466
+56.6949 73.2453
+56.3763 73.7391
+57.5988 73.6316
+56.5936 73.8807
+57.875 73.7653
+57.4975 74.1929
+58.255 73.9997
+58.2574 73.9997
+58.2187 74.5432
+59.155 74.4187
+60 74.766
+> Shore Bin # 2, Level 1
+53.9974 70.737
+57.611 70.7126
+55.1861 71.8991
+55.0811 72.5776
+56.5188 73.151
+54.8098 73.2566
+53.1963 73.1501
+53.611 72.8891
+52.3638 72.7149
+53.6587 72.6416
+51.4061 71.8326
+51.91 71.4554
+53.5012 71.5433
+53.9861 70.741
+53.9974 70.737
+> Shore Bin # 3, Level 1
+80 72.0417
+78.4475 72.3862
+77.4636 72.2074
+77.9849 71.8262
+75.9661 71.8857
+78.5086 70.9042
+76.1324 71.1612
+74.8287 72.8309
+75.0188 72.19
+73.0086 71.3968
+74.3261 70.5908
+74.0948 70
+> Shore Bin # 3, Level 1
+72.6876 70
+72.8112 70.8701
+71.8111 71.4643
+72.8786 72.6932
+71.6326 72.9004
+69.3962 72.9474
+68.3388 71.5866
+66.7289 71.1066
+66.7848 70
+> Shore Bin # 3, Level 1
+60 74.766
+61.3165 75.3071
+68.405 76.2126
+68.6067 76.9554
+64.7797 76.3294
+61.1264 76.2879
+60 76.0447
+> Shore Bin # 4, Level 1
+100 76.4747
+98.8782 76.4851
+99.845 76.0426
+98.8266 76.2596
+95.7031 75.8262
+96.1266 76.117
+93.2735 76.1045
+92.8365 75.8787
+94.1152 75.9168
+86.9831 75.1347
+87.0076 74.6012
+85.9174 74.8521
+87.2367 73.8349
+80.5063 73.5575
+80.8511 72.4283
+83.6689 71.641
+83.6286 70
+> Shore Bin # 4, Level 1
+82.8754 70
+82.4237 70.1709
+82.8473 70.9586
+82.0139 70.5557
+83.2636 71.7215
+81.4524 71.7197
+80 72.0417
+> Shore Bin # 5, Level 1
+120 72.952
+119.848 72.9575
+118.406 73.2251
+118.88 73.5303
+115.687 73.7055
+113.515 73.2026
+112.845 73.9872
+112.308 73.6896
+111.572 74.0522
+110.022 74.0061
+109.69 73.6738
+111.035 73.6878
+106.34 73.1894
+105.5 72.7445
+107.017 73.632
+113.578 75.2125
+112.348 75.8399
+113.583 75.5311
+113.935 75.835
+111.093 76.7652
+106.533 76.4994
+107.545 76.9142
+104.167 77.0829
+106.345 77.3658
+104.147 77.7162
+101.355 77.089
+101.128 76.464
+100 76.4747
+> Shore Bin # 6, Level 1
+140 71.4401
+138.115 71.5705
+137.863 71.1005
+136.022 71.6269
+133.818 71.4145
+132.78 71.9513
+131.045 70.7028
+128.306 72.0807
+129.556 72.2126
+128.443 72.518
+129.451 72.6517
+128.816 73.2001
+126.281 73.2593
+124.437 73.8013
+122.842 72.8525
+120 72.952
+> Shore Bin # 6, Level 1
+140 75.789
+138.783 76.2022
+136.988 75.5851
+137.994 74.8466
+137.994 74.845
+140 74.8624
+> Shore Bin # 6, Level 1
+140 72.2028
+139.306 71.9425
+140 71.5058
+> Shore Bin # 6, Level 1
+140 72.385
+139.124 72.2525
+140 72.2736
+> Shore Bin # 6, Level 2
+125.31 70
+125.75 70.4614
+127.548 70.8042
+127.296 71.4014
+127.615 70.8051
+125.842 70.4538
+125.408 70
+> Shore Bin # 7, Level 1
+160 70.0406
+158.925 70.8905
+155.922 71.0886
+152.531 70.8151
+148.829 71.6892
+150.064 71.929
+148.367 72.3313
+147.115 72.3154
+145.348 71.5546
+145.499 72.2483
+145.982 71.8628
+146.944 72.3175
+144.245 72.2486
+146.863 72.363
+140.89 72.8721
+141.301 72.5818
+140 72.385
+> Shore Bin # 7, Level 1
+140 74.8624
+143.587 74.8939
+142.403 75.7337
+143.403 75.0437
+145.408 75.4917
+141.38 76.1762
+140.57 75.5955
+140 75.789
+> Shore Bin # 7, Level 1
+140 72.2736
+140.201 72.2782
+140 72.2028
+> Shore Bin # 7, Level 1
+140 71.5058
+140.117 71.4322
+140 71.4401
+> Shore Bin # 8, Level 1
+171.452 70
+170.55 70.1196
+170.461 70
+> Shore Bin # 8, Level 1
+160.051 70
+160 70.0406
+> Shore Bin # 9, Level 1
+200 70.4739
+199.872 70.607
+198.075 70.2945
+197.617 70
+> Shore Bin # 10, Level 1
+217.38 70
+216.745 70.1178
+208.8 70.3522
+207.396 70.5457
+207.738 70.8405
+205.812 70.7687
+204.925 71.1304
+204.002 70.7498
+204.431 71.1615
+203.515 71.3886
+202.183 70.8667
+200.342 70.7962
+200.156 70.311
+200 70.4739
+> Shore Bin # 11, Level 1
+240 74.2066
+238.549 74.5566
+235.266 74.3507
+236.248 73.7525
+234.009 71.966
+235.107 71.9574
+236.899 71.0791
+239.368 71.492
+239.655 71.9959
+239.666 71.998
+240 72.1009
+> Shore Bin # 11, Level 1
+233.134 70
+231.96 70.5774
+232.551 70.141
+231.972 70
+> Shore Bin # 11, Level 1
+230.006 70
+230.332 70.2557
+229.375 70
+> Shore Bin # 11, Level 1
+235.509 70
+235.474 70.2005
+235.263 70
+> Shore Bin # 12, Level 1
+259.029 70
+259.019 70.1883
+255.514 71.0294
+254.719 72.8263
+253.238 73.2996
+251.754 73.173
+252.245 71.6031
+250.099 72.9752
+249.273 72.9621
+250.254 72.4286
+249.317 72.5748
+248.991 72.2815
+247.96 72.2757
+248.814 72.7268
+247.212 72.9944
+245.475 72.576
+245.52 73.3765
+241.502 72.5043
+240.878 71.7722
+242.256 71.6696
+241.766 71.3947
+244.963 71.5341
+241.67 71.044
+242.316 70.6317
+246.179 70.716
+248.557 70.3424
+242.635 70.0394
+242.689 70
+> Shore Bin # 12, Level 1
+244.44 74.9946
+245.97 75.4749
+246.083 75.0526
+248.958 75.2781
+245.574 74.6958
+247.642 74.4242
+251.202 75.0739
+254 75.0526
+254.575 75.854
+253.43 76.0697
+253.159 75.6504
+252 75.7874
+250.893 76.826
+249.585 76.3551
+251.115 75.4804
+248.776 75.5167
+245.104 76.5214
+244.101 76.2904
+245.372 76.1701
+243.269 75.9049
+245.218 75.8976
+242.783 75.5814
+244.992 75.6992
+242.336 75.2522
+244.432 74.9934
+244.44 74.9946
+> Shore Bin # 12, Level 1
+260 73.8202
+259.141 73.8404
+259.575 73.4073
+258.378 73.4958
+260 73.2456
+> Shore Bin # 12, Level 1
+260 72.967
+259.834 72.7872
+257.772 73.0927
+257.314 72.6929
+260 71.6556
+> Shore Bin # 12, Level 1
+240 72.1009
+244.678 73.5407
+242.375 74.2512
+240.874 73.9957
+240 74.2066
+> Shore Bin # 13, Level 1
+280 80.5864
+276.806 80.3267
+279.402 79.5598
+276.217 80.247
+273.503 80.298
+276.646 79.0535
+275.295 79.0196
+278.518 79.0575
+276.744 78.8444
+277.654 78.5676
+274.922 78.9223
+273.147 78.7388
+272.517 78.123
+274.18 78.3867
+274.549 78.1019
+275.403 78.5954
+275.21 77.5206
+277.702 78.0772
+275.532 77.2953
+271.771 77.8523
+273.384 77.1812
+270.336 76.5718
+271.405 76.3996
+271.579 76.7704
+272.388 76.3362
+272.472 76.6282
+273.314 76.3426
+273.39 76.6416
+274.753 76.2791
+275.681 76.6563
+276.801 76.4137
+276.603 76.7619
+277.733 76.3938
+277.259 76.8248
+278.934 76.1314
+280 76.2614
+> Shore Bin # 13, Level 1
+280 75.5317
+278.405 75.8082
+273.446 75.3608
+271.235 75.6846
+271.069 75.4289
+270.068 76.0069
+268.8 75.817
+269.806 76.0621
+268.381 76.2644
+270.804 76.2358
+268.528 76.4527
+269.029 76.652
+266.447 76.3871
+266.31 76.9172
+263.199 76.9837
+264.597 76.2309
+266.909 76.3621
+267.83 75.0001
+267.833 74.9924
+270.019 74.5295
+271.449 74.9073
+272.284 74.455
+276.409 74.542
+276.488 74.903
+278.235 74.4688
+280 74.7755
+> Shore Bin # 13, Level 1
+265.803 78.9979
+268.34 78.5679
+267.012 78.4755
+267.945 78.2033
+270.524 78.1489
+270.038 78.6125
+271.138 78.1465
+271.84 78.9952
+272.387 78.6421
+275.12 79.2686
+274.296 79.6196
+272.565 79.5323
+272.385 80.4063
+271.659 80.0777
+266.507 81.3796
+264.498 80.8132
+266.233 80.5202
+263.38 80.3508
+265.61 79.9794
+263.322 80.1463
+263.366 79.8799
+265.668 79.7694
+264.854 79.2738
+269.667 79.2436
+265.806 79.0001
+265.803 78.9979
+> Shore Bin # 13, Level 1
+280 82.8765
+277.643 82.6751
+279.58 82.0406
+274.813 82.4804
+273.14 82.1978
+275.497 81.8813
+272.034 82.1242
+268.109 81.6582
+270.496 81.6268
+269.595 81.3625
+272.789 81.4907
+270.301 81.0057
+275.357 81.2883
+270.583 80.912
+272.505 80.623
+277.694 81.1775
+274.49 80.8019
+273.938 80.5293
+276.786 80.8391
+278.266 80.8153
+276.885 80.54
+279.068 80.6538
+280 80.836
+> Shore Bin # 13, Level 1
+280 72.3938
+279.038 71.8839
+279.774 72.7362
+278.452 73.7241
+275 73.3481
+276.302 73.0072
+274.457 73.0332
+276.049 72.7472
+274.298 72.9047
+275.851 72.0066
+274.774 72.2666
+273.961 72.0212
+275.519 71.6373
+275.228 70.9329
+275 71.2049
+270.469 71.091
+271.207 70.4981
+272.142 70.2399
+273.618 70.5283
+274.181 70.0095
+274.461 70
+> Shore Bin # 13, Level 1
+260 71.6556
+260.786 71.3519
+261.822 71.424
+261.78 71.8955
+261.818 71.6455
+262.996 71.7462
+263 71.7499
+263.478 72.7561
+261.511 73.0091
+263.042 73.7485
+260 73.8202
+> Shore Bin # 13, Level 1
+275 71.2808
+273.904 71.9779
+273.716 72.7027
+275.168 73.7436
+273.442 73.8572
+270.851 73.183
+270 71.4542
+273.016 71.2152
+274.997 71.2808
+275 71.2808
+> Shore Bin # 13, Level 1
+265 71.9821
+266.548 72.4411
+265.707 72.7741
+267.901 72.7408
+269.813 73.9152
+264.709 73.9933
+264.983 71.9803
+265 71.9821
+> Shore Bin # 13, Level 1
+267.413 70
+267.642 70.2444
+268.495 70.184
+265.516 71.994
+263.4 70.8237
+264.246 70.7169
+263.884 70
+> Shore Bin # 13, Level 1
+280 77.0878
+278.201 77.1748
+278.039 77.6838
+280 77.4595
+> Shore Bin # 13, Level 1
+260 73.2456
+260.225 73.2108
+260 72.967
+> Shore Bin # 13, Level 1
+280 74.9702
+279.632 75.0166
+280 75.2204
+> Shore Bin # 13, Level 1
+278.545 70
+278.271 70.1459
+279.93 70
+> Shore Bin # 13, Level 1
+277.877 70
+276.97 70.3146
+278.082 70
+> Shore Bin # 14, Level 1
+280 77.4595
+281.272 77.314
+281.818 77.9738
+284.135 77.9576
+283.117 78.2127
+284.995 78.3262
+283.369 78.5243
+285.424 78.5872
+281.137 79.0648
+285.562 79.0306
+281.954 79.3523
+286.799 79.5164
+285.754 79.8857
+288.537 79.7227
+289.544 80.0905
+287.637 80.2174
+289.891 80.1878
+289.204 80.558
+290.508 80.3703
+295.407 81.4043
+289.984 81.082
+293.383 81.5151
+290.707 81.7086
+294.185 81.6213
+297.63 81.9979
+298.89 82.3592
+296.434 82.8328
+291.411 82.6229
+293.644 82.9351
+283 83.1295
+282.912 83.1255
+280 82.8765
+> Shore Bin # 14, Level 1
+290.847 70
+291.324 70.2072
+289.822 70.0323
+291.714 70.5255
+290.553 70.795
+289.385 70.4575
+290.116 70.8841
+288.457 70.0266
+288.835 70.5466
+288.027 70.4199
+289.396 71.059
+287.434 70.6155
+288.845 71.2732
+287.45 71.6608
+286.145 71.0495
+286.401 71.7792
+284.952 71.1789
+285.383 71.6599
+284.634 71.6843
+285.791 72.0612
+283.599 71.8592
+284.85 72.4906
+282.425 72.7619
+281.45 72.4384
+282.996 72.136
+281.119 72.2342
+282.269 71.7465
+280.21 72.5046
+280 72.3938
+> Shore Bin # 14, Level 1
+300 81.848
+298.167 81.7858
+298.213 80.9966
+296.53 81.2038
+296.892 80.7393
+295.92 81.1171
+292.532 80.3484
+292.99 80.0536
+296.152 80.1476
+293.991 79.1176
+290.957 79.0394
+286.938 78.1767
+290.68 77.4705
+293.825 77.6042
+293.84 77.2529
+290.885 77.2758
+293.643 77.1104
+288.638 77.0643
+292.081 76.685
+290.388 76.4182
+291.473 76.0905
+293.527 75.9104
+292.89 76.2504
+294.58 76.0197
+296.603 76.3804
+299.09 76.1637
+300 75.8564
+> Shore Bin # 14, Level 1
+280 80.836
+283.158 81.4528
+281.032 80.8791
+283.547 80.8748
+280 80.5864
+> Shore Bin # 14, Level 1
+281.02 70
+280.399 70.3745
+281.014 70.708
+282.017 70
+> Shore Bin # 14, Level 1
+280 76.2614
+281.61 76.4573
+281.995 76.9917
+280 77.0878
+> Shore Bin # 14, Level 1
+292.669 70
+291.839 70.3183
+290.989 70
+> Shore Bin # 14, Level 1
+300 82.0311
+299.88 82.0238
+300 81.9951
+> Shore Bin # 14, Level 1
+280 75.2204
+280.428 75.4575
+280 75.5317
+> Shore Bin # 14, Level 1
+280 74.7755
+280.651 74.8887
+280 74.9702
+> Shore Bin # 15, Level 1
+300 75.8564
+303.849 74.5566
+302.696 74.1025
+303.924 74.2799
+304.304 73.0582
+305.729 72.4884
+304.374 72.4509
+305.306 72.3691
+304.75 71.9272
+305.606 72.2425
+304.131 71.6867
+306.093 71.4447
+306.427 72.3597
+306.723 71.7145
+308.296 71.7426
+306.994 71.4224
+308.631 71.4841
+307.461 71.1667
+308.484 71.3043
+307.774 71.1133
+309.064 71.0193
+308.031 71.0257
+309.439 70.3308
+307.073 70.7687
+305.384 70.6525
+307.645 70.0494
+309.755 70.0522
+309.699 70
+> Shore Bin # 15, Level 1
+320 82.773
+315.73 83.275
+314.092 82.9284
+318.823 82.7221
+319.12 82.3635
+313.455 82.7788
+316.732 82.2335
+314.381 82.2591
+314.692 81.7559
+308.268 82.5148
+309.65 81.6036
+306.255 81.9832
+305.195 81.6045
+304.805 82.3305
+300 82.0311
+> Shore Bin # 15, Level 1
+300 81.9951
+302.783 81.3341
+300.245 81.8563
+300 81.848
+> Shore Bin # 16, Level 1
+332.222 70
+331.404 70.1059
+333.477 70.4712
+330.749 70.459
+332.063 71.1554
+333.198 70.9378
+334.566 71.275
+331.54 71.5454
+332.654 71.706
+331.63 71.9986
+335.356 71.3477
+336.623 70.4572
+337.51 70.867
+337.576 70.4651
+338.501 70.52
+337.664 71.0526
+338.241 71.4932
+337.421 71.4649
+338.079 71.7383
+336.845 71.6287
+337.461 71.9242
+335.38 72.4247
+334.488 72.1155
+334.744 72.3957
+333.666 72.3883
+335.411 72.4842
+334.735 72.8013
+333.357 72.5238
+332.534 72.8376
+334.903 73.0658
+332.284 73.1241
+333.646 73.2349
+332.672 73.4961
+334 73.2361
+335.309 73.5041
+334.238 73.9487
+335.522 73.5361
+335.857 73.808
+337.772 73.613
+335.906 73.6759
+337.597 73.248
+339.589 73.4775
+339.707 73.8587
+338.275 74.0629
+338.173 73.6411
+337.514 74.0558
+337.891 74.6043
+340 74.2893
+> Shore Bin # 16, Level 1
+340 81.5279
+338.929 81.5901
+335.219 80.5333
+337.064 82.0708
+332.189 81.3994
+333.843 81.9863
+325.727 81.8111
+327.199 82.1862
+334.226 82.1682
+338.075 82.6293
+333.06 82.7733
+333.75 83.1685
+323.119 82.7117
+325.161 83.1658
+333.2 83.3422
+321.139 83.5305
+320.264 82.7419
+320 82.773
+> Shore Bin # 16, Level 1
+340 74.5658
+338.94 74.6494
+339.368 75.0526
+337.545 75.174
+339.435 75.1893
+337.498 75.5476
+340 75.1859
+> Shore Bin # 16, Level 1
+340 77.8721
+339.113 78.0186
+338.013 77.6796
+338.158 78.1407
+340 78.9531
+> Shore Bin # 16, Level 1
+340 76.1686
+338.163 76.2138
+337.265 76.7042
+340 76.7753
+> Shore Bin # 16, Level 1
+340 79.7972
+339.583 79.7621
+339.372 80.1125
+340 80.1686
+> Shore Bin # 16, Level 1
+337.599 70
+337.896 70.0992
+334.72 70.4196
+332.819 70
+> Shore Bin # 16, Level 1
+340 80.5571
+338.722 80.5699
+340 80.634
+> Shore Bin # 16, Level 1
+340 77.4565
+338.898 77.5407
+340 77.6518
+> Shore Bin # 16, Level 1
+340 75.785
+338.128 75.9675
+340 76.1433
+> Shore Bin # 17, Level 1
+340 80.634
+345.215 80.8946
+347.127 81.7452
+343.225 81.9295
+341.602 81.4345
+340 81.5279
+> Shore Bin # 17, Level 1
+340 75.1859
+340.397 75.1289
+340.648 75.7215
+340 75.785
+> Shore Bin # 17, Level 1
+340 76.7753
+341.718 76.8199
+341.595 77.3341
+340 77.4565
+> Shore Bin # 17, Level 1
+340 74.2893
+340.355 74.2362
+341.031 74.484
+340 74.5658
+> Shore Bin # 17, Level 1
+340 76.1433
+340.215 76.1634
+340 76.1686
+> Shore Bin # 17, Level 1
+340 77.6518
+340.828 77.7351
+340 77.8721
+> Shore Bin # 17, Level 1
+340 78.9531
+342.369 79.9974
+340 79.7972
+> Shore Bin # 17, Level 1
+340 80.1686
+343.893 80.5174
+340 80.5571
+> Shore Bin # 18, Level 1
+20 69.7253
+19.6466 69.4147
+19.7201 69.8129
+18.9392 69.6243
+19.5499 69.2145
+18.1482 69.4653
+17.6907 68.6706
+16.4559 68.5074
+17.9049 68.4146
+16.285 68.3761
+16.5167 67.817
+16.0034 68.2672
+15.2776 68.0624
+15.8651 67.908
+14.8498 67.8778
+15.8874 67.579
+14.3108 67.2641
+15.4726 67.0999
+13.4893 66.9516
+13.9907 66.7974
+13.0175 66.1782
+14.1707 66.3232
+12.6766 66.0714
+13.2009 65.8282
+12.6693 65.9234
+12.0439 65.2142
+12.9607 65.3143
+11.2883 64.8788
+12.17 64.9596
+11.386 64.6874
+11.8602 64.4485
+11.2184 64.312
+10.9551 64.6078
+9.5024 63.6458
+10.4216 63.5695
+11.3851 64.1128
+10.9609 63.4475
+9.8265 63.3129
+9.67514 63.6013
+8.51484 63.3822
+8.69917 62.8167
+7.88251 62.99
+8.53162 62.6687
+6.98344 62.9561
+8.1474 62.6949
+6.25895 62.585
+7.19829 62.0989
+6.68406 62.34
+6.55161 62.1047
+5.93088 62.2225
+6.31327 62.0595
+5.09895 62.1932
+5.1783 61.8953
+6.84581 61.8709
+5.19173 61.8822
+4.99733 61.5801
+5.8558 61.4559
+4.97902 61.4217
+5.67422 61.3683
+5.23171 61.1046
+6.51774 61.1974
+6.75334 61.4186
+7.3283 61.1571
+7.58679 61.4937
+7.71252 61.2343
+7.12322 60.862
+6.64652 61.1754
+5.02235 61.0341
+5.58907 60.8717
+4.94759 60.8083
+5.27657 60.5403
+5.79904 60.7341
+5.16915 60.3743
+5.44167 60.132
+5.76577 60.3908
+5.54665 59.8863
+7.14092 60.4976
+5.22408 59.5259
+5.64828 59.2589
+6.59739 59.5592
+5.88907 59.084
+6.64744 59.0526
+6.2858 58.8392
+5.57412 59.0324
+5.66262 58.5509
+7.04845 57.9805
+8.21668 58.1086
+9.51827 59.1347
+10.4225 59.0632
+10.7533 59.9086
+11.2108 58.351
+11.7058 58.4367
+11.5682 57.928
+11.9106 58.3418
+11.7024 57.7049
+12.9409 56.5834
+12.4459 56.3041
+12.8124 55.3782
+14.1967 55.3822
+14.6883 56.1671
+15.8483 56.0737
+16.7291 57.4443
+16.4157 58.4776
+16.9491 58.4776
+16.1874 58.6418
+17.5067 58.7822
+17.6532 59.1844
+17.9232 58.8038
+18.7124 59.2784
+18.0841 59.4234
+19.0909 59.7484
+17.9901 60.6044
+17.1759 60.6825
+17.6843 63.005
+18.1216 62.7687
+20 63.5247
+> Shore Bin # 18, Level 1
+20 54.4959
+19.3735 54.2203
+19.8782 54.6403
+18.7967 54.3436
+17.9483 54.8322
+14.7317 54.0262
+14.5913 53.6017
+13.0217 54.4395
+10.8882 53.9594
+11.1324 54.3909
+10.1433 54.3204
+9.42092 54.8283
+9.55917 55.7075
+10.9609 56.4417
+10.1241 56.7115
+10.6575 57.7375
+8.59663 57.1211
+8.27588 54.7526
+8.61067 54.8817
+9.01411 54.4868
+8.57404 54.3015
+9.82589 53.5315
+8.66835 53.8947
+8.50568 53.3692
+7.95666 53.7183
+7.093 53.5859
+7.4284 53.2224
+5.87839 53.3964
+5.33425 53.0759
+5.84421 52.5843
+5.25338 52.3102
+4.73335 52.967
+4.00763 51.9632
+4.64576 51.7133
+3.43053 51.5332
+4.25025 51.3523
+1.58328 50.8728
+1.66567 50.1834
+1.30892 50
+> Shore Bin # 18, Level 1
+0 50.788
+0.00030518 50.788
+1.39406 51.1533
+1.42672 51.3928
+0.254215 51.4658
+0.932631 51.5909
+1.76577 52.4784
+1.30159 52.9337
+0.0283818 52.8971
+0 52.8876
+> Shore Bin # 18, Level 1
+20 54.9332
+19.9356 54.9165
+19.8898 54.6378
+20 54.6461
+> Shore Bin # 18, Level 1
+0 53.7638
+0 53.7638
+0 53.7638
+> Shore Bin # 18, Level 1
+0 53.5181
+0.00030518 53.5438
+0 53.5438
+> Shore Bin # 18, Level 1
+20 69.3216
+19.91 69.2712
+20 69.4397
+> Shore Bin # 19, Level 1
+20 63.5247
+20.6741 63.7957
+21.619 64.4433
+21.2326 65.3335
+21.7465 65.1913
+21.7456 65.7516
+22.3966 65.5346
+22.6398 65.9072
+24.5917 65.8437
+25.5091 65.0216
+21.1243 62.7999
+21.7975 61.4916
+21.4258 60.6035
+22.5199 60.2129
+23.0924 60.37
+22.8934 59.8088
+28.6583 60.743
+28.6232 60.3529
+30.3465 59.9504
+28.0983 59.7905
+27.9149 59.4029
+25.6965 59.6761
+23.5032 59.2305
+23.7357 58.35
+24.5859 58.3223
+24.394 57.2401
+23.6365 56.9618
+22.6099 57.7604
+21.6974 57.5666
+20.9808 56.5226
+21.2476 54.9506
+20.5142 54.9549
+21.0834 55.727
+20.5676 55.0819
+20 54.9332
+> Shore Bin # 19, Level 1
+40 64.5797
+38.4326 64.8077
+38.0035 64.5806
+38.3667 64.8437
+36.849 65.1525
+36.5338 64.7149
+38.042 64.2904
+37.4176 63.7813
+34.7836 64.5122
+34.2446 65.3753
+34.8598 65.8648
+32.9769 66.2475
+33.713 66.4126
+31.8694 67.1389
+39.1116 66.101
+40 66.4962
+> Shore Bin # 19, Level 1
+40 68.0066
+39.7766 68.1497
+35.3066 69.2514
+33.5683 69.2996
+33.0315 68.883
+33.499 69.4015
+32.155 69.4122
+32.1016 69.7421
+33.1307 69.7168
+32.0919 69.9411
+31.2618 69.5569
+30.2983 69.8804
+29.4899 69.6561
+28.8679 70
+> Shore Bin # 19, Level 1
+23.49 70
+23.4681 69.9811
+23.3634 70
+> Shore Bin # 19, Level 1
+21.8683 70
+22.1183 69.7363
+21.2738 70
+> Shore Bin # 19, Level 1
+20 69.4397
+20.2881 69.9786
+20 69.7253
+> Shore Bin # 19, Level 1
+20 54.6461
+20.4126 54.6775
+20 54.4959
+> Shore Bin # 19, Level 1
+40 65.6152
+39.7006 65.4656
+40 65.0918
+> Shore Bin # 19, Level 1
+21.2134 70
+20 69.3216
+> Shore Bin # 20, Level 1
+60 68.7204
+59.9451 68.7161
+59.765 68.338
+59.0033 68.9938
+57.3034 68.5321
+55.3616 68.5403
+54.8501 68.1396
+53.2183 68.1863
+53.6092 68.8003
+54.566 68.9783
+53.8735 68.9596
+52.3265 68.3014
+52.2167 68.5739
+48.5927 67.9132
+49.0718 67.6004
+47.8264 67.5772
+47.5599 66.8927
+46.0191 66.8164
+44.9244 67.4243
+46.6935 67.8067
+46.5458 68.125
+43.2816 68.6722
+44.2206 68.269
+44.1062 65.9619
+42.211 66.5203
+40.7401 65.9847
+40 65.6152
+> Shore Bin # 20, Level 1
+40 65.0918
+40.4636 64.5122
+40 64.5797
+> Shore Bin # 20, Level 1
+40 66.4962
+41.3907 67.1151
+40 68.0066
+> Shore Bin # 21, Level 1
+74.0948 70
+73.7642 69.1568
+75.9417 69.2544
+77.6516 68.8919
+78.1842 68.2449
+77.4859 67.7441
+78.7842 67.4682
+77.0941 67.7618
+76.5847 68.9664
+74.6667 68.7662
+74.7726 67.6999
+72.1334 66.1987
+69.1273 66.6125
+71.7498 66.9046
+73.6257 68.4234
+72.5393 68.9532
+72.6876 70
+> Shore Bin # 21, Level 1
+66.7848 70
+66.8074 69.5517
+68.1016 69.5297
+69.2641 68.9377
+68.2582 68.1271
+65.5293 69.1434
+66.1848 69.078
+60.8447 69.8645
+60.1843 69.5651
+61.189 68.8083
+60 68.7204
+> Shore Bin # 21, Level 2
+80 59.2476
+79.2963 59.5146
+78.2458 60.4094
+75.2084 61.0469
+69.2369 61.0741
+69.8906 60.6581
+69.9443 59.8244
+68.907 59.4401
+68.2231 58.1614
+68.8737 59.452
+69.9168 59.8344
+69.8375 60.6493
+65.019 62.9986
+65.7505 63.9467
+65.2082 65.0753
+65.6565 66.134
+66.5171 66.6516
+68.9699 66.8069
+68.0751 66.4892
+66.5278 66.6137
+65.778 66.1474
+65.2607 65.0851
+65.8894 63.8018
+65.893 63.7978
+65.0916 62.9851
+68.6131 61.3341
+74.464 61.2309
+78.1207 60.5721
+79.3423 59.5247
+80 59.3861
+> Shore Bin # 22, Level 1
+83.6286 70
+83.6216 69.718
+82.8754 70
+> Shore Bin # 22, Level 2
+80 59.3861
+81.2421 59.1243
+83.874 57.7391
+84.4865 57.1229
+84.0122 56.2821
+84.4483 57.1229
+82.981 58.1157
+80 59.2476
+> Shore Bin # 23, Level 2
+109.486 55.7246
+109.965 55.6721
+109.56 54.1431
+108.527 53.5096
+108.966 53.3548
+106.333 52.3389
+105.92 51.7279
+104.759 51.4649
+103.74 51.6623
+105.225 51.9156
+106.575 52.7228
+108.208 53.9225
+109.486 55.7252
+109.486 55.7246
+> Shore Bin # 23, Level 2
+120 60.2556
+118.22 59.6666
+116.801 60.4042
+114.968 60.6862
+112.353 59.2305
+114.961 60.6987
+116.858 60.4173
+118.327 59.7334
+120 60.2721
+> Shore Bin # 23, Level 2
+120 63.6068
+118.996 63.474
+120 63.6092
+> Shore Bin # 24, Level 1
+140 54.1459
+139.742 54.3003
+138.653 54.2899
+138.58 53.9954
+137.313 53.5346
+137.736 54.3207
+136.783 53.7644
+136.833 54.6467
+135.743 54.5655
+135.227 54.91
+138.228 56.4207
+140 57.585
+> Shore Bin # 24, Level 2
+125.408 70
+123.27 67.7618
+124.423 65.3149
+128.338 63.77
+133.217 63.3956
+133.284 63.0748
+135.55 62.6683
+135.12 60.3719
+134.547 60.4454
+135.025 60.4402
+135.181 61.2227
+135.512 62.6546
+133.258 63.0517
+133.195 63.3672
+129.452 63.474
+130.071 62.2954
+128.728 61.2679
+124.11 60.5715
+121.277 60.6459
+120.682 60.4289
+121.135 60.0713
+120.238 60.3352
+120.233 60.3325
+120 60.2556
+> Shore Bin # 24, Level 2
+120 60.2721
+121.227 60.6673
+124.108 60.5925
+129.238 61.8074
+129.526 63.2326
+126.451 64.3719
+125.283 63.8576
+123.677 64.0923
+120 63.6068
+> Shore Bin # 24, Level 2
+120 63.6092
+123.67 64.1033
+125.251 63.9013
+126.169 64.295
+124.38 65.1397
+122.963 67.5399
+125.31 70
+> Shore Bin # 25, Level 1
+140 57.585
+142.462 59.2021
+145.692 59.4261
+146.047 59.1386
+146.505 59.463
+148.932 59.2305
+149.433 59.7588
+152.321 59.225
+151.103 59.1063
+151.342 58.8347
+155.188 59.1713
+154.98 59.4929
+154.129 59.4524
+154.231 59.8732
+156.681 61.5221
+160 61.9091
+> Shore Bin # 25, Level 1
+160 59.1093
+158.32 57.9771
+156.851 57.7974
+155.989 56.6783
+155.563 55.1759
+156.673 50.8621
+158.542 52.2892
+158.417 52.9987
+160 53.0872
+> Shore Bin # 25, Level 1
+144.019 50
+143.206 51.5174
+142.707 54.4288
+142.251 54.3033
+142.786 53.7058
+141.768 53.3759
+141.626 52.3276
+142.254 51.1234
+142.199 50
+> Shore Bin # 25, Level 1
+140.418 50
+140.437 50.7175
+141.546 52.1509
+140.631 53.1458
+141.203 52.9978
+141.424 53.295
+140 54.1459
+> Shore Bin # 25, Level 1
+160 61.4998
+159.773 61.2383
+159.792 60.927
+160 60.9612
+> Shore Bin # 25, Level 1
+160 53.8944
+159.984 54.1541
+160 54.1584
+> Shore Bin # 26, Level 1
+160 54.1584
+162.144 54.7483
+162.087 56.0941
+163.361 56.1875
+162.676 57.3365
+163.319 57.7275
+161.891 57.9774
+163.637 59.9986
+164.487 60.1012
+164.836 59.7829
+166.275 60.472
+166.278 59.8112
+167.012 60.4131
+169.253 60.613
+170.31 59.9272
+170.549 60.4268
+173.532 61.7504
+177.115 62.5463
+179.148 62.2853
+179.622 62.7276
+178.234 64.4332
+178.248 64.1671
+177.508 64.7411
+176.072 64.4469
+176.167 64.6957
+175.142 64.7225
+179.525 64.7945
+180 65.0845
+> Shore Bin # 26, Level 1
+160 60.9612
+160.441 61.0332
+160.213 60.5788
+162.388 61.6622
+163.329 61.6606
+163.261 62.5179
+164.61 62.6812
+165.309 62.4691
+164.149 62.2707
+163.789 60.8226
+161.942 60.4179
+160 59.1093
+> Shore Bin # 26, Level 1
+170.461 70
+170.163 69.5975
+171.179 69.0298
+170.482 68.7637
+168.322 69.2221
+167.808 69.7644
+166.873 69.462
+162.347 69.6738
+161.113 69.1604
+160.051 70
+> Shore Bin # 26, Level 1
+180 68.9938
+176.082 69.8837
+173.223 69.7653
+171.452 70
+> Shore Bin # 26, Level 1
+160 53.0872
+160.049 53.09
+160 53.8944
+> Shore Bin # 26, Level 1
+160 61.9091
+160.397 61.9554
+160 61.4998
+> Shore Bin # 27, Level 1
+197.617 70
+196.048 68.9895
+193.77 68.8769
+193.152 68.3377
+195.831 67.6263
+196.302 67.1066
+198.347 67.0224
+198.512 66.5258
+199.788 66.4581
+198.416 66.4416
+197.529 66.9525
+198.908 66.1123
+196.239 66.0613
+195.596 66.5826
+191.895 65.6851
+193.946 65.2517
+193.04 65.1638
+193.788 64.5788
+196.832 64.396
+196.865 64.6529
+197.206 64.3233
+198.253 64.8455
+199.214 64.7179
+198.464 64.4173
+199.271 63.8708
+198.857 63.5036
+197.687 63.5436
+196.692 63.0037
+195.573 63.2116
+193.875 61.4934
+194.438 61.0875
+195.217 61.1394
+194.871 60.9166
+196.582 60.7265
+195.508 60.5544
+195.872 59.8366
+197.805 60.1576
+198.479 59.1044
+197.864 58.6339
+199.661 59.0773
+200 58.9174
+> Shore Bin # 27, Level 1
+180 65.0845
+180.724 65.5267
+180.618 66.3214
+181.549 66.3616
+181.555 65.4672
+183.505 65.537
+184.565 64.7637
+186.347 64.3212
+186.675 64.6111
+186.85 64.2397
+187.764 64.4024
+186.789 64.7576
+187.881 65.0491
+187.914 65.4867
+186.991 65.7015
+188.95 65.4672
+188.557 65.8322
+189.435 65.613
+190.326 66.1364
+188.333 66.9445
+186.37 67.117
+185.374 67.0517
+186.055 66.1447
+184.743 67.6587
+180.002 68.9929
+180 68.9938
+180 68.9938
+> Shore Bin # 27, Level 1
+200 56.4305
+199.665 56.2943
+199.743 55.7679
+198.196 55.8964
+196.643 54.8112
+197.026 55.0288
+197.447 54.9574
+197.355 55.3034
+198.038 55.1063
+198.42 55.6208
+198.763 55.355
+200 55.7911
+> Shore Bin # 28, Level 1
+200 55.7911
+200.183 55.8558
+200.4 55.5631
+204.385 57.7925
+205.787 58.1343
+206.75 58.8524
+205.834 59.0105
+205.859 59.3736
+209.419 61.36
+210.847 61.5029
+209.921 61.1574
+211.031 60.8074
+209.61 61.0399
+208.586 60.7201
+208.133 59.7606
+209.07 59.7914
+208.257 59.1566
+210.259 59.6367
+210.277 59.9541
+210.474 59.705
+210.573 60.1228
+211.574 59.9489
+212.064 60.4384
+211.286 60.7866
+212.279 61.2767
+212.123 60.8254
+212.48 61.1547
+212.615 60.8711
+213.685 61.1339
+213.262 60.9084
+213.947 60.8248
+213.343 60.685
+213.955 60.7958
+214.051 60.4537
+215.122 60.4573
+215.748 60.0246
+218.589 60.1399
+219.685 59.6919
+220 59.8357
+> Shore Bin # 28, Level 1
+200 58.9174
+201.115 58.3919
+201.461 59.1417
+201.811 58.6116
+203.158 59.0358
+202.464 58.3992
+202.599 57.4867
+200 56.4305
+> Shore Bin # 28, Level 1
+220 69.5135
+217.38 70
+> Shore Bin # 29, Level 1
+220 59.8357
+220.485 60.0566
+221.114 59.8067
+220.7 59.5613
+220.495 59.9913
+220.137 59.5357
+223.313 58.2103
+223.961 58.3848
+222.952 59.0675
+223.763 58.7514
+223.814 59.0681
+224.079 58.3809
+224.909 58.2408
+224.65 59.4807
+225.217 58.3934
+225.853 58.202
+226.287 58.538
+225.944 58.0623
+226.864 57.8642
+226.411 57.7702
+227.106 57.4958
+226.337 57.714
+226.943 57.3576
+226.427 57.1833
+228.509 56.2367
+227.814 55.5891
+228.969 56.1021
+229.295 55.7557
+229.133 54.7706
+229.862 55.3291
+230.067 55.9489
+229.828 55.0736
+230.339 54.9784
+229.557 54.654
+230.012 54.3043
+229.552 54.6488
+229.511 54.3641
+230.442 54.221
+229.889 53.95
+230.685 53.3713
+231.314 53.9976
+231.23 53.5474
+231.879 53.4913
+231.011 53.545
+232.168 52.7362
+231.589 52.2907
+231.981 52.5248
+232.124 52.1964
+232.996 52.6664
+232.101 51.8192
+232.322 51.4621
+232.754 51.6815
+232.218 51.3217
+232.939 51.3516
+232.214 51.1624
+233.343 51.196
+232.469 51.0141
+233.807 50.9479
+233.414 50.8493
+233.777 50.6958
+234.463 50.9961
+233.701 50.6317
+234.293 50.4211
+234.528 50.7211
+234.404 50.4492
+234.882 50.4282
+235.178 50.9293
+234.919 50.3241
+235.66 50.5069
+235.192 50.0107
+235.213 50
+> Shore Bin # 29, Level 1
+234.943 50
+234.555 50.3354
+231.568 50.7855
+231.952 50.4422
+232.581 50.6058
+232.082 50.1141
+232.905 50.1462
+233.086 50
+> Shore Bin # 29, Level 1
+229.375 70
+226.979 69.3597
+225.794 69.248
+225.501 69.7089
+224.001 69.2062
+224.705 68.6398
+220 69.5135
+> Shore Bin # 29, Level 1
+240 69.4504
+238.12 69.8172
+235.626 69.3359
+235.509 70
+> Shore Bin # 29, Level 1
+235.988 50
+236.148 50.1627
+236.264 50
+> Shore Bin # 29, Level 1
+231.972 70
+229.119 69.306
+230.006 70
+> Shore Bin # 29, Level 1
+235.263 70
+234.535 69.3115
+233.134 70
+> Shore Bin # 29, Level 2
+240 65.1638
+238.823 64.8104
+239.592 65.5859
+237.96 64.9389
+236.509 65.1601
+236.508 65.1632
+237.86 65.7839
+237.214 65.9664
+238.771 66.079
+236.992 66.2551
+235.21 65.9088
+235.024 66.3067
+240 67.0193
+> Shore Bin # 29, Level 2
+240 66.528
+239.548 66.3784
+240 66.3671
+> Shore Bin # 30, Level 1
+260 67.6785
+257.783 67.6593
+256.616 68.1585
+255.003 68.1549
+253.811 68.9468
+251.189 68.266
+252.44 68.1668
+254.259 68.5953
+251.971 67.7752
+252.956 67.138
+252.934 66.8185
+252.237 66.9616
+252.793 66.3473
+251.464 67.0623
+252.036 67.2833
+249.964 68.0108
+248.134 67.6681
+244.902 67.8027
+244.751 68.1888
+246.111 68.3981
+245.022 68.8711
+242.93 68.8785
+240 69.4504
+> Shore Bin # 30, Level 1
+242.689 70
+243.5 69.4076
+246.444 68.9999
+246.446 68.999
+246.812 68.4613
+250.989 68.7289
+253.406 69.4955
+254.875 68.8959
+258.228 69.0079
+257.709 69.516
+256.824 69.1037
+256.478 69.7046
+257.424 69.5419
+258.565 69.9353
+259.047 69.6674
+259.029 70
+> Shore Bin # 30, Level 2
+244.978 60.8879
+242.316 61.3024
+244.039 61.1724
+244.454 61.7491
+245.379 61.8556
+244.008 62.7791
+246.681 61.9896
+249.284 62.9204
+251.099 62.7996
+248.609 62.632
+248.329 62.3592
+249.585 62.6802
+250.317 62.6656
+249.229 62.5393
+250.15 62.5554
+248.938 62.3806
+246.258 61.0085
+244.973 60.8818
+244.978 60.8879
+> Shore Bin # 30, Level 2
+240 66.3671
+241.442 66.3311
+242.396 66.6748
+242.193 65.7241
+240.309 65.794
+240.525 65.3216
+240 65.1638
+> Shore Bin # 30, Level 2
+240 67.0193
+240.193 67.0471
+241.047 66.8746
+240 66.528
+> Shore Bin # 31, Level 1
+280 51.171
+279.371 51.2705
+279.431 51.7008
+277.669 52.9438
+277.674 55.1514
+274.791 55.2354
+269.197 57.3231
+267.188 56.9139
+267.572 57.3509
+266.823 58.737
+265.798 58.7889
+265.743 58.4059
+265.031 59.0593
+265.243 60.5156
+266.739 61.7348
+266.359 61.953
+268.15 62.5722
+267.6 62.8396
+268.614 62.7807
+269.371 63.1582
+268.283 63.6849
+267.537 63.5174
+267.773 63.7459
+266.051 63.9178
+266.192 64.2144
+269.35 63.4453
+270.02 64.1622
+271.887 64.1454
+273.089 65.1409
+269.076 65.9258
+270.178 65.9924
+272.66 65.3204
+274.142 66.1593
+273.23 66.5399
+276.193 66.1437
+274.823 66.91
+276.09 66.9168
+276.65 66.3452
+278.812 67.4545
+277.356 68.4384
+278.762 68.6401
+277.958 68.8815
+278.678 69.1992
+276.745 69.5373
+277.452 69.7012
+274.458 69.8621
+275.289 68.7283
+274.379 68.7372
+273.488 67.3339
+272.5 67.1072
+271.774 68.9191
+270.669 69.2447
+269.752 68.1866
+268.573 69.3582
+269.651 69.4592
+267.124 69.6909
+267.413 70
+> Shore Bin # 31, Level 1
+263.884 70
+263.814 69.8624
+266.658 69.3774
+265.739 69.3219
+265.384 68.7518
+266.178 69.0143
+266.544 68.5794
+264.532 68.0627
+264.696 67.1664
+263.554 67.4658
+264.118 68.3011
+263.332 68.0063
+263.632 68.3206
+262.696 68.5071
+261.319 68.3987
+261.933 67.9168
+262.794 67.9501
+262.689 67.5201
+261.436 68.1057
+261.114 67.6883
+260 67.6785
+> Shore Bin # 31, Level 1
+279 63.4374
+279.864 63.7752
+279.079 64.1225
+278.012 63.9788
+278.175 64.5486
+275.491 65.4791
+275.09 65.2145
+274.405 65.9133
+273.821 64.0887
+272.835 63.5753
+274.32 63.7133
+274.789 63.1069
+276.996 64.1814
+277.506 63.6571
+278.992 63.4356
+279 63.4374
+> Shore Bin # 31, Level 1
+274.461 70
+278.239 69.8743
+277.877 70
+> Shore Bin # 31, Level 1
+278.082 70
+279.067 69.7211
+278.545 70
+> Shore Bin # 31, Level 1
+279.93 70
+280 69.9939
+> Shore Bin # 31, Level 2
+261.565 53.0466
+260.784 53.3301
+261.092 53.8788
+262.116 53.7031
+261.989 54.4144
+262.268 54.0864
+263.742 51.2128
+263.338 50.3977
+263.277 51.6065
+262.741 51.431
+262.513 52.1311
+261.975 51.9437
+261.102 52.8507
+261.475 52.9975
+261.565 53.0466
+> Shore Bin # 32, Level 1
+282.017 70
+282.373 69.7485
+283.007 69.9887
+282.811 69.642
+283.804 69.6725
+284.412 69.2358
+283.353 68.695
+284.528 69.0271
+285.769 68.5193
+286.339 68.6648
+287.847 67.2705
+286.995 66.7788
+287.948 66.6702
+286.929 66.7208
+285.542 66.1651
+286.528 65.4476
+284.197 65.234
+282.624 65.4714
+281.97 64.4274
+285.539 64.3838
+285.393 64.9023
+286.423 64.3139
+286.716 64.6606
+287.36 63.8451
+288.8 63.5943
+287.879 63.4423
+288.359 63.1331
+294.002 61.9536
+294.001 61.9548
+291.017 63.756
+292.312 63.369
+292.085 63.7694
+295.102 62.6317
+294.684 63.8051
+295.483 63.2421
+295.388 63.9767
+294.329 64.3032
+294.96 64.4308
+294.313 64.8486
+293.686 64.6102
+293.323 65.0417
+293.269 64.7207
+292.684 65.6652
+291.764 65.4275
+291.633 66.0726
+292.867 66.0183
+292.06 66.6336
+293.263 66.5972
+294.015 66.1071
+294.519 66.3857
+294.125 65.9442
+295.642 66.3555
+294.499 65.7406
+296.463 64.8763
+296.471 65.9301
+297.323 65.5746
+297.051 66.1468
+298.051 66
+297.104 66.3342
+298.457 66.3186
+297.802 66.6149
+298.708 66.6674
+297.973 67.0529
+297.266 66.6561
+297.158 66.968
+296.19 66.8045
+296.882 67.3321
+296.187 66.9003
+296.5 67.2354
+295.28 67.008
+296.042 67.2665
+295.205 67.3687
+296.049 67.3425
+295.47 67.8103
+294.77 67.6422
+295.278 67.9779
+294.657 67.5888
+294.196 67.973
+293.967 67.5967
+294.06 68.0328
+293.626 67.7682
+293.686 68.1247
+293.252 67.9324
+292.981 68.331
+292.117 68.2693
+293.326 68.4469
+290.592 68.8153
+292.224 68.7854
+291.8 69.1516
+290.988 68.9773
+291.916 69.223
+290.96 69.3579
+293.299 69.1708
+292.769 69.4675
+289.938 69.5425
+292.794 69.718
+292.741 69.9725
+292.669 70
+> Shore Bin # 32, Level 1
+300 55.2512
+299.304 54.9866
+299.677 55.7774
+299.33 55.5488
+299.405 55.8122
+298.247 55.9644
+298.679 56.2242
+297.973 56.2263
+298.419 56.2824
+297.776 56.4717
+298.349 56.5391
+297.461 56.7558
+298.328 56.6188
+298.637 57.1
+297.467 57.4891
+298.108 57.6326
+297.321 57.9292
+297.55 58.173
+296.644 57.9692
+297.442 58.48
+296.392 58.2918
+297.147 58.7007
+296.862 59.0547
+295.949 59.0193
+296.642 59.1975
+295.301 60.0249
+295.633 60.2467
+295.152 60.3728
+294.463 59.7456
+294.986 59.3834
+294.252 59.2705
+294.685 59.0459
+293.913 58.8185
+294.029 58.2725
+293.623 58.8548
+292.325 58.0153
+291.992 58.5847
+291.315 58.0024
+291.651 58.7816
+289.744 58.7773
+290.154 59.0599
+290.454 58.809
+290.762 59.323
+290.239 59.3214
+290.282 59.9666
+289.125 60.0459
+290.383 60.0716
+290.496 61.0677
+290.103 60.7994
+288.38 61.1534
+288.446 61.6173
+287.729 61.5743
+286.305 62.4822
+285.468 62.1068
+282.572 62.582
+281.805 62.2548
+282.517 61.5331
+281.773 60.7839
+282.491 60.8403
+282.804 60.0438
+281.399 58.6775
+282.998 58.0211
+283.474 56.3758
+282.369 55.2781
+280.239 54.6345
+280.968 54.1697
+281.594 52.233
+280.954 51.763
+281.14 51.1725
+280.689 51.6638
+280.242 51.1325
+280 51.171
+> Shore Bin # 32, Level 1
+300 53.541
+299.228 53.2459
+300 53.563
+> Shore Bin # 32, Level 1
+290.989 70
+289.977 69.6213
+290.847 70
+> Shore Bin # 32, Level 1
+280 69.9939
+281.205 69.888
+281.02 70
+> Shore Bin # 32, Level 1
+293.284 50
+293.543 50.2679
+300 50.2631
+> Shore Bin # 33, Level 1
+309.699 70
+308.846 69.2059
+310.028 69.18
+309.628 68.8952
+308.896 69.1357
+309.34 68.5061
+307.75 68.6477
+306.528 68.3099
+309.198 68.5037
+308.559 68.1866
+309.669 67.9208
+306.667 68.1888
+307.932 67.9541
+306.793 68.0322
+306.311 67.4795
+308.39 67.977
+307.732 67.7978
+309.744 67.8509
+306.192 67.4075
+308.547 67.3382
+306.117 67.1557
+307.767 66.8408
+306.507 66.6455
+307.583 66.5234
+306.405 66.5197
+306.922 66.3333
+306.318 66.1083
+309.038 66.9686
+309.653 66.8399
+306.519 66.029
+308.242 66.0732
+306.796 65.7525
+307.51 65.378
+308.765 65.8148
+309.536 65.6725
+307.424 65.3091
+308.029 65.3124
+307.79 64.797
+308.734 64.9932
+307.832 64.6835
+307.998 64.1878
+309.347 64.735
+309.003 65.2178
+310.352 64.3383
+309.11 64.6139
+309.794 64.436
+308.243 64.1692
+309.904 64.1268
+308.395 64.0322
+309.093 63.9217
+308.447 63.6684
+309.494 63.6535
+308.757 63.4307
+309.836 63.3776
+308.891 63.3318
+309.946 63.2168
+309.637 62.7721
+310.304 63.0498
+309.682 62.4868
+310.721 62.2649
+310.285 61.9622
+311.163 62.0708
+310.502 61.8041
+311.162 61.9838
+310.809 61.6967
+311.392 61.6316
+310.727 61.5325
+311.734 61.5276
+310.911 61.3851
+312.08 61.3179
+312.341 60.8028
+314.788 61.1952
+313.764 60.7375
+314.603 61.0005
+314.011 60.565
+314.785 60.7637
+314.793 60.3938
+315.372 60.7103
+314.824 60.1292
+315.532 60.5388
+315.301 59.995
+315.887 60.3529
+316.861 60.0716
+315.781 60.5525
+317.128 60.5461
+316.471 60.8116
+317.296 61.0558
+316.371 61.1241
+317.362 61.0854
+316.749 61.3268
+317.596 61.4882
+316.919 61.5898
+317.767 61.6976
+317.126 61.7607
+317.889 61.9991
+317.002 62.5133
+317.852 62.3784
+316.844 62.7459
+318.218 62.8194
+317.887 63.2479
+318.689 63.0541
+318.071 63.4643
+318.86 63.2937
+318.399 63.4841
+319.254 63.5784
+318.488 63.857
+319.491 63.6849
+319.414 64.1067
+318.431 64.2507
+319.654 64.3432
+318.867 65.1354
+319.781 64.9837
+320 65.4238
+> Shore Bin # 33, Level 1
+300 50.2631
+300.095 50.2631
+301.31 51.2613
+303.042 51.4237
+304.308 52.0883
+303.749 52.45
+304.372 52.4448
+303.459 52.6032
+304.234 52.5934
+303.806 52.8315
+304.199 53.335
+303.517 53.7888
+302.628 53.4253
+302.872 53.9399
+301.825 54.238
+300 53.541
+> Shore Bin # 33, Level 1
+300 53.563
+301.619 54.2274
+300.407 54.0372
+302.666 54.5808
+301.811 54.7483
+302.057 54.9305
+301.027 54.827
+300.972 55.1545
+300.595 54.9686
+300.803 55.2396
+300.065 54.7446
+300.584 55.1585
+300.013 55.1075
+300.222 55.3355
+300 55.2512
+> Shore Bin # 33, Level 1
+303.465 50
+304.269 51.0935
+303.916 51.3632
+304.506 51.3724
+304.098 51.6312
+302.589 50.7025
+302.423 50
+> Shore Bin # 33, Level 1
+303.807 50
+303.84 50.1563
+303.659 50
+> Shore Bin # 34, Level 1
+320 65.4238
+320.07 65.5645
+321.807 65.6146
+322.128 66.4178
+322.844 66.3082
+322.194 65.8657
+322.8 65.7427
+322.745 66.0986
+323.003 65.8544
+324.414 66.1166
+324.113 66.4428
+325.21 66.3195
+326.766 67.6825
+327.949 67.9358
+327.408 68.6447
+328.373 68.0804
+329.925 68.1372
+330.008 68.4347
+330.578 68.2171
+333.613 68.6679
+337.599 70
+> Shore Bin # 34, Level 1
+340 65.9347
+339.579 66.0888
+338.913 65.158
+338.677 66.0082
+336.863 66.4321
+337.567 65.8334
+336.53 66.1987
+336.743 65.6783
+335.903 65.8071
+336.227 65.5343
+335.472 65.5026
+338.319 65.4559
+337.396 65.1867
+338.198 65.0262
+335.954 64.8882
+338.644 64.3874
+337.296 63.8009
+338.947 63.9413
+340 63.691
+> Shore Bin # 34, Level 1
+332.819 70
+332.598 69.9512
+332.222 70
+> Shore Bin # 35, Level 1
+360 53.7638
+359.922 54.1199
+358.788 54.5808
+357.863 55.9159
+356.151 56.1173
+357.404 56.2675
+356.623 56.3807
+357.461 56.5666
+358.181 57.6109
+355.562 57.4861
+356.977 58.6433
+354.997 58.6281
+354.928 57.819
+354.186 57.855
+354.612 57.1083
+353.771 56.7259
+354.996 56.7124
+354.194 55.3025
+354.684 55.8515
+355.248 56.2071
+355.572 55.9034
+355.116 55.9425
+354.854 54.8548
+355.143 54.6311
+355.143 54.8688
+356.948 54.9824
+356.357 54.5084
+356.848 54.0613
+357.201 54.2399
+356.892 53.5459
+357.319 53.3548
+355.801 53.2123
+355.231 52.7951
+355.942 52.923
+356.063 52.5534
+354.679 51.8607
+356.597 51.3803
+357.653 51.7975
+356.943 51.1771
+355.769 51.1865
+354.284 50.0616
+356.357 50.2188
+356.523 50.687
+359.995 50.788
+360 50.788
+> Shore Bin # 35, Level 1
+352 51.8589
+353.686 52.2409
+353.601 54.0134
+354.569 54.484
+353.858 55.2277
+352.685 55.0062
+353.078 55.2366
+352.612 55.3812
+352.37 54.9619
+352.015 55.2262
+351.189 54.6992
+351.884 54.6491
+351.481 54.2112
+349.886 54.2408
+350.449 53.8007
+349.816 53.4083
+351.121 53.2084
+350.059 52.5574
+351.302 52.6532
+349.637 52.2354
+350.241 52.1567
+349.596 51.8433
+350.444 51.8824
+349.836 51.6117
+350.542 51.7295
+350.225 51.4447
+351.998 51.8579
+352 51.8589
+> Shore Bin # 35, Level 1
+340 63.691
+341.266 63.3904
+343.001 63.7932
+343 63.7939
+345.042 64.2403
+346.319 64.9142
+345.768 65.035
+346.509 65.0774
+344.816 66.1068
+345.473 66.3806
+344.602 66.1596
+343.807 66.5405
+343.425 66.0836
+341.73 66.177
+341.948 65.6478
+341.213 66.1953
+340.595 65.7171
+340 65.9347
+> Shore Bin # 35, Level 1
+360 53.5438
+359.776 53.6509
+359.219 53.6957
+360 53.7638
+> Shore Bin # 35, Level 1
+360 52.8876
+359.992 52.8849
+360 53.5181
+> Shore Bin # 36, Level 1
+0 39.9413
+0.979934 41.0344
+3.20317 41.8911
+2.95109 42.8331
+3.3341 43.2869
+4.08515 43.5613
+6.15824 43.0297
+8.74739 44.4271
+10.1799 43.9611
+11.0933 42.3946
+15.6768 40.0304
+16.2213 38.8533
+15.6344 38.0174
+16.065 37.9237
+16.6049 38.813
+17.2088 39.0275
+16.4886 39.7591
+16.8948 40.4305
+17.8582 40.2837
+18.3474 39.7905
+18.5162 40.136
+15.9615 41.4604
+16.1532 41.9097
+14.7881 42.0455
+13.6266 43.5521
+12.3958 44.2055
+12.1428 45.3866
+13.5439 45.7946
+13.9049 44.7671
+14.5592 45.2963
+15.9518 43.5045
+16.8865 43.3996
+17.742 42.8341
+17.0083 43.0053
+18.7625 42.4904
+19.595 41.812
+19.2886 40.4201
+20 39.6925
+> Shore Bin # 36, Level 1
+20 30.82
+18.9899 30.2747
+17.8534 30.9253
+15.7418 31.398
+15.205 32.3819
+13.3883 32.898
+12.2991 32.8379
+10.2141 33.7971
+10.0179 34.1874
+11.1629 35.2158
+10.4677 36.1357
+11.039 37.0896
+10.4317 36.7127
+9.74502 37.3497
+7.8999 36.8431
+6.41581 37.0863
+5.34401 36.6413
+3.89593 36.9255
+1.084 36.4936
+0.00030518 35.843
+0 35.843
+> Shore Bin # 36, Level 1
+8.45136 38.9973
+9.63455 39.2973
+9.832 40.5284
+9.23079 41.2596
+8.17609 40.9383
+8.45136 38.9949
+8.45136 38.9973
+> Shore Bin # 36, Level 1
+14.9993 36.7012
+15.6509 38.2713
+12.4889 38.0183
+12.6583 37.5654
+14.9975 36.7012
+14.9993 36.7012
+> Shore Bin # 36, Level 1
+0 38.6098
+0.235294 38.7382
+0 38.9317
+> Shore Bin # 36, Level 1
+1.30892 50
+0 49.328
+0 49.328
+> Shore Bin # 37, Level 1
+20 39.6925
+20.7257 38.9503
+21.1179 39.0391
+20.7288 38.8148
+21.0993 38.3345
+23.2255 38.155
+22.8959 37.9338
+21.3687 38.2176
+21.1044 37.8508
+21.7038 36.8141
+22.1259 37.0246
+22.4823 36.3877
+22.6349 36.8055
+23.1983 36.4344
+22.7179 37.5608
+23.5157 37.4305
+22.9938 37.8776
+23.52 38.0436
+24.0308 37.6469
+24.0812 38.1624
+22.5269 38.8576
+23.057 39.0159
+22.9358 39.3587
+23.3503 39.1859
+22.5855 40.4668
+22.9282 40.6371
+23.949 39.9388
+23.7351 40.3554
+24.4028 40.1558
+23.7333 40.7536
+25.1365 41.0121
+26.8083 40.6453
+26.1823 40.0395
+27.5157 40.9761
+28.9818 40.9987
+27.7217 42.4086
+27.306 42.3833
+28.5835 43.4841
+28.8634 44.9538
+28.9949 44.6828
+29.6086 44.8507
+29.6312 45.8242
+29.7423 45.602
+30.1311 45.9023
+29.7209 45.5828
+30.4771 46.0732
+30.1408 46.3821
+30.4799 46.0778
+30.7591 46.5496
+31.989 46.8896
+32.4462 46.4883
+31.5093 46.5795
+32.0278 46.4382
+31.7876 46.267
+33.5973 46.1538
+33.6867 45.8328
+32.4804 45.3866
+33.2033 45.4421
+33.3822 44.5791
+33.9767 44.388
+36.6464 45.3741
+35.465 45.3011
+34.815 46.1462
+35.4638 45.2825
+34.9734 45.3613
+34.4656 45.9149
+35.1858 46.528
+34.9908 46.0769
+35.921 46.6555
+39.2624 47.2622
+38.5934 46.6619
+37.6962 46.7025
+38.5901 46.0372
+38.2748 46.2588
+37.5326 45.3796
+36.6003 45.1934
+40 43.4664
+> Shore Bin # 37, Level 1
+40 40.92
+38.3774 40.9087
+36.4092 41.2447
+35.0134 42.0986
+33.3416 42.0262
+31.2108 41.0994
+29.1615 41.2212
+29.2525 40.8013
+29.9358 40.7179
+28.9751 40.6404
+28.9851 40.3563
+26.7475 40.4045
+26.1488 39.915
+26.0725 39.4704
+26.948 39.565
+26.7222 38.65
+27.1736 38.4459
+26.6767 38.3113
+26.4182 38.6796
+26.2315 38.2655
+27.2563 37.9759
+27.0045 37.6576
+27.6472 37.2441
+27.2642 36.9636
+28.3354 37.0542
+27.4049 36.663
+28.4617 36.8797
+29.6849 36.1314
+30.4048 36.1994
+30.6368 36.8562
+31.1708 36.8504
+32.7926 36.0264
+33.9617 36.2205
+34.6401 36.797
+35.3548 36.533
+36.1538 36.8373
+35.7137 35.5866
+35.9887 34.5374
+34.237 31.3382
+32.0992 31.048
+31.9191 31.5311
+31.0283 31.6004
+29.0651 30.8222
+26.9825 31.442
+25.2009 31.5238
+24.9799 31.9712
+23.3201 32.1527
+23.1073 32.6355
+21.7084 32.9413
+20.1001 32.182
+20.0571 30.8508
+20 30.82
+> Shore Bin # 38, Level 1
+47.9878 30
+47.9567 30.0711
+48.8832 30.0095
+48.9253 30.3848
+49.5543 30.0003
+50.0954 30.1782
+50.1985 30
+> Shore Bin # 38, Level 1
+40 43.4664
+41.4359 42.737
+41.7795 41.8425
+41.4051 41.3771
+40.1709 40.9212
+40 40.92
+> Shore Bin # 38, Level 2
+49.3516 39.3214
+49.4881 40.1506
+50.3587 40.3703
+49.528 40.6627
+47.7385 42.6339
+47.6985 43.8689
+47.4073 43.5012
+46.7124 44.6477
+47.3802 45.7449
+48.7874 45.8346
+49.3019 46.5838
+51.1901 47.1148
+52.9055 46.9619
+53.2073 46.6467
+52.733 45.5496
+53.2567 45.3301
+51.4147 45.3845
+50.9529 44.862
+51.5703 44.5138
+50.3157 44.6587
+50.2306 44.3743
+50.84 44.193
+51.2654 43.153
+52.7382 42.7102
+52.4053 42.0882
+52.8579 41.0625
+52.9467 41.9731
+53.6596 42.1434
+54.7662 41.0387
+53.7462 40.6154
+52.9186 41.0817
+52.6903 40.2721
+53.0388 39.7398
+52.9055 40.0124
+53.576 39.966
+53.734 39.5122
+53.2641 39.6553
+53.16 39.1801
+53.5637 39.3574
+53.984 38.9158
+54.0285 36.8248
+51.874 36.5843
+49.2134 37.5743
+48.8301 38.8594
+49.3404 39.3281
+49.3516 39.3214
+> Shore Bin # 38, Level 2
+60 43.4365
+59.7574 43.3907
+59.4958 43.7963
+58.331 43.7523
+58.1793 44.8525
+58.6715 45.8343
+59.4913 45.8141
+59.4263 46.311
+59.8886 46.0967
+60 46.296
+> Shore Bin # 39, Level 2
+60 46.296
+60.235 46.7163
+61.0852 46.484
+61.7115 46.7459
+60.8963 46.1059
+60.9326 45.6405
+61.9651 45.0436
+61.4524 44.7356
+61.452 44.7356
+60.7269 44.0188
+61.0163 43.6294
+60 43.4365
+> Shore Bin # 41, Level 1
+120 37.5038
+119.185 37.1421
+118.84 38.2136
+117.691 38.3891
+117.718 39.106
+119.005 39.1972
+120 40.0227
+> Shore Bin # 41, Level 1
+120 34.4034
+119.184 34.6903
+119.201 35.005
+120 35.7078
+> Shore Bin # 42, Level 1
+120 40.0227
+120.973 40.8302
+121.884 41.0488
+122.278 40.4649
+121.249 39.3849
+121.943 39.4032
+121.139 38.7245
+123.626 39.9355
+125.559 39.6654
+125.126 38.8768
+125.604 38.6491
+124.961 38.593
+124.652 38.1285
+125.26 38.0855
+124.976 37.9307
+125.515 37.8953
+125.628 38.0412
+126.52 37.7659
+126.858 36.7851
+126.497 37.0603
+126.109 36.7732
+126.419 36.3996
+126.511 36.6743
+126.493 36.1338
+126.894 36.1418
+126.239 35.1118
+126.622 34.6265
+126.28 34.5957
+126.525 34.293
+127.243 34.777
+127.34 34.4446
+127.516 34.8887
+127.803 34.5878
+127.721 34.9989
+128.424 34.7611
+128.589 35.2113
+129.091 35.0504
+129.584 36.0157
+129.431 37.06
+128.361 38.6879
+127.379 39.2134
+127.507 39.7368
+129.716 40.8336
+129.76 41.765
+130.7 42.2976
+130.673 42.6754
+131.221 42.553
+131.76 43.3379
+133.043 42.6729
+135.136 43.5021
+138.106 46.2362
+140 48.5046
+> Shore Bin # 42, Level 1
+140 39.4453
+139.425 38.1486
+137.332 36.7628
+136.86 37.0817
+137.346 37.5157
+136.757 37.3637
+136.071 35.662
+133.093 35.6071
+130.866 34.2918
+130.905 33.913
+132.139 33.8312
+132.401 34.3763
+132.557 34.0696
+134.186 34.7413
+135.337 34.7254
+135.058 33.8816
+135.753 33.4363
+135.998 33.7082
+136 33.7104
+136.9 34.2768
+136.503 34.6525
+136.713 35.0547
+136.89 34.7196
+136.982 34.9628
+137.375 34.78
+137.016 34.5786
+138.229 34.5954
+138.744 35.1328
+138.845 34.6003
+139.171 35.2546
+139.68 35.1408
+139.781 35.673
+140 35.6083
+> Shore Bin # 42, Level 1
+130.669 30.9992
+131.35 31.3651
+132.086 32.931
+130.967 33.8462
+129.56 33.3317
+130.01 32.8467
+129.676 33.097
+129.738 32.5678
+130.35 32.6734
+130.118 33.129
+130.458 33.2984
+130.662 32.6334
+130.106 31.4118
+130.587 31.1554
+130.798 31.6995
+130.669 30.9992
+> Shore Bin # 42, Level 1
+132.999 32.9834
+133.556 33.5544
+134.177 33.2447
+134.75 33.8349
+134.589 34.2405
+133.895 34.3836
+133.132 33.9103
+132.94 34.1437
+132.018 33.3466
+132.423 33.4632
+132.631 32.7613
+132.999 32.9792
+132.999 32.9834
+> Shore Bin # 42, Level 1
+120 35.7078
+120.298 35.9699
+120.127 36.2037
+120.714 36.1338
+120.778 36.6279
+121.969 37.0246
+122.517 36.8971
+122.7 37.4073
+120.742 37.8328
+120 37.5038
+> Shore Bin # 42, Level 1
+121.922 30
+121.264 30.3281
+120.138 30.1959
+121.912 30.9384
+120.788 31.8528
+120.056 31.9672
+121.91 31.7368
+120.851 32.6166
+120.285 34.3033
+120 34.4034
+> Shore Bin # 42, Level 1
+140 40.8031
+139.861 40.6151
+139.704 39.9284
+140 39.9852
+> Shore Bin # 42, Level 1
+140 42.7092
+139.824 42.614
+139.984 41.5557
+140 41.559
+> Shore Bin # 42, Level 1
+140 35.2103
+139.89 34.8988
+140 34.9882
+> Shore Bin # 43, Level 1
+140 41.559
+141.187 41.8007
+140.291 42.249
+140.477 42.5887
+141.003 42.3012
+141.67 42.6494
+143.259 41.9982
+143.259 41.9991
+143.994 42.9271
+145.818 43.3867
+145.23 43.3367
+145.343 44.342
+144.776 43.9272
+143.735 44.1064
+141.913 45.5187
+141.417 43.3223
+140.343 43.3355
+140.523 42.9909
+140 42.7092
+> Shore Bin # 43, Level 1
+140 34.9882
+140.865 35.6925
+140.559 36.2791
+140.982 36.995
+140.919 38.1999
+141.526 38.275
+142.07 39.5476
+141.463 41.4311
+140.835 41.4192
+141.131 40.873
+140.339 41.2605
+140 40.8031
+> Shore Bin # 43, Level 1
+142.199 50
+141.999 45.9701
+142 45.9689
+142.512 46.7221
+143.377 46.5469
+143.415 46.022
+143.616 46.3717
+142.53 47.7807
+142.99 49.1354
+144.044 49.2554
+144.746 48.6441
+144.019 50
+> Shore Bin # 43, Level 1
+140 39.9852
+140.07 39.9986
+140.104 39.6791
+140 39.4453
+> Shore Bin # 43, Level 1
+140 35.6083
+140.127 35.5708
+140 35.2103
+> Shore Bin # 43, Level 1
+140 48.5046
+140.391 48.9734
+140.418 50
+> Shore Bin # 47, Level 1
+236.264 50
+236.474 49.7043
+236.031 49.5123
+236.829 49.693
+236.839 49.0176
+237.509 48.7524
+237.567 47.2561
+237.394 47.9422
+236.841 47.3535
+237.243 48.1454
+235.269 48.3816
+235.826 46.9274
+236.194 46.9717
+235.912 46.2707
+236.569 46.2441
+235.977 46.2298
+235.431 42.8392
+235.936 41.4446
+235.587 40.4417
+236.268 38.9216
+236.977 37.9945
+237.743 38.0607
+237.991 37.4641
+237.522 37.8096
+237.593 37.1968
+239.359 35.1353
+239.361 34.5594
+240 34.3998
+> Shore Bin # 47, Level 1
+233.086 50
+234.328 48.9999
+234.327 48.9996
+235.173 49.2554
+234.898 48.7204
+236.735 48.4524
+234.943 50
+> Shore Bin # 47, Level 1
+235.213 50
+235.734 49.7421
+235.988 50
+> Shore Bin # 48, Level 1
+245.447 30
+245.434 30.0113
+245.045 31.8811
+246.893 31.2052
+247.395 30
+> Shore Bin # 48, Level 1
+240 34.3998
+241.465 34.0339
+242.565 33.2541
+244.179 30
+> Shore Bin # 49, Level 1
+270.357 30
+269.592 30.2124
+271.863 30.3107
+271.999 30.7752
+272.224 30.3748
+271.97 30.2216
+272.972 30.6067
+272.814 30.3424
+273.801 30.4938
+273.484 30.39
+274.417 30.3113
+274.526 30
+> Shore Bin # 49, Level 1
+278.829 30
+278.398 31.21
+279.331 32.2156
+279.173 32.4973
+279.382 32.2556
+280 32.7628
+> Shore Bin # 49, Level 1
+275.455 30
+275.792 30.1395
+276.134 30
+> Shore Bin # 49, Level 2
+280 44.5586
+279.91 44.468
+279.066 44.5934
+278.305 45.2648
+278.734 44.6233
+278.254 43.3458
+277.585 43.0153
+277.207 44.0206
+276.054 43.7301
+276.667 44.3355
+276.611 45.281
+275.01 45.7733
+274.472 44.7716
+274.444 45.2175
+273.735 44.7005
+273.766 43.005
+273.771 42.9998
+273.38 41.9121
+272.602 41.6371
+272.09 43.2338
+272.673 44.782
+272.011 44.717
+273.021 45.92
+273.376 45.6051
+274.471 46.1013
+276.096 45.9698
+275.704 46.4239
+274.976 46.4916
+275.044 46.7852
+272.65 46.5118
+272.183 46.9042
+271.516 46.7651
+271.351 47.2345
+269.552 46.5682
+269.05 46.6018
+269.138 46.9668
+267.89 46.7687
+270.861 48.4845
+271.254 48.3661
+271.52 48.8544
+271.44 48.4302
+271.796 48.6065
+271.743 48.9975
+273.565 48.7771
+274.14 47.9852
+275.151 47.9528
+275.483 46.4822
+279.193 45.9509
+280 45.1815
+> Shore Bin # 49, Level 2
+280 42.2145
+278.275 41.4971
+276.538 41.722
+277.281 42.6928
+277.598 42.3876
+277.006 42.2701
+277.082 41.9854
+278.344 42.4782
+278.345 42.4779
+279.899 42.5429
+279.55 42.6232
+280 42.7459
+> Shore Bin # 50, Level 1
+280 32.7628
+281.223 33.7665
+283.669 34.8853
+283.024 35.0004
+283.534 35.2625
+283.005 35.4838
+283.846 35.3263
+284.272 35.6254
+284.151 35.9748
+283.966 35.6489
+283.942 35.9928
+283.263 35.9333
+283.79 36.3005
+284.204 36.0716
+284.044 36.7207
+284.461 35.7768
+284.003 36.923
+283.014 37.2422
+283.589 37.0909
+283.191 37.5319
+283.496 37.2456
+283.701 37.5612
+283.07 37.9838
+283.637 37.6081
+283.762 37.8907
+282.662 38.3452
+282.764 38.6622
+283.676 38.0375
+283.369 39.2607
+284.124 39.5393
+283.621 38.8524
+284.359 37.9759
+284.052 37.1196
+284.947 38.4099
+284.463 39.7316
+285.137 38.9421
+285.903 39.7667
+285.709 40.5089
+286.411 41.043
+288.518 41.3591
+288.595 41.8193
+288.805 41.4528
+290.045 41.6466
+289.943 42.0415
+289.666 41.7086
+288.941 42.3708
+289.74 43.7163
+290.22 43.7426
+290.21 44.0899
+290.789 43.9327
+291.174 44.6664
+291.175 44.3099
+291.756 44.5864
+291.941 44.3316
+293.051 44.8165
+292.813 45.2264
+293.542 45.0588
+295.662 45.8807
+295.056 45.3301
+296.623 45.361
+295.897 45.0024
+295.504 45.3368
+293.888 44.4988
+293.83 43.8003
+294.531 43.4505
+295.694 44.5663
+296.352 44.4314
+296.338 44.7262
+298.689 45.1907
+299.04 45.3225
+298.091 45.8828
+296.719 45.7079
+295.291 46.3146
+295.203 47.0745
+294.581 47.0703
+295.194 47.8051
+294.33 47.6013
+294.169 47.9101
+293.205 47.987
+294.757 48.0111
+295.683 48.4179
+295.397 49.1113
+293.828 49.2071
+291.816 48.6355
+288.807 46.813
+290.094 47.7691
+290.011 48.2574
+292.623 49.3179
+293.284 50
+> Shore Bin # 50, Level 2
+280 42.7459
+281.112 43.0495
+280.855 42.5704
+280 42.2145
+> Shore Bin # 50, Level 2
+280 45.1815
+280.317 44.8791
+280 44.5586
+> Shore Bin # 51, Level 1
+302.423 50
+302.295 49.4559
+301.763 49.3933
+302.107 48.9557
+301.592 49.1302
+300.73 48.4665
+301.725 48.5132
+300.588 47.8964
+300.833 47.5647
+301.683 47.789
+303.143 47.5274
+304.21 47.9644
+303.869 47.4643
+305.296 47.6718
+304.009 46.9534
+304.798 46.9982
+304.798 46.9989
+305.915 47.879
+306.206 47.4389
+305.8 46.8212
+306.447 47.2186
+306.375 46.6412
+306.838 46.6256
+307.378 47.5244
+307.206 47.81
+306.717 47.5473
+307.079 48.1729
+306.44 47.5192
+306.057 47.8558
+306.388 48.0542
+306.036 48.233
+306.997 48.5467
+305.801 48.385
+306.496 49.2837
+305.501 49.2563
+305.521 49.5703
+304.604 49.042
+304.84 49.545
+303.859 49.4311
+304.525 49.9673
+303.791 49.9255
+303.807 50
+> Shore Bin # 51, Level 1
+303.659 50
+303.129 49.5425
+303.465 50
+> Shore Bin # 53, Level 1
+360 49.328
+358.06 49.7278
+358.643 48.6337
+357.313 48.4961
+356.923 48.8836
+355.22 48.5068
+355.843 48.2501
+355.367 48.2834
+355.623 47.7963
+357.61 47.5064
+358.188 46.4929
+358.899 46.3168
+358.762 45.6924
+358.904 45.5596
+358.395 43.4304
+352.951 43.4813
+352.312 43.792
+350.698 43.0541
+351.4 42.3449
+351.207 40.1183
+350.5 38.7834
+351.054 38.997
+350.775 38.4117
+351.369 38.4083
+351.143 38.3848
+351.005 37.0225
+353.133 37.2929
+354.392 36.0005
+355.585 36.7189
+357.874 36.7304
+358.548 37.4922
+359.283 37.6069
+359.496 38.3342
+360 38.6098
+> Shore Bin # 53, Level 1
+360 35.843
+359.062 35.7279
+358.043 35.0755
+357.17 35.1087
+357.021 35.442
+355.312 35.2064
+354.529 35.9171
+354.065 35.7908
+353.187 34.0253
+350.713 32.5458
+350.154 31.3974
+350.337 30.0717
+350.285 30
+> Shore Bin # 53, Level 1
+360 38.9317
+359.758 39.1307
+359.82 39.7401
+360 39.9413
+> Shore Bin # 55, Level 1
+40 15.2992
+39.8749 15.5079
+39.7119 15.095
+38.5571 18.0601
+37.4121 18.875
+37.1112 21.2142
+37.3187 21.0649
+36.8954 22.0635
+35.668 22.9467
+35.4763 23.9342
+35.7937 23.9092
+35.1388 24.5135
+33.5863 27.8476
+32.6253 28.9767
+32.4782 29.9405
+33.2372 28.5531
+34.2458 27.723
+35.0021 29.5267
+34.5754 28.0883
+35.2212 28.0468
+37.2396 25.1882
+37.4279 24.3709
+38.4555 23.7816
+39.1421 22.405
+39.198 21.0851
+40 20.4042
+> Shore Bin # 56, Level 1
+40 20.4042
+40.7953 19.7292
+42.7039 16.7393
+42.5986 15.2308
+43.4632 12.6746
+45.0401 12.7512
+45.6584 13.3469
+48.6983 14.0421
+49.3425 14.6378
+52.1959 15.608
+52.4834 16.4396
+55.0201 17.0011
+55.4284 17.8178
+56.3516 17.9188
+56.7984 18.7462
+57.8412 18.9992
+57.8454 20.2382
+58.1949 20.6096
+58.5196 20.41
+59.808 22.22
+58.7533 23.5219
+57.1817 23.9321
+56.6235 24.4817
+56.2664 25.6307
+56.5057 26.3595
+54.0932 24.1204
+52.5942 24.1955
+52.1108 23.9065
+51.2984 24.2937
+51.5776 25.9142
+50.9914 25.9832
+50.7707 24.7137
+50.0029 25.9875
+50.1646 26.6366
+48.8472 27.6016
+48.1004 29.3524
+47.7028 29.3741
+48.188 29.5465
+47.9878 30
+> Shore Bin # 56, Level 1
+50.8769 10
+50.902 10.3149
+51.4153 10.4434
+51.0222 10.4208
+51.2914 11.8332
+50.7976 11.9861
+49.4267 11.3379
+47.4125 11.1795
+46.4408 10.6836
+45.8058 10.8679
+44.5759 10.3754
+43.1565 11.6129
+42.5275 11.5229
+43.3762 11.9883
+43.3271 12.4759
+41.1899 14.6238
+40.21 14.9488
+40 15.2992
+> Shore Bin # 56, Level 1
+50.1985 30
+51.4015 27.922
+52.4358 27.6446
+53.7292 26.7004
+54.7958 26.4953
+56.6799 27.1997
+57.315 25.7827
+60 25.314
+> Shore Bin # 57, Level 1
+60 25.314
+61.7566 25.0069
+66.4567 25.6179
+66.6575 24.8321
+67.2944 24.775
+67.4809 23.9129
+68.3467 23.9663
+68.2658 23.5564
+68.8017 23.8845
+68.4254 23.5091
+69.1975 22.8353
+70.4479 22.9699
+70.1741 22.542
+68.9354 22.3067
+70.8226 20.6905
+72.1114 21.1992
+72.3265 22.3088
+72.9107 22.2661
+72.5078 21.9759
+72.5399 21.6603
+72.9277 21.6759
+72.5978 21.2984
+72.9305 20.7601
+72.6555 19.8332
+73.4569 16.0533
+75.8697 11.124
+76.2118 10
+> Shore Bin # 57, Level 1
+79.1617 10
+79.2941 10.2603
+79.8804 10.3082
+79.7586 11.6715
+80 12.3334
+> Shore Bin # 58, Level 1
+80 12.3334
+80.3461 13.2834
+80.0479 15.0742
+80.2637 15.6718
+80.9409 15.7111
+81.2674 16.2928
+82.3032 16.5586
+82.3062 17.0384
+84.1291 18.3095
+85.0382 19.3922
+86.3716 19.9519
+87.0695 20.7207
+86.912 21.3384
+87.8041 21.6963
+88.0195 22.2228
+88.2466 21.5612
+88.639 22.0763
+89.0266 21.5987
+89.0425 22.0754
+89.2192 21.7479
+89.5225 22.0855
+89.7783 21.8251
+89.9025 22.3903
+90.1942 21.8029
+90.5333 22.6055
+90.6236 22
+90.8312 22.1541
+90.6865 22.763
+91.4473 22.7636
+92.7611 20.1982
+93.08 20.5855
+92.9958 20.1378
+93.7554 19.915
+94.0227 19.3718
+93.4694 19.3666
+93.9367 18.8438
+94.0862 19.3642
+94.598 17.5532
+94.2425 15.9528
+94.6227 16.2562
+94.3941 15.8296
+94.6368 16.0941
+94.9557 15.7414
+95.1278 16.1201
+95.4559 15.7346
+95.7174 16.247
+96.3238 16.4207
+96.1175 16.8003
+96.4508 16.4897
+96.893 16.8193
+96.874 17.5093
+97.3538 16.5049
+97.742 16.5626
+97.7881 14.8707
+98.1262 13.5526
+98.2242 13.9728
+98.7204 12.8101
+98.5422 11.8824
+98.8855 11.6999
+98.4555 10.6867
+98.5489 10
+> Shore Bin # 58, Level 1
+99.1739 10
+99.1504 10.3442
+100 12.1357
+> Shore Bin # 58, Level 1
+100 12.5626
+99.9512 13.3091
+100 13.3182
+> Shore Bin # 58, Level 1
+98.5681 10
+98.7628 10.3259
+98.6896 10
+> Shore Bin # 59, Level 1
+106.488 10
+106.356 10.1926
+106.778 10.0812
+106.435 10.3107
+106.779 10.2771
+106.746 10.5728
+107.259 10.3754
+109.019 11.3553
+109.196 12.63
+109.467 12.6474
+108.942 15.2448
+108.327 16.143
+107.132 16.854
+105.641 18.9006
+105.927 19.8842
+106.573 20.2834
+106.553 20.7594
+106.813 20.6734
+106.605 21.0365
+107.349 20.9996
+107.781 21.5236
+108.477 21.563
+108.554 21.9203
+109.161 21.4055
+109.609 21.7586
+109.965 21.4833
+109.665 20.9358
+109.926 20.229
+110.285 20.2412
+110.382 21.4079
+110.447 21.1879
+111.638 21.5138
+111.675 21.7961
+112.343 21.7079
+112.365 21.9963
+112.912 21.852
+112.922 22.5145
+113.114 22.072
+113.283 22.3687
+113.547 22.1886
+113.368 23.1112
+114.297 22.2603
+114.209 22.5374
+114.78 22.8371
+114.882 22.5444
+115.314 22.9027
+115.572 22.6589
+116.496 22.9397
+116.74 23.25
+116.457 23.4487
+117.244 23.6046
+117.353 23.9486
+117.585 23.7154
+118.134 24.265
+117.78 24.5061
+118.651 24.5553
+118.563 24.9084
+118.986 24.8812
+118.87 25.2474
+119.282 25.1711
+119.329 25.6146
+119.655 25.3558
+119.512 26.0751
+119.959 26.376
+119.58 26.4236
+119.831 26.4498
+119.543 26.8133
+120 26.6732
+> Shore Bin # 59, Level 1
+100 13.3182
+100.988 13.5004
+100.856 12.6462
+101.789 12.7088
+102.644 12.1778
+103.127 10.867
+103.558 11.1655
+103.614 10.5005
+103.864 10.708
+105.088 10.0049
+105.087 10
+> Shore Bin # 59, Level 1
+108.999 18.3604
+109.573 18.1605
+110.412 18.6613
+111.042 19.64
+110.932 20.0182
+109.26 19.9028
+108.631 19.2683
+108.997 18.3604
+108.999 18.3604
+> Shore Bin # 59, Level 1
+120 16.3453
+119.88 16.3963
+119.748 15.9651
+120 15.0733
+> Shore Bin # 59, Level 1
+106.27 10
+106.179 10.1755
+106.391 10
+> Shore Bin # 59, Level 1
+100 12.1357
+100.024 12.1875
+100 12.5626
+> Shore Bin # 60, Level 1
+120 15.0733
+120.08 14.7892
+120.475 14.4105
+120.553 14.8161
+120.958 14.639
+120.62 13.8126
+121.286 13.5978
+121.75 13.9689
+122.596 13.1644
+122.533 13.9646
+123.318 13.0079
+123.999 12.9676
+123.999 12.9679
+124.079 12.5379
+124.19 13.0649
+123.76 13.0613
+123.53 13.5682
+123.975 13.7198
+123.715 13.942
+123.254 14.0778
+123.113 13.6838
+122.773 14.3238
+122.249 14.2454
+122.229 13.8978
+121.657 14.4016
+121.372 15.3382
+122.462 16.8876
+122.137 17.7824
+122.32 18.3799
+120.622 18.5478
+120.422 16.1668
+120 16.3453
+> Shore Bin # 60, Level 1
+120 26.6732
+120.121 26.6363
+120.859 27.8851
+120.583 28.1033
+121.625 28.2657
+121.346 28.7057
+121.732 28.9416
+121.419 29.1632
+121.974 29.223
+121.998 29.5908
+121.427 29.4751
+122.138 29.8926
+121.922 30
+> Shore Bin # 60, Level 1
+120.864 21.9997
+122 25.0076
+121.573 25.3005
+120.129 23.6324
+120.03 23.0758
+120.863 21.9997
+120.864 21.9997
+> Shore Bin # 66, Level 1
+244.179 30
+244.3 29.7549
+245.953 28.4652
+245.722 27.9031
+246.042 27.6559
+244.973 27.7404
+246.373 26.7193
+246.833 26.9928
+247.761 26.0839
+247.824 24.8141
+249.671 23.5604
+249.991 22.8923
+250.541 23.1984
+250.173 24.0612
+249.318 24.36
+248.558 26.5194
+247.296 27.7536
+247.154 28.4411
+245.447 30
+> Shore Bin # 66, Level 1
+247.395 30
+247.825 28.9679
+248.894 27.9361
+249.498 27.8692
+249.476 27.2912
+250.907 26.2863
+250.6 25.6817
+251.956 25.0689
+252.004 24.6468
+254.027 22.8798
+254.81 21.4611
+254.46 20.7701
+254.753 20.5824
+254.305 20.41
+254.481 20.0325
+256.49 18.3128
+258.05 17.9609
+258.928 17.2663
+260 16.8809
+> Shore Bin # 67, Level 1
+277.041 10
+276.12 11.2927
+276.803 14.3281
+276.615 15.2509
+274.978 15.9873
+271.854 15.6815
+271.063 15.8906
+271.783 16.9575
+271.907 18.3552
+271.602 18.3784
+271.948 18.8569
+272.161 18.1883
+272.585 19.5924
+272.256 19.6718
+273.21 21.3426
+271.863 21.6301
+269.718 21.0533
+269.281 19.3629
+268.444 18.4398
+267.655 18.6793
+265.583 18.0607
+264.814 18.719
+264.143 18.7166
+262.227 22.0729
+262.109 22.5975
+262.134 24.5251
+262.19 25.2584
+262.59 25.4247
+262.473 25.0155
+262.856 25.96
+262.578 27.2634
+262.218 27.2818
+262.596 27.3309
+262.807 28.1701
+263.599 28.4433
+263.337 28.7219
+264.027 28.6581
+263.782 28.4903
+264.877 29.0683
+265.009 29.7144
+265.531 29.5575
+265.228 29.361
+266.158 29.679
+266.137 29.9905
+266.165 29.693
+267.677 29.5325
+268.171 29.8328
+269.142 29.0884
+269.555 29.35
+269.885 29.1406
+269.804 29.5691
+270.233 29.4797
+270.586 28.9197
+271.001 29.1827
+270.292 29.5624
+270.762 29.8874
+270.357 30
+> Shore Bin # 67, Level 1
+276.134 30
+276.318 29.9249
+277.374 28.8717
+277.146 27.8698
+277.595 27.9458
+277.306 27.474
+277.641 26.9149
+278 26.9766
+278.268 25.9109
+278.974 25.5642
+278.91 25.1171
+279.447 25.169
+279.433 24.9545
+279.968 26.806
+278.829 30
+> Shore Bin # 67, Level 1
+260 16.8809
+263.437 15.6449
+265.681 16.1399
+268.695 13.9487
+271.532 13.1574
+271.283 13.2642
+272.596 13.4177
+272.696 12.9248
+272.308 12.9096
+274.329 11.0602
+274.047 10.8927
+274.339 10.7761
+274.329 10
+> Shore Bin # 67, Level 1
+280 22.9519
+278.858 23.2061
+275.975 22.7172
+275.721 22.0037
+275.048 21.8709
+275.964 21.9063
+277.242 22.7028
+278.137 22.6772
+278.352 22.4898
+277.84 22.3949
+278.194 22.1736
+280 21.8566
+> Shore Bin # 67, Level 1
+274.526 30
+274.643 29.6634
+275.455 30
+> Shore Bin # 67, Level 1
+274.974 10
+274.717 10.2676
+275.202 10
+> Shore Bin # 68, Level 1
+288.85 17.9982
+289.328 18.4288
+291.355 18.2078
+291.675 18.6067
+290.372 19.0822
+290.847 19.3034
+290.256 19.2839
+290.037 19.6812
+287.177 19.9525
+286.542 19.6883
+287.299 19.4557
+287.178 19.0373
+287.646 18.5319
+285.784 18.6738
+285.517 18.4251
+286.117 18.0204
+287.947 18.2338
+288.574 17.6011
+288.849 17.9976
+288.85 17.9982
+> Shore Bin # 68, Level 1
+297.482 10
+297.111 10.3751
+298.133 10.7462
+295.739 10.6671
+296.357 10.4926
+294.945 10.0638
+293.766 10.6537
+291.871 10.4889
+291.604 11.1872
+290.377 11.4746
+289.98 12.2025
+289.765 11.6358
+290.197 11.6971
+290.212 11.4313
+289.863 11.5714
+288.41 10.7965
+288.827 10
+> Shore Bin # 68, Level 1
+280 21.8566
+281.249 21.6371
+281.857 20.7588
+282.759 20.6654
+282.885 20.3566
+282.263 19.8421
+285 19.9156
+285 19.9156
+285.857 20.2458
+284.282 20.6813
+284.3 21.1186
+283.107 21.2987
+280.208 22.9055
+280 22.9519
+> Shore Bin # 68, Level 1
+287.984 10
+288.421 10.705
+288.035 11.5573
+288.891 12.0514
+288.334 12.4646
+286.728 11.2921
+285.857 11.3413
+285.723 11.0022
+285.157 11.1136
+284.741 10.8075
+284.298 10.1477
+284.315 10
+> Shore Bin # 71, Level 1
+350.285 30
+349.782 29.3091
+348.475 28.2986
+347.084 27.9562
+346.349 26.6592
+345.534 26.1965
+345.096 24.6859
+344.085 23.8033
+344.295 23.9724
+343.017 21.7983
+342.893 20.8376
+343.088 21.1611
+343.802 20.2251
+343.452 19.38
+343.956 17.7476
+343.423 15.6974
+342.466 14.7416
+343.486 13.8791
+343.493 13.3613
+344.425 13.5157
+343.645 13.2496
+343.282 13.4601
+343.236 12.5718
+343.78 12.6099
+343.224 12.4067
+343.986 12.3453
+343.648 12.0966
+344.146 11.9925
+344.044 11.7346
+345.061 11.9889
+344.49 11.7893
+344.966 11.6434
+344.495 11.3285
+344.765 10.9979
+344.995 11.1832
+344.922 10.9186
+345.303 11.0767
+345.544 10.2087
+346.01 10
+> Shore Bin # 72, Level 1
+0 5.59289
+1.3434 6.16114
+3.82177 6.62104
+3.40124 6.39582
+4.43091 6.35035
+5.06416 5.7644
+5.36721 5.97009
+5.08034 5.71832
+5.54299 5.61913
+5.17617 5.56817
+5.36172 5.39055
+5.68032 5.5407
+5.36202 5.1632
+5.98337 4.31052
+6.70512 4.3386
+6.72343 4.61295
+6.86748 4.35966
+6.77928 4.66789
+7.00572 4.37278
+7.07591 4.73777
+7.33989 4.44358
+8.27832 4.53635
+8.2359 4.92882
+8.55512 4.48203
+8.8304 4.74662
+9.21431 3.94125
+9.72793 4.09751
+9.83383 3.80911
+9.54299 3.81094
+9.97543 3.07912
+9.34371 1.17571
+9.69589 1.07866
+9.66384 0.45243
+9.30953 0.512551
+9.98703 0.17258
+9.50179 0.0505074
+9.35164 0.357824
+9.13039 -0.714275
+8.70039 -0.668498
+9.61959 -2.40833
+11.7278 -4.4509
+12.1678 -5.72747
+12.6729 -6.01099
+12.2728 -6.14008
+13.3922 -8.38834
+12.9946 -9.08751
+13.4072 -10
+> Shore Bin # 73, Level 1
+39.6963 -10
+39.2554 -8.29252
+39.447 -7.81338
+39.2172 -7.85092
+39.5514 -7.01747
+38.7729 -6.05249
+39.202 -4.68101
+40 -3.10384
+> Shore Bin # 73, Level 2
+31.6133 -2.04547
+32.018 -0.049897
+32.6509 0.29099
+32.979 0.0889601
+33.3645 0.491798
+33.4881 0.18265
+33.9876 0.270542
+34.2779 -0.392615
+34.7372 -0.0895705
+34.8394 -0.309606
+34.06 -0.564431
+33.9568 -1.52392
+33.2161 -2.04242
+33.8354 -2.22583
+33.4261 -2.55726
+32.9158 -2.41901
+33.026 -2.88045
+32.7568 -3.01381
+32.8347 -2.51423
+32.2182 -2.25177
+31.7946 -2.83436
+31.6139 -2.04425
+31.6133 -2.04547
+> Shore Bin # 73, Level 2
+29.0455 -4.3093
+29.3107 -3.34585
+29.9489 -5.82055
+29.7142 -6.25879
+30.569 -6.96773
+31.1788 -8.75181
+30.4732 -8.51347
+30.1479 -7.28725
+29.1902 -6.08148
+29.2378 -4.05295
+29.0455 -4.3093
+> Shore Bin # 73, Level 2
+33.984 -10
+33.9223 -9.70306
+33.9284 -9.6997
+34.0435 -9.48486
+34.5046 -9.97498
+34.5122 -10
+> Shore Bin # 74, Level 1
+40 -3.10384
+40.1862 -2.73579
+40.9879 -2.26429
+40.7745 -1.93408
+41.315 -1.96124
+43.5593 0.71458
+46.0117 2.42939
+47.9655 4.47745
+50.8305 9.41924
+50.8769 10
+> Shore Bin # 75, Level 1
+76.2118 10
+76.5472 8.8983
+77.5375 8.0737
+78.0703 8.374
+78.266 9.01793
+79.1894 9.28069
+78.9004 9.48669
+79.1617 10
+> Shore Bin # 75, Level 1
+80 9.2163
+79.8248 7.97055
+79.6954 8.1976
+80 7.00038
+> Shore Bin # 75, Level 1
+80 9.77935
+79.9063 9.75586
+80 9.70459
+> Shore Bin # 76, Level 1
+100 2.89326
+99.7534 3.17952
+98.1558 4.08469
+98.2889 4.43076
+97.5033 5.25536
+95.2276 5.58282
+95.537 4.66178
+96.867 3.69497
+97.7508 2.27619
+98.797 1.73083
+99.1363 0.253452
+100 -0.551614
+> Shore Bin # 76, Level 1
+80 7.00038
+80.2545 6
+80.2576 5.99725
+81.3251 6.19379
+81.8805 7.02327
+81.3547 8.49088
+80.209 9.83215
+80 9.77935
+> Shore Bin # 76, Level 1
+98.6896 10
+98.2855 8.2034
+98.6709 8.39048
+100 6.70069
+> Shore Bin # 76, Level 1
+100 8.72557
+99.8462 9.29076
+99.2245 9.25505
+99.1739 10
+> Shore Bin # 76, Level 1
+80 9.70459
+80.3989 9.48669
+80.0537 9.59838
+80 9.2163
+> Shore Bin # 76, Level 1
+98.5489 10
+98.5525 9.97375
+98.5681 10
+> Shore Bin # 77, Level 1
+115 -4.0145
+116.278 -3.13008
+116.099 -2.86244
+116.313 -2.96071
+116.601 -2.19593
+116.165 -1.80346
+116.702 -1.08507
+116.898 -1.27123
+117.615 -0.780804
+117.462 0.0907912
+118.036 0.786603
+117.889 1.11986
+118.364 0.800336
+119 0.984054
+117.844 1.86236
+117.735 2.18921
+118.094 2.31342
+117.014 3.5967
+117.768 3.64797
+117.36 4.16251
+118.551 4.35203
+118.124 4.88334
+119.262 5.36004
+118.35 5.82971
+117.941 5.66949
+118.007 6.0647
+117.558 5.90234
+117.738 6.4242
+117.151 7.00801
+116.813 6.54963
+116.746 7.03456
+115.864 5.58068
+115.37 5.4107
+115.607 5.23003
+115.376 4.90623
+113.972 4.60136
+113.035 3.16793
+111.433 2.7071
+111.171 1.36461
+109.892 1.69787
+109.642 2.08392
+108.907 1.16075
+108.91 0.321508
+109.282 0.00839246
+109.111 -0.514992
+109.591 -0.73991
+109.245 -0.660868
+109.64 -0.986801
+109.431 -1.2871
+109.955 -1.10826
+110.259 -2.9662
+111.702 -2.80293
+111.903 -3.56954
+113.022 -2.93812
+113.614 -3.14961
+113.635 -3.46456
+114.531 -3.35042
+114.595 -4.16739
+114.998 -4.01633
+115 -4.0145
+> Shore Bin # 77, Level 1
+100 -0.551614
+100.325 -0.854047
+101.581 -3.20424
+103.998 -5.32464
+103.999 -5.32555
+104.582 -5.94537
+104.53 -5.52209
+105.161 -5.80957
+105.284 -5.4464
+105.723 -5.90478
+106.087 -3.22591
+105.619 -2.39216
+104.847 -2.28473
+104.713 -2.59998
+104.879 -2.08423
+104.479 -1.98993
+104.367 -1.01793
+103.276 -0.70573
+103.729 0.280919
+103.327 0.549477
+102.683 0.225376
+103.106 0.455787
+102.91 0.717021
+102.413 0.805219
+101.047 2.30304
+100.933 1.80957
+100 2.89326
+> Shore Bin # 77, Level 1
+114 -8.59037
+114.593 -8.75242
+114.438 -7.78866
+113.156 -7.74624
+112.547 -6.84291
+111.029 -6.41627
+110.407 -6.95216
+108.932 -6.84138
+108.302 -6.24048
+106.038 -5.87457
+105.798 -6.4892
+105.207 -6.75166
+106.505 -6.96559
+106.402 -7.3846
+107.843 -7.73953
+108.862 -7.60952
+110.708 -8.20218
+113.998 -8.5922
+114 -8.59037
+> Shore Bin # 77, Level 1
+120 0.544289
+119.841 -0.0990311
+119.609 -0.00747692
+119.876 -0.860151
+119.732 -0.642863
+119.335 -1.16991
+119.359 -1.89837
+118.753 -2.77668
+118.931 -3.56985
+119.51 -3.55581
+119.478 -4.99992
+119.478 -5.00053
+119.44 -5.60113
+120 -5.61425
+> Shore Bin # 77, Level 1
+100 6.70069
+100.115 6.55421
+100.558 4.3151
+101.291 2.84657
+103.512 1.2694
+103.941 1.66278
+104.276 1.36797
+103.458 2.8249
+103.478 4.5333
+103.151 5.33989
+101.568 6.83864
+100.426 7.1603
+100 8.72557
+> Shore Bin # 77, Level 1
+105.087 10
+104.794 8.80095
+105.281 8.75303
+106.199 9.37499
+105.837 9.99359
+106.502 9.55383
+106.27 10
+> Shore Bin # 77, Level 1
+106.391 10
+106.617 9.81292
+106.488 10
+> Shore Bin # 78, Level 1
+140 -2.21088
+137.891 -1.46471
+137.113 -1.79553
+137.171 -2.11383
+136.391 -2.2179
+135.766 -3.12062
+135.107 -3.37453
+134.63 -2.48005
+134.458 -2.86549
+134.174 -2.3534
+133.983 -0.72282
+132.416 -0.338598
+131.222 -0.828412
+130.93 -1.43511
+131.963 -1.47784
+132.308 -2.28534
+133.94 -2.09094
+133.667 -2.7303
+133.219 -2.40711
+132.724 -2.80629
+131.947 -2.77424
+132.837 -3.30251
+132.896 -4.08713
+133.448 -3.86679
+133.808 -2.91035
+133.618 -3.47494
+133.969 -3.86709
+134.932 -3.91867
+134.618 -4.11582
+135.198 -4.45884
+138.117 -5.37713
+138.054 -5.73327
+138.367 -5.66918
+138.395 -6.3357
+138.921 -6.83101
+138.544 -6.9543
+139.244 -7.14076
+138.671 -7.21431
+139.14 -7.58083
+138.955 -8.25956
+140 -8.01572
+> Shore Bin # 78, Level 1
+125 5.8587
+125.265 6.09369
+125.385 5.55962
+125.686 5.9707
+125.374 6.72755
+125.696 7.29793
+126.192 6.27375
+126.155 6.90913
+126.604 7.28664
+126.393 8.49912
+126.08 8.61082
+126.207 9.30846
+125.439 9.82788
+125.54 8.96452
+124.797 8.99718
+124.742 8.49882
+124.383 8.59617
+123.666 7.95377
+123.837 8.42985
+123.378 8.72953
+122.222 7.9617
+121.896 7.11147
+122.152 6.90974
+122.626 7.77707
+123.408 7.35714
+123.687 7.8146
+124.261 7.37423
+124.058 6.38087
+124.999 5.85962
+125 5.8587
+> Shore Bin # 78, Level 1
+120 -5.61425
+120.47 -5.62493
+120.186 -2.97169
+120.754 -2.62287
+121.093 -2.71595
+120.903 -3.56741
+121.609 -4.0618
+121.543 -4.76951
+122.007 -4.8986
+122.111 -4.49302
+122.885 -4.41306
+122.199 -3.60006
+122.484 -3.17433
+121.29 -1.84161
+121.668 -1.94781
+123.46 -0.769207
+121.628 -0.801251
+121.093 -1.42962
+120.676 -1.41131
+120.06 -0.630961
+120.31 0.419165
+124.313 0.40116
+125.173 1.6878
+123.952 0.844587
+120.908 1.36034
+120.598 0.761883
+120.283 0.986191
+120.044 0.721599
+120 0.544289
+> Shore Bin # 78, Level 1
+124.489 -10
+127.301 -8.40085
+125.123 -8.64805
+123.666 -9.62921
+123.559 -10
+> Shore Bin # 79, Level 1
+140 -8.01572
+140.037 -8.00717
+141.126 -9.234
+142.219 -9.07805
+142.639 -9.33532
+143.403 -8.75822
+142.211 -8.17716
+143.694 -8.23301
+143.391 -7.92905
+143.929 -7.99344
+143.637 -7.4313
+144.506 -7.81888
+144.373 -7.43679
+144.537 -7.69558
+144.753 -7.40719
+144.862 -7.78134
+146.09 -8.09537
+147.638 -10
+> Shore Bin # 79, Level 1
+149.905 -10
+149.711 -9.81994
+150.013 -9.63134
+149.238 -9.50225
+149.251 -8.9987
+148.603 -9.08446
+148.13 -8.06424
+147.176 -7.46242
+146.95 -6.73426
+147.857 -6.65217
+147.626 -6.1117
+145.759 -5.47967
+145.805 -4.851
+144.523 -3.81125
+140 -2.21088
+> Shore Bin # 79, Level 1
+151.053 -6.00183
+152.12 -5.39849
+151.949 -5.00511
+152.405 -4.33829
+152.168 -4.13474
+151.489 -4.21256
+151.686 -4.86839
+150.897 -5.48882
+150.093 -5.51873
+150.092 -4.99809
+149.871 -5.52117
+148.317 -5.56756
+149.607 -6.29297
+151.053 -6.00488
+151.053 -6.00183
+> Shore Bin # 85, Level 1
+275.202 10
+275.259 9.96887
+276.378 9.04112
+276.431 8.44053
+276.723 8.38651
+276.62 8.74479
+277.107 8.03311
+277.282 8.3267
+278.239 8.21347
+278.484 7.70901
+278.944 7.91501
+279.11 7.20577
+279.56 7.23995
+280 7.51186
+> Shore Bin # 85, Level 1
+280 0.117647
+279.5 -0.392615
+279.725 -0.670024
+279.089 -1.05425
+279.101 -2.33082
+279.752 -2.73884
+280 -2.38972
+> Shore Bin # 85, Level 1
+280 -3.36263
+279.995 -3.37514
+278.744 -4.27268
+279.148 -5.65667
+278.848 -5.97925
+280 -6.73854
+> Shore Bin # 85, Level 1
+280 9.40826
+278.918 8.80827
+278.105 9.18822
+278.211 8.94347
+277.755 8.9984
+277.041 10
+> Shore Bin # 85, Level 1
+274.329 10
+274.327 9.90478
+274.89 9.55505
+275.138 9.82971
+274.974 10
+> Shore Bin # 85, Level 1
+280 7.52773
+279.527 8.23087
+280 8.50736
+> Shore Bin # 85, Level 1
+280 0.797894
+279.909 0.775616
+280 0.389563
+> Shore Bin # 86, Level 1
+280 8.50736
+280.912 9.04082
+281.579 8.34745
+281.941 8.42405
+281.598 7.92386
+282.706 6.55818
+282.469 4.20554
+282.976 3.91958
+282.868 3.63729
+282.232 2.66346
+281.437 2.4416
+281.47 1.76654
+280.967 1.63561
+281.071 1.06371
+280 0.797894
+> Shore Bin # 86, Level 1
+284.315 10
+284.381 9.45159
+283.063 8.55741
+283.229 7.91409
+282.127 9.1165
+281.029 9.56481
+280.376 9.61639
+280 9.40826
+> Shore Bin # 86, Level 1
+300 8.51164
+299.773 8.64286
+299.124 8.59037
+299.145 9.43786
+298.363 9.90295
+297.661 9.81811
+297.482 10
+> Shore Bin # 86, Level 1
+288.827 10
+288.975 9.71649
+288.928 9.31151
+288.291 9.05211
+287.869 9.81353
+287.984 10
+> Shore Bin # 86, Level 1
+280 -2.38972
+280.122 -2.21698
+280.285 -2.59663
+280 -3.36263
+> Shore Bin # 86, Level 1
+280 -6.73854
+280.019 -6.75074
+281.015 -8.21256
+281.786 -10
+> Shore Bin # 86, Level 1
+280 7.51186
+280.008 7.51644
+280 7.52773
+> Shore Bin # 86, Level 1
+280 0.389563
+280.052 0.170443
+280 0.117647
+> Shore Bin # 86, Level 2
+300 -3.29213
+298.186 -3.98032
+297.614 -3.69406
+296.475 -4.47959
+296.386 -4.09018
+296.674 -4.00839
+295.315 -3.35958
+295.214 -3.57626
+294.728 -2.76204
+294.009 -2.4892
+292.635 -2.54932
+291.854 -3.48867
+290.75 -3.44656
+290.412 -3.93393
+290.636 -4.07675
+290.092 -4.38621
+289.713 -3.87106
+288.545 -3.74472
+288.191 -3.19173
+286.99 -3.45998
+287.335 -3.29
+287.108 -3.18929
+287.572 -3.29885
+288.18 -3.15908
+288.55 -3.72152
+289.725 -3.79629
+290.181 -4.33097
+290.602 -4.08042
+290.364 -3.94858
+290.725 -3.41878
+291.915 -3.3608
+292.637 -2.5185
+294.604 -2.41291
+295.668 -3.5021
+296.93 -4.05844
+297.613 -3.67361
+298.086 -3.92599
+299.037 -3.5964
+299.168 -3.15999
+300 -3.1899
+> Shore Bin # 86, Level 2
+300 -3.1725
+299.42 -3.03182
+298.379 -1.46044
+296.373 -0.410925
+293.654 -0.402075
+294.149 -0.240635
+296.31 -0.293736
+298.406 -1.42657
+299.997 -3.15572
+300 -3.15572
+> Shore Bin # 87, Level 1
+320 -2.84962
+319.977 -2.83711
+317.739 -2.85969
+316.578 -2.33204
+315.182 -3.35805
+315.25 -2.62348
+315.64 -2.33661
+315.012 -2.44831
+315.517 -2.05097
+315.167 -1.41405
+314.761 -1.85138
+314.673 -1.31792
+314.478 -1.51202
+314.585 -1.29168
+314.305 -1.43114
+314.012 -1.0454
+313.852 -1.30449
+313.803 -0.888838
+313.653 -1.11376
+312.709 -0.59617
+312.633 -0.829328
+311.947 -0.659648
+311.505 -1.46258
+311.933 -1.55016
+311.553 -1.70703
+311.348 -1.39452
+310.514 -2.383
+310.718 -1.72717
+309.557 -1.95697
+311.102 -1.50378
+311.613 -0.295872
+309.661 -0.0962844
+309.2 -1.01701
+309.166 -0.548867
+308.752 -0.99321
+308.712 -0.512245
+308.299 -0.992294
+308.689 -0.0791943
+310.101 1.19799
+309.862 1.20989
+310.067 1.7116
+309.233 2.10224
+308.699 4.2504
+308.451 4.4271
+308.343 4.05966
+307.709 4.94804
+305.831 5.88373
+302.856 5.83673
+301.658 6.89204
+301.31 6.38209
+301.52 7.33455
+300.955 7.95865
+300 8.51164
+> Shore Bin # 87, Level 2
+300 -3.15572
+301.573 -3.15877
+302.425 -2.40314
+303.327 -2.56764
+303.958 -1.94141
+305.121 -1.98138
+305.468 -2.11536
+305.428 -2.41199
+305.747 -2.38117
+307.294 -1.56146
+306.259 -2.15595
+305.904 -2.38453
+305.022 -2.477
+304.605 -3.62142
+304.787 -2.36622
+305.276 -2.39429
+304.357 -2.2414
+304.907 -2.21973
+304.39 -1.97467
+303.327 -2.60395
+302.471 -2.41474
+301.37 -3.37484
+300.286 -3.18379
+300 -3.29213
+> Shore Bin # 87, Level 2
+300 -3.1899
+300.085 -3.19295
+300 -3.1725
+> Shore Bin # 88, Level 1
+323.867 -10
+325.061 -8.35569
+325.205 -7.15419
+324.739 -5.4818
+324.383 -5.11223
+322.85 -4.97429
+321.525 -3.70291
+320 -2.84962
+> Shore Bin # 89, Level 1
+346.01 10
+346.463 9.79675
+346.276 9.50652
+346.696 9.33501
+346.825 8.53178
+347.163 8.56077
+346.706 8.42161
+347.544 7.76669
+347.479 7.38399
+348.769 6.7895
+351.283 4.80705
+352.519 4.36027
+353.876 4.99718
+355.983 5.25841
+358.018 4.75456
+360 5.59289
+> Shore Bin # 90, Level 1
+13.4072 -10
+13.8628 -11.0083
+13.6571 -12.2351
+12.5328 -13.4183
+11.7446 -15.836
+11.7995 -17.9792
+14.5022 -22.5426
+14.9462 -26.3174
+17.1798 -30
+> Shore Bin # 91, Level 1
+30.8998 -30
+31.2746 -29.4543
+32.3854 -28.5492
+32.9644 -26.0842
+32.8341 -26.293
+32.4987 -25.96
+35.5019 -24.1076
+35.5462 -22.1718
+34.6612 -20.555
+34.6313 -19.6507
+34.8849 -19.8531
+36.3125 -18.8771
+36.8551 -17.8788
+39.8566 -16.4387
+40 -16.2052
+> Shore Bin # 91, Level 1
+40 -10.2374
+39.7046 -10.0317
+39.6963 -10
+> Shore Bin # 91, Level 2
+34.5122 -10
+34.9596 -11.4865
+34.6902 -12.4271
+35.2407 -14.4053
+34.5644 -14.1105
+33.9962 -12.2525
+34.3273 -11.6477
+33.984 -10
+> Shore Bin # 92, Level 1
+44.9992 -25.487
+47.1012 -24.9932
+49.4304 -18.1642
+49.4438 -17.2117
+49.8372 -16.8391
+49.6211 -15.5393
+49.8976 -15.4356
+50.1616 -15.9962
+50.4656 -15.4475
+49.9303 -13.0442
+49.1911 -12.305
+49.2726 -11.9547
+48.7205 -12.4427
+48.8121 -13.3793
+48.264 -13.8172
+47.8929 -13.5941
+48.0421 -14.2649
+47.762 -14.249
+47.4867 -15.0889
+47.4632 -14.6714
+47.0472 -15.1783
+47.2096 -15.4716
+46.8913 -15.6083
+46.9584 -15.2012
+46.4726 -15.5103
+46.5025 -15.998
+46.175 -15.7038
+44.4373 -16.1903
+43.9295 -17.4968
+44.4837 -19.9876
+43.498 -21.3124
+43.2303 -22.325
+44.0272 -24.9999
+44.9982 -25.487
+44.9992 -25.487
+> Shore Bin # 92, Level 1
+40 -16.2052
+40.842 -14.8325
+40.3946 -12.9285
+40.6421 -12.7466
+40.332 -11.3132
+40.6421 -10.6842
+40 -10.2374
+> Shore Bin # 95, Level 1
+120 -19.77
+119.092 -19.958
+117.378 -20.7771
+116.804 -20.5238
+114.646 -21.8379
+114.33 -22.5222
+113.99 -21.8724
+113.396 -24.4067
+114.231 -26.3159
+113.871 -25.942
+113.722 -26.1999
+113.509 -25.5053
+113.838 -26.5917
+113.153 -26.1492
+114.867 -29.1141
+114.985 -30
+> Shore Bin # 96, Level 1
+140 -17.5685
+139.598 -17.5389
+139.037 -16.9129
+136.677 -15.9263
+135.411 -14.9351
+136.072 -13.6677
+135.91 -13.285
+136.462 -13.2538
+136.462 -12.7774
+136.978 -12.3484
+136.564 -11.8796
+136.017 -12.4988
+136.045 -12.0645
+135.653 -12.2068
+135.912 -11.9528
+135.215 -12.3008
+134.748 -11.9513
+134.151 -12.1747
+133.916 -11.742
+133.508 -11.8796
+131.973 -11.127
+131.768 -11.3257
+132.723 -11.6233
+132.763 -12.1546
+131.463 -12.2855
+131.287 -12.0453
+130.812 -12.4085
+130.965 -12.6712
+130.576 -12.4073
+130.732 -12.7283
+130.351 -12.67
+130.318 -13.3735
+129.817 -13.4995
+129.365 -14.34
+129.999 -14.7059
+129.606 -15.2064
+129.29 -14.8621
+129.126 -15.2811
+129.093 -14.9046
+128.559 -14.7663
+128.2 -15.0694
+128.372 -15.4966
+128.128 -15.1862
+128.01 -15.5137
+128.227 -14.7141
+127.428 -13.9429
+126.875 -13.747
+126.613 -14.2506
+126.536 -13.9319
+126.23 -14.2506
+126.009 -13.9203
+125.918 -14.6772
+125.614 -14.2304
+125.138 -14.7459
+125.507 -15.1722
+124.829 -15.1575
+125.25 -15.5818
+124.675 -15.2546
+124.36 -15.6699
+124.495 -16.0029
+124.75 -15.8109
+124.391 -16.3392
+124.976 -16.3816
+124.4 -16.5653
+123.557 -16.1738
+123.505 -16.6624
+123.971 -16.826
+123.931 -17.2679
+123.569 -17.0375
+123.567 -17.6271
+122.922 -16.388
+122.173 -17.2633
+122.369 -18.1175
+121.113 -19.5396
+120 -19.77
+> Shore Bin # 96, Level 1
+123.559 -10
+123.455 -10.3601
+123.997 -10.278
+124 -10.278
+124.489 -10
+> Shore Bin # 97, Level 1
+153.317 -30
+153.64 -28.6383
+153.024 -27.2943
+153.193 -25.9316
+151.77 -24.0209
+150.792 -23.5097
+150.668 -22.347
+150.636 -22.6604
+150.042 -22.1254
+150.06 -22.6583
+149.812 -22.3821
+149.631 -22.585
+148.773 -20.2367
+146.26 -18.8634
+145.958 -16.8974
+145.402 -16.435
+145.348 -14.9491
+144.515 -14.1663
+143.773 -14.3992
+143.545 -12.8443
+142.534 -10.6888
+142.13 -10.9616
+142.079 -11.9858
+141.586 -12.5583
+141.977 -12.5946
+141.461 -13.8526
+141.667 -15.041
+140.609 -17.6139
+140 -17.5685
+> Shore Bin # 97, Level 1
+147.638 -10
+147.725 -10.1071
+149.743 -10.3488
+150.202 -10.7047
+150.877 -10.2301
+150.005 -10.0879
+150 -10.0879
+149.905 -10
+> Shore Bin # 104, Level 1
+281.786 -10
+282.342 -11.29
+283.798 -13.3957
+283.601 -13.9075
+284.084 -14.6543
+284.857 -15.4063
+288.523 -17.2914
+289.693 -18.4392
+289.877 -20.0093
+289.943 -21.44
+289.371 -23.5051
+289.55 -25.3674
+288.479 -28.9133
+288.723 -29.91
+288.665 -30
+> Shore Bin # 105, Level 1
+309.885 -30
+310.3 -29.3017
+311.238 -28.5385
+311.535 -27.146
+311.188 -26.3091
+311.651 -25.5715
+311.259 -25.3729
+311.788 -25.4687
+312.428 -24.6789
+313.62 -23.8988
+314.587 -23.8247
+315.587 -22.9439
+316.443 -23.0779
+316.917 -22.6787
+316.949 -22.9821
+317.986 -22.997
+318.038 -22.5313
+319.015 -22.0024
+318.929 -21.5016
+320 -19.8924
+> Shore Bin # 106, Level 1
+320 -19.8924
+320.191 -19.6049
+320.301 -18.3732
+320.863 -17.6909
+321.154 -12.8348
+321.309 -12.5846
+321.528 -13.0146
+321.931 -12.6667
+323.867 -10
+> Shore Bin # 108, Level 1
+17.1798 -30
+18.2004 -31.6825
+18.327 -32.5299
+17.8479 -32.8202
+18.3999 -34.3021
+18.7909 -34.0806
+20 -34.8182
+> Shore Bin # 109, Level 1
+20 -34.8182
+20.0198 -34.8304
+22.5559 -33.9786
+24.8399 -34.2063
+27.0115 -33.5654
+30.0093 -31.297
+30.8998 -30
+> Shore Bin # 113, Level 1
+114.985 -30
+115.052 -30.5075
+115.883 -31.9617
+115.698 -33.3008
+115.001 -33.5285
+115.128 -34.3729
+116.624 -35.0581
+117.953 -35.1289
+119.903 -33.9347
+120 -33.9347
+> Shore Bin # 114, Level 1
+120 -33.9347
+123.527 -33.938
+124.234 -33.0195
+125.957 -32.2889
+131.153 -31.4646
+134.182 -32.4854
+134.06 -32.9142
+134.708 -33.1818
+135.519 -34.6143
+135.113 -34.5899
+135.958 -35.008
+135.934 -34.5341
+137.781 -32.9999
+137.754 -32.4588
+137.978 -33.5532
+137.451 -34.1401
+137.453 -34.9082
+137.016 -34.8954
+136.852 -35.2854
+137.762 -35.1179
+138.094 -34.1355
+138.568 -34.8267
+138.098 -35.6266
+138.891 -35.5338
+139.518 -35.9614
+139.723 -36.2889
+139.612 -36.1567
+139.74 -37.1833
+140 -37.4455
+> Shore Bin # 115, Level 1
+140 -37.4455
+140.582 -38.033
+143.557 -38.8588
+144.928 -37.8428
+145.116 -38.1483
+144.658 -38.3113
+145.488 -38.2353
+145.372 -38.5396
+146.276 -39.0001
+146.23 -38.697
+147.972 -37.8935
+147.454 -38.0797
+147.658 -37.8505
+149.98 -37.505
+150.153 -35.7011
+150.843 -35.0666
+150.603 -34.8658
+151.201 -33.5108
+152.543 -32.4442
+152.36 -32.1866
+153.065 -31.0584
+153.317 -30
+> Shore Bin # 115, Level 1
+145.999 -43.3303
+146.87 -43.6403
+147.197 -42.7279
+148.006 -43.2308
+148.207 -41.9506
+148.361 -42.1975
+148.078 -40.7704
+146.607 -41.2605
+144.684 -40.6685
+144.744 -41.4217
+145.556 -42.3577
+145.168 -42.1962
+145.256 -42.6241
+146 -43.3303
+145.999 -43.3303
+> Shore Bin # 116, Level 1
+174.937 -41.003
+174.615 -41.2941
+175.238 -41.6097
+175.965 -41.2471
+177.044 -39.2018
+178.004 -39.1157
+178.553 -37.6899
+177.983 -37.5395
+177.152 -38.0455
+176.04 -37.6814
+175.495 -36.5095
+175.576 -37.2438
+174.658 -36.8809
+174.869 -36.3667
+174.32 -35.8357
+174.332 -35.1762
+174.105 -35.348
+173.399 -34.7831
+173.237 -35.0153
+173.047 -34.4138
+172.678 -34.4254
+174.049 -36.3984
+173.913 -36.0063
+174.509 -36.255
+174.448 -36.6471
+174.155 -36.45
+174.489 -37.0457
+174.932 -37.0558
+174.539 -37.0558
+174.975 -37.7977
+174.594 -38.8191
+173.753 -39.2766
+175.058 -39.9391
+174.941 -40.9999
+174.937 -41.003
+> Shore Bin # 116, Level 1
+170 -46.2554
+170.752 -45.8709
+171.322 -44.005
+172.213 -43.9025
+171.669 -43.5241
+172.218 -43.9013
+173.081 -43.8561
+172.652 -43.64
+172.779 -43.1283
+174.279 -41.7418
+174.319 -41.2151
+173.907 -41.281
+174.315 -40.9963
+173.195 -41.3329
+172.655 -40.66
+172.978 -40.5287
+172.134 -40.8525
+170.749 -43.1014
+169.222 -43.973
+168.37 -44.0111
+166.974 -45.1424
+167.167 -45.4662
+166.808 -45.3136
+166.676 -46.2106
+167.651 -46.1678
+169.01 -46.6787
+169.998 -46.2576
+170 -46.2554
+> Shore Bin # 122, Level 1
+288.665 -30
+288.28 -30.5991
+288.381 -33.6258
+286.845 -37.115
+286.314 -37.3326
+286.806 -39.4426
+286.04 -41.0066
+286.514 -41.5691
+286.235 -41.7488
+287.049 -41.4745
+287.422 -41.5874
+287.717 -41.3933
+287.115 -41.9142
+287.647 -42.1758
+287.511 -42.513
+287.156 -42.3024
+287.504 -42.6192
+287.174 -42.5158
+286.897 -43.4591
+287.26 -43.8451
+286.713 -44.165
+287.45 -44.5275
+286.484 -45.2001
+287.228 -45.4076
+286.507 -45.4583
+286.427 -45.7845
+286.859 -45.6533
+286.362 -46.5396
+286.131 -46.1447
+285.54 -46.1993
+286.005 -46.1526
+285.666 -46.1324
+285.916 -45.8148
+285.569 -46.0479
+285.273 -45.8138
+284.909 -45.8849
+285.436 -46.0476
+285.145 -46.3726
+284.378 -46.7291
+284.702 -46.947
+284.478 -46.7166
+285.131 -46.437
+285.15 -46.8087
+285.788 -46.7547
+286.076 -47.2116
+285.486 -47.4542
+286.085 -47.5091
+285.27 -47.7142
+286.269 -47.6254
+286.773 -48.0191
+286.321 -47.9217
+286.613 -48.2889
+285.348 -48.0099
+286.159 -48.4076
+285.605 -48.6017
+285.947 -48.7451
+285.588 -49.3957
+285.962 -49.1928
+286.351 -49.7241
+285.681 -49.6399
+285.93 -50
+> Shore Bin # 122, Level 1
+292.086 -50
+292.428 -49.0433
+294.235 -47.9174
+294.26 -47.2024
+293.206 -46.9989
+292.373 -46.0525
+293.051 -45.2673
+294.479 -44.9316
+294.668 -43.6632
+295.694 -42.9775
+295.021 -42.6531
+295.605 -42.5188
+295.908 -42.878
+296.415 -42.6168
+296.235 -42.0754
+295.529 -42.4413
+294.953 -42.0558
+294.992 -40.7182
+296.21 -41.1672
+297.617 -40.9114
+297.686 -39.2982
+297.994 -39.3825
+297.659 -38.7706
+298.889 -39.0028
+300 -38.8066
+> Shore Bin # 122, Level 1
+291.49 -50
+291.272 -49.7568
+291.525 -50
+> Shore Bin # 123, Level 1
+300 -38.8066
+301.493 -38.5429
+302.452 -38.1038
+303.331 -36.8876
+303.27 -36.334
+302.62 -35.9699
+302.802 -35.3034
+301.43 -34.4175
+301.557 -33.0704
+301.57 -33.9191
+302.144 -34.477
+303.838 -34.9354
+305.849 -34.6705
+307.405 -33.0591
+307.726 -31.778
+308.905 -30.3717
+308.696 -30.0049
+309.431 -30.4642
+307.914 -32.1646
+309.205 -31.1426
+309.885 -30
+> Shore Bin # 126, Level 1
+20 -69.9371
+17.8552 -69.6796
+15.6255 -69.816
+15.1617 -69.2996
+12.94 -70
+> Shore Bin # 126, Level 1
+0.630503 -70
+0.00030518 -68.9258
+0.00030518 -68.9258
+0 -68.9258
+> Shore Bin # 126, Level 1
+7.69055 -70
+7.33196 -69.9951
+7.31945 -70
+> Shore Bin # 127, Level 1
+38.4979 -70
+37.8561 -69.5077
+37.0587 -69.6646
+34.1427 -68.5849
+33.1746 -68.8113
+33.3114 -69.512
+32 -69.523
+30.9233 -69.0149
+29.1774 -69.7534
+27.317 -70
+> Shore Bin # 127, Level 1
+40 -69.1949
+38.7713 -70
+> Shore Bin # 127, Level 1
+20.5246 -70
+20 -69.9371
+> Shore Bin # 128, Level 1
+60 -67.4536
+59.1086 -67.4264
+56.5869 -66.922
+57.0648 -66.4718
+53.7023 -65.8724
+50.4219 -66.3732
+50.7945 -67.1789
+49.1948 -66.8112
+48.3421 -67.1658
+49.2393 -67.3007
+48.1486 -67.6635
+46.6865 -67.2366
+46.1387 -67.659
+41.0001 -68.5397
+40 -69.1949
+> Shore Bin # 129, Level 1
+80 -68.0078
+78.8281 -68.1979
+77.8054 -69.1034
+75.9182 -69.5435
+75.5151 -69.2035
+73.8125 -69.7409
+72.4062 -68.981
+70.4775 -68.6688
+69.6355 -67.7459
+60 -67.4536
+> Shore Bin # 130, Level 1
+100 -65.6725
+99.4916 -65.9155
+95.8669 -65.0426
+95.5724 -66.1486
+94.3932 -66.6098
+92.0159 -66.4874
+89.5317 -66.8359
+88.018 -66.0076
+83.6558 -66.571
+81.8305 -65.7595
+81.4307 -66.2585
+82.3911 -67.1942
+81.3718 -67.7853
+80 -68.0078
+> Shore Bin # 131, Level 1
+120 -66.8087
+117.79 -66.9793
+116 -66.3458
+114.427 -66.4382
+113.125 -65.7247
+111.298 -65.9289
+108.669 -66.9641
+102.87 -65.1107
+102.497 -65.6884
+100.61 -65.3814
+100 -65.6725
+> Shore Bin # 132, Level 1
+140 -66.6964
+136.374 -66.3616
+134.839 -65.2438
+134.38 -66.174
+129.485 -65.9295
+129.892 -66.8975
+128.255 -67.0507
+126.353 -66.2466
+124.211 -66.0946
+123.03 -66.7889
+121.203 -65.6197
+121.299 -66.7083
+120 -66.8087
+> Shore Bin # 133, Level 1
+160 -69.6258
+159.192 -69.3005
+155.268 -68.952
+153.652 -68.3304
+148.261 -68.3993
+148.453 -67.8268
+145.205 -67.5314
+146.637 -67.1701
+146.405 -66.8325
+144.65 -67.1258
+140 -66.6964
+> Shore Bin # 134, Level 1
+160.928 -70
+160 -69.6258
+> Shore Bin # 140, Level 1
+285.93 -50
+286.138 -50.3012
+285.299 -50.21
+286.038 -50.3751
+285.963 -50.8511
+286.43 -50.387
+286.661 -50.6943
+285.762 -50.9235
+286.339 -51.1118
+286.069 -51.6284
+286.61 -52.0426
+286.597 -51.6342
+286.829 -52.0365
+286.637 -51.5549
+287.397 -51.7722
+286.574 -51.4652
+287.066 -51.1569
+286.856 -51.5216
+287.521 -51.7926
+287.082 -52.4762
+287.229 -51.9693
+287.012 -52.3639
+287.002 -52.0838
+286.261 -52.0435
+286.296 -52.7964
+287.109 -52.5016
+286.637 -52.9999
+286.638 -53.0005
+287.023 -53.0823
+287.073 -52.5562
+288.455 -52.569
+288.651 -53.1275
+288.033 -53.5789
+288.145 -53.2313
+287.516 -53.3951
+288.717 -53.9005
+289.117 -52.739
+290.783 -52.2028
+291.648 -52.3407
+291.033 -51.626
+290.414 -51.6074
+291.046 -51.5698
+290.571 -51.0916
+291.639 -50.1666
+291.49 -50
+> Shore Bin # 140, Level 1
+300 -63.8177
+299.028 -64.0337
+296.934 -65.1562
+296.134 -65.0283
+296.353 -65.5196
+294.375 -66.0986
+294.249 -66.6964
+293.421 -66.6442
+293.514 -67.3126
+292.524 -67.0282
+292.374 -67.5463
+293.482 -67.4936
+292.694 -67.9544
+293.405 -68.2202
+291.156 -69.4122
+291.586 -69.7717
+290.788 -69.9765
+289.485 -68.7698
+287.875 -69.0704
+288.37 -69.3487
+287.35 -69.324
+287.325 -69.6411
+283.896 -69.6625
+284.638 -70
+> Shore Bin # 140, Level 1
+293.276 -55.0025
+294.886 -54.6418
+292.233 -53.8318
+291.242 -52.5553
+289.579 -52.7768
+289.566 -53.3808
+290.672 -53.4458
+289.928 -54.065
+291.037 -54.4758
+290.652 -54.7138
+290.545 -54.3412
+290.233 -54.5838
+289.071 -54.1178
+289.881 -54.5676
+289.248 -54.6262
+289.183 -54.3238
+288.041 -54.6241
+293.276 -55.0001
+293.276 -55.0025
+> Shore Bin # 140, Level 1
+291.525 -50
+291.657 -50.1263
+292.082 -50.0092
+292.086 -50
+> Shore Bin # 140, Level 1
+300 -68.219
+299.025 -66.6931
+300 -65.5776
+> Shore Bin # 140, Level 1
+299.508 -70
+300 -69.433
+> Shore Bin # 141, Level 1
+300 -65.5776
+301.419 -63.955
+303.261 -63.5915
+302.686 -63.221
+300 -63.8177
+> Shore Bin # 141, Level 1
+300 -69.433
+301.027 -68.2495
+300.012 -68.2379
+300 -68.219
+> Shore Bin # 143, Level 1
+360 -68.9258
+358.852 -68.9459
+359.348 -69.5892
+358.192 -70
+> Shore Bin # 144, Level 1
+7.31945 -70
+6.45304 -70.3287
+0.636606 -70.0104
+0.630503 -70
+> Shore Bin # 144, Level 1
+12.94 -70
+12.7285 -70.0668
+7.69055 -70
+> Shore Bin # 145, Level 1
+38.7713 -70
+38.6239 -70.0964
+38.4979 -70
+> Shore Bin # 145, Level 1
+27.317 -70
+24.0876 -70.4279
+20.5246 -70
+> Shore Bin # 152, Level 1
+180 -78.1254
+173.849 -77.4461
+166.78 -77.1739
+166.699 -77.8764
+164.533 -77.9875
+162.314 -76.9557
+162.793 -75.4643
+164.775 -75.565
+163.478 -75.2021
+164.047 -74.6345
+165.473 -74.6345
+164.84 -74.1025
+166.148 -74.0821
+167.602 -73.3616
+169.146 -73.4336
+169.78 -72.2019
+171.112 -71.8482
+170.383 -71.3165
+170.315 -71.6712
+166.618 -70.5414
+162.004 -70.4337
+160.928 -70
+> Shore Bin # 153, Level 1
+200 -77.8853
+196.097 -78.224
+195.554 -78.5704
+182.384 -78.3885
+180 -78.1254
+> Shore Bin # 154, Level 1
+220 -75.3309
+219.788 -75.4469
+213.935 -75.7972
+214.76 -76.2528
+208.079 -76.3706
+209.527 -76.797
+207.658 -77.2633
+201.721 -76.9691
+201.225 -77.779
+200 -77.8853
+> Shore Bin # 155, Level 1
+240 -73.7784
+234.863 -73.1894
+229.545 -74.3394
+222.893 -74.9461
+221.244 -74.6485
+220 -75.3309
+> Shore Bin # 156, Level 1
+260 -71.8857
+258.234 -71.9263
+256.242 -72.3661
+256.788 -73.2206
+259.104 -73.5544
+257.722 -73.5538
+258.498 -75.0587
+254.936 -74.8215
+254.553 -75.2522
+254.926 -74.2347
+252.474 -74.2512
+251.16 -74.7834
+246.122 -73.8523
+241 -73.8929
+240 -73.7784
+> Shore Bin # 157, Level 1
+280 -72.9685
+271.703 -72.9502
+271.975 -72.4054
+264.429 -72.6899
+263.305 -72.5049
+264.244 -72.3236
+263.41 -71.8076
+260 -71.8857
+> Shore Bin # 158, Level 1
+284.638 -70
+285.78 -70.5197
+284.522 -70.7974
+286.784 -71.0416
+284.468 -71.6327
+287.501 -72.175
+287.928 -73.234
+282.709 -72.399
+281.117 -72.8284
+281.689 -73.4336
+280.378 -72.9694
+280 -72.9685
+> Shore Bin # 158, Level 1
+300 -72.7405
+299.252 -70.2945
+299.508 -70
+> Shore Bin # 158, Level 1
+300 -75.3022
+298.022 -74.922
+300 -73.3414
+> Shore Bin # 159, Level 1
+320 -77.7714
+318.902 -77.6994
+318.163 -77.9594
+317.646 -77.6646
+314.726 -78.1324
+300 -75.3022
+> Shore Bin # 159, Level 1
+300 -73.3414
+300.148 -73.2233
+300 -72.7405
+> Shore Bin # 160, Level 1
+340 -73.5047
+339.597 -73.827
+333.315 -75.4929
+333.051 -76.1054
+328.732 -77.1864
+326.437 -77.2889
+324.367 -78.0574
+320 -77.7714
+> Shore Bin # 161, Level 1
+358.192 -70
+357.627 -70.2005
+352.132 -70.6534
+350.983 -70.4266
+347.788 -71.359
+347.113 -72.0322
+344.896 -72.0801
+342.617 -72.6743
+341.183 -72.5599
+340 -73.5047

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/convert_DX_to_AVS_slices.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/convert_DX_to_AVS_slices.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/convert_DX_to_AVS_slices.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,78 @@
+!=====================================================================
+!
+!          S p e c f e m 3 D  G l o b e  V e r s i o n  5 . 1
+!          --------------------------------------------------
+!
+!          Main authors: Dimitri Komatitsch and Jeroen Tromp
+!                        Princeton University, USA
+!             and University of Pau / CNRS / INRIA, France
+! (c) Princeton University / California Institute of Technology and University of Pau / CNRS / INRIA
+!                            August 2008
+!
+! This program is free software; you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation; either version 2 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License along
+! with this program; if not, write to the Free Software Foundation, Inc.,
+! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+!
+!=====================================================================
+
+  program convert_DX_to_AVS_slices
+
+  implicit none
+
+  integer, parameter :: npoin = 1722, nelem = 1612
+
+  integer i1,i2,i3,i4,ipoin,ielem
+
+  real x,y,z,datavalue
+
+! skip DX header
+  read(*,*)
+
+! write AVS header
+  write(*,*) npoin,' ',nelem,' 0 1 0'
+
+! read and write the points
+  do ipoin = 1,npoin
+    read(*,*) x,y,z
+    write(*,*) ipoin,x,y,z
+  enddo
+
+! skip DX header
+  read(*,*)
+
+! read and write the elements
+! in the case of OpenDX, node numbers start at zero
+! in the case of AVS, node numbers start at one
+! point order in OpenDX is 1,4,2,3 *not* 1,2,3,4 as in AVS
+  do ielem = 1,nelem
+    read(*,*) i1,i4,i2,i3
+    write(*,*) ielem,' 1 quad ',i1+1,i2+1,i3+1,i4+1
+  enddo
+
+! skip DX header
+  read(*,*)
+  read(*,*)
+  read(*,*)
+
+! write AVS header
+  write(*,*) '1 1'
+  write(*,*) 'Zcoord, meters'
+
+! read and write the element data
+  do ielem = 1,nelem
+    read(*,*) datavalue
+    write(*,*) ielem,datavalue
+  enddo
+
+  end program convert_DX_to_AVS_slices
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/convert_DX_to_AVS_surface.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/convert_DX_to_AVS_surface.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/convert_DX_to_AVS_surface.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,78 @@
+!=====================================================================
+!
+!          S p e c f e m 3 D  G l o b e  V e r s i o n  5 . 1
+!          --------------------------------------------------
+!
+!          Main authors: Dimitri Komatitsch and Jeroen Tromp
+!                        Princeton University, USA
+!             and University of Pau / CNRS / INRIA, France
+! (c) Princeton University / California Institute of Technology and University of Pau / CNRS / INRIA
+!                            August 2008
+!
+! This program is free software; you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation; either version 2 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License along
+! with this program; if not, write to the Free Software Foundation, Inc.,
+! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+!
+!=====================================================================
+
+  program convert_DX_to_AVS_slices
+
+  implicit none
+
+  integer, parameter :: npoin = 8036, nelem = 7680
+
+  integer :: i1,i2,i3,i4,datavalue,ipoin,ielem
+
+  real x,y,z
+
+! skip DX header
+  read(*,*)
+
+! write AVS header
+  write(*,*) npoin,' ',nelem,' 1 0 0'
+
+! read and write the points
+  do ipoin = 1,npoin
+    read(*,*) x,y,z
+    write(*,*) ipoin,x,y,z
+  enddo
+
+! skip DX header
+  read(*,*)
+
+! read and write the elements
+! in the case of OpenDX, node numbers start at zero
+! in the case of AVS, node numbers start at one
+! point order in OpenDX is 1,4,2,3 *not* 1,2,3,4 as in AVS
+  do ielem = 1,nelem
+    read(*,*) i1,i4,i2,i3
+    write(*,*) ielem,' 1 quad ',i1+1,i2+1,i3+1,i4+1
+  enddo
+
+! skip DX header
+  read(*,*)
+  read(*,*)
+  read(*,*)
+
+! write AVS header
+  write(*,*) '1 1'
+  write(*,*) 'Zcoord, meters'
+
+! read and write the point data
+  do ipoin = 1,npoin
+    read(*,*) datavalue
+    write(*,*) ipoin,datavalue
+  enddo
+
+  end program convert_DX_to_AVS_slices
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/convert_avs2dx_quads.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/convert_avs2dx_quads.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/convert_avs2dx_quads.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,92 @@
+!=====================================================================
+!
+!          S p e c f e m 3 D  G l o b e  V e r s i o n  5 . 1
+!          --------------------------------------------------
+!
+!          Main authors: Dimitri Komatitsch and Jeroen Tromp
+!                        Princeton University, USA
+!             and University of Pau / CNRS / INRIA, France
+! (c) Princeton University / California Institute of Technology and University of Pau / CNRS / INRIA
+!                            August 2008
+!
+! This program is free software; you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation; either version 2 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License along
+! with this program; if not, write to the Free Software Foundation, Inc.,
+! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+!
+!=====================================================================
+
+  program convert_avs2dx_quads
+
+! convert AVS files composed of quadrangles ("quads") to OpenDX file format
+
+! Dimitri Komatitsch, University of Pau, January 2007
+
+  implicit none
+
+! maximum number of points in the AVS file
+  integer, parameter :: maxpoints = 10000000
+
+  real x(maxpoints)
+  real y(maxpoints)
+  real z(maxpoints)
+
+  integer icorresp(maxpoints)
+
+  integer :: npoin,nspec,ipoin,ispec,idum1,idum2,i1,i2,i3,i4
+
+! filter "quad" from AVS file
+  call system('sed -e ''1,$s/quad//g'' < cubed_sphere_surface.inp > ____tutu')
+
+  open(unit=55,file='____tutu',status='old')
+
+  read(55,*) npoin,nspec
+
+  print *,'object 1 class array type float rank 1 shape 3 items ',npoin,' data follows'
+  do ipoin=1,npoin
+    read(55,*) i1,x(ipoin),y(ipoin),z(ipoin)
+    icorresp(i1) = ipoin
+    print *,x(ipoin),y(ipoin),z(ipoin)
+  enddo
+
+  print *,'object 2 class array type int rank 1 shape 4 items ',nspec,' data follows'
+  do ispec=1,nspec
+    read(55,*) idum1,idum2,i1,i2,i3,i4
+! point order in OpenDX is 1,4,2,3 *not* 1,2,3,4 as in AVS
+    print *,icorresp(i1)-1,icorresp(i4)-1,icorresp(i2)-1,icorresp(i3)-1
+  enddo
+
+! skip labels
+  read(55,*)
+  read(55,*)
+
+  close(55)
+
+  print *,'attribute "element type" string "quads"'
+  print *,'attribute "ref" string "positions"'
+  print *,'object 3 class array type float rank 0 items ',npoin,' data follows'
+  do ipoin=1,npoin
+    print *,ipoin
+  enddo
+
+  print *,'attribute "dep" string "positions"'
+  print *,'object "irregular positions irregular connections" class field'
+  print *,'component "positions" value 1'
+  print *,'component "connections" value 2'
+  print *,'component "data" value 3'
+  print *,'end'
+
+! remove temporary file
+  call system('rm -f ____tutu')
+
+  end program convert_avs2dx_quads
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/convert_lat_long_epicenter_OpenDX.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/convert_lat_long_epicenter_OpenDX.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/convert_lat_long_epicenter_OpenDX.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,241 @@
+!=====================================================================
+!
+!          S p e c f e m 3 D  G l o b e  V e r s i o n  5 . 1
+!          --------------------------------------------------
+!
+!          Main authors: Dimitri Komatitsch and Jeroen Tromp
+!                        Princeton University, USA
+!             and University of Pau / CNRS / INRIA, France
+! (c) Princeton University / California Institute of Technology and University of Pau / CNRS / INRIA
+!                            August 2008
+!
+! This program is free software; you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation; either version 2 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License along
+! with this program; if not, write to the Free Software Foundation, Inc.,
+! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+!
+!=====================================================================
+
+  program convert_epicenter_OpenDX
+!
+!--- convert the coordinates of the earthquake epicenter to OpenDX format
+!
+
+  implicit none
+
+  include "constants_topo.h"
+
+! small offset to add to the epicenter glyph (in meters)
+  double precision, parameter :: SMALL_OFFSET = 125000.d0
+
+! filter final surface using box filter
+  logical, parameter :: SMOOTH_THE_MODEL = .true.
+  integer, parameter :: SIZE_FILTER_ONE_SIDE = 5
+
+! use integer array to store values
+  integer ibathy_topo(NX_BATHY,NY_BATHY)
+  integer ibathy_topo_ori(NX_BATHY,NY_BATHY)
+
+  integer ix,iy,minvalue,maxvalue
+  integer ix_current,iy_current,ix_min,ix_max,iy_min,iy_max,ix_value,iy_value
+
+  double precision value_sum,area_window
+  double precision :: phi,theta,r,x,y,z,elevation
+
+  double precision :: long,lat
+
+!----
+
+! latitude and longitude of the epicenter
+  lat = 31.4400d0
+  long = 104.1000d0
+
+!----
+
+! read the topography file
+  print *,'NX_BATHY,NY_BATHY = ',NX_BATHY,NY_BATHY
+  print *,'file used has a resolution of ',RESOLUTION_TOPO_FILE,' minutes'
+
+  print *
+  print *,'reading topo file'
+
+  open(unit=13,file='topo_bathy_etopo4_from_etopo2_subsampled.dat',status='old')
+  do iy=1,NY_BATHY
+    do ix=1,NX_BATHY
+      read(13,*) ibathy_topo_ori(ix,iy)
+    enddo
+  enddo
+  close(13)
+
+! compute min and max before smoothing
+  minvalue = minval(ibathy_topo_ori)
+  maxvalue = maxval(ibathy_topo_ori)
+  print *,'min and max of topography before smoothing = ',minvalue,maxvalue
+
+!----
+
+! smooth topography/bathymetry model
+  if(SMOOTH_THE_MODEL) then
+
+  print *
+  print *,'smoothing topo file'
+  if(SIZE_FILTER_ONE_SIDE < 1) stop 'SIZE_FILTER_ONE_SIDE must be greater than 1 for filter'
+  print *,'size of window filter is ',2*SIZE_FILTER_ONE_SIDE+1,' x ',2*SIZE_FILTER_ONE_SIDE+1
+  area_window = dble((2*SIZE_FILTER_ONE_SIDE+1)**2)
+
+  do iy_current = 1,NY_BATHY
+
+   if(mod(iy_current,10) == 0) print *,'smoothing line ',iy_current,' out of ',NY_BATHY
+
+    do ix_current = 1,NX_BATHY
+
+      value_sum = 0.d0
+
+! compute min and max of window
+      ix_min = ix_current - SIZE_FILTER_ONE_SIDE
+      ix_max = ix_current + SIZE_FILTER_ONE_SIDE
+
+      iy_min = iy_current - SIZE_FILTER_ONE_SIDE
+      iy_max = iy_current + SIZE_FILTER_ONE_SIDE
+
+! loop on points in window to compute sum
+      do iy = iy_min,iy_max
+      do ix = ix_min,ix_max
+
+! copy current value
+        ix_value = ix
+        iy_value = iy
+
+! avoid edge effects, use periodic boundary in Xmin and Xmax
+      if(ix_value < 1) ix_value = ix_value + NX_BATHY
+      if(ix_value > NX_BATHY) ix_value = ix_value - NX_BATHY
+
+! avoid edge effects, use rigid boundary in Ymin and Ymax
+! *not* periodic, because South and North poles must not be merged
+      if(iy_value < 1) iy_value = 1
+      if(iy_value > NY_BATHY) iy_value = NY_BATHY
+
+! compute sum
+      value_sum = value_sum + dble(ibathy_topo_ori(ix_value,iy_value))
+
+      enddo
+      enddo
+
+! assign mean value to filtered point
+      ibathy_topo(ix_current,iy_current) = nint(value_sum / area_window)
+
+    enddo
+  enddo
+
+  else
+
+! no smoothing
+    ibathy_topo = ibathy_topo_ori
+
+  endif
+
+!----
+
+! compute min and max after smoothing
+  minvalue = minval(ibathy_topo)
+  maxvalue = maxval(ibathy_topo)
+  print *,'min and max of topography after smoothing = ',minvalue,maxvalue
+
+! store file in OpenDX format
+
+! create the OpenDX file
+  print *
+  print *,'creating OpenDX file'
+
+! creating the header
+  open(unit=11,file='epicenter.dx',status='unknown')
+
+! write point coordinates
+  write(11,*) 'object 1 class array type float rank 1 shape 3 items 1 data follows'
+!! DK DK in principle this should take the ellipticity of the Earth into account
+  phi = long * PI / 180.d0
+  theta = (90.d0 - lat) * PI / 180.d0
+
+! use an Earth model of mean radius equal to 1, and add elevation to each point, amplified in order to see it
+  call get_topo_bathy(lat,long,elevation,ibathy_topo)
+  r = (R_EARTH + EXAGGERATION_FACTOR_TOPO * elevation + SMALL_OFFSET) / R_EARTH
+
+  x = r*sin(theta)*cos(phi)
+  y = r*sin(theta)*sin(phi)
+  z = r*cos(theta)
+
+  write(11,*) sngl(x),sngl(y),sngl(z)
+
+! write elements
+  write(11,*) 'object 2 class array type int rank 1 shape 2 items 1 data follows'
+! point numbers start at 0 in OpenDX, not 1 as in AVS
+  write(11,*) '0 0'
+
+  write(11,*) 'attribute "element type" string "lines"'
+  write(11,*) 'attribute "ref" string "positions"'
+  write(11,*) 'object 3 class array type float rank 0 items 1 data follows'
+
+! write data values (size of the glyph, therefore do NOT set it to 0)
+  write(11,*) '2'
+
+! define OpenDX field
+  write(11,*) 'attribute "dep" string "positions"'
+  write(11,*) 'object "irregular positions irregular connections" class field'
+  write(11,*) 'component "positions" value 1'
+  write(11,*) 'component "connections" value 2'
+  write(11,*) 'component "data" value 3'
+  write(11,*) 'end'
+
+  close(11)
+
+  end program convert_epicenter_OpenDX
+
+!----------------------------
+
+  subroutine get_topo_bathy(xlat,xlon,value,ibathy_topo)
+
+!
+!---- get elevation or ocean depth in meters at a given latitude and longitude
+!
+
+  implicit none
+
+  include "constants_topo.h"
+
+! use integer array to store values
+  integer, dimension(NX_BATHY,NY_BATHY) :: ibathy_topo
+
+  double precision xlat,xlon,value
+
+  integer iadd1,iel1
+  double precision samples_per_degree_topo
+  double precision xlo
+
+  xlo = xlon
+  if(xlon < 0.d0) xlo = xlo + 360.d0
+
+! compute number of samples per degree
+  samples_per_degree_topo = dble(RESOLUTION_TOPO_FILE) / 60.d0
+
+! compute offset in data file and avoid edge effects
+  iadd1 = 1 + int((90.d0-xlat)/samples_per_degree_topo)
+  if(iadd1 < 1) iadd1 = 1
+  if(iadd1 > NY_BATHY) iadd1 = NY_BATHY
+
+  iel1 = int(xlo/samples_per_degree_topo)
+  if(iel1 <= 0 .or. iel1 > NX_BATHY) iel1 = NX_BATHY
+
+! convert integer value to double precision
+  value = dble(ibathy_topo(iel1,iadd1))
+
+  end subroutine get_topo_bathy
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/convert_lat_long_main_cities_OpenDX.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/convert_lat_long_main_cities_OpenDX.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/convert_lat_long_main_cities_OpenDX.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,261 @@
+!=====================================================================
+!
+!          S p e c f e m 3 D  G l o b e  V e r s i o n  5 . 1
+!          --------------------------------------------------
+!
+!          Main authors: Dimitri Komatitsch and Jeroen Tromp
+!                        Princeton University, USA
+!             and University of Pau / CNRS / INRIA, France
+! (c) Princeton University / California Institute of Technology and University of Pau / CNRS / INRIA
+!                            August 2008
+!
+! This program is free software; you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation; either version 2 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License along
+! with this program; if not, write to the Free Software Foundation, Inc.,
+! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+!
+!=====================================================================
+
+  program convert_lat_long_cities_OpenDX
+!
+!--- convert the coordinates of the main cities in the world to OpenDX format
+!--- the original list of cities is taken from http://www.stutzfamily.com/mrstutz/LatLong/latlonglist.htm
+!
+
+  implicit none
+
+  include "constants_topo.h"
+
+! number of cities in input file
+  integer, parameter :: N_CITIES = 232
+
+! filter final surface using box filter
+  logical, parameter :: SMOOTH_THE_MODEL = .true.
+  integer, parameter :: SIZE_FILTER_ONE_SIDE = 5
+
+! use integer array to store values
+  integer ibathy_topo(NX_BATHY,NY_BATHY)
+  integer ibathy_topo_ori(NX_BATHY,NY_BATHY)
+
+  integer ix,iy,minvalue,maxvalue,icity
+  integer ix_current,iy_current,ix_min,ix_max,iy_min,iy_max,ix_value,iy_value
+  integer :: idegrees_lat,iminutes_lat,icode_lat,idegrees_long,iminutes_long,icode_long
+
+  double precision value_sum,area_window
+  double precision :: phi,theta,r,x,y,z,elevation
+
+  double precision, dimension(N_CITIES) :: long,lat
+
+!----
+
+! read the city file
+! in the input file, 3000 is North, 6000 is South, 9000 is East and 12000 is West
+  print *,'city file used contains ',N_CITIES,' cities'
+  print *,'reading the city file'
+  open(unit=13,file='lat_long_main_cities_processed.dat',status='old')
+  do icity=1,N_CITIES
+    read(13,*) idegrees_lat,iminutes_lat,icode_lat,idegrees_long,iminutes_long,icode_long
+
+    lat(icity) = idegrees_lat + iminutes_lat/60.d0
+    if(icode_lat == 6000) lat(icity) = - lat(icity)
+
+    long(icity) = idegrees_long + iminutes_long/60.d0
+    if(icode_long == 12000) long(icity) = - long(icity)
+
+  enddo
+  close(13)
+
+!----
+
+! read the topography file
+  print *,'NX_BATHY,NY_BATHY = ',NX_BATHY,NY_BATHY
+  print *,'file used has a resolution of ',RESOLUTION_TOPO_FILE,' minutes'
+
+  print *
+  print *,'reading topo file'
+
+  open(unit=13,file='topo_bathy_etopo4_from_etopo2_subsampled.dat',status='old')
+  do iy=1,NY_BATHY
+    do ix=1,NX_BATHY
+      read(13,*) ibathy_topo_ori(ix,iy)
+    enddo
+  enddo
+  close(13)
+
+! compute min and max before smoothing
+  minvalue = minval(ibathy_topo_ori)
+  maxvalue = maxval(ibathy_topo_ori)
+  print *,'min and max of topography before smoothing = ',minvalue,maxvalue
+
+!----
+
+! smooth topography/bathymetry model
+  if(SMOOTH_THE_MODEL) then
+
+  print *
+  print *,'smoothing topo file'
+  if(SIZE_FILTER_ONE_SIDE < 1) stop 'SIZE_FILTER_ONE_SIDE must be greater than 1 for filter'
+  print *,'size of window filter is ',2*SIZE_FILTER_ONE_SIDE+1,' x ',2*SIZE_FILTER_ONE_SIDE+1
+  area_window = dble((2*SIZE_FILTER_ONE_SIDE+1)**2)
+
+  do iy_current = 1,NY_BATHY
+
+   if(mod(iy_current,10) == 0) print *,'smoothing line ',iy_current,' out of ',NY_BATHY
+
+    do ix_current = 1,NX_BATHY
+
+      value_sum = 0.d0
+
+! compute min and max of window
+      ix_min = ix_current - SIZE_FILTER_ONE_SIDE
+      ix_max = ix_current + SIZE_FILTER_ONE_SIDE
+
+      iy_min = iy_current - SIZE_FILTER_ONE_SIDE
+      iy_max = iy_current + SIZE_FILTER_ONE_SIDE
+
+! loop on points in window to compute sum
+      do iy = iy_min,iy_max
+      do ix = ix_min,ix_max
+
+! copy current value
+        ix_value = ix
+        iy_value = iy
+
+! avoid edge effects, use periodic boundary in Xmin and Xmax
+      if(ix_value < 1) ix_value = ix_value + NX_BATHY
+      if(ix_value > NX_BATHY) ix_value = ix_value - NX_BATHY
+
+! avoid edge effects, use rigid boundary in Ymin and Ymax
+! *not* periodic, because South and North poles must not be merged
+      if(iy_value < 1) iy_value = 1
+      if(iy_value > NY_BATHY) iy_value = NY_BATHY
+
+! compute sum
+      value_sum = value_sum + dble(ibathy_topo_ori(ix_value,iy_value))
+
+      enddo
+      enddo
+
+! assign mean value to filtered point
+      ibathy_topo(ix_current,iy_current) = nint(value_sum / area_window)
+
+    enddo
+  enddo
+
+  else
+
+! no smoothing
+    ibathy_topo = ibathy_topo_ori
+
+  endif
+
+!----
+
+! compute min and max after smoothing
+  minvalue = minval(ibathy_topo)
+  maxvalue = maxval(ibathy_topo)
+  print *,'min and max of topography after smoothing = ',minvalue,maxvalue
+
+! store file in OpenDX format
+
+! create the OpenDX file
+  print *
+  print *,'creating OpenDX file'
+
+! creating the header
+  open(unit=11,file='earth_main_cities.dx',status='unknown')
+
+! write point coordinates
+  write(11,*) 'object 1 class array type float rank 1 shape 3 items ',N_CITIES,' data follows'
+  do icity = 1,N_CITIES
+
+!! DK DK in principle this should take the ellipticity of the Earth into account
+      phi = long(icity) * PI / 180.d0
+      theta = (90.d0 - lat(icity)) * PI / 180.d0
+
+! use an Earth model of mean radius equal to 1, and add elevation to each point, amplified in order to see it
+      call get_topo_bathy(lat(icity),long(icity),elevation,ibathy_topo)
+      r = (R_EARTH + EXAGGERATION_FACTOR_TOPO * elevation) / R_EARTH
+
+      x = r*sin(theta)*cos(phi)
+      y = r*sin(theta)*sin(phi)
+      z = r*cos(theta)
+
+      write(11,*) sngl(x),sngl(y),sngl(z)
+  enddo
+
+! write elements
+  write(11,*) 'object 2 class array type int rank 1 shape 2 items 1 data follows'
+! point numbers start at 0 in OpenDX, not 1 as in AVS
+  write(11,*) '0 0'
+
+  write(11,*) 'attribute "element type" string "lines"'
+  write(11,*) 'attribute "ref" string "positions"'
+  write(11,*) 'object 3 class array type float rank 0 items ',N_CITIES,' data follows'
+
+! write data values (size of the glyph, therefore do NOT set it to 0)
+  do icity = 1,N_CITIES
+    write(11,*) '1'
+  enddo
+
+! define OpenDX field
+  write(11,*) 'attribute "dep" string "positions"'
+  write(11,*) 'object "irregular positions irregular connections" class field'
+  write(11,*) 'component "positions" value 1'
+  write(11,*) 'component "connections" value 2'
+  write(11,*) 'component "data" value 3'
+  write(11,*) 'end'
+
+  close(11)
+
+  end program convert_lat_long_cities_OpenDX
+
+!----------------------------
+
+  subroutine get_topo_bathy(xlat,xlon,value,ibathy_topo)
+
+!
+!---- get elevation or ocean depth in meters at a given latitude and longitude
+!
+
+  implicit none
+
+  include "constants_topo.h"
+
+! use integer array to store values
+  integer, dimension(NX_BATHY,NY_BATHY) :: ibathy_topo
+
+  double precision xlat,xlon,value
+
+  integer iadd1,iel1
+  double precision samples_per_degree_topo
+  double precision xlo
+
+  xlo = xlon
+  if(xlon < 0.d0) xlo = xlo + 360.d0
+
+! compute number of samples per degree
+  samples_per_degree_topo = dble(RESOLUTION_TOPO_FILE) / 60.d0
+
+! compute offset in data file and avoid edge effects
+  iadd1 = 1 + int((90.d0-xlat)/samples_per_degree_topo)
+  if(iadd1 < 1) iadd1 = 1
+  if(iadd1 > NY_BATHY) iadd1 = NY_BATHY
+
+  iel1 = int(xlo/samples_per_degree_topo)
+  if(iel1 <= 0 .or. iel1 > NX_BATHY) iel1 = NX_BATHY
+
+! convert integer value to double precision
+  value = dble(ibathy_topo(iel1,iadd1))
+
+  end subroutine get_topo_bathy
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/convert_palette_GMT_OpenDX.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/convert_palette_GMT_OpenDX.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/convert_palette_GMT_OpenDX.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,276 @@
+!=====================================================================
+!
+!          S p e c f e m 3 D  G l o b e  V e r s i o n  5 . 1
+!          --------------------------------------------------
+!
+!          Main authors: Dimitri Komatitsch and Jeroen Tromp
+!                        Princeton University, USA
+!             and University of Pau / CNRS / INRIA, France
+! (c) Princeton University / California Institute of Technology and University of Pau / CNRS / INRIA
+!                            August 2008
+!
+! This program is free software; you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation; either version 2 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License along
+! with this program; if not, write to the Free Software Foundation, Inc.,
+! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+!
+!=====================================================================
+
+  program convert_palette
+
+! convert GMT palette for the globe found at
+! http://sview01.wiredworkplace.net/pub/cpt-city/gmt/tn/GMT_globe.png.index.html
+! to proprietary OpenDX *.cm format
+
+  implicit none
+
+  integer, parameter :: NUM_LINES = 38
+
+! opacity: 1=totally opaque  2=continents 80% opaque and oceans 30% opaque
+  integer, parameter :: OPACITY = 2
+
+  integer, dimension(NUM_LINES) :: r,g,b
+  real, dimension(NUM_LINES) :: z
+
+  integer :: i,icomp
+
+  real :: rval,gval,bval,hval,sval,vval
+
+! read the input GMT palette "GMT_globe_palette_cropped.dat" or "GMT_globe_palette.dat"
+  do i = 1,NUM_LINES
+    read(*,*) z(i),r(i),g(i),b(i)
+  enddo
+
+! for OpenDX *.cm format, output min and max of z
+  print *,minval(z)
+  print *,maxval(z)
+
+! output the palette converted from RGB to HSV
+
+! output H, then S, then V
+  do icomp = 1,3
+
+! for OpenDX *.cm format, output number of values
+  print *,NUM_LINES
+  do i = 1,NUM_LINES
+
+    rval = r(i) / 255.d0
+    gval = g(i) / 255.d0
+    bval = b(i) / 255.d0
+
+      call rgb_to_hsv ( rval, gval, bval, hval, sval, vval )
+
+! for OpenDX *.cm format, output value of H,S or V and then three zeroes
+! hue is an angle between 0 and 360 degrees but it is stored as a real value between 0 and 1
+      if(icomp == 1) print *,(z(i)-z(1))/(z(NUM_LINES)-z(1)),hval/360.,' 0 0 0'
+      if(icomp == 2) print *,(z(i)-z(1))/(z(NUM_LINES)-z(1)),sval,' 0 0 0'
+      if(icomp == 3) print *,(z(i)-z(1))/(z(NUM_LINES)-z(1)),vval,' 0 0 0'
+
+  enddo
+
+  enddo
+
+! output opacity, set to 1 (i.e. totally opaque)
+  if(OPACITY == 1) then
+    print *,'2'
+    print *,'0.00000000000000000000   1.00000000000000000000  0  0  0'
+    print *,'1.00000000000000000000   1.00000000000000000000  0  0  0'
+  else if(OPACITY == 2) then
+    print *,'4'
+    print *,'0.0000   0.00  0  0  0'
+    print *,'0.5934   0.00  0  0  0'
+    print *,'0.5934   0.44  0  0  0'
+    print *,'1.0000   0.44  0  0  0'
+  else
+    stop 'wrong opacity code'
+  endif
+
+  end program convert_palette
+
+!---- Fortran conversion from RGB to HSV below
+!---- taken from http://orion.math.iastate.edu/burkardt/f_src/colors/colors.f90
+
+subroutine rgb_to_hsv ( r, g, b, h, s, v )
+!
+!*******************************************************************************
+!
+!! RGB_TO_HSV converts RGB to HSV color coordinates.
+!
+!
+!  Definition:
+!
+!    The RGB color system describes a color based on the amounts of the
+!    base colors red, green, and blue.  Thus, a particular color
+!    has three coordinates, (R,G,B).  Each coordinate must be between
+!    0 and 1.
+!
+!    The HSV color system describes a color based on the three qualities
+!    of hue, saturation, and value.  A given color will be represented
+!    by three numbers, (H,S,V).  H, the value of hue, is an angle
+!    between 0 and 360 degrees, with 0 representing red.  S is the
+!    saturation, and is between 0 and 1.  Finally, V is the "value",
+!    a measure of brightness, which goes from 0 for black, increasing
+!    to a maximum of 1 for the brightest colors.  The HSV color system
+!    is sometimes also called HSB, where the B stands for brightness.
+!
+!  Reference:
+!
+!    Foley, van Dam, Feiner, and Hughes,
+!    Computer Graphics, Principles and Practice,
+!    Addison Wesley, Second Edition, 1990.
+!
+!  Modified:
+!
+!    29 August 1998
+!
+!  Author:
+!
+!    John Burkardt
+!
+!  Parameters:
+!
+!    Input, real R, G, B, the RGB color coordinates to be converted.
+!
+!    Output, real H, S, V, the corresponding HSV color coordinates.
+
+  implicit none
+
+  real b
+  real bc
+  real g
+  real gc
+  real h
+  real r
+  real rc
+  real rgbmax
+  real rgbmin
+  real r_modp
+  real s
+  real v
+
+  rgbmax = max ( r, g, b )
+  rgbmin = min ( r, g, b )
+
+  v = rgbmax
+!
+!  Compute the saturation.
+!
+  if ( rgbmax /= 0.0E+00 ) then
+    s = ( rgbmax - rgbmin ) / rgbmax
+  else
+    s = 0.0E+00
+  end if
+!
+!  Compute the hue.
+!
+  if ( s == 0.0E+00 ) then
+
+    h = 0.0E+00
+
+  else
+
+    rc = ( rgbmax - r ) / ( rgbmax - rgbmin )
+    gc = ( rgbmax - g ) / ( rgbmax - rgbmin )
+    bc = ( rgbmax - b ) / ( rgbmax - rgbmin )
+
+    if ( r == rgbmax ) then
+      h = bc - gc
+    else if ( g == rgbmax ) then
+      h = 2.0E+00 + rc - bc
+    else
+      h = 4.0E+00 + gc - rc
+    end if
+
+    h = h * 60.0E+00
+!
+!  Make sure H lies between 0 and 360.0E+00
+!
+    h = r_modp ( h, 360.0E+00 )
+
+  end if
+
+end
+
+!-------------------
+
+function r_modp ( x, y )
+!
+!*******************************************************************************
+!
+!! R_MODP returns the nonnegative remainder of real division.
+!
+!
+!  Formula:
+!
+!    If
+!      REM = R_MODP ( X, Y )
+!      RMULT = ( X - REM ) / Y
+!    then
+!      X = Y * RMULT + REM
+!    where REM is always nonnegative.
+!
+!  Comments:
+!
+!    The MOD function computes a result with the same sign as the
+!    quantity being divided.  Thus, suppose you had an angle A,
+!    and you wanted to ensure that it was between 0 and 360.
+!    Then mod(A,360.0) would do, if A was positive, but if A
+!    was negative, your result would be between -360 and 0.
+!
+!    On the other hand, R_MODP(A,360.0) is between 0 and 360, always.
+!
+!  Examples:
+!
+!        I         J     MOD   R_MODP   R_MODP Factorization
+!
+!      107        50       7       7    107 =  2 *  50 + 7
+!      107       -50       7       7    107 = -2 * -50 + 7
+!     -107        50      -7      43   -107 = -3 *  50 + 43
+!     -107       -50      -7      43   -107 =  3 * -50 + 43
+!
+!  Modified:
+!
+!    29 August 1998
+!
+!  Author:
+!
+!    John Burkardt
+!
+!  Parameters:
+!
+!    Input, real X, the number to be divided.
+!
+!    Input, real Y, the number that divides X.
+!
+!    Output, real R_MODP, the nonnegative remainder when X is divided by Y.
+!
+  implicit none
+
+  real r_modp
+  real x
+  real y
+
+  if ( y == 0 ) then
+    write ( *, '(a)' ) ' '
+    write ( *, '(a)' ) 'R_MODP - Fatal error!'
+    write ( *, '(a,g14.6)' ) '  R_MODP ( X, Y ) called with Y = ', y
+    stop
+  end if
+
+  r_modp = mod ( x, y )
+
+  if ( r_modp < 0.0E+00 ) then
+    r_modp = r_modp + abs ( y )
+  end if
+
+end
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/convert_topo_bathy_to_OpenDX.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/convert_topo_bathy_to_OpenDX.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/convert_topo_bathy_to_OpenDX.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,240 @@
+!=====================================================================
+!
+!          S p e c f e m 3 D  G l o b e  V e r s i o n  5 . 1
+!          --------------------------------------------------
+!
+!          Main authors: Dimitri Komatitsch and Jeroen Tromp
+!                        Princeton University, USA
+!             and University of Pau / CNRS / INRIA, France
+! (c) Princeton University / California Institute of Technology and University of Pau / CNRS / INRIA
+!                            August 2008
+!
+! This program is free software; you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation; either version 2 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License along
+! with this program; if not, write to the Free Software Foundation, Inc.,
+! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+!
+!=====================================================================
+
+  program convert_topo_bathy_to_OpenDX
+!
+!--- read topography and bathymetry ASCII file, smooth it or not and convert it to OpenDX format
+!
+
+! this program uses a very simple window filter
+! it works fine because the model has a very high resolution
+! in principle it would be better to use a circular cap to take
+! the notion of angular distance between points into account in the filter
+! in practice though this simple filter works perfectly fine
+
+  implicit none
+
+  include "constants_topo.h"
+
+! subsample the OpenDX output file to reduce the total number of elements
+  integer, parameter :: NSUBSAMPLING = 4
+
+! filter final surface using box filter
+  logical, parameter :: SMOOTH_THE_MODEL = .true.
+  integer, parameter :: SIZE_FILTER_ONE_SIDE = 5
+
+! use integer array to store values
+  integer ibathy_topo(NX_BATHY,NY_BATHY)
+  integer ibathy_topo_ori(NX_BATHY,NY_BATHY)
+
+  integer ix,iy,minvalue,maxvalue,ibool_number1,ibool_number2,ix2
+  integer ix_current,iy_current,ix_min,ix_max,iy_min,iy_max,ix_value,iy_value
+
+  double precision value_sum,area_window
+  double precision :: long,lat,phi,theta,r,x,y,z
+
+!----
+
+! read the topography file
+  print *,'NX_BATHY,NY_BATHY = ',NX_BATHY,NY_BATHY
+  print *,'file used has a resolution of ',RESOLUTION_TOPO_FILE,' minutes'
+
+  print *
+  print *,'reading topo file'
+
+  open(unit=13,file='topo_bathy_etopo4_from_etopo2_subsampled.dat',status='old')
+  do iy=1,NY_BATHY
+    do ix=1,NX_BATHY
+      read(13,*) ibathy_topo_ori(ix,iy)
+    enddo
+  enddo
+  close(13)
+
+! compute min and max before smoothing
+  minvalue = minval(ibathy_topo_ori)
+  maxvalue = maxval(ibathy_topo_ori)
+  print *,'min and max of topography before smoothing = ',minvalue,maxvalue
+
+!----
+
+! smooth topography/bathymetry model
+  if(SMOOTH_THE_MODEL) then
+
+  print *
+  print *,'smoothing topo file'
+  if(SIZE_FILTER_ONE_SIDE < 1) stop 'SIZE_FILTER_ONE_SIDE must be greater than 1 for filter'
+  print *,'size of window filter is ',2*SIZE_FILTER_ONE_SIDE+1,' x ',2*SIZE_FILTER_ONE_SIDE+1
+  area_window = dble((2*SIZE_FILTER_ONE_SIDE+1)**2)
+
+  do iy_current = 1,NY_BATHY
+
+   if(mod(iy_current,10) == 0) print *,'smoothing line ',iy_current,' out of ',NY_BATHY
+
+    do ix_current = 1,NX_BATHY
+
+      value_sum = 0.d0
+
+! compute min and max of window
+      ix_min = ix_current - SIZE_FILTER_ONE_SIDE
+      ix_max = ix_current + SIZE_FILTER_ONE_SIDE
+
+      iy_min = iy_current - SIZE_FILTER_ONE_SIDE
+      iy_max = iy_current + SIZE_FILTER_ONE_SIDE
+
+! loop on points in window to compute sum
+      do iy = iy_min,iy_max
+      do ix = ix_min,ix_max
+
+! copy current value
+        ix_value = ix
+        iy_value = iy
+
+! avoid edge effects, use periodic boundary in Xmin and Xmax
+      if(ix_value < 1) ix_value = ix_value + NX_BATHY
+      if(ix_value > NX_BATHY) ix_value = ix_value - NX_BATHY
+
+! avoid edge effects, use rigid boundary in Ymin and Ymax
+! *not* periodic, because South and North poles must not be merged
+      if(iy_value < 1) iy_value = 1
+      if(iy_value > NY_BATHY) iy_value = NY_BATHY
+
+! compute sum
+      value_sum = value_sum + dble(ibathy_topo_ori(ix_value,iy_value))
+
+      enddo
+      enddo
+
+! assign mean value to filtered point
+      ibathy_topo(ix_current,iy_current) = nint(value_sum / area_window)
+
+    enddo
+  enddo
+
+  else
+
+! no smoothing
+    ibathy_topo = ibathy_topo_ori
+
+  endif
+
+!----
+
+! compute min and max after smoothing
+  minvalue = minval(ibathy_topo)
+  maxvalue = maxval(ibathy_topo)
+  print *,'min and max of topography after smoothing = ',minvalue,maxvalue
+
+! store file in OpenDX format with grey levels
+
+! create the OpenDX file
+  print *
+  print *,'creating OpenDX file'
+
+  print *,'subsampling OpenDX file by a factor of NSUBSAMPLING to reduce its number of elements'
+  print *,'NSUBSAMPLING = ',NSUBSAMPLING
+  if(mod(NX_BATHY,NSUBSAMPLING) /= 0 .or. mod(NY_BATHY,NSUBSAMPLING) /= 0) &
+    stop 'need NX_BATHY and NX_BATHY to be multiples of NSUBSAMPLING to be able to subsample'
+
+! creating the header
+  open(unit=11,file='earth_topo_bathy.dx',status='unknown')
+
+! write point coordinates
+  write(11,*) 'object 1 class array type float rank 1 shape 3 items ', &
+     (NX_BATHY/NSUBSAMPLING)*(NY_BATHY/NSUBSAMPLING),' data follows'
+  do iy = 1,NY_BATHY,NSUBSAMPLING
+  do ix = 1,NX_BATHY,NSUBSAMPLING
+      long = (ix-1)/dble(NX_BATHY-1) * 360.d0
+
+      lat  = (dble(iy-1)/dble(NY_BATHY-1))*180.d0 - 90.d0
+! points are inverted in the data file, therefore invert latitude to restore the correct orientation
+      lat = - lat
+
+      phi = long * PI / 180.d0
+      theta = (90.d0 - lat) * PI / 180.d0
+
+! use an Earth model of mean radius equal to 1, and add elevation to each point, amplified in order to see it
+      r = (R_EARTH + EXAGGERATION_FACTOR_TOPO * ibathy_topo(ix,iy)) / R_EARTH
+
+      x = r*sin(theta)*cos(phi)
+      y = r*sin(theta)*sin(phi)
+      z = r*cos(theta)
+
+      write(11,*) sngl(x),sngl(y),sngl(z)
+  enddo
+  enddo
+
+! write elements
+  write(11,*) 'object 2 class array type int rank 1 shape 4 items ', &
+     (NX_BATHY/NSUBSAMPLING)*(NY_BATHY/NSUBSAMPLING-1),' data follows'
+
+  do iy = 1,NY_BATHY-NSUBSAMPLING,NSUBSAMPLING
+  do ix = 1,NX_BATHY-NSUBSAMPLING,NSUBSAMPLING
+! point order in OpenDX is 1,4,2,3 *not* 1,2,3,4 as in AVS
+      ibool_number1 = ((iy-1)/NSUBSAMPLING)*(NX_BATHY/NSUBSAMPLING) + (ix-1)/NSUBSAMPLING + 1
+! point numbers start at 0 in OpenDX, not 1 as in AVS
+      write(11,"(i10,1x,i10,1x,i10,1x,i10)") ibool_number1-1,ibool_number1+NX_BATHY/NSUBSAMPLING-1, &
+                                             ibool_number1+1-1,ibool_number1+NX_BATHY/NSUBSAMPLING+1-1
+  enddo
+  enddo
+
+! to close the topology of the sphere, implement periodic boundary conditions in longitude,
+! i.e., connect ix = NX_BATHY-NSUBSAMPLING with ix = 1
+! otherwise one can see an empty line that does not look nice in the OpenDX images
+  ix = NX_BATHY-NSUBSAMPLING
+  ix2 = 1
+  do iy = 1,NY_BATHY-NSUBSAMPLING,NSUBSAMPLING
+! point order in OpenDX is 1,4,2,3 *not* 1,2,3,4 as in AVS
+      ibool_number1 = ((iy-1)/NSUBSAMPLING)*(NX_BATHY/NSUBSAMPLING) + (ix-1)/NSUBSAMPLING + 1
+      ibool_number2 = ((iy-1)/NSUBSAMPLING)*(NX_BATHY/NSUBSAMPLING) + (ix2-1)/NSUBSAMPLING + 1
+! point numbers start at 0 in OpenDX, not 1 as in AVS
+      write(11,"(i10,1x,i10,1x,i10,1x,i10)") ibool_number1-1,ibool_number1+NX_BATHY/NSUBSAMPLING-1, &
+                                             ibool_number2-1,ibool_number2+NX_BATHY/NSUBSAMPLING-1
+  enddo
+
+  write(11,*) 'attribute "element type" string "quads"'
+  write(11,*) 'attribute "ref" string "positions"'
+  write(11,*) 'object 3 class array type float rank 0 items ',(NX_BATHY/NSUBSAMPLING)*(NY_BATHY/NSUBSAMPLING),' data follows'
+
+! write data values
+  do iy = 1,NY_BATHY,NSUBSAMPLING
+  do ix = 1,NX_BATHY,NSUBSAMPLING
+      write(11,*) ibathy_topo(ix,iy)
+  enddo
+  enddo
+
+! define OpenDX field
+  write(11,*) 'attribute "dep" string "positions"'
+  write(11,*) 'object "irregular positions irregular connections" class field'
+  write(11,*) 'component "positions" value 1'
+  write(11,*) 'component "connections" value 2'
+  write(11,*) 'component "data" value 3'
+  write(11,*) 'end'
+
+  close(11)
+
+  end program convert_topo_bathy_to_OpenDX
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/create_continent_boundaries_AVS.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/create_continent_boundaries_AVS.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/create_continent_boundaries_AVS.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,133 @@
+#!/usr/bin/perl
+
+#
+#  Script to create plate and continent boundaries in AVS format
+#
+#  Author : Dimitri Komatitsch, Caltech, August 2000
+#
+
+#
+# first file contains continent boundaries with longitude and then latitude
+#
+
+# file with continents
+  $name = 'continent_boundaries_gmt.dat';
+
+  print STDOUT "Getting boundaries from file $name ...\n";
+
+  open(FILEAVS,">AVS_continent_boundaries.inp");
+
+  $numsegments = `cat $name | grep ">" | wc -l `;
+  chop $numsegments;
+  print STDOUT "There are $numsegments contours\n";
+
+  $numpoints = `cat $name | grep -v ">" | wc -l `;
+  chop $numpoints;
+  print STDOUT "There are $numpoints data points\n";
+
+# read the GMT file to get the number of individual line segments
+  $currentelem = 0;
+  $previous_was_comment = 1;
+  open(FILEGMT,"<$name");
+  while($line = <FILEGMT>) {
+    chop $line;
+#   get line marker (comment in file)
+    if(substr($line,0,1) eq '>') {
+      $previous_was_comment = 1;
+      }
+    else {
+      if($previous_was_comment == 0) {
+        $currentelem ++;
+        }
+        $previous_was_comment = 0;
+    }
+  }
+  close(FILEGMT);
+	$num_individual_lines = $currentelem;
+  print STDOUT "There are $num_individual_lines individual line segments\n";
+
+	$pi = 3.14159265 ;
+
+# write header for AVS (with point data)
+      print FILEAVS "$numpoints $num_individual_lines 1 0 0\n";
+
+# read the GMT file to get the points
+	$currentpoint = 0;
+  open(FILEGMT,"<$name");
+  while($line = <FILEGMT>) {
+    chop $line;
+#   get point only if line is not a comment
+    if(substr($line,0,1) ne '>') {
+			$currentpoint ++;
+
+# longitude is the number before the white space
+ $longitude = substr($line,0,index($line," "));
+
+# latitude is the number after the white space
+ $latitude = substr($line,index($line," ")+1);
+
+# convert geographic latitude to geocentric colatitude and convert to radians 
+      $theta = $pi/2. - atan2(0.99329534 * tan($latitude * $pi / 180.),1) ;
+      $phi = $longitude * $pi / 180. ;
+
+# compute the Cartesian position of the receiver (ignore ellipticity for AVS)
+# assume a sphere of radius one
+      $r_target = 1. ;
+## DK DK make the radius a little bit bigger to make sure it is 
+## DK DK correctly superimposed to the mesh in final AVS figure
+      $r_target = 1.015 ;
+      $x_target = $r_target*sin($theta)*cos($phi) ;
+      $y_target = $r_target*sin($theta)*sin($phi) ;
+      $z_target = $r_target*cos($theta) ;
+
+ 			print FILEAVS "$currentpoint $x_target $y_target $z_target\n";
+
+			}
+	}
+  close(FILEGMT);
+
+# read the GMT file to get the lines
+	$currentline = 0;
+	$currentelem = 0;
+	$currentpoint = 0;
+	$previous_was_comment = 1;
+  open(FILEGMT,"<$name");
+  while($line = <FILEGMT>) {
+    chop $line;
+#   get line marker (comment in file)
+    if(substr($line,0,1) eq '>') {
+			$currentline ++;
+			$currentpoint ++;
+			$previous_was_comment = 1;
+			print STDOUT "processing contour $currentline named $line\n";
+			} 
+		else {
+		  if($previous_was_comment == 0) {
+				$previouspoint = $currentpoint;
+			  $currentelem ++;
+			  $currentpoint ++;
+				print FILEAVS "$currentelem $currentline line $previouspoint $currentpoint\n";
+				}
+				$previous_was_comment = 0;
+		}
+  }     
+  close(FILEGMT);
+
+	print FILEAVS " 1 1\n";
+	print FILEAVS " Zcoord, meters\n";
+
+# create data values for the points
+  $currentpoint = 1;
+  while($currentpoint <= $numpoints) {
+      print FILEAVS "$currentpoint 255.\n";
+      $currentpoint ++ ;
+      }
+
+  close(FILEAVS);
+
+
+##
+## DK DK define tangent function which is not standard in Perl
+##
+ sub tan { sin($_[0]) / cos($_[0])  }
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/create_continent_boundaries_AVS.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/create_continent_boundaries_DX.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/create_continent_boundaries_DX.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/create_continent_boundaries_DX.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,145 @@
+#!/usr/bin/perl
+
+#
+#  Script to create plate and continent boundaries in OpenDX format
+#
+#  Author : Dimitri Komatitsch, Caltech, August 2000
+#
+
+#
+# first file contains continent boundaries with longitude and then latitude
+#
+
+# file with continents
+  $name = 'continent_boundaries_gmt.dat';
+
+  print STDOUT "Getting boundaries from file $name ...\n";
+
+  open(FILEAVS,">DX_continent_boundaries.dx");
+
+  $numsegments = `cat $name | grep ">" | wc -l `;
+  chop $numsegments;
+  print STDOUT "There are $numsegments contours\n";
+
+  $numpoints = `cat $name | grep -v ">" | wc -l `;
+  chop $numpoints;
+  print STDOUT "There are $numpoints data points\n";
+
+# read the GMT file to get the number of individual line segments
+  $currentelem = 0;
+  $previous_was_comment = 1;
+  open(FILEGMT,"<$name");
+  while($line = <FILEGMT>) {
+    chop $line;
+#   get line marker (comment in file)
+    if(substr($line,0,1) eq '>') {
+      $previous_was_comment = 1;
+      }
+    else {
+      if($previous_was_comment == 0) {
+        $currentelem ++;
+        }
+        $previous_was_comment = 0;
+    }
+  }
+  close(FILEGMT);
+	$num_individual_lines = $currentelem;
+  print STDOUT "There are $num_individual_lines individual line segments\n";
+
+	$pi = 3.1415926535 ;
+
+# write header for AVS (with point data)
+      print FILEAVS "object 1 class array type float rank 1 shape 3 items $numpoints data follows\n";
+
+# read the GMT file to get the points
+	$currentpoint = 0;
+  open(FILEGMT,"<$name");
+  while($line = <FILEGMT>) {
+    chop $line;
+#   get point only if line is not a comment
+    if(substr($line,0,1) ne '>') {
+			$currentpoint ++;
+
+# longitude is the number before the white space
+ $longitude = substr($line,0,index($line," "));
+
+# latitude is the number after the white space
+ $latitude = substr($line,index($line," ")+1);
+
+# convert geographic latitude to geocentric colatitude and convert to radians 
+#     $theta = $pi/2. - atan2(0.99329534 * tan($latitude * $pi / 180.),1) ;
+      $theta = $pi/2. - $latitude * $pi / 180. ;
+      $phi = $longitude * $pi / 180. ;
+
+# compute the Cartesian position of the receiver (ignore ellipticity)
+# assume a sphere of radius one
+## DK DK make the radius a little bit bigger to make sure it is 
+## DK DK correctly superimposed to the mesh in final AVS or OpenDX figure
+#     $r_target = 1.015 ;
+      $r_target = 1.007 ;
+      $x_target = $r_target*sin($theta)*cos($phi) ;
+      $y_target = $r_target*sin($theta)*sin($phi) ;
+      $z_target = $r_target*cos($theta) ;
+
+ 			print FILEAVS "$x_target $y_target $z_target\n";
+
+			}
+	}
+  close(FILEGMT);
+
+ print FILEAVS "object 2 class array type int rank 1 shape 2 items $num_individual_lines data follows\n";
+
+# read the GMT file to get the lines
+	$currentline = 0;
+	$currentelem = 0;
+	$currentpoint = 0;
+	$previous_was_comment = 1;
+  open(FILEGMT,"<$name");
+  while($line = <FILEGMT>) {
+    chop $line;
+#   get line marker (comment in file)
+    if(substr($line,0,1) eq '>') {
+			$currentline ++;
+			$currentpoint ++;
+			$previous_was_comment = 1;
+			print STDOUT "processing contour $currentline named $line\n";
+			} 
+		else {
+		  if($previous_was_comment == 0) {
+				$previouspoint = $currentpoint;
+			  $currentelem ++;
+			  $currentpoint ++;
+        $previouspointdx = $previouspoint - 1;
+        $currentpointdx = $currentpoint - 1;
+				print FILEAVS "$previouspointdx $currentpointdx\n";
+				}
+				$previous_was_comment = 0;
+		}
+  }     
+  close(FILEGMT);
+
+ print FILEAVS "attribute \"element type\" string \"lines\"\n";
+ print FILEAVS "attribute \"ref\" string \"positions\"\n";
+ print FILEAVS "object 3 class array type float rank 0 items $numpoints data follows\n";
+
+# create data values for the points
+  $currentpoint = 1;
+  while($currentpoint <= $numpoints) {
+      print FILEAVS "255.\n";
+      $currentpoint ++ ;
+      }
+
+ print FILEAVS "attribute \"dep\" string \"positions\"\n";
+ print FILEAVS "object \"irregular connections  irregular positions\" class field\n";
+ print FILEAVS "component \"positions\" value 1\n";
+ print FILEAVS "component \"connections\" value 2\n";
+ print FILEAVS "component \"data\" value 3\n";
+ print FILEAVS "end\n";
+
+  close(FILEAVS);
+
+##
+## DK DK define tangent function which is not standard in Perl
+##
+ sub tan { sin($_[0]) / cos($_[0])  }
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/create_continent_boundaries_DX.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/create_mpeg_OpenDX_sequences.csh
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/create_mpeg_OpenDX_sequences.csh	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/create_mpeg_OpenDX_sequences.csh	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,15 @@
+#!/bin/csh
+
+# create the four MPEG movie sequences from all the OpenDX *.tif files with logos added separately
+
+#set quality = 100
+set quality = 85
+
+ convert -quality $quality te*.tif movie_transparent_europe.mpeg
+
+ convert -quality $quality tp*.tif movie_transparent_pacific.mpeg
+
+ convert -quality $quality oe*.tif movie_opaque_europe.mpeg
+
+ convert -quality $quality op*.tif movie_opaque_pacific.mpeg
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/create_mpeg_title_sequences.csh
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/create_mpeg_title_sequences.csh	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/create_mpeg_title_sequences.csh	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,656 @@
+#!/bin/csh
+
+# create the three MPEG title sequences from all the *.tif files with titles
+
+# use each file 125 times in order to have a sequence that lasts 5 seconds (at 25 images per second)
+
+#set quality = 100
+set quality = 85
+
+#################################################################
+########## first title
+#################################################################
+
+ convert -quality $quality \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_01.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_general_02.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+titre_propagation_Europe.tiff \
+title_01.mpeg
+
+
+#################################################################
+########## second title
+#################################################################
+
+ convert -quality $quality \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+titre_semi_transparence.tiff \
+title_02.mpeg
+
+#################################################################
+########## third title
+#################################################################
+
+ convert -quality $quality \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+titre_propagation_Pacifique.tiff \
+title_03.mpeg
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/debug_val_proc_0.dx
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/debug_val_proc_0.dx	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/debug_val_proc_0.dx	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,1198 @@
+  object 1 class array type float rank 1 shape 3 items          593  data follows
+  8.7117180E-02 -8.1135355E-02  8.7117180E-02
+  8.8998467E-02 -7.1742110E-02  8.8998467E-02
+  9.0794832E-02 -6.2348861E-02  9.0794832E-02
+  9.1708235E-02 -5.7393685E-02  9.1708235E-02
+  8.1135355E-02 -8.7117180E-02  8.7117180E-02
+  7.1742110E-02 -8.8998467E-02  8.8998467E-02
+  6.2348861E-02 -9.0794832E-02  9.0794832E-02
+  5.7393685E-02 -9.1708235E-02  9.1708235E-02
+  5.2438512E-02 -9.2573039E-02  9.2573039E-02
+  4.3045264E-02 -9.4035171E-02  9.4035171E-02
+  3.3652019E-02 -9.5265269E-02  9.5265269E-02
+  2.9039059E-02 -9.0305470E-02  9.6847333E-02
+  2.9666156E-02 -7.9850577E-02  9.8728627E-02
+  3.0264944E-02 -6.9395676E-02  0.1005250    
+  3.0569414E-02 -6.3880458E-02  0.1014384    
+  9.2573039E-02 -5.2438512E-02  9.2573039E-02
+  9.4035171E-02 -4.3045264E-02  9.4035171E-02
+  9.5265269E-02 -3.3652019E-02  9.5265269E-02
+  9.0305470E-02 -2.9039059E-02  9.6847333E-02
+  7.9850577E-02 -2.9666156E-02  9.8728627E-02
+  6.9395676E-02 -3.0264944E-02  0.1005250    
+  6.3880458E-02 -3.0569414E-02  0.1014384    
+  5.8365237E-02 -3.0857680E-02  0.1023032    
+  4.7910344E-02 -3.1345058E-02  0.1037653    
+  3.7455451E-02 -3.1755090E-02  0.1049954    
+  3.0857680E-02 -5.8365237E-02  0.1023032    
+  3.1345058E-02 -4.7910344E-02  0.1037653    
+  3.1755090E-02 -3.7455451E-02  0.1049954    
+  9.1273025E-02 -9.1273025E-02 -2.9381275E-02
+  9.3046032E-02 -8.0706112E-02 -3.0008372E-02
+  9.4739005E-02 -7.0139199E-02 -3.0607160E-02
+  9.5599838E-02 -6.4564891E-02 -3.0911628E-02
+  8.0706112E-02 -9.3046032E-02 -3.0008372E-02
+  8.2273856E-02 -8.2273856E-02 -3.0635471E-02
+  8.3770826E-02 -7.1501680E-02 -3.1234257E-02
+  8.4532000E-02 -6.5819085E-02 -3.1538725E-02
+  7.0139199E-02 -9.4739005E-02 -3.0607160E-02
+  7.1501680E-02 -8.3770826E-02 -3.1234257E-02
+  7.2802648E-02 -7.2802648E-02 -3.1833045E-02
+  7.3464163E-02 -6.7016661E-02 -3.2137513E-02
+  6.4564891E-02 -9.5599838E-02 -3.0911628E-02
+  6.5819085E-02 -8.4532000E-02 -3.1538725E-02
+  6.7016661E-02 -7.3464163E-02 -3.2137513E-02
+  6.7625597E-02 -6.7625597E-02 -3.2441985E-02
+  9.6414857E-02 -5.8990579E-02 -3.1199895E-02
+  9.7792834E-02 -4.8423667E-02 -3.1687275E-02
+  9.8952129E-02 -3.7856758E-02 -3.2097306E-02
+  8.5252665E-02 -6.0136490E-02 -3.1826992E-02
+  8.6471111E-02 -4.9364313E-02 -3.2314371E-02
+  8.7496191E-02 -3.8592137E-02 -3.2724403E-02
+  7.4090473E-02 -6.1230671E-02 -3.2425780E-02
+  7.5149380E-02 -5.0262496E-02 -3.2913160E-02
+  7.6040253E-02 -3.9294321E-02 -3.3323191E-02
+  6.8202130E-02 -6.1787035E-02 -3.2730248E-02
+  6.9176890E-02 -5.0719198E-02 -3.3217628E-02
+  6.9996953E-02 -3.9651364E-02 -3.3627659E-02
+  5.8990579E-02 -9.6414857E-02 -3.1199895E-02
+  6.0136490E-02 -8.5252665E-02 -3.1826992E-02
+  6.1230671E-02 -7.4090473E-02 -3.2425780E-02
+  6.1787035E-02 -6.8202130E-02 -3.2730248E-02
+  4.8423667E-02 -9.7792834E-02 -3.1687275E-02
+  4.9364313E-02 -8.6471111E-02 -3.2314371E-02
+  5.0262496E-02 -7.5149380E-02 -3.2913160E-02
+  5.0719198E-02 -6.9176890E-02 -3.3217628E-02
+  3.7856758E-02 -9.8952129E-02 -3.2097306E-02
+  3.8592137E-02 -8.7496191E-02 -3.2724403E-02
+  3.9294321E-02 -7.6040253E-02 -3.3323191E-02
+  3.9651364E-02 -6.9996953E-02 -3.3627659E-02
+  6.2313795E-02 -6.2313795E-02 -3.3018515E-02
+  6.3204393E-02 -5.1151600E-02 -3.3505894E-02
+  6.3953653E-02 -3.9989404E-02 -3.3915926E-02
+  5.1151600E-02 -6.3204393E-02 -3.3505894E-02
+  5.1882666E-02 -5.1882666E-02 -3.3993270E-02
+  5.2497715E-02 -4.0560938E-02 -3.4403306E-02
+  3.9989404E-02 -6.3953653E-02 -3.3915926E-02
+  4.0560938E-02 -5.2497715E-02 -3.4403306E-02
+  4.1041773E-02 -4.1041773E-02 -3.4813337E-02
+  9.7318567E-02 -9.0749577E-02 -2.4024792E-02
+  9.9199861E-02 -8.0243267E-02 -2.4543608E-02
+  0.1009962     -6.9736958E-02 -2.5039000E-02
+  0.1019096     -6.4194612E-02 -2.5290895E-02
+  9.0749577E-02 -9.7318567E-02 -2.4024792E-02
+  8.0243267E-02 -9.9199861E-02 -2.4543608E-02
+  6.9736958E-02 -0.1009962     -2.5039000E-02
+  6.4194612E-02 -0.1019096     -2.5290895E-02
+  9.7969763E-02 -9.1363288E-02 -1.4519529E-02
+  9.9851049E-02 -8.0785930E-02 -1.4833078E-02
+  0.1016474     -7.0208564E-02 -1.5132472E-02
+  0.1025608     -6.4628743E-02 -1.5284707E-02
+  9.1363288E-02 -9.7969763E-02 -1.4519529E-02
+  8.0785930E-02 -9.9851049E-02 -1.4833078E-02
+  7.0208564E-02 -0.1016474     -1.5132472E-02
+  6.4628743E-02 -0.1025608     -1.5284707E-02
+  9.8303989E-02 -9.1678277E-02 -5.0142664E-03
+  0.1001853     -8.1064448E-02 -5.1225489E-03
+  0.1019816     -7.0450626E-02 -5.2259434E-03
+  0.1028951     -6.4851560E-02 -5.2785175E-03
+  9.1678277E-02 -9.8303989E-02 -5.0142664E-03
+  8.1064448E-02 -0.1001853     -5.1225489E-03
+  7.0450626E-02 -0.1019816     -5.2259434E-03
+  6.4851560E-02 -0.1028951     -5.2785175E-03
+  9.8352596E-02 -9.1724090E-02  0.0000000E+00
+  0.1002339     -8.1104957E-02  0.0000000E+00
+  0.1020303     -7.0485823E-02  0.0000000E+00
+  0.1029437     -6.4883970E-02  0.0000000E+00
+  9.1724090E-02 -9.8352596E-02  0.0000000E+00
+  8.1104957E-02 -0.1002339      0.0000000E+00
+  7.0485823E-02 -0.1020303      0.0000000E+00
+  6.4883970E-02 -0.1029437      0.0000000E+00
+  0.1027744     -5.8652267E-02 -2.5529386E-02
+  0.1042366     -4.8145957E-02 -2.5932606E-02
+  0.1054667     -3.7639648E-02 -2.6271837E-02
+  9.9919684E-02 -3.2439522E-02 -2.6708134E-02
+  8.8351734E-02 -3.3066619E-02 -2.7226947E-02
+  7.6783776E-02 -3.3665407E-02 -2.7722342E-02
+  7.0681386E-02 -3.3969875E-02 -2.7974237E-02
+  0.1034256     -5.9048917E-02 -1.5428840E-02
+  0.1048878     -4.8471555E-02 -1.5672529E-02
+  0.1061179     -3.7894197E-02 -1.5877545E-02
+  0.1005334     -3.2656588E-02 -1.6141223E-02
+  8.8894390E-02 -3.3283684E-02 -1.6454771E-02
+  7.7255383E-02 -3.3882473E-02 -1.6754165E-02
+  7.1115516E-02 -3.4186941E-02 -1.6906399E-02
+  0.1037599     -5.9252501E-02 -5.3282930E-03
+  0.1052220     -4.8638672E-02 -5.4124501E-03
+  0.1064521     -3.8024843E-02 -5.4832520E-03
+  0.1008484     -3.2767996E-02 -5.5743121E-03
+  8.9172915E-02 -3.3395093E-02 -5.6825951E-03
+  7.7497445E-02 -3.3993881E-02 -5.7859896E-03
+  7.1338333E-02 -3.4298349E-02 -5.8385632E-03
+  0.1038085     -5.9282105E-02  0.0000000E+00
+  0.1052706     -4.8662975E-02  0.0000000E+00
+  0.1065007     -3.8043842E-02  0.0000000E+00
+  0.1008942     -3.2784197E-02  0.0000000E+00
+  8.9213423E-02 -3.3411298E-02  0.0000000E+00
+  7.7532649E-02 -3.4010082E-02  0.0000000E+00
+  7.1370743E-02 -3.4314554E-02  0.0000000E+00
+  5.8652267E-02 -0.1027744     -2.5529386E-02
+  4.8145957E-02 -0.1042366     -2.5932606E-02
+  3.7639648E-02 -0.1054667     -2.6271837E-02
+  3.2439522E-02 -9.9919684E-02 -2.6708134E-02
+  3.3066619E-02 -8.8351734E-02 -2.7226947E-02
+  3.3665407E-02 -7.6783776E-02 -2.7722342E-02
+  3.3969875E-02 -7.0681386E-02 -2.7974237E-02
+  5.9048917E-02 -0.1034256     -1.5428840E-02
+  4.8471555E-02 -0.1048878     -1.5672529E-02
+  3.7894197E-02 -0.1061179     -1.5877545E-02
+  3.2656588E-02 -0.1005334     -1.6141223E-02
+  3.3283684E-02 -8.8894390E-02 -1.6454771E-02
+  3.3882473E-02 -7.7255383E-02 -1.6754165E-02
+  3.4186941E-02 -7.1115516E-02 -1.6906399E-02
+  5.9252501E-02 -0.1037599     -5.3282930E-03
+  4.8638672E-02 -0.1052220     -5.4124501E-03
+  3.8024843E-02 -0.1064521     -5.4832520E-03
+  3.2767996E-02 -0.1008484     -5.5743121E-03
+  3.3395093E-02 -8.9172915E-02 -5.6825951E-03
+  3.3993881E-02 -7.7497445E-02 -5.7859896E-03
+  3.4298349E-02 -7.1338333E-02 -5.8385632E-03
+  5.9282105E-02 -0.1038085      0.0000000E+00
+  4.8662975E-02 -0.1052706      0.0000000E+00
+  3.8043842E-02 -0.1065007      0.0000000E+00
+  3.2784197E-02 -0.1008942      0.0000000E+00
+  3.3411298E-02 -8.9213423E-02  0.0000000E+00
+  3.4010082E-02 -7.7532649E-02  0.0000000E+00
+  3.4314554E-02 -7.1370743E-02  0.0000000E+00
+  6.4578995E-02 -3.4258142E-02 -2.8212728E-02
+  5.3011037E-02 -3.4745518E-02 -2.8615948E-02
+  4.1443080E-02 -3.5155553E-02 -2.8955178E-02
+  3.4258142E-02 -6.4578995E-02 -2.8212728E-02
+  3.4745518E-02 -5.3011037E-02 -2.8615948E-02
+  3.5155553E-02 -4.1443080E-02 -2.8955178E-02
+  6.4975642E-02 -3.4475207E-02 -1.7050533E-02
+  5.3336635E-02 -3.4962583E-02 -1.7294222E-02
+  4.1697629E-02 -3.5372619E-02 -1.7499238E-02
+  3.4475207E-02 -6.4975642E-02 -1.7050533E-02
+  3.4962583E-02 -5.3336635E-02 -1.7294222E-02
+  3.5372619E-02 -4.1697629E-02 -1.7499238E-02
+  6.5179229E-02 -3.4586616E-02 -5.8883391E-03
+  5.3503752E-02 -3.5073996E-02 -5.9724962E-03
+  4.1828275E-02 -3.5484027E-02 -6.0432977E-03
+  3.4586616E-02 -6.5179229E-02 -5.8883391E-03
+  3.5073996E-02 -5.3503752E-02 -5.9724962E-03
+  3.5484027E-02 -4.1828275E-02 -6.0432977E-03
+  6.5208837E-02 -3.4602821E-02  0.0000000E+00
+  5.3528056E-02 -3.5090197E-02  0.0000000E+00
+  4.1847277E-02 -3.5500228E-02  0.0000000E+00
+  3.4602821E-02 -6.5208837E-02  0.0000000E+00
+  3.5090197E-02 -5.3528056E-02  0.0000000E+00
+  3.5500228E-02 -4.1847277E-02  0.0000000E+00
+  9.8303989E-02 -9.1678277E-02  5.0142664E-03
+  0.1001853     -8.1064448E-02  5.1225489E-03
+  0.1019816     -7.0450626E-02  5.2259434E-03
+  0.1028951     -6.4851560E-02  5.2785175E-03
+  9.1678277E-02 -9.8303989E-02  5.0142664E-03
+  8.1064448E-02 -0.1001853      5.1225489E-03
+  7.0450626E-02 -0.1019816      5.2259434E-03
+  6.4851560E-02 -0.1028951      5.2785175E-03
+  9.7969763E-02 -9.1363288E-02  1.4519529E-02
+  9.9851049E-02 -8.0785930E-02  1.4833078E-02
+  0.1016474     -7.0208564E-02  1.5132472E-02
+  0.1025608     -6.4628743E-02  1.5284707E-02
+  9.1363288E-02 -9.7969763E-02  1.4519529E-02
+  8.0785930E-02 -9.9851049E-02  1.4833078E-02
+  7.0208564E-02 -0.1016474      1.5132472E-02
+  6.4628743E-02 -0.1025608      1.5284707E-02
+  9.7318567E-02 -9.0749577E-02  2.4024792E-02
+  9.9199861E-02 -8.0243267E-02  2.4543608E-02
+  0.1009962     -6.9736958E-02  2.5039000E-02
+  0.1019096     -6.4194612E-02  2.5290895E-02
+  9.0749577E-02 -9.7318567E-02  2.4024792E-02
+  8.0243267E-02 -9.9199861E-02  2.4543608E-02
+  6.9736958E-02 -0.1009962      2.5039000E-02
+  6.4194612E-02 -0.1019096      2.5290895E-02
+  0.1037599     -5.9252501E-02  5.3282930E-03
+  0.1052220     -4.8638672E-02  5.4124501E-03
+  0.1064521     -3.8024843E-02  5.4832520E-03
+  0.1008484     -3.2767996E-02  5.5743121E-03
+  8.9172915E-02 -3.3395093E-02  5.6825951E-03
+  7.7497445E-02 -3.3993881E-02  5.7859896E-03
+  7.1338333E-02 -3.4298349E-02  5.8385632E-03
+  0.1034256     -5.9048917E-02  1.5428840E-02
+  0.1048878     -4.8471555E-02  1.5672529E-02
+  0.1061179     -3.7894197E-02  1.5877545E-02
+  0.1005334     -3.2656588E-02  1.6141223E-02
+  8.8894390E-02 -3.3283684E-02  1.6454771E-02
+  7.7255383E-02 -3.3882473E-02  1.6754165E-02
+  7.1115516E-02 -3.4186941E-02  1.6906399E-02
+  0.1027744     -5.8652267E-02  2.5529386E-02
+  0.1042366     -4.8145957E-02  2.5932606E-02
+  0.1054667     -3.7639648E-02  2.6271837E-02
+  9.9919684E-02 -3.2439522E-02  2.6708134E-02
+  8.8351734E-02 -3.3066619E-02  2.7226947E-02
+  7.6783776E-02 -3.3665407E-02  2.7722342E-02
+  7.0681386E-02 -3.3969875E-02  2.7974237E-02
+  9.9475585E-02 -3.2282446E-02  3.2282446E-02
+  8.7959044E-02 -3.2909542E-02  3.2909542E-02
+  7.6442502E-02 -3.3508331E-02  3.3508331E-02
+  7.0367232E-02 -3.3812799E-02  3.3812799E-02
+  5.9252501E-02 -0.1037599      5.3282930E-03
+  4.8638672E-02 -0.1052220      5.4124501E-03
+  3.8024843E-02 -0.1064521      5.4832520E-03
+  3.2767996E-02 -0.1008484      5.5743121E-03
+  3.3395093E-02 -8.9172915E-02  5.6825951E-03
+  3.3993881E-02 -7.7497445E-02  5.7859896E-03
+  3.4298349E-02 -7.1338333E-02  5.8385632E-03
+  5.9048917E-02 -0.1034256      1.5428840E-02
+  4.8471555E-02 -0.1048878      1.5672529E-02
+  3.7894197E-02 -0.1061179      1.5877545E-02
+  3.2656588E-02 -0.1005334      1.6141223E-02
+  3.3283684E-02 -8.8894390E-02  1.6454771E-02
+  3.3882473E-02 -7.7255383E-02  1.6754165E-02
+  3.4186941E-02 -7.1115516E-02  1.6906399E-02
+  5.8652267E-02 -0.1027744      2.5529386E-02
+  4.8145957E-02 -0.1042366      2.5932606E-02
+  3.7639648E-02 -0.1054667      2.6271837E-02
+  3.2439522E-02 -9.9919684E-02  2.6708134E-02
+  3.3066619E-02 -8.8351734E-02  2.7226947E-02
+  3.3665407E-02 -7.6783776E-02  2.7722342E-02
+  3.3969875E-02 -7.0681386E-02  2.7974237E-02
+  3.2282446E-02 -9.9475585E-02  3.2282446E-02
+  3.2909542E-02 -8.7959044E-02  3.2909542E-02
+  3.3508331E-02 -7.6442502E-02  3.3508331E-02
+  3.3812799E-02 -7.0367232E-02  3.3812799E-02
+  6.5179229E-02 -3.4586616E-02  5.8883391E-03
+  5.3503752E-02 -3.5073996E-02  5.9724962E-03
+  4.1828275E-02 -3.5484027E-02  6.0432977E-03
+  3.4586616E-02 -6.5179229E-02  5.8883391E-03
+  3.5073996E-02 -5.3503752E-02  5.9724962E-03
+  3.5484027E-02 -4.1828275E-02  6.0432977E-03
+  6.4975642E-02 -3.4475207E-02  1.7050533E-02
+  5.3336635E-02 -3.4962583E-02  1.7294222E-02
+  4.1697629E-02 -3.5372619E-02  1.7499238E-02
+  3.4475207E-02 -6.4975642E-02  1.7050533E-02
+  3.4962583E-02 -5.3336635E-02  1.7294222E-02
+  3.5372619E-02 -4.1697629E-02  1.7499238E-02
+  6.4578995E-02 -3.4258142E-02  2.8212728E-02
+  5.3011037E-02 -3.4745518E-02  2.8615948E-02
+  4.1443080E-02 -3.5155553E-02  2.8955178E-02
+  3.4258142E-02 -6.4578995E-02  2.8212728E-02
+  3.4745518E-02 -5.3011037E-02  2.8615948E-02
+  3.5155553E-02 -4.1443080E-02  2.8955178E-02
+  6.4291969E-02 -3.4101065E-02  3.4101065E-02
+  5.2775424E-02 -3.4588445E-02  3.4588445E-02
+  4.1258883E-02 -3.4998477E-02  3.4998477E-02
+  3.4101065E-02 -6.4291969E-02  3.4101065E-02
+  3.4588445E-02 -5.2775424E-02  3.4588445E-02
+  3.4998477E-02 -4.1258883E-02  3.4998477E-02
+  9.6291915E-02 -8.9782014E-02  3.4053326E-02
+  9.8173209E-02 -7.9387724E-02  3.4788705E-02
+  9.9969573E-02 -6.8993434E-02  3.5490889E-02
+  0.1008830     -6.3510180E-02  3.5847928E-02
+  8.9782014E-02 -9.6291915E-02  3.4053326E-02
+  7.9387724E-02 -9.8173209E-02  3.4788705E-02
+  6.8993434E-02 -9.9969573E-02  3.5490889E-02
+  6.3510180E-02 -0.1008830      3.5847928E-02
+  9.5061816E-02 -8.8622719E-02  4.3558590E-02
+  9.6943110E-02 -7.8362644E-02  4.4499233E-02
+  9.8739475E-02 -6.8102561E-02  4.5397416E-02
+  9.9652879E-02 -6.2690116E-02  4.5854118E-02
+  8.8622719E-02 -9.5061816E-02  4.3558590E-02
+  7.8362644E-02 -9.6943110E-02  4.4499233E-02
+  6.8102561E-02 -9.8739475E-02  4.5397416E-02
+  6.2690116E-02 -9.9652879E-02  4.5854118E-02
+  9.3599685E-02 -8.7244742E-02  5.3063851E-02
+  9.5480978E-02 -7.7144198E-02  5.4209765E-02
+  9.7277343E-02 -6.7043655E-02  5.5303942E-02
+  9.8190747E-02 -6.1715361E-02  5.5860307E-02
+  8.7244742E-02 -9.3599685E-02  5.3063851E-02
+  7.7144198E-02 -9.5480978E-02  5.4209765E-02
+  6.7043655E-02 -9.7277343E-02  5.5303942E-02
+  6.1715361E-02 -9.8190747E-02  5.5860307E-02
+  9.2734888E-02 -8.6429723E-02  5.8078118E-02
+  9.4616182E-02 -7.6423533E-02  5.9332311E-02
+  9.6412539E-02 -6.6417344E-02  6.0529888E-02
+  9.7325951E-02 -6.1138827E-02  6.1138827E-02
+  8.6429723E-02 -9.2734888E-02  5.8078118E-02
+  7.6423533E-02 -9.4616182E-02  5.9332311E-02
+  6.6417344E-02 -9.6412539E-02  6.0529888E-02
+  6.1138827E-02 -9.7325951E-02  6.1138827E-02
+  0.1017478     -5.8026928E-02  3.6185972E-02
+  0.1032099     -4.7632635E-02  3.6757506E-02
+  0.1044400     -3.7238341E-02  3.7238341E-02
+  9.8952129E-02 -3.2097306E-02  3.7856758E-02
+  8.7496191E-02 -3.2724403E-02  3.8592137E-02
+  7.6040253E-02 -3.3323191E-02  3.9294321E-02
+  6.9996953E-02 -3.3627659E-02  3.9651364E-02
+  0.1005177     -5.7277665E-02  4.6286520E-02
+  0.1019798     -4.7017585E-02  4.7017585E-02
+  0.1032099     -3.6757506E-02  4.7632635E-02
+  9.7792834E-02 -3.1687275E-02  4.8423667E-02
+  8.6471111E-02 -3.2314371E-02  4.9364313E-02
+  7.5149380E-02 -3.2913160E-02  5.0262496E-02
+  6.9176890E-02 -3.3217628E-02  5.0719198E-02
+  9.9055551E-02 -5.6387067E-02  5.6387067E-02
+  0.1005177     -4.6286520E-02  5.7277665E-02
+  0.1017478     -3.6185972E-02  5.8026928E-02
+  9.6414857E-02 -3.1199895E-02  5.8990579E-02
+  8.5252665E-02 -3.1826992E-02  6.0136490E-02
+  7.4090473E-02 -3.2425780E-02  6.1230671E-02
+  6.8202130E-02 -3.2730248E-02  6.1787035E-02
+  9.8190747E-02 -5.5860307E-02  6.1715361E-02
+  9.9652879E-02 -4.5854118E-02  6.2690116E-02
+  0.1008830     -3.5847928E-02  6.3510180E-02
+  9.5599838E-02 -3.0911628E-02  6.4564891E-02
+  8.4532000E-02 -3.1538725E-02  6.5819085E-02
+  7.3464163E-02 -3.2137513E-02  6.7016661E-02
+  6.7625597E-02 -3.2441985E-02  6.7625597E-02
+  5.8026928E-02 -0.1017478      3.6185972E-02
+  4.7632635E-02 -0.1032099      3.6757506E-02
+  3.7238341E-02 -0.1044400      3.7238341E-02
+  3.2097306E-02 -9.8952129E-02  3.7856758E-02
+  3.2724403E-02 -8.7496191E-02  3.8592137E-02
+  3.3323191E-02 -7.6040253E-02  3.9294321E-02
+  3.3627659E-02 -6.9996953E-02  3.9651364E-02
+  5.7277665E-02 -0.1005177      4.6286520E-02
+  4.7017585E-02 -0.1019798      4.7017585E-02
+  3.6757506E-02 -0.1032099      4.7632635E-02
+  3.1687275E-02 -9.7792834E-02  4.8423667E-02
+  3.2314371E-02 -8.6471111E-02  4.9364313E-02
+  3.2913160E-02 -7.5149380E-02  5.0262496E-02
+  3.3217628E-02 -6.9176890E-02  5.0719198E-02
+  5.6387067E-02 -9.9055551E-02  5.6387067E-02
+  4.6286520E-02 -0.1005177      5.7277665E-02
+  3.6185972E-02 -0.1017478      5.8026928E-02
+  3.1199895E-02 -9.6414857E-02  5.8990579E-02
+  3.1826992E-02 -8.5252665E-02  6.0136490E-02
+  3.2425780E-02 -7.4090473E-02  6.1230671E-02
+  3.2730248E-02 -6.8202130E-02  6.1787035E-02
+  5.5860307E-02 -9.8190747E-02  6.1715361E-02
+  4.5854118E-02 -9.9652879E-02  6.2690116E-02
+  3.5847928E-02 -0.1008830      6.3510180E-02
+  3.0911628E-02 -9.5599838E-02  6.4564891E-02
+  3.1538725E-02 -8.4532000E-02  6.5819085E-02
+  3.2137513E-02 -7.3464163E-02  6.7016661E-02
+  3.2441985E-02 -6.7625597E-02  6.7625597E-02
+  6.3953653E-02 -3.3915926E-02  3.9989404E-02
+  5.2497715E-02 -3.4403306E-02  4.0560938E-02
+  4.1041773E-02 -3.4813337E-02  4.1041773E-02
+  3.3915926E-02 -6.3953653E-02  3.9989404E-02
+  3.4403306E-02 -5.2497715E-02  4.0560938E-02
+  3.4813337E-02 -4.1041773E-02  4.1041773E-02
+  6.3204393E-02 -3.3505894E-02  5.1151600E-02
+  5.1882666E-02 -3.3993270E-02  5.1882666E-02
+  4.0560938E-02 -3.4403306E-02  5.2497715E-02
+  3.3505894E-02 -6.3204393E-02  5.1151600E-02
+  3.3993270E-02 -5.1882666E-02  5.1882666E-02
+  3.4403306E-02 -4.0560938E-02  5.2497715E-02
+  6.2313795E-02 -3.3018515E-02  6.2313795E-02
+  5.1151600E-02 -3.3505894E-02  6.3204393E-02
+  3.9989404E-02 -3.3915926E-02  6.3953653E-02
+  3.3018515E-02 -6.2313795E-02  6.2313795E-02
+  3.3505894E-02 -5.1151600E-02  6.3204393E-02
+  3.3915926E-02 -3.9989404E-02  6.3953653E-02
+  6.1787035E-02 -3.2730248E-02  6.8202130E-02
+  5.0719198E-02 -3.3217628E-02  6.9176890E-02
+  3.9651364E-02 -3.3627659E-02  6.9996953E-02
+  3.2730248E-02 -6.1787035E-02  6.8202130E-02
+  3.3217628E-02 -5.0719198E-02  6.9176890E-02
+  3.3627659E-02 -3.9651364E-02  6.9996953E-02
+  9.1821477E-02 -8.5568890E-02  6.3092381E-02
+  9.3702771E-02 -7.5662360E-02  6.4454861E-02
+  9.5499136E-02 -6.5755829E-02  6.5755829E-02
+  9.6412539E-02 -6.0529888E-02  6.6417344E-02
+  8.5568890E-02 -9.1821477E-02  6.3092381E-02
+  7.5662360E-02 -9.3702771E-02  6.4454861E-02
+  6.5755829E-02 -9.5499136E-02  6.5755829E-02
+  6.0529888E-02 -9.6412539E-02  6.6417344E-02
+  9.0025119E-02 -8.3875917E-02  7.2597645E-02
+  9.1906413E-02 -7.4165389E-02  7.4165389E-02
+  9.3702771E-02 -6.4454861E-02  7.5662360E-02
+  9.4616182E-02 -5.9332311E-02  7.6423533E-02
+  8.3875917E-02 -9.0025119E-02  7.2597645E-02
+  7.4165389E-02 -9.1906413E-02  7.4165389E-02
+  6.4454861E-02 -9.3702771E-02  7.5662360E-02
+  5.9332311E-02 -9.4616182E-02  7.6423533E-02
+  8.8143826E-02 -8.2102910E-02  8.2102910E-02
+  9.0025119E-02 -7.2597645E-02  8.3875917E-02
+  9.1821477E-02 -6.3092381E-02  8.5568890E-02
+  9.2734888E-02 -5.8078118E-02  8.6429723E-02
+  8.2102910E-02 -8.8143826E-02  8.2102910E-02
+  7.2597645E-02 -9.0025119E-02  8.3875917E-02
+  6.3092381E-02 -9.1821477E-02  8.5568890E-02
+  5.8078118E-02 -9.2734888E-02  8.6429723E-02
+  9.7277343E-02 -5.5303942E-02  6.7043655E-02
+  9.8739475E-02 -4.5397416E-02  6.8102561E-02
+  9.9969573E-02 -3.5490889E-02  6.8993434E-02
+  9.4739005E-02 -3.0607160E-02  7.0139199E-02
+  8.3770826E-02 -3.1234257E-02  7.1501680E-02
+  7.2802648E-02 -3.1833045E-02  7.2802648E-02
+  6.7016661E-02 -3.2137513E-02  7.3464163E-02
+  9.5480978E-02 -5.4209765E-02  7.7144198E-02
+  9.6943110E-02 -4.4499233E-02  7.8362644E-02
+  9.8173209E-02 -3.4788705E-02  7.9387724E-02
+  9.3046032E-02 -3.0008372E-02  8.0706112E-02
+  8.2273856E-02 -3.0635471E-02  8.2273856E-02
+  7.1501680E-02 -3.1234257E-02  8.3770826E-02
+  6.5819085E-02 -3.1538725E-02  8.4532000E-02
+  9.3599685E-02 -5.3063851E-02  8.7244742E-02
+  9.5061816E-02 -4.3558590E-02  8.8622719E-02
+  9.6291915E-02 -3.4053326E-02  8.9782014E-02
+  9.1273025E-02 -2.9381275E-02  9.1273025E-02
+  8.0706112E-02 -3.0008372E-02  9.3046032E-02
+  7.0139199E-02 -3.0607160E-02  9.4739005E-02
+  6.4564891E-02 -3.0911628E-02  9.5599838E-02
+  5.5303942E-02 -9.7277343E-02  6.7043655E-02
+  4.5397416E-02 -9.8739475E-02  6.8102561E-02
+  3.5490889E-02 -9.9969573E-02  6.8993434E-02
+  3.0607160E-02 -9.4739005E-02  7.0139199E-02
+  3.1234257E-02 -8.3770826E-02  7.1501680E-02
+  3.1833045E-02 -7.2802648E-02  7.2802648E-02
+  3.2137513E-02 -6.7016661E-02  7.3464163E-02
+  5.4209765E-02 -9.5480978E-02  7.7144198E-02
+  4.4499233E-02 -9.6943110E-02  7.8362644E-02
+  3.4788705E-02 -9.8173209E-02  7.9387724E-02
+  3.0008372E-02 -9.3046032E-02  8.0706112E-02
+  3.0635471E-02 -8.2273856E-02  8.2273856E-02
+  3.1234257E-02 -7.1501680E-02  8.3770826E-02
+  3.1538725E-02 -6.5819085E-02  8.4532000E-02
+  5.3063851E-02 -9.3599685E-02  8.7244742E-02
+  4.3558590E-02 -9.5061816E-02  8.8622719E-02
+  3.4053326E-02 -9.6291915E-02  8.9782014E-02
+  2.9381275E-02 -9.1273025E-02  9.1273025E-02
+  3.0008372E-02 -8.0706112E-02  9.3046032E-02
+  3.0607160E-02 -7.0139199E-02  9.4739005E-02
+  3.0911628E-02 -6.4564891E-02  9.5599838E-02
+  6.1230671E-02 -3.2425780E-02  7.4090473E-02
+  5.0262496E-02 -3.2913160E-02  7.5149380E-02
+  3.9294321E-02 -3.3323191E-02  7.6040253E-02
+  3.2425780E-02 -6.1230671E-02  7.4090473E-02
+  3.2913160E-02 -5.0262496E-02  7.5149380E-02
+  3.3323191E-02 -3.9294321E-02  7.6040253E-02
+  6.0136490E-02 -3.1826992E-02  8.5252665E-02
+  4.9364313E-02 -3.2314371E-02  8.6471111E-02
+  3.8592137E-02 -3.2724403E-02  8.7496191E-02
+  3.1826992E-02 -6.0136490E-02  8.5252665E-02
+  3.2314371E-02 -4.9364313E-02  8.6471111E-02
+  3.2724403E-02 -3.8592137E-02  8.7496191E-02
+  5.8990579E-02 -3.1199895E-02  9.6414857E-02
+  4.8423667E-02 -3.1687275E-02  9.7792834E-02
+  3.7856758E-02 -3.2097306E-02  9.8952129E-02
+  3.1199895E-02 -5.8990579E-02  9.6414857E-02
+  3.1687275E-02 -4.8423667E-02  9.7792834E-02
+  3.2097306E-02 -3.7856758E-02  9.8952129E-02
+  8.6090527E-02 -8.6090527E-02  8.6090527E-02
+  9.6291915E-02 -9.6291915E-02 -2.3741668E-02
+  9.6943110E-02 -9.6943110E-02 -1.4348421E-02
+  9.7277343E-02 -9.7277343E-02 -4.9551749E-03
+  9.7325951E-02 -9.7325951E-02  0.0000000E+00
+  9.7277343E-02 -9.7277343E-02  4.9551749E-03
+  9.6943110E-02 -9.6943110E-02  1.4348421E-02
+  9.6291915E-02 -9.6291915E-02  2.3741668E-02
+  9.6847333E-02 -9.0305470E-02  2.9039059E-02
+  9.8728627E-02 -7.9850577E-02  2.9666156E-02
+  0.1005250     -6.9395676E-02  3.0264944E-02
+  0.1014384     -6.3880458E-02  3.0569414E-02
+  9.0305470E-02 -9.6847333E-02  2.9039059E-02
+  7.9850577E-02 -9.8728627E-02  2.9666156E-02
+  6.9395676E-02 -0.1005250      3.0264944E-02
+  6.3880458E-02 -0.1014384      3.0569414E-02
+  0.1023032     -5.8365237E-02  3.0857680E-02
+  0.1037653     -4.7910344E-02  3.1345058E-02
+  0.1049954     -3.7455451E-02  3.1755090E-02
+  5.8365237E-02 -0.1023032      3.0857680E-02
+  4.7910344E-02 -0.1037653      3.1345058E-02
+  3.7455451E-02 -0.1049954      3.1755090E-02
+  9.5265269E-02 -9.5265269E-02  3.3652019E-02
+  9.4035171E-02 -9.4035171E-02  4.3045264E-02
+  9.2573039E-02 -9.2573039E-02  5.2438512E-02
+  9.1708235E-02 -9.1708235E-02  5.7393685E-02
+  9.0794832E-02 -9.0794832E-02  6.2348861E-02
+  8.8998467E-02 -8.8998467E-02  7.1742110E-02
+  8.7117180E-02 -8.7117180E-02  8.1135355E-02
+  2.8696842E-02 -9.5820688E-02  9.5820688E-02
+  9.5820688E-02 -2.8696842E-02  9.5820688E-02
+  3.1940229E-02 -3.1940229E-02  0.1055508    
+  9.6847333E-02 -9.0305470E-02 -2.9039059E-02
+  9.8728627E-02 -7.9850577E-02 -2.9666156E-02
+  0.1005250     -6.9395676E-02 -3.0264944E-02
+  0.1014384     -6.3880458E-02 -3.0569414E-02
+  9.0305470E-02 -9.6847333E-02 -2.9039059E-02
+  7.9850577E-02 -9.8728627E-02 -2.9666156E-02
+  6.9395676E-02 -0.1005250     -3.0264944E-02
+  6.3880458E-02 -0.1014384     -3.0569414E-02
+  0.1023032     -5.8365237E-02 -3.0857680E-02
+  0.1037653     -4.7910344E-02 -3.1345058E-02
+  0.1049954     -3.7455451E-02 -3.1755090E-02
+  9.9475585E-02 -3.2282446E-02 -3.2282446E-02
+  8.7959044E-02 -3.2909542E-02 -3.2909542E-02
+  7.6442502E-02 -3.3508331E-02 -3.3508331E-02
+  7.0367232E-02 -3.3812799E-02 -3.3812799E-02
+  5.8365237E-02 -0.1023032     -3.0857680E-02
+  4.7910344E-02 -0.1037653     -3.1345058E-02
+  3.7455451E-02 -0.1049954     -3.1755090E-02
+  3.2282446E-02 -9.9475585E-02 -3.2282446E-02
+  3.2909542E-02 -8.7959044E-02 -3.2909542E-02
+  3.3508331E-02 -7.6442502E-02 -3.3508331E-02
+  3.3812799E-02 -7.0367232E-02 -3.3812799E-02
+  6.4291969E-02 -3.4101065E-02 -3.4101065E-02
+  5.2775424E-02 -3.4588445E-02 -3.4588445E-02
+  4.1258883E-02 -3.4998477E-02 -3.4998477E-02
+  3.4101065E-02 -6.4291969E-02 -3.4101065E-02
+  3.4588445E-02 -5.2775424E-02 -3.4588445E-02
+  3.4998477E-02 -4.1258883E-02 -3.4998477E-02
+  0.1060221     -3.2097306E-02 -2.6425010E-02
+  0.1066733     -3.2314371E-02 -1.5970115E-02
+  0.1070075     -3.2425780E-02 -5.5152206E-03
+  0.1070561     -3.2441985E-02  0.0000000E+00
+  3.2097306E-02 -0.1060221     -2.6425010E-02
+  3.2314371E-02 -0.1066733     -1.5970115E-02
+  3.2425780E-02 -0.1070075     -5.5152206E-03
+  3.2441985E-02 -0.1070561      0.0000000E+00
+  3.5340693E-02 -3.5340693E-02 -2.9108349E-02
+  3.5557758E-02 -3.5557758E-02 -1.7591808E-02
+  3.5669167E-02 -3.5669167E-02 -6.0752663E-03
+  3.5685372E-02 -3.5685372E-02  0.0000000E+00
+  0.1070075     -3.2425780E-02  5.5152206E-03
+  0.1066733     -3.2314371E-02  1.5970115E-02
+  0.1060221     -3.2097306E-02  2.6425010E-02
+  3.2425780E-02 -0.1070075      5.5152206E-03
+  3.2314371E-02 -0.1066733      1.5970115E-02
+  3.2097306E-02 -0.1060221      2.6425010E-02
+  3.5669167E-02 -3.5669167E-02  6.0752663E-03
+  3.5557758E-02 -3.5557758E-02  1.7591808E-02
+  3.5340693E-02 -3.5340693E-02  2.9108349E-02
+  3.5183616E-02 -3.5183616E-02  3.5183616E-02
+  0.1049954     -3.1755090E-02  3.7455451E-02
+  0.1037653     -3.1345058E-02  4.7910344E-02
+  0.1023032     -3.0857680E-02  5.8365237E-02
+  0.1014384     -3.0569414E-02  6.3880458E-02
+  3.1755090E-02 -0.1049954      3.7455451E-02
+  3.1345058E-02 -0.1037653      4.7910344E-02
+  3.0857680E-02 -0.1023032      5.8365237E-02
+  3.0569414E-02 -0.1014384      6.3880458E-02
+  3.4998477E-02 -3.4998477E-02  4.1258883E-02
+  3.4588445E-02 -3.4588445E-02  5.2775424E-02
+  3.4101065E-02 -3.4101065E-02  6.4291969E-02
+  3.3812799E-02 -3.3812799E-02  7.0367232E-02
+  0.1005250     -3.0264944E-02  6.9395676E-02
+  9.8728627E-02 -2.9666156E-02  7.9850577E-02
+  9.6847333E-02 -2.9039059E-02  9.0305470E-02
+  3.0264944E-02 -0.1005250      6.9395676E-02
+  2.9666156E-02 -9.8728627E-02  7.9850577E-02
+  2.9039059E-02 -9.6847333E-02  9.0305470E-02
+  3.3508331E-02 -3.3508331E-02  7.6442502E-02
+  3.2909542E-02 -3.2909542E-02  8.7959044E-02
+  3.2282446E-02 -3.2282446E-02  9.9475585E-02
+  9.5820688E-02 -9.5820688E-02  2.8696842E-02
+  9.5820688E-02 -9.5820688E-02 -2.8696842E-02
+  0.1055508     -3.1940229E-02  3.1940229E-02
+  3.1940229E-02 -0.1055508      3.1940229E-02
+  0.1055508     -3.1940229E-02 -3.1940229E-02
+  3.1940229E-02 -0.1055508     -3.1940229E-02
+  3.5183616E-02 -3.5183616E-02 -3.5183616E-02
+ object 2 class array type int rank 1 shape 2 items 1 data follows
+ 0 0
+ attribute "element type" string "lines"
+ attribute "ref" string "positions"
+ object 3 class array type float rank 0 items          593  data follows
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           0
+           1
+           1
+           1
+           1
+           1
+           1
+           1
+           1
+           1
+           1
+           1
+           1
+           1
+           1
+           1
+           1
+           1
+           1
+           1
+           1
+           1
+           1
+           1
+           1
+           1
+           1
+           1
+           1
+           1
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           2
+           3
+           4
+           4
+           4
+           6
+           6
+           6
+ attribute "dep" string "positions"
+ object "irregular positions irregular connections" class field
+ component "positions" value 1
+ component "connections" value 2
+ component "data" value 3
+ end

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/earth_main_cities.dx
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/earth_main_cities.dx	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/earth_main_cities.dx	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,476 @@
+ object 1 class array type float rank 1 shape 3 items          232  data follows
+ -0.3945073     -0.7296260      0.5577187    
+ -0.4266573     -0.6654383      0.6120481    
+ -0.1984317     -0.7475111      0.6432303    
+ -0.3566856     -0.5468069      0.7581238    
+  0.2005991     -0.9889205     -3.8158286E-03
+  0.9662855      0.2631377     -7.5743818E-03
+ -0.6948820      0.7174801     -1.5109471E-02
+ -0.5431336      0.8185144     -0.1761580    
+  0.3857267     -0.9057835      0.1824652    
+  0.3102354     -0.9326019      0.1848231    
+  0.4686350     -0.8637174      0.1850841    
+ -0.2822979      0.9409480      0.1871033    
+  0.2571795     -0.9465777      0.1903702    
+ -0.2511317      0.9471478      0.2002486    
+  0.8051494      0.6023287     -2.2233104E-02
+ -0.2390402      0.9707589      2.2687647E-02
+  0.9491776      0.2552194     -0.2110127    
+  6.3970737E-02 -0.9760048      0.2108769    
+  0.9774900     -2.5881013E-02  0.2143941    
+ -0.6386611      0.7385920     -0.2158723    
+  0.6890018      0.6898040      0.2221027    
+  0.2096161      0.9547127      0.2247646    
+  0.2192786     -0.9535956     -0.2094707    
+  0.6626256     -0.7485232     -2.5304573E-02
+  0.7619891     -0.6061135     -0.2247856    
+  1.3302173E-02 -0.9729075      0.2371915    
+ -0.1770250      0.9551415      0.2374025    
+  0.1649726      0.9600841      0.2260956    
+ -0.4982792      0.8298225      0.2518261    
+  0.4653980     -0.8424876      0.2510080    
+ -8.7682363E-03 -0.9723276      0.2535847    
+  0.9200132     -0.2897849      0.2530508    
+  4.7270250E-02 -0.9723072      0.2445151    
+  0.7549237      0.6095093      0.2651307    
+  0.8129545      0.5189071      0.2695811    
+  0.6469646     -0.7164287     -0.2743702    
+  0.3618040     -0.9022902     -0.2879570    
+ -0.1025708      0.9519165      0.2887603    
+ -0.3005657      0.9132802      0.2769076    
+  3.0230651E-02 -0.9531238      0.3009749    
+ -0.9291271      0.1921311     -0.3034040    
+  0.8194764      0.4933649     -0.3077223    
+  0.9138216     -0.2611713      0.3106421    
+  0.3829098     -0.8647642      0.3161366    
+  0.3258873     -0.8905289      0.3169850    
+  0.2880478     -0.9043891      0.3185034    
+  0.2794935      0.9038281      0.3239073    
+  0.6416177      0.7014307     -0.3257789    
+  0.3993528     -0.8675904     -0.3294853    
+ -0.1008992     -0.9389675      0.3288655    
+ -0.1521716     -0.9395356      0.3351743    
+  0.2398549     -0.9046174      0.3387822    
+  0.6790013     -0.6545598     -0.3420285    
+ -0.2169224     -0.9152675      0.3551188    
+  5.9759640E-03 -0.9337987      0.3578359    
+ -0.9270815     -7.7849209E-02 -0.3596120    
+  0.1616561     -0.9060056     -0.3532757    
+  0.7209013      0.5872547      0.3656414    
+ -0.2552100      0.8979038      0.3589482    
+ -9.8590307E-02  0.9225327      0.3745359    
+  0.1762981      0.9169396      0.3612345    
+ -0.3788078      0.8441987      0.3794902    
+ -2.9588826E-02  0.9244016      0.3802621    
+  2.6865039E-02  0.9232915      0.3832314    
+  0.6716020     -0.6306762     -0.3894901    
+ -0.4631317      0.7957399      0.3898671    
+  0.6412947      0.7460126      3.4926873E-02
+  0.2755016      0.8782312      0.3913314    
+  0.6312016     -0.6682554     -0.4006461    
+ -0.6356205      0.6608921     -0.4044218    
+  0.1221592     -0.9094855      0.3920433    
+  0.6247808      0.6630012      0.4180506    
+  0.3549130      0.8354469      0.4194202    
+  0.4859575     -0.7628005     -0.4272069    
+  0.5910042     -0.6867017     -0.4305258    
+ -0.4739580      0.7729244      0.4234289    
+ -0.1617245     -0.8899125      0.4346529    
+  0.7972318      0.4280693     -0.4364660    
+  0.1973542     -0.8793070      0.4218250    
+  0.7961974      0.4242373     -0.4435959    
+  0.5745330      0.6883537      0.4428104    
+  0.3757131     -0.8118769     -0.4525471    
+ -0.7910216      0.4024661     -0.4613583    
+  4.4352361E-03  0.8968879      0.4675594    
+  7.4422978E-02  0.8862796      0.4669448    
+  0.1946924      0.8569419      0.4787950    
+  0.5836268      0.6478042      0.4899743    
+  0.7410685      0.4511675      0.4982224    
+  0.5744525      0.6439966      0.5052931    
+  0.5423660     -0.6749693     -0.5005867    
+ -0.2545436      0.9656833     -5.2337945E-02
+ -0.4460838      0.7298476      0.5180342    
+  0.3718174     -0.7708572     -0.5217262    
+  0.2302046      0.8208118      0.5241089    
+  0.6952164      0.4907241      0.5272760    
+  0.6881039      0.4990198      0.5301110    
+ -0.3699939      0.7636678     -0.5292211    
+  0.8174044      0.1914696      0.5431163    
+  0.2338963     -0.9742481      5.9818186E-02
+  0.7953311      0.2905253      0.5311545    
+  0.6951607      0.4828494      0.5309454    
+  0.2636077     -0.7939759     -0.5436355    
+  0.5970033      0.5846288      0.5495735    
+  0.3512329     -0.7424799      0.5409053    
+  0.2765788     -0.7897852     -0.5528251    
+  0.6741101      0.4957871      0.5538639    
+ -0.5406417      0.6341299      0.5533040    
+  0.8257018     -0.1109056      0.5531722    
+  0.2415468      0.7983627      0.5562776    
+ -0.7276899      0.4000509     -0.5573083    
+  0.6742274      0.4803302      0.5562775    
+  0.7867911      0.2630022     -0.5581585    
+ -0.1507593      0.9871367      6.2533870E-02
+  0.2624546      0.7882021      0.5606993    
+  0.2946407      0.7756471      0.5720320    
+  0.4303899     -0.7018741     -0.5676200    
+  0.4563434     -0.6821068     -0.5714517    
+ -0.6149694      0.5424865     -0.5727831    
+  0.7805181     -0.6219650     -6.5705411E-02
+  0.9797056      0.1996202      6.7577593E-02
+ -0.6201292      0.5246686      0.5833412    
+  0.5095530      0.6386870      0.5867473    
+  0.4097720      0.6984394      0.5944741    
+  0.5884854      0.5516589      0.5928857    
+  0.6969063      0.4031703      0.6015795    
+  0.7884547      0.1418654      0.5989478    
+ -0.7969249      7.2993346E-02 -0.5997615    
+  0.6522185      0.4617964      0.6018403    
+  0.8038332     -7.5512804E-02  0.5898259    
+ -0.4767739      0.6334667      0.6098336    
+ -0.6470439      0.4536262     -0.6133232    
+  0.7221416      0.3172486      0.6155046    
+ -0.2025922      0.9782809      5.4397434E-02
+  0.6973809      0.3578924      0.6220179    
+  0.7702339     -0.1238311      0.6253703    
+  0.6920623     -0.3538921      0.6238464    
+  0.1747930     -0.7591262      0.6274440    
+  0.7724251     -5.1679322E-03  0.6359980    
+ -0.4531714      0.6310421      0.6298724    
+ -0.3415208      0.6869853      0.6418523    
+  0.6462522      0.4178127      0.6445867    
+  0.7617106     -4.9035124E-02  0.6499914    
+  0.6993424      0.2961332      0.6513165    
+  0.7326817      0.1867582      0.6545774    
+  0.6610342      0.3639076      0.6551784    
+ -0.7480316      6.8515025E-02 -0.6595256    
+  0.2658177      0.7034662      0.6614352    
+  0.7496659      2.8144106E-02  0.6613849    
+  0.5311075      0.5274125      0.6672720    
+  0.7278039      0.1626834      0.6667902    
+  0.9635431      0.2626920     -7.4216992E-02
+  0.9630821      0.2634694     -7.5659566E-02
+  0.6767398      0.2919171      0.6800987    
+  0.1662290      0.7133867      0.6886633    
+  0.7244777      6.8270683E-02  0.6857378    
+ -0.7191365      9.3186818E-02 -0.6889430    
+  0.7173066      9.1464959E-02  0.6910232    
+ -0.5709946      0.4566354      0.6833818    
+  0.2755880     -0.9663922      8.0853887E-02
+ -0.4876699      0.5431991      0.6835121    
+  0.6416283      0.3143305      0.7000838    
+  0.6650505      0.2482113      0.7049213    
+  0.1741522     -0.6815695      0.7112864    
+  0.6927282      0.1132317      0.7130347    
+  0.6969898      5.8323700E-02  0.7167283    
+  0.6072356     -0.7899365      8.6002201E-02
+  0.5919213      0.3519231      0.7252492    
+  0.5225688      0.4341018      0.7340643    
+  0.6786243     -1.8560585E-02  0.7344062    
+  0.6708808      0.1008624      0.7373461    
+  0.6388381      0.2203854      0.7379195    
+ -0.1956615      0.6446719      0.7460458    
+  0.6394835      0.1878060      0.7467401    
+  0.6559165      8.9460663E-02  0.7504392    
+  0.4707322      0.4628564      0.7514561    
+  0.6580498      2.8539294E-02  0.7528326    
+  0.6548548      0.1340254      0.7462856    
+  0.6418468      9.5542930E-02  0.7615790    
+  0.5187839      0.3801561      0.7664889    
+  0.5488822      0.3233163      0.7714047    
+  0.6303523      4.7949657E-02  0.7751211    
+  0.6041137      0.2192826      0.7677292    
+  0.6220915      0.1599188      0.7677492    
+  0.6222162     -3.4424178E-02  0.7824944    
+  0.6228949      0.0000000E+00  0.7826189    
+  0.9930120     -6.9728434E-02  9.2637829E-02
+  0.5720451      0.2199695      0.7905953    
+  0.6081170      5.2312221E-02  0.7920957    
+  0.6016585      0.1024831      0.7925222    
+  0.5931974      0.1402259      0.7929422    
+  0.6088578     -2.0552509E-02  0.7934529    
+  0.5990527     -9.3987696E-02  0.7955086    
+ -0.5623906      0.2192669      0.7976508    
+ -0.1782869      0.9794296      9.4396926E-02
+  0.1962090     -0.5666178     -0.8005679    
+  0.3845176      0.4598779      0.8008170    
+  0.5932890     -6.6023827E-02  0.8028196    
+  0.5852115      0.1028376      0.8044534    
+  0.9951755     -3.4738320E-03  9.6701674E-02
+  0.5228080      0.2727368      0.8086427    
+  0.5763704     -5.9731539E-02  0.8153755    
+  0.5411024      0.2023099      0.8163987    
+  0.5684878     -0.8164256      0.1013457    
+  0.5503075      0.1225042      0.8259515    
+  0.4455711      0.3439626      0.8272302    
+  0.5598220     -4.1929461E-02  0.8281313    
+  0.5598754     -3.1138524E-02  0.8287296    
+ -2.8799728E-02  0.5588626      0.8301680    
+  0.2686634      0.4774500      0.8377328    
+  0.4978227      0.2226869      0.8381776    
+ -0.4900321      0.8673058     -8.9489818E-02
+  0.4846962      0.1581111      0.8603658    
+  0.4926313      9.3380511E-02  0.8661274    
+  0.4327653      0.2525500      0.8655447    
+  0.4510880      0.2098667      0.8675451    
+  0.4918712      4.5773823E-02  0.8695910    
+  0.3389398     -0.3439057      0.8777095    
+ -0.2879338      0.9516814     -0.1077213    
+  0.2487752     -0.9689156      0.1089665    
+  0.9756404     -0.1861134      0.1096540    
+  0.9916849      5.8916938E-02  0.1123094    
+  0.3266288      0.2792962      0.9030355    
+  0.4046079      0.1629248      0.8996066    
+  0.5231981     -0.8438321      0.1189783    
+  0.7683989      0.6289272     -0.1189903    
+  0.1743877      0.9757190      0.1199460    
+ -0.3831390      0.9151754     -0.1256296    
+  0.9626144     -0.2266656      0.1477982    
+  0.8123531     -0.5663541     -0.1403514    
+  0.1792146     -0.9716873      0.1559066    
+ -4.4722730E-04 -3.5893786E-04  0.9856935    
+ -0.8267640      0.5338348     -0.1643932    
+ object 2 class array type int rank 1 shape 2 items 1 data follows
+ 0 0
+ attribute "element type" string "lines"
+ attribute "ref" string "positions"
+ object 3 class array type float rank 0 items          232  data follows
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ attribute "dep" string "positions"
+ object "irregular positions irregular connections" class field
+ component "positions" value 1
+ component "connections" value 2
+ component "data" value 3
+ end

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/earth_topo_bathy.dx.bz2
===================================================================
(Binary files differ)


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/earth_topo_bathy.dx.bz2
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/epicenter.dx
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/epicenter.dx	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/epicenter.dx	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,14 @@
+ object 1 class array type float rank 1 shape 3 items 1 data follows
+ -0.2131408      0.8485492      0.5348852    
+ object 2 class array type int rank 1 shape 2 items 1 data follows
+ 0 0
+ attribute "element type" string "lines"
+ attribute "ref" string "positions"
+ object 3 class array type float rank 0 items 1 data follows
+ 2
+ attribute "dep" string "positions"
+ object "irregular positions irregular connections" class field
+ component "positions" value 1
+ component "connections" value 2
+ component "data" value 3
+ end

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/frame_rate_MPEG.txt
===================================================================

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/frame_rates_MPEG_movies.txt
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/frame_rates_MPEG_movies.txt	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/frame_rates_MPEG_movies.txt	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,27 @@
+
+https://www.fzd.de/FKTI/MITARB/schmei/doc/Video/mpeg2enc.html
+
+ /* frame_rate_code */
+
+  Defines the frame rate (for interlaced sequences: field rate is twice 
+  the frame rate). Legal values are:
+
+  Code  Frames/sec    Meaning
+  ----  ----------    -----------------------------------------------
+  1     24000/1001    23.976 fps -- NTSC encapsulated film rate 
+  2     24            Standard international cinema film rate
+  3     25            PAL (625/50) video frame rate                    !!!! DK DK this is the default when called from ImageMagick
+  4     30000/1001    29.97 -- NTSC video frame rate 
+  5     30            NTSC drop-frame (525/60) video frame rate
+  6     50            double frame rate/progressive PAL 
+  7     60000/1001    double frame rate NTSC
+  8     60            double frame rate drop-frame NTSC
+
+ /* bit_rate */
+
+  A positive floating point value specifying the target bitrate.
+  In units of bits/sec.
+
+
+
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/lat_long_main_cities_processed.dat
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/lat_long_main_cities_processed.dat	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/lat_long_main_cities_processed.dat	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,232 @@
+33 55 3000     118 24 12000
+37 45 3000     122 40 12000
+39 45 3000     104 52 12000
+49 16 3000     123 07 12000
+    0  13  6000     78  32  12000
+    0  26  6000      15  14  9000
+    0  52  6000     134  5  9000
+   10  10  6000    123  34  9000
+   10  30  3000     66  56  12000
+   10  39  3000     71  36  12000
+   10  40  3000     61  31  12000
+   10  47  3000     106  42  9000
+   10  59  3000     74  48  12000
+   11  33  3000    104  51  9000
+    1  16  6000     36  48  9000
+    1  18  3000    103  50  9000
+   12  07  6000     15  03  9000
+   12  10  3000     86  15  12000
+   12  22  3000      1  31  12000
+   12  28  6000    130  51  9000
+   12  50  3000       45  2  9000
+   12  57  3000     77  37  9000
+    12  5  6000      77  3  12000
+    1  27  6000     48  29  12000
+    13  0  6000     38  30  12000
+   13  42  3000     89  13  12000
+   13  44  3000    100  30  9000
+    13  4  3000     80  15  9000
+   14  35  3000    120  59  9000
+   14  37  3000      61  5  12000
+   14  37  3000     90  31  12000
+   14  42  3000     17  29  12000
+    14  6  3000     87  13  12000
+   15  17  3000     38  55  9000
+   15  37  3000     32  33  9000
+   15  52  6000     47  55  12000
+   16  30  6000      68  9  12000
+   16  47  3000      96  9  9000
+    16  4  3000     108  13  9000
+   17  31  3000     88  11  12000
+   17  44  6000    168  19  9000
+   17  50  6000      31  03  9000
+   18  06  3000     15  57  12000
+   18  29  3000      66  7  12000
+   18  29  3000     69  54  12000
+   18  33  3000     72  20  12000
+   18  54  3000     72  49  9000
+   18  55  6000     47  33  9000
+   19  02  6000     65  17  12000
+   19  12  3000      96  8  12000
+   19  24  3000     99  12  12000
+   19  54  3000      75  9  12000
+   19  56  6000     43  57  12000
+   20  41  3000    103  20  12000
+   20  58  3000     89  38  12000
+   21  08  6000    175  12  12000
+    21  0  6000     79  53  12000
+   21  28  3000     39  10  9000
+    21  2  3000     105  52  9000
+   21  59  3000      96  6  9000
+    21  9  3000      79  7  9000
+   22  18  3000    114  10  9000
+   22  21  3000     91  50  9000
+   22  32  3000     88  20  9000
+   22  55  6000     43  12  12000
+   22  57  3000    120  12  9000
+    2  2  3000      49  19  9000
+    23  2  3000     72  35  9000
+   23  33  6000     46  38  12000
+   23  48  6000    133  53  9000
+    23  8  3000     82  21  12000
+   24  39  3000     46  42  9000
+   24  48  3000     66  59  9000
+   25  17  6000     57  30  12000
+   25  25  6000     49  17  12000
+    25  2  3000    121  31  9000
+   25  40  3000    100  18  12000
+   25  45  6000     28  14  9000
+   25  5  3000      77  21  12000
+   26  11  6000      28  3  9000
+   26  17  3000      50  9  9000
+   26  50  6000     65  10  12000
+   27  28  6000    153  2  9000
+   27  32  3000     89  43  9000
+   27  42  3000     85  12  9000
+   28  35  3000     77  12  9000
+   29  20  3000     47  59  9000
+   29  52  3000     31  20  9000
+   30  21  3000     48  16  9000
+    30  2  6000     51  13  12000
+     3  0  6000    104  46  9000
+   31  12  3000    121  26  9000
+   31  22  6000     64  15  12000
+   31  35  3000     74  20  9000
+   31  47  3000     35  13  9000
+   31  57  3000     35  57  9000
+   31  57  6000    115  51  9000
+     32  54  3000    13  11  9000
+    3  25  3000     76  30  12000
+      32  6  3000     20  4  9000
+    32  6  3000     34  47  9000
+    33  1  6000     71  38  12000
+   33  20  3000     44  24  9000
+   33  22  3000     64  41  12000
+   33  27  6000     70  42  12000
+   33  30  3000     36  20  9000
+   33  35  3000    130  27  9000
+   33  35  3000      7  39  12000
+   33  42  3000     73  10  9000
+   33  52  6000    151  12  9000
+   33  54  3000     35  28  9000
+   33  56  6000     18  29  9000
+    3  35  3000     98  41  9000
+    34  1  3000     71  35  9000
+   34  35  3000     69  12  9000
+   34  35  6000     58  29  12000
+   34  51  6000     56  13  12000
+   34  56  6000    138  35  9000
+    3  46  6000     38  33  12000
+    3  52  3000     11  31  9000
+   35  41  3000    139  46  9000
+   35  41  3000     51  25  9000
+   36  17  3000     59  36  9000
+   36  19  3000      43  9  9000
+   36  46  3000     30  3  9000
+   36  47  3000     10  12  9000
+   36  51  6000    174  46  9000
+   36  59  3000     35  18  9000
+    36  9  3000      5  22  12000
+   37  34  3000    126  58  9000
+   37  49  6000    144  58  9000
+   37  58  3000     23  43  9000
+     3  7  3000    101  42  9000
+   38  26  3000     27  10  9000
+   38  43  3000       9  8  12000
+   38  45  3000     27  5  12000
+   38  51  3000      77  2  12000
+   39  28  3000      0  23  12000
+    39  2  3000    125  41  9000
+   39  55  3000    116  26  9000
+   39  57  3000     32  53  9000
+   40  25  3000      3  41  12000
+   40  37  3000     22  57  9000
+   40  53  3000     14  18  9000
+   40  58  3000     28  50  9000
+   41  17  6000    174  46  9000
+   41  20  3000     69  18  9000
+   41  24  3000       2  9  9000
+   41  43  3000     44  48  9000
+   41  48  3000     12  36  9000
+    4  15  6000     15  15  9000
+    4  20  6000      15  18  9000
+   42  42  3000     23  20  9000
+   43  14  3000     76  53  9000
+   43  18  3000      5  23  9000
+   43  32  6000    172  37  9000
+   43  42  3000      7  16  9000
+   43  4  3000     141  21  9000
+    4  36  3000      74  5  12000
+    43  7  3000    131  55  9000
+   44  25  3000      26  6  9000
+   44  48  3000      20  28  9000
+   45  19  3000     75  40  12000
+   45  27  3000      9  17  9000
+   45  42  3000      4  47  9000
+    4  56  3000     52  27  12000
+   46  29  3000     30  44  9000
+   47  13  3000     39  43  9000
+   47  15  3000      1  34  12000
+   47  23  3000      8  33  9000
+   47  31  3000      19  2  9000
+   47  55  3000    106  53  9000
+   48  15  3000     16  22  9000
+   48  35  3000      7  46  9000
+   48  42  3000     44  31  9000
+   48  49  3000      2  29  9000
+   48  9  3000      11  34  9000
+   49  34  3000      8  28  9000
+    50  0  3000     36  14  9000
+   50  27  3000     30  30  9000
+   50  48  3000      4  21  9000
+    50  4  3000     19  57  9000
+    50  5  3000     14  25  9000
+   51  28  3000      3  10  12000
+   51  29  3000       0  0  12000
+    5  19  3000       4  1  12000
+   52  13  3000      21  2  9000
+   52  23  3000      4  55  9000
+   52  24  3000      9  40  9000
+   52  27  3000     13  18  9000
+   52  29  3000      1  56  12000
+   52  41  3000      8  55  12000
+   52  53  3000    158  42  9000
+    5  25  3000    100  19  9000
+   53  10  6000     70  54  12000
+   53  11  3000      50  6  9000
+   53  22  3000      6  21  12000
+   53  33  3000      9  58  9000
+    5  33  3000      0  12  12000
+   53  54  3000     27  33  9000
+   54  36  3000      5  55  12000
+   54  43  3000     20  30  9000
+    5  49  3000      55  9  12000
+   55  41  3000     12  33  9000
+   55  46  3000     37  40  9000
+   55  52  3000      4  17  12000
+   55  55  3000      3  11  12000
+    56  1  3000     92  57  9000
+   56  49  3000     60  38  9000
+   56  57  3000     24  06  9000
+     5  8  6000    119  28  9000
+   59  21  3000      18  4  9000
+   59  56  3000     10  44  9000
+   59  56  3000     30  16  9000
+   60  10  3000     24  57  9000
+   60  24  3000      5  19  9000
+   61  11  3000     45  25  12000
+    6  11  6000    106  50  9000
+    6  13  3000     75  36  12000
+    6  18  3000     10  48  12000
+    6  27  3000      3  24  9000
+   64  33  3000     40  32  9000
+    64  8  3000     21  56  9000
+    6  50  3000     58  12  12000
+    6  50  6000     39  18  9000
+    6  54  3000     79  52  9000
+    7  13  6000    112  43  9000
+    8  30  3000     13  15  12000
+     8  4  6000     34  53  12000
+    8  58  3000     79  33  12000
+    90  2  3000     38  45  9000
+    9  29  6000     147  9  9000

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/longlatdepth2xyz.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/longlatdepth2xyz.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/longlatdepth2xyz.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,81 @@
+!=====================================================================
+!
+!          S p e c f e m 3 D  G l o b e  V e r s i o n  5 . 1
+!          --------------------------------------------------
+!
+!          Main authors: Dimitri Komatitsch and Jeroen Tromp
+!                        Princeton University, USA
+!             and University of Pau / CNRS / INRIA, France
+! (c) Princeton University / California Institute of Technology and University of Pau / CNRS / INRIA
+!                            August 2008
+!
+! This program is free software; you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation; either version 2 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License along
+! with this program; if not, write to the Free Software Foundation, Inc.,
+! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+!
+!=====================================================================
+
+!----
+!----  converts lat long depth to x y z
+!----
+
+  program convert
+
+  implicit none
+
+! R_EARTH is the radius of the 1-D Earth
+  double precision, parameter :: R_EARTH = 6371000.d0
+
+! some useful constants
+  double precision, parameter :: PI = 3.141592653589793d0
+
+  double precision theta,phi,latitude,longitude,depth,r0
+  double precision x_target,y_target,z_target,r_target
+
+! **************
+
+! latitude and longitude in degrees
+! depth of hypocenter in kilometers
+  latitude = -16.0800
+  longitude = 168.3100
+  depth = 15.0000
+
+! convert geographic latitude latitude (degrees)
+! to geocentric colatitude theta (radians)
+  theta=PI/2.0d0-atan(0.99329534d0*dtan(latitude*PI/180.0d0))
+  phi=longitude*PI/180.0d0
+
+! normalized Earth radius
+  r0 = 1.d0
+
+! compute the Cartesian position of the source
+  r_target = r0 - depth*1000.0d0/R_EARTH
+  x_target = r_target*dsin(theta)*dcos(phi)
+  y_target = r_target*dsin(theta)*dsin(phi)
+  z_target = r_target*dcos(theta)
+
+! print result
+  print *
+  print *,'long = ',longitude
+  print *,'lat = ',latitude
+  print *,'depth (km) = ',depth
+  print *
+  print *,'x = ',x_target
+  print *,'y = ',y_target
+  print *,'z = ',z_target
+  print *
+  print *,'radius = ',sqrt(x_target**2 + y_target**2 + z_target**2)
+  print *
+
+  end program convert
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/min_max_topo_palette.txt
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/min_max_topo_palette.txt	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/min_max_topo_palette.txt	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,4 @@
+
+Max in topo file (to enforce in color palette): +5606
+Min in topo file (to enforce in color palette): -8180
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/movie_network_DX_basic.cfg
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/movie_network_DX_basic.cfg	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/movie_network_DX_basic.cfg	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,36 @@
+//
+// time: Tue Oct  7 22:18:59 2008
+//
+// version: 3.2.0 (format), 4.4.4 (DX)
+//
+//
+// node Sequencer[1]:
+// vcr[1]: min = 1, max = 50, beg = 1, end = 50, cur = 1, inc = 1, loop = off, step = off, pal = off
+// window: position = (0.0052,0.0250), size = 0.1458x0.0667, screen = 0
+// startup = 1
+//
+// node Image[2]:
+// depth: value = 24
+// window: position = (0.5740,0.1533), size = 0.4229x0.5900, screen = 0
+// input[1]: defaulting = 0, value = "Image_2"
+// input[4]: defaulting = 0, value = 1
+// input[5]: defaulting = 0, value = [-1242.9 147.285 -57.7637]
+// input[6]: defaulting = 0, value = [1643.88 -31801.8 80621.4]
+// input[7]: defaulting = 0, value = 46528.4
+// input[8]: defaulting = 0, value = 798
+// input[9]: defaulting = 0, value = 0.836
+// input[10]: defaulting = 0, value = [0.0132238 0.929834 0.367742]
+// input[11]: defaulting = 1, value = 30.0001
+// input[12]: defaulting = 0, value = 0
+// input[14]: defaulting = 0, value = 1
+// input[15]: defaulting = 1, value = "none"
+// input[16]: defaulting = 1, value = "none"
+// input[17]: defaulting = 1, value = 1
+// input[18]: defaulting = 1, value = 1
+// input[19]: defaulting = 0, value = 0
+// input[22]: defaulting = 0, value = "black"
+// input[25]: defaulting = 0, value = "/home/komatits/imagedx-1073744456"
+// input[26]: defaulting = 0, value = "tiff"
+// input[29]: defaulting = 1, value = 0
+// input[41]: defaulting = 0, value = "rotate"
+// internal caching: 1

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/movie_network_DX_basic.net
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/movie_network_DX_basic.net	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/movie_network_DX_basic.net	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,612 @@
+//
+// time: Tue Oct  7 22:18:59 2008
+//
+// version: 3.2.0 (format), 4.4.4 (DX)
+//
+//
+// MODULE main
+// workspace: width = 605, height = 633
+// layout: snap = 0, width = 50, height = 50, align = NN
+//
+macro main(
+) -> (
+) {
+    // 
+    // node AmbientLight[1]: x = 361, y = 354, inputs = 1, label = AmbientLight
+    //
+main_AmbientLight_1_out_1 = 
+    AmbientLight(
+    main_AmbientLight_1_in_1
+    ) [instance: 1, cache: 1];
+    // 
+    // node Sequencer[1]: x = 144, y = 12, inputs = 7, label = Sequencer
+    // input[1]: defaulting = 0, visible = 0, type = 32, value = "Sequencer_1"
+    // input[4]: defaulting = 1, visible = 1, type = 1, value = 1
+    // input[5]: defaulting = 1, visible = 1, type = 1, value = 50
+    // input[6]: defaulting = 1, visible = 0, type = 1, value = 1
+    // input[7]: defaulting = 0, visible = 0, type = 16777217, value = { 1 50 1 1 50 1 }
+    // vcr[1]: min = 1, max = 50, beg = 1, end = 50, cur = 1, inc = 1, loop = off, step = off, pal = off
+    // window: position = (0.0052,0.0250), size = 0.1458x0.0667, screen = 0
+    //
+    main_Sequencer_1_out_1 = @frame;
+    // 
+    // node Format[1]: x = 108, y = 118, inputs = 3, label = Format
+    // input[1]: defaulting = 0, visible = 1, type = 32, value = "DX_movie_000%3.3d.dx"
+    //
+main_Format_1_out_1 = 
+    Format(
+    main_Format_1_in_1,
+    main_Sequencer_1_out_1,
+    main_Format_1_in_3
+    ) [instance: 1, cache: 1];
+    // 
+    // node Import[2]: x = 97, y = 199, inputs = 6, label = Import
+    // input[1]: defaulting = 1, visible = 1, type = 32, value = "DX_movie_006600.dx"
+    // input[3]: defaulting = 0, visible = 1, type = 32, value = "dx"
+    //
+main_Import_2_out_1 = 
+    Import(
+    main_Format_1_out_1,
+    main_Import_2_in_2,
+    main_Import_2_in_3,
+    main_Import_2_in_4,
+    main_Import_2_in_5,
+    main_Import_2_in_6
+    ) [instance: 2, cache: 1];
+    // 
+    // node AutoColor[1]: x = 38, y = 333, inputs = 10, label = AutoColor
+    //
+main_AutoColor_1_out_1,
+main_AutoColor_1_out_2 = 
+    AutoColor(
+    main_Import_2_out_1,
+    main_AutoColor_1_in_2,
+    main_AutoColor_1_in_3,
+    main_AutoColor_1_in_4,
+    main_AutoColor_1_in_5,
+    main_AutoColor_1_in_6,
+    main_AutoColor_1_in_7,
+    main_AutoColor_1_in_8,
+    main_AutoColor_1_in_9,
+    main_AutoColor_1_in_10
+    ) [instance: 1, cache: 1];
+    // 
+    // node ShowConnections[1]: x = 167, y = 331, inputs = 1, label = ShowConnections
+    //
+main_ShowConnections_1_out_1 = 
+    ShowConnections(
+    main_Import_2_out_1
+    ) [instance: 1, cache: 1];
+    // 
+    // node Collect[1]: x = 141, y = 482, inputs = 4, label = Collect
+    //
+main_Collect_1_out_1 = 
+    Collect(
+    main_AutoColor_1_out_1,
+    main_ShowConnections_1_out_1,
+    main_AmbientLight_1_out_1,
+    main_Collect_1_in_4
+    ) [instance: 1, cache: 1];
+    // 
+    // node Format[2]: x = 533, y = 464, inputs = 3, label = Format
+    // input[1]: defaulting = 0, visible = 1, type = 32, value = "imagemovie%3.3d"
+    //
+main_Format_2_out_1 = 
+    Format(
+    main_Format_2_in_1,
+    main_Sequencer_1_out_1,
+    main_Format_2_in_3
+    ) [instance: 2, cache: 1];
+    // 
+    // node Image[2]: x = 211, y = 557, inputs = 49, label = Image
+    // input[1]: defaulting = 0, visible = 0, type = 67108863, value = "Image_2"
+    // input[4]: defaulting = 0, visible = 0, type = 1, value = 1
+    // input[5]: defaulting = 0, visible = 0, type = 8, value = [-1242.9 147.285 -57.7637]
+    // input[6]: defaulting = 0, visible = 0, type = 8, value = [1643.88 -31801.8 80621.4]
+    // input[7]: defaulting = 0, visible = 0, type = 5, value = 46528.4
+    // input[8]: defaulting = 0, visible = 0, type = 1, value = 798
+    // input[9]: defaulting = 0, visible = 0, type = 5, value = 0.836
+    // input[10]: defaulting = 0, visible = 0, type = 8, value = [0.0132238 0.929834 0.367742]
+    // input[11]: defaulting = 1, visible = 0, type = 5, value = 30.0001
+    // input[12]: defaulting = 0, visible = 0, type = 1, value = 0
+    // input[14]: defaulting = 0, visible = 0, type = 1, value = 1
+    // input[15]: defaulting = 1, visible = 0, type = 32, value = "none"
+    // input[16]: defaulting = 1, visible = 0, type = 32, value = "none"
+    // input[17]: defaulting = 1, visible = 0, type = 1, value = 1
+    // input[18]: defaulting = 1, visible = 0, type = 1, value = 1
+    // input[19]: defaulting = 0, visible = 0, type = 1, value = 0
+    // input[22]: defaulting = 0, visible = 0, type = 32, value = "black"
+    // input[25]: defaulting = 0, visible = 0, type = 32, value = "/home/komatits/imagedx-1073744456"
+    // input[26]: defaulting = 0, visible = 0, type = 32, value = "tiff"
+    // input[29]: defaulting = 1, visible = 0, type = 3, value = 0
+    // input[41]: defaulting = 0, visible = 0, type = 32, value = "rotate"
+    // depth: value = 24
+    // window: position = (0.5740,0.1533), size = 0.4229x0.5900, screen = 0
+    // internal caching: 1
+    //
+main_Image_2_out_1,
+main_Image_2_out_2,
+main_Image_2_out_3 = 
+    Image(
+    main_Image_2_in_1,
+    main_Collect_1_out_1,
+    main_Image_2_in_3,
+    main_Image_2_in_4,
+    main_Image_2_in_5,
+    main_Image_2_in_6,
+    main_Image_2_in_7,
+    main_Image_2_in_8,
+    main_Image_2_in_9,
+    main_Image_2_in_10,
+    main_Image_2_in_11,
+    main_Image_2_in_12,
+    main_Image_2_in_13,
+    main_Image_2_in_14,
+    main_Image_2_in_15,
+    main_Image_2_in_16,
+    main_Image_2_in_17,
+    main_Image_2_in_18,
+    main_Image_2_in_19,
+    main_Image_2_in_20,
+    main_Image_2_in_21,
+    main_Image_2_in_22,
+    main_Image_2_in_23,
+    main_Image_2_in_24,
+    main_Image_2_in_25,
+    main_Image_2_in_26,
+    main_Image_2_in_27,
+    main_Image_2_in_28,
+    main_Image_2_in_29,
+    main_Image_2_in_30,
+    main_Image_2_in_31,
+    main_Image_2_in_32,
+    main_Image_2_in_33,
+    main_Image_2_in_34,
+    main_Image_2_in_35,
+    main_Image_2_in_36,
+    main_Image_2_in_37,
+    main_Image_2_in_38,
+    main_Image_2_in_39,
+    main_Image_2_in_40,
+    main_Image_2_in_41,
+    main_Image_2_in_42,
+    main_Image_2_in_43,
+    main_Image_2_in_44,
+    main_Image_2_in_45,
+    main_Image_2_in_46,
+    main_Image_2_in_47,
+    main_Image_2_in_48,
+    main_Image_2_in_49
+    ) [instance: 2, cache: 1];
+    // 
+    // node Render[1]: x = 351, y = 536, inputs = 3, label = Render
+    //
+main_Render_1_out_1 = 
+    Render(
+    main_Collect_1_out_1,
+    main_Image_2_out_2,
+    main_Render_1_in_3
+    ) [instance: 1, cache: 1];
+    // 
+    // node WriteImage[1]: x = 491, y = 571, inputs = 4, label = WriteImage
+    // input[2]: defaulting = 0, visible = 1, type = 32, value = "movie_asteroide.miff"
+    // input[3]: defaulting = 0, visible = 1, type = 32, value = "miff"
+    //
+    WriteImage(
+    main_Render_1_out_1,
+    main_WriteImage_1_in_2,
+    main_WriteImage_1_in_3,
+    main_WriteImage_1_in_4
+    ) [instance: 1, cache: 1];
+// network: end of macro body
+CacheScene(main_Image_2_in_1, main_Image_2_out_1, main_Image_2_out_2);
+}
+main_AmbientLight_1_in_1 = NULL;
+main_AmbientLight_1_out_1 = NULL;
+main_Sequencer_1_in_1 = "Sequencer_1";
+main_Sequencer_1_in_2 = NULL;
+main_Sequencer_1_in_3 = NULL;
+main_Sequencer_1_in_4 = NULL;
+main_Sequencer_1_in_5 = NULL;
+main_Sequencer_1_in_6 = NULL;
+main_Sequencer_1_in_7 = { 1 50 1 1 50 1 };
+main_Sequencer_1_out_1 = NULL;
+
+ at startframe = 1;
+ at nextframe  = @startframe;
+ at endframe   = 50;
+ at deltaframe = 1;
+main_Format_1_in_1 = "DX_movie_000%3.3d.dx";
+main_Format_1_in_3 = NULL;
+main_Format_1_out_1 = NULL;
+main_Import_2_in_2 = NULL;
+main_Import_2_in_3 = "dx";
+main_Import_2_in_4 = NULL;
+main_Import_2_in_5 = NULL;
+main_Import_2_in_6 = NULL;
+main_Import_2_out_1 = NULL;
+main_AutoColor_1_in_2 = NULL;
+main_AutoColor_1_in_3 = NULL;
+main_AutoColor_1_in_4 = NULL;
+main_AutoColor_1_in_5 = NULL;
+main_AutoColor_1_in_6 = NULL;
+main_AutoColor_1_in_7 = NULL;
+main_AutoColor_1_in_8 = NULL;
+main_AutoColor_1_in_9 = NULL;
+main_AutoColor_1_in_10 = NULL;
+main_AutoColor_1_out_1 = NULL;
+main_ShowConnections_1_out_1 = NULL;
+main_Collect_1_in_4 = NULL;
+main_Collect_1_out_1 = NULL;
+main_Format_2_in_1 = "imagemovie%3.3d";
+main_Format_2_in_3 = NULL;
+macro Image(
+        id,
+        object,
+        where,
+        useVector,
+        to,
+        from,
+        width,
+        resolution,
+        aspect,
+        up,
+        viewAngle,
+        perspective,
+        options,
+        buttonState = 1,
+        buttonUpApprox = "none",
+        buttonDownApprox = "none",
+        buttonUpDensity = 1,
+        buttonDownDensity = 1,
+        renderMode = 0,
+        defaultCamera,
+        reset,
+        backgroundColor,
+        throttle,
+        RECenable = 0,
+        RECfile,
+        RECformat,
+        RECresolution,
+        RECaspect,
+        AAenable = 0,
+        AAlabels,
+        AAticks,
+        AAcorners,
+        AAframe,
+        AAadjust,
+        AAcursor,
+        AAgrid,
+        AAcolors,
+        AAannotation,
+        AAlabelscale,
+        AAfont,
+        interactionMode,
+        title,
+        AAxTickLocs,
+        AAyTickLocs,
+        AAzTickLocs,
+        AAxTickLabels,
+        AAyTickLabels,
+        AAzTickLabels,
+        webOptions) -> (
+        object,
+        camera,
+        where)
+{
+    ImageMessage(
+        id,
+        backgroundColor,
+        throttle,
+        RECenable,
+        RECfile,
+        RECformat,
+        RECresolution,
+        RECaspect,
+        AAenable,
+        AAlabels,
+        AAticks,
+        AAcorners,
+        AAframe,
+        AAadjust,
+        AAcursor,
+        AAgrid,
+        AAcolors,
+        AAannotation,
+        AAlabelscale,
+        AAfont,
+        AAxTickLocs,
+        AAyTickLocs,
+        AAzTickLocs,
+        AAxTickLabels,
+        AAyTickLabels,
+        AAzTickLabels,
+        interactionMode,
+        title,
+        renderMode,
+        buttonUpApprox,
+        buttonDownApprox,
+        buttonUpDensity,
+        buttonDownDensity) [instance: 1, cache: 1];
+    autoCamera =
+        AutoCamera(
+            object,
+            "front",
+            object,
+            resolution,
+            aspect,
+            [0,1,0],
+            perspective,
+            viewAngle,
+            backgroundColor) [instance: 1, cache: 1];
+    realCamera =
+        Camera(
+            to,
+            from,
+            width,
+            resolution,
+            aspect,
+            up,
+            perspective,
+            viewAngle,
+            backgroundColor) [instance: 1, cache: 1];
+    coloredDefaultCamera = 
+	 UpdateCamera(defaultCamera,
+            background=backgroundColor) [instance: 1, cache: 1];
+    nullDefaultCamera =
+        Inquire(defaultCamera,
+            "is null + 1") [instance: 1, cache: 1];
+    resetCamera =
+        Switch(
+            nullDefaultCamera,
+            coloredDefaultCamera,
+            autoCamera) [instance: 1, cache: 1];
+    resetNull = 
+        Inquire(
+            reset,
+            "is null + 1") [instance: 2, cache: 1];
+    reset =
+        Switch(
+            resetNull,
+            reset,
+            0) [instance: 2, cache: 1];
+    whichCamera =
+        Compute(
+            "($0 != 0 || $1 == 0) ? 1 : 2",
+            reset,
+            useVector) [instance: 1, cache: 1];
+    camera = Switch(
+            whichCamera,
+            resetCamera,
+            realCamera) [instance: 3, cache: 1];
+    AAobject =
+        AutoAxes(
+            object,
+            camera,
+            AAlabels,
+            AAticks,
+            AAcorners,
+            AAframe,
+            AAadjust,
+            AAcursor,
+            AAgrid,
+            AAcolors,
+            AAannotation,
+            AAlabelscale,
+            AAfont,
+            AAxTickLocs,
+            AAyTickLocs,
+            AAzTickLocs,
+            AAxTickLabels,
+            AAyTickLabels,
+            AAzTickLabels) [instance: 1, cache: 1];
+    switchAAenable = Compute("$0+1",
+	     AAenable) [instance: 2, cache: 1];
+    object = Switch(
+	     switchAAenable,
+	     object,
+	     AAobject) [instance:4, cache: 1];
+    SWapproximation_options =
+        Switch(
+            buttonState,
+            buttonUpApprox,
+            buttonDownApprox) [instance: 5, cache: 1];
+    SWdensity_options =
+        Switch(
+            buttonState,
+            buttonUpDensity,
+            buttonDownDensity) [instance: 6, cache: 1];
+    HWapproximation_options =
+        Format(
+            "%s,%s",
+            buttonDownApprox,
+            buttonUpApprox) [instance: 1, cache: 1];
+    HWdensity_options =
+        Format(
+            "%d,%d",
+            buttonDownDensity,
+            buttonUpDensity) [instance: 2, cache: 1];
+    switchRenderMode = Compute(
+	     "$0+1",
+	     renderMode) [instance: 3, cache: 1];
+    approximation_options = Switch(
+	     switchRenderMode,
+            SWapproximation_options,
+	     HWapproximation_options) [instance: 7, cache: 1];
+    density_options = Switch(
+	     switchRenderMode,
+            SWdensity_options,
+            HWdensity_options) [instance: 8, cache: 1];
+    renderModeString = Switch(
+            switchRenderMode,
+            "software",
+            "hardware")[instance: 9, cache: 1];
+    object_tag = Inquire(
+            object,
+            "object tag")[instance: 3, cache: 1];
+    annoted_object =
+        Options(
+            object,
+            "send boxes",
+            0,
+            "cache",
+            1,
+            "object tag",
+            object_tag,
+            "ddcamera",
+            whichCamera,
+            "rendering approximation",
+            approximation_options,
+            "render every",
+            density_options,
+            "button state",
+            buttonState,
+            "rendering mode",
+            renderModeString) [instance: 1, cache: 1];
+    RECresNull =
+        Inquire(
+            RECresolution,
+            "is null + 1") [instance: 4, cache: 1];
+    ImageResolution =
+        Inquire(
+            camera,
+            "camera resolution") [instance: 5, cache: 1];
+    RECresolution =
+        Switch(
+            RECresNull,
+            RECresolution,
+            ImageResolution) [instance: 10, cache: 1];
+    RECaspectNull =
+        Inquire(
+            RECaspect,
+            "is null + 1") [instance: 6, cache: 1];
+    ImageAspect =
+        Inquire(
+            camera,
+            "camera aspect") [instance: 7, cache: 1];
+    RECaspect =
+        Switch(
+            RECaspectNull,
+            RECaspect,
+            ImageAspect) [instance: 11, cache: 1];
+    switchRECenable = Compute(
+          "$0 == 0 ? 1 : (($2 == $3) && ($4 == $5)) ? ($1 == 1 ? 2 : 3) : 4",
+            RECenable,
+            switchRenderMode,
+            RECresolution,
+            ImageResolution,
+            RECaspect,
+	     ImageAspect) [instance: 4, cache: 1];
+    NoRECobject, RECNoRerenderObject, RECNoRerHW, RECRerenderObject = Route(switchRECenable, annoted_object);
+    Display(
+        NoRECobject,
+        camera,
+        where,
+        throttle) [instance: 1, cache: 1];
+    image =
+        Render(
+            RECNoRerenderObject,
+            camera) [instance: 1, cache: 1];
+    Display(
+        image,
+        NULL,
+        where,
+        throttle) [instance: 2, cache: 1];
+    WriteImage(
+        image,
+        RECfile,
+        RECformat) [instance: 1, cache: 1];
+    rec_where = Display(
+        RECNoRerHW,
+        camera,
+        where,
+        throttle) [instance: 1, cache: 0];
+    rec_image = ReadImageWindow(
+        rec_where) [instance: 1, cache: 1];
+    WriteImage(
+        rec_image,
+        RECfile,
+        RECformat) [instance: 1, cache: 1];
+    RECupdateCamera =
+	UpdateCamera(
+	    camera,
+	    resolution=RECresolution,
+	    aspect=RECaspect) [instance: 2, cache: 1];
+    Display(
+        RECRerenderObject,
+        camera,
+        where,
+        throttle) [instance: 1, cache: 1];
+    RECRerenderObject =
+	ScaleScreen(
+	    RECRerenderObject,
+	    NULL,
+	    RECresolution,
+	    camera) [instance: 1, cache: 1];
+    image =
+        Render(
+            RECRerenderObject,
+            RECupdateCamera) [instance: 2, cache: 1];
+    WriteImage(
+        image,
+        RECfile,
+        RECformat) [instance: 2, cache: 1];
+}
+main_Image_2_in_1 = "Image_2";
+main_Image_2_in_3 = "X24,,";
+main_Image_2_in_4 = 1;
+main_Image_2_in_5 = [-1242.9 147.285 -57.7637];
+main_Image_2_in_6 = [1643.88 -31801.8 80621.4];
+main_Image_2_in_7 = 46528.4;
+main_Image_2_in_8 = 798;
+main_Image_2_in_9 = 0.836;
+main_Image_2_in_10 = [0.0132238 0.929834 0.367742];
+main_Image_2_in_11 = NULL;
+main_Image_2_in_12 = 0;
+main_Image_2_in_13 = NULL;
+main_Image_2_in_14 = 1;
+main_Image_2_in_15 = NULL;
+main_Image_2_in_16 = NULL;
+main_Image_2_in_17 = NULL;
+main_Image_2_in_18 = NULL;
+main_Image_2_in_19 = 0;
+main_Image_2_in_20 = NULL;
+main_Image_2_in_21 = NULL;
+main_Image_2_in_22 = "black";
+main_Image_2_in_23 = NULL;
+main_Image_2_in_25 = "/home/komatits/imagedx-1073744456";
+main_Image_2_in_26 = "tiff";
+main_Image_2_in_27 = NULL;
+main_Image_2_in_28 = NULL;
+main_Image_2_in_29 = NULL;
+main_Image_2_in_30 = NULL;
+main_Image_2_in_31 = NULL;
+main_Image_2_in_32 = NULL;
+main_Image_2_in_33 = NULL;
+main_Image_2_in_34 = NULL;
+main_Image_2_in_35 = NULL;
+main_Image_2_in_36 = NULL;
+main_Image_2_in_37 = NULL;
+main_Image_2_in_38 = NULL;
+main_Image_2_in_39 = NULL;
+main_Image_2_in_40 = NULL;
+main_Image_2_in_41 = "rotate";
+main_Image_2_in_42 = NULL;
+main_Image_2_in_43 = NULL;
+main_Image_2_in_44 = NULL;
+main_Image_2_in_45 = NULL;
+main_Image_2_in_46 = NULL;
+main_Image_2_in_47 = NULL;
+main_Image_2_in_48 = NULL;
+main_Image_2_in_49 = NULL;
+main_Image_2_out_2 = NULL;
+main_Render_1_in_3 = NULL;
+main_Render_1_out_1 = NULL;
+main_WriteImage_1_in_2 = "movie_asteroide.miff";
+main_WriteImage_1_in_3 = "miff";
+main_WriteImage_1_in_4 = NULL;
+Executive("product version 4 4 4");
+$sync
+
+sequence main();
+play;

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/movie_network_DX_rotating_Earth.cfg
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/movie_network_DX_rotating_Earth.cfg	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/movie_network_DX_rotating_Earth.cfg	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,133 @@
+//
+// time: Fri Oct 24 00:36:04 2008
+//
+// version: 3.2.0 (format), 4.4.4 (DX)
+//
+//
+// panel[0]: position = (0.0750,0.6983), size = 0.2781x0.1608, startup = 1, devstyle = 1, screen = 0
+// title: value = Control Panel
+//
+// workspace: width = 500, height = 500
+// layout: snap = 0, width = 50, height = 50, align = NN
+//
+// panel[2]: position = (0.3609,0.6983), size = 0.2776x0.1608, startup = 1, devstyle = 1, screen = 0
+// title: value = Control Panel
+//
+// workspace: width = 500, height = 500
+// layout: snap = 0, width = 50, height = 50, align = NN
+//
+// panel[3]: position = (0.0052,0.0250), size = 0.1953x0.3750, startup = 1, devstyle = 1, screen = 0
+// title: value = Control Panel
+//
+// workspace: width = 500, height = 500
+// layout: snap = 0, width = 50, height = 50, align = NN
+//
+// panel[4]: position = (0.0052,0.0250), size = 0.1953x0.3750, startup = 1, devstyle = 1, screen = 0
+// title: value = Control Panel
+//
+// workspace: width = 500, height = 500
+// layout: snap = 0, width = 50, height = 50, align = NN
+//
+// panel[5]: position = (0.0063,0.0283), size = 0.2234x0.4283, startup = 1, devstyle = 1, screen = 0
+// title: value = Control Panel
+//
+// workspace: width = 500, height = 500
+// layout: snap = 0, width = 50, height = 50, align = NN
+//
+// panel[6]: position = (0.0052,0.0250), size = 0.1953x0.3750, startup = 1, devstyle = 1, screen = 0
+// title: value = Control Panel
+//
+// workspace: width = 500, height = 500
+// layout: snap = 0, width = 50, height = 50, align = NN
+//
+// node Sequencer[2]:
+// vcr[2]: min = 2675, max = 4000, beg = 2675, end = 4000, cur = 2675, inc = 5, loop = off, step = off, pal = off
+// window: position = (0.0167,0.0142), size = 0.1458x0.0667, screen = 0
+// startup = 1
+//
+// node Colormap[1]:
+// input[1]: defaulting = 0, value = { [0.037383178 0.98947368] [1.0 1.0] }
+// input[2]: defaulting = 0, value = { [0.0 0.73684211] [0.97196262 0.72631579] }
+// input[3]: defaulting = 0, value = { [0.0 1.0] [0.98130841 1.0] }
+// input[4]: defaulting = 0, value = { [0.0 1.0] [1.0 1.0] }
+// input[5]: defaulting = 0, value = "Colormap_1"
+// input[7]: defaulting = 1, value = 1.0
+// input[8]: defaulting = 1, value = 1.0
+// input[9]: defaulting = 1, value = 20
+// input[12]: defaulting = 0, value = { 1.0 1.0 }
+// input[17]: defaulting = 0, value = 1.0
+// input[18]: defaulting = 0, value = 1.0
+// window: position = (0.0052,0.0250), size = 0.3385x0.3750, screen = 0
+//
+// interactor Scalar[1]: num_components = 1, value = 0.012 
+// component[0]: minimum = -1e+06, maximum = 1e+06, global increment = 1, decimal = 5, global continuous = 0
+// instance: panel = 3, x = 5, y = 5, style = Stepper, vertical = 1, size = 148x55
+// local continuous: value = 0, mode = global
+// local increment[0]: value = 1, mode = global
+//
+// interactor Scalar[2]: num_components = 1, value = 0.016 
+// component[0]: minimum = -1e+06, maximum = 1e+06, global increment = 1, decimal = 5, global continuous = 0
+// instance: panel = 5, x = 5, y = 5, style = Stepper, vertical = 1, size = 148x55
+// local continuous: value = 0, mode = global
+// local increment[0]: value = 1, mode = global
+//
+// node Colormap[5]:
+// input[1]: defaulting = 0, value = {[0 0.76666671 ] [0.071086608 0.75 ] [0.08559408 0.73076928 ] [0.1073553 0.70833331 ] [0.1363702 0.68181819 ] [0.15813141 0.65151513 ] [0.17263889 0.625 ] [0.1944001 0.6025641 ] [0.2306688 0.58333331 ] [0.26693749 0.56666672 ] [0.30320609 0.56652051 ] [0.3394748 0.56633502 ] [0.37574351 0.5660919 ] [0.41201219 0.5657596 ] [0.4482809 0.56473827 ] [0.48454961 0.56382978 ] [0.52081817 0.56218898 ] [0.55708688 0.55833328 ] [0.57884812 0.53571433 ] [0.5789932 0.53571433 ] [0.59328312 0.53571433 ] [0.5933556 0.25 ] [0.59342808 0.25 ] [0.60046422 0.3888889 ] [0.6006093 0.3888889 ] [0.60786313 0.25 ] [0.62962419 0.083333336 ] [0.66589302 0.1022013 ] [0.70216161 0.1126761 ] [0.73843032 0.1189139 ] [0.77469897 0.149635 ] [0.81096762 0.1426858 ] [0.84723628 0.13403261 ] [0.88350499 0.1255708 ] [0.9197737 0.1185682 ] [0.95604229 0.1111111 ] [0.99231112 0 ] [1 0 ] }
+// input[2]: defaulting = 0, value = {[0 1 ] [0.071086608 0.93333328 ] [0.08559408 0.86666667 ] [0.1073553 0.80000001 ] [0.1363702 0.73333329 ] [0.15813141 0.73333329 ] [0.17263889 0.80000001 ] [0.1944001 0.86666667 ] [0.2306688 0.93333328 ] [0.26693749 1 ] [0.30320609 0.89411771 ] [0.3394748 0.78823531 ] [0.37574351 0.6823529 ] [0.41201219 0.57647061 ] [0.4482809 0.47450981 ] [0.48454961 0.3686274 ] [0.52081817 0.26274511 ] [0.55708688 0.15686271 ] [0.57884812 0.054901958 ] [0.5789932 0.054901958 ] [0.59328312 0.054901958 ] [0.5933556 1 ] [0.59342808 1 ] [0.60046422 0.75 ] [0.6006093 0.75 ] [0.60786313 0.35964909 ] [0.62962419 0.27450979 ] [0.66589302 0.436214 ] [0.70216161 0.61739129 ] [0.73843032 0.8202765 ] [0.77469897 0.81547618 ] [0.81096762 0.847561 ] [0.84723628 0.88271612 ] [0.88350499 0.918239 ] [0.9197737 0.95512819 ] [0.95604229 1 ] [0.99231112 0.45061731 ] [1 0.33707869 ] }
+// input[3]: defaulting = 0, value = {[0 1 ] [0.071086608 1 ] [0.08559408 1 ] [0.1073553 1 ] [0.1363702 1 ] [0.15813141 1 ] [0.17263889 1 ] [0.1944001 1 ] [0.2306688 1 ] [0.26693749 1 ] [0.30320609 1 ] [0.3394748 1 ] [0.37574351 1 ] [0.41201219 1 ] [0.4482809 1 ] [0.48454961 1 ] [0.52081817 1 ] [0.55708688 1 ] [0.57884812 1 ] [0.5789932 1 ] [0.59328312 1 ] [0.5933556 0.40000001 ] [0.59342808 0.40000001 ] [0.60046422 0.80000001 ] [0.6006093 0.80000001 ] [0.60786313 0.89411771 ] [0.62962419 1 ] [0.66589302 0.95294118 ] [0.70216161 0.90196079 ] [0.73843032 0.8509804 ] [0.77469897 0.65882349 ] [0.81096762 0.64313728 ] [0.84723628 0.63529408 ] [0.88350499 0.62352937 ] [0.9197737 0.61176473 ] [0.95604229 0.60000002 ] [0.99231112 0.63529408 ] [1 0.69803917 ] }
+// input[4]: defaulting = 0, value = {[0 1 ] [1 1 ] }
+// input[5]: defaulting = 0, value = "Colormap_5"
+// input[7]: defaulting = 0, value = -8180.0
+// input[8]: defaulting = 0, value = 5606.0
+// input[9]: defaulting = 1, value = 20
+// input[12]: defaulting = 0, value = { -8180.0 5606.0 }
+// input[13]: defaulting = 0, value = {[0 0.76666671 ] [0.071086608 0.75 ] [0.08559408 0.73076928 ] [0.1073553 0.70833331 ] [0.1363702 0.68181819 ] [0.15813141 0.65151513 ] [0.17263889 0.625 ] [0.1944001 0.6025641 ] [0.2306688 0.58333331 ] [0.26693749 0.56666672 ] [0.30320609 0.56652051 ] [0.3394748 0.56633502 ] [0.37574351 0.5660919 ] [0.41201219 0.5657596 ] [0.4482809 0.56473827 ] [0.48454961 0.56382978 ] [0.52081817 0.56218898 ] [0.55708688 0.55833328 ] [0.57884812 0.53571433 ] [0.5789932 0.53571433 ] [0.59328312 0.53571433 ] [0.5933556 0.25 ] [0.59342808 0.25 ] [0.60046422 0.3888889 ] [0.6006093 0.3888889 ] [0.60786313 0.25 ] [0.62962419 0.083333336 ] [0.66589302 0.1022013 ] [0.70216161 0.1126761 ] [0.73843032 0.1189139 ] [0.77469897 0.149635 ] [0.81096762 0.1426858 ] [0.84723628 0.13403261 ] [0.88350499 0.1255708 ] [0.9197737 0.1185682 ] [0.95604229 0.1111111 ] [0.99231112 0 ] [1 0 ] }
+// input[14]: defaulting = 0, value = {[0 1 ] [0.071086608 0.93333328 ] [0.08559408 0.86666667 ] [0.1073553 0.80000001 ] [0.1363702 0.73333329 ] [0.15813141 0.73333329 ] [0.17263889 0.80000001 ] [0.1944001 0.86666667 ] [0.2306688 0.93333328 ] [0.26693749 1 ] [0.30320609 0.89411771 ] [0.3394748 0.78823531 ] [0.37574351 0.6823529 ] [0.41201219 0.57647061 ] [0.4482809 0.47450981 ] [0.48454961 0.3686274 ] [0.52081817 0.26274511 ] [0.55708688 0.15686271 ] [0.57884812 0.054901958 ] [0.5789932 0.054901958 ] [0.59328312 0.054901958 ] [0.5933556 1 ] [0.59342808 1 ] [0.60046422 0.75 ] [0.6006093 0.75 ] [0.60786313 0.35964909 ] [0.62962419 0.27450979 ] [0.66589302 0.436214 ] [0.70216161 0.61739129 ] [0.73843032 0.8202765 ] [0.77469897 0.81547618 ] [0.81096762 0.847561 ] [0.84723628 0.88271612 ] [0.88350499 0.918239 ] [0.9197737 0.95512819 ] [0.95604229 1 ] [0.99231112 0.45061731 ] [1 0.33707869 ] }
+// input[15]: defaulting = 0, value = {[0 1 ] [0.071086608 1 ] [0.08559408 1 ] [0.1073553 1 ] [0.1363702 1 ] [0.15813141 1 ] [0.17263889 1 ] [0.1944001 1 ] [0.2306688 1 ] [0.26693749 1 ] [0.30320609 1 ] [0.3394748 1 ] [0.37574351 1 ] [0.41201219 1 ] [0.4482809 1 ] [0.48454961 1 ] [0.52081817 1 ] [0.55708688 1 ] [0.57884812 1 ] [0.5789932 1 ] [0.59328312 1 ] [0.5933556 0.40000001 ] [0.59342808 0.40000001 ] [0.60046422 0.80000001 ] [0.6006093 0.80000001 ] [0.60786313 0.89411771 ] [0.62962419 1 ] [0.66589302 0.95294118 ] [0.70216161 0.90196079 ] [0.73843032 0.8509804 ] [0.77469897 0.65882349 ] [0.81096762 0.64313728 ] [0.84723628 0.63529408 ] [0.88350499 0.62352937 ] [0.9197737 0.61176473 ] [0.95604229 0.60000002 ] [0.99231112 0.63529408 ] [1 0.69803917 ] }
+// input[16]: defaulting = 0, value = {[0 1 ] [1 1 ] }
+// input[17]: defaulting = 0, value = -8180.0
+// input[18]: defaulting = 0, value = 5606.0
+// window: position = (0.0464,0.1200), size = 0.3385x0.3750, screen = 0
+//
+// node Colormap[6]:
+// input[1]: defaulting = 0, value = {[0 0.70731705 ] [0.49450549 0.51219511 ] [0.49450549 1 ] [0.99267399 1 ] }
+// input[2]: defaulting = 0, value = {[0.058608059 1 ] [0.50183147 1 ] [0.51648355 1 ] [1 1 ] }
+// input[3]: defaulting = 0, value = {[0 1 ] [0.49450549 0.5 ] [1 1 ] }
+// input[4]: defaulting = 0, value = {[0 1 ] [1 1 ] }
+// input[5]: defaulting = 0, value = "Colormap_6"
+// input[7]: defaulting = 1, value = -1.0
+// input[8]: defaulting = 1, value = 0.99000001
+// input[9]: defaulting = 1, value = 20
+// input[12]: defaulting = 0, value = { -1.0 0.99000001 }
+// input[13]: defaulting = 0, value = {[0 0.70731705 ] [0.49450549 0.51219511 ] [0.49450549 1 ] [0.99267399 1 ] }
+// input[14]: defaulting = 0, value = {[0.058608059 1 ] [0.50183147 1 ] [0.51648355 1 ] [1 1 ] }
+// input[15]: defaulting = 0, value = {[0 1 ] [0.49450549 0.5 ] [1 1 ] }
+// input[16]: defaulting = 0, value = {[0 1 ] [1 1 ] }
+// input[17]: defaulting = 0, value = -1.0
+// input[18]: defaulting = 0, value = 0.99000001
+// window: position = (0.0063,0.0283), size = 0.3870x0.4283, screen = 0
+//
+// node Image[4]:
+// depth: value = 24
+// window: position = (0.3932,0.3508), size = 0.5786x0.5575, screen = 0
+// input[1]: defaulting = 0, value = "Image_4"
+// input[4]: defaulting = 0, value = 1
+// input[5]: defaulting = 0, value = [-0.0283461 -0.0321944 0.0649886]
+// input[6]: defaulting = 0, value = [-1.8296 8.29494 3.80668]
+// input[7]: defaulting = 1, value = 3.90397
+// input[8]: defaulting = 0, value = 1097
+// input[9]: defaulting = 0, value = 0.572926
+// input[10]: defaulting = 0, value = [-0.0697647 -0.42138 0.904197]
+// input[11]: defaulting = 0, value = 23.6948
+// input[12]: defaulting = 0, value = 1
+// input[14]: defaulting = 0, value = 1
+// input[15]: defaulting = 1, value = "none"
+// input[16]: defaulting = 1, value = "none"
+// input[17]: defaulting = 0, value = 1
+// input[18]: defaulting = 0, value = 1
+// input[19]: defaulting = 0, value = 1
+// input[25]: defaulting = 0, value = "/home/komatits/movies_poster_rapport_CINES/initial_image_earth.tiff"
+// input[26]: defaulting = 0, value = "tiff gamma=1"
+// input[29]: defaulting = 1, value = 0
+// input[41]: defaulting = 0, value = "panzoom"
+// internal caching: 1

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/movie_network_DX_rotating_Earth.net
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/movie_network_DX_rotating_Earth.net	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/movie_network_DX_rotating_Earth.net	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,1306 @@
+//
+// time: Fri Oct 24 00:36:04 2008
+//
+// version: 3.2.0 (format), 4.4.4 (DX)
+//
+//
+// MODULE main
+// workspace: width = 1159, height = 1000
+// layout: snap = 0, width = 50, height = 50, align = NN
+//
+macro main(
+) -> (
+) {
+    // 
+    // node Caption[1]: x = 974, y = 576, inputs = 9, label = Caption
+    // input[1]: defaulting = 0, visible = 1, type = 32, value = "SPECFEM3D / Dimitri Komatitsch et al. - Sichuan earthquake, May 12, 2008"
+    // input[2]: defaulting = 0, visible = 1, type = 8, value = [.5 .98]
+    // input[6]: defaulting = 0, visible = 0, type = 1, value = 25
+    // input[7]: defaulting = 0, visible = 0, type = 32, value = "roman_dser"
+    //
+main_Caption_1_out_1 = 
+    Caption(
+    main_Caption_1_in_1,
+    main_Caption_1_in_2,
+    main_Caption_1_in_3,
+    main_Caption_1_in_4,
+    main_Caption_1_in_5,
+    main_Caption_1_in_6,
+    main_Caption_1_in_7,
+    main_Caption_1_in_8,
+    main_Caption_1_in_9
+    ) [instance: 1, cache: 1];
+    // 
+    // node Sequencer[2]: x = 432, y = 24, inputs = 7, label = Sequencer
+    // input[1]: defaulting = 0, visible = 0, type = 32, value = "Sequencer_2"
+    // input[4]: defaulting = 1, visible = 1, type = 1, value = 2675
+    // input[5]: defaulting = 1, visible = 1, type = 1, value = 4000
+    // input[6]: defaulting = 1, visible = 0, type = 1, value = 5
+    // input[7]: defaulting = 0, visible = 0, type = 16777217, value = { 2675 4000 5 2675 4000 1 }
+    // vcr[2]: min = 2675, max = 4000, beg = 2675, end = 4000, cur = 2675, inc = 5, loop = off, step = off, pal = off
+    // window: position = (0.0167,0.0142), size = 0.1458x0.0667, screen = 0
+    //
+    main_Sequencer_2_out_1 = @frame;
+    // 
+    // node Compute[4]: x = 414, y = 186, inputs = 3, label = Compute
+    // input[1]: defaulting = 0, visible = 0, type = 32, value = "$0*10"
+    // expression: value = a*10
+    // name[2]: value = a
+    // name[3]: value = b
+    //
+main_Compute_4_out_1 = 
+    Compute(
+    main_Compute_4_in_1,
+    main_Sequencer_2_out_1,
+    main_Compute_4_in_3
+    ) [instance: 4, cache: 1];
+    // 
+    // node Compute[5]: x = 680, y = 614, inputs = 3, label = Compute
+    // input[1]: defaulting = 0, visible = 0, type = 32, value = "int(($0-1)*0.001875 - 0.25351533)"
+    // expression: value = int((it-1)*0.001875 - 0.25351533)
+    // name[2]: value = it
+    // name[3]: value = b
+    //
+main_Compute_5_out_1 = 
+    Compute(
+    main_Compute_5_in_1,
+    main_Compute_4_out_1,
+    main_Compute_5_in_3
+    ) [instance: 5, cache: 1];
+    // 
+    // node Compute[2]: x = 807, y = 643, inputs = 3, label = Compute
+    // input[1]: defaulting = 0, visible = 0, type = 32, value = "int( 60*(($0-1)*0.001875 - 0.25351533) - 60*$1)"
+    // expression: value = int( 60*((it-1)*0.001875 - 0.25351533) - 60*minutes)
+    // name[2]: value = it
+    // name[3]: value = minutes
+    //
+main_Compute_2_out_1 = 
+    Compute(
+    main_Compute_2_in_1,
+    main_Compute_4_out_1,
+    main_Compute_5_out_1
+    ) [instance: 2, cache: 1];
+    // 
+    // node Format[3]: x = 806, y = 744, inputs = 3, label = Format
+    // input[1]: defaulting = 0, visible = 1, type = 32, value = "Time = %3d min %2.2d s"
+    //
+main_Format_3_out_1 = 
+    Format(
+    main_Format_3_in_1,
+    main_Compute_5_out_1,
+    main_Compute_2_out_1
+    ) [instance: 3, cache: 1];
+    // 
+    // node Caption[2]: x = 847, y = 830, inputs = 9, label = Caption
+    // input[2]: defaulting = 0, visible = 1, type = 8, value = [.93 .08]
+    // input[6]: defaulting = 0, visible = 0, type = 1, value = 24
+    // input[7]: defaulting = 0, visible = 0, type = 32, value = "area"
+    //
+main_Caption_2_out_1 = 
+    Caption(
+    main_Format_3_out_1,
+    main_Caption_2_in_2,
+    main_Caption_2_in_3,
+    main_Caption_2_in_4,
+    main_Caption_2_in_5,
+    main_Caption_2_in_6,
+    main_Caption_2_in_7,
+    main_Caption_2_in_8,
+    main_Caption_2_in_9
+    ) [instance: 2, cache: 1];
+    // 
+    // node Import[5]: x = 786, y = 2, inputs = 6, label = Import
+    // input[1]: defaulting = 0, visible = 1, type = 32, value = "earth_main_cities.dx"
+    // input[3]: defaulting = 0, visible = 1, type = 32, value = "dx"
+    //
+main_Import_5_out_1 = 
+    Import(
+    main_Import_5_in_1,
+    main_Import_5_in_2,
+    main_Import_5_in_3,
+    main_Import_5_in_4,
+    main_Import_5_in_5,
+    main_Import_5_in_6
+    ) [instance: 5, cache: 1];
+    // 
+    // node Colormap[1]: x = 801, y = 94, inputs = 19, label = Colormap
+    // input[1]: defaulting = 0, visible = 0, type = 16777224, value = { [0.037383178 0.98947368] [1.0 1.0] }
+    // input[2]: defaulting = 0, visible = 0, type = 16777224, value = { [0.0 0.73684211] [0.97196262 0.72631579] }
+    // input[3]: defaulting = 0, visible = 0, type = 16777224, value = { [0.0 1.0] [0.98130841 1.0] }
+    // input[4]: defaulting = 0, visible = 0, type = 16777224, value = { [0.0 1.0] [1.0 1.0] }
+    // input[5]: defaulting = 0, visible = 0, type = 32, value = "Colormap_1"
+    // input[7]: defaulting = 1, visible = 0, type = 5, value = 1.0
+    // input[8]: defaulting = 1, visible = 0, type = 5, value = 1.0
+    // input[9]: defaulting = 1, visible = 0, type = 1, value = 20
+    // input[12]: defaulting = 0, visible = 0, type = 16777221, value = { 1.0 1.0 }
+    // input[17]: defaulting = 0, visible = 0, type = 5, value = 1.0
+    // input[18]: defaulting = 0, visible = 0, type = 5, value = 1.0
+    // window: position = (0.0052,0.0250), size = 0.3385x0.3750, screen = 0
+    //
+main_Colormap_1_out_1[cache: 2],
+main_Colormap_1_out_2[cache: 2] = 
+    Colormap(
+    main_Colormap_1_in_1,
+    main_Colormap_1_in_2,
+    main_Colormap_1_in_3,
+    main_Colormap_1_in_4,
+    main_Colormap_1_in_5,
+    main_Import_5_out_1,
+    main_Colormap_1_in_7,
+    main_Colormap_1_in_8,
+    main_Colormap_1_in_9,
+    main_Colormap_1_in_10,
+    main_Colormap_1_in_11,
+    main_Colormap_1_in_12,
+    main_Colormap_1_in_13,
+    main_Colormap_1_in_14,
+    main_Colormap_1_in_15,
+    main_Colormap_1_in_16,
+    main_Colormap_1_in_17,
+    main_Colormap_1_in_18,
+    main_Colormap_1_in_19
+    ) [instance: 1, cache: 1];
+    // 
+    // node Color[1]: x = 643, y = 166, inputs = 5, label = Color
+    // input[3]: defaulting = 1, visible = 1, type = 5, value = 1.0
+    //
+main_Color_1_out_1 = 
+    Color(
+    main_Import_5_out_1,
+    main_Colormap_1_out_1,
+    main_Color_1_in_3,
+    main_Color_1_in_4,
+    main_Color_1_in_5
+    ) [instance: 1, cache: 1];
+    // 
+    // node ShowPositions[1]: x = 624, y = 309, inputs = 2, label = ShowPositions
+    //
+main_ShowPositions_1_out_1 = 
+    ShowPositions(
+    main_Color_1_out_1,
+    main_ShowPositions_1_in_2
+    ) [instance: 1, cache: 1];
+    // 
+    // node Scalar[1]: x = 771, y = 293, inputs = 11, label = Scalar
+    // input[1]: defaulting = 0, visible = 0, type = 32, value = "Scalar_1"
+    // input[3]: defaulting = 0, visible = 0, type = 5, value = 0.012 
+    // input[5]: defaulting = 1, visible = 0, type = 5, value = -1000000.0
+    // input[6]: defaulting = 1, visible = 0, type = 5, value = 1000000.0
+    // input[7]: defaulting = 1, visible = 0, type = 5, value = 1.0
+    // input[9]: defaulting = 1, visible = 0, type = 1, value = 5
+    // output[1]: visible = 1, type = 5, value = 0.012 
+    //
+    // 
+    // node Glyph[1]: x = 648, y = 429, inputs = 7, label = Glyph
+    //
+main_Glyph_1_out_1 = 
+    Glyph(
+    main_ShowPositions_1_out_1,
+    main_Glyph_1_in_2,
+    main_Glyph_1_in_3,
+    main_Scalar_1_out_1,
+    main_Glyph_1_in_5,
+    main_Glyph_1_in_6,
+    main_Glyph_1_in_7
+    ) [instance: 1, cache: 1];
+    // 
+    // node Import[9]: x = 1087, y = 11, inputs = 6, label = Import
+    // input[1]: defaulting = 0, visible = 1, type = 32, value = "epicenter.dx"
+    // input[3]: defaulting = 0, visible = 1, type = 32, value = "dx"
+    //
+main_Import_9_out_1 = 
+    Import(
+    main_Import_9_in_1,
+    main_Import_9_in_2,
+    main_Import_9_in_3,
+    main_Import_9_in_4,
+    main_Import_9_in_5,
+    main_Import_9_in_6
+    ) [instance: 9, cache: 1];
+    // 
+    // node Color[5]: x = 944, y = 175, inputs = 5, label = Color
+    // input[2]: defaulting = 0, visible = 1, type = 32, value = "cyan"
+    // input[3]: defaulting = 1, visible = 1, type = 5, value = 1.0
+    //
+main_Color_5_out_1 = 
+    Color(
+    main_Import_9_out_1,
+    main_Color_5_in_2,
+    main_Color_5_in_3,
+    main_Color_5_in_4,
+    main_Color_5_in_5
+    ) [instance: 5, cache: 1];
+    // 
+    // node ShowPositions[2]: x = 925, y = 318, inputs = 2, label = ShowPositions
+    //
+main_ShowPositions_2_out_1 = 
+    ShowPositions(
+    main_Color_5_out_1,
+    main_ShowPositions_2_in_2
+    ) [instance: 2, cache: 1];
+    // 
+    // node Scalar[2]: x = 1072, y = 302, inputs = 11, label = Scalar
+    // input[1]: defaulting = 0, visible = 0, type = 32, value = "Scalar_2"
+    // input[3]: defaulting = 0, visible = 0, type = 5, value = 0.016 
+    // input[5]: defaulting = 1, visible = 0, type = 5, value = -1000000.0
+    // input[6]: defaulting = 1, visible = 0, type = 5, value = 1000000.0
+    // input[7]: defaulting = 1, visible = 0, type = 5, value = 1.0
+    // input[9]: defaulting = 1, visible = 0, type = 1, value = 5
+    // output[1]: visible = 1, type = 5, value = 0.016 
+    //
+    // 
+    // node Glyph[2]: x = 949, y = 438, inputs = 7, label = Glyph
+    // input[2]: defaulting = 0, visible = 1, type = 32, value = "diamond"
+    //
+main_Glyph_2_out_1 = 
+    Glyph(
+    main_ShowPositions_2_out_1,
+    main_Glyph_2_in_2,
+    main_Glyph_2_in_3,
+    main_Scalar_2_out_1,
+    main_Glyph_2_in_5,
+    main_Glyph_2_in_6,
+    main_Glyph_2_in_7
+    ) [instance: 2, cache: 1];
+    // 
+    // node Collect[2]: x = 684, y = 527, inputs = 4, label = Collect
+    //
+main_Collect_2_out_1 = 
+    Collect(
+    main_Glyph_1_out_1,
+    main_Glyph_2_out_1,
+    main_Collect_2_in_3,
+    main_Collect_2_in_4
+    ) [instance: 2, cache: 1];
+    // 
+    // node Import[2]: x = 57, y = 69, inputs = 6, label = Import
+    // input[1]: defaulting = 0, visible = 1, type = 32, value = "earth_topo_bathy.dx"
+    // input[3]: defaulting = 0, visible = 1, type = 32, value = "dx"
+    //
+main_Import_2_out_1 = 
+    Import(
+    main_Import_2_in_1,
+    main_Import_2_in_2,
+    main_Import_2_in_3,
+    main_Import_2_in_4,
+    main_Import_2_in_5,
+    main_Import_2_in_6
+    ) [instance: 2, cache: 1];
+    // 
+    // node Import[6]: x = 195, y = 20, inputs = 6, label = Import
+    // input[1]: defaulting = 0, visible = 1, type = 32, value = "GMT_globe_palette_opaque.cm"
+    // input[3]: defaulting = 0, visible = 1, type = 32, value = "cm"
+    //
+main_Import_6_out_1 = 
+    Import(
+    main_Import_6_in_1,
+    main_Import_6_in_2,
+    main_Import_6_in_3,
+    main_Import_6_in_4,
+    main_Import_6_in_5,
+    main_Import_6_in_6
+    ) [instance: 6, cache: 1];
+    // 
+    // node Import[10]: x = 301, y = 17, inputs = 6, label = Import
+    // input[1]: defaulting = 0, visible = 1, type = 32, value = "GMT_globe_palette_transparent.cm"
+    // input[3]: defaulting = 0, visible = 1, type = 32, value = "cm"
+    //
+main_Import_10_out_1 = 
+    Import(
+    main_Import_10_in_1,
+    main_Import_10_in_2,
+    main_Import_10_in_3,
+    main_Import_10_in_4,
+    main_Import_10_in_5,
+    main_Import_10_in_6
+    ) [instance: 10, cache: 1];
+    // 
+    // node Collect[4]: x = 282, y = 94, inputs = 2, label = Collect
+    //
+main_Collect_4_out_1 = 
+    Collect(
+    main_Import_6_out_1,
+    main_Import_10_out_1
+    ) [instance: 4, cache: 1];
+    // 
+    // node Select[1]: x = 283, y = 166, inputs = 3, label = Select
+    // input[2]: defaulting = 0, visible = 1, type = 1, value = 0
+    //
+main_Select_1_out_1 = 
+    Select(
+    main_Collect_4_out_1,
+    main_Select_1_in_2,
+    main_Select_1_in_3
+    ) [instance: 1, cache: 1];
+    // 
+    // node Colormap[5]: x = 263, y = 270, inputs = 19, label = Colormap
+    // input[1]: defaulting = 0, visible = 0, type = 16777224, value = {[0 0.76666671 ] [0.071086608 0.75 ] [0.08559408 0.73076928 ] [0.1073553 0.70833331 ] [0.1363702 0.68181819 ] [0.15813141 0.65151513 ] [0.17263889 0.625 ] [0.1944001 0.6025641 ] [0.2306688 0.58333331 ] [0.26693749 0.56666672 ] [0.30320609 0.56652051 ] [0.3394748 0.56633502 ] [0.37574351 0.5660919 ] [0.41201219 0.5657596 ] [0.4482809 0.56473827 ] [0.48454961 0.56382978 ] [0.52081817 0.56218898 ] [0.55708688 0.55833328 ] [0.57884812 0.53571433 ] [0.5789932 0.53571433 ] [0.59328312 0.53571433 ] [0.5933556 0.25 ] [0.59342808 0.25 ] [0.60046422 0.3888889 ] [0.6006093 0.3888889 ] [0.60786313 0.25 ] [0.62962419 0.083333336 ] [0.66589302 0.1022013 ] [0.70216161 0.1126761 ] [0.73843032 0.1189139 ] [0.77469897 0.149635 ] [0.81096762 0.1426858 ] [0.84723628 0.13403261 ] [0.88350499 0.1255708 ] [0.9197737 0.1185682 ] [0.95604229 0.1111111 ] [0.99231112 0 ] [1 0 ] }
+    // input[2]: defaulting = 0, visible = 0, type = 16777224, value = {[0 1 ] [0.071086608 0.93333328 ] [0.08559408 0.86666667 ] [0.1073553 0.80000001 ] [0.1363702 0.73333329 ] [0.15813141 0.73333329 ] [0.17263889 0.80000001 ] [0.1944001 0.86666667 ] [0.2306688 0.93333328 ] [0.26693749 1 ] [0.30320609 0.89411771 ] [0.3394748 0.78823531 ] [0.37574351 0.6823529 ] [0.41201219 0.57647061 ] [0.4482809 0.47450981 ] [0.48454961 0.3686274 ] [0.52081817 0.26274511 ] [0.55708688 0.15686271 ] [0.57884812 0.054901958 ] [0.5789932 0.054901958 ] [0.59328312 0.054901958 ] [0.5933556 1 ] [0.59342808 1 ] [0.60046422 0.75 ] [0.6006093 0.75 ] [0.60786313 0.35964909 ] [0.62962419 0.27450979 ] [0.66589302 0.436214 ] [0.70216161 0.61739129 ] [0.73843032 0.8202765 ] [0.77469897 0.81547618 ] [0.81096762 0.847561 ] [0.84723628 0.88271612 ] [0.88350499 0.918239 ] [0.9197737 0.95512819 ] [0.95604229 1 ] [0.99231112 0.45061731 ] [1 0.33707869 ] }
+    // input[3]: defaulting = 0, visible = 0, type = 16777224, value = {[0 1 ] [0.071086608 1 ] [0.08559408 1 ] [0.1073553 1 ] [0.1363702 1 ] [0.15813141 1 ] [0.17263889 1 ] [0.1944001 1 ] [0.2306688 1 ] [0.26693749 1 ] [0.30320609 1 ] [0.3394748 1 ] [0.37574351 1 ] [0.41201219 1 ] [0.4482809 1 ] [0.48454961 1 ] [0.52081817 1 ] [0.55708688 1 ] [0.57884812 1 ] [0.5789932 1 ] [0.59328312 1 ] [0.5933556 0.40000001 ] [0.59342808 0.40000001 ] [0.60046422 0.80000001 ] [0.6006093 0.80000001 ] [0.60786313 0.89411771 ] [0.62962419 1 ] [0.66589302 0.95294118 ] [0.70216161 0.90196079 ] [0.73843032 0.8509804 ] [0.77469897 0.65882349 ] [0.81096762 0.64313728 ] [0.84723628 0.63529408 ] [0.88350499 0.62352937 ] [0.9197737 0.61176473 ] [0.95604229 0.60000002 ] [0.99231112 0.63529408 ] [1 0.69803917 ] }
+    // input[4]: defaulting = 0, visible = 0, type = 16777224, value = {[0 1 ] [1 1 ] }
+    // input[5]: defaulting = 0, visible = 0, type = 32, value = "Colormap_5"
+    // input[7]: defaulting = 0, visible = 0, type = 5, value = -8180.0
+    // input[8]: defaulting = 0, visible = 0, type = 5, value = 5606.0
+    // input[9]: defaulting = 1, visible = 0, type = 1, value = 20
+    // input[12]: defaulting = 0, visible = 0, type = 16777221, value = { -8180.0 5606.0 }
+    // input[13]: defaulting = 0, visible = 0, type = 16777224, value = {[0 0.76666671 ] [0.071086608 0.75 ] [0.08559408 0.73076928 ] [0.1073553 0.70833331 ] [0.1363702 0.68181819 ] [0.15813141 0.65151513 ] [0.17263889 0.625 ] [0.1944001 0.6025641 ] [0.2306688 0.58333331 ] [0.26693749 0.56666672 ] [0.30320609 0.56652051 ] [0.3394748 0.56633502 ] [0.37574351 0.5660919 ] [0.41201219 0.5657596 ] [0.4482809 0.56473827 ] [0.48454961 0.56382978 ] [0.52081817 0.56218898 ] [0.55708688 0.55833328 ] [0.57884812 0.53571433 ] [0.5789932 0.53571433 ] [0.59328312 0.53571433 ] [0.5933556 0.25 ] [0.59342808 0.25 ] [0.60046422 0.3888889 ] [0.6006093 0.3888889 ] [0.60786313 0.25 ] [0.62962419 0.083333336 ] [0.66589302 0.1022013 ] [0.70216161 0.1126761 ] [0.73843032 0.1189139 ] [0.77469897 0.149635 ] [0.81096762 0.1426858 ] [0.84723628 0.13403261 ] [0.88350499 0.1255708 ] [0.9197737 0.1185682 ] [0.95604229 0.1111111 ] [0.99231112 0 ] [1 0 ] }
+    // input[14]: defaulting = 0, visible = 0, type = 16777224, value = {[0 1 ] [0.071086608 0.93333328 ] [0.08559408 0.86666667 ] [0.1073553 0.80000001 ] [0.1363702 0.73333329 ] [0.15813141 0.73333329 ] [0.17263889 0.80000001 ] [0.1944001 0.86666667 ] [0.2306688 0.93333328 ] [0.26693749 1 ] [0.30320609 0.89411771 ] [0.3394748 0.78823531 ] [0.37574351 0.6823529 ] [0.41201219 0.57647061 ] [0.4482809 0.47450981 ] [0.48454961 0.3686274 ] [0.52081817 0.26274511 ] [0.55708688 0.15686271 ] [0.57884812 0.054901958 ] [0.5789932 0.054901958 ] [0.59328312 0.054901958 ] [0.5933556 1 ] [0.59342808 1 ] [0.60046422 0.75 ] [0.6006093 0.75 ] [0.60786313 0.35964909 ] [0.62962419 0.27450979 ] [0.66589302 0.436214 ] [0.70216161 0.61739129 ] [0.73843032 0.8202765 ] [0.77469897 0.81547618 ] [0.81096762 0.847561 ] [0.84723628 0.88271612 ] [0.88350499 0.918239 ] [0.9197737 0.95512819 ] [0.95604229 1 ] [0.99231112 0.45061731 ] [1 0.33707869 ] }
+    // input[15]: defaulting = 0, visible = 0, type = 16777224, value = {[0 1 ] [0.071086608 1 ] [0.08559408 1 ] [0.1073553 1 ] [0.1363702 1 ] [0.15813141 1 ] [0.17263889 1 ] [0.1944001 1 ] [0.2306688 1 ] [0.26693749 1 ] [0.30320609 1 ] [0.3394748 1 ] [0.37574351 1 ] [0.41201219 1 ] [0.4482809 1 ] [0.48454961 1 ] [0.52081817 1 ] [0.55708688 1 ] [0.57884812 1 ] [0.5789932 1 ] [0.59328312 1 ] [0.5933556 0.40000001 ] [0.59342808 0.40000001 ] [0.60046422 0.80000001 ] [0.6006093 0.80000001 ] [0.60786313 0.89411771 ] [0.62962419 1 ] [0.66589302 0.95294118 ] [0.70216161 0.90196079 ] [0.73843032 0.8509804 ] [0.77469897 0.65882349 ] [0.81096762 0.64313728 ] [0.84723628 0.63529408 ] [0.88350499 0.62352937 ] [0.9197737 0.61176473 ] [0.95604229 0.60000002 ] [0.99231112 0.63529408 ] [1 0.69803917 ] }
+    // input[16]: defaulting = 0, visible = 0, type = 16777224, value = {[0 1 ] [1 1 ] }
+    // input[17]: defaulting = 0, visible = 0, type = 5, value = -8180.0
+    // input[18]: defaulting = 0, visible = 0, type = 5, value = 5606.0
+    // window: position = (0.0464,0.1200), size = 0.3385x0.3750, screen = 0
+    //
+main_Colormap_5_out_1[cache: 2],
+main_Colormap_5_out_2[cache: 2] = 
+    Colormap(
+    main_Colormap_5_in_1,
+    main_Colormap_5_in_2,
+    main_Colormap_5_in_3,
+    main_Colormap_5_in_4,
+    main_Colormap_5_in_5,
+    main_Colormap_5_in_6,
+    main_Colormap_5_in_7,
+    main_Colormap_5_in_8,
+    main_Colormap_5_in_9,
+    main_Select_1_out_1,
+    main_Select_1_out_1,
+    main_Colormap_5_in_12,
+    main_Colormap_5_in_13,
+    main_Colormap_5_in_14,
+    main_Colormap_5_in_15,
+    main_Colormap_5_in_16,
+    main_Colormap_5_in_17,
+    main_Colormap_5_in_18,
+    main_Colormap_5_in_19
+    ) [instance: 5, cache: 1];
+    // 
+    // node Color[2]: x = 215, y = 354, inputs = 5, label = Color
+    //
+main_Color_2_out_1 = 
+    Color(
+    main_Import_2_out_1,
+    main_Colormap_5_out_1,
+    main_Colormap_5_out_2,
+    main_Color_2_in_4,
+    main_Color_2_in_5
+    ) [instance: 2, cache: 1];
+    // 
+    // node Format[4]: x = 158, y = 144, inputs = 3, label = Format
+    // input[1]: defaulting = 0, visible = 1, type = 32, value = "/media/disk320GB/DX_movie_%6.6d.dx"
+    //
+main_Format_4_out_1 = 
+    Format(
+    main_Format_4_in_1,
+    main_Compute_4_out_1,
+    main_Format_4_in_3
+    ) [instance: 4, cache: 1];
+    // 
+    // node Import[7]: x = 14, y = 261, inputs = 6, label = Import
+    // input[1]: defaulting = 1, visible = 1, type = 32, value = "DX_movie_014100.dx"
+    // input[3]: defaulting = 0, visible = 1, type = 32, value = "dx"
+    //
+main_Import_7_out_1 = 
+    Import(
+    main_Format_4_out_1,
+    main_Import_7_in_2,
+    main_Import_7_in_3,
+    main_Import_7_in_4,
+    main_Import_7_in_5,
+    main_Import_7_in_6
+    ) [instance: 7, cache: 1];
+    // 
+    // node Import[8]: x = 109, y = 263, inputs = 6, label = Import
+    // input[1]: defaulting = 0, visible = 1, type = 32, value = "red_blue_waves.cm"
+    // input[3]: defaulting = 0, visible = 1, type = 32, value = "cm"
+    //
+main_Import_8_out_1 = 
+    Import(
+    main_Import_8_in_1,
+    main_Import_8_in_2,
+    main_Import_8_in_3,
+    main_Import_8_in_4,
+    main_Import_8_in_5,
+    main_Import_8_in_6
+    ) [instance: 8, cache: 1];
+    // 
+    // node Colormap[6]: x = 70, y = 376, inputs = 19, label = Colormap
+    // input[1]: defaulting = 0, visible = 0, type = 16777224, value = {[0 0.70731705 ] [0.49450549 0.51219511 ] [0.49450549 1 ] [0.99267399 1 ] }
+    // input[2]: defaulting = 0, visible = 0, type = 16777224, value = {[0.058608059 1 ] [0.50183147 1 ] [0.51648355 1 ] [1 1 ] }
+    // input[3]: defaulting = 0, visible = 0, type = 16777224, value = {[0 1 ] [0.49450549 0.5 ] [1 1 ] }
+    // input[4]: defaulting = 0, visible = 0, type = 16777224, value = {[0 1 ] [1 1 ] }
+    // input[5]: defaulting = 0, visible = 0, type = 32, value = "Colormap_6"
+    // input[7]: defaulting = 1, visible = 0, type = 5, value = -1.0
+    // input[8]: defaulting = 1, visible = 0, type = 5, value = 0.99000001
+    // input[9]: defaulting = 1, visible = 0, type = 1, value = 20
+    // input[12]: defaulting = 0, visible = 0, type = 16777221, value = { -1.0 0.99000001 }
+    // input[13]: defaulting = 0, visible = 0, type = 16777224, value = {[0 0.70731705 ] [0.49450549 0.51219511 ] [0.49450549 1 ] [0.99267399 1 ] }
+    // input[14]: defaulting = 0, visible = 0, type = 16777224, value = {[0.058608059 1 ] [0.50183147 1 ] [0.51648355 1 ] [1 1 ] }
+    // input[15]: defaulting = 0, visible = 0, type = 16777224, value = {[0 1 ] [0.49450549 0.5 ] [1 1 ] }
+    // input[16]: defaulting = 0, visible = 0, type = 16777224, value = {[0 1 ] [1 1 ] }
+    // input[17]: defaulting = 0, visible = 0, type = 5, value = -1.0
+    // input[18]: defaulting = 0, visible = 0, type = 5, value = 0.99000001
+    // window: position = (0.0063,0.0283), size = 0.3870x0.4283, screen = 0
+    //
+main_Colormap_6_out_1[cache: 2],
+main_Colormap_6_out_2[cache: 2] = 
+    Colormap(
+    main_Colormap_6_in_1,
+    main_Colormap_6_in_2,
+    main_Colormap_6_in_3,
+    main_Colormap_6_in_4,
+    main_Colormap_6_in_5,
+    main_Import_7_out_1,
+    main_Colormap_6_in_7,
+    main_Colormap_6_in_8,
+    main_Colormap_6_in_9,
+    main_Import_8_out_1,
+    main_Import_8_out_1,
+    main_Colormap_6_in_12,
+    main_Colormap_6_in_13,
+    main_Colormap_6_in_14,
+    main_Colormap_6_in_15,
+    main_Colormap_6_in_16,
+    main_Colormap_6_in_17,
+    main_Colormap_6_in_18,
+    main_Colormap_6_in_19
+    ) [instance: 6, cache: 1];
+    // 
+    // node Color[3]: x = 41, y = 461, inputs = 5, label = Color
+    //
+main_Color_3_out_1 = 
+    Color(
+    main_Import_7_out_1,
+    main_Colormap_6_out_1,
+    main_Colormap_6_out_2,
+    main_Color_3_in_4,
+    main_Color_3_in_5
+    ) [instance: 3, cache: 1];
+    // 
+    // node Import[4]: x = 504, y = 112, inputs = 6, label = Import
+    // input[1]: defaulting = 0, visible = 1, type = 32, value = "DX_continent_boundaries.dx"
+    // input[3]: defaulting = 0, visible = 1, type = 32, value = "dx"
+    //
+main_Import_4_out_1 = 
+    Import(
+    main_Import_4_in_1,
+    main_Import_4_in_2,
+    main_Import_4_in_3,
+    main_Import_4_in_4,
+    main_Import_4_in_5,
+    main_Import_4_in_6
+    ) [instance: 4, cache: 1];
+    // 
+    // node Color[4]: x = 521, y = 216, inputs = 5, label = Color
+    // input[2]: defaulting = 0, visible = 1, type = 32, value = "orange"
+    //
+main_Color_4_out_1 = 
+    Color(
+    main_Import_4_out_1,
+    main_Color_4_in_2,
+    main_Color_4_in_3,
+    main_Color_4_in_4,
+    main_Color_4_in_5
+    ) [instance: 4, cache: 1];
+    // 
+    // node Options[2]: x = 487, y = 316, inputs = 5, label = Options
+    // input[2]: defaulting = 0, visible = 1, type = 32, value = "rendering mode"
+    // input[3]: defaulting = 0, visible = 1, type = 32, value = "hardware"
+    // input[4]: defaulting = 0, visible = 1, type = 32, value = "line width"
+    // input[5]: defaulting = 0, visible = 1, type = 29, value = 1.5
+    //
+main_Options_2_out_1 = 
+    Options(
+    main_Color_4_out_1,
+    main_Options_2_in_2,
+    main_Options_2_in_3,
+    main_Options_2_in_4,
+    main_Options_2_in_5
+    ) [instance: 2, cache: 1];
+    // 
+    // node Collect[1]: x = 228, y = 515, inputs = 4, label = Collect
+    //
+main_Collect_1_out_1 = 
+    Collect(
+    main_Collect_2_out_1,
+    main_Color_2_out_1,
+    main_Color_3_out_1,
+    main_Options_2_out_1
+    ) [instance: 1, cache: 1];
+    // 
+    // node Compute[1]: x = 386, y = 500, inputs = 3, label = Compute
+    // input[1]: defaulting = 0, visible = 0, type = 32, value = "$0*85./14100."
+    // expression: value = it*85./14100.
+    // name[2]: value = it
+    // name[3]: value = b
+    //
+main_Compute_1_out_1 = 
+    Compute(
+    main_Compute_1_in_1,
+    main_Compute_4_out_1,
+    main_Compute_1_in_3
+    ) [instance: 1, cache: 1];
+    // 
+    // node Rotate[1]: x = 359, y = 633, inputs = 7, label = Rotate
+    // input[2]: defaulting = 0, visible = 1, type = 32, value = "z"
+    //
+main_Rotate_1_out_1 = 
+    Rotate(
+    main_Collect_1_out_1,
+    main_Rotate_1_in_2,
+    main_Compute_1_out_1,
+    main_Rotate_1_in_4,
+    main_Rotate_1_in_5,
+    main_Rotate_1_in_6,
+    main_Rotate_1_in_7
+    ) [instance: 1, cache: 1];
+    // 
+    // node Collect[3]: x = 261, y = 751, inputs = 4, label = Collect
+    //
+main_Collect_3_out_1 = 
+    Collect(
+    main_Caption_1_out_1,
+    main_Rotate_1_out_1,
+    main_Caption_2_out_1,
+    main_Collect_3_in_4
+    ) [instance: 3, cache: 1];
+    // 
+    // node Compute[6]: x = 902, y = 640, inputs = 3, label = Compute
+    // input[1]: defaulting = 0, visible = 0, type = 32, value = "0"
+    // expression: value = 0
+    // name[2]: value = a
+    // name[3]: value = b
+    //
+main_Compute_6_out_1 = 
+    Compute(
+    main_Compute_6_in_1,
+    main_Compute_6_in_2,
+    main_Compute_6_in_3
+    ) [instance: 6, cache: 1];
+    // 
+    // node Format[2]: x = 617, y = 762, inputs = 3, label = Format
+    // input[1]: defaulting = 0, visible = 1, type = 32, value = "imagemovie%6.6d.tiff"
+    //
+main_Format_2_out_1 = 
+    Format(
+    main_Format_2_in_1,
+    main_Compute_4_out_1,
+    main_Format_2_in_3
+    ) [instance: 2, cache: 1];
+    // 
+    // node Image[4]: x = 429, y = 792, inputs = 49, label = Image
+    // input[1]: defaulting = 0, visible = 0, type = 67108863, value = "Image_4"
+    // input[4]: defaulting = 0, visible = 0, type = 1, value = 1
+    // input[5]: defaulting = 0, visible = 0, type = 8, value = [-0.0283461 -0.0321944 0.0649886]
+    // input[6]: defaulting = 0, visible = 0, type = 8, value = [-1.8296 8.29494 3.80668]
+    // input[7]: defaulting = 1, visible = 0, type = 5, value = 3.90397
+    // input[8]: defaulting = 0, visible = 0, type = 1, value = 1097
+    // input[9]: defaulting = 0, visible = 0, type = 5, value = 0.572926
+    // input[10]: defaulting = 0, visible = 0, type = 8, value = [-0.0697647 -0.42138 0.904197]
+    // input[11]: defaulting = 0, visible = 0, type = 5, value = 23.6948
+    // input[12]: defaulting = 0, visible = 0, type = 1, value = 1
+    // input[14]: defaulting = 0, visible = 0, type = 1, value = 1
+    // input[15]: defaulting = 1, visible = 0, type = 32, value = "none"
+    // input[16]: defaulting = 1, visible = 0, type = 32, value = "none"
+    // input[17]: defaulting = 0, visible = 0, type = 1, value = 1
+    // input[18]: defaulting = 0, visible = 0, type = 1, value = 1
+    // input[19]: defaulting = 0, visible = 0, type = 1, value = 1
+    // input[25]: defaulting = 0, visible = 0, type = 32, value = "/home/komatits/movies_poster_rapport_CINES/initial_image_earth.tiff"
+    // input[26]: defaulting = 0, visible = 0, type = 32, value = "tiff gamma=1"
+    // input[29]: defaulting = 1, visible = 0, type = 3, value = 0
+    // input[41]: defaulting = 0, visible = 0, type = 32, value = "panzoom"
+    // depth: value = 24
+    // window: position = (0.3932,0.3508), size = 0.5786x0.5575, screen = 0
+    // internal caching: 1
+    //
+main_Image_4_out_1,
+main_Image_4_out_2,
+main_Image_4_out_3 = 
+    Image(
+    main_Image_4_in_1,
+    main_Collect_3_out_1,
+    main_Image_4_in_3,
+    main_Image_4_in_4,
+    main_Image_4_in_5,
+    main_Image_4_in_6,
+    main_Image_4_in_7,
+    main_Image_4_in_8,
+    main_Image_4_in_9,
+    main_Image_4_in_10,
+    main_Image_4_in_11,
+    main_Image_4_in_12,
+    main_Image_4_in_13,
+    main_Image_4_in_14,
+    main_Image_4_in_15,
+    main_Image_4_in_16,
+    main_Image_4_in_17,
+    main_Image_4_in_18,
+    main_Image_4_in_19,
+    main_Image_4_in_20,
+    main_Image_4_in_21,
+    main_Image_4_in_22,
+    main_Image_4_in_23,
+    main_Image_4_in_24,
+    main_Image_4_in_25,
+    main_Image_4_in_26,
+    main_Image_4_in_27,
+    main_Image_4_in_28,
+    main_Image_4_in_29,
+    main_Image_4_in_30,
+    main_Image_4_in_31,
+    main_Image_4_in_32,
+    main_Image_4_in_33,
+    main_Image_4_in_34,
+    main_Image_4_in_35,
+    main_Image_4_in_36,
+    main_Image_4_in_37,
+    main_Image_4_in_38,
+    main_Image_4_in_39,
+    main_Image_4_in_40,
+    main_Image_4_in_41,
+    main_Image_4_in_42,
+    main_Image_4_in_43,
+    main_Image_4_in_44,
+    main_Image_4_in_45,
+    main_Image_4_in_46,
+    main_Image_4_in_47,
+    main_Image_4_in_48,
+    main_Image_4_in_49
+    ) [instance: 4, cache: 1];
+    // 
+    // node Render[2]: x = 340, y = 869, inputs = 3, label = Render
+    //
+main_Render_2_out_1 = 
+    Render(
+    main_Collect_3_out_1,
+    main_Image_4_out_2,
+    main_Render_2_in_3
+    ) [instance: 2, cache: 1];
+    // 
+    // node WriteImage[2]: x = 398, y = 938, inputs = 4, label = WriteImage
+    // input[3]: defaulting = 0, visible = 1, type = 32, value = "tiff gamma=1"
+    //
+    WriteImage(
+    main_Render_2_out_1,
+    main_Format_2_out_1,
+    main_WriteImage_2_in_3,
+    main_WriteImage_2_in_4
+    ) [instance: 2, cache: 1];
+// network: end of macro body
+CacheScene(main_Image_4_in_1, main_Image_4_out_1, main_Image_4_out_2);
+}
+main_Caption_1_in_1 = "SPECFEM3D / Dimitri Komatitsch et al. - Sichuan earthquake, May 12, 2008";
+main_Caption_1_in_2 = [.5 .98];
+main_Caption_1_in_3 = NULL;
+main_Caption_1_in_4 = NULL;
+main_Caption_1_in_5 = NULL;
+main_Caption_1_in_6 = 25;
+main_Caption_1_in_7 = "roman_dser";
+main_Caption_1_in_8 = NULL;
+main_Caption_1_in_9 = NULL;
+main_Caption_1_out_1 = NULL;
+main_Sequencer_2_in_1 = "Sequencer_2";
+main_Sequencer_2_in_2 = NULL;
+main_Sequencer_2_in_3 = NULL;
+main_Sequencer_2_in_4 = NULL;
+main_Sequencer_2_in_5 = NULL;
+main_Sequencer_2_in_6 = NULL;
+main_Sequencer_2_in_7 = { 2675 4000 5 2675 4000 1 };
+main_Sequencer_2_out_1 = NULL;
+
+ at startframe = 2675;
+ at nextframe  = @startframe;
+ at endframe   = 4000;
+ at deltaframe = 5;
+main_Compute_4_in_1 = "$0*10";
+main_Compute_4_in_3 = NULL;
+main_Compute_4_out_1 = NULL;
+main_Compute_5_in_1 = "int(($0-1)*0.001875 - 0.25351533)";
+main_Compute_5_in_3 = NULL;
+main_Compute_5_out_1 = NULL;
+main_Compute_2_in_1 = "int( 60*(($0-1)*0.001875 - 0.25351533) - 60*$1)";
+main_Compute_2_out_1 = NULL;
+main_Format_3_in_1 = "Time = %3d min %2.2d s";
+main_Format_3_out_1 = NULL;
+main_Caption_2_in_2 = [.93 .08];
+main_Caption_2_in_3 = NULL;
+main_Caption_2_in_4 = NULL;
+main_Caption_2_in_5 = NULL;
+main_Caption_2_in_6 = 24;
+main_Caption_2_in_7 = "area";
+main_Caption_2_in_8 = NULL;
+main_Caption_2_in_9 = NULL;
+main_Caption_2_out_1 = NULL;
+main_Import_5_in_1 = "earth_main_cities.dx";
+main_Import_5_in_2 = NULL;
+main_Import_5_in_3 = "dx";
+main_Import_5_in_4 = NULL;
+main_Import_5_in_5 = NULL;
+main_Import_5_in_6 = NULL;
+main_Import_5_out_1 = NULL;
+main_Colormap_1_in_1 = { [0.037383178 0.98947368] [1.0 1.0] };
+main_Colormap_1_in_2 = { [0.0 0.73684211] [0.97196262 0.72631579] };
+main_Colormap_1_in_3 = { [0.0 1.0] [0.98130841 1.0] };
+main_Colormap_1_in_4 = { [0.0 1.0] [1.0 1.0] };
+main_Colormap_1_in_5 = "Colormap_1";
+main_Colormap_1_in_7 = NULL;
+main_Colormap_1_in_8 = NULL;
+main_Colormap_1_in_9 = NULL;
+main_Colormap_1_in_10 = NULL;
+main_Colormap_1_in_11 = NULL;
+main_Colormap_1_in_12 = { 1.0 1.0 };
+main_Colormap_1_in_13 = NULL;
+main_Colormap_1_in_14 = NULL;
+main_Colormap_1_in_15 = NULL;
+main_Colormap_1_in_16 = NULL;
+main_Colormap_1_in_17 = 1.0;
+main_Colormap_1_in_18 = 1.0;
+main_Colormap_1_in_19 = NULL;
+main_Colormap_1_out_1 = NULL;
+main_Color_1_in_3 = NULL;
+main_Color_1_in_4 = NULL;
+main_Color_1_in_5 = NULL;
+main_Color_1_out_1 = NULL;
+main_ShowPositions_1_in_2 = NULL;
+main_ShowPositions_1_out_1 = NULL;
+main_Scalar_1_in_1 = "Scalar_1";
+main_Scalar_1_in_2 = NULL;
+main_Scalar_1_in_3 = 0.012 ;
+main_Scalar_1_in_4 = NULL;
+main_Scalar_1_in_5 = NULL;
+main_Scalar_1_in_6 = NULL;
+main_Scalar_1_in_7 = NULL;
+main_Scalar_1_in_8 = NULL;
+main_Scalar_1_in_9 = NULL;
+main_Scalar_1_in_10 = NULL;
+main_Scalar_1_in_11 = NULL;
+main_Scalar_1_out_1 = 0.012 ;
+main_Glyph_1_in_2 = NULL;
+main_Glyph_1_in_3 = NULL;
+main_Glyph_1_in_5 = NULL;
+main_Glyph_1_in_6 = NULL;
+main_Glyph_1_in_7 = NULL;
+main_Glyph_1_out_1 = NULL;
+main_Import_9_in_1 = "epicenter.dx";
+main_Import_9_in_2 = NULL;
+main_Import_9_in_3 = "dx";
+main_Import_9_in_4 = NULL;
+main_Import_9_in_5 = NULL;
+main_Import_9_in_6 = NULL;
+main_Import_9_out_1 = NULL;
+main_Color_5_in_2 = "cyan";
+main_Color_5_in_3 = NULL;
+main_Color_5_in_4 = NULL;
+main_Color_5_in_5 = NULL;
+main_Color_5_out_1 = NULL;
+main_ShowPositions_2_in_2 = NULL;
+main_ShowPositions_2_out_1 = NULL;
+main_Scalar_2_in_1 = "Scalar_2";
+main_Scalar_2_in_2 = NULL;
+main_Scalar_2_in_3 = 0.016 ;
+main_Scalar_2_in_4 = NULL;
+main_Scalar_2_in_5 = NULL;
+main_Scalar_2_in_6 = NULL;
+main_Scalar_2_in_7 = NULL;
+main_Scalar_2_in_8 = NULL;
+main_Scalar_2_in_9 = NULL;
+main_Scalar_2_in_10 = NULL;
+main_Scalar_2_in_11 = NULL;
+main_Scalar_2_out_1 = 0.016 ;
+main_Glyph_2_in_2 = "diamond";
+main_Glyph_2_in_3 = NULL;
+main_Glyph_2_in_5 = NULL;
+main_Glyph_2_in_6 = NULL;
+main_Glyph_2_in_7 = NULL;
+main_Glyph_2_out_1 = NULL;
+main_Collect_2_in_3 = NULL;
+main_Collect_2_in_4 = NULL;
+main_Collect_2_out_1 = NULL;
+main_Import_2_in_1 = "earth_topo_bathy.dx";
+main_Import_2_in_2 = NULL;
+main_Import_2_in_3 = "dx";
+main_Import_2_in_4 = NULL;
+main_Import_2_in_5 = NULL;
+main_Import_2_in_6 = NULL;
+main_Import_2_out_1 = NULL;
+main_Import_6_in_1 = "GMT_globe_palette_opaque.cm";
+main_Import_6_in_2 = NULL;
+main_Import_6_in_3 = "cm";
+main_Import_6_in_4 = NULL;
+main_Import_6_in_5 = NULL;
+main_Import_6_in_6 = NULL;
+main_Import_6_out_1 = NULL;
+main_Import_10_in_1 = "GMT_globe_palette_transparent.cm";
+main_Import_10_in_2 = NULL;
+main_Import_10_in_3 = "cm";
+main_Import_10_in_4 = NULL;
+main_Import_10_in_5 = NULL;
+main_Import_10_in_6 = NULL;
+main_Import_10_out_1 = NULL;
+main_Collect_4_out_1 = NULL;
+main_Select_1_in_2 = 0;
+main_Select_1_in_3 = NULL;
+main_Select_1_out_1 = NULL;
+main_Colormap_5_in_1 = {[0 0.76666671 ] [0.071086608 0.75 ] [0.08559408 0.73076928 ] [0.1073553 0.70833331 ] [0.1363702 0.68181819 ] [0.15813141 0.65151513 ] [0.17263889 0.625 ] [0.1944001 0.6025641 ] [0.2306688 0.58333331 ] [0.26693749 0.56666672 ] [0.30320609 0.56652051 ] [0.3394748 0.56633502 ] [0.37574351 0.5660919 ] [0.41201219 0.5657596 ] [0.4482809 0.56473827 ] [0.48454961 0.56382978 ] [0.52081817 0.56218898 ] [0.55708688 0.55833328 ] [0.57884812 0.53571433 ] [0.5789932 0.53571433 ] [0.59328312 0.53571433 ] [0.5933556 0.25 ] [0.59342808 0.25 ] [0.60046422 0.3888889 ] [0.6006093 0.3888889 ] [0.60786313 0.25 ] [0.62962419 0.083333336 ] [0.66589302 0.1022013 ] [0.70216161 0.1126761 ] [0.73843032 0.1189139 ] [0.77469897 0.149635 ] [0.81096762 0.1426858 ] [0.84723628 0.13403261 ] [0.88350499 0.1255708 ] [0.9197737 0.1185682 ] [0.95604229 0.1111111 ] [0.99231112 0 ] [1 0 ] };
+main_Colormap_5_in_2 = {[0 1 ] [0.071086608 0.93333328 ] [0.08559408 0.86666667 ] [0.1073553 0.80000001 ] [0.1363702 0.73333329 ] [0.15813141 0.73333329 ] [0.17263889 0.80000001 ] [0.1944001 0.86666667 ] [0.2306688 0.93333328 ] [0.26693749 1 ] [0.30320609 0.89411771 ] [0.3394748 0.78823531 ] [0.37574351 0.6823529 ] [0.41201219 0.57647061 ] [0.4482809 0.47450981 ] [0.48454961 0.3686274 ] [0.52081817 0.26274511 ] [0.55708688 0.15686271 ] [0.57884812 0.054901958 ] [0.5789932 0.054901958 ] [0.59328312 0.054901958 ] [0.5933556 1 ] [0.59342808 1 ] [0.60046422 0.75 ] [0.6006093 0.75 ] [0.60786313 0.35964909 ] [0.62962419 0.27450979 ] [0.66589302 0.436214 ] [0.70216161 0.61739129 ] [0.73843032 0.8202765 ] [0.77469897 0.81547618 ] [0.81096762 0.847561 ] [0.84723628 0.88271612 ] [0.88350499 0.918239 ] [0.9197737 0.95512819 ] [0.95604229 1 ] [0.99231112 0.45061731 ] [1 0.33707869 ] };
+main_Colormap_5_in_3 = {[0 1 ] [0.071086608 1 ] [0.08559408 1 ] [0.1073553 1 ] [0.1363702 1 ] [0.15813141 1 ] [0.17263889 1 ] [0.1944001 1 ] [0.2306688 1 ] [0.26693749 1 ] [0.30320609 1 ] [0.3394748 1 ] [0.37574351 1 ] [0.41201219 1 ] [0.4482809 1 ] [0.48454961 1 ] [0.52081817 1 ] [0.55708688 1 ] [0.57884812 1 ] [0.5789932 1 ] [0.59328312 1 ] [0.5933556 0.40000001 ] [0.59342808 0.40000001 ] [0.60046422 0.80000001 ] [0.6006093 0.80000001 ] [0.60786313 0.89411771 ] [0.62962419 1 ] [0.66589302 0.95294118 ] [0.70216161 0.90196079 ] [0.73843032 0.8509804 ] [0.77469897 0.65882349 ] [0.81096762 0.64313728 ] [0.84723628 0.63529408 ] [0.88350499 0.62352937 ] [0.9197737 0.61176473 ] [0.95604229 0.60000002 ] [0.99231112 0.63529408 ] [1 0.69803917 ] };
+main_Colormap_5_in_4 = {[0 1 ] [1 1 ] };
+main_Colormap_5_in_5 = "Colormap_5";
+main_Colormap_5_in_6 = NULL;
+main_Colormap_5_in_7 = -8180.0;
+main_Colormap_5_in_8 = 5606.0;
+main_Colormap_5_in_9 = NULL;
+main_Colormap_5_in_12 = { -8180.0 5606.0 };
+main_Colormap_5_in_13 = {[0 0.76666671 ] [0.071086608 0.75 ] [0.08559408 0.73076928 ] [0.1073553 0.70833331 ] [0.1363702 0.68181819 ] [0.15813141 0.65151513 ] [0.17263889 0.625 ] [0.1944001 0.6025641 ] [0.2306688 0.58333331 ] [0.26693749 0.56666672 ] [0.30320609 0.56652051 ] [0.3394748 0.56633502 ] [0.37574351 0.5660919 ] [0.41201219 0.5657596 ] [0.4482809 0.56473827 ] [0.48454961 0.56382978 ] [0.52081817 0.56218898 ] [0.55708688 0.55833328 ] [0.57884812 0.53571433 ] [0.5789932 0.53571433 ] [0.59328312 0.53571433 ] [0.5933556 0.25 ] [0.59342808 0.25 ] [0.60046422 0.3888889 ] [0.6006093 0.3888889 ] [0.60786313 0.25 ] [0.62962419 0.083333336 ] [0.66589302 0.1022013 ] [0.70216161 0.1126761 ] [0.73843032 0.1189139 ] [0.77469897 0.149635 ] [0.81096762 0.1426858 ] [0.84723628 0.13403261 ] [0.88350499 0.1255708 ] [0.9197737 0.1185682 ] [0.95604229 0.1111111 ] [0.99231112 0 ] [1 0 ] };
+main_Colormap_5_in_14 = {[0 1 ] [0.071086608 0.93333328 ] [0.08559408 0.86666667 ] [0.1073553 0.80000001 ] [0.1363702 0.73333329 ] [0.15813141 0.73333329 ] [0.17263889 0.80000001 ] [0.1944001 0.86666667 ] [0.2306688 0.93333328 ] [0.26693749 1 ] [0.30320609 0.89411771 ] [0.3394748 0.78823531 ] [0.37574351 0.6823529 ] [0.41201219 0.57647061 ] [0.4482809 0.47450981 ] [0.48454961 0.3686274 ] [0.52081817 0.26274511 ] [0.55708688 0.15686271 ] [0.57884812 0.054901958 ] [0.5789932 0.054901958 ] [0.59328312 0.054901958 ] [0.5933556 1 ] [0.59342808 1 ] [0.60046422 0.75 ] [0.6006093 0.75 ] [0.60786313 0.35964909 ] [0.62962419 0.27450979 ] [0.66589302 0.436214 ] [0.70216161 0.61739129 ] [0.73843032 0.8202765 ] [0.77469897 0.81547618 ] [0.81096762 0.847561 ] [0.84723628 0.88271612 ] [0.88350499 0.918239 ] [0.9197737 0.95512819 ] [0.95604229 1 ] [0.99231112 0.45061731 ] [1 0.33707869 ] };
+main_Colormap_5_in_15 = {[0 1 ] [0.071086608 1 ] [0.08559408 1 ] [0.1073553 1 ] [0.1363702 1 ] [0.15813141 1 ] [0.17263889 1 ] [0.1944001 1 ] [0.2306688 1 ] [0.26693749 1 ] [0.30320609 1 ] [0.3394748 1 ] [0.37574351 1 ] [0.41201219 1 ] [0.4482809 1 ] [0.48454961 1 ] [0.52081817 1 ] [0.55708688 1 ] [0.57884812 1 ] [0.5789932 1 ] [0.59328312 1 ] [0.5933556 0.40000001 ] [0.59342808 0.40000001 ] [0.60046422 0.80000001 ] [0.6006093 0.80000001 ] [0.60786313 0.89411771 ] [0.62962419 1 ] [0.66589302 0.95294118 ] [0.70216161 0.90196079 ] [0.73843032 0.8509804 ] [0.77469897 0.65882349 ] [0.81096762 0.64313728 ] [0.84723628 0.63529408 ] [0.88350499 0.62352937 ] [0.9197737 0.61176473 ] [0.95604229 0.60000002 ] [0.99231112 0.63529408 ] [1 0.69803917 ] };
+main_Colormap_5_in_16 = {[0 1 ] [1 1 ] };
+main_Colormap_5_in_17 = -8180.0;
+main_Colormap_5_in_18 = 5606.0;
+main_Colormap_5_in_19 = NULL;
+main_Colormap_5_out_1 = NULL;
+main_Colormap_5_out_2 = NULL;
+main_Color_2_in_4 = NULL;
+main_Color_2_in_5 = NULL;
+main_Color_2_out_1 = NULL;
+main_Format_4_in_1 = "/media/disk320GB/DX_movie_%6.6d.dx";
+main_Format_4_in_3 = NULL;
+main_Format_4_out_1 = NULL;
+main_Import_7_in_2 = NULL;
+main_Import_7_in_3 = "dx";
+main_Import_7_in_4 = NULL;
+main_Import_7_in_5 = NULL;
+main_Import_7_in_6 = NULL;
+main_Import_7_out_1 = NULL;
+main_Import_8_in_1 = "red_blue_waves.cm";
+main_Import_8_in_2 = NULL;
+main_Import_8_in_3 = "cm";
+main_Import_8_in_4 = NULL;
+main_Import_8_in_5 = NULL;
+main_Import_8_in_6 = NULL;
+main_Import_8_out_1 = NULL;
+main_Colormap_6_in_1 = {[0 0.70731705 ] [0.49450549 0.51219511 ] [0.49450549 1 ] [0.99267399 1 ] };
+main_Colormap_6_in_2 = {[0.058608059 1 ] [0.50183147 1 ] [0.51648355 1 ] [1 1 ] };
+main_Colormap_6_in_3 = {[0 1 ] [0.49450549 0.5 ] [1 1 ] };
+main_Colormap_6_in_4 = {[0 1 ] [1 1 ] };
+main_Colormap_6_in_5 = "Colormap_6";
+main_Colormap_6_in_7 = NULL;
+main_Colormap_6_in_8 = NULL;
+main_Colormap_6_in_9 = NULL;
+main_Colormap_6_in_12 = { -1.0 0.99000001 };
+main_Colormap_6_in_13 = {[0 0.70731705 ] [0.49450549 0.51219511 ] [0.49450549 1 ] [0.99267399 1 ] };
+main_Colormap_6_in_14 = {[0.058608059 1 ] [0.50183147 1 ] [0.51648355 1 ] [1 1 ] };
+main_Colormap_6_in_15 = {[0 1 ] [0.49450549 0.5 ] [1 1 ] };
+main_Colormap_6_in_16 = {[0 1 ] [1 1 ] };
+main_Colormap_6_in_17 = -1.0;
+main_Colormap_6_in_18 = 0.99000001;
+main_Colormap_6_in_19 = NULL;
+main_Colormap_6_out_1 = NULL;
+main_Colormap_6_out_2 = NULL;
+main_Color_3_in_4 = NULL;
+main_Color_3_in_5 = NULL;
+main_Color_3_out_1 = NULL;
+main_Import_4_in_1 = "DX_continent_boundaries.dx";
+main_Import_4_in_2 = NULL;
+main_Import_4_in_3 = "dx";
+main_Import_4_in_4 = NULL;
+main_Import_4_in_5 = NULL;
+main_Import_4_in_6 = NULL;
+main_Import_4_out_1 = NULL;
+main_Color_4_in_2 = "orange";
+main_Color_4_in_3 = NULL;
+main_Color_4_in_4 = NULL;
+main_Color_4_in_5 = NULL;
+main_Color_4_out_1 = NULL;
+main_Options_2_in_2 = "rendering mode";
+main_Options_2_in_3 = "hardware";
+main_Options_2_in_4 = "line width";
+main_Options_2_in_5 = 1.5;
+main_Options_2_out_1 = NULL;
+main_Collect_1_out_1 = NULL;
+main_Compute_1_in_1 = "$0*85./14100.";
+main_Compute_1_in_3 = NULL;
+main_Compute_1_out_1 = NULL;
+main_Rotate_1_in_2 = "z";
+main_Rotate_1_in_4 = NULL;
+main_Rotate_1_in_5 = NULL;
+main_Rotate_1_in_6 = NULL;
+main_Rotate_1_in_7 = NULL;
+main_Rotate_1_out_1 = NULL;
+main_Collect_3_in_4 = NULL;
+main_Collect_3_out_1 = NULL;
+main_Compute_6_in_1 = "0";
+main_Compute_6_in_2 = NULL;
+main_Compute_6_in_3 = NULL;
+main_Format_2_in_1 = "imagemovie%6.6d.tiff";
+main_Format_2_in_3 = NULL;
+main_Format_2_out_1 = NULL;
+macro Image(
+        id,
+        object,
+        where,
+        useVector,
+        to,
+        from,
+        width,
+        resolution,
+        aspect,
+        up,
+        viewAngle,
+        perspective,
+        options,
+        buttonState = 1,
+        buttonUpApprox = "none",
+        buttonDownApprox = "none",
+        buttonUpDensity = 1,
+        buttonDownDensity = 1,
+        renderMode = 0,
+        defaultCamera,
+        reset,
+        backgroundColor,
+        throttle,
+        RECenable = 0,
+        RECfile,
+        RECformat,
+        RECresolution,
+        RECaspect,
+        AAenable = 0,
+        AAlabels,
+        AAticks,
+        AAcorners,
+        AAframe,
+        AAadjust,
+        AAcursor,
+        AAgrid,
+        AAcolors,
+        AAannotation,
+        AAlabelscale,
+        AAfont,
+        interactionMode,
+        title,
+        AAxTickLocs,
+        AAyTickLocs,
+        AAzTickLocs,
+        AAxTickLabels,
+        AAyTickLabels,
+        AAzTickLabels,
+        webOptions) -> (
+        object,
+        camera,
+        where)
+{
+    ImageMessage(
+        id,
+        backgroundColor,
+        throttle,
+        RECenable,
+        RECfile,
+        RECformat,
+        RECresolution,
+        RECaspect,
+        AAenable,
+        AAlabels,
+        AAticks,
+        AAcorners,
+        AAframe,
+        AAadjust,
+        AAcursor,
+        AAgrid,
+        AAcolors,
+        AAannotation,
+        AAlabelscale,
+        AAfont,
+        AAxTickLocs,
+        AAyTickLocs,
+        AAzTickLocs,
+        AAxTickLabels,
+        AAyTickLabels,
+        AAzTickLabels,
+        interactionMode,
+        title,
+        renderMode,
+        buttonUpApprox,
+        buttonDownApprox,
+        buttonUpDensity,
+        buttonDownDensity) [instance: 1, cache: 1];
+    autoCamera =
+        AutoCamera(
+            object,
+            "front",
+            object,
+            resolution,
+            aspect,
+            [0,1,0],
+            perspective,
+            viewAngle,
+            backgroundColor) [instance: 1, cache: 1];
+    realCamera =
+        Camera(
+            to,
+            from,
+            width,
+            resolution,
+            aspect,
+            up,
+            perspective,
+            viewAngle,
+            backgroundColor) [instance: 1, cache: 1];
+    coloredDefaultCamera = 
+	 UpdateCamera(defaultCamera,
+            background=backgroundColor) [instance: 1, cache: 1];
+    nullDefaultCamera =
+        Inquire(defaultCamera,
+            "is null + 1") [instance: 1, cache: 1];
+    resetCamera =
+        Switch(
+            nullDefaultCamera,
+            coloredDefaultCamera,
+            autoCamera) [instance: 1, cache: 1];
+    resetNull = 
+        Inquire(
+            reset,
+            "is null + 1") [instance: 2, cache: 1];
+    reset =
+        Switch(
+            resetNull,
+            reset,
+            0) [instance: 2, cache: 1];
+    whichCamera =
+        Compute(
+            "($0 != 0 || $1 == 0) ? 1 : 2",
+            reset,
+            useVector) [instance: 1, cache: 1];
+    camera = Switch(
+            whichCamera,
+            resetCamera,
+            realCamera) [instance: 3, cache: 1];
+    AAobject =
+        AutoAxes(
+            object,
+            camera,
+            AAlabels,
+            AAticks,
+            AAcorners,
+            AAframe,
+            AAadjust,
+            AAcursor,
+            AAgrid,
+            AAcolors,
+            AAannotation,
+            AAlabelscale,
+            AAfont,
+            AAxTickLocs,
+            AAyTickLocs,
+            AAzTickLocs,
+            AAxTickLabels,
+            AAyTickLabels,
+            AAzTickLabels) [instance: 1, cache: 1];
+    switchAAenable = Compute("$0+1",
+	     AAenable) [instance: 2, cache: 1];
+    object = Switch(
+	     switchAAenable,
+	     object,
+	     AAobject) [instance:4, cache: 1];
+    SWapproximation_options =
+        Switch(
+            buttonState,
+            buttonUpApprox,
+            buttonDownApprox) [instance: 5, cache: 1];
+    SWdensity_options =
+        Switch(
+            buttonState,
+            buttonUpDensity,
+            buttonDownDensity) [instance: 6, cache: 1];
+    HWapproximation_options =
+        Format(
+            "%s,%s",
+            buttonDownApprox,
+            buttonUpApprox) [instance: 1, cache: 1];
+    HWdensity_options =
+        Format(
+            "%d,%d",
+            buttonDownDensity,
+            buttonUpDensity) [instance: 2, cache: 1];
+    switchRenderMode = Compute(
+	     "$0+1",
+	     renderMode) [instance: 3, cache: 1];
+    approximation_options = Switch(
+	     switchRenderMode,
+            SWapproximation_options,
+	     HWapproximation_options) [instance: 7, cache: 1];
+    density_options = Switch(
+	     switchRenderMode,
+            SWdensity_options,
+            HWdensity_options) [instance: 8, cache: 1];
+    renderModeString = Switch(
+            switchRenderMode,
+            "software",
+            "hardware")[instance: 9, cache: 1];
+    object_tag = Inquire(
+            object,
+            "object tag")[instance: 3, cache: 1];
+    annoted_object =
+        Options(
+            object,
+            "send boxes",
+            0,
+            "cache",
+            1,
+            "object tag",
+            object_tag,
+            "ddcamera",
+            whichCamera,
+            "rendering approximation",
+            approximation_options,
+            "render every",
+            density_options,
+            "button state",
+            buttonState,
+            "rendering mode",
+            renderModeString) [instance: 1, cache: 1];
+    RECresNull =
+        Inquire(
+            RECresolution,
+            "is null + 1") [instance: 4, cache: 1];
+    ImageResolution =
+        Inquire(
+            camera,
+            "camera resolution") [instance: 5, cache: 1];
+    RECresolution =
+        Switch(
+            RECresNull,
+            RECresolution,
+            ImageResolution) [instance: 10, cache: 1];
+    RECaspectNull =
+        Inquire(
+            RECaspect,
+            "is null + 1") [instance: 6, cache: 1];
+    ImageAspect =
+        Inquire(
+            camera,
+            "camera aspect") [instance: 7, cache: 1];
+    RECaspect =
+        Switch(
+            RECaspectNull,
+            RECaspect,
+            ImageAspect) [instance: 11, cache: 1];
+    switchRECenable = Compute(
+          "$0 == 0 ? 1 : (($2 == $3) && ($4 == $5)) ? ($1 == 1 ? 2 : 3) : 4",
+            RECenable,
+            switchRenderMode,
+            RECresolution,
+            ImageResolution,
+            RECaspect,
+	     ImageAspect) [instance: 4, cache: 1];
+    NoRECobject, RECNoRerenderObject, RECNoRerHW, RECRerenderObject = Route(switchRECenable, annoted_object);
+    Display(
+        NoRECobject,
+        camera,
+        where,
+        throttle) [instance: 1, cache: 1];
+    image =
+        Render(
+            RECNoRerenderObject,
+            camera) [instance: 1, cache: 1];
+    Display(
+        image,
+        NULL,
+        where,
+        throttle) [instance: 2, cache: 1];
+    WriteImage(
+        image,
+        RECfile,
+        RECformat) [instance: 1, cache: 1];
+    rec_where = Display(
+        RECNoRerHW,
+        camera,
+        where,
+        throttle) [instance: 1, cache: 0];
+    rec_image = ReadImageWindow(
+        rec_where) [instance: 1, cache: 1];
+    WriteImage(
+        rec_image,
+        RECfile,
+        RECformat) [instance: 1, cache: 1];
+    RECupdateCamera =
+	UpdateCamera(
+	    camera,
+	    resolution=RECresolution,
+	    aspect=RECaspect) [instance: 2, cache: 1];
+    Display(
+        RECRerenderObject,
+        camera,
+        where,
+        throttle) [instance: 1, cache: 1];
+    RECRerenderObject =
+	ScaleScreen(
+	    RECRerenderObject,
+	    NULL,
+	    RECresolution,
+	    camera) [instance: 1, cache: 1];
+    image =
+        Render(
+            RECRerenderObject,
+            RECupdateCamera) [instance: 2, cache: 1];
+    WriteImage(
+        image,
+        RECfile,
+        RECformat) [instance: 2, cache: 1];
+}
+main_Image_4_in_1 = "Image_4";
+main_Image_4_in_3 = "X24,,";
+main_Image_4_in_4 = 1;
+main_Image_4_in_5 = [-0.0283461 -0.0321944 0.0649886];
+main_Image_4_in_6 = [-1.8296 8.29494 3.80668];
+main_Image_4_in_7 = NULL;
+main_Image_4_in_8 = 1097;
+main_Image_4_in_9 = 0.572926;
+main_Image_4_in_10 = [-0.0697647 -0.42138 0.904197];
+main_Image_4_in_11 = 23.6948;
+main_Image_4_in_12 = 1;
+main_Image_4_in_13 = NULL;
+main_Image_4_in_14 = 1;
+main_Image_4_in_15 = NULL;
+main_Image_4_in_16 = NULL;
+main_Image_4_in_17 = 1;
+main_Image_4_in_18 = 1;
+main_Image_4_in_19 = 1;
+main_Image_4_in_20 = NULL;
+main_Image_4_in_21 = NULL;
+main_Image_4_in_22 = NULL;
+main_Image_4_in_23 = NULL;
+main_Image_4_in_25 = "/home/komatits/movies_poster_rapport_CINES/initial_image_earth.tiff";
+main_Image_4_in_26 = "tiff gamma=1";
+main_Image_4_in_27 = NULL;
+main_Image_4_in_28 = NULL;
+main_Image_4_in_29 = NULL;
+main_Image_4_in_30 = NULL;
+main_Image_4_in_31 = NULL;
+main_Image_4_in_32 = NULL;
+main_Image_4_in_33 = NULL;
+main_Image_4_in_34 = NULL;
+main_Image_4_in_35 = NULL;
+main_Image_4_in_36 = NULL;
+main_Image_4_in_37 = NULL;
+main_Image_4_in_38 = NULL;
+main_Image_4_in_39 = NULL;
+main_Image_4_in_40 = NULL;
+main_Image_4_in_41 = "panzoom";
+main_Image_4_in_42 = NULL;
+main_Image_4_in_43 = NULL;
+main_Image_4_in_44 = NULL;
+main_Image_4_in_45 = NULL;
+main_Image_4_in_46 = NULL;
+main_Image_4_in_47 = NULL;
+main_Image_4_in_48 = NULL;
+main_Image_4_in_49 = NULL;
+main_Image_4_out_2 = NULL;
+main_Render_2_in_3 = NULL;
+main_Render_2_out_1 = NULL;
+main_WriteImage_2_in_3 = "tiff gamma=1";
+main_WriteImage_2_in_4 = NULL;
+Executive("product version 4 4 4");
+$sync
+
+sequence main();
+play;

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/ori_GMT_globe_palette.dat
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/ori_GMT_globe_palette.dat	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/ori_GMT_globe_palette.dat	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,43 @@
+-10000 153 0 255
+-9500 153 0 255
+-9000 153 0 255
+-8500 136 17 255
+-8000 119 34 255
+-7500 102 51 255
+-7000 85 68 255
+-6500 68 85 255
+-6000 51 102 255
+-5500 34 119 255
+-5000 17 136 255
+-4500 0 153 255
+-4000 27 164 255
+-3500 54 175 255
+-3000 81 186 255
+-2500 108 197 255
+-2000 134 208 255
+-1500 161 219 255
+-1000 188 230 255
+-500 215 241 255
+-200 241 252 255
+0 51 102 0
+100 51 204 102
+200 187 228 146
+500 255 220 185
+1000 243 202 137
+1500 230 184 88
+2000 217 166 39
+2500 168 154 31
+3000 164 144 25
+3500 162 134 19
+4000 159 123 13
+4500 156 113 7
+5000 153 102 0
+5500 162 89 89
+6000 178 118 118
+6500 183 147 147
+7000 194 176 176
+7500 204 204 204
+8000 229 229 229
+8500 242 242 242
+9000 255 255 255
+9500 255 255 255

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/ori_lat_long_main_cities_Web.dat
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/ori_lat_long_main_cities_Web.dat	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/ori_lat_long_main_cities_Web.dat	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,473 @@
+33 55 48    118 24 0    LosAngeles,CA
+37 45 0     122 40 48   SanFrancisco,CA
+39 45 0     104 52 12   Denver,CO
+VANCOUVER, BC, CANADA   49 16 N           123 07 W
+
+       AFGHANISTAN
+        Kabul                     34° 35' N     69° 12' E
+
+       ALGERIA
+        Algiers                   36° 46' N     30° 3' E
+
+       ARGENTINA
+        Buenos Aires              34° 35' S     58° 29' W
+        Cordoba                   31° 22' S     64° 15' W
+        Tucuman                   26° 50' S     65° 10' W
+
+       AUSTRALIA
+        Adelaide                  34° 56' S    138° 35' E
+        Alice Springs             23° 48' S    133° 53' E
+        Brisbane                  27° 28' S    153° 2' E
+        Darwin                    12° 28' S    130° 51' E
+        Melbourne                 37° 49' S    144° 58' E
+        Perth                     31° 57' S    115° 51' E
+        Sydney                    33° 52' S    151° 12' E
+
+       AUSTRIA
+        Vienna                    48° 15' N     16° 22' E
+
+       AZORES
+        Lajes (Terceira)          38° 45' N     27° 5' W
+
+       BAHAMAS
+        Nassau                    25° 5' N      77° 21' W
+
+       BANGLADESH
+        Chittagong                22° 21' N     91° 50' E
+
+       BELGIUM
+        Brussels                  50° 48' N      4° 21' E
+
+       BELIZE
+        Belize                    17° 31' N     88° 11' W
+
+       BERMUDA
+        Kindley AFB               33° 22' N     64° 41' W
+
+       BHUTAN
+        Thimbu                    27° 32' N     89° 43' E
+
+       BOLIVIA
+        La Paz                    16° 30' S      68° 9' W
+        Sucre                     19° 02' S     65° 17' W
+
+       BRAZIL
+        Belem                      1° 27' S     48° 29' W
+        Belo Horizonte            19° 56' S     43° 57' W
+        Brasilia                  15° 52' S     47° 55' W
+        Curitiba                  25° 25' S     49° 17' W
+        Fortaleza                  3° 46' S     38° 33' W
+        Porto Alegre               30° 2' S     51° 13' W
+        Recife                      8° 4' S     34° 53' W
+        Rio De Janeiro            22° 55' S     43° 12' W
+        Salvador                   13° 0' S     38° 30' W
+        Sao Paulo                 23° 33' S     46° 38' W
+
+       BULGARIA
+        Sofia                     42° 42' N     23° 20' E
+
+       BURKINA FASO
+        Ouagadougou               12° 22' N      1° 31' W
+
+       CAMBODIA
+        Phnom Penh                11° 33' N    104° 51' E
+
+       CAMEROON
+        Yaounde                    3° 52' N     11° 31' E
+
+       CANADA
+        Ottawa                    45° 19' N     75° 40' W
+
+       CHAD
+        N'Djamena                 12° 07' S     15° 03' E
+
+       CHILE
+        Punta Arenas              53° 10' S     70° 54' W
+        Santiago                  33° 27' S     70° 42' W
+        Valparaiso                 33° 1' S     71° 38' W
+
+       CHINA
+        Beijing                   39° 55' N    116° 26' E
+        Shanghai                  31° 12' N    121° 26' E
+
+       COLOMBIA
+        Baranquilla               10° 59' N     74° 48' W
+        Bogota                     4° 36' N      74° 5' W
+        Cali                       3° 25' N     76° 30' W
+        Medellin                   6° 13' N     75° 36' W
+
+       CONGO
+        Brazzaville                4° 15' S     15° 15' E
+
+       CUBA
+        Guantanamo Bay            19° 54' N      75° 9' W
+        Havana                     23° 8' N     82° 21' W
+
+       CZECH REPUBLIC
+        Prague                     50° 5' N     14° 25' E
+
+       DENMARK
+        Copenhagen                55° 41' N     12° 33' E
+
+       DOMINICAN REPUBLIC
+        Santo Domingo             18° 29' N     69° 54' W
+
+       EQUADOR
+        Guayaquil                  21° 0' S     79° 53' W
+        Quito                      0° 13' S     78° 32' W
+
+       EGYPT
+        Cairo                     29° 52' N     31° 20' E
+
+       EL SALVADOR
+        San Salvador              13° 42' N     89° 13' W
+
+       ETHIOPIA
+        Addis Ababa                90° 2' N     38° 45' E
+        Asmara                    15° 17' N     38° 55' E
+
+       FINLAND
+        Helsinki                  60° 10' N     24° 57' E
+
+       FRANCE
+        Lyon                      45° 42' N      4° 47' E
+        Marseilles                43° 18' N      5° 23' E
+        Nantes                    47° 15' N      1° 34' W
+        Nice                      43° 42' N      7° 16' E
+        Paris                     48° 49' N      2° 29' E
+        Strasbourg                48° 35' N      7° 46' E
+
+       FRENCH GUIANA
+        Cayenne                    4° 56' N     52° 27' W
+
+       GERMANY
+        Berlin                    52° 27' N     13° 18' E
+        Hamburg                   53° 33' N      9° 58' E
+        Hannover                  52° 24' N      9° 40' E
+        Mannheim                  49° 34' N      8° 28' E
+        Munich                    48° 9' N      11° 34' E
+
+       GHANA
+        Accra                      5° 33' N      0° 12' W
+
+       GIBRALTAR
+        Gibraltar                  36° 9' N      5° 22' W
+
+       GREECE
+        Athens                    37° 58' N     23° 43' E
+        Thessaloniki              40° 37' N     22° 57' E
+
+       GREENLAND
+        Narsarssuaq               61° 11' N     45° 25' W
+
+       GUATEMALA
+        Guatemala City            14° 37' N     90° 31' W
+
+       GUYANA
+        Georgetown                 6° 50' N     58° 12' W
+
+       HAITI
+        Port Au Prince            18° 33' N     72° 20' W
+
+       HONDURAS
+        Tegucigalpa                14° 6' N     87° 13' W
+
+       HONG KONG
+        Hong Kong                 22° 18' N    114° 10' E
+
+       HUNGARY
+        Budapest                  47° 31' N      19° 2' E
+
+       ICELAND
+        Reykjavik                  64° 8' N     21° 56' E
+
+       INDIA
+        Ahmenabad                  23° 2' N     72° 35' E
+        Bangalore                 12° 57' N     77° 37' E
+        Bombay                    18° 54' N     72° 49' E
+        Calcutta                  22° 32' N     88° 20' E
+        Madras                     13° 4' N     80° 15' E
+        Nagpur                     21° 9' N      79° 7' E
+        New Delhi                 28° 35' N     77° 12' E
+
+       INDONESIA
+        Djakarta                   6° 11' S    106° 50' E
+        Kupang                    10° 10' S    123° 34' E
+        Makassar                    5° 8' S    119° 28' E
+        Medan                      3° 35' N     98° 41' E
+        Palembang                   3° 0' S    104° 46' E
+        Surabaya                   7° 13' S    112° 43' E
+
+       IRAN
+        Abadan                    30° 21' N     48° 16' E
+        Meshed                    36° 17' N     59° 36' E
+        Tehran                    35° 41' N     51° 25' E
+
+       IRAQ
+        Baghdad                   33° 20' N     44° 24' E
+        Mosul                     36° 19' N      43° 9' E
+
+       IRELAND
+        Dublin                    53° 22' N      6° 21' W
+        Shannon                   52° 41' N      8° 55' W
+
+       IRIAN BARAT
+        Manokwari                  0° 52' S     134° 5' E
+
+       ISRAEL
+        Jerusalem                 31° 47' N     35° 13' E
+        Tel Aviv                   32° 6' N     34° 47' E
+
+       ITALY
+        Milan                     45° 27' N      9° 17' E
+        Naples                    40° 53' N     14° 18' E
+        Rome                      41° 48' N     12° 36' E
+
+       IVORY COAST
+        Abidjan                    5° 19' N       4° 1' W
+
+       JAPAN
+        Fukuoka                   33° 35' N    130° 27' E
+        Sapporo                   43° 4' N     141° 21' E
+        Tokyo                     35° 41' N    139° 46' E
+
+       JORDAN
+        Amman                     31° 57' N     35° 57' E
+
+       KENYA
+        Nairobi                    1° 16' S     36° 48' E
+
+       KOREA
+        Pyongyang                  39° 2' N    125° 41' E
+        Seoul                     37° 34' N    126° 58' E
+
+       KUWAIT
+        Kuwait City               29° 20' N     47° 59' E
+
+       LATVIA
+        Riga                      56° 57' N     24° 06' E
+
+       LEBANON
+        Beirut                    33° 54' N     35° 28' E
+
+       LIBERIA
+        Monrovia                   6° 18' N     10° 48' W
+
+       LIBYA
+        Benghazi                     32° 6' N     20° 4' E
+        Tripoli                     32° 54' N    13° 11' E
+
+       MADAGASCAR
+        Tananarive                18° 55' S     47° 33' E
+
+       MALAYSIA
+        Kuala Lumpur                3° 7' N    101° 42' E
+        Penang                     5° 25' N    100° 19' E
+
+       MARTINIQUE
+        Fort De France            14° 37' N      61° 5' W
+
+       MEXICO
+        Guadalajara               20° 41' N    103° 20' W
+        Merida                    20° 58' N     89° 38' W
+        Mexico City               19° 24' N     99° 12' W
+        Monterrey                 25° 40' N    100° 18' W
+        Vera Cruz                 19° 12' N      96° 8' W
+
+      MONGOLIA
+        Ulaanbaatar               47° 55' N    106° 53' E
+
+      MOROCCO
+        Casablanca                33° 35' N      7° 39' W
+
+       MYANMAR (BURMA)
+        Mandalay                  21° 59' N      96° 6' E
+        Yangon (Rangoon)          16° 47' N      96° 9' E
+
+       MAURITANIA
+        Nouakchott                18° 06' N     15° 57' W
+
+       NEPAL
+        Kathmandu                 27° 42' N     85° 12' E
+
+       NETHERLANDS
+        Amsterdam                 52° 23' N      4° 55' E
+
+       NEW ZEALAND
+        Auckland                  36° 51' S    174° 46' E
+        Christchurch              43° 32' S    172° 37' E
+        Wellington                41° 17' S    174° 46' E
+
+       NICARAGUA
+        Managua                   12° 10' N     86° 15' W
+
+       NIGERIA
+        Lagos                      6° 27' N      3° 24' E
+
+       NORWAY
+        Bergen                    60° 24' N      5° 19' E
+        Oslo                      59° 56' N     10° 44' E
+
+       PAKISTAN
+        Islamabad                 33° 42' N     73° 10' E
+        Karachi                   24° 48' N     66° 59' E
+        Lahore                    31° 35' N     74° 20' E
+        Peshewar                   34° 1' N     71° 35' E
+
+       PANAMA
+        Panama City                8° 58' N     79° 33' W
+
+       PAPUA NEW GUINEA
+        Port Moresby               9° 29' S     147° 9' E
+
+       PARAGUAY
+        Ascuncion                 25° 17' S     57° 30' W
+
+       PERU
+        Lima                       12° 5' S      77° 3' W
+
+       PHILIPPINES
+        Manila                    14° 35' N    120° 59' E
+
+       POLAND
+        Krakow                     50° 4' N     19° 57' E
+        Warsaw                    52° 13' N      21° 2' E
+
+       PORTUGAL
+        Lisbon                    38° 43' N       9° 8' W
+
+       PUERTO RICO
+        San Juan                  18° 29' N      66° 7' W
+
+       ROMANIA
+        Bucharest                 44° 25' N      26° 6' E
+
+       RUSSIA
+        Alma Ata                  43° 14' N     76° 53' E
+        Archangel                 64° 33' N     40° 32' E
+        Kaliningrad               54° 43' N     20° 30' E
+        Krasnoyarsk                56° 1' N     92° 57' E
+        Kiev                      50° 27' N     30° 30' E
+        Kharkov                    50° 0' N     36° 14' E
+        Kuibyshev                 53° 11' N      50° 6' E
+        Minsk                     53° 54' N     27° 33' E
+        Moscow                    55° 46' N     37° 40' E
+        Odessa                    46° 29' N     30° 44' E
+        Petropavlovsk             52° 53' N    158° 42' E
+        Rostov on Don             47° 13' N     39° 43' E
+        Sverdlovsk                56° 49' N     60° 38' E
+        St. Petersburg            59° 56' N     30° 16' E
+        Tashkent                  41° 20' N     69° 18' E
+        Tbilisi                   41° 43' N     44° 48' E
+        Vladivostok                43° 7' N    131° 55' E
+        Volgograd                 48° 42' N     44° 31' E
+
+       SAUDI ARABIA
+        Dhahran                   26° 17' N      50° 9' E
+        Jedda                     21° 28' N     39° 10' E
+        Riyadh                    24° 39' N     46° 42' E
+
+       SENEGAL
+        Dakar                     14° 42' N     17° 29' W
+
+       SIERRA LEONE
+        Freetown                   8° 30' N     13° 15' W
+
+       SINGAPORE
+        Singapore                  1° 18' N    103° 50' E
+
+       SOMALIA
+        Mogadishu                  2° 2' N      49° 19' E
+
+       SOUTH AFRICA
+        Cape Town                 33° 56' S     18° 29' E
+        Johannesburg              26° 11' S      28° 3' E
+        Pretoria                  25° 45' S     28° 14' E
+
+      SPAIN
+       Barcelona                  41° 24' N       2° 9' E
+       Madrid                     40° 25' N      3° 41' W
+       Valencia                   39° 28' N      0° 23' W
+
+      SRI LANKA
+       Colombo                     6° 54' N     79° 52' E
+
+      SUDAN
+       Khartoum                   15° 37' N     32° 33' E
+
+      SURINAM
+       Paramaribo                  5° 49' N      55° 9' W
+
+      SWEDEN
+       Stockholm                  59° 21' N      18° 4' E
+
+      SWITZERLAND
+       Zurich                     47° 23' N      8° 33' E
+
+      SYRIA
+       Damascus                   33° 30' N     36° 20' E
+
+      TAIWAN
+       Tainan                     22° 57' N    120° 12' E
+       Taipei                      25° 2' N    121° 31' E
+
+      TANZANIA
+       Dar es Salaam               6° 50' S     39° 18' E
+
+      THAILAND
+       Bangkok                    13° 44' N    100° 30' E
+
+      TONGA
+       Nukualofa                  21° 08' S    175° 12' W
+
+      TRINIDAD
+       Port of Spain              10° 40' N     61° 31' W
+
+      TUNISIA
+       Tunis                      36° 47' N     10° 12' E
+
+      TURKEY
+       Adana                      36° 59' N     35° 18' E
+       Ankara                     39° 57' N     32° 53' E
+       Istanbul                   40° 58' N     28° 50' E
+       Izmir                      38° 26' N     27° 10' E
+
+      UNITED KINGDOM
+       Belfast                    54° 36' N      5° 55' W
+       Birmingham                 52° 29' N      1° 56' W
+       Cardiff                    51° 28' N      3° 10' W
+       Edinburgh                  55° 55' N      3° 11' W
+       Glasgow                    55° 52' N      4° 17' W
+       London                     51° 29' N       0° 0' W
+
+      UNITED STATES
+        Washington D.C.           38° 51' N      77° 2' W
+
+      URUGUAY
+       Montevideo                 34° 51' S     56° 13' W
+
+      VANUATU
+        Vila                      17° 44' S    168° 19' E
+
+      VENEZUELA
+       Caracas                    10° 30' N     66° 56' W
+       Maracaibo                  10° 39' N     71° 36' W
+
+      VIETNAM
+       Da Nang                     16° 4' N     108° 13' E
+       Hanoi                       21° 2' N     105° 52' E
+       Ho Chi Minh City
+       (Saigon)                   10° 47' N     106° 42' E
+
+      YEMEN
+        Aden                      12° 50' N       45° 2' E
+
+      YUGOSLAVIA
+       Belgrade                   44° 48' N      20° 28' E
+
+      ZAIRE
+       Kinshasa (Leopoldville)     4° 20' S      15° 18' E
+       Kisangani (Stanleyville)    0° 26' S      15° 14' E
+
+      ZIMBABWE
+        Harare                    17° 50' S      31° 03' E

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/permute_cubit_2_opendx.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/permute_cubit_2_opendx.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/permute_cubit_2_opendx.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,53 @@
+!=====================================================================
+!
+!          S p e c f e m 3 D  G l o b e  V e r s i o n  5 . 1
+!          --------------------------------------------------
+!
+!          Main authors: Dimitri Komatitsch and Jeroen Tromp
+!                        Princeton University, USA
+!             and University of Pau / CNRS / INRIA, France
+! (c) Princeton University / California Institute of Technology and University of Pau / CNRS / INRIA
+!                            August 2008
+!
+! This program is free software; you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation; either version 2 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License along
+! with this program; if not, write to the Free Software Foundation, Inc.,
+! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+!
+!=====================================================================
+
+! permute order of points in CUBIT elements (hexahedra) to display them in OpenDX
+
+  program permute_cubit_2_opendx
+
+  implicit none
+
+  integer iglob1,iglob2,iglob3,iglob4,iglob5,iglob6,iglob7,iglob8,ispec,nspec
+
+! number of elements in CUBIT mesh
+  nspec = 13
+
+  do ispec=1,nspec
+
+    read(*,*) iglob1,iglob2,iglob3,iglob4,iglob5,iglob6,iglob7,iglob8
+
+! write to AVS or DX global file with correct offset for hexahedra (3-D)
+! in the case of OpenDX, node numbers start at zero
+! in the case of AVS, node numbers start at one
+! point order in OpenDX is 4,1,8,5,3,2,7,6, *not* 1,2,3,4,5,6,7,8 as in AVS
+    write(*,"(i6,1x,i6,1x,i6,1x,i6,1x,i6,1x,i6,1x,i6,1x,i6)") &
+       iglob4-1,iglob1-1,iglob8-1,iglob5-1,iglob3-1,iglob2-1,iglob7-1,iglob6-1
+
+  enddo
+
+  end program permute_cubit_2_opendx
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/readme.txt
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/readme.txt	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/readme.txt	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,13 @@
+--------------------------------
+readme
+--------------------------------
+
+OpenDX, Open source visualization software package based on IBM's Visualization Data Explorer
+http://www.opendx.org/
+
+AVS, Advanced Visual Systems provides interactive data visualization software
+http://www.avs.com/
+
+
+
+- various files provided to create your visualizations

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/red_blue_waves.cm
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/red_blue_waves.cm	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/red_blue_waves.cm	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,19 @@
+-0.99
+1
+4
+0.00000000000000000000   0.70731706999999999219  0  0  0
+0.49450548999999999200   0.51219512000000000373  0  0  0
+0.49450548999999999200   1.00000000000000000000  0  0  0
+0.99267399000000000608   1.00000000000000000000  0  0  0
+4
+0.05860805899999999707   1.00000000000000000000  0  0  0
+0.50183149999999998592   1.00000000000000000000  0  0  0
+0.51648351999999997375   1.00000000000000000000  0  0  0
+1.00000000000000000000   1.00000000000000000000  0  0  0
+3
+0.00000000000000000000   1.00000000000000000000  0  0  0
+0.49450548999999999200   0.50000000000000000000  0  0  0
+1.00000000000000000000   1.00000000000000000000  0  0  0
+2
+0.00000000000000000000   1.00000000000000000000  0  0  0
+1.00000000000000000000   1.00000000000000000000  0  0  0

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/shrink_elements_OpenDX_mesh.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/shrink_elements_OpenDX_mesh.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/shrink_elements_OpenDX_mesh.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,143 @@
+#! /usr/bin/perl
+
+# shrink elements in an existing OpenDX mesh file to make it easier
+# to visualize them
+
+# David Michea, University of Pau, France, January 2007
+
+use Data::Dumper;
+
+if (scalar(@ARGV) < 2)
+{     print "usage : $0 file2split.dx filesplit.dx [spacing ratio (try 1)]\n";
+      exit;
+}
+$filein = $ARGV[0];
+$fileout = $ARGV[1];
+$distance = $ARGV[2] || 0.3;
+$numnode=0;
+$nb_corners=8;
+
+# read datas
+open (DF, "$filein");
+while(my $line=<DF>)
+{     chomp $line;
+      if ($line =~ m/^(\s+\d+\.?\d*\s*)+$/)
+      {     if ($line =~ m/\./)
+            {     my @temp=split(/\s+/, $line);
+                  shift @temp;
+
+                  $nodes[$numnode] = \@temp;
+                  $numnode++;
+            }
+            elsif ($line =~ m/(\s+\d+\s*){8}/)
+            {     my @temp=split(/\s+/,$line);
+                  shift @temp;
+                  $hex[$numhex] = \@temp;
+                  $numhex++;
+            }
+            else
+            {     # couleur
+            }
+      }
+}
+close (DF);
+# dump datas into structure
+my @cubes;
+foreach $cube (@hex)
+{     my @corners;
+      foreach $corner (@{$cube})
+      {     my @coords = @{$nodes[$corner]};
+            push(@corners, \@coords);
+      }
+      push (@cubes, \@corners);
+}
+# split the brick
+eclate($distance, at cubes);
+# write dx file
+dump_dx(@cubes);
+exit;
+
+sub eclate
+{     my ($dist, @cubes) = @_;
+      my ($mid_x,$mid_y,$mid_z) = mid_pos(@cubes);
+      foreach $cube(@cubes)
+      {     ($mx, $my, $mz) = moy_pos($cube);
+            $dx = ($mx-$mid_x)*$dist;
+            $dy = ($my-$mid_y)*$dist;
+            $dz = ($mz-$mid_z)*$dist;
+            redefine($cube,$dx,$dy,$dz);
+      }
+}
+
+sub mid_pos
+{     my (@cubes) = @_;
+      my ($mx,$my,$mz)=(1000,1000,1000);
+      my ($Mx,$My,$Mz)=(-1000,-1000,-1000);
+      my $compt=0;
+      foreach $cube(@cubes)
+      {     foreach my $corner (@{$cube})
+            {     my ($tx,$ty,$tz) = @$corner;
+                  $mx=$tx if ($tx < $mx);
+                  $my=$ty if ($ty < $my);
+                  $mz=$tz if ($tz < $mz);
+                  $Mx=$tx if ($tx > $Mx);
+                  $My=$ty if ($ty > $My);
+                  $Mz=$tz if ($tz > $Mz);
+            }
+      }
+      return (($Mx+$mx)/2,($My+$my)/2,($Mz+$mz)/2);
+}
+
+sub moy_pos
+{     my $cube = shift;
+      my ($x,$y,$z)=(0,0,0);
+      my $compt=0;
+      foreach my $corner (@{$cube})
+      {     my ($tx,$ty,$tz) = @$corner;
+            $x+=$tx;
+            $y+=$ty;
+            $z+=$tz;
+            $compt++;
+      }
+      ($x,$y,$z) = map ($_/$compt, ($x,$y,$z));
+      return ($x,$y,$z)
+}
+
+sub redefine
+{     my ($cube,$dx,$dy,$dz) = @_;
+      foreach my $corner (@{$cube})
+      {     $corner->[0]+=$dx;
+            $corner->[1]+=$dy;
+            $corner->[2]+=$dz;
+      }
+}
+
+sub dump_dx
+{     my (@cubes) = @_;
+      open (OUT, ">$fileout");
+      $nb_nodes = $numhex * $nb_corners;
+      print OUT " object 1 class array type float rank 1 shape 3 items         $nb_nodes  data follows\n";
+      foreach my $uncube (@cubes)
+      {     foreach my $uncoin (@$uncube)
+            {     print OUT join(" ", @$uncoin),"\n";
+            }
+      }
+      print OUT " object 2 class array type int rank 1 shape 8 items         $numhex  data follows\n";
+      for ($i=0;$i<$nb_nodes;$i++)
+      {     print OUT $i," ";
+            print OUT "\n" unless (($i+1)%$nb_corners);
+      }
+      print OUT "\n\n",' attribute "element type" string "cubes"',"\n",'attribute "ref" string "positions"',"\n",'object 3 class array type float rank 0 items         ',$numhex,"  data follows\n";
+      for ($i=1;$i<$numhex+1;$i++) {print OUT $i,"\n";}
+      print OUT <<EOF
+ attribute "dep" string "connections"
+ object "irregular positions irregular connections" class field
+ component "positions" value 1
+ component "connections" value 2
+ component "data" value 3
+ end
+EOF
+;
+      close (OUT);
+}
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/visu_valence_central_cube.cfg
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/visu_valence_central_cube.cfg	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/visu_valence_central_cube.cfg	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,59 @@
+//
+// time: Mon Dec 10 18:19:12 2007
+//
+// version: 3.2.0 (format), 4.4.4 (DX)
+//
+//
+// panel[3]: position = (0.3482,0.0543), size = 0.2232x0.4286, startup = 1, devstyle = 1, screen = 0
+// title: value = Control Panel
+//
+// workspace: width = 500, height = 500
+// layout: snap = 0, width = 50, height = 50, align = NN
+//
+// node Colormap[1]:
+// input[1]: defaulting = 0, value = { [0.0 0.666667] [1.0 0.0] }
+// input[2]: defaulting = 0, value = { [0.0 1.0] [1.0 1.0] }
+// input[3]: defaulting = 0, value = { [0.0 1.0] [1.0 1.0] }
+// input[4]: defaulting = 0, value = { [0.0 1.0] [1.0 1.0] }
+// input[5]: defaulting = 0, value = "Colormap_1"
+// input[7]: defaulting = 1, value = 0.0
+// input[8]: defaulting = 1, value = 6.0
+// input[9]: defaulting = 1, value = 20
+// input[12]: defaulting = 0, value = { 0.0 6.0 }
+// input[17]: defaulting = 0, value = 0.0
+// input[18]: defaulting = 0, value = 6.0
+// window: position = (   inf,   inf), size =    infx   inf
+//
+// interactor Scalar[1]: num_components = 1, value = 0.0005 
+// component[0]: minimum = -1e+06, maximum = 1e+06, global increment = 1, decimal = 5, global continuous = 0
+// instance: panel = 3, x = 5, y = 5, style = Stepper, vertical = 1, size = 150x56
+// local continuous: value = 0, mode = global
+// local increment[0]: value = 1, mode = global
+//
+// node Image[2]:
+// depth: value = 24
+// window: position = (0.4286,0.3305), size = 0.5667x0.6333, screen = 0
+// input[1]: defaulting = 0, value = "Image_2"
+// input[4]: defaulting = 0, value = 1
+// input[5]: defaulting = 0, value = [0.0639443 -0.0616337 0.0273752]
+// input[6]: defaulting = 0, value = [1.55495 2.88829 0.954069]
+// input[7]: defaulting = 0, value = 0.281381
+// input[8]: defaulting = 0, value = 938
+// input[9]: defaulting = 0, value = 0.664712
+// input[10]: defaulting = 0, value = [-0.0792268 -0.262092 0.961785]
+// input[11]: defaulting = 1, value = 4.69386
+// input[12]: defaulting = 0, value = 0
+// input[14]: defaulting = 0, value = 1
+// input[15]: defaulting = 0, value = "none"
+// input[16]: defaulting = 0, value = "none"
+// input[17]: defaulting = 0, value = 1
+// input[18]: defaulting = 0, value = 1
+// input[19]: defaulting = 0, value = 1
+// input[22]: defaulting = 0, value = "black"
+// input[25]: defaulting = 0, value = "/home/latychev/boo"
+// input[26]: defaulting = 0, value = "eps gray dpi=86 orient=portrait"
+// input[29]: defaulting = 0, value = 0
+// input[33]: defaulting = 0, value = 0
+// input[36]: defaulting = 0, value = 0
+// input[41]: defaulting = 0, value = "rotate"
+// internal caching: 1

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/visu_valence_central_cube.net
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/visu_valence_central_cube.net	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/visu_valence_central_cube.net	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,634 @@
+//
+// time: Mon Dec 10 18:19:12 2007
+//
+// version: 3.2.0 (format), 4.4.4 (DX)
+//
+//
+// MODULE main
+// workspace: width = 366, height = 644
+// layout: snap = 0, width = 50, height = 50, align = NN
+//
+macro main(
+) -> (
+) {
+    // 
+    // node Import[2]: x = 218, y = 0, inputs = 6, label = Import
+    // input[1]: defaulting = 0, visible = 1, type = 32, value = "debug_val_proc_0.dx"
+    // input[3]: defaulting = 0, visible = 1, type = 32, value = "dx"
+    //
+main_Import_2_out_1 = 
+    Import(
+    main_Import_2_in_1,
+    main_Import_2_in_2,
+    main_Import_2_in_3,
+    main_Import_2_in_4,
+    main_Import_2_in_5,
+    main_Import_2_in_6
+    ) [instance: 2, cache: 1];
+    // 
+    // node Regrid[1]: x = 103, y = 98, inputs = 6, label = Regrid
+    //
+main_Regrid_1_out_1 = 
+    Regrid(
+    main_Import_2_out_1,
+    main_Import_2_out_1,
+    main_Regrid_1_in_3,
+    main_Regrid_1_in_4,
+    main_Regrid_1_in_5,
+    main_Regrid_1_in_6
+    ) [instance: 1, cache: 1];
+    // 
+    // node Colormap[1]: x = 266, y = 96, inputs = 19, label = Colormap
+    // input[1]: defaulting = 0, visible = 0, type = 16777224, value = { [0.0 0.666667] [1.0 0.0] }
+    // input[2]: defaulting = 0, visible = 0, type = 16777224, value = { [0.0 1.0] [1.0 1.0] }
+    // input[3]: defaulting = 0, visible = 0, type = 16777224, value = { [0.0 1.0] [1.0 1.0] }
+    // input[4]: defaulting = 0, visible = 0, type = 16777224, value = { [0.0 1.0] [1.0 1.0] }
+    // input[5]: defaulting = 0, visible = 0, type = 32, value = "Colormap_1"
+    // input[7]: defaulting = 1, visible = 0, type = 5, value = 0.0
+    // input[8]: defaulting = 1, visible = 0, type = 5, value = 6.0
+    // input[9]: defaulting = 1, visible = 0, type = 1, value = 20
+    // input[12]: defaulting = 0, visible = 0, type = 16777221, value = { 0.0 6.0 }
+    // input[17]: defaulting = 0, visible = 0, type = 5, value = 0.0
+    // input[18]: defaulting = 0, visible = 0, type = 5, value = 6.0
+    // window: position = (   inf,   inf), size =    infx   inf
+    //
+main_Colormap_1_out_1[cache: 2],
+main_Colormap_1_out_2[cache: 2] = 
+    Colormap(
+    main_Colormap_1_in_1,
+    main_Colormap_1_in_2,
+    main_Colormap_1_in_3,
+    main_Colormap_1_in_4,
+    main_Colormap_1_in_5,
+    main_Import_2_out_1,
+    main_Colormap_1_in_7,
+    main_Colormap_1_in_8,
+    main_Colormap_1_in_9,
+    main_Colormap_1_in_10,
+    main_Colormap_1_in_11,
+    main_Colormap_1_in_12,
+    main_Colormap_1_in_13,
+    main_Colormap_1_in_14,
+    main_Colormap_1_in_15,
+    main_Colormap_1_in_16,
+    main_Colormap_1_in_17,
+    main_Colormap_1_in_18,
+    main_Colormap_1_in_19
+    ) [instance: 1, cache: 1];
+    // 
+    // node Color[1]: x = 198, y = 202, inputs = 5, label = Color
+    //
+main_Color_1_out_1 = 
+    Color(
+    main_Regrid_1_out_1,
+    main_Colormap_1_out_1,
+    main_Color_1_in_3,
+    main_Color_1_in_4,
+    main_Color_1_in_5
+    ) [instance: 1, cache: 1];
+    // 
+    // node ShowPositions[1]: x = 14, y = 279, inputs = 2, label = ShowPositions
+    //
+main_ShowPositions_1_out_1 = 
+    ShowPositions(
+    main_Color_1_out_1,
+    main_ShowPositions_1_in_2
+    ) [instance: 1, cache: 1];
+    // 
+    // node Scalar[1]: x = 167, y = 399, inputs = 11, label = Scalar
+    // input[1]: defaulting = 0, visible = 0, type = 32, value = "Scalar_1"
+    // input[3]: defaulting = 0, visible = 0, type = 5, value = 0.0005 
+    // input[5]: defaulting = 1, visible = 0, type = 5, value = -1000000.0
+    // input[6]: defaulting = 1, visible = 0, type = 5, value = 1000000.0
+    // input[7]: defaulting = 1, visible = 0, type = 5, value = 1.0
+    // input[9]: defaulting = 1, visible = 0, type = 1, value = 5
+    // output[1]: visible = 1, type = 5, value = 0.0005 
+    //
+    // 
+    // node Glyph[1]: x = 18, y = 432, inputs = 7, label = Glyph
+    //
+main_Glyph_1_out_1 = 
+    Glyph(
+    main_ShowPositions_1_out_1,
+    main_Glyph_1_in_2,
+    main_Glyph_1_in_3,
+    main_Scalar_1_out_1,
+    main_Glyph_1_in_5,
+    main_Glyph_1_in_6,
+    main_Glyph_1_in_7
+    ) [instance: 1, cache: 1];
+    // 
+    // node Collect[1]: x = 270, y = 500, inputs = 4, label = Collect
+    //
+main_Collect_1_out_1 = 
+    Collect(
+    main_Glyph_1_out_1,
+    main_ShowPositions_1_out_1,
+    main_Color_1_out_1,
+    main_Collect_1_in_4
+    ) [instance: 1, cache: 1];
+    // 
+    // node Image[2]: x = 282, y = 582, inputs = 49, label = Image
+    // input[1]: defaulting = 0, visible = 0, type = 67108863, value = "Image_2"
+    // input[4]: defaulting = 0, visible = 0, type = 1, value = 1
+    // input[5]: defaulting = 0, visible = 0, type = 8, value = [0.0639443 -0.0616337 0.0273752]
+    // input[6]: defaulting = 0, visible = 0, type = 8, value = [1.55495 2.88829 0.954069]
+    // input[7]: defaulting = 0, visible = 0, type = 5, value = 0.281381
+    // input[8]: defaulting = 0, visible = 0, type = 1, value = 938
+    // input[9]: defaulting = 0, visible = 0, type = 5, value = 0.664712
+    // input[10]: defaulting = 0, visible = 0, type = 8, value = [-0.0792268 -0.262092 0.961785]
+    // input[11]: defaulting = 1, visible = 0, type = 5, value = 4.69386
+    // input[12]: defaulting = 0, visible = 0, type = 1, value = 0
+    // input[14]: defaulting = 0, visible = 0, type = 1, value = 1
+    // input[15]: defaulting = 0, visible = 0, type = 32, value = "none"
+    // input[16]: defaulting = 0, visible = 0, type = 32, value = "none"
+    // input[17]: defaulting = 0, visible = 0, type = 1, value = 1
+    // input[18]: defaulting = 0, visible = 0, type = 1, value = 1
+    // input[19]: defaulting = 0, visible = 0, type = 3, value = 1
+    // input[22]: defaulting = 0, visible = 0, type = 32, value = "black"
+    // input[25]: defaulting = 0, visible = 0, type = 32, value = "/home/latychev/boo"
+    // input[26]: defaulting = 0, visible = 0, type = 32, value = "eps gray dpi=86 orient=portrait"
+    // input[29]: defaulting = 0, visible = 0, type = 3, value = 0
+    // input[33]: defaulting = 0, visible = 0, type = 3, value = 0
+    // input[36]: defaulting = 0, visible = 0, type = 3, value = 0
+    // input[41]: defaulting = 0, visible = 0, type = 32, value = "rotate"
+    // depth: value = 24
+    // window: position = (0.4286,0.3305), size = 0.5667x0.6333, screen = 0
+    // internal caching: 1
+    //
+main_Image_2_out_1,
+main_Image_2_out_2,
+main_Image_2_out_3 = 
+    Image(
+    main_Image_2_in_1,
+    main_Collect_1_out_1,
+    main_Image_2_in_3,
+    main_Image_2_in_4,
+    main_Image_2_in_5,
+    main_Image_2_in_6,
+    main_Image_2_in_7,
+    main_Image_2_in_8,
+    main_Image_2_in_9,
+    main_Image_2_in_10,
+    main_Image_2_in_11,
+    main_Image_2_in_12,
+    main_Image_2_in_13,
+    main_Image_2_in_14,
+    main_Image_2_in_15,
+    main_Image_2_in_16,
+    main_Image_2_in_17,
+    main_Image_2_in_18,
+    main_Image_2_in_19,
+    main_Image_2_in_20,
+    main_Image_2_in_21,
+    main_Image_2_in_22,
+    main_Image_2_in_23,
+    main_Image_2_in_24,
+    main_Image_2_in_25,
+    main_Image_2_in_26,
+    main_Image_2_in_27,
+    main_Image_2_in_28,
+    main_Image_2_in_29,
+    main_Image_2_in_30,
+    main_Image_2_in_31,
+    main_Image_2_in_32,
+    main_Image_2_in_33,
+    main_Image_2_in_34,
+    main_Image_2_in_35,
+    main_Image_2_in_36,
+    main_Image_2_in_37,
+    main_Image_2_in_38,
+    main_Image_2_in_39,
+    main_Image_2_in_40,
+    main_Image_2_in_41,
+    main_Image_2_in_42,
+    main_Image_2_in_43,
+    main_Image_2_in_44,
+    main_Image_2_in_45,
+    main_Image_2_in_46,
+    main_Image_2_in_47,
+    main_Image_2_in_48,
+    main_Image_2_in_49
+    ) [instance: 2, cache: 1];
+// network: end of macro body
+CacheScene(main_Image_2_in_1, main_Image_2_out_1, main_Image_2_out_2);
+}
+main_Import_2_in_1 = "debug_val_proc_0.dx";
+main_Import_2_in_2 = NULL;
+main_Import_2_in_3 = "dx";
+main_Import_2_in_4 = NULL;
+main_Import_2_in_5 = NULL;
+main_Import_2_in_6 = NULL;
+main_Import_2_out_1 = NULL;
+main_Regrid_1_in_3 = NULL;
+main_Regrid_1_in_4 = NULL;
+main_Regrid_1_in_5 = NULL;
+main_Regrid_1_in_6 = NULL;
+main_Regrid_1_out_1 = NULL;
+main_Colormap_1_in_1 = { [0.0 0.666667] [1.0 0.0] };
+main_Colormap_1_in_2 = { [0.0 1.0] [1.0 1.0] };
+main_Colormap_1_in_3 = { [0.0 1.0] [1.0 1.0] };
+main_Colormap_1_in_4 = { [0.0 1.0] [1.0 1.0] };
+main_Colormap_1_in_5 = "Colormap_1";
+main_Colormap_1_in_7 = NULL;
+main_Colormap_1_in_8 = NULL;
+main_Colormap_1_in_9 = NULL;
+main_Colormap_1_in_10 = NULL;
+main_Colormap_1_in_11 = NULL;
+main_Colormap_1_in_12 = { 0.0 6.0 };
+main_Colormap_1_in_13 = NULL;
+main_Colormap_1_in_14 = NULL;
+main_Colormap_1_in_15 = NULL;
+main_Colormap_1_in_16 = NULL;
+main_Colormap_1_in_17 = 0.0;
+main_Colormap_1_in_18 = 6.0;
+main_Colormap_1_in_19 = NULL;
+main_Colormap_1_out_1 = NULL;
+main_Color_1_in_3 = NULL;
+main_Color_1_in_4 = NULL;
+main_Color_1_in_5 = NULL;
+main_Color_1_out_1 = NULL;
+main_ShowPositions_1_in_2 = NULL;
+main_ShowPositions_1_out_1 = NULL;
+main_Scalar_1_in_1 = "Scalar_1";
+main_Scalar_1_in_2 = NULL;
+main_Scalar_1_in_3 = 0.0005 ;
+main_Scalar_1_in_4 = NULL;
+main_Scalar_1_in_5 = NULL;
+main_Scalar_1_in_6 = NULL;
+main_Scalar_1_in_7 = NULL;
+main_Scalar_1_in_8 = NULL;
+main_Scalar_1_in_9 = NULL;
+main_Scalar_1_in_10 = NULL;
+main_Scalar_1_in_11 = NULL;
+main_Scalar_1_out_1 = 0.0005 ;
+main_Glyph_1_in_2 = NULL;
+main_Glyph_1_in_3 = NULL;
+main_Glyph_1_in_5 = NULL;
+main_Glyph_1_in_6 = NULL;
+main_Glyph_1_in_7 = NULL;
+main_Glyph_1_out_1 = NULL;
+main_Collect_1_in_4 = NULL;
+main_Collect_1_out_1 = NULL;
+macro Image(
+        id,
+        object,
+        where,
+        useVector,
+        to,
+        from,
+        width,
+        resolution,
+        aspect,
+        up,
+        viewAngle,
+        perspective,
+        options,
+        buttonState = 1,
+        buttonUpApprox = "none",
+        buttonDownApprox = "none",
+        buttonUpDensity = 1,
+        buttonDownDensity = 1,
+        renderMode = 0,
+        defaultCamera,
+        reset,
+        backgroundColor,
+        throttle,
+        RECenable = 0,
+        RECfile,
+        RECformat,
+        RECresolution,
+        RECaspect,
+        AAenable = 0,
+        AAlabels,
+        AAticks,
+        AAcorners,
+        AAframe,
+        AAadjust,
+        AAcursor,
+        AAgrid,
+        AAcolors,
+        AAannotation,
+        AAlabelscale,
+        AAfont,
+        interactionMode,
+        title,
+        AAxTickLocs,
+        AAyTickLocs,
+        AAzTickLocs,
+        AAxTickLabels,
+        AAyTickLabels,
+        AAzTickLabels,
+        webOptions) -> (
+        object,
+        camera,
+        where)
+{
+    ImageMessage(
+        id,
+        backgroundColor,
+        throttle,
+        RECenable,
+        RECfile,
+        RECformat,
+        RECresolution,
+        RECaspect,
+        AAenable,
+        AAlabels,
+        AAticks,
+        AAcorners,
+        AAframe,
+        AAadjust,
+        AAcursor,
+        AAgrid,
+        AAcolors,
+        AAannotation,
+        AAlabelscale,
+        AAfont,
+        AAxTickLocs,
+        AAyTickLocs,
+        AAzTickLocs,
+        AAxTickLabels,
+        AAyTickLabels,
+        AAzTickLabels,
+        interactionMode,
+        title,
+        renderMode,
+        buttonUpApprox,
+        buttonDownApprox,
+        buttonUpDensity,
+        buttonDownDensity) [instance: 1, cache: 1];
+    autoCamera =
+        AutoCamera(
+            object,
+            "front",
+            object,
+            resolution,
+            aspect,
+            [0,1,0],
+            perspective,
+            viewAngle,
+            backgroundColor) [instance: 1, cache: 1];
+    realCamera =
+        Camera(
+            to,
+            from,
+            width,
+            resolution,
+            aspect,
+            up,
+            perspective,
+            viewAngle,
+            backgroundColor) [instance: 1, cache: 1];
+    coloredDefaultCamera = 
+	 UpdateCamera(defaultCamera,
+            background=backgroundColor) [instance: 1, cache: 1];
+    nullDefaultCamera =
+        Inquire(defaultCamera,
+            "is null + 1") [instance: 1, cache: 1];
+    resetCamera =
+        Switch(
+            nullDefaultCamera,
+            coloredDefaultCamera,
+            autoCamera) [instance: 1, cache: 1];
+    resetNull = 
+        Inquire(
+            reset,
+            "is null + 1") [instance: 2, cache: 1];
+    reset =
+        Switch(
+            resetNull,
+            reset,
+            0) [instance: 2, cache: 1];
+    whichCamera =
+        Compute(
+            "($0 != 0 || $1 == 0) ? 1 : 2",
+            reset,
+            useVector) [instance: 1, cache: 1];
+    camera = Switch(
+            whichCamera,
+            resetCamera,
+            realCamera) [instance: 3, cache: 1];
+    AAobject =
+        AutoAxes(
+            object,
+            camera,
+            AAlabels,
+            AAticks,
+            AAcorners,
+            AAframe,
+            AAadjust,
+            AAcursor,
+            AAgrid,
+            AAcolors,
+            AAannotation,
+            AAlabelscale,
+            AAfont,
+            AAxTickLocs,
+            AAyTickLocs,
+            AAzTickLocs,
+            AAxTickLabels,
+            AAyTickLabels,
+            AAzTickLabels) [instance: 1, cache: 1];
+    switchAAenable = Compute("$0+1",
+	     AAenable) [instance: 2, cache: 1];
+    object = Switch(
+	     switchAAenable,
+	     object,
+	     AAobject) [instance:4, cache: 1];
+    SWapproximation_options =
+        Switch(
+            buttonState,
+            buttonUpApprox,
+            buttonDownApprox) [instance: 5, cache: 1];
+    SWdensity_options =
+        Switch(
+            buttonState,
+            buttonUpDensity,
+            buttonDownDensity) [instance: 6, cache: 1];
+    HWapproximation_options =
+        Format(
+            "%s,%s",
+            buttonDownApprox,
+            buttonUpApprox) [instance: 1, cache: 1];
+    HWdensity_options =
+        Format(
+            "%d,%d",
+            buttonDownDensity,
+            buttonUpDensity) [instance: 2, cache: 1];
+    switchRenderMode = Compute(
+	     "$0+1",
+	     renderMode) [instance: 3, cache: 1];
+    approximation_options = Switch(
+	     switchRenderMode,
+            SWapproximation_options,
+	     HWapproximation_options) [instance: 7, cache: 1];
+    density_options = Switch(
+	     switchRenderMode,
+            SWdensity_options,
+            HWdensity_options) [instance: 8, cache: 1];
+    renderModeString = Switch(
+            switchRenderMode,
+            "software",
+            "hardware")[instance: 9, cache: 1];
+    object_tag = Inquire(
+            object,
+            "object tag")[instance: 3, cache: 1];
+    annoted_object =
+        Options(
+            object,
+            "send boxes",
+            0,
+            "cache",
+            1,
+            "object tag",
+            object_tag,
+            "ddcamera",
+            whichCamera,
+            "rendering approximation",
+            approximation_options,
+            "render every",
+            density_options,
+            "button state",
+            buttonState,
+            "rendering mode",
+            renderModeString) [instance: 1, cache: 1];
+    RECresNull =
+        Inquire(
+            RECresolution,
+            "is null + 1") [instance: 4, cache: 1];
+    ImageResolution =
+        Inquire(
+            camera,
+            "camera resolution") [instance: 5, cache: 1];
+    RECresolution =
+        Switch(
+            RECresNull,
+            RECresolution,
+            ImageResolution) [instance: 10, cache: 1];
+    RECaspectNull =
+        Inquire(
+            RECaspect,
+            "is null + 1") [instance: 6, cache: 1];
+    ImageAspect =
+        Inquire(
+            camera,
+            "camera aspect") [instance: 7, cache: 1];
+    RECaspect =
+        Switch(
+            RECaspectNull,
+            RECaspect,
+            ImageAspect) [instance: 11, cache: 1];
+    switchRECenable = Compute(
+          "$0 == 0 ? 1 : (($2 == $3) && ($4 == $5)) ? ($1 == 1 ? 2 : 3) : 4",
+            RECenable,
+            switchRenderMode,
+            RECresolution,
+            ImageResolution,
+            RECaspect,
+	     ImageAspect) [instance: 4, cache: 1];
+    NoRECobject, RECNoRerenderObject, RECNoRerHW, RECRerenderObject = Route(switchRECenable, annoted_object);
+    Display(
+        NoRECobject,
+        camera,
+        where,
+        throttle) [instance: 1, cache: 1];
+    image =
+        Render(
+            RECNoRerenderObject,
+            camera) [instance: 1, cache: 1];
+    Display(
+        image,
+        NULL,
+        where,
+        throttle) [instance: 2, cache: 1];
+    WriteImage(
+        image,
+        RECfile,
+        RECformat) [instance: 1, cache: 1];
+    rec_where = Display(
+        RECNoRerHW,
+        camera,
+        where,
+        throttle) [instance: 1, cache: 0];
+    rec_image = ReadImageWindow(
+        rec_where) [instance: 1, cache: 1];
+    WriteImage(
+        rec_image,
+        RECfile,
+        RECformat) [instance: 1, cache: 1];
+    RECupdateCamera =
+	UpdateCamera(
+	    camera,
+	    resolution=RECresolution,
+	    aspect=RECaspect) [instance: 2, cache: 1];
+    Display(
+        RECRerenderObject,
+        camera,
+        where,
+        throttle) [instance: 1, cache: 1];
+    RECRerenderObject =
+	ScaleScreen(
+	    RECRerenderObject,
+	    NULL,
+	    RECresolution,
+	    camera) [instance: 1, cache: 1];
+    image =
+        Render(
+            RECRerenderObject,
+            RECupdateCamera) [instance: 2, cache: 1];
+    WriteImage(
+        image,
+        RECfile,
+        RECformat) [instance: 2, cache: 1];
+}
+main_Image_2_in_1 = "Image_2";
+main_Image_2_in_3 = "X24,,";
+main_Image_2_in_4 = 1;
+main_Image_2_in_5 = [0.0639443 -0.0616337 0.0273752];
+main_Image_2_in_6 = [1.55495 2.88829 0.954069];
+main_Image_2_in_7 = 0.281381;
+main_Image_2_in_8 = 938;
+main_Image_2_in_9 = 0.664712;
+main_Image_2_in_10 = [-0.0792268 -0.262092 0.961785];
+main_Image_2_in_11 = NULL;
+main_Image_2_in_12 = 0;
+main_Image_2_in_13 = NULL;
+main_Image_2_in_14 = 1;
+main_Image_2_in_15 = "none";
+main_Image_2_in_16 = "none";
+main_Image_2_in_17 = 1;
+main_Image_2_in_18 = 1;
+main_Image_2_in_19 = 1;
+main_Image_2_in_20 = NULL;
+main_Image_2_in_21 = NULL;
+main_Image_2_in_22 = "black";
+main_Image_2_in_23 = NULL;
+main_Image_2_in_25 = "/home/latychev/boo";
+main_Image_2_in_26 = "eps gray dpi=86 orient=portrait";
+main_Image_2_in_27 = NULL;
+main_Image_2_in_28 = NULL;
+main_Image_2_in_29 = 0;
+main_Image_2_in_30 = NULL;
+main_Image_2_in_31 = NULL;
+main_Image_2_in_32 = NULL;
+main_Image_2_in_33 = 0;
+main_Image_2_in_34 = NULL;
+main_Image_2_in_35 = NULL;
+main_Image_2_in_36 = 0;
+main_Image_2_in_37 = NULL;
+main_Image_2_in_38 = NULL;
+main_Image_2_in_39 = NULL;
+main_Image_2_in_40 = NULL;
+main_Image_2_in_41 = "rotate";
+main_Image_2_in_42 = NULL;
+main_Image_2_in_43 = NULL;
+main_Image_2_in_44 = NULL;
+main_Image_2_in_45 = NULL;
+main_Image_2_in_46 = NULL;
+main_Image_2_in_47 = NULL;
+main_Image_2_in_48 = NULL;
+main_Image_2_in_49 = NULL;
+Executive("product version 4 4 4");
+$sync
+main();

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/visualize_mesh_DX.cfg
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/visualize_mesh_DX.cfg	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/visualize_mesh_DX.cfg	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,45 @@
+//
+// time: Sun Feb 20 16:26:15 2005
+//
+// version: 3.2.0 (format), 4.3.2 (DX)
+//
+//
+// panel[0]: position = (0.0750,0.6982), size = 0.2781x0.1611, startup = 1, devstyle = 1
+// title: value = Control Panel
+//
+// workspace: width = 500, height = 500
+// layout: snap = 0, width = 50, height = 50, align = NN
+//
+// panel[2]: position = (0.3609,0.6982), size = 0.2773x0.1611, startup = 1, devstyle = 1
+// title: value = Control Panel
+//
+// workspace: width = 500, height = 500
+// layout: snap = 0, width = 50, height = 50, align = NN
+//
+// node Image[2]:
+// depth: value = 24
+// window: position = (0.0000,0.1631), size = 0.5664x0.6338
+// input[1]: defaulting = 0, value = "Image_2"
+// input[4]: defaulting = 0, value = 1
+// input[5]: defaulting = 0, value = [360000 130000 -9842.12]
+// input[6]: defaulting = 0, value = [293951 33251.2 58936.7]
+// input[7]: defaulting = 0, value = 72798.2
+// input[8]: defaulting = 0, value = 711
+// input[9]: defaulting = 0, value = 0.85443
+// input[10]: defaulting = 0, value = [0.244732 0.445238 0.861319]
+// input[11]: defaulting = 1, value = 30.0001
+// input[12]: defaulting = 0, value = 0
+// input[14]: defaulting = 0, value = 1
+// input[15]: defaulting = 0, value = "none"
+// input[16]: defaulting = 0, value = "none"
+// input[17]: defaulting = 0, value = 1
+// input[18]: defaulting = 0, value = 1
+// input[19]: defaulting = 0, value = 1
+// input[22]: defaulting = 0, value = "black"
+// input[25]: defaulting = 0, value = "/home/latychev/boo"
+// input[26]: defaulting = 0, value = "eps gray dpi=86 orient=portrait"
+// input[29]: defaulting = 0, value = 0
+// input[33]: defaulting = 0, value = 1
+// input[36]: defaulting = 0, value = 1
+// input[41]: defaulting = 0, value = "rotate"
+// internal caching: 1

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/visualize_mesh_DX.net
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/visualize_mesh_DX.net	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/Visualization/opendx_AVS/visualize_mesh_DX.net	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,585 @@
+//
+// time: Sun Feb 20 16:26:15 2005
+//
+// version: 3.2.0 (format), 4.3.2 (DX)
+//
+//
+// MODULE main
+// workspace: width = 549, height = 602
+// layout: snap = 0, width = 50, height = 50, align = NN
+//
+macro main(
+) -> (
+) {
+    // 
+    // node AmbientLight[1]: x = 303, y = 277, inputs = 1, label = AmbientLight
+    //
+main_AmbientLight_1_out_1 = 
+    AmbientLight(
+    main_AmbientLight_1_in_1
+    ) [instance: 1, cache: 1];
+    // 
+    // node Import[2]: x = 193, y = 42, inputs = 6, label = Import
+    // input[1]: defaulting = 0, visible = 1, type = 32, value = "DX_fullmesh.dx"
+    // input[3]: defaulting = 0, visible = 1, type = 32, value = "dx"
+    //
+main_Import_2_out_1 = 
+    Import(
+    main_Import_2_in_1,
+    main_Import_2_in_2,
+    main_Import_2_in_3,
+    main_Import_2_in_4,
+    main_Import_2_in_5,
+    main_Import_2_in_6
+    ) [instance: 2, cache: 1];
+    // 
+    // node AutoColor[1]: x = 178, y = 167, inputs = 10, label = AutoColor
+    //
+main_AutoColor_1_out_1,
+main_AutoColor_1_out_2 = 
+    AutoColor(
+    main_Import_2_out_1,
+    main_AutoColor_1_in_2,
+    main_AutoColor_1_in_3,
+    main_AutoColor_1_in_4,
+    main_AutoColor_1_in_5,
+    main_AutoColor_1_in_6,
+    main_AutoColor_1_in_7,
+    main_AutoColor_1_in_8,
+    main_AutoColor_1_in_9,
+    main_AutoColor_1_in_10
+    ) [instance: 1, cache: 1];
+    // 
+    // node Import[4]: x = 477, y = 79, inputs = 6, label = Import
+    // input[1]: defaulting = 0, visible = 1, type = 32, value = "DX_highwayscoast_papers.dx"
+    // input[3]: defaulting = 0, visible = 1, type = 32, value = "dx"
+    //
+main_Import_4_out_1 = 
+    Import(
+    main_Import_4_in_1,
+    main_Import_4_in_2,
+    main_Import_4_in_3,
+    main_Import_4_in_4,
+    main_Import_4_in_5,
+    main_Import_4_in_6
+    ) [instance: 4, cache: 1];
+    // 
+    // node AutoColor[3]: x = 428, y = 202, inputs = 10, label = AutoColor
+    //
+main_AutoColor_3_out_1,
+main_AutoColor_3_out_2 = 
+    AutoColor(
+    main_Import_4_out_1,
+    main_AutoColor_3_in_2,
+    main_AutoColor_3_in_3,
+    main_AutoColor_3_in_4,
+    main_AutoColor_3_in_5,
+    main_AutoColor_3_in_6,
+    main_AutoColor_3_in_7,
+    main_AutoColor_3_in_8,
+    main_AutoColor_3_in_9,
+    main_AutoColor_3_in_10
+    ) [instance: 3, cache: 1];
+    // 
+    // node ShowConnections[1]: x = 49, y = 315, inputs = 1, label = ShowConnections
+    //
+main_ShowConnections_1_out_1 = 
+    ShowConnections(
+    main_AutoColor_1_out_1
+    ) [instance: 1, cache: 1];
+    // 
+    // node Collect[1]: x = 167, y = 429, inputs = 4, label = Collect
+    //
+main_Collect_1_out_1 = 
+    Collect(
+    main_ShowConnections_1_out_1,
+    main_AutoColor_1_out_1,
+    main_AmbientLight_1_out_1,
+    main_Collect_1_in_4
+    ) [instance: 1, cache: 1];
+    // 
+    // node Image[2]: x = 192, y = 540, inputs = 49, label = Image
+    // input[1]: defaulting = 0, visible = 0, type = 67108863, value = "Image_2"
+    // input[4]: defaulting = 0, visible = 0, type = 1, value = 1
+    // input[5]: defaulting = 0, visible = 0, type = 8, value = [360000 130000 -9842.12]
+    // input[6]: defaulting = 0, visible = 0, type = 8, value = [293951 33251.2 58936.7]
+    // input[7]: defaulting = 0, visible = 0, type = 5, value = 72798.2
+    // input[8]: defaulting = 0, visible = 0, type = 1, value = 711
+    // input[9]: defaulting = 0, visible = 0, type = 5, value = 0.85443
+    // input[10]: defaulting = 0, visible = 0, type = 8, value = [0.244732 0.445238 0.861319]
+    // input[11]: defaulting = 1, visible = 0, type = 5, value = 30.0001
+    // input[12]: defaulting = 0, visible = 0, type = 1, value = 0
+    // input[14]: defaulting = 0, visible = 0, type = 1, value = 1
+    // input[15]: defaulting = 0, visible = 0, type = 32, value = "none"
+    // input[16]: defaulting = 0, visible = 0, type = 32, value = "none"
+    // input[17]: defaulting = 0, visible = 0, type = 1, value = 1
+    // input[18]: defaulting = 0, visible = 0, type = 1, value = 1
+    // input[19]: defaulting = 0, visible = 0, type = 1, value = 1
+    // input[22]: defaulting = 0, visible = 0, type = 32, value = "black"
+    // input[25]: defaulting = 0, visible = 0, type = 32, value = "/home/latychev/boo"
+    // input[26]: defaulting = 0, visible = 0, type = 32, value = "eps gray dpi=86 orient=portrait"
+    // input[29]: defaulting = 0, visible = 0, type = 3, value = 0
+    // input[33]: defaulting = 0, visible = 0, type = 3, value = 1
+    // input[36]: defaulting = 0, visible = 0, type = 3, value = 1
+    // input[41]: defaulting = 0, visible = 0, type = 32, value = "rotate"
+    // depth: value = 24
+    // window: position = (0.0000,0.1631), size = 0.5664x0.6338
+    // internal caching: 1
+    //
+main_Image_2_out_1,
+main_Image_2_out_2,
+main_Image_2_out_3 = 
+    Image(
+    main_Image_2_in_1,
+    main_Collect_1_out_1,
+    main_Image_2_in_3,
+    main_Image_2_in_4,
+    main_Image_2_in_5,
+    main_Image_2_in_6,
+    main_Image_2_in_7,
+    main_Image_2_in_8,
+    main_Image_2_in_9,
+    main_Image_2_in_10,
+    main_Image_2_in_11,
+    main_Image_2_in_12,
+    main_Image_2_in_13,
+    main_Image_2_in_14,
+    main_Image_2_in_15,
+    main_Image_2_in_16,
+    main_Image_2_in_17,
+    main_Image_2_in_18,
+    main_Image_2_in_19,
+    main_Image_2_in_20,
+    main_Image_2_in_21,
+    main_Image_2_in_22,
+    main_Image_2_in_23,
+    main_Image_2_in_24,
+    main_Image_2_in_25,
+    main_Image_2_in_26,
+    main_Image_2_in_27,
+    main_Image_2_in_28,
+    main_Image_2_in_29,
+    main_Image_2_in_30,
+    main_Image_2_in_31,
+    main_Image_2_in_32,
+    main_Image_2_in_33,
+    main_Image_2_in_34,
+    main_Image_2_in_35,
+    main_Image_2_in_36,
+    main_Image_2_in_37,
+    main_Image_2_in_38,
+    main_Image_2_in_39,
+    main_Image_2_in_40,
+    main_Image_2_in_41,
+    main_Image_2_in_42,
+    main_Image_2_in_43,
+    main_Image_2_in_44,
+    main_Image_2_in_45,
+    main_Image_2_in_46,
+    main_Image_2_in_47,
+    main_Image_2_in_48,
+    main_Image_2_in_49
+    ) [instance: 2, cache: 1];
+// network: end of macro body
+CacheScene(main_Image_2_in_1, main_Image_2_out_1, main_Image_2_out_2);
+}
+main_AmbientLight_1_in_1 = NULL;
+main_AmbientLight_1_out_1 = NULL;
+main_Import_2_in_1 = "DX_fullmesh.dx";
+main_Import_2_in_2 = NULL;
+main_Import_2_in_3 = "dx";
+main_Import_2_in_4 = NULL;
+main_Import_2_in_5 = NULL;
+main_Import_2_in_6 = NULL;
+main_Import_2_out_1 = NULL;
+main_AutoColor_1_in_2 = NULL;
+main_AutoColor_1_in_3 = NULL;
+main_AutoColor_1_in_4 = NULL;
+main_AutoColor_1_in_5 = NULL;
+main_AutoColor_1_in_6 = NULL;
+main_AutoColor_1_in_7 = NULL;
+main_AutoColor_1_in_8 = NULL;
+main_AutoColor_1_in_9 = NULL;
+main_AutoColor_1_in_10 = NULL;
+main_AutoColor_1_out_1 = NULL;
+main_Import_4_in_1 = "DX_highwayscoast_papers.dx";
+main_Import_4_in_2 = NULL;
+main_Import_4_in_3 = "dx";
+main_Import_4_in_4 = NULL;
+main_Import_4_in_5 = NULL;
+main_Import_4_in_6 = NULL;
+main_Import_4_out_1 = NULL;
+main_AutoColor_3_in_2 = NULL;
+main_AutoColor_3_in_3 = NULL;
+main_AutoColor_3_in_4 = NULL;
+main_AutoColor_3_in_5 = NULL;
+main_AutoColor_3_in_6 = NULL;
+main_AutoColor_3_in_7 = NULL;
+main_AutoColor_3_in_8 = NULL;
+main_AutoColor_3_in_9 = NULL;
+main_AutoColor_3_in_10 = NULL;
+main_ShowConnections_1_out_1 = NULL;
+main_Collect_1_in_4 = NULL;
+main_Collect_1_out_1 = NULL;
+macro Image(
+        id,
+        object,
+        where,
+        useVector,
+        to,
+        from,
+        width,
+        resolution,
+        aspect,
+        up,
+        viewAngle,
+        perspective,
+        options,
+        buttonState = 1,
+        buttonUpApprox = "none",
+        buttonDownApprox = "none",
+        buttonUpDensity = 1,
+        buttonDownDensity = 1,
+        renderMode = 0,
+        defaultCamera,
+        reset,
+        backgroundColor,
+        throttle,
+        RECenable = 0,
+        RECfile,
+        RECformat,
+        RECresolution,
+        RECaspect,
+        AAenable = 0,
+        AAlabels,
+        AAticks,
+        AAcorners,
+        AAframe,
+        AAadjust,
+        AAcursor,
+        AAgrid,
+        AAcolors,
+        AAannotation,
+        AAlabelscale,
+        AAfont,
+        interactionMode,
+        title,
+        AAxTickLocs,
+        AAyTickLocs,
+        AAzTickLocs,
+        AAxTickLabels,
+        AAyTickLabels,
+        AAzTickLabels,
+        webOptions) -> (
+        object,
+        camera,
+        where)
+{
+    ImageMessage(
+        id,
+        backgroundColor,
+        throttle,
+        RECenable,
+        RECfile,
+        RECformat,
+        RECresolution,
+        RECaspect,
+        AAenable,
+        AAlabels,
+        AAticks,
+        AAcorners,
+        AAframe,
+        AAadjust,
+        AAcursor,
+        AAgrid,
+        AAcolors,
+        AAannotation,
+        AAlabelscale,
+        AAfont,
+        AAxTickLocs,
+        AAyTickLocs,
+        AAzTickLocs,
+        AAxTickLabels,
+        AAyTickLabels,
+        AAzTickLabels,
+        interactionMode,
+        title,
+        renderMode,
+        buttonUpApprox,
+        buttonDownApprox,
+        buttonUpDensity,
+        buttonDownDensity) [instance: 1, cache: 1];
+    autoCamera =
+        AutoCamera(
+            object,
+            "front",
+            object,
+            resolution,
+            aspect,
+            [0,1,0],
+            perspective,
+            viewAngle,
+            backgroundColor) [instance: 1, cache: 1];
+    realCamera =
+        Camera(
+            to,
+            from,
+            width,
+            resolution,
+            aspect,
+            up,
+            perspective,
+            viewAngle,
+            backgroundColor) [instance: 1, cache: 1];
+    coloredDefaultCamera = 
+	 UpdateCamera(defaultCamera,
+            background=backgroundColor) [instance: 1, cache: 1];
+    nullDefaultCamera =
+        Inquire(defaultCamera,
+            "is null + 1") [instance: 1, cache: 1];
+    resetCamera =
+        Switch(
+            nullDefaultCamera,
+            coloredDefaultCamera,
+            autoCamera) [instance: 1, cache: 1];
+    resetNull = 
+        Inquire(
+            reset,
+            "is null + 1") [instance: 2, cache: 1];
+    reset =
+        Switch(
+            resetNull,
+            reset,
+            0) [instance: 2, cache: 1];
+    whichCamera =
+        Compute(
+            "($0 != 0 || $1 == 0) ? 1 : 2",
+            reset,
+            useVector) [instance: 1, cache: 1];
+    camera = Switch(
+            whichCamera,
+            resetCamera,
+            realCamera) [instance: 3, cache: 1];
+    AAobject =
+        AutoAxes(
+            object,
+            camera,
+            AAlabels,
+            AAticks,
+            AAcorners,
+            AAframe,
+            AAadjust,
+            AAcursor,
+            AAgrid,
+            AAcolors,
+            AAannotation,
+            AAlabelscale,
+            AAfont,
+            AAxTickLocs,
+            AAyTickLocs,
+            AAzTickLocs,
+            AAxTickLabels,
+            AAyTickLabels,
+            AAzTickLabels) [instance: 1, cache: 1];
+    switchAAenable = Compute("$0+1",
+	     AAenable) [instance: 2, cache: 1];
+    object = Switch(
+	     switchAAenable,
+	     object,
+	     AAobject) [instance:4, cache: 1];
+    SWapproximation_options =
+        Switch(
+            buttonState,
+            buttonUpApprox,
+            buttonDownApprox) [instance: 5, cache: 1];
+    SWdensity_options =
+        Switch(
+            buttonState,
+            buttonUpDensity,
+            buttonDownDensity) [instance: 6, cache: 1];
+    HWapproximation_options =
+        Format(
+            "%s,%s",
+            buttonDownApprox,
+            buttonUpApprox) [instance: 1, cache: 1];
+    HWdensity_options =
+        Format(
+            "%d,%d",
+            buttonDownDensity,
+            buttonUpDensity) [instance: 2, cache: 1];
+    switchRenderMode = Compute(
+	     "$0+1",
+	     renderMode) [instance: 3, cache: 1];
+    approximation_options = Switch(
+	     switchRenderMode,
+            SWapproximation_options,
+	     HWapproximation_options) [instance: 7, cache: 1];
+    density_options = Switch(
+	     switchRenderMode,
+            SWdensity_options,
+            HWdensity_options) [instance: 8, cache: 1];
+    renderModeString = Switch(
+            switchRenderMode,
+            "software",
+            "hardware")[instance: 9, cache: 1];
+    object_tag = Inquire(
+            object,
+            "object tag")[instance: 3, cache: 1];
+    annoted_object =
+        Options(
+            object,
+            "send boxes",
+            0,
+            "cache",
+            1,
+            "object tag",
+            object_tag,
+            "ddcamera",
+            whichCamera,
+            "rendering approximation",
+            approximation_options,
+            "render every",
+            density_options,
+            "button state",
+            buttonState,
+            "rendering mode",
+            renderModeString) [instance: 1, cache: 1];
+    RECresNull =
+        Inquire(
+            RECresolution,
+            "is null + 1") [instance: 4, cache: 1];
+    ImageResolution =
+        Inquire(
+            camera,
+            "camera resolution") [instance: 5, cache: 1];
+    RECresolution =
+        Switch(
+            RECresNull,
+            RECresolution,
+            ImageResolution) [instance: 10, cache: 1];
+    RECaspectNull =
+        Inquire(
+            RECaspect,
+            "is null + 1") [instance: 6, cache: 1];
+    ImageAspect =
+        Inquire(
+            camera,
+            "camera aspect") [instance: 7, cache: 1];
+    RECaspect =
+        Switch(
+            RECaspectNull,
+            RECaspect,
+            ImageAspect) [instance: 11, cache: 1];
+    switchRECenable = Compute(
+          "$0 == 0 ? 1 : (($2 == $3) && ($4 == $5)) ? ($1 == 1 ? 2 : 3) : 4",
+            RECenable,
+            switchRenderMode,
+            RECresolution,
+            ImageResolution,
+            RECaspect,
+	     ImageAspect) [instance: 4, cache: 1];
+    NoRECobject, RECNoRerenderObject, RECNoRerHW, RECRerenderObject = Route(switchRECenable, annoted_object);
+    Display(
+        NoRECobject,
+        camera,
+        where,
+        throttle) [instance: 1, cache: 1];
+    image =
+        Render(
+            RECNoRerenderObject,
+            camera) [instance: 1, cache: 1];
+    Display(
+        image,
+        NULL,
+        where,
+        throttle) [instance: 2, cache: 1];
+    WriteImage(
+        image,
+        RECfile,
+        RECformat) [instance: 1, cache: 1];
+    rec_where = Display(
+        RECNoRerHW,
+        camera,
+        where,
+        throttle) [instance: 1, cache: 0];
+    rec_image = ReadImageWindow(
+        rec_where) [instance: 1, cache: 1];
+    WriteImage(
+        rec_image,
+        RECfile,
+        RECformat) [instance: 1, cache: 1];
+    RECupdateCamera =
+	UpdateCamera(
+	    camera,
+	    resolution=RECresolution,
+	    aspect=RECaspect) [instance: 2, cache: 1];
+    Display(
+        RECRerenderObject,
+        camera,
+        where,
+        throttle) [instance: 1, cache: 1];
+    RECRerenderObject =
+	ScaleScreen(
+	    RECRerenderObject,
+	    NULL,
+	    RECresolution,
+	    camera) [instance: 1, cache: 1];
+    image =
+        Render(
+            RECRerenderObject,
+            RECupdateCamera) [instance: 2, cache: 1];
+    WriteImage(
+        image,
+        RECfile,
+        RECformat) [instance: 2, cache: 1];
+}
+main_Image_2_in_1 = "Image_2";
+main_Image_2_in_3 = "X24,,";
+main_Image_2_in_4 = 1;
+main_Image_2_in_5 = [360000 130000 -9842.12];
+main_Image_2_in_6 = [293951 33251.2 58936.7];
+main_Image_2_in_7 = 72798.2;
+main_Image_2_in_8 = 711;
+main_Image_2_in_9 = 0.85443;
+main_Image_2_in_10 = [0.244732 0.445238 0.861319];
+main_Image_2_in_11 = NULL;
+main_Image_2_in_12 = 0;
+main_Image_2_in_13 = NULL;
+main_Image_2_in_14 = 1;
+main_Image_2_in_15 = "none";
+main_Image_2_in_16 = "none";
+main_Image_2_in_17 = 1;
+main_Image_2_in_18 = 1;
+main_Image_2_in_19 = 1;
+main_Image_2_in_20 = NULL;
+main_Image_2_in_21 = NULL;
+main_Image_2_in_22 = "black";
+main_Image_2_in_23 = NULL;
+main_Image_2_in_25 = "/home/latychev/boo";
+main_Image_2_in_26 = "eps gray dpi=86 orient=portrait";
+main_Image_2_in_27 = NULL;
+main_Image_2_in_28 = NULL;
+main_Image_2_in_29 = 0;
+main_Image_2_in_30 = NULL;
+main_Image_2_in_31 = NULL;
+main_Image_2_in_32 = NULL;
+main_Image_2_in_33 = 1;
+main_Image_2_in_34 = NULL;
+main_Image_2_in_35 = NULL;
+main_Image_2_in_36 = 1;
+main_Image_2_in_37 = NULL;
+main_Image_2_in_38 = NULL;
+main_Image_2_in_39 = NULL;
+main_Image_2_in_40 = NULL;
+main_Image_2_in_41 = "rotate";
+main_Image_2_in_42 = NULL;
+main_Image_2_in_43 = NULL;
+main_Image_2_in_44 = NULL;
+main_Image_2_in_45 = NULL;
+main_Image_2_in_46 = NULL;
+main_Image_2_in_47 = NULL;
+main_Image_2_in_48 = NULL;
+main_Image_2_in_49 = NULL;
+Executive("product version 4 3 2");
+$sync
+main();

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/adjoint_sources/README
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/adjoint_sources/README	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/adjoint_sources/README	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,21 @@
+------------------------------------------------------------
+README
+------------------------------------------------------------
+
+This folder contains routines to create adjoint sources for:
+
+- traveltime/ subdirectory: cross-correlation traveltime adjoint sources 
+
+  this program cuts certain portion of the seismograms and converts them into 
+  the adjoint sources for generating banana-dougnut kernels.
+  (see Tromp et al. (2005), eq. 45)
+
+- amplitude/ subdirectory: amplitude adjoint sources
+
+  this program cuts a certain portion of displacement seismograms and
+  converts them into adjoint sources for generating classical amplitude
+  kernels following Tromp et al. (2005) eq. 67.  
+
+
+
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/adjoint_sources/amplitude/Makefile
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/adjoint_sources/amplitude/Makefile	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/adjoint_sources/amplitude/Makefile	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,29 @@
+# Makefile
+
+#############################################################
+## modify to match your compiler defaults 
+
+# compilers
+F90 = gfortran
+CC = gcc
+
+#############################################################
+
+
+LIB_OBJS = create_adjsrc_amplitude.o rw_ascfile_c.o 
+
+# targets
+all: xcreate_adjsrc_amplitude
+
+xcreate_adjsrc_amplitude: $(LIB_OBJS)
+	${F90} -Wall -o xcreate_adjsrc_amplitude $(LIB_OBJS)
+
+create_adjsrc_amplitude.o: create_adjsrc_amplitude.f90
+	${F90} -Wall -c create_adjsrc_amplitude.f90
+
+rw_ascfile_c.o: ../../lib/rw_ascfile_c.c
+	${CC} -c -o rw_ascfile_c.o ../../lib/rw_ascfile_c.c
+
+
+clean:
+	rm -f *.o xcreate_adjsrc_amplitude

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/adjoint_sources/amplitude/compile_cut
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/adjoint_sources/amplitude/compile_cut	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/adjoint_sources/amplitude/compile_cut	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,12 @@
+# use make
+echo "xcreate_adjsrc_amplitude:"
+echo 
+echo "please,in this directory UTILS/adjoint_sources/amplitude"
+echo "add your compiler specifics to: Makefile"
+echo
+echo "and run in this directory UTILS/adjoint_sources/amplitude:"
+echo
+echo "> make"
+echo
+echo
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/adjoint_sources/amplitude/compile_cut
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/adjoint_sources/amplitude/create_adjsrc_amplitude.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/adjoint_sources/amplitude/create_adjsrc_amplitude.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/adjoint_sources/amplitude/create_adjsrc_amplitude.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,173 @@
+program create_adjsrc_amplitude
+
+! this program cuts a certain portion of displacement seismograms and
+! converts them into adjoint sources for generating classical amplitude
+! kernels following Tromp et al. (2005) eq.67.  
+! Modified from cut_velocity.f90 (Qinya Liu, Caltech, May 2007)
+! by Ebru, Princeton, March 2011.
+!
+! call by: ./xcreate_adjsrc_amplitude t1 t2 ifile[0-5] E/N/Z-ascii-files [baz]
+!
+  implicit none
+
+  integer :: i, is, ie, nstep, j, itime ,ifile,ios, i1, i2, nstep_old
+  character(len=256) :: arg(100), file(100)
+  character(len=256) :: filename
+  integer,parameter :: NMAX = 30000
+  real*8, parameter :: EPS = 1.0d-17
+  real*8, parameter :: PI = 3.1415926d0
+  real*8 :: ts, te, data(5,NMAX), out(NMAX), adj(NMAX), tw(NMAX), norm
+  real*8 :: dt, t0, t0_old, dt_old, costh, sinth, th, baz
+  logical :: lrot
+
+  i = 1
+  lrot = .false.
+
+  ! reads in file arguments
+  do while (1 == 1) 
+    call getarg(i,arg(i))
+    if (i < 6 .and. trim(arg(i)) == '') then
+      print*,'Usage: '
+      print*,'  xcreate_adjsrc_amplitude t1 t2 ifile[0-5] E/N/Z-ascii-files [baz]'
+      print*,'with'
+      print*,'  t1: window start time'
+      print*,'  t2: window end time'
+      print*,'  ifile: 0 = adjoint source calculated for each seismogram component'     
+      print*,'  ifile: 1 = adjoint source given by East component only'     
+      print*,'  ifile: 2 = adjoint source given by North component'     
+      print*,'  ifile: 3 = adjoint source given by Z component'     
+      print*,'  ifile: 4 = adjoint source given by rotated transversal component (requires baz)'     
+      print*,'  ifile: 5 = adjoint source given by rotated radial component (requires baz)'     
+      print*,'  E/N/Z-ascii-files : displacement traces stored as ascii files'
+      print*,'  [baz]: (optional) back-azimuth, requires ifile = 4 or ifile = 5'
+      stop 'create_adjsrc_amplitude t1 t2 ifile[0-5] E/N/Z-ascii-files [baz]'
+    endif
+    if (trim(arg(i)) == '') exit
+    if (i == 1) then 
+      read(arg(i),*,iostat=ios) ts
+      if (ios /= 0) stop 'Error reading ts'
+    else if (i == 2) then
+      read(arg(i),*,iostat=ios) te
+      if (ios /= 0) stop 'Error reading te'
+    else if (i == 3) then
+      read(arg(i),*) ifile
+      if (ios /= 0) stop 'Error reading ifile'
+    else if (i == 4 .or. i == 5 .or. i == 6) then
+      file(i-3) = trim(arg(i))
+    else if (i == 7) then
+      read(arg(i),*,iostat=ios) baz
+      if (ios /= 0) stop 'Error reading baz'
+      lrot = .true.
+    else if (i > 7) then
+      stop 'Error: create_adjsrc_amplitude t1 t2 ifile[0-5] E/N/Z-ascii-files [baz]'
+    endif
+    i = i + 1
+  enddo
+
+  ! checks rotation baz and ifile parameter
+  i = i - 1
+  if (lrot) then
+    if (i /= 7) stop 'create_adjsrc_amplitude t1 t2 ifile[0-5] E/N/Z-ascii-files [baz]'
+    if (ifile /= 4 .and. ifile /= 5) stop 'ifile = 4 or 5 when baz is present'
+    th = (baz - 180.0) / 180.0 * PI
+    costh = cos(th)
+    sinth = sin(th)
+  else
+    if (ifile > 3 .or. ifile < 0) stop 'Error ifile should be between 0 - 3 when baz is not present'
+    if (i /= 6) stop 'create_adjsrc_amplitude t1 t2 ifile[0-5] E/N/Z-ascii-files [baz]'
+  endif
+  
+  ! user output
+  print *, 'ifile = ', ifile, '  lrot = ', lrot
+  print *, ' '
+
+  ! reads seismograms (ascii format)
+  do i = 1, 3
+    filename = trim(file(i))
+    print *, 'reading asc file '//trim(filename)//' ...'
+    call dread_ascfile_c(trim(filename)//char(0),t0,dt,nstep,data(i,:))
+    if (nstep > NMAX) stop 'Change the data array range limit'
+    if (i == 1) then
+      t0_old = t0; dt_old = dt; nstep_old = nstep
+    else
+      if (i > 1 .and. abs(t0_old - t0) > EPS &
+               .and. abs(dt_old - dt) > EPS &
+               .and. nstep_old /= nstep) &
+                 stop 'Error different t0, dt, nstep'
+    endif
+  enddo
+  print *, ' '  
+  print *, 'start time:',t0
+  print *, 'time step:',dt
+  print *, 'number of steps:',nstep   
+  print *, ' '
+ 
+  ! component rotation
+  if (lrot) then
+    data(4,:) = costh * data(1,:) - sinth * data(2,:)
+    data(5,:) = sinth * data(1,:) + costh * data(2,:)
+    call dwrite_ascfile_c(trim('t.txt')//char(0),t0,dt,nstep,data(4,:))
+    call dwrite_ascfile_c(trim('r.txt')//char(0),t0,dt,nstep,data(5,:))
+    i1 = 3; i2 = 5
+  else
+    i1 = 1; i2 = 3
+  endif
+    
+  ! loops over seismogram components 
+  do i = i1, i2
+    ! start and end index
+    is = (ts - t0) / dt + 1
+    ie = (te - t0) / dt + 1
+    if (is < 1 .or. ie <= is .or. ie > nstep) then
+      print *, 'Error in ts, te'; stop
+    endif
+    
+    ! time window (parabola shaped)
+    tw(1:nstep) = 0.
+    if( i == i1 ) open(44,file='plot_time_window.txt',status='unknown')
+    do j = is, ie
+      tw(j) = 1 - (2 * (dble(j) - is)/(ie - is) - 1) ** 2
+      if( i == i1 ) write(44,*) j,tw(j)
+    enddo
+    if( i == i1 ) close(44)
+    
+    ! displacement array
+    do itime = 1, nstep
+       out(itime) =  data(i,itime) 
+    enddo
+    
+    ! normalization factor
+    norm = dt * sum( tw(1:nstep) * out(1:nstep) * out(1:nstep))
+    print *, 'i = ', i, 'norm = ', norm
+    if (ifile /= 0 .and. ifile /= i) norm = 0.0
+
+    ! adjoint source
+    if (abs(norm) > EPS) then
+      adj(1:nstep) =  out(1:nstep) * tw(1:nstep) / norm
+    else
+      print *, 'norm < EPS for file '//trim(file(i))
+      adj(:) = 0.
+    endif
+    data(i,:) = adj(:)
+    
+  enddo
+  print *, ' '
+  
+  ! component rotation back to cartesian x-y-z
+  if (lrot) then
+    call dwrite_ascfile_c(trim('t-cut.txt')//char(0),t0,dt,nstep,data(4,:))
+    call dwrite_ascfile_c(trim('r-cut.txt')//char(0),t0,dt,nstep,data(5,:))
+    data(1,:) = costh * data(4,:) + sinth * data(5,:)
+    data(2,:) = -sinth * data(4,:) + costh * data(5,:)
+  endif
+
+  ! file output for component BHE/BHN/BHZ
+  do i = 1, 3
+    filename = trim(file(i))//'.adj'  
+    print *, 'write to asc file '//trim(filename)
+    call dwrite_ascfile_c(trim(filename)//char(0),t0,dt,nstep,data(i,:))
+  enddo
+
+end program create_adjsrc_amplitude
+
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/adjoint_sources/traveltime/Makefile
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/adjoint_sources/traveltime/Makefile	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/adjoint_sources/traveltime/Makefile	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,29 @@
+# Makefile
+
+#############################################################
+## modify to match your compiler defaults 
+
+# compilers
+F90 = gfortran
+CC = gcc
+
+#############################################################
+
+
+LIB_OBJS = create_adjsrc_traveltime.o rw_ascfile_c.o 
+
+# targets
+all: xcreate_adjsrc_traveltime
+
+xcreate_adjsrc_traveltime: $(LIB_OBJS)
+	${F90} -Wall -o xcreate_adjsrc_traveltime $(LIB_OBJS)
+
+create_adjsrc_traveltime.o: create_adjsrc_traveltime.f90
+	${F90} -Wall -c create_adjsrc_traveltime.f90
+
+rw_ascfile_c.o: ../../lib/rw_ascfile_c.c
+	${CC} -c -o rw_ascfile_c.o ../../lib/rw_ascfile_c.c
+
+
+clean:
+	rm -f *.o xcreate_adjsrc_traveltime

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/adjoint_sources/traveltime/compile_cut
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/adjoint_sources/traveltime/compile_cut	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/adjoint_sources/traveltime/compile_cut	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,12 @@
+# use make
+echo "xcreate_adjsrc_traveltime:"
+echo 
+echo "please,in this directory UTILS/adjoint_sources/traveltime"
+echo "add your compiler specifics to: Makefile"
+echo
+echo "and run in this directory UTILS/adjoint_sources/traveltime:"
+echo
+echo "> make"
+echo
+echo
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/adjoint_sources/traveltime/compile_cut
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/adjoint_sources/traveltime/create_adjsrc_traveltime.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/adjoint_sources/traveltime/create_adjsrc_traveltime.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/adjoint_sources/traveltime/create_adjsrc_traveltime.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,174 @@
+program create_adjsrc_traveltime
+
+! this program cuts certain portion of the seismograms and converts them into 
+! the adjoint sources for generating banana-dougnut kernels.
+! Qinya Liu, Caltech, May 2007
+! (renamed from cut_velocity.f90 (2011)
+!
+! call by: ./xcreate_adjsrc_traveltime t1 t2 ifile[0-5] E/N/Z-ascii-files [baz]
+!
+  implicit none
+
+  integer :: i, is, ie, nstep, j, itime ,ifile,ios, i1, i2, nstep_old
+  character(len=256) :: arg(100), file(100)
+  character(len=256) :: filename
+  integer,parameter :: NMAX = 30000
+  real*8, parameter :: EPS = 1.0d-17
+  real*8, parameter :: PI = 3.1415926d0
+  real*8 :: ts, te, data(5,NMAX), out(NMAX), adj(NMAX), tw(NMAX), norm
+  real*8 :: dt, t0, t0_old, dt_old, costh, sinth, th, baz
+  logical :: lrot
+
+  i = 1
+  lrot = .false.
+
+  ! reads in file arguments
+  do while (1 == 1) 
+    call getarg(i,arg(i))
+    if (i < 6 .and. trim(arg(i)) == '') then
+      print*,'Usage: '
+      print*,'  xcreate_adjsrc_traveltime t1 t2 ifile[0-5] E/N/Z-ascii-files [baz]'
+      print*,'with'
+      print*,'  t1: window start time'
+      print*,'  t2: window end time'
+      print*,'  ifile: 0 = adjoint source calculated for each seismogram component'     
+      print*,'  ifile: 1 = adjoint source given by East component only'     
+      print*,'  ifile: 2 = adjoint source given by North component'     
+      print*,'  ifile: 3 = adjoint source given by Z component'     
+      print*,'  ifile: 4 = adjoint source given by rotated transversal component (requires baz)'     
+      print*,'  ifile: 5 = adjoint source given by rotated radial component (requires baz)'     
+      print*,'  E/N/Z-ascii-files : displacement traces stored as ascii files'
+      print*,'  [baz]: (optional) back-azimuth, requires ifile = 4 or ifile = 5'
+      stop 'create_adjsrc_traveltime t1 t2 ifile[0-5] E/N/Z-ascii-files [baz]'
+    endif
+    if (trim(arg(i)) == '') exit
+    if (i == 1) then 
+      read(arg(i),*,iostat=ios) ts
+      if (ios /= 0) stop 'Error reading ts'
+    else if (i == 2) then
+      read(arg(i),*,iostat=ios) te
+      if (ios /= 0) stop 'Error reading te'
+    else if (i == 3) then
+      read(arg(i),*) ifile
+      if (ios /= 0) stop 'Error reading ifile'
+    else if (i == 4 .or. i == 5 .or. i == 6) then
+      file(i-3) = trim(arg(i))
+    else if (i == 7) then
+      read(arg(i),*,iostat=ios) baz
+      if (ios /= 0) stop 'Error reading baz'
+      lrot = .true.
+    else if (i > 7) then
+      stop 'Error: create_adjsrc_traveltime t1 t2 ifile[0-5] E/N/Z-ascii-files [baz]'
+    endif
+    i = i + 1
+  enddo
+
+  ! checks rotation baz and ifile parameter
+  i = i - 1
+  if (lrot) then
+    if (i /= 7) stop 'create_adjsrc_traveltime t1 t2 ifile[0-5] E/N/Z-ascii-files [baz]'
+    if (ifile /= 4 .and. ifile /= 5) stop 'ifile = 4 or 5 when baz is present'
+    th = (baz - 180.0) / 180.0 * PI
+    costh = cos(th)
+    sinth = sin(th)
+  else
+    if (ifile > 3 .or. ifile < 0) stop 'Error ifile should be between 0 - 3 when baz is not present'
+    if (i /= 6) stop 'create_adjsrc_traveltime t1 t2 ifile[0-5] E/N/Z-ascii-files [baz]'
+  endif
+  
+  ! user output
+  print *, 'ifile = ', ifile, '  lrot = ', lrot
+  print *, ' '
+
+  ! reads seismograms (ascii format)
+  do i = 1, 3
+    filename = trim(file(i))
+    print *, 'reading asc file '//trim(filename)//' ...'
+    call dread_ascfile_c(trim(filename)//char(0),t0,dt,nstep,data(i,:))
+    if (nstep > NMAX) stop 'Change the data array range limit'
+    if (i == 1) then
+      t0_old = t0; dt_old = dt; nstep_old = nstep
+    else
+      if (i > 1 .and. abs(t0_old - t0) > EPS &
+               .and. abs(dt_old - dt) > EPS &
+               .and. nstep_old /= nstep) &
+                 stop 'Error different t0, dt, nstep'
+    endif
+  enddo
+  print *, ' '  
+  print *, 'start time:',t0
+  print *, 'time step:',dt
+  print *, 'number of steps:',nstep   
+  print *, ' '
+ 
+  ! component rotation
+  if (lrot) then
+    data(4,:) = costh * data(1,:) - sinth * data(2,:)
+    data(5,:) = sinth * data(1,:) + costh * data(2,:)
+    call dwrite_ascfile_c(trim('t.txt')//char(0),t0,dt,nstep,data(4,:))
+    call dwrite_ascfile_c(trim('r.txt')//char(0),t0,dt,nstep,data(5,:))
+    i1 = 3; i2 = 5
+  else
+    i1 = 1; i2 = 3
+  endif
+    
+  ! loops over seismogram components 
+  do i = i1, i2
+    ! start and end index
+    is = (ts - t0) / dt + 1
+    ie = (te - t0) / dt + 1
+    if (is < 1 .or. ie <= is .or. ie > nstep) then
+      print *, 'Error in ts, te'; stop
+    endif
+    
+    ! time window (parabola shaped)
+    tw(1:nstep) = 0.
+    if( i == i1 ) open(44,file='plot_time_window.txt',status='unknown')
+    do j = is, ie
+      tw(j) = 1 - (2 * (dble(j) - is)/(ie - is) - 1) ** 2
+      if( i == i1 ) write(44,*) j,tw(j)
+    enddo
+    if( i == i1 ) close(44)
+    
+    ! calculates velocity (by finite-differences)
+    do itime = 2, nstep-1
+       out(itime) =  (data(i,itime+1) - data(i,itime-1)) / (2 * dt)
+    enddo
+    out(1) = (data(i,2) - data(i,1)) / dt
+    out(nstep) = (data(i,nstep) - data(i,nstep-1)) /dt
+    
+    ! normalization factor
+    norm = dt * sum( tw(1:nstep) * out(1:nstep) * out(1:nstep))
+    print *, 'i = ', i, 'norm = ', norm
+    if (ifile /= 0 .and. ifile /= i) norm = 0.0
+
+    ! adjoint source
+    if (abs(norm) > EPS) then
+      adj(1:nstep) = - out(1:nstep) * tw(1:nstep) / norm
+    else
+      print *, 'norm < EPS for file '//trim(file(i))
+      adj(:) = 0.
+    endif
+    data(i,:) = adj(:)
+    
+  enddo
+  print *, ' '
+  
+  ! component rotation back to cartesian x-y-z
+  if (lrot) then
+    call dwrite_ascfile_c(trim('t-cut.txt')//char(0),t0,dt,nstep,data(4,:))
+    call dwrite_ascfile_c(trim('r-cut.txt')//char(0),t0,dt,nstep,data(5,:))
+    data(1,:) = costh * data(4,:) + sinth * data(5,:)
+    data(2,:) = -sinth * data(4,:) + costh * data(5,:)
+  endif
+
+  ! file output for component BHE/BHN/BHZ
+  do i = 1, 3
+    filename = trim(file(i))//'.adj'  
+    print *, 'write to asc file '//trim(filename)
+    call dwrite_ascfile_c(trim(filename)//char(0),t0,dt,nstep,data(i,:))
+  enddo
+
+end program create_adjsrc_traveltime
+
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/analyse_modules.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/analyse_modules.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/analyse_modules.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,250 @@
+#! /usr/bin/perl
+
+# search the incoherences in parameters passing or type declaration for the new structures created in place of the modules in the SPECFEM3D_GLOBE code.
+# structures are declared with keyword "type"
+# no output if no problem.
+
+# this script has been written for this particular usage, not for a general purpose.
+
+# David Michéa. University of Pau. February 2007.
+
+$|++;
+
+if (scalar(@ARGV)<1)
+{	print "usage : $0 source_dir\n";
+	exit;
+}
+my $src_dir = $ARGV[0];
+chomp($src_dir);
+if ($src_dir =~m /^(.*)\/$/)
+{	$src_dir =~ $1;
+}
+my @mystruct;
+my %htypes;
+print ">> data structure creation\n"; 
+my @files = glob("$src_dir/*.f90");
+my $nbfiles = scalar(@files);
+my $cpt=0;
+foreach my $fichier (@files)	# parcours de chaque fichier
+{	$cpt++;
+	my $line_num = 0;
+	my $pfiletab = [];
+	open (DF, $fichier);
+	$fichier =~ s#.*/(.*)$#$1#g;  #
+	push(@$pfiletab,$fichier);
+	while (<DF>) 		# parcours de chaque ligne
+	{	$line_num++;
+	# analyse de chaque declaration de subroutine
+		# declaration sur une ligne
+		if ($_ =~ m/^\s*subroutine\s+([a-zA-Z_0-9-]*)\s*(?:\(([^!]*)\))?(?:!.*|\s*)$/) {
+			my $nom = $1;
+			my @params = split(/,/,$2);
+			@params = map(trim($_), at params);
+			push (@$pfiletab,analyse_sub($fichier,$nom,\$line_num, at params));	
+		}
+		# declaration sur plusieurs lignes (&)
+		elsif ($_ =~ m/^\s*subroutine\s+([a-zA-Z_0-9-]*)\s*\((.*)&\s*$/)
+		{	my $nom = $1;
+                        my @params = split(/,/,$2);
+			pop(@params) if ($params[-1] =~ m/^\s*$/);
+			while(<DF>)
+			{	$line_num++;
+				if ($_ =~ m/^\s*(.*)&\s*$/)
+				{	push(@params,split(/,/,$1));
+					pop(@params) if ($params[-1] =~ m/^\s*$/);
+				}
+				elsif ($_ =~ m/^\s*(.*)\)\s*$/)
+				{	push(@params,split(/,/,$1));
+                                        pop(@params) if ($params[-1] =~ m/^\s*$/);
+					last;
+				}
+				else
+				{	print "probleme : declaration non conforme dans $fichier l $line_num\n";exit;
+				}
+			}
+                        @params = map(trim($_), at params);
+			push (@$pfiletab,analyse_sub($fichier,$nom,\$line_num, at params));
+		}
+		else
+		{#	print "$_";
+		}
+	}
+	close (DF);
+	push (@mystruct, $pfiletab);
+	print "\r".int(($cpt/$nbfiles)*100)." %";
+}
+print("\n");
+#exit;
+
+print "\n>> structure analysis\n";
+foreach my $ptrfile (@mystruct)
+{     	my $file = @$ptrfile[0];
+	my $i=0;
+	foreach my $ptrsub (@$ptrfile)
+	{
+		$i++;
+		next if ($i==1);
+		my $nomsub = $ptrsub->[0];
+		my $ptrparamsin = $ptrsub->[1];
+		my $ptrtypesdec = $ptrsub->[2];
+		test_paramsin($ptrparamsin,$ptrtypesdec,$nomsub,$file);
+		foreach my $ptrfile2  (@mystruct)
+		{	my $file2 = @$ptrfile2[0];
+			my $j=0;
+			foreach my $ptrsub2 (@$ptrfile2)
+			{
+				$j++;
+				next if ($j==1);
+				my $nomsub2 = $ptrsub2->[0];
+		                my $ptrparamsin2 = $ptrsub2->[1];
+				if ($#{$ptrsub2}>3)
+				{	foreach $ptrsubsub (@$ptrsub2[3,$#{$ptrsub2}])
+					{
+						my $nomsubsub = $ptrsubsub->[0];
+						my $lignesubsub = $ptrsubsub->[1];
+		                		my $ptrparamsinsubsub = $ptrsubsub->[2];
+						if ($nomsubsub eq $nomsub)
+						{	if (scalar(@$ptrparamsin) != scalar(@$ptrparamsinsubsub))
+							{	print "for subroutine $nomsub, declared in file $file, its call in the subroutine $nomsub2 line $lignesubsub of file $file2";
+								print " is incomplete :\n$nomsub(",join(",",@$ptrparamsin),") <> $nomsubsub(",join(",",@$ptrparamsinsubsub),")\n";
+							}
+							else
+							{	my $res = test_paramsin2($ptrparamsin,$ptrparamsinsubsub);
+								unless($res)
+								{
+									print "for subroutine $nomsub, declared in file $file, its call in the subroutine $nomsub2 line $lignesubsub of file $file2";
+									print " is not correct :\n$nomsub(",join(",",@$ptrparamsin),") <> $nomsubsub(",join(",",@$ptrparamsinsubsub),")\n";
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+	}
+}
+print "\n";
+exit;
+
+
+sub test_paramsin2
+{	my ($params,$ptypes) = @_;
+	my $ok=1;
+	foreach my $type (@$ptypes)
+	{	my $found=0;
+		foreach my $param (@$params)
+		{	$found++ if ($type eq $param);	
+		}
+		$ok=0 unless ($found);
+	}
+	return $ok;
+}
+
+sub test_paramsin
+{	my ($params,$ptypes,$nomsub,$file) = @_;
+	foreach my $type (@$ptypes)
+	{	my $found=0;
+		foreach my $param (@$params)
+		{	$found++ if ($type eq $param);	
+		}
+		unless ($found || $nomsub eq 'specfem3D' || $nomsub eq 'meshfem3D')
+		{	print "---\nstructure $type not given as parameters in subroutine $nomsub of file $file\n---\n",join(",",@$params),"\n",join(",",@$ptypes),"\n";
+		}
+	}
+	return;
+}
+
+sub analyse_sub
+{	my ($fichier,$nom,$pline_num, at paramsin) = @_;
+	my $ptypes = [];
+	my $pcursub = [$nom,\@paramsin,$ptypes];
+	my %hnom;
+	while (my $line=<DF>)
+	{	$$pline_num++;
+		if ($line =~ m/^\s*type\s*\([ a-zA-Z_0-9-]+\)\s+(.*)$/)
+		{	my $type = $1;
+			chomp($type);
+			$type=trim($type);
+			push(@$ptypes,$type);
+			$htypes{$type}++;
+		}
+		# appel sur une ligne
+		elsif (($line =~ m/^(?:[^!]*\s+|\s*)call\s+([a-zA-Z_0-9-]*)\s*(?:\(([^!]*)\))?\s*$/) && ($line !~ m/MPI_[A-Z]+/))
+		{	my $nomsub = $1;
+			my $numligne = $$pline_num;
+#			unless (exists($hnom{$nomsub}))
+#			{	$hnom{$nomsub}++;
+				my $subparams = [];
+				if (defined($2))
+				{	push(@$subparams,map(trim($_),split(/,/,$2)));
+					filtre($subparams,$ptypes);
+				}
+				my @sub_called;
+				push(@sub_called, $nomsub,$numligne, $subparams);
+				push (@$pcursub,\@sub_called);
+#			}
+		}
+		# appel sur plusieurs lignes (&)
+		elsif (($line =~ m/^(?:[^!]*\s+|\s*)call\s+([a-zA-Z_0-9-]*)\((.*)&\s*/) && ($line !~ m/MPI_[A-Z]+/))
+		{	my $nomsub = $1;
+			my $numligne = $$pline_num;
+#			unless (exists($hnom{$nomsub}))
+#	                {       $hnom{$nomsub}++;
+				my $subparams = [];
+				push(@$subparams,map(trim($_),split(/,/,$2)));
+	                        pop(@$subparams) if ($subparams->[-1] =~ m/^\s*$/);
+	                        while(<DF>)
+	                        {       $$pline_num++;
+	                                if ($_ =~ m/^\s*(.*)&\s*$/)
+	                                {       push(@$subparams,map(trim($_),split(/,/,$1)));
+	                                        pop(@$subparams) if ($subparams->[-1] =~ m/^\s*$/);
+	                                }
+	                                elsif ($_ =~ m/^\s*(.*)\)\s*$/)
+	                                {       push(@$subparams,map(trim($_),split(/,/,$1)));
+	                                        pop(@$subparams) if ($subparams->[-1] =~ m/^\s*$/);
+	                                        last;
+	                                }
+	                                else
+	                                {       print "probleme :  appel non conforme dans $fichier, sub ",$pcursub->[0]," l $$pline_num\n";exit;
+	                                }
+	                        }
+	                        filtre($subparams,$ptypes);
+				my @sub_called;
+	                        push(@sub_called, $nomsub,$numligne, $subparams);
+	                        push (@$pcursub,\@sub_called);
+#			}
+		}
+		elsif ($line =~ m/^\s*end\s*subroutine\s+$nom.*$/)
+		{	last;
+		}
+		else {}
+	}
+	# retirer de paramsin les params n'etant pas dans type
+	filtre(\@paramsin,$ptypes);
+	return $pcursub;
+}
+	
+sub filtre
+{	my ($pparams,$ptypes) = @_;
+	my @params_filtered;
+	foreach $one_par (@$pparams)
+	{	my $found=0;
+		foreach $one_type (@$ptypes)
+		{	if ($one_par eq $one_type)	
+			{	$found=1;
+				last;
+			}
+		}
+		push(@params_filtered, $one_par) if ($found);
+	}
+	@$pparams = @params_filtered;
+	return;
+}
+
+sub trim
+{	my $string = shift;
+	$string =~ s/^\s+//;
+	$string =~ s/\s+$//;
+	return $string;
+}
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/analyse_modules.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/analysedep.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/analysedep.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/analysedep.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,101 @@
+#! /usr/bin/perl
+
+# give the modules & subroutines dependencies for each file of the SPECFEM3D_GLOBE code.
+# 
+# regular expressions may have to be tuned.
+#
+# David Michea, University of Pau, France, december 2006
+
+
+$|++;
+
+if (scalar(@ARGV)<2)
+{	print "usage : $0 fileout source_dir\n";
+	exit;
+}
+my $fileout = $ARGV[0];
+my $src_dir = $ARGV[1];
+my @mystruct;
+print ">> data structure creation\n"; 
+my @files = glob("$src_dir/*.f90");
+my $nbfiles = scalar(@files);
+my $cpt=0;
+foreach my $fichier (@files)
+{	$cpt++;
+	my $line_num = 0;
+	my ($pfiletab, $pmods, $psubs, $pmodst, $psubst) = ([],[],[],[],[]);
+	my %hmod = ();
+	my %hsub = ();
+	my %hmodt = ();
+	my %hsubt = ();
+	open (DF, $fichier);
+	while (<DF>)
+	{	$line_num++;
+		if ($_ =~ m/^\s*use\s+([a-zA-Z_0-9-]*)$/) {
+			push (@$pmods, [$1]) unless(exists($hmod{$1}));
+			$hmod{$1}++;
+		}
+		elsif (($_ =~ m/^(?:[^!]*\s+|\s*)call\s+([a-zA-Z_0-9-]*).*$/) && ($_ !~ m/MPI_[A-Z]+/)) {
+			push (@$psubs, [$1]) unless(exists($hsub{$1}));
+			$hsub{$1}++;
+		}
+		elsif ($_ =~ m/^\s*module\s+([a-zA-Z_0-9-]*).*$/) {
+			push (@$pmodst, [$1, $line_num]) unless(exists($hmodt{$1}));
+			$hmodt{$1}++;
+		}
+		elsif ($_ =~ m/^\s*subroutine\s+([a-zA-Z_0-9-]*).*$/) {
+			push (@$psubst, [$1, $line_num]) unless(exists($hsubt{$1}));
+			$hsubt{$1}++;
+		}
+	}
+	close (DF);
+	$fichier =~ s#.*/(.*)$#$1#g;
+	push (@$pfiletab, $fichier, $pmods, $psubs, $pmodst, $psubst);
+	push (@mystruct, $pfiletab);
+	print "\r".int(($cpt/$nbfiles)*100)." %";
+}
+print "\n>> analysis\n";
+$cpt=0;
+foreach my $ptrfile (@mystruct)
+{	$cpt++;
+	print "\r".int(($cpt/$nbfiles)*100)." %";
+	for (my $i=0;$i<2;$i++)	
+	{	foreach my $ptrmod (@{$ptrfile->[1+$i]})
+		{	my $last = 0;
+			foreach my $ptrfilet (@mystruct)
+			{	foreach my $ptrmodt (@{$ptrfilet->[3+$i]})
+				{	if ($ptrmod->[0] eq $ptrmodt->[0])
+					{	push (@$ptrmod, $ptrfilet->[0]." [l ".$ptrmodt->[1]."]");
+						$last++;
+						last;
+					}
+				}
+				last if ($last>0);
+			}
+		}
+	}
+	
+}
+print "\n>> results writing in $fileout\n";
+open (OUT, ">$fileout");
+$cpt=0;
+foreach my $ptrfile (@mystruct)
+{	$cpt++;
+	if (scalar(@{$ptrfile->[1]}) > 0 || scalar(@{$ptrfile->[2]}) > 0) {
+		my $l = int((76 - length($ptrfile->[0]))/2);
+		print OUT "x"x$l,"- ".$ptrfile->[0]." -","x"x($l+((76 - length($ptrfile->[0]))%2)),"\n";
+		print OUT ">> MODULES\n" if (scalar(@{$ptrfile->[1]}));
+		foreach my $ptrmod (@{$ptrfile->[1]})
+		{	print OUT "\t".$ptrmod->[0]."  ->  ".$ptrmod->[1]."\n";
+		}
+		print OUT ">> SUBROUTINES\n" if (scalar(@{$ptrfile->[2]}));
+		foreach my $ptrsub (@{$ptrfile->[2]})
+		{	print OUT "\t".$ptrsub->[0]."  ->  ".$ptrsub->[1]."\n";
+		}
+		print OUT "\n\n";
+	}
+	print "\r".int(($cpt/$nbfiles)*100)." %";
+}
+print "\n\ndone\n";
+close(OUT);
+exit;


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/analysedep.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/attenuation.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/attenuation.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/attenuation.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,575 @@
+program attenuation
+!    Complile:
+!      f90 -o attenuation_test atteuation.f90 attenuation_simplex.f90
+!
+!    Compiling this code with pgf90 truncates the relaxation times on output
+!        to single precision (real(4)), whereas using ifort (ifc)  does not
+!        For sanity, use ifort to compile and use the run_attenuation2.sh
+!        script  to obtain the values for prem
+!
+! Brian Savage 19/01/05
+!  This code should not produce the exact values that attenuation_prem.c
+!    It has been updated to use a more robust inversion for the 
+!    the stress and strain relaxation times
+!    A simplex inversion is used
+!
+! Brian Savage 22/03/04
+!  This code should produce the exact values that attenuation_prem.c output
+!  It is similar and the basis of the subroutines in attenuation_model.f90
+
+  real(8) t1,t2,Q
+  integer i, n
+
+  integer write_central_period
+
+  real(8) omega_not
+  real(8), dimension(3) :: tau_e,tau_s
+
+  write_central_period = 0
+
+!  write(*,*)'longest period (seconds): '
+  read(5,*, end=13)t1
+!  write(*,*)'shortest period (seconds): '
+  read(5,*, end=13)t2
+  write(*,*)
+  write(*,'(A16F11.6A4F11.6A2)')'! period range: ', t2, ' -- ', t1, ' s'
+  write(*,*)
+!  write(*,*)'number of mechanisms: '
+  read(5,*, end=13)n
+42 continue 
+!  write(*,*)'Q: '
+  read(5,*, end=13)Q
+  
+  tau_e(:)  = 0.0d0
+  tau_s(:)  = 0.0d0
+  omega_not = 0.0d0
+  
+  !  call attenuation_liu(t1, t2, n, Q, omega_not, tau_s, tau_e)
+  call attenuation_simplex(t1, t2, n, Q, omega_not, tau_s, tau_e)
+  if(write_central_period == 0) then
+     write(*,*)"! define central period of source in seconds using values from Jeroen's code"
+     write(*,'(A27,F20.15,A2)')'  T_c_source = 1000.d0 / ', omega_not ,'d0'
+     write(*,*)
+     write(*,*)'! tau sigma evenly spaced in log frequency, does not depend on value of Q'
+     do i = 1,n
+        write(*,'(A13,I1,A4,F30.20,A2)')'  tau_sigma(',i,') = ', tau_s(i), 'd0'
+     end do
+     write(*,*)
+     write(*,*)"! check in which region we are based upon doubling flag"
+     write(*,*)
+     write(*,*)'  select case(iregion_attenuation)'
+     write(*,*)
+     write_central_period = 1
+
+  endif
+  if(Q == 84.6d0) then
+     write(*,*)'!--- inner core, target Q_mu: 84.60'
+     write(*,*)
+     write(*,*)'  case(IREGION_ATTENUATION_INNER_CORE)'
+     write(*,*)
+  end if
+  if(Q == 312.0d0) then
+     write(*,*)'!--- CMB -> d670 (no attenuation in fluid outer core), target Q_mu = 312.'
+     write(*,*)
+     write(*,*)'  case(IREGION_ATTENUATION_CMB_670)'
+     write(*,*)
+  end if
+  if(Q == 143.0d0) then
+     write(*,*)'!--- d670 -> d220, target Q_mu: 143.'
+     write(*,*)
+     write(*,*)'  case(IREGION_ATTENUATION_670_220)'
+     write(*,*)
+  end if
+  if(Q == 80.0d0) then
+     write(*,*)'!--- d220 -> depth of 80 km, target Q_mu:  80.'
+     write(*,*)
+     write(*,*)'  case(IREGION_ATTENUATION_220_80)'
+     write(*,*)
+  end if
+  if(Q == 600.0d0) then
+     write(*,*)'!--- depth of 80 km -> surface, target Q_mu: 600.'
+     write(*,*)
+     write(*,*)'  case(IREGION_ATTENUATION_80_SURFACE)'
+     write(*,*)
+  end if
+  
+  do i = 1,n
+     write(*,'(A12,I1,A4,F30.20,A2)')'     tau_mu(',i,') = ', tau_e(i), 'd0'
+  end do
+  write(*,'(A17,F20.10,A2)')'       Q_mu = ', Q, 'd0'
+  write(*,*)
+
+  goto 42
+  
+  
+13 continue
+  write(*,*)'!--- do nothing for fluid outer core (no attenuation there)'
+  write(*,*)
+  write(*,*)'  case default'
+  write(*,*)
+  write(*,*)"    call exit_MPI(myrank,'wrong attenuation flag in mesh')"
+  write(*,*)
+  write(*,*)'  end select'
+  write(*,*)
+
+end program attenuation
+
+
+subroutine attenuation_memory_values(tau_s, deltat, alphaval,betaval,gammaval)
+  implicit none
+  integer, parameter :: N_SLS = 3
+  real(8), dimension(N_SLS) :: tau_s, alphaval, betaval,gammaval
+  real(8)  deltat
+
+  real(8), dimension(N_SLS) :: tauinv
+
+  tauinv(:) = - 1.0 / tau_s(:)
+  
+  alphaval(:)  = 1 + deltat*tauinv(:) + deltat**2*tauinv(:)**2 / 2. + &
+       deltat**3*tauinv(:)**3 / 6. + deltat**4*tauinv(:)**4 / 24.
+  betaval(:)   = deltat / 2. + deltat**2*tauinv(:) / 3. + deltat**3*tauinv(:)**2 / 8. + deltat**4*tauinv(:)**3 / 24.
+  gammaval(:)  = deltat / 2. + deltat**2*tauinv(:) / 6. + deltat**3*tauinv(:)**2 / 24.0
+  
+end subroutine attenuation_memory_values
+
+subroutine attenuation_scale_factor(myrank, T_c_source, tau_mu, tau_sigma, Q_mu, scale_factor)
+  implicit none
+  integer, parameter :: N_SLS = 3
+
+  integer myrank
+  real(8) scale_factor, Q_mu, T_c_source
+  real(8), dimension(N_SLS) :: tau_mu, tau_sigma
+
+  real(8) scale_t, T_c_source_nondim
+  real(8) f_c_source, w_c_source, f_0_prem
+  real(8) factor_scale_mu0, factor_scale_mu
+  real(8) a_val, b_val
+  real(8) big_omega
+  integer i
+
+  real(8) PI, ZERO, ONE, TWO, GRAV, RHOAV, TWO_PI
+
+  PI     = 3.14159265358979d0
+  ZERO   = 0.0d0
+  ONE    = 1.0d0
+  TWO    = 2.0d0
+  GRAV   = 6.6723d-11
+  RHOAV  = 5514.3d0
+  TWO_PI = 6.28318530717958
+
+  scale_t = ONE/dsqrt(PI*GRAV*RHOAV)
+
+  T_c_source_nondim = T_c_source / scale_t
+  
+!--- compute central angular frequency of source (non dimensionalized)
+  f_c_source = ONE / T_c_source_nondim
+  w_c_source = TWO_PI * f_c_source
+
+!--- non dimensionalize PREM reference of 1 second
+  f_0_prem = ONE / ( ONE / scale_t)
+
+!--- quantity by which to scale mu_0 to get mu
+  factor_scale_mu0 = ONE + TWO * log(f_c_source / f_0_prem) / (PI * Q_mu)
+
+!--- compute a, b and Omega parameters, also compute one minus sum of betas
+  a_val = ONE
+  b_val = ZERO
+  
+  do i = 1,N_SLS
+    a_val = a_val - w_c_source * w_c_source * tau_mu(i) * &
+      (tau_mu(i) - tau_sigma(i)) / (1.d0 + w_c_source * w_c_source * tau_mu(i) * tau_mu(i))
+    b_val = b_val + w_c_source * (tau_mu(i) - tau_sigma(i)) / &
+      (1.d0 + w_c_source * w_c_source * tau_mu(i) * tau_mu(i))
+  enddo
+  
+  big_omega = a_val*(sqrt(1.d0 + b_val*b_val/(a_val*a_val))-1.d0);
+
+!--- quantity by which to scale mu to get mu_relaxed
+  factor_scale_mu = b_val * b_val / (TWO * big_omega)
+
+!--- total factor by which to scale mu0
+  scale_factor = factor_scale_mu * factor_scale_mu0
+
+!--- check that the correction factor is close to one
+  if(scale_factor < 0.9 .or. scale_factor > 1.1) &
+       call exit(-1)
+
+end subroutine attenuation_scale_factor
+
+subroutine attenuation_property_values(myrank, tau_s, tau_e, factor_common, one_minus_sum_beta)
+  implicit none
+  integer, parameter :: N_SLS = 3
+  integer myrank
+  real(8), dimension(N_SLS) :: tau_s, tau_e, beta, factor_common
+  real(8)  one_minus_sum_beta
+
+  real(8), dimension(N_SLS) :: tauinv
+  integer i
+
+  tauinv(:) = -1.0 / tau_s(:)
+
+  beta(:) = 1.0d0 - tau_e(:) / tau_s(:)
+  one_minus_sum_beta = 1.0d0
+
+  do i = 1,N_SLS
+     one_minus_sum_beta = one_minus_sum_beta - beta(i)
+  enddo
+
+  factor_common(:) = 2.0 * beta(:) * tauinv(:)
+
+end subroutine attenuation_property_values
+
+
+
+!!!!!!
+! Inversion by SVD
+
+subroutine attenuation_invert_SVD(t1,t2,n,Q_real,omega_not,tau_s,tau_e)
+  implicit none
+  real(8)  t1, t2
+  integer  n
+  real(8)  Q_real
+  real(8)  omega_not
+  real(8), dimension(n)   :: tau_s, tau_e
+
+  integer i, j, k
+
+  real(8), dimension(n)   :: gradient, dadp, dbdp, dqdp, x1, x2
+  real(8), dimension(n,n) :: hessian
+
+  real(8) a, b, demon, Q_omega, Q_ratio, F_ratio, PI2, q
+  real(8) f1, f2, exp1, exp2, expo, dexp, omega, df, d2qdp2
+
+  gradient(:)  = 0.0d0
+  hessian(:,:) = 0.0d0
+  tau_e(:)     = 0.0d0
+  tau_s(:)     = 0.0d0
+
+  PI2 = 6.28318530717958d0
+  write(*,*)'pi2: ', PI2
+
+  f1 = 1.0d0/t1
+  f2 = 1.0d0/t2
+
+  if(f2 < f1 .OR. Q_real < 0.0d0 .OR. n < 1) then
+     write(*,*)'bad parameters'
+     call exit(-1)
+  endif
+
+  omega_not =  1.0e+03 * 10.0d0**(0.5 * (log10(f1) + log10(f2)))
+
+  exp1 = log10(f1)
+  exp2 = log10(f2)
+
+  dexp = (exp2 - exp1) / real(n - 1.0d0)
+  write(*,*)dexp
+  q = 1.0d0 / (real(n - 1.0d0) * Q_real )
+  write(*,*)'Q: ',q
+  do i = 1,n
+     expo     = exp1 + real(i-1) * dexp
+     omega    = PI2 * 10.d0**expo
+     write(*,*)omega,expo,PI2
+     tau_s(i) = 1.0d0 / omega
+     tau_e(i) = tau_s(i) * (1.0d0 + q) / (1.0d0 - q)
+  enddo
+
+  x1(:) = tau_e(:) - tau_s(:)
+  x2(:) = tau_s(:)
+  write(*,*)'e: ', tau_e
+  write(*,*)'x1: ', x1
+  write(*,*)'x2: ', x2
+
+  exp1 = log10(f1);
+  exp2 = log10(f2);
+  dexp = (exp2 - exp1) / 100.0d0
+  write(*,*)'exp1, exp2: ', exp1, exp2, dexp
+  expo = exp1 - dexp
+  do i=1,100
+     expo = expo + dexp
+     df       = 10.0d0**(expo+dexp) - 10.0d0**(expo) 
+     omega    = PI2 * 10.0d0**(expo)
+     write(*,*) 'df,expo,omega: ',df,expo,omega
+     a = real(1.0d0 - n)
+     b = 0.0d0
+     do j = 1,n
+        tau_e(j) = x1(j) + x2(j)
+        tau_s(j) = x2(j)
+        demon   = 1.0d0 + omega**2 * tau_s(j)**2
+        a       = a + (1.0d0 + omega**2.0d0 * tau_e(j) * tau_s(j)) / demon
+        b       = b + ( omega * ( tau_e(j) - tau_s(j) ) ) / demon
+        dadp(j) = omega**2.0d0 * tau_s(j) / demon
+        dbdp(j) = omega / demon
+     enddo
+!     write(*,*)'ab: ', a, b,demon,expo
+     Q_omega = a / b
+     Q_ratio = 1.0d0 / Q_omega - 1.0d0 / Q_real
+     F_ratio = df / (f2 - f1)
+     do j = 1,n
+        dqdp(j)     = (dbdp(j) - ( b / a ) * dadp(j)) / a
+        gradient(j) = gradient(j) + 2.0d0 * (Q_ratio) * dqdp(j) * F_ratio
+        do k = 1,j
+           d2qdp2   = -(dadp(j) * dbdp(k) + dbdp(j) * dadp(k) - 2.0d0 * (b / a) * dadp(j) * dadp(k)) / (a * a)
+           hessian(j,k) = hessian(j,k) + (2.0d0 * dqdp(j) * dqdp(k) + 2.0d0 * Q_ratio * d2qdp2) * F_ratio
+           hessian(k,j) = hessian(j,k)
+        enddo
+     enddo
+  enddo
+  write(*,*)
+  write(*,*)'blah: ', x1
+  write(*,*)
+  write(*,*)gradient
+  write(*,*)
+  write(*,*)hessian
+  write(*,*)
+  call invert(x1, gradient, hessian, n)
+
+  tau_e(:) = x1(:) + x2(:)
+  tau_s(:) = x2(:)
+
+end subroutine attenuation_invert_SVD
+
+
+subroutine invert(x,b,A,n)
+
+  implicit none
+  
+  integer n
+  real(8), dimension(n)   :: x, b
+  real(8), dimension(n,n) :: A
+
+  integer i, j, k
+  real(8), dimension(n)   :: W, xp
+  real(8), dimension(n,n) :: V
+  real(8), dimension(n,n) :: A_inverse
+
+
+  call svdcmp_dp(A,W,V,n)
+  do i = 1,n
+     do j = 1,n
+        V(i,j) = (1.0d0 / W(i)) * A(j,i)
+     enddo
+  enddo
+
+  do i = 1,n
+     do j = 1,n
+        A_inverse(i,j) = 0.0d0
+        do k = 1,n
+           A_inverse(i,j) = A_inverse(i,j) + A(i,k) * V(k,j)
+        enddo
+     enddo
+  enddo
+
+  do i = 1,n
+     xp(i) = x(i)
+     do j = 1, n
+        xp(i) = xp(i) - A_inverse(i,j) * b(j)
+     enddo
+     x(i) = xp(i)
+  enddo
+
+end subroutine invert
+    
+    
+
+
+FUNCTION pythag_dp(a,b)
+  IMPLICIT NONE
+  INTEGER, PARAMETER :: DP = KIND(1.0D0)
+  REAL(DP), INTENT(IN) :: a,b
+  REAL(DP) :: pythag_dp
+  REAL(DP) :: absa,absb
+  absa=abs(a)
+  absb=abs(b)
+  if (absa > absb) then
+     pythag_dp=absa*sqrt(1.0d0+(absb/absa)**2)
+  else
+     if (absb == 0.0d0) then
+        pythag_dp=0.0d0
+     else
+        pythag_dp=absb*sqrt(1.0d0+(absa/absb)**2)
+     end if
+  end if
+END FUNCTION pythag_dp
+
+SUBROUTINE svdcmp_dp(a,w,v,p)
+!  USE nrtype; USE nrutil, ONLY : assert_eq,nrerror,outerprod
+!  USE nr, ONLY : pythag
+  IMPLICIT NONE
+  integer p
+  INTEGER, PARAMETER :: DP = KIND(1.0D0)
+  REAL(DP), DIMENSION(p,p), INTENT(INOUT) :: a
+  REAL(DP), DIMENSION(p), INTENT(OUT) :: w
+  REAL(DP), DIMENSION(p,p), INTENT(OUT) :: v
+  INTEGER(4) :: i,its,j,k,l,m,n,nm
+  REAL(DP) :: anorm,c,f,g,h,s,scale,x,y,z
+  REAL(DP), DIMENSION(size(a,1)) :: tempm
+  REAL(DP), DIMENSION(size(a,2)) :: rv1,tempn
+  REAL(DP)  PYTHAG_DP
+  REAL(DP) OUTERPROD_D
+  m=size(a,1)
+!  n=assert_eq(size(a,2),size(v,1),size(v,2),size(w),'svdcmp_dp')
+  n = size(a,2)
+!  write(*,*)'Inside svdcmp_dp'
+  g=0.0d0
+  scale=0.0d0
+  do i=1,n
+     l=i+1
+     rv1(i)=scale*g
+     g=0.0d0
+     scale=0.0d0
+!     write(*,*)i,n,m,l
+     if (i <= m) then
+        scale=sum(abs(a(i:m,i)))
+        if (scale /= 0.0d0) then
+           a(i:m,i)=a(i:m,i)/scale
+           s=dot_product(a(i:m,i),a(i:m,i))
+           f=a(i,i)
+           g=-sign(sqrt(s),f)
+           h=f*g-s
+           a(i,i)=f-g
+           tempn(l:n)=matmul(a(i:m,i),a(i:m,l:n))/h
+!           a(i:m,l:n)=a(i:m,l:n)+outerprod_d(a(i:m,i),m-1+1,tempn(l:n),n-l+1)
+           a(i:m,l:n)=a(i:m,l:n)+spread(a(i:m,i),dim=2,ncopies=size(tempn(l:n))) * &
+                spread(tempn(l:n),dim=1,ncopies=size(a(i:m,i)))
+           a(i:m,i)=scale*a(i:m,i)
+        end if
+     end if
+     w(i)=scale*g
+     g=0.0d0
+     scale=0.0d0
+     if ((i <= m) .and. (i /= n)) then
+        scale=sum(abs(a(i,l:n)))
+        if (scale /= 0.0d0) then
+           a(i,l:n)=a(i,l:n)/scale
+           s=dot_product(a(i,l:n),a(i,l:n))
+           f=a(i,l)
+           g=-sign(sqrt(s),f)
+           h=f*g-s
+           a(i,l)=f-g
+           rv1(l:n)=a(i,l:n)/h
+           tempm(l:m)=matmul(a(l:m,l:n),a(i,l:n))
+!           a(l:m,l:n)=a(l:m,l:n)+outerprod_d(tempm(l:m),m-l+1,rv1(l:n),n-l+1)
+           a(l:m,l:n)=a(l:m,l:n)+spread(tempm(l:m),dim=2,ncopies=size(rv1(l:n))) * &
+                spread(rv1(l:n),dim=1,ncopies=size(tempm(l:m)))
+           a(i,l:n)=scale*a(i,l:n)
+        end if
+     end if
+  end do
+  anorm=maxval(abs(w)+abs(rv1))
+!  write(*,*)W
+  do i=n,1,-1
+     if (i < n) then
+        if (g /= 0.0d0) then
+           v(l:n,i)=(a(i,l:n)/a(i,l))/g
+           tempn(l:n)=matmul(a(i,l:n),v(l:n,l:n))
+!           v(l:n,l:n)=v(l:n,l:n)+outerprod_d(v(l:n,i),n-1+1,tempn(l:n),n-l+1)
+           v(l:n,l:n)=v(l:n,l:n)+spread(v(l:n,i),dim=2,ncopies=size(tempn(l:n))) * &
+                spread(tempn(l:n), dim=1, ncopies=size(v(l:n,i)))
+        end if
+        v(i,l:n)=0.0d0
+        v(l:n,i)=0.0d0
+     end if
+     v(i,i)=1.0d0
+     g=rv1(i)
+     l=i
+  end do
+  do i=min(m,n),1,-1
+     l=i+1
+     g=w(i)
+     a(i,l:n)=0.0d0
+     if (g /= 0.0d0) then
+        g=1.0d0/g
+        tempn(l:n)=(matmul(a(l:m,i),a(l:m,l:n))/a(i,i))*g
+!        a(i:m,l:n)=a(i:m,l:n)+outerprod_d(a(i:m,i),m-i+1,tempn(l:n),n-l)
+        a(i:m,l:n)=a(i:m,l:n)+spread(a(i:m,i),dim=2,ncopies=size(tempn(l:n))) * &
+             spread(tempn(l:n),dim=1,ncopies=size(a(i:m,i)))
+        a(i:m,i)=a(i:m,i)*g
+     else
+        a(i:m,i)=0.0d0
+     end if
+     a(i,i)=a(i,i)+1.0d0
+  end do
+  do k=n,1,-1
+     do its=1,30
+        do l=k,1,-1
+           nm=l-1
+           if ((abs(rv1(l))+anorm) == anorm) exit
+           if ((abs(w(nm))+anorm) == anorm) then
+              c=0.0d0
+              s=1.0d0
+              do i=l,k
+                 f=s*rv1(i)
+                 rv1(i)=c*rv1(i)
+                 if ((abs(f)+anorm) == anorm) exit
+                 g=w(i)
+                 h=pythag_dp(f,g)
+                 w(i)=h
+                 h=1.0d0/h
+                 c= (g*h)
+                 s=-(f*h)
+                 tempm(1:m)=a(1:m,nm)
+                 a(1:m,nm)=a(1:m,nm)*c+a(1:m,i)*s
+                 a(1:m,i)=-tempm(1:m)*s+a(1:m,i)*c
+              end do
+              exit
+           end if
+        end do
+        z=w(k)
+        if (l == k) then
+           if (z < 0.0d0) then
+              w(k)=-z
+              v(1:n,k)=-v(1:n,k)
+           end if
+           exit
+        end if
+        if (its == 30) then 
+           write(*,*) 'svdcmp_dp: no convergence in svdcmp'
+           call exit(-1)
+        endif
+        x=w(l)
+        nm=k-1
+        y=w(nm)
+        g=rv1(nm)
+        h=rv1(k)
+        f=((y-z)*(y+z)+(g-h)*(g+h))/(2.0d0*h*y)
+        g=pythag_dp(f,1.0d0)
+        f=((x-z)*(x+z)+h*((y/(f+sign(g,f)))-h))/x
+        c=1.0d0
+        s=1.0d0
+        do j=l,nm
+           i=j+1
+           g=rv1(i)
+           y=w(i)
+           h=s*g
+           g=c*g
+           z=pythag_dp(f,h)
+           rv1(j)=z
+           c=f/z
+           s=h/z
+           f= (x*c)+(g*s)
+           g=-(x*s)+(g*c)
+           h=y*s
+           y=y*c
+           tempn(1:n)=v(1:n,j)
+           v(1:n,j)=v(1:n,j)*c+v(1:n,i)*s
+           v(1:n,i)=-tempn(1:n)*s+v(1:n,i)*c
+           z=pythag_dp(f,h)
+           w(j)=z
+           if (z /= 0.0d0) then
+              z=1.0d0/z
+              c=f*z
+              s=h*z
+           end if
+           f= (c*g)+(s*y)
+           x=-(s*g)+(c*y)
+           tempm(1:m)=a(1:m,j)
+           a(1:m,j)=a(1:m,j)*c+a(1:m,i)*s
+           a(1:m,i)=-tempm(1:m)*s+a(1:m,i)*c
+        end do
+        rv1(l)=0.0d0
+        rv1(k)=f
+        w(k)=x
+     end do
+  end do
+END SUBROUTINE svdcmp_dp
+                

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/attenuation_output.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/attenuation_output.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/attenuation_output.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,69 @@
+
+  program attenuation_output
+
+! BS This program is intended to only read in the values created in the files:
+!    tau_s.bin
+!    tau_e.bin
+!    T_c_source.bin
+!    Q.bin
+!    It is dependent on the LOCAL_PATH, process, iregion, and the number of nodes
+!    which reside on that process
+!    Do not rely on this code for processing
+!    However, the values here should match those which are output from attenuation_prem.c
+!    This code was used for testing the implementation of 3D attenuation
+!    Brian Savage, 22/03/04
+    implicit none 
+    include "OUTPUT_FILES/values_from_mesher.h"
+    include "constants.h"
+    
+    integer i,j,k,ispec
+    integer myrank, vnspec, process, iregion
+    character(len=150) prname, LOCAL_PATH
+    double precision, dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_AC)       :: one_minus_sum_beta, scale_factor
+    double precision, dimension(N_SLS,NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE_AC) :: factor_common
+    double precision, dimension(N_SLS)                                         :: tau_s
+    double precision T_c_source
+    
+    LOCAL_PATH = "/scratch/DATABASES_MPI_BRIAN/att"
+    process    = 42
+    iregion    = IREGION_CRUST_MANTLE
+
+    call create_name_database(prname, process, iregion, LOCAL_PATH)
+
+    open(unit=27, file=prname(1:len_trim(prname))//'tau_s.bin',status='old',form='unformatted')
+    read(27) tau_s
+    close(27)
+    
+    open(unit=27, file=prname(1:len_trim(prname))//'T_c_source.bin',status='old',form='unformatted')
+    read(27) T_c_source
+    close(27);
+    
+    open(unit=27, file=prname(1:len_trim(prname))//'Q.bin',status='old',form='unformatted')
+    read(27) scale_factor
+    close(27)
+
+    open(unit=27, file=prname(1:len_trim(prname))//'tau_e.bin',status='old',form='unformatted')
+    read(27) factor_common
+    close(27)
+
+    write(*,*)' T_c_source = 1000.d0 / ', T_c_source
+    write(*,*)' tau_sigma(1) = ', tau_s(1)
+    write(*,*)' tau_sigma(2) = ', tau_s(2)
+    write(*,*)' tau_sigma(3) = ', tau_s(3)
+    
+    do ispec = 1, NSPEC_CRUST_MANTLE_AC
+       do k = 1, NGLLZ
+          do j = 1, NGLLY
+             do i = 1, NGLLX
+                write(*,*)' tau_mu(1) = ', factor_common(1,i,j,k,ispec)
+                write(*,*)' tau_mu(2) = ', factor_common(2,i,j,k,ispec)
+                write(*,*)' tau_mu(3) = ', factor_common(3,i,j,k,ispec)
+                write(*,*)' Qmu = ', scale_factor(i,j,k,ispec)
+                write(*,*)
+             enddo
+          enddo
+       enddo
+    enddo
+  end program attenuation_output
+  
+  

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/attenuation_prem.c
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/attenuation_prem.c	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/attenuation_prem.c	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,1276 @@
+
+/* See Liu, Anderson & Kanamori (GJRAS, 47, 41-58, 1976) for details */
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <stdio.h>
+#include <math.h>
+#include <sgtty.h>
+#include <signal.h>
+#include <stdlib.h>
+
+/* useful constants */
+
+#define PI 3.14159265358979
+#define PI2 6.28318530717958
+#define NR 222
+
+main (argc,argv)
+int argc; char **argv;
+{
+  int             xmgr, n, i, j, plot;
+  int             counter;
+  double          T1, T2;
+  double          r, rho, v_p, v_s;
+  double          Q_kappa, Q_mu, Q_kappa_m, Q_mu_m;
+  double          f1, f2, Q, om0, Omega;
+  double          a, b;
+  double          kappa, mu, kappa0, mu0, kappaR, muR;
+  double         *tau_s, *tau_e;
+  double         *dvector();
+  void            constant_Q2_sub(),plot_modulus();
+  void            free_dvector();
+  FILE           *fp_prem, *fp_elastic;
+
+/*  DK DK  printf("longest period (seconds): "); */
+  scanf("%lf",&T1);
+  f1= 1.0/T1;
+
+/*  DK DK  printf("shortest period (seconds): "); */
+  scanf("%lf",&T2);
+  f2 = 1.0/T2;
+
+/*  DK DK  printf("number of mechanisms: "); */
+  scanf("%d",&n);
+
+/*  DK DK  printf("1 = use xmgr  0 = do not use xmgr: "); */
+  scanf("%d",&xmgr);
+
+  if (f2 < f1) {
+    printf("T2 > T1\n");
+    exit;
+  }
+  if (Q < 0.0) {
+    printf("Q < 0\n");
+    exit;
+  }
+  if (n < 1) {
+    printf("n < 1\n");
+    exit;
+  }
+
+  tau_s = dvector(1, n);
+  tau_e = dvector(1, n);
+
+  counter = 0;
+
+        if((fp_prem=fopen("prem_is222","r"))==NULL) {
+          puts("cannot open file\n");
+          exit;
+        }
+  Q_kappa_m = Q_mu_m = 0.0;
+  om0 = PI2 * pow(10.0, 0.5 * (log10(f1) + log10(f2)));
+/* DK DK  printf("\n\n! central frequency: %25.15f mHz\n\n", 1.0E+03 * om0 / PI2); */
+  for (j = 0; j < NR; j++) {
+          plot=0;
+    fscanf(fp_prem, "%lf %lf %lf %lf %lf %lf", &r, &rho, &v_p, &v_s, &Q_kappa, &Q_mu);
+
+/* DK DK removed for Qmu only in the Earth
+    if (Q_kappa != Q_kappa_m) {
+      printf("\ntarget Q_kappa: %6.2f\n\n", Q_kappa);
+      constant_Q2_sub(f1, f2, n, (double) Q_kappa, tau_s, tau_e, xmgr);
+      Q_kappa_m = Q_kappa;
+                  a = 1.0;
+                  b = 0.0;
+                  for (i = 1; i <= n; i++) {
+                    a -= om0 * om0 * tau_e[i] * (tau_e[i] - tau_s[i]) /
+                       (1.0 + om0 * om0 * tau_e[i] * tau_e[i]);
+                    b += om0 * (tau_e[i] - tau_s[i]) /
+                       (1.0 + om0 * om0 * tau_e[i] * tau_e[i]);
+                  }
+            kappa = rho * (v_p * v_p - (4.0 / 3.0) * v_s * v_s);
+            kappa0 = kappa * (1.0 + (2.0 / (PI * Q_kappa)) * log(om0 / PI2));
+            kappaR=kappa0*(a*a+b*b)/a;
+                        plot_modulus(f1, f2, n, kappa, kappaR, Q_kappa, tau_e, tau_s, xmgr);
+                      }
+*/
+
+    if (Q_mu != Q_mu_m && Q_mu > 0.0) {
+
+      counter++;
+
+      if (counter == 1) {
+        printf("\n! period range: %f -- %f s\n\n", 1./f2 , 1./f1 );
+        printf("! define central period of source in seconds using values from Jeroen's code\n");
+        printf("  T_c_source = 1000.d0 / %20.15fd0\n", 1.0E+03 * om0 / PI2);
+           }
+
+      constant_Q2_sub(f1, f2, n, (double) Q_mu, tau_s, tau_e, xmgr);
+      Q_mu_m = Q_mu;
+                  a = 1.0;
+                  b = 0.0;
+                  for (i = 1; i <= n; i++) {
+                    a -= om0 * om0 * tau_e[i] * (tau_e[i] - tau_s[i]) /
+                       (1.0 + om0 * om0 * tau_e[i] * tau_e[i]);
+                    b += om0 * (tau_e[i] - tau_s[i]) /
+                       (1.0 + om0 * om0 * tau_e[i] * tau_e[i]);
+                  }
+            mu = rho * v_s * v_s;
+          mu0 = mu * (1.0 + (2.0 / (PI * Q_mu)) * log(om0 / PI2));
+                        Omega=a*(sqrt(1.0+b*b/(a*a))-1.0);
+                        muR=0.5*mu0*b*b/Omega;
+                        plot_modulus(f1, f2, n, mu, muR, Q_mu, tau_e, tau_s, xmgr);
+
+/* DK DK converted to Fortran90 output */
+
+                  if (counter == 1) {
+                    printf("! tau sigma evenly spaced in log frequency, does not depend on value of Q\n");
+                    for (i = 1; i <= n; i++) {
+                      printf("  tau_sigma(%1d) = %30.20fd0\n", i, tau_s[i]);
+                    }
+                    printf("\n");
+                    }
+
+  if (counter == 1) {
+    printf("! check in which region we are based upon doubling flag\n\n");
+    printf("  select case(iregion_attenuation)\n\n");
+    printf("!--- inner core, target Q_mu:  84.60\n\n");
+    printf("  case(IREGION_ATTENUATION_INNER_CORE)\n\n");
+  }
+
+  if (counter == 2) {
+    printf("!--- CMB -> d670 (no attenuation in fluid outer core), target Q_mu = 312.\n\n");
+    printf("  case(IREGION_ATTENUATION_CMB_670)\n\n");
+  }
+
+  if (counter == 3) {
+    printf("!--- d670 -> d220, target Q_mu: 143.\n\n");
+    printf("  case(IREGION_ATTENUATION_670_220)\n\n");
+  }
+
+  if (counter == 4) {
+    printf("!--- d220 -> depth of 80 km, target Q_mu:  80.\n\n");
+    printf("  case(IREGION_ATTENUATION_220_80)\n\n");
+  }
+
+  if (counter == 5) {
+    printf("!--- depth of 80 km -> surface, target Q_mu: 600.\n\n");
+    printf("  case(IREGION_ATTENUATION_80_SURFACE)\n\n");
+  }
+
+                  for (i = 1; i <= n; i++) {
+                    printf("    tau_mu(%1d) = %30.20fd0\n", i, tau_e[i] );
+                    }
+/* DK DK     printf("    radius_km_and_above = %f \n", r/1000.0); */
+                  printf("    Q_mu = %20.10fd0\n", Q_mu);
+    }
+
+  }
+  fclose(fp_prem);
+
+  free_dvector(tau_s, 1, n);
+  free_dvector(tau_e, 1, n);
+
+  printf("\n!--- do nothing for fluid outer core (no attenuation there)\n\n");
+  printf("  case default\n\n");
+  printf("    call exit_MPI(myrank,'wrong attenuation flag in mesh')\n\n");
+  printf("  end select\n\n");
+
+}
+
+void   plot_modulus(f1, f2, n, m, mR, Q, tau_e, tau_s ,xmgr)
+        int  n, xmgr;
+        double f1, f2, m, mR, Q, *tau_e, *tau_s;
+{
+int             pid, i;
+double          exp1, exp2, dexp, expo;
+double          f, om, Omega;
+double          a, b, m_om, m_prem;
+char            strng[180];
+int             getpid(), system();
+FILE           *fp_v, *fp_q;
+
+pid = getpid();
+sprintf(strng, "modulus%1d", pid);
+if((fp_v=fopen(strng,"w"))==NULL) {
+  puts("cannot open file\n");
+  exit;
+}
+sprintf(strng, "Q%1d", pid);
+if((fp_q=fopen(strng,"w"))==NULL) {
+  puts("cannot open file\n");
+  exit;
+}
+
+exp1 = log10(f1) - 2.0;
+exp2 = log10(f2) + 2.0;
+dexp = (exp2 - exp1) / 100.0;
+for (expo = exp1; expo <= exp2; expo += dexp) {
+  f = pow(10.0, expo);
+  om = PI2 * f;
+        a = 1.0;
+        b = 0.0;
+        for (i = 1; i <= n; i++) {
+            a -= om * om * tau_e[i] * (tau_e[i] - tau_s[i]) /
+                (1.0 + om * om * tau_e[i] * tau_e[i]);
+          b += om * (tau_e[i] - tau_s[i]) /
+             (1.0 + om * om * tau_e[i] * tau_e[i]);
+        }
+        Omega=a*(sqrt(1.0+b*b/(a*a))-1.0);
+        m_om = 2.0*mR* Omega/(b*b);
+        m_prem = m * (1.0 + (2.0 / (PI * Q)) * log(om / PI2));
+        fprintf(fp_v, "%f %f %f\n", expo, m_om/m, m_prem/m);
+  if (om >= PI2 * f1 && om <= PI2 * f2) {
+           fprintf(fp_q, "%f %f %f\n", expo, 1.0/atan(b/a), Q);
+        }
+}
+fclose(fp_v);
+fclose(fp_q);
+
+/* DK DK call xmgr to plot curves if needed */
+
+if (xmgr == 1) {
+  sprintf(strng, "xmgr -nxy Q%1d", pid);
+  system(strng);
+  sprintf(strng, "xmgr -nxy modulus%1d", pid);
+  system(strng);
+  sprintf(strng, "rm modulus%1d", pid);
+  system(strng);
+  sprintf(strng, "rm Q%1d", pid);
+  system(strng);
+}
+
+}
+
+#include <malloc.h>
+#include <stdio.h>
+
+void nrerror(error_text)
+char error_text[];
+{
+  void exit();
+
+  fprintf(stderr,"Numerical Recipes run-time error...\n");
+  fprintf(stderr,"%s\n",error_text);
+  fprintf(stderr,"...now exiting to system...\n");
+  exit(1);
+}
+
+double *vector(nl,nh)
+int nl,nh;
+{
+  double *v;
+
+  v=(double *)malloc((unsigned) (nh-nl+1)*sizeof(double));
+  if (!v) nrerror("allocation failure in vector()");
+  return v-nl;
+}
+
+int *ivector(nl,nh)
+int nl,nh;
+{
+  int *v;
+
+  v=(int *)malloc((unsigned) (nh-nl+1)*sizeof(int));
+  if (!v) nrerror("allocation failure in ivector()");
+  return v-nl;
+}
+
+double *dvector(nl,nh)
+int nl,nh;
+{
+  double *v;
+
+  v=(double *)malloc((unsigned) (nh-nl+1)*sizeof(double));
+  if (!v) nrerror("allocation failure in dvector()");
+  return v-nl;
+}
+
+
+
+double **matrix(nrl,nrh,ncl,nch)
+int nrl,nrh,ncl,nch;
+{
+  int i;
+  double **m;
+
+  m=(double **) malloc((unsigned) (nrh-nrl+1)*sizeof(double*));
+  if (!m) nrerror("allocation failure 1 in matrix()");
+  m -= nrl;
+
+  for(i=nrl;i<=nrh;i++) {
+    m[i]=(double *) malloc((unsigned) (nch-ncl+1)*sizeof(double));
+    if (!m[i]) nrerror("allocation failure 2 in matrix()");
+    m[i] -= ncl;
+  }
+  return m;
+}
+
+double **dmatrix(nrl,nrh,ncl,nch)
+int nrl,nrh,ncl,nch;
+{
+  int i;
+  double **m;
+
+  m=(double **) malloc((unsigned) (nrh-nrl+1)*sizeof(double*));
+  if (!m) nrerror("allocation failure 1 in dmatrix()");
+  m -= nrl;
+
+  for(i=nrl;i<=nrh;i++) {
+    m[i]=(double *) malloc((unsigned) (nch-ncl+1)*sizeof(double));
+    if (!m[i]) nrerror("allocation failure 2 in dmatrix()");
+    m[i] -= ncl;
+  }
+  return m;
+}
+
+int **imatrix(nrl,nrh,ncl,nch)
+int nrl,nrh,ncl,nch;
+{
+  int i,**m;
+
+  m=(int **)malloc((unsigned) (nrh-nrl+1)*sizeof(int*));
+  if (!m) nrerror("allocation failure 1 in imatrix()");
+  m -= nrl;
+
+  for(i=nrl;i<=nrh;i++) {
+    m[i]=(int *)malloc((unsigned) (nch-ncl+1)*sizeof(int));
+    if (!m[i]) nrerror("allocation failure 2 in imatrix()");
+    m[i] -= ncl;
+  }
+  return m;
+}
+
+
+
+double **submatrix(a,oldrl,oldrh,oldcl,oldch,newrl,newcl)
+double **a;
+int oldrl,oldrh,oldcl,oldch,newrl,newcl;
+{
+  int i,j;
+  double **m;
+
+  m=(double **) malloc((unsigned) (oldrh-oldrl+1)*sizeof(double*));
+  if (!m) nrerror("allocation failure in submatrix()");
+  m -= newrl;
+
+  for(i=oldrl,j=newrl;i<=oldrh;i++,j++) m[j]=a[i]+oldcl-newcl;
+
+  return m;
+}
+
+
+
+void free_vector(v,nl,nh)
+double *v;
+int nl,nh;
+{
+  free((char*) (v+nl));
+}
+
+void free_ivector(v,nl,nh)
+int *v,nl,nh;
+{
+  free((char*) (v+nl));
+}
+
+void free_dvector(v,nl,nh)
+double *v;
+int nl,nh;
+{
+  free((char*) (v+nl));
+}
+
+
+
+void free_matrix(m,nrl,nrh,ncl,nch)
+double **m;
+int nrl,nrh,ncl,nch;
+{
+  int i;
+
+  for(i=nrh;i>=nrl;i--) free((char*) (m[i]+ncl));
+  free((char*) (m+nrl));
+}
+
+void free_dmatrix(m,nrl,nrh,ncl,nch)
+double **m;
+int nrl,nrh,ncl,nch;
+{
+  int i;
+
+  for(i=nrh;i>=nrl;i--) free((char*) (m[i]+ncl));
+  free((char*) (m+nrl));
+}
+
+void free_imatrix(m,nrl,nrh,ncl,nch)
+int **m;
+int nrl,nrh,ncl,nch;
+{
+  int i;
+
+  for(i=nrh;i>=nrl;i--) free((char*) (m[i]+ncl));
+  free((char*) (m+nrl));
+}
+
+
+
+void free_submatrix(b,nrl,nrh,ncl,nch)
+double **b;
+int nrl,nrh,ncl,nch;
+{
+  free((char*) (b+nrl));
+}
+
+
+
+double **convert_matrix(a,nrl,nrh,ncl,nch)
+double *a;
+int nrl,nrh,ncl,nch;
+{
+  int i,j,nrow,ncol;
+  double **m;
+
+  nrow=nrh-nrl+1;
+  ncol=nch-ncl+1;
+  m = (double **) malloc((unsigned) (nrow)*sizeof(double*));
+  if (!m) nrerror("allocation failure in convert_matrix()");
+  m -= nrl;
+  for(i=0,j=nrl;i<=nrow-1;i++,j++) m[j]=a+ncol*i-ncl;
+  return m;
+}
+
+
+
+void free_convert_matrix(b,nrl,nrh,ncl,nch)
+double **b;
+int nrl,nrh,ncl,nch;
+{
+  free((char*) (b+nrl));
+}
+
+#include <math.h>
+
+#define NMAX 5000
+#define ALPHA 1.0
+#define BETA 0.5
+#define GAMMA 2.0
+
+#define GET_PSUM for (j=1;j<=ndim;j++) { for (i=1,sum=0.0;i<=mpts;i++)\
+            sum += p[i][j]; psum[j]=sum;}
+
+void amoeba(p,y,ndim,ftol,funk,nfunk)
+double **p,y[],ftol,(*funk)();
+int ndim,*nfunk;
+{
+  int i,j,ilo,ihi,inhi,mpts=ndim+1;
+  double ytry,ysave,sum,rtol,amotry(),*psum,*vector();
+  void nrerror(),free_vector();
+
+  psum=vector(1,ndim);
+  *nfunk=0;
+  GET_PSUM
+  for (;;) {
+    ilo=1;
+    ihi = y[1]>y[2] ? (inhi=2,1) : (inhi=1,2);
+    for (i=1;i<=mpts;i++) {
+      if (y[i] < y[ilo]) ilo=i;
+      if (y[i] > y[ihi]) {
+        inhi=ihi;
+        ihi=i;
+      } else if (y[i] > y[inhi])
+        if (i != ihi) inhi=i;
+    }
+    rtol=2.0*fabs(y[ihi]-y[ilo])/(fabs(y[ihi])+fabs(y[ilo]));
+    if (rtol < ftol) break;
+    if (*nfunk >= NMAX) nrerror("Too many iterations in AMOEBA");
+    ytry=amotry(p,y,psum,ndim,funk,ihi,nfunk,-ALPHA);
+    if (ytry <= y[ilo])
+      ytry=amotry(p,y,psum,ndim,funk,ihi,nfunk,GAMMA);
+    else if (ytry >= y[inhi]) {
+      ysave=y[ihi];
+      ytry=amotry(p,y,psum,ndim,funk,ihi,nfunk,BETA);
+      if (ytry >= ysave) {
+        for (i=1;i<=mpts;i++) {
+          if (i != ilo) {
+            for (j=1;j<=ndim;j++) {
+              psum[j]=0.5*(p[i][j]+p[ilo][j]);
+              p[i][j]=psum[j];
+            }
+            y[i]=(*funk)(psum);
+          }
+        }
+        *nfunk += ndim;
+        GET_PSUM
+      }
+    }
+  }
+  free_vector(psum,1,ndim);
+}
+
+double amotry(p,y,psum,ndim,funk,ihi,nfunk,fac)
+double **p,*y,*psum,(*funk)(),fac;
+int ndim,ihi,*nfunk;
+{
+  int j;
+  double fac1,fac2,ytry,*ptry,*vector();
+  void nrerror(),free_vector();
+
+  ptry=vector(1,ndim);
+  fac1=(1.0-fac)/ndim;
+  fac2=fac1-fac;
+  for (j=1;j<=ndim;j++) ptry[j]=psum[j]*fac1-p[ihi][j]*fac2;
+  ytry=(*funk)(ptry);
+  ++(*nfunk);
+  if (ytry < y[ihi]) {
+    y[ihi]=ytry;
+    for (j=1;j<=ndim;j++) {
+      psum[j] += ptry[j]-p[ihi][j];
+      p[ihi][j]=ptry[j];
+    }
+  }
+  free_vector(ptry,1,ndim);
+  return ytry;
+}
+
+#undef ALPHA
+#undef BETA
+#undef GAMMA
+#undef NMAX
+
+void spline(x,y,n,yp1,ypn,y2)
+double x[],y[],yp1,ypn,y2[];
+int n;
+{
+  int i,k;
+  double p,qn,sig,un,*u,*vector();
+  void free_vector();
+
+  u=vector(1,n-1);
+  if (yp1 > 0.99e30)
+    y2[1]=u[1]=0.0;
+  else {
+    y2[1] = -0.5;
+    u[1]=(3.0/(x[2]-x[1]))*((y[2]-y[1])/(x[2]-x[1])-yp1);
+  }
+  for (i=2;i<=n-1;i++) {
+    sig=(x[i]-x[i-1])/(x[i+1]-x[i-1]);
+    p=sig*y2[i-1]+2.0;
+    y2[i]=(sig-1.0)/p;
+    u[i]=(y[i+1]-y[i])/(x[i+1]-x[i]) - (y[i]-y[i-1])/(x[i]-x[i-1]);
+    u[i]=(6.0*u[i]/(x[i+1]-x[i-1])-sig*u[i-1])/p;
+  }
+  if (ypn > 0.99e30)
+    qn=un=0.0;
+  else {
+    qn=0.5;
+    un=(3.0/(x[n]-x[n-1]))*(ypn-(y[n]-y[n-1])/(x[n]-x[n-1]));
+  }
+  y2[n]=(un-qn*u[n-1])/(qn*y2[n-1]+1.0);
+  for (k=n-1;k>=1;k--)
+    y2[k]=y2[k]*y2[k+1]+u[k];
+  free_vector(u,1,n-1);
+}
+
+void splint(xa,ya,y2a,n,x,y)
+double xa[],ya[],y2a[],x,*y;
+int n;
+{
+  int klo,khi,k;
+  double h,b,a;
+  void nrerror();
+
+  klo=1;
+  khi=n;
+  while (khi-klo > 1) {
+    k=(khi+klo) >> 1;
+    if (xa[k] > x) khi=k;
+    else klo=k;
+  }
+  h=xa[khi]-xa[klo];
+  if (h == 0.0) nrerror("Bad XA input to routine SPLINT");
+  a=(xa[khi]-x)/h;
+  b=(x-xa[klo])/h;
+  *y=a*ya[klo]+b*ya[khi]+((a*a*a-a)*y2a[klo]+(b*b*b-b)*y2a[khi])*(h*h)/6.0;
+}
+
+#define FUNC(x) ((*func)(x))
+
+double trapzd(func,a,b,n)
+double a,b;
+double (*func)();  /* ANSI: double (*func)(double); */
+int n;
+{
+  double x,tnm,sum,del;
+  static double s;
+  static int it;
+  int j;
+
+  if (n == 1) {
+    it=1;
+    return (s=0.5*(b-a)*(FUNC(a)+FUNC(b)));
+  } else {
+    tnm=it;
+    del=(b-a)/tnm;
+    x=a+0.5*del;
+    for (sum=0.0,j=1;j<=it;j++,x+=del) sum += FUNC(x);
+    it *= 2;
+    s=0.5*(s+(b-a)*sum/tnm);
+    return s;
+  }
+}
+
+#include <math.h>
+
+#define EPS 0.5e-5
+#define JMAX 20
+#define JMAXP JMAX+1
+#define K 5
+
+double qromb(func,a,b)
+double a,b;
+double (*func)();
+{
+  double ss,dss,trapzd();
+  double s[JMAXP+1],h[JMAXP+1];
+  int j;
+  void polint(),nrerror();
+
+  h[1]=1.0;
+  for (j=1;j<=JMAX;j++) {
+    s[j]=trapzd(func,a,b,j);
+    if (j >= K) {
+      polint(&h[j-K],&s[j-K],K,0.0,&ss,&dss);
+      if (fabs(dss) < EPS*fabs(ss)) return ss;
+    }
+    s[j+1]=s[j];
+    h[j+1]=0.25*h[j];
+  }
+  nrerror("Too many steps in routine QROMB");
+}
+
+#undef EPS
+#undef JMAX
+#undef JMAXP
+#undef K
+
+#include <math.h>
+
+void polint(xa,ya,n,x,y,dy)
+double xa[],ya[],x,*y,*dy;
+int n;
+{
+  int i,m,ns=1;
+  double den,dif,dift,ho,hp,w;
+  double *c,*d,*vector();
+  void nrerror(),free_vector();
+
+  dif=fabs(x-xa[1]);
+  c=vector(1,n);
+  d=vector(1,n);
+  for (i=1;i<=n;i++) {
+    if ( (dift=fabs(x-xa[i])) < dif) {
+      ns=i;
+      dif=dift;
+    }
+    c[i]=ya[i];
+    d[i]=ya[i];
+  }
+  *y=ya[ns--];
+  for (m=1;m<n;m++) {
+    for (i=1;i<=n-m;i++) {
+      ho=xa[i]-x;
+      hp=xa[i+m]-x;
+      w=c[i+1]-d[i];
+      if ( (den=ho-hp) == 0.0) nrerror("Error in routine POLINT");
+      den=w/den;
+      d[i]=hp*den;
+      c[i]=ho*den;
+    }
+    *y += (*dy=(2*ns < (n-m) ? c[ns+1] : d[ns--]));
+  }
+  free_vector(d,1,n);
+  free_vector(c,1,n);
+}
+
+#define MBIG 1000000000
+#define MSEED 161803398
+#define MZ 0
+#define FAC (1.0/MBIG)
+
+double ran3(idum)
+int *idum;
+{
+  static int inext,inextp;
+  static long ma[56];
+  static int iff=0;
+  long mj,mk;
+  int i,ii,k;
+
+  if (*idum < 0 || iff == 0) {
+    iff=1;
+    mj=MSEED-(*idum < 0 ? -*idum : *idum);
+    mj %= MBIG;
+    ma[55]=mj;
+    mk=1;
+    for (i=1;i<=54;i++) {
+      ii=(21*i) % 55;
+      ma[ii]=mk;
+      mk=mj-mk;
+      if (mk < MZ) mk += MBIG;
+      mj=ma[ii];
+    }
+    for (k=1;k<=4;k++)
+      for (i=1;i<=55;i++) {
+        ma[i] -= ma[1+(i+30) % 55];
+        if (ma[i] < MZ) ma[i] += MBIG;
+      }
+    inext=0;
+    inextp=31;
+    *idum=1;
+  }
+  if (++inext == 56) inext=1;
+  if (++inextp == 56) inextp=1;
+  mj=ma[inext]-ma[inextp];
+  if (mj < MZ) mj += MBIG;
+  ma[inext]=mj;
+  return mj*FAC;
+}
+
+#undef MBIG
+#undef MSEED
+#undef MZ
+#undef FAC
+
+#include <math.h>
+
+static double at,bt,ct;
+#define PYTHAG(a,b) ((at=fabs(a)) > (bt=fabs(b)) ? \
+(ct=bt/at,at*sqrt(1.0+ct*ct)) : (bt ? (ct=at/bt,bt*sqrt(1.0+ct*ct)): 0.0))
+
+static double maxarg1,maxarg2;
+#define MAX(a,b) (maxarg1=(a),maxarg2=(b),(maxarg1) > (maxarg2) ?\
+  (maxarg1) : (maxarg2))
+#define SIGN(a,b) ((b) >= 0.0 ? fabs(a) : -fabs(a))
+
+void dsvdcmp(a,m,n,w,v)
+double **a,*w,**v;
+int m,n;
+{
+  int flag,i,its,j,jj,k,l,nm;
+  double c,f,h,s,x,y,z;
+  double anorm=0.0,g=0.0,scale=0.0;
+  double *rv1,*dvector();
+  void nrerror(),free_dvector();
+
+  if (m < n) nrerror("SVDCMP: You must augment A with extra zero rows");
+  rv1=dvector(1,n);
+  for (i=1;i<=n;i++) {
+    l=i+1;
+    rv1[i]=scale*g;
+    g=s=scale=0.0;
+    if (i <= m) {
+      for (k=i;k<=m;k++) scale += fabs(a[k][i]);
+      if (scale) {
+        for (k=i;k<=m;k++) {
+          a[k][i] /= scale;
+          s += a[k][i]*a[k][i];
+        }
+        f=a[i][i];
+        g = -SIGN(sqrt(s),f);
+        h=f*g-s;
+        a[i][i]=f-g;
+        if (i != n) {
+          for (j=l;j<=n;j++) {
+            for (s=0.0,k=i;k<=m;k++) s += a[k][i]*a[k][j];
+            f=s/h;
+            for (k=i;k<=m;k++) a[k][j] += f*a[k][i];
+          }
+        }
+        for (k=i;k<=m;k++) a[k][i] *= scale;
+      }
+    }
+    w[i]=scale*g;
+    g=s=scale=0.0;
+    if (i <= m && i != n) {
+      for (k=l;k<=n;k++) scale += fabs(a[i][k]);
+      if (scale) {
+        for (k=l;k<=n;k++) {
+          a[i][k] /= scale;
+          s += a[i][k]*a[i][k];
+        }
+        f=a[i][l];
+        g = -SIGN(sqrt(s),f);
+        h=f*g-s;
+        a[i][l]=f-g;
+        for (k=l;k<=n;k++) rv1[k]=a[i][k]/h;
+        if (i != m) {
+          for (j=l;j<=m;j++) {
+            for (s=0.0,k=l;k<=n;k++) s += a[j][k]*a[i][k];
+            for (k=l;k<=n;k++) a[j][k] += s*rv1[k];
+          }
+        }
+        for (k=l;k<=n;k++) a[i][k] *= scale;
+      }
+    }
+    anorm=MAX(anorm,(fabs(w[i])+fabs(rv1[i])));
+  }
+  for (i=n;i>=1;i--) {
+    if (i < n) {
+      if (g) {
+        for (j=l;j<=n;j++)
+          v[j][i]=(a[i][j]/a[i][l])/g;
+        for (j=l;j<=n;j++) {
+          for (s=0.0,k=l;k<=n;k++) s += a[i][k]*v[k][j];
+          for (k=l;k<=n;k++) v[k][j] += s*v[k][i];
+        }
+      }
+      for (j=l;j<=n;j++) v[i][j]=v[j][i]=0.0;
+    }
+    v[i][i]=1.0;
+    g=rv1[i];
+    l=i;
+  }
+  for (i=n;i>=1;i--) {
+    l=i+1;
+    g=w[i];
+    if (i < n)
+      for (j=l;j<=n;j++) a[i][j]=0.0;
+    if (g) {
+      g=1.0/g;
+      if (i != n) {
+        for (j=l;j<=n;j++) {
+          for (s=0.0,k=l;k<=m;k++) s += a[k][i]*a[k][j];
+          f=(s/a[i][i])*g;
+          for (k=i;k<=m;k++) a[k][j] += f*a[k][i];
+        }
+      }
+      for (j=i;j<=m;j++) a[j][i] *= g;
+    } else {
+      for (j=i;j<=m;j++) a[j][i]=0.0;
+    }
+    ++a[i][i];
+  }
+  for (k=n;k>=1;k--) {
+    for (its=1;its<=30;its++) {
+      flag=1;
+      for (l=k;l>=1;l--) {
+        nm=l-1;
+        if (fabs(rv1[l])+anorm == anorm) {
+          flag=0;
+          break;
+        }
+        if (fabs(w[nm])+anorm == anorm) break;
+      }
+      if (flag) {
+        c=0.0;
+        s=1.0;
+        for (i=l;i<=k;i++) {
+          f=s*rv1[i];
+          if (fabs(f)+anorm != anorm) {
+            g=w[i];
+            h=PYTHAG(f,g);
+            w[i]=h;
+            h=1.0/h;
+            c=g*h;
+            s=(-f*h);
+            for (j=1;j<=m;j++) {
+              y=a[j][nm];
+              z=a[j][i];
+              a[j][nm]=y*c+z*s;
+              a[j][i]=z*c-y*s;
+            }
+          }
+        }
+      }
+      z=w[k];
+      if (l == k) {
+        if (z < 0.0) {
+          w[k] = -z;
+          for (j=1;j<=n;j++) v[j][k]=(-v[j][k]);
+        }
+        break;
+      }
+      if (its == 60) nrerror("No convergence in 60 SVDCMP iterations");
+      x=w[l];
+      nm=k-1;
+      y=w[nm];
+      g=rv1[nm];
+      h=rv1[k];
+      f=((y-z)*(y+z)+(g-h)*(g+h))/(2.0*h*y);
+      g=PYTHAG(f,1.0);
+      f=((x-z)*(x+z)+h*((y/(f+SIGN(g,f)))-h))/x;
+      c=s=1.0;
+      for (j=l;j<=nm;j++) {
+        i=j+1;
+        g=rv1[i];
+        y=w[i];
+        h=s*g;
+        g=c*g;
+        z=PYTHAG(f,h);
+        rv1[j]=z;
+        c=f/z;
+        s=h/z;
+        f=x*c+g*s;
+        g=g*c-x*s;
+        h=y*s;
+        y=y*c;
+        for (jj=1;jj<=n;jj++) {
+          x=v[jj][j];
+          z=v[jj][i];
+          v[jj][j]=x*c+z*s;
+          v[jj][i]=z*c-x*s;
+        }
+        z=PYTHAG(f,h);
+        w[j]=z;
+        if (z) {
+          z=1.0/z;
+          c=f*z;
+          s=h*z;
+        }
+        f=(c*g)+(s*y);
+        x=(c*y)-(s*g);
+        for (jj=1;jj<=m;jj++) {
+          y=a[jj][j];
+          z=a[jj][i];
+          a[jj][j]=y*c+z*s;
+          a[jj][i]=z*c-y*s;
+        }
+      }
+      rv1[l]=0.0;
+      rv1[k]=f;
+      w[k]=x;
+    }
+  }
+  free_dvector(rv1,1,n);
+}
+
+#undef SIGN
+#undef MAX
+#undef PYTHAG
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <stdio.h>
+#include <math.h>
+#include <sgtty.h>
+#include <signal.h>
+#include <stdlib.h>
+
+/* useful constants */
+
+#define PI 3.14159265358979
+#define PI2 6.28318530717958
+
+void constant_Q2_sub(f1, f2, n, Q, tau_s, tau_e, xmgr)
+
+  int             n, xmgr;
+  double          f1, f2, Q;
+  double         *tau_s, *tau_e;
+{
+  int             i,j;
+  double         *x1, *x2;
+  double         *gradient, **hessian;
+  double         *dvector(), **dmatrix();
+  void            print_model(), derivatives();
+  void            initialize(), invert();
+  void            free_dvector(), free_dmatrix();
+
+  if (f2 < f1) {
+    printf("T2 > T1\n");
+    exit;
+  }
+  if (Q < 0.0) {
+    printf("Q < 0\n");
+    exit;
+  }
+  if (n < 1) {
+    printf("n < 1\n");
+    exit;
+  }
+
+  x1 = dvector(1, n);
+  x2 = dvector(1, n);
+  gradient = dvector(1, n);
+  hessian = dmatrix(1, n, 1, n);
+  for(i=1;i<=n;i++) {
+    x1[i]=0.0;
+    x2[i]=0.0;
+    gradient[i]=0.0;
+    for(j=1;j<=n;j++) hessian[i][j]=0.0;
+  }
+
+  initialize(f1, f2, n, Q, x1, x2);
+
+  derivatives(f1, f2, n, Q, x1, x2, gradient, hessian);
+
+  invert(x1, gradient, hessian, n);
+
+  free_dvector(gradient, 1, n);
+  free_dmatrix(hessian, 1, n, 1, n);
+
+  print_model(f1, f2, n, Q, x1, x2, xmgr);
+
+/* DK DK  printf("! frequency range: %f -- %f mHz\n", f1 * 1.0E+03, f2 * 1.0E+03);
+  printf("! period range: %f -- %f s\n", 1./f2 , 1./f1 );
+  printf("! desired Q: %f\n", Q);
+  printf("! number of relaxation mechanisms: %d\n", n); */
+  for (i = 1; i <= n; i++) {
+          tau_e[i]=x1[i] + x2[i];
+/* DK DK    printf("tau_e[%d]: %e\n", i, x1[i] + x2[i]);   */
+  }
+  printf("\n");
+  for (i = 1; i <= n; i++) {
+          tau_s[i]=x2[i];
+/* DK DK     printf("tau_s[%d]: %e\n", i, x2[i]);   */
+  }
+
+  free_dvector(x1, 1, n);
+  free_dvector(x2, 1, n);
+
+}
+
+void            initialize(f1, f2, n, Q, x1, x2)
+  int             n;
+  double          f1, f2, Q, *x1, *x2;
+{
+int             i;
+double          q, omega, *tau_e, *tau_s;
+double          exp1, exp2, dexp, expo;
+double         *dvector();
+void            free_dvector();
+
+tau_e = dvector(1, n);
+tau_s = dvector(1, n);
+if (n > 1) {
+  exp1 = log10(f1);
+  exp2 = log10(f2);
+  dexp = (exp2 - exp1) / ((double) (n - 1));
+  q = 1.0 / ((n - 1.0) * Q);
+  for (i = 1, expo = exp1; i <= n; i++, expo += dexp) {
+    omega = PI2 * pow(10.0, expo);
+    tau_s[i] = 1.0 / omega;
+    tau_e[i] = tau_s[i] * (1.0 + q) / (1.0 - q);
+  }
+} else {
+  q = 1.0 / Q;
+  exp1 = log10(f1);
+  exp2 = log10(f2);
+    expo=(exp1+exp2)/2.0;
+  omega = PI2 * pow(10.0, expo);
+  tau_s[1] = 1.0 / omega;
+  tau_e[1] = tau_s[1] * (1.0 + q) / (1.0 - q);
+}
+/*
+ * x1 denotes the parameter tau_e - tau_s and x2 denotes the parameter tau_s
+ */
+for (i = 1; i <= n; i++) {
+  x1[i] = tau_e[i] - tau_s[i];
+  x2[i] = tau_s[i];
+}
+
+/* DK DK suppressed verbose output
+printf("initial stress and strain relaxation times: \n\n");
+for (i = 1; i <= n; i++) {
+  printf("tau_e[%d]: %e\n", i, x1[i] + x2[i]);
+}
+printf("\n");
+for (i = 1; i <= n; i++) {
+  printf("tau_s[%d]: %e\n", i, x2[i]);
+}
+printf("\n"); */
+
+
+free_dvector(tau_e, 1, n);
+free_dvector(tau_s, 1, n);
+}
+
+double          penalty(f1, f2, n, Q, x1, x2)
+  int             n;
+  double          f1, f2, Q, *x1, *x2;
+{
+int             i;
+double          exp1, exp2, dexp, expo;
+double          pnlt;
+double          f, df, omega;
+double          tau_e, tau_s, a, b, Q_omega;
+
+exp1 = log10(f1);
+exp2 = log10(f2);
+dexp = (exp2 - exp1) / 100.0;
+pnlt = 0.0;
+for (expo = exp1; expo <= exp2; expo += dexp) {
+  f = pow(10.0, expo);
+  df = pow(10.0, expo + dexp) - f;
+  omega = PI2 * f;
+  a = (double) (1 - n);
+  b = 0.0;
+  for (i = 1; i <= n; i++) {
+    tau_e = x1[i] + x2[i];
+    tau_s = x2[i];
+    a += (1.0 + omega * omega * tau_e * tau_s) /
+       (1.0 + omega * omega * tau_s * tau_s);
+    b += omega * (tau_e - tau_s) /
+       (1.0 + omega * omega * tau_s * tau_s);
+  }
+  Q_omega = a / b;
+  pnlt += pow(1.0 / Q - 1.0 / Q_omega, 2.0) * df;
+}
+pnlt /= (f2 - f1);
+return pnlt;
+}
+
+void            print_model(f1, f2, n, Q, x1, x2, xmgr)
+  int             n, xmgr;
+  double          f1, f2, Q, *x1, *x2;
+{
+int             pid, i;
+double          exp1, exp2, dexp, expo;
+double          f, omega;
+double          tau_e, tau_s, a, b, Q_omega;
+char            strng[180];
+int             getpid(), system();
+FILE           *fp_q, *fp_q_approx;
+
+pid = getpid();
+sprintf(strng, "q%1d", pid);
+if((fp_q=fopen(strng,"w"))==NULL) {
+  puts("cannot open file\n");
+  exit;
+}
+sprintf(strng, "q_approx%1d", pid);
+if((fp_q_approx=fopen(strng,"w"))==NULL) {
+  puts("cannot open file\n");
+  exit;
+}
+
+exp1 = log10(f1) - 2.0;
+exp2 = log10(f2) + 2.0;
+dexp = (exp2 - exp1) / 100.0;
+for (expo = exp1; expo <= exp2; expo += dexp) {
+  f = pow(10.0, expo);
+  omega = PI2 * f;
+  a = (double) (1 - n);
+  b = 0.0;
+  for (i = 1; i <= n; i++) {
+    tau_e = x1[i] + x2[i];
+    tau_s = x2[i];
+    a += (1.0 + omega * omega * tau_e * tau_s) /
+       (1.0 + omega * omega * tau_s * tau_s);
+    b += omega * (tau_e - tau_s) /
+       (1.0 + omega * omega * tau_s * tau_s);
+  }
+  Q_omega = a / b;
+  if (omega >= PI2 * f1 && omega <= PI2 * f2) {
+    fprintf(fp_q, "%f %f\n", f, Q);
+    fprintf(fp_q_approx, "%f %f\n", f, Q_omega);
+  }
+}
+fclose(fp_q);
+fclose(fp_q_approx);
+
+/* DK DK added option to avoid calling Xmgr */
+if(xmgr == 1) {
+  sprintf(strng, "xmgr q%1d q_approx%1d", pid, pid);
+  system(strng);
+  sprintf(strng, "rm q%1d q_approx%1d", pid, pid, pid);
+  system(strng);
+}
+}
+
+void            derivatives(f1, f2, n, Q, x1, x2, gradient, hessian)
+  int             n;
+  double          f1, f2, Q, *x1, *x2;
+  double         *gradient, **hessian;
+{
+int             i, j;
+double          exp1, exp2, dexp, expo;
+double          f, df, omega;
+double         *dadp, *dbdp, *dqdp, d2qdp2;
+double          tau_e, tau_s, a, b, Q_omega;
+double         *dvector();
+void            free_dvector();
+
+dadp = dvector(1, n);
+dbdp = dvector(1, n);
+dqdp = dvector(1, n);
+exp1 = log10(f1);
+exp2 = log10(f2);
+dexp = (exp2 - exp1) / 100.0;
+for (i = 1; i <= n; i++) {
+  gradient[i] = 0.0;
+  for (j = 1; j <= i; j++) {
+    hessian[j][i] = 0.0;
+    hessian[j][i] = hessian[i][j];
+  }
+}
+for (expo = exp1; expo <= exp2; expo += dexp) {
+  f = pow(10.0, expo);
+  df = pow(10.0, expo + dexp) - f;
+  omega = PI2 * f;
+  a = (double) (1 - n);
+  b = 0.0;
+  for (i = 1; i <= n; i++) {
+    tau_e = x1[i] + x2[i];
+    tau_s = x2[i];
+    a += (1.0 + omega * omega * tau_e * tau_s) /
+       (1.0 + omega * omega * tau_s * tau_s);
+    b += omega * (tau_e - tau_s) /
+    (1.0 + omega * omega * tau_s * tau_s);
+    dadp[i] = omega * omega * tau_s / (1.0 + omega * omega * tau_s * tau_s);
+    dbdp[i] = omega / (1.0 + omega * omega * tau_s * tau_s);
+  }
+  Q_omega = a / b;
+  for (i = 1; i <= n; i++) {
+    dqdp[i] = (dbdp[i] - (b / a) * dadp[i]) / a;
+    gradient[i] += 2.0 * (1.0 / Q_omega - 1.0 / Q) * dqdp[i] * df / (f2 - f1);
+    for (j = 1; j <= i; j++) {
+      d2qdp2 = -(dadp[i] * dbdp[j] + dbdp[i] * dadp[j]
+           - 2.0 * (b / a) * dadp[i] * dadp[j]) / (a * a);
+      hessian[i][j] += (2.0 * dqdp[i] * dqdp[j] + 2.0 * (1.0 / Q_omega - 1.0 / Q) * d2qdp2)
+        * df / (f2 - f1);
+      hessian[j][i] = hessian[i][j];
+    }
+  }
+}
+free_dvector(dadp, 1, n);
+free_dvector(dbdp, 1, n);
+free_dvector(dqdp, 1, n);
+}
+
+void            invert(x, b, A, n)
+  int             n;
+  double         *x;
+  double         *b, **A;
+{
+int             i, j, k;
+double         *dvector(), **dmatrix();
+double         *xp, *W, **V, **A_inverse;
+void            free_dvector(), free_dmatrix(), dsvdcmp();
+
+xp = dvector(1, n);
+W = dvector(1, n);
+V = dmatrix(1, n, 1, n);
+A_inverse = dmatrix(1, n, 1, n);
+dsvdcmp(A, n, n, W, V);
+for (i = 1; i <= n; i++)
+  for (j = 1; j <= n; j++)
+    V[i][j] = (1.0 / W[i]) * A[j][i];
+for (i = 1; i <= n; i++) {
+  for (j = 1; j <= n; j++) {
+    A_inverse[i][j] = 0.0;
+    for (k = 1; k <= n; k++)
+      A_inverse[i][j] += A[i][k] * V[k][j];
+  }
+}
+free_dvector(W, 1, n);
+free_dmatrix(V, 1, n, 1, n);
+for (i = 1; i <= n; i++) {
+  xp[i] = x[i];
+  for (j = 1; j <= n; j++) {
+    xp[i] -= A_inverse[i][j] * b[j];
+  }
+  x[i] = xp[i];
+}
+free_dvector(xp, 1, n);
+free_dmatrix(A_inverse, 1, n, 1, n);
+}

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/attenuation_simplex.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/attenuation_simplex.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/attenuation_simplex.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,622 @@
+
+
+module attenuation_simplex_variables
+  implicit none
+  
+  ! nf    = Number of Frequencies
+  ! nsls  = Number of Standard Linear Solids
+  integer  nf, nsls
+
+  ! f     = Frequencies at which to evaluate the solution
+  real(8), allocatable, dimension(:) ::  f
+
+  ! Q     = Desired Value of Attenuation or Q
+  ! iQ    = 1/Q
+  real(8)  Q, iQ
+
+  ! tau_s = Tau_sigma defined by the frequency range and 
+  !             number of standard linear solids
+  real(8), allocatable, dimension(:) :: tau_s
+
+end module attenuation_simplex_variables
+
+subroutine attenuation_simplex(t1, t2, n, Q_real, omega_not, tau_s, tau_e)
+  implicit none
+  ! Input / Output
+  real(8)  t1, t2
+  real(8)  Q_real
+  real(8)  omega_not
+  integer  n
+  real(8), dimension(n)   :: tau_s, tau_e
+
+  ! Internal
+  integer i, iterations, err,prnt
+  real(8) f1, f2, exp1,exp2,dexp, min_value
+  real(8), allocatable, dimension(:) :: f
+  real(8), parameter :: PI = 3.14159265358979d0
+  integer, parameter :: nf = 100
+  real(8) attenuation_eval
+  EXTERNAL attenuation_eval
+
+  ! Values to be passed into the simplex minimization routine
+  iterations = -1
+  min_value  = -1.0e-4
+  err        = 0
+  prnt       = 0
+
+  allocate(f(nf))
+
+  ! Determine the min and max frequencies
+  f1 = 1.0d0 / t1
+  f2 = 1.0d0 / t2
+  
+  ! Determine the exponents of the frequencies
+  exp1 = log10(f1);
+  exp2 = log10(f2);
+  
+  if(f2 < f1 .OR. Q_real < 0.0d0 .OR. n < 1) then
+     write(*,*)'bad parameters'
+     call exit(-1)
+  endif
+
+  ! Determine the Source frequency
+  omega_not =  1.0e+03 * 10.0d0**(0.5 * (log10(f1) + log10(f2)))
+  
+  ! Determine the Frequencies at which to compare solutions 
+  !   The frequencies should be equally spaced in log10 frequency
+  do i = 1,nf
+     f(i) = exp1 + ((i-1)*1.0d0 * (exp2-exp1) / ((nf-1)*1.0d0))
+  end do
+
+  ! Set the Tau_sigma (tau_s) to be equally spaced in log10 frequency
+  dexp = (exp2-exp1) / ((n*1.0d0) - 1)
+  do i = 1,n
+     tau_s(i) = 1.0 / (PI * 2.0d0 * 10**(exp1 + (i - 1)* 1.0d0 *dexp))
+  end do
+
+  ! Shove the paramters into the module 
+  call attenuation_simplex_setup(nf,n,f,Q_real,tau_s)
+  
+  ! Set the Tau_epsilon (tau_e) to an initial value
+  ! at omega*tau = 1; tan_delta = 1/Q = (tau_e - tau_s)/(2 * sqrt(tau e*tau_s))
+  !    if we assume tau_e =~ tau_s
+  !    we get the equation below
+  do i = 1,n
+     tau_e(i) = tau_s(i) + (tau_s(i) * 2.0d0/Q_real)
+  end do
+  
+  ! Run a simplex search to determine the optimum values of tau_e
+  call fminsearch(attenuation_eval, tau_e, n, iterations, min_value, prnt, err)
+  if(err > 0) then
+     write(*,*)'Search did not converge for an attenuation of ', Q_real
+     write(*,*)'    Iterations: ', iterations
+     write(*,*)'    Min Value:  ', min_value
+     write(*,*)'    Aborting program'
+     call exit(-1)
+  end if
+  
+  deallocate(f)
+  call attenuation_simplex_finish()
+  
+end subroutine attenuation_simplex
+
+subroutine attenuation_simplex_finish()
+  use attenuation_simplex_variables
+  implicit none
+
+  deallocate(f)
+  deallocate(tau_s)
+
+end subroutine attenuation_simplex_finish
+
+!!!!!!!
+! subroutine simplex_setup
+!   - Inserts necessary parameters into the module attenuation_simplex_variables
+!   - See module for explaination
+subroutine attenuation_simplex_setup(nf_in,nsls_in,f_in,Q_in,tau_s_in)
+  use attenuation_simplex_variables
+  implicit none
+  
+  integer nf_in, nsls_in
+  real(8) Q_in
+  real(8), dimension(nf_in)   :: f_in
+  real(8), dimension(nsls_in) :: tau_s_in
+
+  allocate(f(nf_in))
+  allocate(tau_s(nsls_in))
+
+  nf    = nf_in
+  nsls  = nsls_in
+  f     = f_in
+  Q     = Q_in
+  iQ    = 1.0d0/Q
+  tau_s = tau_s_in
+
+end subroutine attenuation_simplex_setup
+
+!!!!!!!!
+! subroutine attenuation_maxwell
+!   - Computes the Moduli (Maxwell Solid) for a series of 
+!         Standard Linear Solids
+!   - Computes M1 and M2 parameters after Dahlen and Tromp pp.203
+!         here called B and A after Liu et al. 1976
+!   - Another formulation uses Kelvin-Voigt Solids and computes
+!         Compliences J1 and J2 after Dahlen and Tromp pp.203
+!
+!   Input 
+!     nf    = Number of Frequencies
+!     nsls  = Number of Standard Linear Solids
+!     f     = Frequencies (in log10 of frequencies)
+!                dimension(nf)
+!     tau_s = Tau_sigma  Stress relaxation time (see References)
+!                dimension(nsls)
+!     tau_e = Tau_epislon Strain relaxation time (see References)
+!                dimension(nsls)!
+!   Output
+!     B     = Real Moduli      ( M2 Dahlen and Tromp pp.203 )
+!                dimension(nf)
+!     A     = Imaginary Moduli ( M1 Dahlen and Tromp pp.203 )
+!                dimension(nf)
+!
+!   Dahlen and Tromp, 1998
+!      Theoritical Global Seismology
+!
+!   Liu et al. 1976
+!      Velocity dispersion due to anelasticity; implications for seismology and mantle composition
+!      Geophys, J. R. asts. Soc, Vol 47, pp. 41-58
+subroutine attenuation_maxwell(nf,nsls,f,tau_s,tau_e,B,A)
+  implicit none
+
+  ! Input
+  integer nf, nsls
+  real(8), dimension(nf)   :: f
+  real(8), dimension(nsls) :: tau_s, tau_e
+  ! Output
+  real(8), dimension(nf)   :: A,B
+
+  integer i,j
+  real(8) w, pi, demon
+
+  PI = 3.14159265358979d0
+
+  A(:) = 1.0d0 -  nsls*1.0d0
+  B(:) = 0.0d0
+  do i = 1,nf
+     w = 2.0d0 * PI * 10**f(i)
+     do j = 1,nsls
+!        write(*,*)j,tau_s(j),tau_e(j)
+        demon = 1.0d0 + w**2 * tau_s(j)**2
+        A(i) = A(i) + ((1.0d0 + (w**2 * tau_e(j) * tau_s(j)))/ demon)
+        B(i) = B(i) + ((w * (tau_e(j) - tau_s(j))) / demon)
+     end do
+!     write(*,*)A(i),B(i),10**f(i)
+  enddo
+
+end subroutine attenuation_maxwell
+
+!!!!!!!!
+! subroutine attenuation_eval
+!    - Computes the misfit from a set of relaxation paramters 
+!          given a set of frequencies and target attenuation
+!    - Evaluates only at the given frequencies
+!    - Evaluation is done with an L2 norm
+!
+!    Input
+!      Xin = Tau_epsilon, Strain Relaxation Time
+!                Note: Tau_sigma the Stress Relaxation Time is loaded 
+!                      with attenuation_simplex_setup and stored in
+!                      attenuation_simplex_variables
+! 
+!    Xi = Sum_i^N sqrt [ (1/Qc_i - 1/Qt_i)^2 / 1/Qt_i^2 ]
+!    
+!     where Qc_i is the computed attenuation at a specific frequency
+!           Qt_i is the desired attenuaiton at that frequency
+!    
+!    Uses attenuation_simplex_variables to store constant values
+!
+!    See atteunation_simplex_setup
+!      
+real(8) function attenuation_eval(Xin)
+  use attenuation_simplex_variables
+  implicit none
+   ! Input
+  real(8), dimension(nsls) :: Xin
+  real(8), dimension(nsls) :: tau_e
+  
+  real(8), dimension(nf)   :: A, B, tan_delta
+  
+  integer i
+  real(8) xi, iQ2
+
+  tau_e = Xin
+  
+  call attenuation_maxwell(nf,nsls,f,tau_s,tau_e,B,A)
+  
+  tan_delta = B / A
+
+  attenuation_eval = 0.0d0
+  iQ2 = iQ**2
+  do i = 1,nf
+     xi = sqrt(( ( (tan_delta(i) - iQ) ** 2 ) / iQ2 ))
+     attenuation_eval = attenuation_eval + xi
+  end do
+
+end function attenuation_eval
+
+
+!!!!!!!!!!!!!1
+! subroutine fminsearch
+!   - Computes the minimization of funk(x(n)) using the simplex method
+!   - This subroutine is copied from Matlab fminsearch.m
+!         and modified to suit my nefarious needs
+!   Input
+!     funk = real(8) function with one input parameter
+!                real(8) function the_funk(x)
+!     x    = Input/Output
+!               variables to be minimized
+!               dimension(n)
+!            Input:  Initial Value
+!            Output: Mimimized Value
+!     n    = number of variables
+!     itercount = Input/Output
+!                 Input:  maximum number of iterations 
+!                         if < 0 default is used (200 * n)
+!                 Output: total number of iterations on output
+!     tolf      = Input/Output
+!                 Input:  minimium tolerance of the function funk(x)
+!                 Output: minimium value of funk(x)(i.e. "a" solution)
+!     prnt      = Input
+!                 3 => report every iteration 
+!                 4 => report every iteration, total simplex
+!     err       = Output
+!                 0 => Normal exeecution, converged within desired range
+!                 1 => Function Evaluation exceeded limit
+!                 2 => Iterations exceeded limit
+!     
+!     See Matlab fminsearch
+!
+subroutine fminsearch(funk, x, n, itercount, tolf, prnt, err)
+  implicit none
+
+  ! Input
+  real(8) funk
+  EXTERNAL funk
+
+  integer n
+  real(8) x(n) ! Also Output
+  integer itercount, prnt, err
+  real(8) tolf
+
+  !Internal
+  integer i,j, how
+  integer, parameter :: none             = 0
+  integer, parameter :: initial          = 1
+  integer, parameter :: expand           = 2
+  integer, parameter :: reflect          = 3
+  integer, parameter :: contract_outside = 4
+  integer, parameter :: contract_inside  = 5
+  integer, parameter :: shrink           = 6
+  
+  integer maxiter, maxfun
+  integer func_evals
+  real(8) tolx
+
+  real(8) rho, chi, psi, sigma
+  real(8) xin(n), y(n), v(n,n+1), fv(n+1)
+  real(8) vtmp(n,n+1)
+  real(8) usual_delta, zero_term_delta
+  real(8) xbar(n), xr(n), fxr, xe(n), fxe, xc(n), fxc, fxcc, xcc(n)
+  integer place(n+1)
+
+  real(8) max_size_simplex, max_value
+
+  rho   = 1.0d0
+  chi   = 2.0d0
+  psi   = 0.5d0
+  sigma = 0.5d0
+
+
+  if(itercount > 0) then
+     maxiter = itercount
+  else 
+     maxiter = 200 * n
+  end if
+  itercount = 0
+  maxfun  = 200 * n
+  
+  if(tolf > 0.0d0) then
+     tolx = 1.0e-4
+  else
+     tolx = 1.0e-4
+     tolf = 1.0e-4
+  end if
+
+  err = 0
+
+  xin    = x
+  v(:,:) = 0.0d0
+  fv(:)  = 0.0d0
+  
+  v(:,1) = xin
+  x      = xin
+  
+  fv(1) = funk(xin)
+  
+  usual_delta = 0.05
+  zero_term_delta = 0.00025
+
+  do j = 1,n
+     y = xin
+     if(y(j) .NE. 0.0d0) then
+        y(j) = (1.0d0 + usual_delta) * y(j)
+     else
+        y(j) = zero_term_delta
+     end if
+     v(:,j+1) = y
+     x(:) = y
+     fv(j+1) = funk(x)
+  end do
+  
+  call qsort(fv,n+1,place)
+
+  do i = 1,n+1
+     vtmp(:,i) = v(:,place(i))
+  end do
+  v = vtmp
+  
+  how = initial
+  itercount = 1
+  func_evals = n+1
+  if(prnt .EQ. 3) then
+     write(*,*)'Iterations   Funk Evals   Value How'
+     write(*,*)itercount, func_evals, fv(1), how
+  endif
+  if(prnt .EQ. 4) then
+     write(*,*)'How: ',how
+     write(*,*)'V: ', v
+     write(*,*)'fv: ',fv
+     write(*,*)'evals: ',func_evals
+  end if
+
+  do while (func_evals < maxfun .AND. itercount < maxiter) 
+
+!     if(max(max(abs(v(:,2:n+1) - v(:,1)))) .LE. tolx .AND. &
+!          max(abs(fv(1) - fv(2:n+1))) .LE. tolf) then
+
+     if(max_size_simplex(v,n) .LE. tolx .AND. &
+          max_value(fv,n+1) .LE. tolf) then
+        goto 666
+     end if
+     how = none
+     
+     ! xbar = average of the n (NOT n+1) best points
+     !     xbar = sum(v(:,1:n), 2)/n
+     xbar(:) = 0.0d0
+     do i = 1,n
+        do j = 1,n
+           xbar(i) = xbar(i) + v(i,j)
+        end do
+        xbar(i) = xbar(i) / (n*1.0d0)
+     end do
+     xr = (1 + rho)*xbar - rho*v(:,n+1)
+     x(:) = xr
+     fxr = funk(x)
+     func_evals = func_evals + 1
+     if (fxr < fv(1)) then
+        ! Calculate the expansion point
+        xe = (1 + rho*chi)*xbar - rho*chi*v(:,n+1)
+        x = xe
+        fxe = funk(x)
+        func_evals = func_evals+1
+        if (fxe < fxr) then
+           v(:,n+1) = xe
+           fv(n+1) = fxe
+           how = expand
+        else
+           v(:,n+1) = xr 
+           fv(n+1) = fxr
+           how = reflect
+        end if
+     else ! fv(:,1) <= fxr
+        if (fxr < fv(n)) then 
+           v(:,n+1) = xr 
+           fv(n+1) = fxr
+           how = reflect
+        else ! fxr >= fv(:,n) 
+           ! Perform contraction
+           if (fxr < fv(n+1)) then
+              ! Perform an outside contraction
+              xc = (1 + psi*rho)*xbar - psi*rho*v(:,n+1)
+              x(:) = xc 
+              fxc = funk(x)
+              func_evals = func_evals+1
+              
+              if (fxc <= fxr) then
+                 v(:,n+1) = xc 
+                 fv(n+1) = fxc
+                 how = contract_outside
+              else
+                 ! perform a shrink
+                 how = shrink
+              end if
+           else
+              ! Perform an inside contraction
+              xcc = (1-psi)*xbar + psi*v(:,n+1)
+              x(:) = xcc 
+              fxcc = funk(x)
+              func_evals = func_evals+1
+
+              if (fxcc < fv(n+1)) then
+                 v(:,n+1) = xcc
+                 fv(n+1) = fxcc
+                 how = contract_inside
+              else
+                 ! perform a shrink
+                 how = shrink
+              end if
+           end if
+           if (how .EQ. shrink) then
+              do j=2,n+1
+                 v(:,j)=v(:,1)+sigma*(v(:,j) - v(:,1))
+                 x(:) = v(:,j) 
+                 fv(j) = funk(x)
+              end do
+              func_evals = func_evals + n
+           end if
+        end if
+     end if
+
+     call qsort(fv,n+1,place)
+     do i = 1,n+1
+        vtmp(:,i) = v(:,place(i))
+     end do
+     v = vtmp
+     
+     itercount = itercount + 1
+     if (prnt == 3) then
+        write(*,*)itercount, func_evals, fv(1), how
+     elseif (prnt == 4) then
+        write(*,*)
+        write(*,*)'How: ',how
+        write(*,*)'v: ',v
+        write(*,*)'fv: ',fv
+        write(*,*)'evals: ',func_evals
+     end if
+  end do
+
+  if(func_evals > maxfun) then
+     write(*,*)'function evaluations exceeded prescribed limit', maxfun
+     err = 1
+  end if
+  if(itercount > maxiter) then
+     write(*,*)'iterations exceeded prescribed limit', maxiter
+     err = 2
+  end if
+
+666 continue
+  x = v(:,1)
+  tolf = fv(1)
+
+end subroutine fminsearch
+
+
+!!!!!!!
+! real(8) function max_value
+!    - Finds the maximim value of the difference of between the first
+!          value and the remaining values of a vector
+!    Input
+!      fv = Input
+!             Vector
+!             dimension(n)
+!      n  = Input
+!             Length of fv
+!      
+!      Returns:
+!         Xi = max( || fv(1)- fv(i) || ); i=2:n
+!
+real(8) function max_value(fv,n)
+  implicit none
+  integer n
+  real(8) fv(n)
+
+  integer i
+  real(8) m, z
+  
+  m = 0.0d0
+  do i = 2,n
+     z = abs(fv(1) - fv(i))
+     if(z > m) then
+        m = z
+     end if
+  end do
+
+  max_value = m
+
+end function max_value
+
+!!!!!!!!
+! function max_size_simplex
+!   - Determines the maximum distance between two point in a simplex
+!   Input
+!     v  = Input
+!            Simplex Verticies
+!            dimension(n, n+1)
+!     n  = Pseudo Length of n
+!     
+!     Returns:
+!       Xi = max( max( || v(:,1) - v(:,i) || ) ) ; i=2:n+1
+!
+real(8) function max_size_simplex(v,n)
+  implicit none
+  integer n
+  real(8) v(n,n+1)
+
+  integer i,j
+  real(8) m, z
+  
+  m = 0.0d0
+  do i = 1,n
+     do j = 2,n+1
+        z = abs(v(i,j) - v(i,1))
+        if(z > m) then
+           m = z
+        end if
+     end do
+  end do
+  
+  max_size_simplex = m
+
+end function max_size_simplex
+
+
+!!!!!!!
+! subroutine qsort
+!    - Implementation of a Bubble Sort Routine
+!    Input
+!      X = Input/Output
+!         Vector to be sorted
+!         dimension(n)
+!      n = Input
+!         Length of X
+!      I = Output
+!         Sorted Indicies of vecotr X
+!
+!      Example:
+!         X = [ 4 3 1 2 ] on Input
+!         I = [ 1 2 3 4 ] Computed Internally (in order)
+!
+!         X = [ 1 2 3 4 ] on Output
+!         I = [ 3 4 2 1 ] on Output
+!
+subroutine qsort(X,n,I)
+  implicit none
+  integer n
+  real(8) X(n)
+  integer I(n)
+  
+  integer j,k
+  real(8) rtmp
+  integer itmp
+
+  do j = 1,n
+     I(j) = j
+  end do
+
+  do j = 1,n
+     do k = 1,n-j
+        if(X(k+1) < X(k)) then
+           rtmp   = X(k)
+           X(k)   = X(k+1)
+           X(k+1) = rtmp
+           
+           itmp   = I(k)
+           I(k)   = I(k+1)
+           I(k+1) = itmp
+        end if
+     enddo
+  enddo
+
+end subroutine qsort
+
+
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/input_Q_DK_01_1000
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/input_Q_DK_01_1000	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/input_Q_DK_01_1000	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,4 @@
+1000
+1
+3
+0

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/input_Q_DK_02_1000
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/input_Q_DK_02_1000	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/input_Q_DK_02_1000	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,4 @@
+1000
+2
+3
+0

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/input_Q_DK_03_1000
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/input_Q_DK_03_1000	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/input_Q_DK_03_1000	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,4 @@
+1000
+3
+3
+0

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/input_Q_DK_04_1000
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/input_Q_DK_04_1000	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/input_Q_DK_04_1000	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,4 @@
+1000
+4
+3
+0

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/input_Q_DK_05_1000
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/input_Q_DK_05_1000	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/input_Q_DK_05_1000	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,4 @@
+1000
+5
+3
+0

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/input_Q_DK_08_1000
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/input_Q_DK_08_1000	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/input_Q_DK_08_1000	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,4 @@
+1000
+8
+3
+0

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/input_Q_DK_10_1000
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/input_Q_DK_10_1000	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/input_Q_DK_10_1000	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,4 @@
+1000
+10
+3
+0

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/input_Q_DK_20_1000
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/input_Q_DK_20_1000	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/input_Q_DK_20_1000	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,4 @@
+1000
+20
+3
+0

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/makefile
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/makefile	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/makefile	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,10 @@
+#!/bin/csh
+
+# code to compute PREM attenuation constants for SEM code
+
+rm xcompute
+gcc -o xcompute attenuation_prem.c -lm
+
+echo "code has been compiled"
+echo "run it with:  xcompute < input_Q_DK "
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/makefile
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/prem_is222
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/prem_is222	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/prem_is222	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,222 @@
+      0. 13088.48 11262.21  3667.80   1327.6     84.6
+  22620. 13088.37 11262.12  3667.74   1327.6     84.6
+  45240. 13088.03 11261.88  3667.57   1327.6     84.6
+  67861. 13087.48 11261.48  3667.29   1327.6     84.6
+  90481. 13086.69 11260.92  3666.90   1327.6     84.6
+ 113101. 13085.69 11260.20  3666.40   1327.6     84.6
+ 135721. 13084.47 11259.32  3665.78   1327.6     84.6
+ 158341. 13083.02 11258.27  3665.05   1327.6     84.6
+ 180962. 13081.35 11257.07  3664.21   1327.6     84.6
+ 203582. 13079.45 11255.71  3663.26   1327.6     84.6
+ 226202. 13077.34 11254.18  3662.19   1327.6     84.6
+ 248822. 13075.00 11252.50  3661.01   1327.6     84.6
+ 271442. 13072.43 11250.65  3659.73   1327.6     84.6
+ 294063. 13069.65 11248.65  3658.32   1327.6     84.6
+ 316683. 13066.64 11246.48  3656.81   1327.6     84.6
+ 339303. 13063.41 11244.16  3655.19   1327.6     84.6
+ 361923. 13059.96 11241.67  3653.45   1327.6     84.6
+ 384543. 13056.28 11239.02  3651.60   1327.6     84.6
+ 407164. 13052.38 11236.21  3649.63   1327.6     84.6
+ 429784. 13048.26 11233.24  3647.56   1327.6     84.6
+ 452404. 13043.91 11230.12  3645.37   1327.6     84.6
+ 475024. 13039.34 11226.83  3643.07   1327.6     84.6
+ 497644. 13034.55 11223.38  3640.66   1327.6     84.6
+ 520265. 13029.54 11219.77  3638.14   1327.6     84.6
+ 542885. 13024.30 11216.00  3635.51   1327.6     84.6
+ 565505. 13018.84 11212.06  3632.76   1327.6     84.6
+ 588125. 13013.16 11207.97  3629.90   1327.6     84.6
+ 610745. 13007.26 11203.72  3626.93   1327.6     84.6
+ 633366. 13001.13 11199.31  3623.84   1327.6     84.6
+ 655986. 12994.78 11194.74  3620.65   1327.6     84.6
+ 678606. 12988.21 11190.00  3617.34   1327.6     84.6
+ 701226. 12981.41 11185.11  3613.92   1327.6     84.6
+ 723846. 12974.39 11180.06  3610.39   1327.6     84.6
+ 746467. 12967.15 11174.84  3606.74   1327.6     84.6
+ 769087. 12959.68 11169.46  3602.99   1327.6     84.6
+ 791707. 12952.00 11163.93  3599.12   1327.6     84.6
+ 814327. 12944.08 11158.23  3595.14   1327.6     84.6
+ 836947. 12935.95 11152.38  3591.05   1327.6     84.6
+ 859568. 12927.60 11146.36  3586.84   1327.6     84.6
+ 882188. 12919.02 11140.18  3582.52   1327.6     84.6
+ 904808. 12910.22 11133.85  3578.09   1327.6     84.6
+ 927428. 12901.19 11127.35  3573.55   1327.6     84.6
+ 950048. 12891.94 11120.69  3568.90   1327.6     84.6
+ 972668. 12882.47 11113.87  3564.14   1327.6     84.6
+ 995289. 12872.78 11106.89  3559.26   1327.6     84.6
+1017909. 12862.87 11099.75  3554.27   1327.6     84.6
+1040529. 12852.73 11092.45  3549.17   1327.6     84.6
+1063149. 12842.37 11084.99  3543.95   1327.6     84.6
+1085770. 12831.78 11077.37  3538.62   1327.6     84.6
+1108390. 12820.97 11069.59  3533.19   1327.6     84.6
+1131010. 12809.95 11061.64  3527.64   1327.6     84.6
+1153630. 12798.69 11053.54  3521.97   1327.6     84.6
+1176250. 12787.22 11045.28  3516.20   1327.6     84.6
+1198871. 12775.52 11036.85  3510.31   1327.6     84.6
+1221491. 12763.60 11028.27  3504.31   1327.6     84.6
+1221491. 12166.35 10355.69     0.00  57822.5      0.0
+1264103. 12144.17 10330.86     0.00  57822.5      0.0
+1306716. 12121.37 10305.73     0.00  57822.5      0.0
+1349328. 12097.94 10280.29     0.00  57822.5      0.0
+1391941. 12073.86 10254.51     0.00  57822.5      0.0
+1434554. 12049.14 10228.36     0.00  57822.5      0.0
+1477166. 12023.76 10201.82     0.00  57822.5      0.0
+1519779. 11997.71 10174.87     0.00  57822.5      0.0
+1562391. 11970.98 10147.47     0.00  57822.5      0.0
+1605004. 11943.56 10119.62     0.00  57822.5      0.0
+1647617. 11915.44 10091.27     0.00  57822.5      0.0
+1690229. 11886.61 10062.41     0.00  57822.5      0.0
+1732842. 11857.06 10033.02     0.00  57822.5      0.0
+1775454. 11826.78 10003.06     0.00  57822.5      0.0
+1818067. 11795.76  9972.52     0.00  57822.5      0.0
+1860679. 11763.99  9941.37     0.00  57822.5      0.0
+1903292. 11731.47  9909.58     0.00  57822.5      0.0
+1945905. 11698.17  9877.13     0.00  57822.5      0.0
+1988517. 11664.09  9844.01     0.00  57822.5      0.0
+2031130. 11629.23  9810.17     0.00  57822.5      0.0
+2073742. 11593.57  9775.60     0.00  57822.5      0.0
+2116355. 11557.09  9740.28     0.00  57822.5      0.0
+2158968. 11519.80  9704.17     0.00  57822.5      0.0
+2201580. 11481.68  9667.26     0.00  57822.5      0.0
+2244193. 11442.73  9629.53     0.00  57822.5      0.0
+2286806. 11402.92  9590.93     0.00  57822.5      0.0
+2329418. 11362.25  9551.46     0.00  57822.5      0.0
+2372030. 11320.72  9511.09     0.00  57822.5      0.0
+2414643. 11278.30  9469.79     0.00  57822.5      0.0
+2457256. 11235.00  9427.54     0.00  57822.5      0.0
+2499868. 11190.81  9384.31     0.00  57822.5      0.0
+2542481. 11145.70  9340.09     0.00  57822.5      0.0
+2585094. 11099.67  9294.84     0.00  57822.5      0.0
+2627706. 11052.72  9248.54     0.00  57822.5      0.0
+2670319. 11004.83  9201.17     0.00  57822.5      0.0
+2712931. 10955.99  9152.70     0.00  57822.5      0.0
+2755544. 10906.19  9103.11     0.00  57822.5      0.0
+2798156. 10855.43  9052.37     0.00  57822.5      0.0
+2840769. 10803.68  9000.46     0.00  57822.5      0.0
+2883382. 10750.96  8947.36     0.00  57822.5      0.0
+2925994. 10697.23  8893.04     0.00  57822.5      0.0
+2968607. 10642.49  8837.47     0.00  57822.5      0.0
+3011219. 10586.74  8780.64     0.00  57822.5      0.0
+3053832. 10529.96  8722.51     0.00  57822.5      0.0
+3096444. 10472.14  8663.07     0.00  57822.5      0.0
+3139057. 10413.28  8602.29     0.00  57822.5      0.0
+3181670. 10353.36  8540.14     0.00  57822.5      0.0
+3224282. 10292.37  8476.60     0.00  57822.5      0.0
+3266895. 10230.31  8411.65     0.00  57822.5      0.0
+3309508. 10167.16  8345.26     0.00  57822.5      0.0
+3352120. 10102.91  8277.40     0.00  57822.5      0.0
+3394733. 10037.55  8208.06     0.00  57822.5      0.0
+3437345.  9971.08  8137.21     0.00  57822.5      0.0
+3479958.  9903.48  8064.82     0.00  57822.5      0.0
+3479958.  5566.45 13716.60  7264.66  57822.5    312.0
+3517468.  5547.66 13707.42  7265.03  57822.5    312.0
+3554979.  5528.90 13698.33  7265.38  57822.5    312.0
+3592490.  5510.16 13689.33  7265.69  57822.5    312.0
+3630000.  5491.45 13680.41  7265.98  57822.5    312.0
+3630001.  5491.45 13680.40  7265.97  57822.5    312.0
+3662833.  5475.09 13640.63  7250.95  57822.5    312.0
+3695667.  5458.73 13601.16  7236.00  57822.5    312.0
+3728500.  5442.39 13561.95  7221.12  57822.5    312.0
+3761333.  5426.05 13523.00  7206.30  57822.5    312.0
+3794167.  5409.71 13484.27  7191.53  57822.5    312.0
+3827000.  5393.38 13445.75  7176.82  57822.5    312.0
+3859834.  5377.05 13407.42  7162.14  57822.5    312.0
+3892666.  5360.71 13369.24  7147.49  57822.5    312.0
+3925500.  5344.36 13331.21  7132.87  57822.5    312.0
+3958333.  5328.01 13293.30  7118.27  57822.5    312.0
+3991167.  5311.65 13255.48  7103.67  57822.5    312.0
+4024000.  5295.27 13217.74  7089.07  57822.5    312.0
+4056833.  5278.87 13180.05  7074.47  57822.5    312.0
+4089667.  5262.46 13142.39  7059.85  57822.5    312.0
+4122500.  5246.02 13104.75  7045.21  57822.5    312.0
+4155334.  5229.56 13067.08  7030.55  57822.5    312.0
+4188166.  5213.08 13029.39  7015.84  57822.5    312.0
+4221000.  5196.56 12991.64  7001.09  57822.5    312.0
+4253834.  5180.02 12953.81  6986.29  57822.5    312.0
+4286666.  5163.43 12915.88  6971.43  57822.5    312.0
+4319500.  5146.82 12877.83  6956.50  57822.5    312.0
+4352334.  5130.16 12839.64  6941.50  57822.5    312.0
+4385166.  5113.46 12801.27  6926.41  57822.5    312.0
+4418000.  5096.72 12762.73  6911.23  57822.5    312.0
+4450834.  5079.93 12723.97  6895.96  57822.5    312.0
+4483666.  5063.09 12684.98  6880.58  57822.5    312.0
+4516500.  5046.20 12645.74  6865.09  57822.5    312.0
+4549334.  5029.25 12606.23  6849.47  57822.5    312.0
+4582166.  5012.25 12566.41  6833.73  57822.5    312.0
+4615000.  4995.19 12526.28  6817.85  57822.5    312.0
+4647834.  4978.07 12485.81  6801.83  57822.5    312.0
+4680666.  4960.88 12444.97  6785.66  57822.5    312.0
+4713500.  4943.62 12403.75  6769.33  57822.5    312.0
+4746333.  4926.30 12362.13  6752.83  57822.5    312.0
+4779166.  4908.90 12320.07  6736.15  57822.5    312.0
+4812000.  4891.43 12277.57  6719.30  57822.5    312.0
+4844833.  4873.89 12234.59  6702.25  57822.5    312.0
+4877666.  4856.26 12191.12  6685.01  57822.5    312.0
+4910500.  4838.55 12147.14  6667.57  57822.5    312.0
+4943333.  4820.75 12102.61  6649.91  57822.5    312.0
+4976166.  4802.87 12057.53  6632.03  57822.5    312.0
+5009000.  4784.90 12011.87  6613.93  57822.5    312.0
+5041833.  4766.83 11965.60  6595.59  57822.5    312.0
+5074666.  4748.67 11918.71  6577.00  57822.5    312.0
+5107500.  4730.42 11871.17  6558.17  57822.5    312.0
+5140333.  4712.06 11822.96  6539.08  57822.5    312.0
+5173166.  4693.60 11774.06  6519.73  57822.5    312.0
+5206000.  4675.04 11724.45  6500.10  57822.5    312.0
+5238833.  4656.37 11674.10  6480.19  57822.5    312.0
+5271666.  4637.59 11623.00  6459.99  57822.5    312.0
+5304500.  4618.69 11571.12  6439.49  57822.5    312.0
+5337333.  4599.68 11518.44  6418.69  57822.5    312.0
+5370166.  4580.56 11464.94  6397.58  57822.5    312.0
+5403000.  4561.31 11410.59  6376.15  57822.5    312.0
+5435833.  4541.94 11355.38  6354.40  57822.5    312.0
+5468666.  4522.45 11299.28  6332.31  57822.5    312.0
+5501500.  4502.82 11242.27  6309.88  57822.5    312.0
+5534333.  4483.07 11184.33  6287.10  57822.5    312.0
+5567166.  4463.19 11125.44  6263.96  57822.5    312.0
+5600000.  4443.17 11065.57  6240.46  57822.5    312.0
+5600001.  4443.17 11065.56  6240.46  57822.5    312.0
+5625250.  4427.67 10987.05  6166.58  57822.5    312.0
+5650500.  4412.10 10908.50  6092.72  57822.5    312.0
+5675750.  4396.44 10829.91  6018.88  57822.5    312.0
+5701000.  4380.70 10751.28  5945.05  57822.5    312.0
+5701000.  3992.14 10266.24  5570.21  57822.5    143.0
+5724334.  3986.70 10230.10  5552.14  57822.5    143.0
+5747666.  3981.27 10193.96  5534.08  57822.5    143.0
+5771000.  3975.84 10157.82  5516.01  57822.5    143.0
+5771000.  3975.84 10157.83  5516.00  57822.5    143.0
+5796000.  3944.33 10029.84  5443.07  57822.5    143.0
+5821000.  3912.82  9901.85  5370.14  57822.5    143.0
+5846000.  3881.31  9773.87  5297.21  57822.5    143.0
+5871000.  3849.80  9645.88  5224.28  57822.5    143.0
+5896000.  3818.29  9517.89  5151.35  57822.5    143.0
+5921000.  3786.78  9389.90  5078.42  57822.5    143.0
+5946000.  3755.27  9261.91  5005.49  57822.5    143.0
+5971000.  3723.76  9133.92  4932.56  57822.5    143.0
+5971000.  3543.26  8905.24  4769.90  57822.5    143.0
+5993500.  3529.82  8861.95  4754.15  57822.5    143.0
+6016000.  3516.39  8818.67  4738.40  57822.5    143.0
+6038500.  3502.95  8775.38  4722.65  57822.5    143.0
+6061000.  3489.51  8732.09  4706.90  57822.5    143.0
+6083500.  3476.08  8688.81  4691.15  57822.5    143.0
+6106000.  3462.64  8645.52  4675.40  57822.5    143.0
+6128500.  3449.21  8602.23  4659.65  57822.5    143.0
+6151000.  3435.77  8558.95  4643.90  57822.5    143.0
+6151000.  3359.50  7989.71  4418.92  57823.0     80.0
+6174334.  3362.03  8004.13  4427.52  57823.0     80.0
+6197666.  3364.57  8018.55  4436.12  57823.0     80.0
+6221000.  3367.10  8032.98  4444.72  57823.0     80.0
+6244334.  3369.64  8047.40  4453.32  57823.0     80.0
+6267666.  3372.18  8061.82  4461.92  57823.0     80.0
+6291000.  3374.71  8076.25  4470.52  57823.0     80.0
+6291000.  3374.71  8076.25  4470.52  57823.0    600.0
+6309543.  3376.73  8087.71  4477.35  57823.0    600.0
+6328086.  3378.74  8099.17  4484.18  57823.0    600.0
+6346629.  3380.76  8110.64  4491.02  57823.0    600.0
+6346629.  2900.00  6800.00  3900.00  57822.5    600.0
+6351314.  2900.00  6800.00  3900.00  57822.5    600.0
+6356000.  2900.00  6800.00  3900.00  57822.5    600.0
+6356000.  2600.00  5800.00  3200.00  57822.5    600.0
+6362000.  2600.00  5800.00  3200.00  57822.5    600.0
+6368000.  2600.00  5800.00  3200.00  57822.5    600.0
+6368000.  1020.00  1450.00     0.00  57822.5      0.0
+6369500.  1020.00  1450.00     0.00  57822.5      0.0
+6371000.  1020.00  1450.00     0.00  57822.5      0.0

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/run_attenuation.csh
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/run_attenuation.csh	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/run_attenuation.csh	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,17 @@
+#!/bin/csh
+
+echo "computing constants for a range of periods"
+
+rm -f q* Q* modulus*
+
+xcompute < input_Q_DK_01_1000 > result01
+xcompute < input_Q_DK_02_1000 > result02
+xcompute < input_Q_DK_03_1000 > result03
+xcompute < input_Q_DK_04_1000 > result04
+xcompute < input_Q_DK_05_1000 > result05
+xcompute < input_Q_DK_08_1000 > result08
+xcompute < input_Q_DK_10_1000 > result10
+xcompute < input_Q_DK_20_1000 > result20
+
+rm -f q* Q* modulus*
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/run_attenuation.csh
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/run_attenuation2.sh
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/run_attenuation2.sh	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/run_attenuation2.sh	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,23 @@
+#!/bin/sh
+ 
+t1="1000.0" # Max Period
+t2="20.0"   # Min Period
+n="3"       # Number of Standard Linear Solids
+Q_IC=84.6   # Inner Core
+Q_LM=312.0  # Lower Mantle
+Q_UM=143.0  # Upper Mantle
+Q_LVZ=80.0  # Low Velocity Zone
+Q_S=600.0   # Surface
+ 
+LD_LIBRARY_PATH=/opt/intel/lib
+./attenuation_test <<EOF
+$t1
+$t2
+$n
+$Q_IC
+$Q_LM
+$Q_UM
+$Q_LVZ
+$Q_S
+EOF
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/attenuation/run_attenuation2.sh
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/central_cube/IC_analysis.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/central_cube/IC_analysis.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/central_cube/IC_analysis.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,483 @@
+#!/usr/bin/perl
+
+use Getopt::Std;
+use DBI;
+use strict;
+
+$|++;
+# for using database analysis, you have to install, run & configure mysql-server
+
+# constantes utilisées globalement
+my $pi = 3.141592653589793;
+my $pisur2 = (3.141592653589793 / 2);
+my $pisur4 = (3.141592653589793 / 4);
+my $Ricb = 1221;
+my $nbnode=8;
+my $hugeval = 1000000;
+my $NEXXI = 256;
+my $nb_class_histo = 20;
+my @iaddx = (0,1,2,2,2,1,0,0);
+my @iaddy = (0,0,0,1,2,2,2,1);
+my @order=([0,1],[1,2],[2,3],[3,4],[4,5],[5,6],[6,7],[7,0]);
+my @mestitres =('taille + grde arete\n-------------------\ntaille + petite arete',"aspect ratio : pire element","aspect ratio moyen","heuristique pire skewness","heuristique skewness moy","moyenne des pires skewness","moyenne des skewness moy","pire des pires skewness","pire des skewness moy");
+my $dbh;
+my $database = "dbi:mysql:MY_DB:127.0.0.1";
+my $dbUser = "root";
+my $dbPasse = "mynewpassword";
+# ---------------
+
+# <main>
+my %opts;
+getopts("avdc", \%opts) or print_usage();
+if (exists($opts{c}))
+{	print_usage() if (scalar(@ARGV)!=1);
+	my $max_angle_param = shift(@ARGV);
+	if ($max_angle_param<90 or $max_angle_param>180)
+	{	print "angle max have to belong to [90°,180°]\n";
+		print_usage();
+	}
+	my $alpha=1;
+	while ((my $angle_max = (($pisur2 + 2 * atan2($alpha,1))/(2*$pi))*360)> $max_angle_param)
+	{	$alpha-=0.00001;}
+	print "alpha=$alpha\n";
+	exit;
+}
+if (exists($opts{v}) and not exists($opts{a}))
+{	print_usage() if (scalar(@ARGV)!=3);
+	my ($Rcube,$alpha,$filename) = @ARGV;
+	chomp($filename);
+	if ($alpha<0 or $alpha>1)
+	{	print "alpha have to belong to [0,1]\n";
+		print_usage();
+	}
+	if ($Rcube>$Ricb)
+	{	print "Rcube have to be < Ricb=$Ricb\n";
+		print_usage();
+	}
+	visualize_mesh($Rcube,$alpha,$filename);
+	print "done.\n";
+}
+elsif (exists($opts{a}) and not exists($opts{v}))
+{	print_usage() if (scalar(@ARGV)!=7);
+	my ($filename,$alpha_min,$alpha_max,$alpha_step,$Rcube_min,$Rcube_max,$Rcube_step) = @ARGV;
+	chomp($Rcube_step);
+	$dbh = DBI->connect($database, $dbUser, $dbPasse) if (exists($opts{d}));
+	#db_create();
+	analyse($filename,$alpha_min,$alpha_max,$alpha_step,$Rcube_min,$Rcube_max,$Rcube_step);
+	$dbh->disconnect if (exists($opts{d}));
+	print "done.\n";
+}
+else
+{	print_usage();
+}
+# </main>
+
+sub print_usage
+{	print "\nusage\n\noption -v : visualize a mesh for a radius of central cube (km) and alpha [0,1]\n";
+	print "option -a : analyse skewness & aspect ratio for all meshes\n";
+	print "option -c : give alpha for a given max angle\n\n";
+	print "$0\t-v R_central_cube alpha fileout.dx\n";
+	print "\t|\t-c max_angle\n";
+	print "\t|\t-a fileout alpha_min alpha_max alpha_step Rcube_min Rcube_max Rcube_step\n\n";
+	exit;
+}
+
+sub visualize_mesh
+{	my ($Rcube,$alpha,$filename) = @_;
+	my $nex_xi = $NEXXI/16;
+	my $nex_eta = compute_ner($nex_xi,$Ricb,$Rcube,$alpha);
+	my $nspec_cube=0;
+	my $nspec_chunks=0;
+	my $points = mesh($Rcube,$alpha,$nex_xi,$nex_eta,\$nspec_cube, \$nspec_chunks);
+	writedxfile($points,"$filename",$nex_xi,$nex_eta,$nspec_cube,$nspec_chunks);
+}
+
+sub analyse
+{	my ($fileout,$alpha_min,$alpha_max,$alpha_step,$Rcube_min,$Rcube_max,$Rcube_step) = @_;
+	open(DATA, ">$fileout".".dat");
+	print "progression :\n";
+	#exit;
+	for (my $ialpha=$alpha_min;$ialpha<$alpha_max;$ialpha+=$alpha_step)
+	{	for (my $iRcube=$Rcube_min;$iRcube<$Rcube_max;$iRcube+=$Rcube_step)
+		{	# variables  pour l'analyse
+			my $max_edge_of_mesh=-1;
+			my $min_edge_of_mesh = $hugeval;
+			my $aspect_ratio_max = -1;
+			my $sum_aspect_ratio = 0;
+			my @skewness_worth_histo;
+			my @skewness_moy_histo;
+			my $skewness_w_w;
+			my $skewness_w_m;
+			my $skewness_m_w;
+			my $skewness_m_m;
+			
+			my $nex_xi = $NEXXI/16;
+			# calcul du nb d'éléments radiaux dans les chunks
+			my $nex_eta = compute_ner($nex_xi,$Ricb,$iRcube,$ialpha);
+			my $nspec_cube=0;
+			my $nspec_chunks=0;
+			# maillage
+			my $points = mesh($iRcube,$ialpha,$nex_xi,$nex_eta,\$nspec_cube, \$nspec_chunks);
+			# analyse des éléments
+			for (my $ispec=1;$ispec<=($nspec_cube+$nspec_chunks);$ispec++)
+			{	my @elem=get_elem($points,$ispec);
+				my ($edgemin,$edgemax) = get_size_min_max(@elem);
+				my $aspect_ratio = $edgemax/$edgemin;
+				my ($skewness_moy,$skewness_worth) = get_skewness_moy_worth(get_angles(@elem));
+				
+				$max_edge_of_mesh=$edgemax if ($edgemax>$max_edge_of_mesh);
+				$min_edge_of_mesh=$edgemin if ($edgemin<$min_edge_of_mesh);
+				$aspect_ratio_max = $aspect_ratio if ($aspect_ratio>$aspect_ratio_max);
+				$sum_aspect_ratio+=$aspect_ratio;
+				$skewness_worth_histo[get_histo_class($skewness_worth)]++;
+				$skewness_moy_histo[get_histo_class($skewness_moy)]++;
+				
+				$skewness_w_w = $skewness_worth if ($skewness_worth>$skewness_w_w);
+				$skewness_m_w += $skewness_worth;
+				
+				$skewness_w_m= $skewness_moy if ($skewness_moy>$skewness_w_m);;
+				$skewness_m_m += $skewness_moy;
+			}
+			$skewness_m_w/=($nspec_cube+$nspec_chunks);
+			$skewness_m_m/=($nspec_cube+$nspec_chunks);
+			# les trois aspects de l'analyse
+			my $f1=$max_edge_of_mesh/$min_edge_of_mesh;
+			my @f2=($aspect_ratio_max,($sum_aspect_ratio/($nspec_cube+$nspec_chunks)));
+			my @f3=(\@skewness_worth_histo,\@skewness_moy_histo);
+			
+			# écriture des résultats
+			if (exists($opts{d}))
+			{	#db_insert();
+			}
+			else
+			{	print DATA join(" ",($ialpha,$iRcube,$f1,join(" ", at f2),repart_heurist($f3[0]),repart_heurist($f3[1])),$skewness_m_w,$skewness_m_m,$skewness_w_w,$skewness_w_m),"\n";
+			}
+			print ("\r", int((($iRcube-$Rcube_min)/$Rcube_step)+((($ialpha-$alpha_min)/$alpha_step)*(($Rcube_max-$Rcube_min)/$Rcube_step))+1)," / ",((($alpha_max-$alpha_min)/$alpha_step)*(($Rcube_max-$Rcube_min)/$Rcube_step)));
+		}
+		print DATA "\n";
+	}
+	print "\ndone.\nlaunching gnuplot\n";
+	write_gnuplot_prog($fileout,($alpha_max-$alpha_min)/$alpha_step,($Rcube_max-$Rcube_min)/$Rcube_step, at mestitres);
+	close(DATA);
+	#create_dx_visu($fileout,$alpha_min,$alpha_max,$alpha_step,$Rcube_min,$Rcube_max,$Rcube_step,0,3);
+	exec("gnuplot $fileout.gplot");
+#	create_dx_visu($fileout,$min_alpha,$max_alpha,$min_Rcube,$max_Rcube,$step_alpha,$step_Rcube,$nbclass);
+}
+
+sub write_gnuplot_prog
+{	my ($filebase,$ech_alpha,$ech_Rcube, at tittles) = @_;
+	open(OUT,">$filebase".".gplot");
+	my $nbcol=scalar(@tittles);
+	for (my $icol=3;$icol<($nbcol+3);$icol++)
+	{	print OUT "set hidden3d\n";
+		print OUT "set isosamples $ech_alpha,$ech_Rcube\n";
+		print OUT "set grid\n";
+		print OUT "set title \"",$tittles[$icol-3],"\"\n";
+		print OUT "set data style line\n";
+		print OUT "set contour #both\n";
+		print OUT "splot '$filebase.dat' using 1:2:$icol\n";
+		print OUT "pause -1\n";
+	}
+	for (my $icol=3;$icol<($nbcol+3);$icol++)
+	{	print OUT "set hidden3d\n";
+		print OUT "set isosamples $ech_alpha,$ech_Rcube\n";
+		print OUT "set grid\n";
+		print OUT "set title \"",$tittles[$icol-3],"\"\n";
+		print OUT "set contour\n";
+		print OUT "set cntrparam levels 20\n";
+		print OUT "set data style line\n";
+		print OUT "set nosurface\n";
+		print OUT "set view 0,0\n";
+		print OUT "splot '$filebase.dat' using 1:2:$icol\n";
+		print OUT "pause -1\n";
+	}
+	close(OUT);
+	return;
+}
+
+
+sub repart_heurist
+{	my $histo=shift;
+	my $ret;
+	my $cpt=$nb_class_histo;
+	my $nbelem=0;
+	foreach (@$histo)
+	{	$nbelem+=$_;
+	}
+	foreach (@$histo)
+	{	$ret+=($_/$nbelem)*$cpt;
+		$cpt--;
+	}
+	return $ret;
+}
+
+sub get_histo_class
+{	my $skew=shift;
+	for (my $class=0;$class<$nb_class_histo;$class++)
+	{	return $class if ($skew<(($class+1)*(1/$nb_class_histo)));
+	}
+}
+
+sub get_skewness_moy_worth
+{	my (@angles) = @_;
+	my $somme=0;
+	my $max_skew=-1;
+	foreach (@angles)
+	{	my $cur_skew = abs((2*$_-$pi)/$pi);
+		$somme+=$cur_skew;
+		$max_skew=$cur_skew if ($cur_skew>$max_skew);
+	}
+	return (($somme/scalar(@angles)),$max_skew);
+}
+
+sub get_elem
+{	my ($points,$ispec) = @_;
+	my @element = @$points[(($ispec-1)*$nbnode)..($ispec*$nbnode-1)];
+	return @element;
+}
+
+sub get_angles
+{ 	my (@elem) = @_;
+	my @angles;
+	push(@elem,(@elem[0,1]));
+	for (my $iedge=0;$iedge<$nbnode/2;$iedge++)
+	{	my ($point2,$point3,$point4) = @elem[($iedge*2+1)..($iedge*2+3)];
+		my($x2,$y2,$x3,$y3,$x4,$y4) = (split(/ /,$point2),split(/ /,$point3),split(/ /,$point4));
+		my ($xv1,$yv1,$xv2,$yv2) = ($x2-$x3,$y2-$y3,$x4-$x3,$y4-$y3);
+		my $angle = acos(($xv1*$xv2+$yv1*$yv2)/(sqrt($xv1**2+$yv1**2) * sqrt($xv2**2+$yv2**2))); 
+		push(@angles,$angle);
+	}
+	return @angles;
+}
+
+sub acos {
+   my($x) = @_;
+   my $ret = atan2(sqrt(1 - $x**2), $x);
+   return $ret;
+}
+
+sub get_size_min_max
+{	my (@elem) = @_;
+	push(@elem,$elem[0]);
+	my $sizemax=-1;
+	my $sizemin=$hugeval;
+	for (my $iedge=0;$iedge<$nbnode/2;$iedge++)
+	{	my ($point1,$point2,$point3) = @elem[($iedge*2)..($iedge*2+2)];
+		my($x1,$y1,$x2,$y2,$x3,$y3) = (split(/ /,$point1),split(/ /,$point2),split(/ /,$point3));
+		my $size= dist($x1,$y1,$x2,$y2) + dist($x2,$y2,$x3,$y3);
+		$sizemax=$size if ($size>$sizemax);
+		$sizemin=$size if ($size<$sizemin);
+	}
+	return ($sizemin,$sizemax);
+}
+
+sub dist
+{	my ($x1,$y1,$x2,$y2) = @_;
+	my $res=sqrt(($x1-$x2)**2+($y1-$y2)**2);
+	if ($res==0)
+	{	print "\n$x1 , $y1 , $x2 , $y2\n";
+		exit;
+	}
+	return $res;
+	
+}
+
+sub mesh
+{	my ($Rcube,$alpha,$nex_xi,$nex_eta,$nspec_cube, $nspec_chunks) = @_;
+	my @points;
+	# maillage des 4 chunks
+	for (my $ichunk=0;$ichunk<4;$ichunk++)
+	{	for (my $ix=0;$ix<$nex_xi*2;$ix+=2) # boucle circulaire
+		{	for (my $iy=0;$iy<$nex_eta*2;$iy+=2) # boucle radiale
+			{	for (my $inode=0;$inode<$nbnode;$inode++)
+				{	my ($x,$y) = compute_coord_chunk($ix+$iaddx[$inode], $iy+$iaddy[$inode],$nex_xi*2,$nex_eta*2,$Rcube,$ichunk,$alpha);
+					push (@points, join(" ",($x,$y)));
+				}
+				$$nspec_chunks++;
+			}
+		}
+	}
+	# maillage du carre central
+	for (my $ix=0;$ix<2*$nex_xi;$ix+=2)
+	{	for (my $iy=0;$iy<2*$nex_xi;$iy+=2)
+		{	for (my $inode=0;$inode<$nbnode;$inode++)
+			{	my ($x,$y) = compute_coord_central_cube($ix+$iaddx[$inode], $iy+$iaddy[$inode],$nex_xi*2,$nex_xi*2,$Rcube,$alpha);
+				push (@points, join(" ",($x,$y)));
+			}
+			$$nspec_cube++;
+		}
+	}
+	return \@points;
+}
+
+sub compute_coord_chunk
+{	my ($ix,$iy,$nb_elem_x,$nb_elem_y,$Rcube,$ichunk,$alpha) = @_;
+	my $ratio_x = $ix/$nb_elem_x;
+	my $ratio_y = $iy/$nb_elem_y;
+
+	my $factx = (2*$ratio_x -1);
+	my $xi = $pisur2*$factx;
+		
+	# coordonnées des extrémités d'arêtes à la surface du CC
+	my $xcc=($Rcube / sqrt(2)) * $factx;
+	my $ycc=($Rcube / sqrt(2)) * (1 + cos($xi)*$alpha / $pisur2);
+	# coordonnées des extrémités d'arêtes à la surface de l'ICB
+	my $xsurf = $Ricb * cos(3*$pisur4 - $ratio_x * $pisur2);
+	my $ysurf = $Ricb * sin(3*$pisur4 - $ratio_x * $pisur2);
+
+	my $deltax=$xsurf-$xcc;
+	my $deltay=$ysurf-$ycc;
+	# coordonnées du point
+	my $x = $xsurf-$ratio_y*$deltax;
+	my $y = $ysurf-$ratio_y*$deltay;
+	# changement de repère pour les trois autres chunks
+	if ($ichunk==1)
+	{	my $temp=$x; $x=$y; $y=-$temp;
+	}
+	elsif ($ichunk==2)
+	{	$x=-$x; $y=-$y;
+	}
+	elsif ($ichunk==3)
+	{	my $temp=$x; $x=-$y; $y=$temp;
+	}
+	return ($x,$y);
+}
+
+sub compute_coord_central_cube
+{	my ($ix,$iy,$nb_elem_x,$nb_elem_y,$radius,$alpha) = @_;
+	my ($x,$y);
+	
+	my $ratio_x = $ix/$nb_elem_x;
+	my $ratio_y = $iy/$nb_elem_y;
+	
+	my $factx = (2*$ratio_x -1);
+	my $facty = (2*$ratio_y -1);
+	
+	my $xi = $pisur2*$factx;
+	my $eta = $pisur2*$facty;
+	
+	$x=($radius / sqrt(2)) * $factx  * (1 + cos($eta)*$alpha / $pisur2);
+        $y=($radius / sqrt(2)) * $facty  * (1 + cos($xi)*$alpha / $pisur2);
+
+	return ($x,$y);
+}
+
+sub compute_ner
+{	my ($nex_xi,$Ricb,$Rcube,$alpha) = @_;
+	
+	my $somme=0;
+	# on fait la moyenne des distances ICB<>CC sur 1/2 chunk (suffisant)
+	# attention ! valable seulement si $nex_xi est pair, il faudra prendre en compte le cas général si besoin
+	for (my $ix=0;$ix<=$nex_xi/2;$ix++)
+	{	
+		my $ratio_x = $ix/$nex_xi;
+		my $factx = 2*$ratio_x-1;
+		my $xi = $pisur2*$factx;
+		
+		# coordonnées des extrémités d'arêtes à la surface du CC
+		my $x=($Rcube / sqrt(2)) * $factx;
+		my $y=($Rcube / sqrt(2)) * (1 + cos($xi)*$alpha / $pisur2);
+		# coordonnées des extrémités d'arêtes à la surface de l'ICB
+		my $xsurf = $Ricb * cos(3*$pisur4 - $ratio_x * $pisur2);
+		my $ysurf = $Ricb * sin(3*$pisur4 - $ratio_x * $pisur2);
+		# taille de l'arête
+		my $dist_cc_icb = sqrt(($xsurf-$x)**2+($ysurf-$y)**2);
+		# on double le poids de chaque arête sauf l'arête centrale (la dernière) à ne compter qu'une fois
+		$dist_cc_icb*=2 unless($ix==$nex_xi/2);
+		$somme+=$dist_cc_icb;
+	}
+	my $dist_moy = $somme/($nex_xi+1);
+	my $ner = arrondi($dist_moy/(($pi*$Ricb)/(2*$nex_xi)));
+	return $ner;
+}
+
+sub arrondi
+{	my $input = shift;
+	my $arrondi = sprintf("%.0f", $input);
+	return $arrondi;
+}
+
+sub writedxfile
+{	my ($points,$filename,$nb_elem_x,$nb_elem_y,$nspec_cube,$nspec_chunks) = @_;
+
+	my $nblignes = scalar(@$points);
+	open(OUT, ">$filename");
+	print OUT " object 1 class array type float rank 1 shape 2 items         ",$nblignes,"  data follows\n";
+	foreach (@$points)
+	{	print OUT $_,"\n";
+	}
+	print OUT " object 2 class array type int rank 1 shape 2 items         ",$nblignes,"  data follows\n";
+	for (my $i=0;$i<($nspec_cube+$nspec_chunks);$i++)
+	{	for (my $j=0;$j<$nbnode;$j++)
+		{	print OUT ($i*$nbnode+$order[$j]->[0]," ",$i*$nbnode+$order[$j]->[1],"\n");
+		}
+	}
+	print OUT <<"EOF"
+  attribute \"element type\" string \"lines\"
+ attribute \"ref\" string \"positions\"
+ object 3 class array type float rank 0 items $nblignes  data follows
+EOF
+;
+	my $cpt=0;
+	foreach (@$points)
+	{	$cpt++;
+		if ($cpt<=($nspec_chunks*$nbnode))
+		{	print OUT "1\n" ;}
+		else
+		{	print OUT "2\n" ;}
+	}
+	print OUT <<EOF
+ attribute "dep" string "connections"
+ object "irregular positions irregular connections" class field
+ component "positions" value 1
+ component "connections" value 2
+ component "data" value 3
+EOF
+;
+	close(OUT);	
+}
+
+sub create_dx_visu
+{	my ($filein,$min_alpha,$max_alpha,$step_alpha,$min_Rcube,$max_Rcube,$step_Rcube,$nbclass,$indice) = @_;
+
+	open(IN,"$filein".".dat");
+	my $nblignes = (($max_alpha-$min_alpha)/$step_alpha)*(($max_Rcube-$min_Rcube)/$step_Rcube);
+
+	open(OUT, ">$filein".".dx");
+	print OUT " object 1 class array type float rank 1 shape 2 items         ",$nblignes,"  data follows\n";
+	for (my $ialpha=$min_alpha;$ialpha<$max_alpha;$ialpha+=$step_alpha)
+	{	for (my $iRcube=$min_Rcube;$iRcube<$max_Rcube;$iRcube+=$step_Rcube)
+		{	print OUT "$ialpha $iRcube\n";
+		}
+	}
+	print OUT " object 2 class array type int rank 1 shape 2 items         ",$nblignes,"  data follows\n";
+	for (my $ialpha=0;$ialpha<($max_alpha-$min_alpha);$ialpha+=$step_alpha)
+	{	for (my $iRcube=0;$iRcube<($max_Rcube-$min_Rcube);$iRcube+=$step_Rcube)
+		{	print OUT $ialpha+($max_alpha-$min_alpha)*$iRcube," ";
+			print OUT ($ialpha+1)+($max_alpha-$min_alpha)*$iRcube," ";
+			print OUT $ialpha+($max_alpha-$min_alpha)*($iRcube+1)," ";
+			print OUT ($ialpha+1)+($max_alpha-$min_alpha)*($iRcube+1),"\n";
+		}
+	}	
+	print OUT <<"EOF"
+  attribute \"element type\" string \"squares\"
+ attribute \"ref\" string \"positions\"
+ object 3 class array type float rank 0 items $nblignes  data follows
+EOF
+;
+	while(my $ligne = <IN>)
+	{	my @tokens = split(";",$ligne);
+		my $zvalue = $tokens[$indice];
+		print OUT int($zvalue*100),"\n";
+	}
+	print OUT <<EOF
+ attribute "dep" string "connections"
+ object "irregular positions irregular connections" class field
+ component "positions" value 1
+ component "connections" value 2
+ component "data" value 3
+EOF
+;
+	close(OUT);	
+}
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/central_cube/IC_analysis.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/central_cube/cube_line.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/central_cube/cube_line.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/central_cube/cube_line.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,93 @@
+#!/usr/bin/perl
+
+# mesh an inflated cube and write an opendx file for line rendering.
+# david Michéa. University of Pau.
+# march 2007.
+
+print "\nnb d'elements radiaux ? : ";
+$nbelem=<STDIN>;
+chomp($nbelem);
+print "\ndeformation (0->1) ? : ";
+$deformation=<STDIN>;
+chomp($deformation);
+
+
+my $pi=3.141592653589793;
+my $pisur2 = (3.141592653589793 / 2);
+my $nb_elem_x=$nbelem;
+my $nb_elem_y=$nbelem;
+my $nb_elem_z=$nbelem;
+my $nbnode=20;
+my $nbline=24;
+my @iaddx = (0,1,2,2,2,1,0,0,0,1,2,2,2,1,0,0,0,2,2,0);
+my @iaddy = (0,0,0,1,2,2,2,1,0,0,0,1,2,2,2,1,0,0,2,2);
+my @iaddz = (0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,1,1,1,1);
+my $radius = 100;
+my @order=([0,1],[1,2],[2,3],[3,4],[4,5],[5,6],[6,7],[7,0],[8,9],[9,10],[10,11],[11,12],[12,13],[13,14],[14,15],[15,8],[0,16],[16,8],[2,17],[17,10],[4,18],[18,12],[6,19],[19,14]);
+my @points;
+# calcul des coordonnées
+for (my $ix=0;$ix<2*$nb_elem_x;$ix+=2)
+{	for (my $iy=0;$iy<2*$nb_elem_y;$iy+=2)
+	{	for (my $iz=0;$iz<2*$nb_elem_z;$iz+=2)
+		{	for (my $inode=0;$inode<$nbnode;$inode++)
+			{	my ($x,$y,$z) = compute_coord($ix+$iaddx[$inode], $iy+$iaddy[$inode], $iz+$iaddz[$inode],$nb_elem_x*2,$nb_elem_y*2,$nb_elem_z*2,$radius);
+				push (@points, join(" ",($x,$y,$z)));
+			}
+		}
+	}
+}
+# ecriture des resultats dans fichier opendx
+my $nbpoints = scalar(@points);
+my $nblignes = ($nbpoints/20)*24;
+open(OUT, ">mydxfile3D.dx");
+print OUT " object 1 class array type float rank 1 shape 3 items         ",$nbpoints,"  data follows\n";
+foreach (@points)
+{	print OUT $_,"\n";
+}
+print OUT " object 2 class array type int rank 1 shape 2 items         ",$nblignes,"  data follows\n";
+for (my $i=0;$i<$nb_elem_x*$nb_elem_y*$nb_elem_z;$i++)
+{	for (my $j=0;$j<$nbline;$j++)
+	{	print OUT ($i*$nbnode+$order[$j]->[0]," ",$i*$nbnode+$order[$j]->[1],"\n");
+	}
+}
+print OUT <<"EOF"
+  attribute \"element type\" string \"lines\"
+ attribute \"ref\" string \"positions\"
+ object 3 class array type float rank 0 items $nblignes  data follows
+EOF
+;
+for (my $k=0;$k<$nblignes;$k++)
+{	print OUT (int($k/24),"\n");
+}
+print OUT <<EOF
+ attribute "dep" string "connections"
+ object "irregular positions irregular connections" class field
+ component "positions" value 1
+ component "connections" value 2
+ component "data" value 3
+EOF
+;
+close(OUT);
+
+sub compute_coord
+{	my ($ix,$iy,$iz,$nb_elem_x,$nb_elem_y,$nb_elem_z,$radius) = @_;
+	my ($x,$y,$z);
+	
+	my $ratio_x = $ix/$nb_elem_x;
+	my $ratio_y = $iy/$nb_elem_y;
+	my $ratio_z = $iz/$nb_elem_z;
+	
+	my $factx = (2*$ratio_x -1);
+	my $facty = (2*$ratio_y -1);
+	my $factz = (2*$ratio_z -1);
+	
+	my $xi = $pisur2*$factx;
+	my $eta = $pisur2*$facty;
+	my $gamma = $pisur2*$factz;
+	
+	$x=($radius / sqrt(3)) * $factx  * (1 + (cos($eta)+cos($gamma))*$deformation / $pi);
+        $y=($radius / sqrt(3)) * $facty  * (1 + (cos($xi)+cos($gamma))*$deformation / $pi);
+	$z=($radius / sqrt(3)) * $factz  * (1 + (cos($xi)+cos($eta))*$deformation / $pi);
+
+	return ($x,$y,$z);
+}


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/central_cube/cube_line.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/central_cube/cube_surf.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/central_cube/cube_surf.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/central_cube/cube_surf.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,92 @@
+#!/usr/bin/perl
+
+# mesh an inflated cube and write an opendx file for hexahedron rendering.
+# david Michéa. University of Pau.
+# march 2007.
+
+print "\nnb d'elements radiaux ? : ";
+$nbelem=<STDIN>;
+chomp($nbelem);
+print "\ndeformation (0->1) ? : ";
+$deformation=<STDIN>;
+chomp($deformation);
+
+
+my $pi=3.141592653589793;
+my $pisur2 = (3.141592653589793 / 2);
+my $nb_elem_x=$nbelem;
+my $nb_elem_y=$nbelem;
+my $nb_elem_z=$nbelem;
+my $nbnode=8;
+my @iaddx = (0,0,2,2,0,0,2,2);
+my @iaddy = (2,0,2,0,2,0,2,0);
+my @iaddz = (2,2,2,2,0,0,0,0);
+my $radius = 100;
+my @points;
+# calcul des coordonnées
+for (my $ix=0;$ix<2*$nb_elem_x;$ix+=2)
+{	for (my $iy=0;$iy<2*$nb_elem_y;$iy+=2)
+	{	for (my $iz=0;$iz<2*$nb_elem_z;$iz+=2)
+		{	for (my $inode=0;$inode<$nbnode;$inode++)
+			{	my ($x,$y,$z) = compute_coord($ix+$iaddx[$inode], $iy+$iaddy[$inode], $iz+$iaddz[$inode],$nb_elem_x*2,$nb_elem_y*2,$nb_elem_z*2,$radius);
+				push (@points, join(" ",($x,$y,$z)));
+			}
+		}
+	}
+}
+# ecriture des resultats dans fichier opendx
+my $nbpoints = scalar(@points);
+my $nbcubes = $nbpoints/$nbnode;
+open(OUT, ">mydxfile3D.dx");
+print OUT " object 1 class array type float rank 1 shape 3 items         ",$nbpoints,"  data follows\n";
+foreach (@points)
+{	print OUT $_,"\n";
+}
+print OUT " object 2 class array type int rank 1 shape 8 items         ",$nbcubes,"  data follows\n";
+for (my $i=0;$i<$nb_elem_x*$nb_elem_y*$nb_elem_z;$i++)
+{	for (my $j=0;$j<$nbnode;$j++)
+	{	print OUT " ",$i*$nbnode+$j;
+	}
+	print OUT "\n";
+}
+print OUT <<"EOF"
+  attribute \"element type\" string \"cubes\"
+ attribute \"ref\" string \"positions\"
+ object 3 class array type float rank 0 items $nbcubes  data follows
+EOF
+;
+for (my $k=1;$k<=$nbcubes;$k++)
+{	print OUT 1,"\n";
+}
+print OUT <<EOF
+ attribute "dep" string "connections"
+ object "irregular positions irregular connections" class field
+ component "positions" value 1
+ component "connections" value 2
+ component "data" value 3
+EOF
+;
+close(OUT);
+
+sub compute_coord
+{	my ($ix,$iy,$iz,$nb_elem_x,$nb_elem_y,$nb_elem_z,$radius) = @_;
+	my ($x,$y,$z);
+	
+	my $ratio_x = $ix/$nb_elem_x;
+	my $ratio_y = $iy/$nb_elem_y;
+	my $ratio_z = $iz/$nb_elem_z;
+	
+	my $factx = (2*$ratio_x -1);
+	my $facty = (2*$ratio_y -1);
+	my $factz = (2*$ratio_z -1);
+	
+	my $xi = $pisur2*$factx;
+	my $eta = $pisur2*$facty;
+	my $gamma = $pisur2*$factz;
+	
+	$x=($radius / sqrt(3)) * $factx  * (1 + (cos($eta)+cos($gamma))*$deformation / $pi);
+        $y=($radius / sqrt(3)) * $facty  * (1 + (cos($xi)+cos($gamma))*$deformation / $pi);
+	$z=($radius / sqrt(3)) * $factz  * (1 + (cos($xi)+cos($eta))*$deformation / $pi);
+
+	return ($x,$y,$z);
+}


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/central_cube/cube_surf.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/change_simulation_type.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/change_simulation_type.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/change_simulation_type.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,65 @@
+#!/usr/bin/perl
+
+# change the SIMULATION_TYPE setting in DATA/Par_file 
+
+# Qinya Liu, Caltech, May 2007
+
+use Time::Local;
+use Getopt::Std;
+use POSIX;
+ 
+sub Usage{
+print STDERR <<END;
+ 
+Usage:   change_simulation_type.pl  [-a|-f|-b|-F]
+         Changes SIMULATION_TYPE in DATA/Par_file
+         -a -- change type to run adjoint calculation(2)
+         -f -- change type to run forward calculation(1)
+         -b -- change type to run both simultaneously(3)
+         -F -- change type to run forward calculation(1) with save_forward = .true.
+END
+exit(1);
+}
+ 
+ at ARGV == 1 or Usage();
+if(!getopts('abfF')) {die(" check input arguments\n");}
+ 
+open(IN,"DATA/Par_file");
+ at vfm=<IN>;
+close(IN);
+
+foreach $vfm (@vfm){
+  if($vfm=~/SIMULATION_TYPE/){
+    if(${opt_a}){
+      print "Changed simulation_type to 2 in Par_file \n";
+      $vfm=~s/= 1/= 2/;
+      $vfm=~s/= 3/= 2/;
+    }
+    elsif(${opt_f}){
+      print "Changed simulation_type to 1 in Par_file \n";
+      $vfm=~s/= 2/= 1/;
+      $vfm=~s/= 3/= 1/;
+    }
+    elsif(${opt_b}){
+      print "Changed simulation_type to 3 in Par_file \n";
+      $vfm=~s/= 1/= 3/;
+      $vfm=~s/= 2/= 3/;
+    }
+    elsif(${opt_F}){
+      print "Changed simulation_type to 1 and save_forward = .true. in Par_file \n";
+      $vfm=~s/= 2/= 1/;
+      $vfm=~s/= 3/= 1/;
+    }
+  }
+  if ($vfm=~/SAVE_FORWARD/) {
+    if ($opt_F) { $vfm=~s/false/true/; } 
+    else {$vfm=~s/true/false/;}
+
+  }
+}
+
+open(OUT,">DATA/Par_file");
+foreach $vfm (@vfm){
+  print OUT "$vfm";
+}
+close(OUT);


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/change_simulation_type.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/chunk_notes_scanned/all_chunk_notes_scanned.pdf
===================================================================
(Binary files differ)


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/chunk_notes_scanned/all_chunk_notes_scanned.pdf
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/chunk_notes_scanned/chunk_notes_scanned_1.jpg
===================================================================
(Binary files differ)


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/chunk_notes_scanned/chunk_notes_scanned_1.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/chunk_notes_scanned/chunk_notes_scanned_2.jpg
===================================================================
(Binary files differ)


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/chunk_notes_scanned/chunk_notes_scanned_2.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/chunk_notes_scanned/chunk_notes_scanned_3.jpg
===================================================================
(Binary files differ)


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/chunk_notes_scanned/chunk_notes_scanned_3.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/chunk_notes_scanned/historic_cubed_sphere_Harvard_year_2000.pdf
===================================================================
(Binary files differ)


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/chunk_notes_scanned/historic_cubed_sphere_Harvard_year_2000.pdf
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/chunk_notes_scanned/historic_cubed_sphere_Harvard_year_2000.tif
===================================================================
(Binary files differ)


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/chunk_notes_scanned/historic_cubed_sphere_Harvard_year_2000.tif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/chunk_notes_scanned/numbering_convention_27_nodes.jpg
===================================================================
(Binary files differ)


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/chunk_notes_scanned/numbering_convention_27_nodes.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/chunk_notes_scanned/numbering_convention_27_nodes.tif
===================================================================
(Binary files differ)


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/chunk_notes_scanned/numbering_convention_27_nodes.tif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/clean_sac_headers_after_crash.sh
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/clean_sac_headers_after_crash.sh	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/clean_sac_headers_after_crash.sh	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+# For this script to work you need to have the sismoutil package available a the
+# ORFEUS web-page http://www.orfeus-eu.org
+
+NPTS=`grep 'Total number of time steps written:' OUTPUT_FILES/output_solver.txt | tail -1 | awk '{print $7}'`
+
+echo ' Changing header variable NPTS to ' $NPTS ' ...'
+
+for i in $*
+do
+	echo " Working on file $i"
+	file_ext=`echo $i | sed 's/.*\.\([^\.]*\)/\1/'`
+	if [ $file_ext == 'sacan' ]
+	then
+		vi -e -s -c "16s/ [0-9]*$/\ $NPTS/" -c 'x' $i
+	elif [ $file_ext == 'sac' ]
+	then
+		chsac NPTS $NPTS -f $*
+	else
+		echo " Cannot clean header variable NPTS of file $i!"
+		echo " NOT a SAC file extension!"
+	fi
+done
+
+echo ' ... done!'
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/collect_database/collect_seismo.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/collect_database/collect_seismo.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/collect_database/collect_seismo.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,26 @@
+#!/usr/bin/perl -w
+
+# collect the seismograms from the DATABASES_MPI/ directory on given machines
+
+# Qinya Liu, Caltech, May 2007
+
+if (@ARGV != 1) {die("collect_seismo.pl machinefile\n");}
+
+$machine = $ARGV[0];
+
+open(FILE,"$machine") or die("Error opening file $machine\n");
+(@junk) = <FILE>;
+close(FILE);
+
+for($i=0;$i<@junk;$i++) {
+  ($node) = split(" ",$junk[$i]);
+  push(@nodes,$node);
+}
+
+#print "@nodes\n";
+foreach $node (@nodes) {
+    system("scp $node:/scratch/$ENV{USER}/DATABASES_MPI/*sem* .");
+    print "$node\n";}
+
+# delete after collecting them
+#`shmux -M50 -Sall -c "rm -f /scratch/$ENV{USER}/DATABASES_MPI/*sem*" - < $machine`;


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/collect_database/collect_seismo.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/collect_database/collect_seismo_lsf_multi.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/collect_database/collect_seismo_lsf_multi.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/collect_database/collect_seismo_lsf_multi.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,43 @@
+#!/usr/bin/perl -w
+
+# this script collects the seismograms from the scratch directory given by Par_file on 
+# the machines given by machinefile
+
+# Qinya Liu, Caltech, May 2007
+
+if (@ARGV != 2) {die("collect_seismo_lsf_multi.pl machinefile Par_file\n");}
+
+$machine = $ARGV[0];
+$par_file = $ARGV[1];
+
+# get the machine list
+open(FILE,"$machine") or die("Error opening file $machine\n");
+(@junk) = <FILE>;
+close(FILE);
+
+for($i=0;$i<@junk;$i++) {
+  ($node) = split(" ",$junk[$i]);
+  push(@nodes,$node);
+}
+
+# now get the LOCAL_PATH
+open(FILE3,"<$par_file") or die ("Fatal Error openning file $par_file\n");
+while (<FILE3>) {
+   if ($_ =~ /^LOCAL_PATH/) {
+	chop;	
+	@vals = split("=", $_);
+	$mpidir = $vals[1];
+	$mpidir =~ s/^\s+//;
+	$mpidir =~ s/\s+$//;
+	close(FILE3);
+	last;
+   }
+}
+
+foreach $node (@nodes) {
+    system("scp $node:$mpidir/*sem* .");
+    print "$node\n";}
+
+# you can choose to delete the seismograms on the scratch disk after collecting them 
+#`shmux -M50 -Sall -c "rm -f $mpidir/*sem*" - < $machine`;
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/collect_database/collect_seismo_lsf_multi.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/collect_database/copy_ic_globe_database.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/collect_database/copy_ic_globe_database.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/collect_database/copy_ic_globe_database.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,59 @@
+#!/usr/bin/perl -w
+
+# this script collects the required inner core database files to prepare mesh
+# files for Paraview
+#   array_dims.txt, solver_data_2.bin and kernel_filename/solver_data_1.bin
+#   you need to supply the actual lsf_machine_file
+#   (1 line, node name and number of procs used)
+#   so that the correct machine file can be selected for the given slices (in slice_file)
+# if you are collecting anything other than kernel files, solver_data_1.bin is
+#   collected instead
+
+# Qinya Liu, Caltech, May 2007
+
+
+use POSIX;
+
+if (@ARGV != 3 and @ARGV != 4) {die("copy_ic_globe_database.pl slice_file lsf_machine_file filename [jobid]\n");}
+$sfile = $ARGV[0];
+$machine = $ARGV[1];
+$filename = $ARGV[2];
+if (@ARGV == 4) {$jobid = ".$ARGV[3]";} else {$jobid ="";}
+
+open(FILE,"$sfile") or die("Error opening file $sfile\n");
+(@slices) = <FILE>;
+close(FILE);
+open(FILE,"$machine") or die("Error opening file $machine\n");
+($machines) = <FILE>;
+close(FILE);
+
+(@mac) = split(" ",$machines); $sl = 0;
+for ($i=0;$i<@mac;$i=$i+2) {
+  $sl = $sl + $mac[$i+1];
+}
+print "Total number of slices = $sl\n";
+for ($i=0;$i<@mac;$i=$i+2) {
+  $num_slices = $mac[$i+1];
+  for ($j=0;$j<$num_slices;$j++) {
+    $sl = $sl  - 1;
+    $slice_to_node{$sl} = $mac[$i];
+  }
+}
+
+for($i=0;$i<@slices;$i++) {
+  ($slice[$i]) = split(" ",$slices[$i]);
+  $node[$i] = $slice_to_node{$slice[$i]};
+  print "$slice[$i], $node[$i]\n";
+}
+
+ at files = ("array_dims","$filename","solver_data_2");
+ at exts = ("txt","bin","bin");
+
+
+for($i=0;$i<@slices;$i++) {
+  for($j=0;$j<@files;$j++){
+  $string = sprintf("scp $node[$i]:/scratch/$ENV{USER}/DATABASES_MPI$jobid/proc%06d_reg3_$files[$j].$exts[$j] .", $slice[$i]);
+  print "$string\n";
+  system("$string");
+}}
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/collect_database/copy_ic_globe_database.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/collect_database/copy_m_globe_database.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/collect_database/copy_m_globe_database.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/collect_database/copy_m_globe_database.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,61 @@
+#!/usr/bin/perl -w
+
+# this script collects the required mantle database files to prepare mesh 
+# files for Paraview
+#   array_dims.txt, solver_data_2.bin and kernel_filename/solver_data_1.bin
+#   you need to supply the actual lsf_machine_file 
+#   (1 line, node name and number of procs used)
+#   so that the correct machine file can be selected for the given slices (in slice_file)
+# if you are collecting anything other than kernel files, solver_data_1.bin is 
+#   collected instead
+
+# Qinya Liu, Caltech, May 2007 
+
+
+use POSIX;
+
+if (@ARGV != 3 and @ARGV != 4) {die("copy_m_globe_database.pl slice_file lsf_machine_file filename [jobid]\n");}
+$sfile = $ARGV[0];
+$machine = $ARGV[1];
+$filename = $ARGV[2];
+
+if ($filename !~ /kernel/) {$filename="solver_data_1";}
+if (@ARGV == 4) {$jobid = ".$ARGV[3]";} else {$jobid ="";}
+
+open(FILE,"$sfile") or die("Error opening file $sfile\n");
+(@slices) = <FILE>;
+close(FILE);
+open(FILE,"$machine") or die("Error opening file $machine\n");
+($machines) = <FILE>;
+close(FILE);
+
+(@mac) = split(" ",$machines); $sl = 0;
+for ($i=0;$i<@mac;$i=$i+2) {
+  $sl = $sl + $mac[$i+1];
+}
+print "Total number of slices = $sl\n";
+for ($i=0;$i<@mac;$i=$i+2) {
+  $num_slices = $mac[$i+1];
+  for ($j=0;$j<$num_slices;$j++) {
+    $sl = $sl  - 1;
+    $slice_to_node{$sl} = $mac[$i];
+  }
+}
+
+for($i=0;$i<@slices;$i++) {
+  ($slice[$i]) = split(" ",$slices[$i]);
+  $node[$i] = $slice_to_node{$slice[$i]};
+  print "$slice[$i], $node[$i]\n";
+}
+
+ at files = ("array_dims","solver_data_2","$filename");
+ at exts = ("txt","bin","bin");
+
+
+for($i=0;$i<@slices;$i++) {
+  for($j=0;$j<@files;$j++){
+  $string = sprintf("scp $node[$i]:/scratch/$ENV{USER}/DATABASES_MPI$jobid/proc%06d_reg1_$files[$j].$exts[$j] .", $slice[$i]);
+  print "$string\n";
+  system("$string");
+}}
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/collect_database/copy_m_globe_database.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/collect_database/copy_m_globe_database_dvp.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/collect_database/copy_m_globe_database_dvp.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/collect_database/copy_m_globe_database_dvp.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,65 @@
+#!/usr/bin/perl -w
+
+# this script collects the required mantle database files to prepare mesh 
+# files for Paraview
+#   array_dims.txt, solver_data_2.bin and kernel_filename/solver_data_1.bin
+#   you need to supply the actual lsf_machine_file 
+#   (1 line, node name and number of procs used)
+#   so that the correct machine file can be selected for the given slices (in slice_file)
+# if you are collecting anything other than kernel files, solver_data_1.bin is 
+#   collected instead
+
+# Qinya Liu, Caltech, May 2007 
+
+
+use POSIX;
+
+if (@ARGV != 3 and @ARGV != 4) {die("copy_m_globe_database.pl slice_file lsf_machine_file filename [jobid]\n");}
+$sfile = $ARGV[0];
+$machine = $ARGV[1];
+$filename = $ARGV[2];
+
+#>LA commented out
+#if ($filename !~ /kernel/) {$filename="solver_data_1";}
+#<LA
+
+if (@ARGV == 4) {$jobid = ".$ARGV[3]";} else {$jobid ="";}
+
+open(FILE,"$sfile") or die("Error opening file $sfile\n");
+(@slices) = <FILE>;
+close(FILE);
+open(FILE,"$machine") or die("Error opening file $machine\n");
+($machines) = <FILE>;
+close(FILE);
+
+(@mac) = split(" ",$machines); $sl = 0;
+for ($i=0;$i<@mac;$i=$i+2) {
+  $sl = $sl + $mac[$i+1];
+}
+print "Total number of slices = $sl\n";
+for ($i=0;$i<@mac;$i=$i+2) {
+  $num_slices = $mac[$i+1];
+  for ($j=0;$j<$num_slices;$j++) {
+    $sl = $sl  - 1;
+    $slice_to_node{$sl} = $mac[$i];
+  }
+}
+
+for($i=0;$i<@slices;$i++) {
+  ($slice[$i]) = split(" ",$slices[$i]);
+  $node[$i] = $slice_to_node{$slice[$i]};
+  print "$slice[$i], $node[$i]\n";
+}
+
+#>LA modified existing code
+ at files = ("array_dims","solver_data_2","$filename");
+ at exts = ("txt","bin","bin");
+
+
+for($i=0;$i<@slices;$i++) {
+  for($j=0;$j<@files;$j++){
+  $string = sprintf("scp $node[$i]:/scratch/$ENV{USER}/DATABASES_MPI/proc%06d_reg1_$files[$j].$exts[$j] .", $slice[$i]);
+  print "$string\n";
+  system("$string");
+}}
+#<LA


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/collect_database/copy_m_globe_database_dvp.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/collect_database/copy_oc_globe_database.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/collect_database/copy_oc_globe_database.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/collect_database/copy_oc_globe_database.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,59 @@
+#!/usr/bin/perl -w
+
+# this script collects the required outer core database files to prepare mesh
+# files for Paraview
+#   array_dims.txt, solver_data_2.bin and kernel_filename/solver_data_1.bin
+#   you need to supply the actual lsf_machine_file
+#   (1 line, node name and number of procs used)
+#   so that the correct machine file can be selected for the given slices (in slice_file)
+# if you are collecting anything other than kernel files, solver_data_1.bin is
+#   collected instead
+
+# Qinya Liu, Caltech, May 2007
+
+
+use POSIX;
+
+if (@ARGV != 3 and @ARGV != 4) {die("copy_oc_globe_database.pl slice_file lsf_machine_file filename [jobid]\n");}
+$sfile = $ARGV[0];
+$machine = $ARGV[1];
+$filename = $ARGV[2];
+if (@ARGV == 4) {$jobid = ".$ARGV[3]";} else {$jobid ="";}
+
+open(FILE,"$sfile") or die("Error opening file $sfile\n");
+(@slices) = <FILE>;
+close(FILE);
+open(FILE,"$machine") or die("Error opening file $machine\n");
+($machines) = <FILE>;
+close(FILE);
+
+(@mac) = split(" ",$machines); $sl = 0;
+for ($i=0;$i<@mac;$i=$i+2) {
+  $sl = $sl + $mac[$i+1];
+}
+print "Total number of slices = $sl\n";
+for ($i=0;$i<@mac;$i=$i+2) {
+  $num_slices = $mac[$i+1];
+  for ($j=0;$j<$num_slices;$j++) {
+    $sl = $sl  - 1;
+    $slice_to_node{$sl} = $mac[$i];
+  }
+}
+
+for($i=0;$i<@slices;$i++) {
+  ($slice[$i]) = split(" ",$slices[$i]);
+  $node[$i] = $slice_to_node{$slice[$i]};
+  print "$slice[$i], $node[$i]\n";
+}
+
+ at files = ("array_dims","$filename","solver_data_2");
+ at exts = ("txt","bin","bin");
+
+
+for($i=0;$i<@slices;$i++) {
+  for($j=0;$j<@files;$j++){
+  $string = sprintf("scp $node[$i]:/scratch/$ENV{USER}/DATABASES_MPI$jobid/proc%06d_reg2_$files[$j].$exts[$j] .", $slice[$i]);
+  print "$string\n";
+  system("$string");
+}}
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/collect_database/copy_oc_globe_database.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/collect_database/copy_surf_globe_database.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/collect_database/copy_surf_globe_database.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/collect_database/copy_surf_globe_database.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,54 @@
+#!/usr/bin/perl -w
+
+# this script collects the required database (kernel file or solver_data_1.bin)
+# to plot surface mesh in Paraview
+# Qinya Liu, May 2007, Caltech
+
+use POSIX;
+
+if (@ARGV != 3 and @ARGV != 4) {die("copy_surf_globe_database.pl slice_file lsf_machine_file filename [jobid]\n");}
+$sfile = $ARGV[0];
+$machine = $ARGV[1];
+$filename = $ARGV[2];
+
+if ($filename !~ /kernel/) {$filename="solver_data_1";}
+if (@ARGV == 4) {$jobid = ".$ARGV[3]";} else {$jobid ="";}
+
+open(FILE,"$sfile") or die("Error opening file $sfile\n");
+(@slices) = <FILE>;
+close(FILE);
+open(FILE,"$machine") or die("Error opening file $machine\n");
+($machines) = <FILE>;
+close(FILE);
+
+(@mac) = split(" ",$machines); $sl = 0;
+for ($i=0;$i<@mac;$i=$i+2) {
+  $sl = $sl + $mac[$i+1];
+}
+print "Total number of slices = $sl\n";
+for ($i=0;$i<@mac;$i=$i+2) {
+  $num_slices = $mac[$i+1];
+  for ($j=0;$j<$num_slices;$j++) {
+    $sl = $sl  - 1;
+    $slice_to_node{$sl} = $mac[$i];
+  }
+}
+
+for($i=0;$i<@slices;$i++) {
+  ($slice[$i]) = split(" ",$slices[$i]);
+  $node[$i] = $slice_to_node{$slice[$i]};
+  print "$slice[$i], $node[$i]\n";
+}
+
+ at regs=("reg1","reg1","reg1","reg1","reg1","reg2","reg2","reg2","reg2");
+ at files = ("array_dims","$filename","boundary_disc","boundary","solver_data_2",  "array_dims","$filename","boundary","solver_data_2");
+ at exts = ("txt","bin","bin","bin","bin","txt","bin","bin","bin");
+
+
+for($i=0;$i<@slices;$i++) {
+  for($j=0;$j<@files;$j++){
+  $string = sprintf("scp $node[$i]:/scratch/$ENV{USER}/DATABASES_MPI$jobid/proc%06d_$regs[$j]_$files[$j].$exts[$j] .", $slice[$i]);
+  print "$string\n";
+  system("$string");
+}}
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/collect_database/copy_surf_globe_database.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/convolve_source_timefunction.csh
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/convolve_source_timefunction.csh	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/convolve_source_timefunction.csh	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,25 @@
+#!/bin/csh
+
+# we mimic a triangle of half duration equal to half_duration_triangle
+# using a Gaussian having a very close shape, as explained in Figure 4.2
+# of the manual
+
+set half_duration_triangle = 11.2
+
+foreach file ( $* )
+
+set nlines = `wc -l $file `
+echo $nlines > input_convolve_code.txt
+echo $half_duration_triangle >> input_convolve_code.txt
+# use .true. for a triangle and .false. for a Gaussian
+#echo ".true." >> input_convolve_code.txt
+echo ".false." >> input_convolve_code.txt
+
+echo convolving $file with half_duration_triangle = $half_duration_triangle using lines $nlines 
+
+../bin/xconvolve_source_timefunction < $file > ${file}.convolved
+
+rm input_convolve_code.txt
+
+end
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/convolve_source_timefunction.csh
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/cmb.dat
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/cmb.dat	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/cmb.dat	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,2 @@
+2890 0
+2890 20

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/compute_thickness_elements_crust.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/compute_thickness_elements_crust.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/compute_thickness_elements_crust.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,58 @@
+!=====================================================================
+!
+!          S p e c f e m 3 D  G l o b e  V e r s i o n  3 . 7
+!          --------------------------------------------------
+!
+!                 Dimitri Komatitsch and Jeroen Tromp
+!    Seismological Laboratory - California Institute of Technology
+!          (c) California Institute of Technology January 2007
+!
+! This program is free software; you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation; either version 2 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License along
+! with this program; if not, write to the Free Software Foundation, Inc.,
+! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+!
+!=====================================================================
+
+  program compute_thickness_crust
+
+  implicit none
+
+! number of different cases to study
+  integer, parameter :: NUM_CASES = 9
+  integer, dimension(NUM_CASES) :: NEX_val
+  integer icase
+
+! some useful constants
+  double precision, parameter :: PI = 3.141592653589793d0
+  double precision, parameter :: R_EARTH_KM = 6371.d0
+
+! case of multiples of 32
+  NEX_val(1) = 160
+  NEX_val(2) = 256
+  NEX_val(3) = 320
+  NEX_val(4) = 480
+  NEX_val(5) = 512
+  NEX_val(6) = 640
+  NEX_val(7) = 864
+  NEX_val(8) = 1152
+  NEX_val(9) = 1248
+
+! loop on all the cases to study
+  do icase = 1,NUM_CASES
+    print *,'NEX = ',NEX_val(icase)
+    print *,'horizontal size = thickness element = ',2*PI*R_EARTH_KM/(4*NEX_val(icase)),' km'
+    print *
+  enddo
+
+  end program compute_thickness_crust
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/constants_modified_v36.h
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/constants_modified_v36.h	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/constants_modified_v36.h	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,386 @@
+!=====================================================================
+!
+!          S p e c f e m 3 D  G l o b e  V e r s i o n  3 . 6
+!          --------------------------------------------------
+!
+!                 Dimitri Komatitsch and Jeroen Tromp
+!    Seismological Laboratory - California Institute of Technology
+!        (c) California Institute of Technology July 2004
+!
+! This program is free software; you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation; either version 2 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License along
+! with this program; if not, write to the Free Software Foundation, Inc.,
+! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+!
+!=====================================================================
+
+! constants.h.  Generated from constants.h.in by configure.
+
+!
+!--- user can modify parameters below
+!
+
+!!!!!!!!! DK DK UGLY temp
+! logical, parameter :: ACTIVATE_SUPPRESS_TEMPOR = .true.
+  logical, parameter :: ACTIVATE_SUPPRESS_TEMPOR = .false.
+
+!! DK DK it seems optimal to implement the second doubling at this depth in the mantle
+  double precision, parameter :: DEPTH_SECOND_DOUBLING_OPTIMAL = 670000.d0
+
+!! DK DK it seems optimal to implement the third doubling at this depth in the outer core
+  double precision, parameter :: DEPTH_THIRD_DOUBLING_OPTIMAL = 4500000.d0
+
+!! DK DK it seems optimal to implement the fourth doubling at this depth in the outer core
+  logical, parameter :: IMPLEMENT_FOURTH_DOUBLING = .false.
+  double precision, parameter :: DEPTH_FOURTH_DOUBLING_OPTIMAL = 5000000.d0
+
+  integer, parameter :: NB_LAYERS_SAMPLING_STUDY = 11
+! add three layers for the doublings in the mantle and outer core
+  integer, parameter :: NUMBER_OF_MESH_LAYERS = NB_LAYERS_SAMPLING_STUDY + 3
+
+! define number of spectral elements and points in basic symmetric mesh doubling superbrick
+  integer, parameter :: NSPEC_DOUBLING_SUPERBRICK = 32
+  integer, parameter :: NGLOB_DOUBLING_SUPERBRICK = 67
+  integer, parameter :: NGNOD_DOUBLING_SUPERBRICK = 8
+
+! PREM
+  double precision, parameter :: RMIDDLE_CRUST = 6356000.d0
+  double precision, parameter :: RMOHO = 6346600.d0
+  double precision, parameter :: R80 = 6291000.d0
+  double precision, parameter :: R220 = 6151000.d0
+  double precision, parameter :: R400 = 5971000.d0
+  double precision, parameter :: R600 = 5771000.d0
+  double precision, parameter :: R670 = 5701000.d0
+  double precision, parameter :: R771 = 5600000.d0
+  double precision, parameter :: RTOPDDOUBLEPRIME = 3630000.d0
+  double precision, parameter :: RCMB = 3480000.d0
+  double precision, parameter :: RICB = 1221000.d0
+
+!
+! solver in single or double precision depending on the machine (4 or 8 bytes)
+!
+!  ALSO CHANGE FILE precision.h ACCORDINGLY
+!
+  integer, parameter :: SIZE_REAL = 4, SIZE_DOUBLE = 8
+
+! set to SIZE_REAL to run in single precision
+! set to SIZE_DOUBLE to run in double precision (increases memory size by 2)
+  integer, parameter :: CUSTOM_REAL = SIZE_REAL
+
+! if files on a local path on each node are also seen as global with same path
+! set to .true. typically on a shared-memory machine with a common file system
+! set to .false. typically on a cluster of nodes, e.g. on a Beowulf-type machine
+! if running on a Beowulf-type machine, also customize global path to local
+! files in create_serial_name_database.f90 ("20 format ...")
+! Flag is used only when one checks the mesh with the serial codes
+! ("xcheck_buffers_1D" etc.), ignore it if you do not plan to use them
+  logical, parameter :: LOCAL_PATH_IS_ALSO_GLOBAL = .true.
+
+! input, output and main MPI I/O files
+  integer, parameter :: ISTANDARD_OUTPUT = 6
+  integer, parameter :: IIN = 40,IOUT = 41
+! local file unit for output of buffers
+  integer, parameter :: IOUT_BUFFERS = 35
+! uncomment this to write messages to a text file
+  integer, parameter :: IMAIN = 42
+! uncomment this to write messages to the screen (slows down the code)
+! integer, parameter :: IMAIN = ISTANDARD_OUTPUT
+! I/O unit for source and receiver vtk file
+  integer, parameter :: IOVTK = 98
+
+
+! R_EARTH is the radius of the bottom of the oceans (radius of Earth in m)
+  double precision, parameter :: R_EARTH = 6371000.d0
+! uncomment line below for PREM with oceans
+! double precision, parameter :: R_EARTH = 6368000.d0
+
+! average density in the full Earth to normalize equation
+  double precision, parameter :: RHOAV = 5514.3d0
+
+! for topography/bathymetry model
+
+!!--- ETOPO5 5-minute model, smoothed Harvard version
+!! size of topography and bathymetry file
+!  integer, parameter :: NX_BATHY = 4320,NY_BATHY = 2160
+!! resolution of topography file in minutes
+!  integer, parameter :: RESOLUTION_TOPO_FILE = 5
+!! pathname of the topography file
+!  character (len=*), parameter :: PATHNAME_TOPO_FILE = 'DATA/topo_bathy/topo_bathy_etopo5_smoothed_Harvard.dat'
+
+!---  ETOPO4 4-minute model created by subsampling and smoothing etopo-2
+! size of topography and bathymetry file
+  integer, parameter :: NX_BATHY = 5400,NY_BATHY = 2700
+! resolution of topography file in minutes
+  integer, parameter :: RESOLUTION_TOPO_FILE = 4
+! pathname of the topography file
+  character (len=*), parameter :: PATHNAME_TOPO_FILE = 'DATA/topo_bathy/topo_bathy_etopo4_smoothed_window_7.dat'
+
+!!--- ETOPO2 2-minute model, not implemented yet
+!! size of topography and bathymetry file
+!  integer, parameter :: NX_BATHY = 10800,NY_BATHY = 5400
+!! resolution of topography file in minutes
+!  integer, parameter :: RESOLUTION_TOPO_FILE = 2
+!! pathname of the topography file
+!  character (len=*), parameter :: PATHNAME_TOPO_FILE = 'DATA/topo_bathy/topo_bathy_etopo2_smoothed_window7.dat'
+
+! maximum depth of the oceans in trenches and height of topo in mountains
+! to avoid taking into account spurious oscillations in global model ETOPO
+  logical, parameter :: USE_MAXIMUM_HEIGHT_TOPO = .false.
+  integer, parameter :: MAXIMUM_HEIGHT_TOPO = +20000
+  logical, parameter :: USE_MAXIMUM_DEPTH_OCEANS = .false.
+  integer, parameter :: MAXIMUM_DEPTH_OCEANS = -20000
+
+! minimum thickness in meters to include the effect of the oceans and topo
+  double precision, parameter :: MINIMUM_THICKNESS_3D_OCEANS = 100.d0
+
+! number of GLL points in each direction of an element (degree plus one)
+  integer, parameter :: NGLLX = 5
+  integer, parameter :: NGLLY = NGLLX
+  integer, parameter :: NGLLZ = NGLLX
+
+! flag to exclude elements that are too far from target in source detection
+  logical, parameter :: USE_DISTANCE_CRITERION = .true.
+
+! flag to display detailed information about location of stations
+  logical, parameter :: DISPLAY_DETAILS_STATIONS = .false.
+
+! maximum length of station and network name for receivers
+  integer, parameter :: MAX_LENGTH_STATION_NAME = 32
+  integer, parameter :: MAX_LENGTH_NETWORK_NAME = 8
+
+! source decay rate
+  double precision, parameter :: SOURCE_DECAY_RATE = 1.628d0
+
+! number of sources to locate simultaneously
+  integer, parameter :: NSOURCES_SUB = 1000
+
+! distance threshold (in km) above which we consider that a receiver
+! is located outside the mesh and therefore excluded from the station list
+  double precision, parameter :: THRESHOLD_EXCLUDE_STATION = 50.d0
+
+!! DK DK UGLY in the case of a very fine mesh, move the bottom of crustal
+!! DK DK UGLY elements below the PREM Moho, otherwise the elements become
+!! DK DK UGLY too distorted in the radial distribution of elements.
+!! DK DK UGLY Not very clean, should write something more general one day
+  double precision, parameter :: RMOHO_FICTITIOUS_2ELEMS = 6330000.d0
+  double precision, parameter :: RMOHO_FICTITIOUS_4ELEMS = 6330000.d0
+
+!
+!--- debugging flags
+!
+
+! flags to actually assemble with MPI or not
+! and to actually match fluid and solid regions of the Earth or not
+! should always be set to true except when debugging code
+  logical, parameter :: ACTUALLY_ASSEMBLE_MPI_SLICES = .true.
+  logical, parameter :: ACTUALLY_ASSEMBLE_MPI_CHUNKS = .true.
+  logical, parameter :: ACTUALLY_COUPLE_FLUID_CMB = .true.
+  logical, parameter :: ACTUALLY_COUPLE_FLUID_ICB = .true.
+
+!! DK DK UGLY added this in case we are running on MareNostrum in Barcelona
+!! DK DK UGLY because we then need some calls to the system to use GPFS
+  logical, parameter :: RUN_ON_MARENOSTRUM_BARCELONA = .false.
+
+!------------------------------------------------------
+!----------- do not modify anything below -------------
+!------------------------------------------------------
+
+! on some processors (e.g. Pentiums) it is necessary to suppress underflows
+! by using a small initial field instead of zero
+  logical, parameter :: FIX_UNDERFLOW_PROBLEM = .true.
+
+! some useful constants
+  double precision, parameter :: PI = 3.141592653589793d0
+  double precision, parameter :: TWO_PI = 2.d0 * PI
+  double precision, parameter :: PI_OVER_FOUR = PI / 4.d0
+
+! to convert angles from degrees to radians
+  double precision, parameter :: DEGREES_TO_RADIANS = PI / 180.d0
+
+! 3-D simulation
+  integer, parameter :: NDIM = 3
+
+! dimension of the boundaries of the slices
+  integer, parameter :: NDIM2D = 2
+
+! number of nodes for 2D and 3D shape functions for hexahedra with 27 nodes
+  integer, parameter :: NGNOD = 27, NGNOD2D = 9
+
+! gravitational constant
+  double precision, parameter :: GRAV = 6.6723d-11
+
+! a few useful constants
+  double precision, parameter :: ZERO = 0.d0,ONE = 1.d0,TWO = 2.d0,HALF = 0.5d0
+
+  real(kind=CUSTOM_REAL), parameter :: &
+    ONE_THIRD   = 1._CUSTOM_REAL/3._CUSTOM_REAL, &
+    TWO_THIRDS  = 2._CUSTOM_REAL/3._CUSTOM_REAL, &
+    FOUR_THIRDS = 4._CUSTOM_REAL/3._CUSTOM_REAL
+
+! very large and very small values
+  double precision, parameter :: HUGEVAL = 1.d+30,TINYVAL = 1.d-9
+
+! very large real value declared independently of the machine
+  real(kind=CUSTOM_REAL), parameter :: HUGEVAL_SNGL = 1.e+30_CUSTOM_REAL
+
+! very large integer value
+  integer, parameter :: HUGEINT = 100000000
+
+! normalized radius of free surface
+  double precision, parameter :: R_UNIT_SPHERE = ONE
+
+! same radius in km
+  double precision, parameter :: R_EARTH_KM = R_EARTH / 1000.d0
+
+! fixed thickness of 3 km for PREM oceans
+  double precision, parameter :: THICKNESS_OCEANS_PREM = 3000.d0 / R_EARTH
+
+! shortest radius at which crust is implemented
+  double precision, parameter :: R_DEEPEST_CRUST = (R_EARTH - 90000.d0) / R_EARTH
+
+! maximum number of chunks (full sphere)
+  integer, parameter :: NCHUNKS_MAX = 6
+
+! define block type based upon chunk number (between 1 and 6)
+! do not change this numbering, chunk AB must be number 1 for central cube
+  integer, parameter :: CHUNK_AB = 1
+  integer, parameter :: CHUNK_AC = 2
+  integer, parameter :: CHUNK_BC = 3
+  integer, parameter :: CHUNK_AC_ANTIPODE = 4
+  integer, parameter :: CHUNK_BC_ANTIPODE = 5
+  integer, parameter :: CHUNK_AB_ANTIPODE = 6
+
+! maximum number of regions in the mesh
+  integer, parameter :: MAX_NUM_REGIONS = 3
+
+! define flag for regions of the global Earth mesh
+  integer, parameter :: IREGION_CRUST_MANTLE = 1
+  integer, parameter :: IREGION_OUTER_CORE = 2
+  integer, parameter :: IREGION_INNER_CORE = 3
+
+! define flag for elements
+  integer, parameter :: IFLAG_CRUST = 1
+
+  integer, parameter :: IFLAG_220_MOHO = 2
+  integer, parameter :: IFLAG_670_220 = 3
+  integer, parameter :: IFLAG_MANTLE_NORMAL = 4
+
+  integer, parameter :: IFLAG_OUTER_CORE_NORMAL = 5
+
+  integer, parameter :: IFLAG_INNER_CORE_NORMAL = 6
+
+  integer, parameter :: IFLAG_IN_CENTRAL_CUBE = 7
+  integer, parameter :: IFLAG_BOTTOM_CENTRAL_CUBE = 8
+  integer, parameter :: IFLAG_TOP_CENTRAL_CUBE = 9
+  integer, parameter :: IFLAG_IN_FICTITIOUS_CUBE = 10
+
+! dummy flag used for mesh display purposes only
+  integer, parameter :: IFLAG_DUMMY = 100
+
+! define flag for reference 1D Earth model
+  integer, parameter :: REFERENCE_MODEL_PREM   = 1
+  integer, parameter :: REFERENCE_MODEL_IASP91 = 2
+  integer, parameter :: REFERENCE_MODEL_1066A  = 3
+  integer, parameter :: REFERENCE_MODEL_AK135  = 4
+
+! define flag for regions of the global Earth for attenuation
+  integer, parameter :: NUM_REGIONS_ATTENUATION = 5
+
+  integer, parameter :: IREGION_ATTENUATION_INNER_CORE = 1
+  integer, parameter :: IREGION_ATTENUATION_CMB_670 = 2
+  integer, parameter :: IREGION_ATTENUATION_670_220 = 3
+  integer, parameter :: IREGION_ATTENUATION_220_80 = 4
+  integer, parameter :: IREGION_ATTENUATION_80_SURFACE = 5
+
+! number of standard linear solids for attenuation
+  integer, parameter :: N_SLS = 3
+
+! computation of standard linear solids in meshfem3D
+! ATTENUATION_COMP_RESOLUTION: Number of Digits after decimal
+! ATTENUATION_COMP_MAXIMUM:    Maximum Q Value
+  integer, parameter :: ATTENUATION_COMP_RESOLUTION = 1
+  integer, parameter :: ATTENUATION_COMP_MAXIMUM    = 5000
+
+! for lookup table for attenuation every 100 m in radial direction of Earth model
+  integer, parameter          :: NRAD_ATTENUATION  = 70000
+  double precision, parameter :: TABLE_ATTENUATION = R_EARTH_KM * 10.0d0
+
+! flag for the four edges of each slice and for the bottom edge
+  integer, parameter :: XI_MIN  = 1
+  integer, parameter :: XI_MAX  = 2
+  integer, parameter :: ETA_MIN = 3
+  integer, parameter :: ETA_MAX = 4
+  integer, parameter :: BOTTOM  = 5
+
+! flags to select the right corner in each slice
+  integer, parameter :: ILOWERLOWER = 1
+  integer, parameter :: ILOWERUPPER = 2
+  integer, parameter :: IUPPERLOWER = 3
+  integer, parameter :: IUPPERUPPER = 4
+
+! number of points in each AVS or OpenDX quadrangular cell for movies
+  integer, parameter :: NGNOD2D_AVS_DX = 4
+
+! number of faces a given slice can share with other slices
+! this is at most 2, except when there is only once slice per chunk
+! in which case it is 4
+  integer, parameter :: NUMFACES_SHARED = 4
+
+! number of corners a given slice can share with other slices
+! this is at most 1, except when there is only once slice per chunk
+! in which case it is 4
+  integer, parameter :: NUMCORNERS_SHARED = 4
+
+! number of slaves per corner
+  integer, parameter :: NUMSLAVES = 2
+
+! number of layers in PREM
+  integer, parameter :: NR = 640
+
+! smallest real number on the Pentium and the SGI =  1.1754944E-38
+! largest real number on the Pentium and the SGI  =  3.4028235E+38
+! small negligible initial value to avoid very slow underflow trapping
+! but not too small to avoid trapping on velocity and acceleration in Newmark
+  real(kind=CUSTOM_REAL), parameter :: VERYSMALLVAL = 1.E-24_CUSTOM_REAL
+
+! displacement threshold above which we consider that the code became unstable
+  real(kind=CUSTOM_REAL), parameter :: STABILITY_THRESHOLD = 1.E+25_CUSTOM_REAL
+
+! geometrical tolerance for boundary detection
+  double precision, parameter :: SMALLVAL = 0.00001d0
+
+! small tolerance for conversion from x y z to r theta phi
+  double precision, parameter :: SMALL_VAL_ANGLE = 1.d-10
+
+! geometry tolerance parameter to calculate number of independent grid points
+! sensitive to actual size of model, assumes reference sphere of radius 1
+! this is an absolute value for normalized coordinates in the Earth
+  double precision, parameter :: SMALLVALTOL = 1.d-10
+
+! do not use tags for MPI messages, use dummy tag instead
+  integer, parameter :: itag = 0,itag2 = 0
+
+! for the Gauss-Lobatto-Legendre points and weights
+  double precision, parameter :: GAUSSALPHA = 0.d0,GAUSSBETA = 0.d0
+
+! number of lines per source in CMTSOLUTION file
+  integer, parameter :: NLINES_PER_CMTSOLUTION_SOURCE = 13
+
+! number of iterations to solve the non linear system for xi and eta
+  integer, parameter :: NUM_ITER = 4
+
+! number of hours per day for rotation rate of the Earth
+  double precision, parameter :: HOURS_PER_DAY = 24.d0
+
+! for lookup table for gravity every 100 m in radial direction of Earth model
+  integer, parameter :: NRAD_GRAVITY = 70000
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/constants_modified_v40.h
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/constants_modified_v40.h	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/constants_modified_v40.h	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,386 @@
+!=====================================================================
+!
+!          S p e c f e m 3 D  G l o b e  V e r s i o n  3 . 6
+!          --------------------------------------------------
+!
+!                 Dimitri Komatitsch and Jeroen Tromp
+!    Seismological Laboratory - California Institute of Technology
+!        (c) California Institute of Technology July 2004
+!
+! This program is free software; you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation; either version 2 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License along
+! with this program; if not, write to the Free Software Foundation, Inc.,
+! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+!
+!=====================================================================
+
+! constants.h.  Generated from constants.h.in by configure.
+
+!
+!--- user can modify parameters below
+!
+
+!!!!!!!!! DK DK UGLY temp
+! logical, parameter :: ACTIVATE_SUPPRESS_TEMPOR = .true.
+  logical, parameter :: ACTIVATE_SUPPRESS_TEMPOR = .false.
+
+!! DK DK it seems optimal to implement the second doubling at this depth in the mantle
+  double precision, parameter :: DEPTH_SECOND_DOUBLING_OPTIMAL = 1650000.d0
+
+!! DK DK it seems optimal to implement the third doubling at this depth in the outer core
+  double precision, parameter :: DEPTH_THIRD_DOUBLING_OPTIMAL = 3860000.d0
+
+!! DK DK it seems optimal to implement the fourth doubling at this depth in the outer core
+  logical, parameter :: IMPLEMENT_FOURTH_DOUBLING = .true.
+  double precision, parameter :: DEPTH_FOURTH_DOUBLING_OPTIMAL = 5000000.d0
+
+  integer, parameter :: NB_LAYERS_SAMPLING_STUDY = 11
+! add three layers for the doublings in the mantle and outer core
+  integer, parameter :: NUMBER_OF_MESH_LAYERS = NB_LAYERS_SAMPLING_STUDY + 3
+
+! define number of spectral elements and points in basic symmetric mesh doubling superbrick
+  integer, parameter :: NSPEC_DOUBLING_SUPERBRICK = 32
+  integer, parameter :: NGLOB_DOUBLING_SUPERBRICK = 67
+  integer, parameter :: NGNOD_DOUBLING_SUPERBRICK = 8
+
+! PREM
+  double precision, parameter :: RMIDDLE_CRUST = 6356000.d0
+  double precision, parameter :: RMOHO = 6346600.d0
+  double precision, parameter :: R80 = 6291000.d0
+  double precision, parameter :: R220 = 6151000.d0
+  double precision, parameter :: R400 = 5971000.d0
+  double precision, parameter :: R600 = 5771000.d0
+  double precision, parameter :: R670 = 5701000.d0
+  double precision, parameter :: R771 = 5600000.d0
+  double precision, parameter :: RTOPDDOUBLEPRIME = 3630000.d0
+  double precision, parameter :: RCMB = 3480000.d0
+  double precision, parameter :: RICB = 1221000.d0
+
+!
+! solver in single or double precision depending on the machine (4 or 8 bytes)
+!
+!  ALSO CHANGE FILE precision.h ACCORDINGLY
+!
+  integer, parameter :: SIZE_REAL = 4, SIZE_DOUBLE = 8
+
+! set to SIZE_REAL to run in single precision
+! set to SIZE_DOUBLE to run in double precision (increases memory size by 2)
+  integer, parameter :: CUSTOM_REAL = SIZE_REAL
+
+! if files on a local path on each node are also seen as global with same path
+! set to .true. typically on a shared-memory machine with a common file system
+! set to .false. typically on a cluster of nodes, e.g. on a Beowulf-type machine
+! if running on a Beowulf-type machine, also customize global path to local
+! files in create_serial_name_database.f90 ("20 format ...")
+! Flag is used only when one checks the mesh with the serial codes
+! ("xcheck_buffers_1D" etc.), ignore it if you do not plan to use them
+  logical, parameter :: LOCAL_PATH_IS_ALSO_GLOBAL = .true.
+
+! input, output and main MPI I/O files
+  integer, parameter :: ISTANDARD_OUTPUT = 6
+  integer, parameter :: IIN = 40,IOUT = 41
+! local file unit for output of buffers
+  integer, parameter :: IOUT_BUFFERS = 35
+! uncomment this to write messages to a text file
+  integer, parameter :: IMAIN = 42
+! uncomment this to write messages to the screen (slows down the code)
+! integer, parameter :: IMAIN = ISTANDARD_OUTPUT
+! I/O unit for source and receiver vtk file
+  integer, parameter :: IOVTK = 98
+
+
+! R_EARTH is the radius of the bottom of the oceans (radius of Earth in m)
+  double precision, parameter :: R_EARTH = 6371000.d0
+! uncomment line below for PREM with oceans
+! double precision, parameter :: R_EARTH = 6368000.d0
+
+! average density in the full Earth to normalize equation
+  double precision, parameter :: RHOAV = 5514.3d0
+
+! for topography/bathymetry model
+
+!!--- ETOPO5 5-minute model, smoothed Harvard version
+!! size of topography and bathymetry file
+!  integer, parameter :: NX_BATHY = 4320,NY_BATHY = 2160
+!! resolution of topography file in minutes
+!  integer, parameter :: RESOLUTION_TOPO_FILE = 5
+!! pathname of the topography file
+!  character (len=*), parameter :: PATHNAME_TOPO_FILE = 'DATA/topo_bathy/topo_bathy_etopo5_smoothed_Harvard.dat'
+
+!---  ETOPO4 4-minute model created by subsampling and smoothing etopo-2
+! size of topography and bathymetry file
+  integer, parameter :: NX_BATHY = 5400,NY_BATHY = 2700
+! resolution of topography file in minutes
+  integer, parameter :: RESOLUTION_TOPO_FILE = 4
+! pathname of the topography file
+  character (len=*), parameter :: PATHNAME_TOPO_FILE = 'DATA/topo_bathy/topo_bathy_etopo4_smoothed_window_7.dat'
+
+!!--- ETOPO2 2-minute model, not implemented yet
+!! size of topography and bathymetry file
+!  integer, parameter :: NX_BATHY = 10800,NY_BATHY = 5400
+!! resolution of topography file in minutes
+!  integer, parameter :: RESOLUTION_TOPO_FILE = 2
+!! pathname of the topography file
+!  character (len=*), parameter :: PATHNAME_TOPO_FILE = 'DATA/topo_bathy/topo_bathy_etopo2_smoothed_window7.dat'
+
+! maximum depth of the oceans in trenches and height of topo in mountains
+! to avoid taking into account spurious oscillations in global model ETOPO
+  logical, parameter :: USE_MAXIMUM_HEIGHT_TOPO = .false.
+  integer, parameter :: MAXIMUM_HEIGHT_TOPO = +20000
+  logical, parameter :: USE_MAXIMUM_DEPTH_OCEANS = .false.
+  integer, parameter :: MAXIMUM_DEPTH_OCEANS = -20000
+
+! minimum thickness in meters to include the effect of the oceans and topo
+  double precision, parameter :: MINIMUM_THICKNESS_3D_OCEANS = 100.d0
+
+! number of GLL points in each direction of an element (degree plus one)
+  integer, parameter :: NGLLX = 5
+  integer, parameter :: NGLLY = NGLLX
+  integer, parameter :: NGLLZ = NGLLX
+
+! flag to exclude elements that are too far from target in source detection
+  logical, parameter :: USE_DISTANCE_CRITERION = .true.
+
+! flag to display detailed information about location of stations
+  logical, parameter :: DISPLAY_DETAILS_STATIONS = .false.
+
+! maximum length of station and network name for receivers
+  integer, parameter :: MAX_LENGTH_STATION_NAME = 32
+  integer, parameter :: MAX_LENGTH_NETWORK_NAME = 8
+
+! source decay rate
+  double precision, parameter :: SOURCE_DECAY_RATE = 1.628d0
+
+! number of sources to locate simultaneously
+  integer, parameter :: NSOURCES_SUB = 1000
+
+! distance threshold (in km) above which we consider that a receiver
+! is located outside the mesh and therefore excluded from the station list
+  double precision, parameter :: THRESHOLD_EXCLUDE_STATION = 50.d0
+
+!! DK DK UGLY in the case of a very fine mesh, move the bottom of crustal
+!! DK DK UGLY elements below the PREM Moho, otherwise the elements become
+!! DK DK UGLY too distorted in the radial distribution of elements.
+!! DK DK UGLY Not very clean, should write something more general one day
+  double precision, parameter :: RMOHO_FICTITIOUS_2ELEMS = 6330000.d0
+  double precision, parameter :: RMOHO_FICTITIOUS_4ELEMS = 6330000.d0
+
+!
+!--- debugging flags
+!
+
+! flags to actually assemble with MPI or not
+! and to actually match fluid and solid regions of the Earth or not
+! should always be set to true except when debugging code
+  logical, parameter :: ACTUALLY_ASSEMBLE_MPI_SLICES = .true.
+  logical, parameter :: ACTUALLY_ASSEMBLE_MPI_CHUNKS = .true.
+  logical, parameter :: ACTUALLY_COUPLE_FLUID_CMB = .true.
+  logical, parameter :: ACTUALLY_COUPLE_FLUID_ICB = .true.
+
+!! DK DK UGLY added this in case we are running on MareNostrum in Barcelona
+!! DK DK UGLY because we then need some calls to the system to use GPFS
+  logical, parameter :: RUN_ON_MARENOSTRUM_BARCELONA = .false.
+
+!------------------------------------------------------
+!----------- do not modify anything below -------------
+!------------------------------------------------------
+
+! on some processors (e.g. Pentiums) it is necessary to suppress underflows
+! by using a small initial field instead of zero
+  logical, parameter :: FIX_UNDERFLOW_PROBLEM = .true.
+
+! some useful constants
+  double precision, parameter :: PI = 3.141592653589793d0
+  double precision, parameter :: TWO_PI = 2.d0 * PI
+  double precision, parameter :: PI_OVER_FOUR = PI / 4.d0
+
+! to convert angles from degrees to radians
+  double precision, parameter :: DEGREES_TO_RADIANS = PI / 180.d0
+
+! 3-D simulation
+  integer, parameter :: NDIM = 3
+
+! dimension of the boundaries of the slices
+  integer, parameter :: NDIM2D = 2
+
+! number of nodes for 2D and 3D shape functions for hexahedra with 27 nodes
+  integer, parameter :: NGNOD = 27, NGNOD2D = 9
+
+! gravitational constant
+  double precision, parameter :: GRAV = 6.6723d-11
+
+! a few useful constants
+  double precision, parameter :: ZERO = 0.d0,ONE = 1.d0,TWO = 2.d0,HALF = 0.5d0
+
+  real(kind=CUSTOM_REAL), parameter :: &
+    ONE_THIRD   = 1._CUSTOM_REAL/3._CUSTOM_REAL, &
+    TWO_THIRDS  = 2._CUSTOM_REAL/3._CUSTOM_REAL, &
+    FOUR_THIRDS = 4._CUSTOM_REAL/3._CUSTOM_REAL
+
+! very large and very small values
+  double precision, parameter :: HUGEVAL = 1.d+30,TINYVAL = 1.d-9
+
+! very large real value declared independently of the machine
+  real(kind=CUSTOM_REAL), parameter :: HUGEVAL_SNGL = 1.e+30_CUSTOM_REAL
+
+! very large integer value
+  integer, parameter :: HUGEINT = 100000000
+
+! normalized radius of free surface
+  double precision, parameter :: R_UNIT_SPHERE = ONE
+
+! same radius in km
+  double precision, parameter :: R_EARTH_KM = R_EARTH / 1000.d0
+
+! fixed thickness of 3 km for PREM oceans
+  double precision, parameter :: THICKNESS_OCEANS_PREM = 3000.d0 / R_EARTH
+
+! shortest radius at which crust is implemented
+  double precision, parameter :: R_DEEPEST_CRUST = (R_EARTH - 90000.d0) / R_EARTH
+
+! maximum number of chunks (full sphere)
+  integer, parameter :: NCHUNKS_MAX = 6
+
+! define block type based upon chunk number (between 1 and 6)
+! do not change this numbering, chunk AB must be number 1 for central cube
+  integer, parameter :: CHUNK_AB = 1
+  integer, parameter :: CHUNK_AC = 2
+  integer, parameter :: CHUNK_BC = 3
+  integer, parameter :: CHUNK_AC_ANTIPODE = 4
+  integer, parameter :: CHUNK_BC_ANTIPODE = 5
+  integer, parameter :: CHUNK_AB_ANTIPODE = 6
+
+! maximum number of regions in the mesh
+  integer, parameter :: MAX_NUM_REGIONS = 3
+
+! define flag for regions of the global Earth mesh
+  integer, parameter :: IREGION_CRUST_MANTLE = 1
+  integer, parameter :: IREGION_OUTER_CORE = 2
+  integer, parameter :: IREGION_INNER_CORE = 3
+
+! define flag for elements
+  integer, parameter :: IFLAG_CRUST = 1
+
+  integer, parameter :: IFLAG_220_MOHO = 2
+  integer, parameter :: IFLAG_670_220 = 3
+  integer, parameter :: IFLAG_MANTLE_NORMAL = 4
+
+  integer, parameter :: IFLAG_OUTER_CORE_NORMAL = 5
+
+  integer, parameter :: IFLAG_INNER_CORE_NORMAL = 6
+
+  integer, parameter :: IFLAG_IN_CENTRAL_CUBE = 7
+  integer, parameter :: IFLAG_BOTTOM_CENTRAL_CUBE = 8
+  integer, parameter :: IFLAG_TOP_CENTRAL_CUBE = 9
+  integer, parameter :: IFLAG_IN_FICTITIOUS_CUBE = 10
+
+! dummy flag used for mesh display purposes only
+  integer, parameter :: IFLAG_DUMMY = 100
+
+! define flag for reference 1D Earth model
+  integer, parameter :: REFERENCE_MODEL_PREM   = 1
+  integer, parameter :: REFERENCE_MODEL_IASP91 = 2
+  integer, parameter :: REFERENCE_MODEL_1066A  = 3
+  integer, parameter :: REFERENCE_MODEL_AK135  = 4
+
+! define flag for regions of the global Earth for attenuation
+  integer, parameter :: NUM_REGIONS_ATTENUATION = 5
+
+  integer, parameter :: IREGION_ATTENUATION_INNER_CORE = 1
+  integer, parameter :: IREGION_ATTENUATION_CMB_670 = 2
+  integer, parameter :: IREGION_ATTENUATION_670_220 = 3
+  integer, parameter :: IREGION_ATTENUATION_220_80 = 4
+  integer, parameter :: IREGION_ATTENUATION_80_SURFACE = 5
+
+! number of standard linear solids for attenuation
+  integer, parameter :: N_SLS = 3
+
+! computation of standard linear solids in meshfem3D
+! ATTENUATION_COMP_RESOLUTION: Number of Digits after decimal
+! ATTENUATION_COMP_MAXIMUM:    Maximum Q Value
+  integer, parameter :: ATTENUATION_COMP_RESOLUTION = 1
+  integer, parameter :: ATTENUATION_COMP_MAXIMUM    = 5000
+
+! for lookup table for attenuation every 100 m in radial direction of Earth model
+  integer, parameter          :: NRAD_ATTENUATION  = 70000
+  double precision, parameter :: TABLE_ATTENUATION = R_EARTH_KM * 10.0d0
+
+! flag for the four edges of each slice and for the bottom edge
+  integer, parameter :: XI_MIN  = 1
+  integer, parameter :: XI_MAX  = 2
+  integer, parameter :: ETA_MIN = 3
+  integer, parameter :: ETA_MAX = 4
+  integer, parameter :: BOTTOM  = 5
+
+! flags to select the right corner in each slice
+  integer, parameter :: ILOWERLOWER = 1
+  integer, parameter :: ILOWERUPPER = 2
+  integer, parameter :: IUPPERLOWER = 3
+  integer, parameter :: IUPPERUPPER = 4
+
+! number of points in each AVS or OpenDX quadrangular cell for movies
+  integer, parameter :: NGNOD2D_AVS_DX = 4
+
+! number of faces a given slice can share with other slices
+! this is at most 2, except when there is only once slice per chunk
+! in which case it is 4
+  integer, parameter :: NUMFACES_SHARED = 4
+
+! number of corners a given slice can share with other slices
+! this is at most 1, except when there is only once slice per chunk
+! in which case it is 4
+  integer, parameter :: NUMCORNERS_SHARED = 4
+
+! number of slaves per corner
+  integer, parameter :: NUMSLAVES = 2
+
+! number of layers in PREM
+  integer, parameter :: NR = 640
+
+! smallest real number on the Pentium and the SGI =  1.1754944E-38
+! largest real number on the Pentium and the SGI  =  3.4028235E+38
+! small negligible initial value to avoid very slow underflow trapping
+! but not too small to avoid trapping on velocity and acceleration in Newmark
+  real(kind=CUSTOM_REAL), parameter :: VERYSMALLVAL = 1.E-24_CUSTOM_REAL
+
+! displacement threshold above which we consider that the code became unstable
+  real(kind=CUSTOM_REAL), parameter :: STABILITY_THRESHOLD = 1.E+25_CUSTOM_REAL
+
+! geometrical tolerance for boundary detection
+  double precision, parameter :: SMALLVAL = 0.00001d0
+
+! small tolerance for conversion from x y z to r theta phi
+  double precision, parameter :: SMALL_VAL_ANGLE = 1.d-10
+
+! geometry tolerance parameter to calculate number of independent grid points
+! sensitive to actual size of model, assumes reference sphere of radius 1
+! this is an absolute value for normalized coordinates in the Earth
+  double precision, parameter :: SMALLVALTOL = 1.d-10
+
+! do not use tags for MPI messages, use dummy tag instead
+  integer, parameter :: itag = 0,itag2 = 0
+
+! for the Gauss-Lobatto-Legendre points and weights
+  double precision, parameter :: GAUSSALPHA = 0.d0,GAUSSBETA = 0.d0
+
+! number of lines per source in CMTSOLUTION file
+  integer, parameter :: NLINES_PER_CMTSOLUTION_SOURCE = 13
+
+! number of iterations to solve the non linear system for xi and eta
+  integer, parameter :: NUM_ITER = 4
+
+! number of hours per day for rotation rate of the Earth
+  double precision, parameter :: HOURS_PER_DAY = 24.d0
+
+! for lookup table for gravity every 100 m in radial direction of Earth model
+  integer, parameter :: NRAD_GRAVITY = 70000
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/convert_elements_OpenDX_to_CUBIT.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/convert_elements_OpenDX_to_CUBIT.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/convert_elements_OpenDX_to_CUBIT.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,19 @@
+
+program convert_elements
+
+implicit none
+
+integer, parameter :: NELEM = 32
+
+integer i,i1,i2,i3,i4,i5,i6,i7,i8
+
+  do i = 1,NELEM
+! point order is inverted in OpenDX and numbers start at 0, not 1
+    read(*,*) i4,i1,i8,i5,i3,i2,i7,i6
+    write(*,230) i,i1+1,i2+1,i3+1,i4+1,i5+1,i6+1,i7+1,i8+1
+  enddo
+
+ 230 format(i4,',',i4,',',i4,',',i4,',',i4,',',i4,',',i4,',',i4,',',i4)
+
+end program convert_elements
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/convert_points_OpenDX_to_CUBIT.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/convert_points_OpenDX_to_CUBIT.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/convert_points_OpenDX_to_CUBIT.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,17 @@
+
+program convert_points
+
+implicit none
+
+integer, parameter :: NPOIN = 67
+
+integer i
+real a,b,c
+
+  do i = 1,NPOIN
+    read(*,*) a,b,c
+    write(*,*) i,',',a,',',b,',',c
+  enddo
+
+end program convert_points
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/convert_superbrick_OpenDX_SPECFEM_format.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/convert_superbrick_OpenDX_SPECFEM_format.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/convert_superbrick_OpenDX_SPECFEM_format.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,120 @@
+
+! extract only the points that are needed for the new doubling brick
+! from the modified version of Emanuele's tripling brick
+
+  program convert_OpenDX_SPECFEM_format
+
+  implicit none
+
+! number of points in the superbrick
+  integer, parameter :: NPOINTS = 67
+
+! number of spectral elements in the superbrick
+  integer, parameter :: NSPEC = 32
+
+! bricks are made of eight points
+  integer, parameter :: NGNOD = 8
+
+  integer :: ispec,ipoin,ignod
+
+! coordinates of all the mesh points
+  double precision, dimension(NPOINTS) :: x,y,z
+
+! point numbers of all the nodes of each spectral element
+  integer, dimension(NGNOD) :: iglob
+
+! read the basic brick
+  open(unit=27,file='dimitri_superbrick_without_duplicates.dx',status='old',action='read')
+
+! skip header
+  read(27,*)
+
+  print *
+  print *,' subroutine define_superbrick(x_superbrick,y_superbrick,z_superbrick,ibool_superbrick)'
+  print *
+  print *,' implicit none'
+  print *
+  print *,' include "constants_modified.h"'
+  print *
+  print *,' integer, dimension(NGNOD_DOUBLING_SUPERBRICK,NSPEC_DOUBLING_SUPERBRICK) :: ibool_superbrick'
+  print *,' double precision, dimension(NGLOB_DOUBLING_SUPERBRICK) :: x_superbrick,y_superbrick,z_superbrick'
+  print *
+
+! read the points and output their coordinates in Fortran90 format
+! output all the points, without duplicates
+  do ipoin = 1,NPOINTS
+
+    read(27,*) x(ipoin),y(ipoin),z(ipoin)
+
+! write in a nice format with full precision
+    if(abs(x(ipoin) - 0.d0) < 0.0001d0) then
+      print *,' x_superbrick(',ipoin,') = 0.d0'
+    else if(abs(x(ipoin) - 0.5d0) < 0.0001d0) then
+      print *,' x_superbrick(',ipoin,') = 1.d0 / 2.d0'
+    else if(abs(x(ipoin) - 1.d0) < 0.0001d0) then
+      print *,' x_superbrick(',ipoin,') = 1.d0'
+    else if(abs(x(ipoin) - 1.5d0) < 0.0001d0) then
+      print *,' x_superbrick(',ipoin,') = 3.d0 / 2.d0'
+    else if(abs(x(ipoin) - 2.d0) < 0.0001d0) then
+      print *,' x_superbrick(',ipoin,') = 2.d0'
+    else
+      stop 'unknown coordinate found for x'
+    endif
+
+    if(abs(y(ipoin) - 0.d0) < 0.0001d0) then
+      print *,' y_superbrick(',ipoin,') = 0.d0'
+    else if(abs(y(ipoin) - 0.5d0) < 0.0001d0) then
+      print *,' y_superbrick(',ipoin,') = 1.d0 / 2.d0'
+    else if(abs(y(ipoin) - 1.d0) < 0.0001d0) then
+      print *,' y_superbrick(',ipoin,') = 1.d0'
+    else if(abs(y(ipoin) - 1.5d0) < 0.0001d0) then
+      print *,' y_superbrick(',ipoin,') = 3.d0 / 2.d0'
+    else if(abs(y(ipoin) - 2.d0) < 0.0001d0) then
+      print *,' y_superbrick(',ipoin,') = 2.d0'
+    else
+      stop 'unknown coordinate found for y'
+    endif
+
+    if(abs(z(ipoin) - 0.d0) < 0.0001d0) then
+      print *,' z_superbrick(',ipoin,') = 0.d0'
+    else if(abs(z(ipoin) - 0.5d0) < 0.0001d0) then
+      print *,' z_superbrick(',ipoin,') = 1.d0 / 2.d0'
+    else if(abs(z(ipoin) - 1.d0) < 0.0001d0) then
+      print *,' z_superbrick(',ipoin,') = 1.d0'
+    else if(abs(z(ipoin) - 1.5d0) < 0.0001d0) then
+      print *,' z_superbrick(',ipoin,') = 3.d0 / 2.d0'
+    else if(abs(z(ipoin) - 2.d0) < 0.0001d0) then
+      print *,' z_superbrick(',ipoin,') = 2.d0'
+    else
+      stop 'unknown coordinate found for z'
+    endif
+
+    print *
+
+  enddo
+
+! skip header
+  read(27,*)
+
+! read the points of each of the NSPEC elements
+  do ispec = 1, NSPEC
+
+! point order in OpenDX is 4,1,8,5,3,2,7,6, *not* 1,2,3,4,5,6,7,8 as in SPECFEM3D, therefore swap the points
+    read(27,"(i6,1x,i6,1x,i6,1x,i6,1x,i6,1x,i6,1x,i6,1x,i6)") &
+            iglob(4),iglob(1),iglob(8),iglob(5),iglob(3),iglob(2),iglob(7),iglob(6)
+
+    do ignod = 1,NGNOD
+! in the case of OpenDX, node numbers start at zero
+      print *,' ibool_superbrick(',ignod,',',ispec,') = ',iglob(ignod) + 1
+    enddo
+    print *
+
+  enddo
+
+  close(27)
+
+  print *,' end subroutine define_superbrick'
+  print *
+
+  end program convert_OpenDX_SPECFEM_format
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/count_nglob_analytical.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/count_nglob_analytical.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/count_nglob_analytical.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,288 @@
+#! /usr/bin/perl
+
+# count NGLL points in an OpenDX mesh file (written initially for the doubling brick)
+
+# -> limitations :  - brick have to be a parallelepiped having one edge parallel to (Ox)
+#                   - points coordinates have to be in [-$hugeval; $hugeval]
+#                   - and other ones ...
+
+# be carefull : script one-shot written for a particular geometry, may have to be adapted, use it at your own risk ...
+
+# David Michea, University of Pau, France, February 2007
+
+if (scalar(@ARGV) < 1)
+{     print "usage : $0 mesh2analyse.dx [NGLL]\n";
+      exit;
+}
+
+$filein = $ARGV[0];
+$NGLL = $ARGV[1] || 0;
+exit("file $filein does not exists") unless (-f $filein);
+$hugeval=1000000;
+$numnode=0;
+$nb_corners=8;
+# opendx numbering of cube's faces
+my @faces_opendx = ([2,3,7,6], [0,2,6,4], [0,1,5,4], [1,3,7,5], [0,1,3,2], [4,5,7,6]);
+
+# read datas
+open (DF, "$filein");
+$phase=1;
+while(my $line=<DF>)
+{     chomp $line;
+      if ($line =~ m/^.*object\s+1.*\s+(\d+)\s+data\s+follows\s*$/)
+      {     $nbline = $1;
+            if($phase!=1)
+            {   print "error while reading data\n";
+                exit;
+            }
+            for (my $i=0;$i<$nbline;$i++)
+            {     my $line=<DF>;
+                  chomp($line);
+                  my @temp=split(/\s+/, $line);
+                  shift @temp if (scalar(@temp)>3);
+                  $nodes[$numnode] = \@temp;
+                  $numnode++;
+            }
+            $phase=2;
+      }
+      elsif ($line =~ m/^.*object\s+2.*\s+(\d+)\s+data\s+follows\s*$/)
+      {     $nbline = $1;
+            if($phase!=2)
+            {   print "error while reading data\n";
+                exit;
+            }
+            for (my $i=0;$i<$nbline;$i++)
+            {     my $line=<DF>;
+                  chomp($line);
+                  my @temp=split(/\s+/,$line);
+                  shift @temp if (scalar(@temp)>8);
+                  $hex[$numhex] = \@temp;
+                  $numhex++;
+            }
+            $phase=3;
+      }
+      else
+      {     if($phase!=3)
+            {   print "error while reading data\n";
+                exit;
+            }
+      }
+}
+close (DF);
+# dump datas into structure
+my @cubes;
+foreach $cube (@hex)
+{     my @corners;
+      foreach $corner (@{$cube})
+      {     my @coords = @{$nodes[$corner]};
+            push(@corners, \@coords);
+      }
+      push (@cubes, \@corners);
+}
+
+my ($xmin,$xmax,$ymin,$ymax,$zmin,$zmax) = ($hugeval,-$hugeval,$hugeval,-$hugeval,$hugeval,-$hugeval);
+foreach (@nodes)
+{   $xmin=$_->[0] if ($_->[0] < $xmin);
+    $ymin=$_->[1] if ($_->[1] < $ymin);
+    $zmin=$_->[2] if ($_->[2] < $zmin);
+    $xmax=$_->[0] if ($_->[0] > $xmax);
+    $ymax=$_->[1] if ($_->[1] > $ymax);
+    $zmax=$_->[2] if ($_->[2] > $zmax);
+}
+
+print "the formula to compute the total number of GLL points in the two-level superbrick is the following :\n";
+print "number of elements : $numhex\n";
+my $faces = get_connexion_faces(\@cubes);
+$nbfaces = scalar(@$faces);
+print "number of contact surfaces between these elements : ",$nbfaces,"\n";
+my $edges = get_connexion_edges($faces);
+#$faces=undef;
+$edges = edge_clean_up($edges);
+$nbedges = scalar(@$edges);
+print "number of (internal) contact edges between these surfaces : ",$nbedges,"\n";
+my $points = get_connexion_points($edges);
+#$edges=undef;
+$points = point_clean_up($points);
+$nbpoints = scalar(@$points);
+#$points=undef;
+print "number of (internal) contact points between these edges : ",$nbpoints,"\n";
+print "\ntherefore the final formula is\nNGLOB = $numhex.NGLL^3 - $nbfaces.NGLL^2 + $nbedges.NGLL - $nbpoints\n";
+$res = (($numhex*($NGLL**3))-($nbfaces*($NGLL**2))+($nbedges*$NGLL)-$nbpoints);
+print ("for NGLL = $NGLL, NGLOB = $res\n") if ($NGLL);
+exit;
+
+sub point_clean_up      # remove the points in double
+{     my $points_in = shift;
+      my @points_out;
+      while ($pt1=shift(@$points_in))
+      {     my $suppr = 0;
+            foreach $pt2 (@$points_in)
+            {     if ($pt1->[0] == $pt2->[0] and $pt1->[1] == $pt2->[1] and $pt1->[2] == $pt2->[2])
+                  {     $suppr++;
+                        last;
+                  }
+            }
+            push (@points_out, $pt1) unless ($suppr);
+      }
+      return \@points_out;
+}
+
+sub edge_clean_up       # remove the edges in double
+{     my $edges_in = shift;
+      my @edges_out;
+      while ($edge1=shift(@$edges_in))
+      {     my $suppr = 0;
+            foreach $edge2 (@$edges_in)
+            {     if (eqedge($edge1, $edge2))
+                  {     $suppr++;
+                        last;
+                  }
+            }
+            push (@edges_out, $edge1) unless ($suppr);
+      }
+      return \@edges_out;
+}
+
+sub get_connexion_points # in an edges set
+{     my $edges = shift;
+      my @conn_points;
+      my $nb=0;
+      foreach $couple (@$edges)
+      {     $nb++;
+            for (my $i=$nb;$i<$nbedges;$i++)
+            {     my $ok = 0;
+                  my $tmp = get_conn_point($couple, $edges->[$i]);
+                  push (@conn_points, $tmp) if ($tmp);
+            }
+      }
+      return \@conn_points;
+}
+
+sub get_conn_point  # between 2 edges
+{     my ($couple_1, $couple_2) = @_;
+      foreach $pt1 (@$couple_1)
+      {     foreach $pt2 (@$couple_2)
+            {     return $pt1 if (($pt1->[0] == $pt2->[0] and $pt1->[1] == $pt2->[1] and $pt1->[2] == $pt2->[2]) and (is_in($pt1)));
+            }
+      }
+      return 0;
+}
+
+sub get_connexion_edges  # in an faces set
+{     my $faces = shift;
+      my @conn_edges;
+      my $nb=0;
+      foreach $quad (@$faces)
+      {     $nb++;
+            my $cur_face_edges = get_face_edges($quad);
+            for (my $i=$nb;$i<$nbfaces;$i++)
+            {     my $tmp_face_edges = get_face_edges($faces->[$i]);
+                  my $tmp = get_conn_edges($cur_face_edges, $tmp_face_edges);
+                  push (@conn_edges, $tmp) if ($tmp);
+            }
+      }
+      return \@conn_edges;
+}
+
+sub get_face_edges  # get the 4 edges of a quad
+{     my $quad = shift;
+      my @edges;
+      for(my $i=0;$i<4;$i++)
+      {     my @edge_end;
+            push (@edge_end, $quad->[$i-1]);
+            push (@edge_end, $quad->[$i]);
+            push (@edges, \@edge_end);
+      }
+      return \@edges;
+}
+
+sub get_conn_edges  # between 2 faces
+{     my ($edges_set_1, $edges_set_2) = @_;
+      foreach $edge1 (@$edges_set_1)
+      {     foreach $edge2 (@$edges_set_2)
+            {     if (eqedge($edge1,$edge2))
+                  {     return $edge1 unless (is_external($edge1));
+                  }
+            }
+      }
+      return 0;
+}
+
+sub is_external   # check if an edge is at the surface of the brick
+{   my $edge = shift;
+    my($x1,$x2,$y1,$y2,$z1,$z2) = ($edge->[0][0],$edge->[1][0],$edge->[0][1],$edge->[1][1],$edge->[0][2],$edge->[1][2]);
+    return 1 if(($x1==$x2 and ($x1==$xmin or $x1==$xmax)) or ($y1==$y2 and ($y1==$ymin or $y1==$ymax)) or ($z1==$z2 and ($z1==$zmin or $z1==$zmax)));
+    return 0;
+}
+
+sub is_in     # check if a point is inside the brick, not at its surface
+{   my $point = shift;
+    my ($x,$y,$z) = ($point->[0],$point->[1],$point->[2]);
+    return 0 if ($x==$xmin or $x==$xmax or $y==$ymin or $y==$ymax or $z==$zmin or $z==$zmax);
+    return 1;
+}
+
+sub eqedge    # check if 2 edges are equal or not
+{     my ($edge1, $edge2) = @_;
+      my $count = 0;
+      foreach $pt1 (@$edge1)
+      {     foreach $pt2 (@$edge2)
+            {     $count++ if ($pt1->[0] == $pt2->[0] and $pt1->[1] == $pt2->[1] and $pt1->[2] == $pt2->[2]);
+            }
+      }
+      return 1 if ($count == 2);
+      return 0;
+}
+
+sub get_connexion_faces # for an hexahedron set
+{     my $cubes = shift;
+      my @conn_faces;
+      my $nb=0;
+      foreach $hex (@$cubes)
+      {     $nb++;
+            my $cur_cube_faces = get_cube_faces($hex);
+            for (my $i=$nb;$i<$numhex;$i++)
+            {     my $tmp_cube_faces = get_cube_faces($cubes->[$i]);
+                  my $tmp = get_conn_faces($cur_cube_faces, $tmp_cube_faces);
+                  push (@conn_faces, $tmp) if ($tmp);
+            }
+      }
+      return \@conn_faces;
+}
+
+sub get_cube_faces # get the 6 faces of an hexahedron
+{     my $hex = shift;
+      my @faces;
+      foreach my $face (@faces_opendx)
+      {     my @face_corners;
+            foreach (@$face)
+            {     push (@face_corners, $hex->[$_]);
+            }
+            push (@faces, \@face_corners);
+      }
+      return \@faces;
+}
+
+sub get_conn_faces # between 2 hexahedron
+{     my ($faces_set_1, $faces_set_2) = @_;
+      foreach $face1 (@$faces_set_1)
+      {     foreach $face2 (@$faces_set_2)
+            {     if (eqface($face1,$face2))
+                  {     return $face1;
+                  }
+            }
+      }
+      return 0;
+}
+
+sub eqface # check if 2 faces are equal or not
+{     my ($face1, $face2) = @_;
+      my $count = 0;
+      foreach $pt1 (@$face1)
+      {     foreach $pt2 (@$face2)
+            {     $count++ if ($pt1->[0] == $pt2->[0] and $pt1->[1] == $pt2->[1] and $pt1->[2] == $pt2->[2]);
+            }
+      }
+      return 1 if ($count == 4);
+      return 0;
+}


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/count_nglob_analytical.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/create_new_doubling_brick.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/create_new_doubling_brick.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/create_new_doubling_brick.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,71 @@
+
+ program create_new_brick
+
+! create new doubling brick based upon modification of Emanuele Casarotti's tripling brick
+
+! to execute it:  xcreate_new_brick < original_points_emanuele_DX.txt
+
+ implicit none
+
+! there are NPOINTS points in the original tripling brick
+ integer, parameter :: NPOINTS = 32
+
+ integer i
+
+ double precision minix,maxix,miniy,maxiy,miniz,maxiz,xnew,ynew,znew
+
+ double precision, dimension(NPOINTS) :: x,y,z
+
+! read original brick
+ do i = 1,NPOINTS
+   read(*,*) x(i),y(i),z(i)
+ enddo
+
+ minix = minval(x)
+ maxix = maxval(x)
+ print *,' for x, min max delta before = ',minix,maxix,maxix-minix
+
+ miniy = minval(y)
+ maxiy = maxval(y)
+ print *,' for y, min max delta before = ',miniy,maxiy,maxiy-miniy
+
+ miniz = minval(z)
+ maxiz = maxval(z)
+ print *,' for z, min max delta before = ',miniz,maxiz,maxiz-miniz
+
+! create new brick by truncating X and Y in Xmin and Ymin
+ do i = 1,NPOINTS
+   xnew = (x(i)-minix)/(maxix-minix)
+   ynew = (y(i)-miniy)/(maxiy-miniy)
+   znew = (z(i)-miniz)/(maxiz-miniz)
+   if(xnew < 0.001d0) xnew = 0.3333333333333d0
+   if(ynew < 0.001d0) ynew = 0.3333333333333d0
+
+! change Z from (O, 0.50, 0.75, 1) to (0, 0.33, 0.66, 1) to have more even elements
+   if(abs(znew - 0.50d0) < 0.001d0) znew = 1.d0 / 3.d0
+   if(abs(znew - 0.75d0) < 0.001d0) znew = 2.d0 / 3.d0
+
+   x(i) = xnew
+   y(i) = ynew
+   z(i) = znew
+ enddo
+
+ minix = minval(x)
+ maxix = maxval(x)
+ print *,' for x, min max delta after = ',minix,maxix,maxix-minix
+
+ miniy = minval(y)
+ maxiy = maxval(y)
+ print *,' for y, min max delta after = ',miniy,maxiy,maxiy-miniy
+
+ miniz = minval(z)
+ maxiz = maxval(z)
+ print *,' for z, min max delta after = ',miniz,maxiz,maxiz-miniz
+
+! write new brick
+ do i = 1,NPOINTS
+   write(*,*) sngl((x(i)-minix)/(maxix-minix)),sngl((y(i)-miniy)/(maxiy-miniy)),sngl((z(i)-miniz)/(maxiz-miniz))
+ enddo
+
+ end program create_new_brick
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/create_superbrick_duplicates.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/create_superbrick_duplicates.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/create_superbrick_duplicates.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,359 @@
+
+! extract only the points that are needed for the new doubling brick
+! from the modified version of Emanuele's tripling brick
+
+  program create_superbrick_duplicates
+
+  implicit none
+
+! there are twenty-seven unique points in the basic doubling brick
+  integer, parameter :: NPOINTS = 27
+
+! there are eight spectral elements in the basic doubling brick
+  integer, parameter :: NSPEC = 8
+
+! bricks are made of eight points
+  integer, parameter :: NGNOD = 8
+
+! number of basic blocks in superbrick
+  integer, parameter :: NBLOCKS = 4
+
+! compute maximum number of points for call to get_global()
+  integer, parameter :: npointot = NBLOCKS * NSPEC * NGNOD
+
+  integer :: ispec,ipoin,ignod,iblock
+
+! coordinates of all the mesh points
+  double precision, dimension(0:NBLOCKS*NPOINTS-1) :: x,y,z
+
+! point numbers of all the nodes of each spectral element
+  integer, dimension(NGNOD,NBLOCKS*NSPEC) :: point_number
+
+! variables for call to get_global()
+  integer, dimension(npointot) :: iglob,locval
+  logical, dimension(npointot) :: ifseg
+  double precision, dimension(npointot) :: xp,yp,zp
+  integer nglob,ieoff,ilocnum
+
+! read the basic brick
+  open(unit=11,file='dimitri_brick_without_duplicates_two_layers.dx',status='old',action='read')
+
+! skip header
+  read(11,*)
+
+! read the points
+  do ipoin = 0,NPOINTS-1
+
+    read(11,*) x(ipoin),y(ipoin),z(ipoin)
+
+! generate the first symmetric block (z is always unchanged)
+    x(ipoin + 1*NPOINTS) = + x(ipoin)
+    y(ipoin + 1*NPOINTS) = - y(ipoin)
+    z(ipoin + 1*NPOINTS) = + z(ipoin)
+
+! generate the second symmetric block (z is always unchanged)
+    x(ipoin + 2*NPOINTS) = - x(ipoin)
+    y(ipoin + 2*NPOINTS) = + y(ipoin)
+    z(ipoin + 2*NPOINTS) = + z(ipoin)
+
+! generate the third symmetric block (z is always unchanged)
+    x(ipoin + 3*NPOINTS) = - x(ipoin)
+    y(ipoin + 3*NPOINTS) = - y(ipoin)
+    z(ipoin + 3*NPOINTS) = + z(ipoin)
+
+  enddo
+
+! skip header
+  read(11,*)
+
+! read the NGNOD points of each of the NSPEC elements
+  do ispec = 1, NSPEC
+
+    read(11,*) (point_number(ignod,ispec), ignod = 1, NGNOD)
+
+! create the three symmetric elements
+    point_number(:,ispec + 1*NSPEC) = point_number(:,ispec) + 1*NPOINTS
+    point_number(:,ispec + 2*NSPEC) = point_number(:,ispec) + 2*NPOINTS
+    point_number(:,ispec + 3*NSPEC) = point_number(:,ispec) + 3*NPOINTS
+
+  enddo
+
+  close(11)
+
+! shift the four blocks from [-1,1] to [0,2] in the two horizontal directions
+  x(:) = x(:) + 1.d0
+  y(:) = y(:) + 1.d0
+
+  do ispec=1,NBLOCKS*NSPEC
+    ieoff = NGNOD * (ispec-1)
+    ilocnum = 0
+    do ignod = 1,NGNOD
+      ilocnum = ilocnum + 1
+      xp(ilocnum+ieoff) = x(point_number(ignod,ispec))
+      yp(ilocnum+ieoff) = y(point_number(ignod,ispec))
+      zp(ilocnum+ieoff) = z(point_number(ignod,ispec))
+    enddo
+  enddo
+
+! call get_global() to check that all the points are unique
+  call get_global(NBLOCKS*NSPEC,xp,yp,zp,iglob,locval,ifseg,nglob,npointot,NGNOD)
+  print *,'number of unique points detected in superbrick = ',nglob,' instead of ',NBLOCKS*NPOINTS,' with multiples'
+
+! create an OpenDX file with the new superbrick
+
+! write OpenDX header with element data
+  open(unit=11,file='dimitri_superbrick_with_duplicates.dx',status='unknown')
+  write(11,*) 'object 1 class array type float rank 1 shape 3 items ',NBLOCKS*NPOINTS,' data follows'
+
+! output all the points, with duplicates
+  do ipoin = 0,NBLOCKS*NPOINTS-1
+    write(11,*) sngl(x(ipoin)),sngl(y(ipoin)),sngl(z(ipoin))
+  enddo
+
+! write element header
+  write(11,*) 'object 2 class array type int rank 1 shape 8 items ',NBLOCKS*NSPEC,' data follows'
+
+! output all the elements
+  do ispec = 1,NBLOCKS*NSPEC
+! point order in OpenDX is 4,1,8,5,3,2,7,6, *not* 1,2,3,4,5,6,7,8 as in AVS
+    write(11,"(i6,1x,i6,1x,i6,1x,i6,1x,i6,1x,i6,1x,i6,1x,i6)") (point_number(ignod,ispec), ignod = 1, NGNOD)
+  enddo
+
+! output OpenDX header for data
+! label for hexahedra in OpenDX is "cubes"
+  write(11,*) 'attribute "element type" string "cubes"'
+  write(11,*) 'attribute "ref" string "positions"'
+  write(11,*) 'object 3 class array type float rank 0 items ',NBLOCKS*NSPEC,' data follows'
+
+! write element data (use the same colors for each of the four blocks)
+  do iblock = 1,NBLOCKS
+    do ispec=1,nspec
+      write(11,*) ispec
+    enddo
+  enddo
+
+! define OpenDX field
+  write(11,*) 'attribute "dep" string "connections"'
+  write(11,*) 'object "irregular positions irregular connections" class field'
+  write(11,*) 'component "positions" value 1'
+  write(11,*) 'component "connections" value 2'
+  write(11,*) 'component "data" value 3'
+  write(11,*) 'end'
+
+  close(11)
+
+  end program create_superbrick_duplicates
+
+!
+!=====================================================================
+!
+
+  subroutine get_global(nspec,xp,yp,zp,iglob,loc,ifseg,nglob,npointot,NGNOD)
+
+! this routine MUST be in double precision to avoid sensitivity
+! to roundoff errors in the coordinates of the points
+
+! non-structured global numbering software provided by Paul F. Fischer
+
+! leave sorting subroutines in same source file to allow for inlining
+
+  implicit none
+
+! 3-D simulation
+  integer, parameter :: NDIM = 3
+
+! geometry tolerance parameter to calculate number of independent grid points
+! sensitive to actual size of model, assumes reference size of 1
+  double precision, parameter :: SMALLVALTOL = 1.d-10
+
+  integer npointot,NGNOD
+  integer iglob(npointot),loc(npointot)
+  logical ifseg(npointot)
+  double precision xp(npointot),yp(npointot),zp(npointot)
+  integer nspec,nglob
+
+  integer ispec,i,j
+  integer ieoff,ilocnum,nseg,ioff,iseg,ig
+
+  integer, dimension(:), allocatable :: ind,ninseg,iwork
+  double precision, dimension(:), allocatable :: work
+
+! dynamically allocate arrays
+  allocate(ind(npointot))
+  allocate(ninseg(npointot))
+  allocate(iwork(npointot))
+  allocate(work(npointot))
+
+! establish initial pointers
+  do ispec=1,nspec
+    ieoff=NGNOD * (ispec-1)
+    do ilocnum=1,NGNOD
+      loc(ilocnum+ieoff)=ilocnum+ieoff
+    enddo
+  enddo
+
+  ifseg(:)=.false.
+
+  nseg=1
+  ifseg(1)=.true.
+  ninseg(1)=npointot
+
+  do j=1,NDIM
+
+! sort within each segment
+  ioff=1
+  do iseg=1,nseg
+    if(j == 1) then
+      call rank(xp(ioff),ind,ninseg(iseg))
+    else if(j == 2) then
+      call rank(yp(ioff),ind,ninseg(iseg))
+    else
+      call rank(zp(ioff),ind,ninseg(iseg))
+    endif
+    call swap_all(loc(ioff),xp(ioff),yp(ioff),zp(ioff),iwork,work,ind,ninseg(iseg))
+    ioff=ioff+ninseg(iseg)
+  enddo
+
+! check for jumps in current coordinate
+! compare the coordinates of the points within a small tolerance
+  if(j == 1) then
+    do i=2,npointot
+      if(abs(xp(i)-xp(i-1)) > SMALLVALTOL) ifseg(i)=.true.
+    enddo
+  else if(j == 2) then
+    do i=2,npointot
+      if(abs(yp(i)-yp(i-1)) > SMALLVALTOL) ifseg(i)=.true.
+    enddo
+  else
+    do i=2,npointot
+      if(abs(zp(i)-zp(i-1)) > SMALLVALTOL) ifseg(i)=.true.
+    enddo
+  endif
+
+! count up number of different segments
+  nseg=0
+  do i=1,npointot
+    if(ifseg(i)) then
+      nseg=nseg+1
+      ninseg(nseg)=1
+    else
+      ninseg(nseg)=ninseg(nseg)+1
+    endif
+  enddo
+  enddo
+
+! assign global node numbers (now sorted lexicographically)
+  ig=0
+  do i=1,npointot
+    if(ifseg(i)) ig=ig+1
+    iglob(loc(i))=ig
+  enddo
+
+  nglob=ig
+
+! deallocate arrays
+  deallocate(ind)
+  deallocate(ninseg)
+  deallocate(iwork)
+  deallocate(work)
+
+  end subroutine get_global
+
+! -----------------------------------
+
+! sorting routines put in same file to allow for inlining
+
+  subroutine rank(A,IND,N)
+!
+! Use Heap Sort (Numerical Recipes)
+!
+  implicit none
+
+  integer n
+  double precision A(n)
+  integer IND(n)
+
+  integer i,j,l,ir,indx
+  double precision q
+
+  do j=1,n
+   IND(j)=j
+  enddo
+
+  if (n == 1) return
+
+  L=n/2+1
+  ir=n
+  100 CONTINUE
+   IF (l>1) THEN
+      l=l-1
+      indx=ind(l)
+      q=a(indx)
+   ELSE
+      indx=ind(ir)
+      q=a(indx)
+      ind(ir)=ind(1)
+      ir=ir-1
+      if (ir == 1) then
+         ind(1)=indx
+         return
+      endif
+   ENDIF
+   i=l
+   j=l+l
+  200    CONTINUE
+   IF (J <= IR) THEN
+      IF (J<IR) THEN
+         IF ( A(IND(j))<A(IND(j+1)) ) j=j+1
+      ENDIF
+      IF (q<A(IND(j))) THEN
+         IND(I)=IND(J)
+         I=J
+         J=J+J
+      ELSE
+         J=IR+1
+      ENDIF
+   goto 200
+   ENDIF
+   IND(I)=INDX
+  goto 100
+  end subroutine rank
+
+! ------------------------------------------------------------------
+
+  subroutine swap_all(IA,A,B,C,IW,W,ind,n)
+!
+! swap arrays IA, A, B and C according to addressing in array IND
+!
+  implicit none
+
+  integer n
+
+  integer IND(n)
+  integer IA(n),IW(n)
+  double precision A(n),B(n),C(n),W(n)
+
+  integer i
+
+  IW(:) = IA(:)
+  W(:) = A(:)
+
+  do i=1,n
+    IA(i)=IW(ind(i))
+    A(i)=W(ind(i))
+  enddo
+
+  W(:) = B(:)
+
+  do i=1,n
+    B(i)=W(ind(i))
+  enddo
+
+  W(:) = C(:)
+
+  do i=1,n
+    C(i)=W(ind(i))
+  enddo
+
+  end subroutine swap_all
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/create_superbrick_no_duplicates.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/create_superbrick_no_duplicates.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/create_superbrick_no_duplicates.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,144 @@
+
+! extract only the points that are needed for the new doubling brick
+! from the modified version of Emanuele's tripling brick
+
+  program create_superbrick_no_duplicates
+
+  implicit none
+
+! number of points in the superbrick
+  integer, parameter :: OLD_NPOINTS = 108, NEW_NPOINTS = 67
+
+! number of spectral elements in the superbrick
+  integer, parameter :: NSPEC = 32
+
+! bricks are made of eight points
+  integer, parameter :: NGNOD = 8
+
+  integer :: ispec,ipoin,ignod,ipoin_found,ipoin_previous
+  double precision :: distance
+  logical :: already_found_before
+
+! coordinates of all the mesh points
+  double precision, dimension(OLD_NPOINTS) :: x,y,z
+  double precision, dimension(NEW_NPOINTS) :: xnew,ynew,znew
+
+! point numbers of all the nodes of each spectral element
+  integer, dimension(NGNOD) :: point_number
+
+! read the basic brick
+  open(unit=27,file='dimitri_superbrick_with_duplicates.dx',status='old',action='read')
+
+! skip header
+  read(27,*)
+
+! create an OpenDX file with the new superbrick without duplicates
+
+! write OpenDX header with element data
+  open(unit=11,file='dimitri_superbrick_without_duplicates.dx',status='unknown')
+  write(11,*) 'object 1 class array type float rank 1 shape 3 items ',NEW_NPOINTS,' data follows'
+
+! read the points, with duplicates
+! output all the points, without duplicates
+  ipoin_found = 0
+  do ipoin = 1,OLD_NPOINTS
+
+    read(27,*) x(ipoin),y(ipoin),z(ipoin)
+
+! check if this point has previously been found, print only if not
+    already_found_before = .false.
+    if(ipoin > 1) then
+      do ipoin_previous = 1,ipoin - 1
+        distance = dsqrt((x(ipoin) - x(ipoin_previous))**2 + (y(ipoin) - y(ipoin_previous))**2 + &
+                         (z(ipoin) - z(ipoin_previous))**2)
+! it is the same point as before if distance with a previous point is zero (down to roundoff error)
+        if(distance < 0.00001d0) then
+          already_found_before = .true.
+! we can exit the loop if we have already found this point in the list
+          exit
+        endif
+      enddo
+    endif
+    if(.not. already_found_before) then
+      ipoin_found = ipoin_found + 1
+      xnew(ipoin_found) = x(ipoin)
+      ynew(ipoin_found) = y(ipoin)
+      znew(ipoin_found) = z(ipoin)
+      write(11,*) sngl(xnew(ipoin_found)),sngl(ynew(ipoin_found)),sngl(znew(ipoin_found))
+    endif
+
+  enddo
+
+  if(ipoin_found /= NEW_NPOINTS) then
+    print *,'ipoin_found,OLD_NPOINTS,NEW_NPOINTS = ',ipoin_found,OLD_NPOINTS,NEW_NPOINTS
+    stop 'incorrect number of unique points found'
+  endif
+
+! skip header
+  read(27,*)
+
+! write element header
+  write(11,*) 'object 2 class array type int rank 1 shape 8 items ',NSPEC,' data follows'
+
+! read the NGNOD points of each of the NSPEC elements
+  do ispec = 1, NSPEC
+
+    read(27,*) (point_number(ignod), ignod = 1, NGNOD)
+
+! change old point numbers to new
+    do ignod = 1, NGNOD
+
+! in the case of OpenDX, node numbers start at zero
+      ipoin = point_number(ignod) + 1
+
+      already_found_before = .false.
+      do ipoin_found = 1,NEW_NPOINTS
+        distance = dsqrt((x(ipoin) - xnew(ipoin_found))**2 + (y(ipoin) - ynew(ipoin_found))**2 + &
+                         (z(ipoin) - znew(ipoin_found))**2)
+! it is the same point as before if distance with a previous point is zero (down to roundoff error)
+        if(distance < 0.00001d0) then
+          already_found_before = .true.
+! we can exit the loop if we have already found this point in the list
+          exit
+        endif
+      enddo
+
+! problem if this point is never found
+      if(.not. already_found_before) stop 'problem, point not found'
+
+! in the case of OpenDX, node numbers start at zero
+      point_number(ignod) = ipoin_found - 1
+      if(point_number(ignod) < 0 .or. point_number(ignod) > NEW_NPOINTS - 1) stop 'incorrect point number found'
+
+    enddo
+
+! point order in OpenDX is 4,1,8,5,3,2,7,6, *not* 1,2,3,4,5,6,7,8 as in AVS
+    write(11,"(i6,1x,i6,1x,i6,1x,i6,1x,i6,1x,i6,1x,i6,1x,i6)") (point_number(ignod), ignod = 1, NGNOD)
+
+  enddo
+
+  close(27)
+
+! output OpenDX header for data
+! label for hexahedra in OpenDX is "cubes"
+  write(11,*) 'attribute "element type" string "cubes"'
+  write(11,*) 'attribute "ref" string "positions"'
+  write(11,*) 'object 3 class array type float rank 0 items ',NSPEC,' data follows'
+
+! write element data (use a different color for each element)
+  do ispec=1,NSPEC
+    write(11,*) ispec
+  enddo
+
+! define OpenDX field
+  write(11,*) 'attribute "dep" string "connections"'
+  write(11,*) 'object "irregular positions irregular connections" class field'
+  write(11,*) 'component "positions" value 1'
+  write(11,*) 'component "connections" value 2'
+  write(11,*) 'component "data" value 3'
+  write(11,*) 'end'
+
+  close(11)
+
+  end program create_superbrick_no_duplicates
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/define_superbrick.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/define_superbrick.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/define_superbrick.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,566 @@
+
+  subroutine define_superbrick(x_superbrick,y_superbrick,z_superbrick,ibool_superbrick)
+
+  include "constants_modified_v40.h"
+
+  integer, dimension(NGNOD_DOUBLING_SUPERBRICK,NSPEC_DOUBLING_SUPERBRICK) :: ibool_superbrick
+  double precision, dimension(NGLOB_DOUBLING_SUPERBRICK) :: x_superbrick,y_superbrick,z_superbrick
+
+  x_superbrick( 1) = 3.d0 / 2.d0
+  y_superbrick( 1) = 1.d0
+  z_superbrick( 1) = 2.d0
+
+  x_superbrick( 2) = 3.d0 / 2.d0
+  y_superbrick( 2) = 1.d0
+  z_superbrick( 2) = 3.d0 / 2.d0
+
+  x_superbrick( 3) = 3.d0 / 2.d0
+  y_superbrick( 3) = 3.d0 / 2.d0
+  z_superbrick( 3) = 3.d0 / 2.d0
+
+  x_superbrick( 4) = 3.d0 / 2.d0
+  y_superbrick( 4) = 3.d0 / 2.d0
+  z_superbrick( 4) = 2.d0
+
+  x_superbrick( 5) = 2.d0
+  y_superbrick( 5) = 1.d0
+  z_superbrick( 5) = 2.d0
+
+  x_superbrick( 6) = 2.d0
+  y_superbrick( 6) = 1.d0
+  z_superbrick( 6) = 1.d0
+
+  x_superbrick( 7) = 2.d0
+  y_superbrick( 7) = 3.d0 / 2.d0
+  z_superbrick( 7) = 1.d0
+
+  x_superbrick( 8) = 2.d0
+  y_superbrick( 8) = 3.d0 / 2.d0
+  z_superbrick( 8) = 2.d0
+
+  x_superbrick( 9) = 3.d0 / 2.d0
+  y_superbrick( 9) = 2.d0
+  z_superbrick( 9) = 1.d0
+
+  x_superbrick(10) = 3.d0 / 2.d0
+  y_superbrick(10) = 2.d0
+  z_superbrick(10) = 2.d0
+
+  x_superbrick(11) = 2.d0
+  y_superbrick(11) = 2.d0
+  z_superbrick(11) = 1.d0 / 2.d0
+
+  x_superbrick(12) = 2.d0
+  y_superbrick(12) = 2.d0
+  z_superbrick(12) = 2.d0
+
+  x_superbrick(13) = 1.d0
+  y_superbrick(13) = 1.d0
+  z_superbrick(13) = 1.d0
+
+  x_superbrick(14) = 1.d0
+  y_superbrick(14) = 1.d0
+  z_superbrick(14) = 1.d0 / 2.d0
+
+  x_superbrick(15) = 1.d0
+  y_superbrick(15) = 2.d0
+  z_superbrick(15) = 1.d0 / 2.d0
+
+  x_superbrick(16) = 1.d0
+  y_superbrick(16) = 2.d0
+  z_superbrick(16) = 1.d0
+
+  x_superbrick(17) = 3.d0 / 2.d0
+  y_superbrick(17) = 1.d0
+  z_superbrick(17) = 1.d0
+
+  x_superbrick(18) = 2.d0
+  y_superbrick(18) = 1.d0
+  z_superbrick(18) = 1.d0 / 2.d0
+
+  x_superbrick(19) = 1.d0
+  y_superbrick(19) = 1.d0
+  z_superbrick(19) = 3.d0 / 2.d0
+
+  x_superbrick(20) = 1.d0
+  y_superbrick(20) = 1.d0
+  z_superbrick(20) = 2.d0
+
+  x_superbrick(21) = 1.d0
+  y_superbrick(21) = 3.d0 / 2.d0
+  z_superbrick(21) = 3.d0 / 2.d0
+
+  x_superbrick(22) = 1.d0
+  y_superbrick(22) = 3.d0 / 2.d0
+  z_superbrick(22) = 2.d0
+
+  x_superbrick(23) = 1.d0
+  y_superbrick(23) = 2.d0
+  z_superbrick(23) = 2.d0
+
+  x_superbrick(24) = 1.d0
+  y_superbrick(24) = 1.d0
+  z_superbrick(24) = 0.d0
+
+  x_superbrick(25) = 2.d0
+  y_superbrick(25) = 1.d0
+  z_superbrick(25) = 0.d0
+
+  x_superbrick(26) = 2.d0
+  y_superbrick(26) = 2.d0
+  z_superbrick(26) = 0.d0
+
+  x_superbrick(27) = 1.d0
+  y_superbrick(27) = 2.d0
+  z_superbrick(27) = 0.d0
+
+  x_superbrick(28) = 3.d0 / 2.d0
+  y_superbrick(28) = 1.d0 / 2.d0
+  z_superbrick(28) = 3.d0 / 2.d0
+
+  x_superbrick(29) = 3.d0 / 2.d0
+  y_superbrick(29) = 1.d0 / 2.d0
+  z_superbrick(29) = 2.d0
+
+  x_superbrick(30) = 2.d0
+  y_superbrick(30) = 1.d0 / 2.d0
+  z_superbrick(30) = 1.d0
+
+  x_superbrick(31) = 2.d0
+  y_superbrick(31) = 1.d0 / 2.d0
+  z_superbrick(31) = 2.d0
+
+  x_superbrick(32) = 3.d0 / 2.d0
+  y_superbrick(32) = 0.d0
+  z_superbrick(32) = 1.d0
+
+  x_superbrick(33) = 3.d0 / 2.d0
+  y_superbrick(33) = 0.d0
+  z_superbrick(33) = 2.d0
+
+  x_superbrick(34) = 2.d0
+  y_superbrick(34) = 0.d0
+  z_superbrick(34) = 1.d0 / 2.d0
+
+  x_superbrick(35) = 2.d0
+  y_superbrick(35) = 0.d0
+  z_superbrick(35) = 2.d0
+
+  x_superbrick(36) = 1.d0
+  y_superbrick(36) = 0.d0
+  z_superbrick(36) = 1.d0 / 2.d0
+
+  x_superbrick(37) = 1.d0
+  y_superbrick(37) = 0.d0
+  z_superbrick(37) = 1.d0
+
+  x_superbrick(38) = 1.d0
+  y_superbrick(38) = 1.d0 / 2.d0
+  z_superbrick(38) = 3.d0 / 2.d0
+
+  x_superbrick(39) = 1.d0
+  y_superbrick(39) = 1.d0 / 2.d0
+  z_superbrick(39) = 2.d0
+
+  x_superbrick(40) = 1.d0
+  y_superbrick(40) = 0.d0
+  z_superbrick(40) = 2.d0
+
+  x_superbrick(41) = 2.d0
+  y_superbrick(41) = 0.d0
+  z_superbrick(41) = 0.d0
+
+  x_superbrick(42) = 1.d0
+  y_superbrick(42) = 0.d0
+  z_superbrick(42) = 0.d0
+
+  x_superbrick(43) = 1.d0 / 2.d0
+  y_superbrick(43) = 1.d0
+  z_superbrick(43) = 2.d0
+
+  x_superbrick(44) = 1.d0 / 2.d0
+  y_superbrick(44) = 1.d0
+  z_superbrick(44) = 3.d0 / 2.d0
+
+  x_superbrick(45) = 1.d0 / 2.d0
+  y_superbrick(45) = 3.d0 / 2.d0
+  z_superbrick(45) = 3.d0 / 2.d0
+
+  x_superbrick(46) = 1.d0 / 2.d0
+  y_superbrick(46) = 3.d0 / 2.d0
+  z_superbrick(46) = 2.d0
+
+  x_superbrick(47) = 0.d0
+  y_superbrick(47) = 1.d0
+  z_superbrick(47) = 2.d0
+
+  x_superbrick(48) = 0.d0
+  y_superbrick(48) = 1.d0
+  z_superbrick(48) = 1.d0
+
+  x_superbrick(49) = 0.d0
+  y_superbrick(49) = 3.d0 / 2.d0
+  z_superbrick(49) = 1.d0
+
+  x_superbrick(50) = 0.d0
+  y_superbrick(50) = 3.d0 / 2.d0
+  z_superbrick(50) = 2.d0
+
+  x_superbrick(51) = 1.d0 / 2.d0
+  y_superbrick(51) = 2.d0
+  z_superbrick(51) = 1.d0
+
+  x_superbrick(52) = 1.d0 / 2.d0
+  y_superbrick(52) = 2.d0
+  z_superbrick(52) = 2.d0
+
+  x_superbrick(53) = 0.d0
+  y_superbrick(53) = 2.d0
+  z_superbrick(53) = 1.d0 / 2.d0
+
+  x_superbrick(54) = 0.d0
+  y_superbrick(54) = 2.d0
+  z_superbrick(54) = 2.d0
+
+  x_superbrick(55) = 1.d0 / 2.d0
+  y_superbrick(55) = 1.d0
+  z_superbrick(55) = 1.d0
+
+  x_superbrick(56) = 0.d0
+  y_superbrick(56) = 1.d0
+  z_superbrick(56) = 1.d0 / 2.d0
+
+  x_superbrick(57) = 0.d0
+  y_superbrick(57) = 1.d0
+  z_superbrick(57) = 0.d0
+
+  x_superbrick(58) = 0.d0
+  y_superbrick(58) = 2.d0
+  z_superbrick(58) = 0.d0
+
+  x_superbrick(59) = 1.d0 / 2.d0
+  y_superbrick(59) = 1.d0 / 2.d0
+  z_superbrick(59) = 3.d0 / 2.d0
+
+  x_superbrick(60) = 1.d0 / 2.d0
+  y_superbrick(60) = 1.d0 / 2.d0
+  z_superbrick(60) = 2.d0
+
+  x_superbrick(61) = 0.d0
+  y_superbrick(61) = 1.d0 / 2.d0
+  z_superbrick(61) = 1.d0
+
+  x_superbrick(62) = 0.d0
+  y_superbrick(62) = 1.d0 / 2.d0
+  z_superbrick(62) = 2.d0
+
+  x_superbrick(63) = 1.d0 / 2.d0
+  y_superbrick(63) = 0.d0
+  z_superbrick(63) = 1.d0
+
+  x_superbrick(64) = 1.d0 / 2.d0
+  y_superbrick(64) = 0.d0
+  z_superbrick(64) = 2.d0
+
+  x_superbrick(65) = 0.d0
+  y_superbrick(65) = 0.d0
+  z_superbrick(65) = 1.d0 / 2.d0
+
+  x_superbrick(66) = 0.d0
+  y_superbrick(66) = 0.d0
+  z_superbrick(66) = 2.d0
+
+  x_superbrick(67) = 0.d0
+  y_superbrick(67) = 0.d0
+  z_superbrick(67) = 0.d0
+
+  ibool_superbrick(1, 1) =  1
+  ibool_superbrick(2, 1) =  2
+  ibool_superbrick(3, 1) =  3
+  ibool_superbrick(4, 1) =  4
+  ibool_superbrick(5, 1) =  5
+  ibool_superbrick(6, 1) =  6
+  ibool_superbrick(7, 1) =  7
+  ibool_superbrick(8, 1) =  8
+
+  ibool_superbrick(1, 2) =  4
+  ibool_superbrick(2, 2) =  3
+  ibool_superbrick(3, 2) =  9
+  ibool_superbrick(4, 2) = 10
+  ibool_superbrick(5, 2) =  8
+  ibool_superbrick(6, 2) =  7
+  ibool_superbrick(7, 2) = 11
+  ibool_superbrick(8, 2) = 12
+
+  ibool_superbrick(1, 3) = 13
+  ibool_superbrick(2, 3) = 14
+  ibool_superbrick(3, 3) = 15
+  ibool_superbrick(4, 3) = 16
+  ibool_superbrick(5, 3) = 17
+  ibool_superbrick(6, 3) = 18
+  ibool_superbrick(7, 3) = 11
+  ibool_superbrick(8, 3) =  9
+
+  ibool_superbrick(1, 4) = 20
+  ibool_superbrick(2, 4) = 19
+  ibool_superbrick(3, 4) = 21
+  ibool_superbrick(4, 4) = 22
+  ibool_superbrick(5, 4) =  1
+  ibool_superbrick(6, 4) =  2
+  ibool_superbrick(7, 4) =  3
+  ibool_superbrick(8, 4) =  4
+
+  ibool_superbrick(1, 5) =  2
+  ibool_superbrick(2, 5) = 17
+  ibool_superbrick(3, 5) =  9
+  ibool_superbrick(4, 5) =  3
+  ibool_superbrick(5, 5) =  6
+  ibool_superbrick(6, 5) = 18
+  ibool_superbrick(7, 5) = 11
+  ibool_superbrick(8, 5) =  7
+
+  ibool_superbrick(1, 6) = 22
+  ibool_superbrick(2, 6) = 21
+  ibool_superbrick(3, 6) = 16
+  ibool_superbrick(4, 6) = 23
+  ibool_superbrick(5, 6) =  4
+  ibool_superbrick(6, 6) =  3
+  ibool_superbrick(7, 6) =  9
+  ibool_superbrick(8, 6) = 10
+
+  ibool_superbrick(1, 7) = 19
+  ibool_superbrick(2, 7) = 13
+  ibool_superbrick(3, 7) = 16
+  ibool_superbrick(4, 7) = 21
+  ibool_superbrick(5, 7) =  2
+  ibool_superbrick(6, 7) = 17
+  ibool_superbrick(7, 7) =  9
+  ibool_superbrick(8, 7) =  3
+
+  ibool_superbrick(1, 8) = 24
+  ibool_superbrick(2, 8) = 25
+  ibool_superbrick(3, 8) = 26
+  ibool_superbrick(4, 8) = 27
+  ibool_superbrick(5, 8) = 14
+  ibool_superbrick(6, 8) = 18
+  ibool_superbrick(7, 8) = 11
+  ibool_superbrick(8, 8) = 15
+
+  ibool_superbrick(1, 9) =  1
+  ibool_superbrick(2, 9) =  2
+  ibool_superbrick(3, 9) = 28
+  ibool_superbrick(4, 9) = 29
+  ibool_superbrick(5, 9) =  5
+  ibool_superbrick(6, 9) =  6
+  ibool_superbrick(7, 9) = 30
+  ibool_superbrick(8, 9) = 31
+
+  ibool_superbrick(1,10) = 29
+  ibool_superbrick(2,10) = 28
+  ibool_superbrick(3,10) = 32
+  ibool_superbrick(4,10) = 33
+  ibool_superbrick(5,10) = 31
+  ibool_superbrick(6,10) = 30
+  ibool_superbrick(7,10) = 34
+  ibool_superbrick(8,10) = 35
+
+  ibool_superbrick(1,11) = 13
+  ibool_superbrick(2,11) = 14
+  ibool_superbrick(3,11) = 36
+  ibool_superbrick(4,11) = 37
+  ibool_superbrick(5,11) = 17
+  ibool_superbrick(6,11) = 18
+  ibool_superbrick(7,11) = 34
+  ibool_superbrick(8,11) = 32
+
+  ibool_superbrick(1,12) = 20
+  ibool_superbrick(2,12) = 19
+  ibool_superbrick(3,12) = 38
+  ibool_superbrick(4,12) = 39
+  ibool_superbrick(5,12) =  1
+  ibool_superbrick(6,12) =  2
+  ibool_superbrick(7,12) = 28
+  ibool_superbrick(8,12) = 29
+
+  ibool_superbrick(1,13) =  2
+  ibool_superbrick(2,13) = 17
+  ibool_superbrick(3,13) = 32
+  ibool_superbrick(4,13) = 28
+  ibool_superbrick(5,13) =  6
+  ibool_superbrick(6,13) = 18
+  ibool_superbrick(7,13) = 34
+  ibool_superbrick(8,13) = 30
+
+  ibool_superbrick(1,14) = 39
+  ibool_superbrick(2,14) = 38
+  ibool_superbrick(3,14) = 37
+  ibool_superbrick(4,14) = 40
+  ibool_superbrick(5,14) = 29
+  ibool_superbrick(6,14) = 28
+  ibool_superbrick(7,14) = 32
+  ibool_superbrick(8,14) = 33
+
+  ibool_superbrick(1,15) = 19
+  ibool_superbrick(2,15) = 13
+  ibool_superbrick(3,15) = 37
+  ibool_superbrick(4,15) = 38
+  ibool_superbrick(5,15) =  2
+  ibool_superbrick(6,15) = 17
+  ibool_superbrick(7,15) = 32
+  ibool_superbrick(8,15) = 28
+
+  ibool_superbrick(1,16) = 24
+  ibool_superbrick(2,16) = 25
+  ibool_superbrick(3,16) = 41
+  ibool_superbrick(4,16) = 42
+  ibool_superbrick(5,16) = 14
+  ibool_superbrick(6,16) = 18
+  ibool_superbrick(7,16) = 34
+  ibool_superbrick(8,16) = 36
+
+  ibool_superbrick(1,17) = 43
+  ibool_superbrick(2,17) = 44
+  ibool_superbrick(3,17) = 45
+  ibool_superbrick(4,17) = 46
+  ibool_superbrick(5,17) = 47
+  ibool_superbrick(6,17) = 48
+  ibool_superbrick(7,17) = 49
+  ibool_superbrick(8,17) = 50
+
+  ibool_superbrick(1,18) = 46
+  ibool_superbrick(2,18) = 45
+  ibool_superbrick(3,18) = 51
+  ibool_superbrick(4,18) = 52
+  ibool_superbrick(5,18) = 50
+  ibool_superbrick(6,18) = 49
+  ibool_superbrick(7,18) = 53
+  ibool_superbrick(8,18) = 54
+
+  ibool_superbrick(1,19) = 13
+  ibool_superbrick(2,19) = 14
+  ibool_superbrick(3,19) = 15
+  ibool_superbrick(4,19) = 16
+  ibool_superbrick(5,19) = 55
+  ibool_superbrick(6,19) = 56
+  ibool_superbrick(7,19) = 53
+  ibool_superbrick(8,19) = 51
+
+  ibool_superbrick(1,20) = 20
+  ibool_superbrick(2,20) = 19
+  ibool_superbrick(3,20) = 21
+  ibool_superbrick(4,20) = 22
+  ibool_superbrick(5,20) = 43
+  ibool_superbrick(6,20) = 44
+  ibool_superbrick(7,20) = 45
+  ibool_superbrick(8,20) = 46
+
+  ibool_superbrick(1,21) = 44
+  ibool_superbrick(2,21) = 55
+  ibool_superbrick(3,21) = 51
+  ibool_superbrick(4,21) = 45
+  ibool_superbrick(5,21) = 48
+  ibool_superbrick(6,21) = 56
+  ibool_superbrick(7,21) = 53
+  ibool_superbrick(8,21) = 49
+
+  ibool_superbrick(1,22) = 22
+  ibool_superbrick(2,22) = 21
+  ibool_superbrick(3,22) = 16
+  ibool_superbrick(4,22) = 23
+  ibool_superbrick(5,22) = 46
+  ibool_superbrick(6,22) = 45
+  ibool_superbrick(7,22) = 51
+  ibool_superbrick(8,22) = 52
+
+  ibool_superbrick(1,23) = 19
+  ibool_superbrick(2,23) = 13
+  ibool_superbrick(3,23) = 16
+  ibool_superbrick(4,23) = 21
+  ibool_superbrick(5,23) = 44
+  ibool_superbrick(6,23) = 55
+  ibool_superbrick(7,23) = 51
+  ibool_superbrick(8,23) = 45
+
+  ibool_superbrick(1,24) = 24
+  ibool_superbrick(2,24) = 57
+  ibool_superbrick(3,24) = 58
+  ibool_superbrick(4,24) = 27
+  ibool_superbrick(5,24) = 14
+  ibool_superbrick(6,24) = 56
+  ibool_superbrick(7,24) = 53
+  ibool_superbrick(8,24) = 15
+
+  ibool_superbrick(1,25) = 43
+  ibool_superbrick(2,25) = 44
+  ibool_superbrick(3,25) = 59
+  ibool_superbrick(4,25) = 60
+  ibool_superbrick(5,25) = 47
+  ibool_superbrick(6,25) = 48
+  ibool_superbrick(7,25) = 61
+  ibool_superbrick(8,25) = 62
+
+  ibool_superbrick(1,26) = 60
+  ibool_superbrick(2,26) = 59
+  ibool_superbrick(3,26) = 63
+  ibool_superbrick(4,26) = 64
+  ibool_superbrick(5,26) = 62
+  ibool_superbrick(6,26) = 61
+  ibool_superbrick(7,26) = 65
+  ibool_superbrick(8,26) = 66
+
+  ibool_superbrick(1,27) = 13
+  ibool_superbrick(2,27) = 14
+  ibool_superbrick(3,27) = 36
+  ibool_superbrick(4,27) = 37
+  ibool_superbrick(5,27) = 55
+  ibool_superbrick(6,27) = 56
+  ibool_superbrick(7,27) = 65
+  ibool_superbrick(8,27) = 63
+
+  ibool_superbrick(1,28) = 20
+  ibool_superbrick(2,28) = 19
+  ibool_superbrick(3,28) = 38
+  ibool_superbrick(4,28) = 39
+  ibool_superbrick(5,28) = 43
+  ibool_superbrick(6,28) = 44
+  ibool_superbrick(7,28) = 59
+  ibool_superbrick(8,28) = 60
+
+  ibool_superbrick(1,29) = 44
+  ibool_superbrick(2,29) = 55
+  ibool_superbrick(3,29) = 63
+  ibool_superbrick(4,29) = 59
+  ibool_superbrick(5,29) = 48
+  ibool_superbrick(6,29) = 56
+  ibool_superbrick(7,29) = 65
+  ibool_superbrick(8,29) = 61
+
+  ibool_superbrick(1,30) = 39
+  ibool_superbrick(2,30) = 38
+  ibool_superbrick(3,30) = 37
+  ibool_superbrick(4,30) = 40
+  ibool_superbrick(5,30) = 60
+  ibool_superbrick(6,30) = 59
+  ibool_superbrick(7,30) = 63
+  ibool_superbrick(8,30) = 64
+
+  ibool_superbrick(1,31) = 19
+  ibool_superbrick(2,31) = 13
+  ibool_superbrick(3,31) = 37
+  ibool_superbrick(4,31) = 38
+  ibool_superbrick(5,31) = 44
+  ibool_superbrick(6,31) = 55
+  ibool_superbrick(7,31) = 63
+  ibool_superbrick(8,31) = 59
+
+  ibool_superbrick(1,32) = 24
+  ibool_superbrick(2,32) = 57
+  ibool_superbrick(3,32) = 67
+  ibool_superbrick(4,32) = 42
+  ibool_superbrick(5,32) = 14
+  ibool_superbrick(6,32) = 56
+  ibool_superbrick(7,32) = 65
+  ibool_superbrick(8,32) = 36
+
+  end subroutine define_superbrick
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/define_superbrick.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/define_superbrick.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/define_superbrick.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,266 @@
+#! /usr/bin/perl
+
+use Data::Dumper;
+
+#<main>
+if (scalar(@ARGV) < 1)
+{     print "usage : $0 mesh2analyse.dx [NGLL]\n";
+      exit;
+}
+
+$filein = $ARGV[0];
+$NGLL = $ARGV[1] || 0;
+exit("file $filein does not exists") unless (-f $filein);
+
+$numnode=0;
+$nb_corners=8;
+# opendx numbering of cubes' faces
+my @faces_opendx = ([2,3,7,6], [0,2,6,4], [0,1,5,4], [1,3,7,5], [0,1,3,2], [4,5,7,6]);
+my @nodes;
+# read datas
+open (DF, "$filein");
+$phase=1;
+while(my $line=<DF>)
+{     chomp $line;
+      if ($line =~ m/^.*object\s+1.*\s+(\d+)\s+data\s+follows\s*$/)
+      {     $nbline = $1;
+            if($phase!=1)
+            {   print "error while reading data\n";
+                exit;
+            }
+            for (my $i=0;$i<$nbline;$i++)
+            {     my $line=<DF>;
+                  chomp($line);
+                  my @temp=split(/\s+/, $line);
+                  shift @temp if (scalar(@temp)>3);
+                  $nodes[$numnode] = \@temp;
+                  $numnode++;
+            }
+            $phase=2;
+      }
+      elsif ($line =~ m/^.*object\s+2.*\s+(\d+)\s+data\s+follows\s*$/)
+      {     $nbline = $1;
+            if($phase!=2)
+            {   print "error while reading data\n";
+                exit;
+            }
+            for (my $i=0;$i<$nbline;$i++)
+            {     my $line=<DF>;
+                  chomp($line);
+                  my @temp=split(/\s+/,$line);
+                  shift @temp if (scalar(@temp)>8);
+                  $hex[$numhex] = \@temp;
+                  $numhex++;
+            }
+            $phase=3;
+      }
+      else
+      {     if($phase!=3)
+            {   print "error while reading data\n";
+                exit;
+            }
+      }
+}
+close (DF);
+# dump datas into structure
+my @cubes;
+foreach $cube (@hex)
+{     my @corners;
+      foreach $corner (@{$cube})
+      {     my @coords = @{$nodes[$corner]};
+            push(@corners, \@coords);
+      }
+      push (@cubes, \@corners);
+}
+
+my $compt=0;
+foreach (@nodes)
+{   $compt++;
+    print "x_superbrick($compt) = ",$_->[0],"\n";
+    print "y_superbrick($compt) = ",$_->[1],"\n";
+    print "z_superbrick($compt) = ",$_->[2],"\n";
+    print "\n";
+}
+reord_points(\@cubes);
+my @bound = get_boundaries(\@cubes);
+my $compt_elem==0;
+print "iboun_sb(:,:) = .false.\n";
+foreach my $res (@bound)
+{	$compt_elem++;
+	my $compt_boun==0;
+	foreach (@$res)
+	{	$compt_boun++;
+		print "iboun_sb($compt_elem,$compt_boun) = .true.\n" if ($_ == 1);
+	}
+}
+exit;
+#</main>
+
+
+sub get_boundaries
+{	my $cubes = shift;
+	my $nb=0;
+	my @bound;
+	foreach $hex (@$cubes)
+	{	$nb++;
+		my $cur_cube_faces = get_cube_faces($hex);
+		my @res =get_pos_faces($cur_cube_faces);
+		push(@bound,\@res);
+	}
+	return @bound;
+}
+
+sub get_pos_faces
+{	my $faces = shift;
+	my ($xmin,$xmax,$ymin,$ymax,$bottom,$top) = (0,0,0,0,0,0);
+	foreach my $face (@$faces)
+	{	my ($moy_x,$moy_y,$moy_z) = analyse_face2($face);
+		$xmin=1 if ($moy_x == 0);
+		$xmax=1 if ($moy_x == 2);
+		$ymin=1 if ($moy_y == 0);
+		$ymax=1 if ($moy_y == 2);
+		$bottom=1 if ($moy_z == 0);
+		$top=1 if ($moy_z == 2);
+	}
+	return ($xmin,$xmax,$ymin,$ymax,$bottom,$top);
+}
+
+sub analyse_face2
+{   my $face = shift;
+    my $moy_x=0;
+    my $moy_y=0;
+    my $moy_z=0;
+    foreach my $corner (@$face)
+    {   $moy_x+=$corner->[0];
+        $moy_y+=$corner->[1];
+        $moy_z+=$corner->[2];
+    }
+    $moy_x/=4;
+    $moy_y/=4;
+    $moy_z/=4;
+    return ($moy_x,$moy_y,$moy_z);
+}
+
+
+sub reord_points
+{     my $cubes = shift;
+      my @conn_faces;
+      my $nb=0;
+      foreach $hex (@$cubes)
+      {     $nb++;
+            my $cur_cube_faces = get_cube_faces($hex);
+            my $facebas = get_bas($cur_cube_faces);
+            my $facehaut = get_haut($cur_cube_faces);
+            my @points_ord = get_ord ($facebas, $facehaut);
+            for (my $i=1;$i<9;$i++)
+            {   print "ibool_superbrick($i, $nb) = ",shift(@points_ord),"\n";
+            }
+            print "\n";
+      }
+      return
+}
+
+sub get_cube_faces
+{     my $hex = shift;
+      my @faces;
+      foreach my $face (@faces_opendx)
+      {     my @face_corners;
+            foreach (@$face)
+            {     push (@face_corners, $hex->[$_]);
+            }
+            push (@faces, \@face_corners);
+      }
+      return \@faces;
+}
+
+sub get_ord
+{   my ($faceb, $faceh) = @_;
+    my @bas = ordonne($faceb);
+    my @haut = ordonne($faceh);
+    my @ord = (@bas, at haut);
+    return @ord;
+}
+
+sub ordonne
+{   my $face = shift;
+    my @ord;
+    my $xmin = 1000;
+    my $xmax = -1000;
+    my $ymin = 1000;
+    my $ymax = -1000;
+    foreach my $corner (@$face)
+    {   $xmin = $corner->[0] if ($corner->[0] < $xmin);
+        $ymin = $corner->[1] if ($corner->[1] < $ymin);
+        $xmax = $corner->[0] if ($corner->[0] > $xmax);
+        $ymax = $corner->[1] if ($corner->[1] > $ymax);
+    }
+    foreach my $corner (@$face)
+    {   $ord[0] = get_num_point($corner) if ($corner->[0] == $xmin and $corner->[1] == $ymin);
+        $ord[1] = get_num_point($corner) if ($corner->[0] == $xmax and $corner->[1] == $ymin);
+        $ord[2] = get_num_point($corner) if ($corner->[0] == $xmax and $corner->[1] == $ymax);
+        $ord[3] = get_num_point($corner) if ($corner->[0] == $xmin and $corner->[1] == $ymax);
+    }
+    return @ord;
+}
+
+sub get_num_point
+{   my $point = shift;
+    my $x = $point->[0];
+    my $y = $point->[1];
+    my $z = $point->[2];
+    for (my $i=0;$i<$numnode;$i++)
+    {   return ($i+1) if ($x == $nodes[$i][0] and $y == $nodes[$i][1] and $z == $nodes[$i][2]);
+    }
+    print "point inconnu ! $x, $y, $z\n";
+    exit;
+}
+
+sub analyse_face
+{   my $face = shift;
+    my $vert=0;
+    my $moy_x=0;
+    my $moy_y=0;
+    my $moy_z=0;
+    foreach my $corner (@$face)
+    {   $moy_x+=$corner->[0];
+        $moy_y+=$corner->[1];
+        $moy_z+=$corner->[2];
+    }
+    $moy_x/=4;
+    $moy_y/=4;
+    $moy_z/=4;
+    $vert=1 if (($moy_x == $face->[0][0]) or ($moy_y == $face->[0][1]));
+    return ($moy_z,$vert)
+}
+
+sub get_bas
+{   my $faces = shift;
+    my $min_z = 1000;
+    my $numfacemin = 100;
+    my $cpt = 0;
+    foreach my $face (@$faces)
+    {   my ($moy_z, $vert) = analyse_face($face);
+        if (($moy_z < $min_z) or (($moy_z == $min_z) and (not $vert)))
+        {   $min_z = $moy_z;
+            $numfacemin = $cpt;
+        }
+        $cpt++;
+    }
+    return $faces->[$numfacemin];
+}
+
+sub get_haut
+{   my $faces = shift;
+    my $max_z = -1000;
+    my $numfacemax = 100;
+    my $cpt = 0;
+    foreach my $face (@$faces)
+    {   my ($moy_z, $vert) = analyse_face($face);
+        if (($moy_z > $max_z) or (($moy_z == $max_z) and (not $vert)))
+        {   $max_z = $moy_z;
+            $numfacemax = $cpt;
+        }
+        $cpt++;
+    }
+    return $faces->[$numfacemax];
+}
\ No newline at end of file


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/define_superbrick.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/dimitri_superbrick_without_duplicates_CUBIT.inp
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/dimitri_superbrick_without_duplicates_CUBIT.inp	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/dimitri_superbrick_without_duplicates_CUBIT.inp	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,103 @@
+*HEADING
+cubit(/home/user/pbasini/CUBIT/prova.inp): 02/18/2009: 14:36:21
+*NODE
+           1 ,   1.500000     ,   1.000000     ,   2.000000    
+           2 ,   1.500000     ,   1.000000     ,   1.500000    
+           3 ,   1.500000     ,   1.500000     ,   1.500000    
+           4 ,   1.500000     ,   1.500000     ,   2.000000    
+           5 ,   2.000000     ,   1.000000     ,   2.000000    
+           6 ,   2.000000     ,   1.000000     ,   1.000000    
+           7 ,   2.000000     ,   1.500000     ,   1.000000    
+           8 ,   2.000000     ,   1.500000     ,   2.000000    
+           9 ,   1.500000     ,   2.000000     ,   1.000000    
+          10 ,   1.500000     ,   2.000000     ,   2.000000    
+          11 ,   2.000000     ,   2.000000     ,  0.5000000    
+          12 ,   2.000000     ,   2.000000     ,   2.000000    
+          13 ,   1.000000     ,   1.000000     ,   1.000000    
+          14 ,   1.000000     ,   1.000000     ,  0.5000000    
+          15 ,   1.000000     ,   2.000000     ,  0.5000000    
+          16 ,   1.000000     ,   2.000000     ,   1.000000    
+          17 ,   1.500000     ,   1.000000     ,   1.000000    
+          18 ,   2.000000     ,   1.000000     ,  0.5000000    
+          19 ,   1.000000     ,   1.000000     ,   1.500000    
+          20 ,   1.000000     ,   1.000000     ,   2.000000    
+          21 ,   1.000000     ,   1.500000     ,   1.500000    
+          22 ,   1.000000     ,   1.500000     ,   2.000000    
+          23 ,   1.000000     ,   2.000000     ,   2.000000    
+          24 ,   1.000000     ,   1.000000     ,  0.0000000E+00
+          25 ,   2.000000     ,   1.000000     ,  0.0000000E+00
+          26 ,   2.000000     ,   2.000000     ,  0.0000000E+00
+          27 ,   1.000000     ,   2.000000     ,  0.0000000E+00
+          28 ,   1.500000     ,  0.5000000     ,   1.500000    
+          29 ,   1.500000     ,  0.5000000     ,   2.000000    
+          30 ,   2.000000     ,  0.5000000     ,   1.000000    
+          31 ,   2.000000     ,  0.5000000     ,   2.000000    
+          32 ,   1.500000     ,  0.0000000E+00 ,   1.000000    
+          33 ,   1.500000     ,  0.0000000E+00 ,   2.000000    
+          34 ,   2.000000     ,  0.0000000E+00 ,  0.5000000    
+          35 ,   2.000000     ,  0.0000000E+00 ,   2.000000    
+          36 ,   1.000000     ,  0.0000000E+00 ,  0.5000000    
+          37 ,   1.000000     ,  0.0000000E+00 ,   1.000000    
+          38 ,   1.000000     ,  0.5000000     ,   1.500000    
+          39 ,   1.000000     ,  0.5000000     ,   2.000000    
+          40 ,   1.000000     ,  0.0000000E+00 ,   2.000000    
+          41 ,   2.000000     ,  0.0000000E+00 ,  0.0000000E+00
+          42 ,   1.000000     ,  0.0000000E+00 ,  0.0000000E+00
+          43 ,  0.5000000     ,   1.000000     ,   2.000000    
+          44 ,  0.5000000     ,   1.000000     ,   1.500000    
+          45 ,  0.5000000     ,   1.500000     ,   1.500000    
+          46 ,  0.5000000     ,   1.500000     ,   2.000000    
+          47 ,  0.0000000E+00 ,   1.000000     ,   2.000000    
+          48 ,  0.0000000E+00 ,   1.000000     ,   1.000000    
+          49 ,  0.0000000E+00 ,   1.500000     ,   1.000000    
+          50 ,  0.0000000E+00 ,   1.500000     ,   2.000000    
+          51 ,  0.5000000     ,   2.000000     ,   1.000000    
+          52 ,  0.5000000     ,   2.000000     ,   2.000000    
+          53 ,  0.0000000E+00 ,   2.000000     ,  0.5000000    
+          54 ,  0.0000000E+00 ,   2.000000     ,   2.000000    
+          55 ,  0.5000000     ,   1.000000     ,   1.000000    
+          56 ,  0.0000000E+00 ,   1.000000     ,  0.5000000    
+          57 ,  0.0000000E+00 ,   1.000000     ,  0.0000000E+00
+          58 ,  0.0000000E+00 ,   2.000000     ,  0.0000000E+00
+          59 ,  0.5000000     ,  0.5000000     ,   1.500000    
+          60 ,  0.5000000     ,  0.5000000     ,   2.000000    
+          61 ,  0.0000000E+00 ,  0.5000000     ,   1.000000    
+          62 ,  0.0000000E+00 ,  0.5000000     ,   2.000000    
+          63 ,  0.5000000     ,  0.0000000E+00 ,   1.000000    
+          64 ,  0.5000000     ,  0.0000000E+00 ,   2.000000    
+          65 ,  0.0000000E+00 ,  0.0000000E+00 ,  0.5000000    
+          66 ,  0.0000000E+00 ,  0.0000000E+00 ,   2.000000    
+          67 ,  0.0000000E+00 ,  0.0000000E+00 ,  0.0000000E+00
+*ELEMENT, TYPE=C3D8R, ELSET=EB1
+   1,   1,   2,   3,   4,   5,   6,   7,   8
+   2,   4,   3,   9,  10,   8,   7,  11,  12
+   3,  13,  14,  15,  16,  17,  18,  11,   9
+   4,  20,  19,  21,  22,   1,   2,   3,   4
+   5,   2,  17,   9,   3,   6,  18,  11,   7
+   6,  22,  21,  16,  23,   4,   3,   9,  10
+   7,  19,  13,  16,  21,   2,  17,   9,   3
+   8,  24,  25,  26,  27,  14,  18,  11,  15
+   9,   1,   2,  28,  29,   5,   6,  30,  31
+  10,  29,  28,  32,  33,  31,  30,  34,  35
+  11,  13,  14,  36,  37,  17,  18,  34,  32
+  12,  20,  19,  38,  39,   1,   2,  28,  29
+  13,   2,  17,  32,  28,   6,  18,  34,  30
+  14,  39,  38,  37,  40,  29,  28,  32,  33
+  15,  19,  13,  37,  38,   2,  17,  32,  28
+  16,  24,  25,  41,  42,  14,  18,  34,  36
+  17,  43,  44,  45,  46,  47,  48,  49,  50
+  18,  46,  45,  51,  52,  50,  49,  53,  54
+  19,  13,  14,  15,  16,  55,  56,  53,  51
+  20,  20,  19,  21,  22,  43,  44,  45,  46
+  21,  44,  55,  51,  45,  48,  56,  53,  49
+  22,  22,  21,  16,  23,  46,  45,  51,  52
+  23,  19,  13,  16,  21,  44,  55,  51,  45
+  24,  24,  57,  58,  27,  14,  56,  53,  15
+  25,  43,  44,  59,  60,  47,  48,  61,  62
+  26,  60,  59,  63,  64,  62,  61,  65,  66
+  27,  13,  14,  36,  37,  55,  56,  65,  63
+  28,  20,  19,  38,  39,  43,  44,  59,  60
+  29,  44,  55,  63,  59,  48,  56,  65,  61
+  30,  39,  38,  37,  40,  60,  59,  63,  64
+  31,  19,  13,  37,  38,  44,  55,  63,  59
+  32,  24,  57,  67,  42,  14,  56,  65,  36

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/dimitri_superbrick_without_duplicates_OpenDX.dx
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/dimitri_superbrick_without_duplicates_OpenDX.dx	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/dimitri_superbrick_without_duplicates_OpenDX.dx	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,142 @@
+ object 1 class array type float rank 1 shape 3 items           67  data follows
+   1.500000       1.000000       2.000000    
+   1.500000       1.000000       1.500000    
+   1.500000       1.500000       1.500000    
+   1.500000       1.500000       2.000000    
+   2.000000       1.000000       2.000000    
+   2.000000       1.000000       1.000000    
+   2.000000       1.500000       1.000000    
+   2.000000       1.500000       2.000000    
+   1.500000       2.000000       1.000000    
+   1.500000       2.000000       2.000000    
+   2.000000       2.000000      0.5000000    
+   2.000000       2.000000       2.000000    
+   1.000000       1.000000       1.000000    
+   1.000000       1.000000      0.5000000    
+   1.000000       2.000000      0.5000000    
+   1.000000       2.000000       1.000000    
+   1.500000       1.000000       1.000000    
+   2.000000       1.000000      0.5000000    
+   1.000000       1.000000       1.500000    
+   1.000000       1.000000       2.000000    
+   1.000000       1.500000       1.500000    
+   1.000000       1.500000       2.000000    
+   1.000000       2.000000       2.000000    
+   1.000000       1.000000       0.000000    
+   2.000000       1.000000       0.000000    
+   2.000000       2.000000       0.000000    
+   1.000000       2.000000       0.000000    
+   1.500000      0.5000000       1.500000    
+   1.500000      0.5000000       2.000000    
+   2.000000      0.5000000       1.000000    
+   2.000000      0.5000000       2.000000    
+   1.500000       0.000000       1.000000    
+   1.500000       0.000000       2.000000    
+   2.000000       0.000000      0.5000000    
+   2.000000       0.000000       2.000000    
+   1.000000       0.000000      0.5000000    
+   1.000000       0.000000       1.000000    
+   1.000000      0.5000000       1.500000    
+   1.000000      0.5000000       2.000000    
+   1.000000       0.000000       2.000000    
+   2.000000       0.000000       0.000000    
+   1.000000       0.000000       0.000000    
+  0.5000000       1.000000       2.000000    
+  0.5000000       1.000000       1.500000    
+  0.5000000       1.500000       1.500000    
+  0.5000000       1.500000       2.000000    
+   0.000000       1.000000       2.000000    
+   0.000000       1.000000       1.000000    
+   0.000000       1.500000       1.000000    
+   0.000000       1.500000       2.000000    
+  0.5000000       2.000000       1.000000    
+  0.5000000       2.000000       2.000000    
+   0.000000       2.000000      0.5000000    
+   0.000000       2.000000       2.000000    
+  0.5000000       1.000000       1.000000    
+   0.000000       1.000000      0.5000000    
+   0.000000       1.000000       0.000000    
+   0.000000       2.000000       0.000000    
+  0.5000000      0.5000000       1.500000    
+  0.5000000      0.5000000       2.000000    
+   0.000000      0.5000000       1.000000    
+   0.000000      0.5000000       2.000000    
+  0.5000000       0.000000       1.000000    
+  0.5000000       0.000000       2.000000    
+   0.000000       0.000000      0.5000000    
+   0.000000       0.000000       2.000000    
+   0.000000       0.000000       0.000000    
+ object 2 class array type int rank 1 shape 8 items           32  data follows
+     3      0      7      4      2      1      6      5
+     9      3     11      7      8      2     10      6
+    15     12      8     16     14     13     10     17
+    21     19      3      0     20     18      2      1
+     2      1      6      5      8     16     10     17
+    22     21      9      3     15     20      8      2
+    20     18      2      1     15     12      8     16
+    26     23     14     13     25     24     10     17
+    28      0     30      4     27      1     29      5
+    32     28     34     30     31     27     33     29
+    36     12     31     16     35     13     33     17
+    38     19     28      0     37     18     27      1
+    27      1     29      5     31     16     33     17
+    39     38     32     28     36     37     31     27
+    37     18     27      1     36     12     31     16
+    41     23     35     13     40     24     33     17
+    45     42     49     46     44     43     48     47
+    51     45     53     49     50     44     52     48
+    15     12     50     54     14     13     52     55
+    21     19     45     42     20     18     44     43
+    44     43     48     47     50     54     52     55
+    22     21     51     45     15     20     50     44
+    20     18     44     43     15     12     50     54
+    26     23     14     13     57     56     52     55
+    59     42     61     46     58     43     60     47
+    63     59     65     61     62     58     64     60
+    36     12     62     54     35     13     64     55
+    38     19     59     42     37     18     58     43
+    58     43     60     47     62     54     64     55
+    39     38     63     59     36     37     62     58
+    37     18     58     43     36     12     62     54
+    41     23     35     13     66     56     64     55
+ attribute "element type" string "cubes"
+ attribute "ref" string "positions"
+ object 3 class array type float rank 0 items           32  data follows
+           1
+           2
+           3
+           4
+           5
+           6
+           7
+           8
+           9
+          10
+          11
+          12
+          13
+          14
+          15
+          16
+          17
+          18
+          19
+          20
+          21
+          22
+          23
+          24
+          25
+          26
+          27
+          28
+          29
+          30
+          31
+          32
+ attribute "dep" string "connections"
+ object "irregular positions irregular connections" class field
+ component "positions" value 1
+ component "connections" value 2
+ component "data" value 3
+ end

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/display_prem_sampling_doubling_full_2D.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/display_prem_sampling_doubling_full_2D.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/display_prem_sampling_doubling_full_2D.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,1232 @@
+!=====================================================================
+!
+!          S p e c f e m 3 D  G l o b e  V e r s i o n  3 . 7
+!          --------------------------------------------------
+!
+!                 Dimitri Komatitsch and Jeroen Tromp
+!    Seismological Laboratory - California Institute of Technology
+!          (c) California Institute of Technology January 2007
+!
+! This program is free software; you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation; either version 2 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License along
+! with this program; if not, write to the Free Software Foundation, Inc.,
+! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+!
+!=====================================================================
+
+  program display_prem_sampling_doubling
+
+  implicit none
+
+  include "constants_modified_2D.h"
+
+! honor PREM Moho or not
+! doing so drastically reduces the stability condition and therefore the time step
+  logical, parameter :: HONOR_1D_SPHERICAL_MOHO = .false.
+
+! resolution target for minimum number of points per S wavelength in the whole mesh
+  double precision, parameter :: RESOLUTION_TARGET = 4.d0
+
+! for outer core, in which there is no S wave velocity, use P velocity potential with a margin to be safe
+  double precision, parameter :: MARGIN_SAFE = 1.25d0
+
+  integer :: NEX,NEX_XI
+
+  integer :: NER_220_CRUST, NER_400_220, NER_600_400, NER_670_600, NER_771_670, &
+    NER_TOPDDOUBLEPRIME_771, NER_CMB_TOPDDOUBLEPRIME, NER_OUTER_CORE, NER_TOP_CENTRAL_CUBE_ICB
+
+  double precision :: DT
+
+  integer, dimension(NUMBER_OF_MESH_LAYERS) :: ner,ratio_sampling_array
+  double precision, dimension(NUMBER_OF_MESH_LAYERS) :: r_bottom,r_top
+  logical, dimension(NUMBER_OF_MESH_LAYERS) :: this_region_has_a_doubling
+  integer number_basic_elems_horizontal,ner_without_doubling
+
+! small offset to avoid being exactly on an interface
+  double precision, parameter :: SMALL_OFFSET = 200.d0
+
+  double precision, parameter :: R_CENTRAL_CUBE = RICB - 150000.d0
+
+  integer ilayer,ipoin,ielem
+
+  double precision :: r,r_next,rho,vp,vs,ratio_sampling,spectral_element_size, &
+               average_mesh_point_size,num_points_per_lambda_S,stability,period_min,gamma, &
+               ratio_sampling_new,vp_new,vs_new,r_gnuplot
+
+!!!!!! DK DK exclude center of inner core to avoid division by zero
+!!!!!! DK DK we have: 1000 * 1200/6371 = 188.35347
+!!!!!! DK DK therefore the central cube ends around i = 188
+!!!!!! DK DK  do i=1,1000
+  integer, parameter :: NINIT = 140
+
+! mesh chunk has a size of 90 x 90 degrees
+  double precision, parameter :: ANGULAR_WIDTH_XI_IN_DEGREES = 90.d0
+  double precision, parameter :: ANGULAR_WIDTH_XI_RAD = ANGULAR_WIDTH_XI_IN_DEGREES * PI / 180.d0
+
+  integer ix,ir
+  integer ix_elem,ir_elem
+
+! number of nodes of an OpenDX element
+  integer, parameter :: NGNOD_OPENDX = 4
+
+! topology of the elements
+  integer, dimension(NGNOD_OPENDX) :: iaddx,iaddr
+
+  integer :: ispec,ispec_final,nspec,npoin,ioffset,ignod,ignod2
+  double precision, dimension(NGNOD_OPENDX) :: xelm,zelm
+  double precision :: xval,zval,rval
+
+! list of corners defining the edges
+  integer, parameter :: NEDGES = 4
+  integer, dimension(NEDGES,2) :: list_corners_edge
+  integer iedge
+
+  integer :: elem_doubling_mantle,elem_doubling_middle_outer_core,elem_doubling_bottom_outer_core
+  double precision :: DEPTH_SECOND_DOUBLING_REAL,DEPTH_THIRD_DOUBLING_REAL, &
+                          DEPTH_FOURTH_DOUBLING_REAL,distance,distance_min,distance_max
+
+! mesh doubling superbrick
+  integer, dimension(NGNOD_DOUBLING_SUPERBRICK,NSPEC_DOUBLING_SUPERBRICK) :: ibool_superbrick
+  double precision, dimension(NGLOB_DOUBLING_SUPERBRICK) :: x_superbrick,z_superbrick
+
+! for the stability condition
+! maximum polynomial degree for which we can compute the stability condition
+  integer, parameter :: NGLLX_MAX_STABILITY = 15
+  double precision :: percent_GLL(NGLLX_MAX_STABILITY)
+
+! allocate arrays to store Courant stability value and mesh resolution for S waves
+  integer, parameter :: NSPEC_WORST_ELEMENTS = 50
+  integer, dimension(NSPEC_WORST_ELEMENTS) :: ispec_worst_elements_stability,ispec_worst_elements_sampling
+  integer, dimension(:), allocatable :: color
+  double precision, dimension(:), allocatable :: courant_stability_number, &
+      copy_courant_stability_number,number_points_S_wavelength,copy_number_points_S_wavelength
+
+! number of different cases to study
+  integer, parameter :: NUM_CASES = 9
+  integer, dimension(NUM_CASES) :: NEX_val
+  integer icase
+
+! variable file name for output files
+  character(len=150) filename
+
+! remove old files
+  call system('rm -f DX_fullmesh*.dx DX_worst*.dx prem_horizontal_sampling_*.dat prem_radial_sampling*.dat')
+
+! case of multiples of 16
+  NEX_val(1) = 160
+  NEX_val(2) = 128
+  NEX_val(3) = 320
+  NEX_val(4) = 480
+  NEX_val(5) = 512
+  NEX_val(6) = 640
+  NEX_val(7) = 864
+  NEX_val(8) = 1152
+  NEX_val(9) = 1248
+
+! loop on all the cases to study
+!!!!!!!!!!!! DK DK only one case    do icase = 1,NUM_CASES
+  do icase = 2,2
+
+! define value of NEX for this case
+  NEX = NEX_val(icase)
+
+  NEX_XI = NEX
+
+! check that mesh can be coarsened in depth three times (block size must be a multiple of 16)
+  if(mod(NEX_XI,16) /= 0) stop 'NEX_XI must be a multiple of 16'
+
+  print *,'-----------------------------------------'
+  print *
+  print *,'NEX used = ',NEX
+  print *
+
+! period min for    4.000000 points per lambda S min in horizontal direction =    17.11689
+! element width =   0.3515625      degrees =    39.09196      km
+  if(NEX == 128) then
+    DT                       = 0.20d0 * 0.30d0 / 0.2565
+! stability max = approximately 0.2565
+    NER_220_CRUST            = 4
+    NER_400_220              = 3
+    NER_600_400              = 3
+    NER_670_600              = 1
+    NER_771_670              = 1
+    NER_TOPDDOUBLEPRIME_771  = 22
+    NER_CMB_TOPDDOUBLEPRIME  = 2
+    NER_OUTER_CORE           = 24
+    NER_TOP_CENTRAL_CUBE_ICB = 2
+
+! period min for 4.000000 points per lambda S min in horizontal direction =    13.69351
+! element width =   0.2812500      degrees =    31.27357      km
+  else if(NEX == 320) then
+    DT                       = 0.125d0 * 0.30d0 / 0.2429
+! stability max = approximately 0.2429
+    NER_220_CRUST            = 2
+    NER_400_220              = 4
+    NER_600_400              = 4
+    NER_670_600              = 1
+    NER_771_670              = 2
+    NER_TOPDDOUBLEPRIME_771  = 29
+    NER_CMB_TOPDDOUBLEPRIME  = 2
+    NER_OUTER_CORE           = 32
+    NER_TOP_CENTRAL_CUBE_ICB = 2
+
+! period min for 4.000000 points per lambda S min in horizontal direction =    9.129005
+! element width =   0.1875000      degrees =    20.84905      km
+  else if(NEX == 480) then
+    DT                       = 0.125d0 * 0.30d0 / 0.3235
+! stability max = approximately 0.3235
+    NER_220_CRUST            = 3
+    NER_400_220              = 5
+    NER_600_400              = 6
+    NER_670_600              = 2
+    NER_771_670              = 2
+    NER_TOPDDOUBLEPRIME_771  = 44
+    NER_CMB_TOPDDOUBLEPRIME  = 3
+    NER_OUTER_CORE           = 48
+    NER_TOP_CENTRAL_CUBE_ICB = 3
+
+! period min for 4.000000 points per lambda S min in horizontal direction =    8.558443
+! element width =   0.1757812      degrees =    19.54598      km
+  else if(NEX == 512) then
+    DT                       = 0.125d0 * 0.30d0 / 0.3235
+! stability max = approximately 0.3235
+    NER_220_CRUST            = 4
+    NER_400_220              = 6
+    NER_600_400              = 6
+    NER_670_600              = 2
+    NER_771_670              = 3
+    NER_TOPDDOUBLEPRIME_771  = 47
+    NER_CMB_TOPDDOUBLEPRIME  = 3
+    NER_OUTER_CORE           = 51
+    NER_TOP_CENTRAL_CUBE_ICB = 3
+
+! period min for 4.000000 points per lambda S min in horizontal direction =    6.846754
+! element width =   0.1406250      degrees =    15.63679      km
+  else if(NEX == 640) then
+    DT                       = 0.125d0 * 0.30d0 / 0.4067
+! stability max = approximately 0.4067
+    NER_220_CRUST            = 4
+    NER_400_220              = 7
+    NER_600_400              = 8
+    NER_670_600              = 3
+    NER_771_670              = 3
+    NER_TOPDDOUBLEPRIME_771  = 59
+    NER_CMB_TOPDDOUBLEPRIME  = 4
+    NER_OUTER_CORE           = 64
+    NER_TOP_CENTRAL_CUBE_ICB = 4
+
+! period min for 4.000000 points per lambda S min in horizontal direction =    5.071670
+! element width =   0.1041667      degrees =    11.58280      km
+  else if(NEX == 864) then
+    DT                       = 0.0555555555d0 * 0.30d0 / 0.2565
+! stability max = approximately 0.2565
+    NER_220_CRUST            = 6
+    NER_400_220              = 10
+    NER_600_400              = 10
+    NER_670_600              = 3
+    NER_771_670              = 4
+    NER_TOPDDOUBLEPRIME_771  = 79
+    NER_CMB_TOPDDOUBLEPRIME  = 5
+    NER_OUTER_CORE           = 86
+    NER_TOP_CENTRAL_CUBE_ICB = 6
+
+! period min for 4.000000 points per lambda S min in horizontal direction =    3.803752
+! element width =   7.8125000E-02  degrees =    8.687103      km
+  else if(NEX == 1152) then
+    DT                       = 0.0555555555d0 * 0.30d0 / 0.3504
+! stability max = approximately 0.3504
+    NER_220_CRUST            = 8
+    NER_400_220              = 13
+    NER_600_400              = 13
+    NER_670_600              = 4
+    NER_771_670              = 6
+    NER_TOPDDOUBLEPRIME_771  = 106
+    NER_CMB_TOPDDOUBLEPRIME  = 7
+    NER_OUTER_CORE           = 116
+    NER_TOP_CENTRAL_CUBE_ICB = 6
+
+! period min for 4.000000 points per lambda S min in horizontal direction =    3.511156
+! element width =   7.2115384E-02  degrees =    8.018865      km
+  else if(NEX == 1248) then
+    DT                       = 0.05d0 * 0.30d0 / 0.3318
+! stability max = approximately 0.3318
+    NER_220_CRUST            = 8
+    NER_400_220              = 14
+    NER_600_400              = 14
+    NER_670_600              = 5
+    NER_771_670              = 6
+    NER_TOPDDOUBLEPRIME_771  = 114
+    NER_CMB_TOPDDOUBLEPRIME  = 8
+    NER_OUTER_CORE           = 124
+    NER_TOP_CENTRAL_CUBE_ICB = 7
+
+  else
+    stop 'incorrect value of NEX, should use an updated version of auto_NER'
+  endif
+
+!! DK DK UGLY
+  print *,'DT computed for Courant number of 0.30 = ',DT
+  print *
+
+!
+!--- display the PREM model alone
+!
+  open(unit=27,file='prem_model.dat',status='unknown')
+  do ipoin = 2,1000
+    r = R_EARTH * dble(ipoin)/1000.d0
+    call prem_iso(r,rho,vp,vs,ratio_sampling)
+    write(27,*) sngl((R_EARTH-r)/1000.d0),sngl(vp),sngl(vs)
+  enddo
+  close(27)
+
+!---------------------------------------------------
+!--- mesh resolution in the horizontal direction
+!---------------------------------------------------
+
+! estimate of mesh resolution: minimum resolution is for S waves right below the second doubling
+  r = R_EARTH - DEPTH_SECOND_DOUBLING_OPTIMAL - SMALL_OFFSET ! in meters
+  call prem_iso(r,rho,vp,vs,ratio_sampling)
+  period_min = RESOLUTION_TARGET / (vs * (NGLLX - 1) * (4 * NEX / ratio_sampling) / (2.d0 * PI * r))
+
+  print *
+  print *,'! period min for ',sngl(RESOLUTION_TARGET),' points per lambda S min in horizontal direction = ',sngl(period_min)
+  print *
+  print *,'! element width = ',sngl(360.d0 / (4*NEX)),' degrees = ',sngl(2 * PI * R_EARTH / (4*NEX*1000.d0)),' km'
+  print *
+
+! define percentage of smallest distance between GLL points for NGLLX points
+! percentages were computed by calling the GLL points routine for each degree
+  percent_GLL(2) = 100.d0
+  percent_GLL(3) = 50.d0
+  percent_GLL(4) = 27.639320225002102d0
+  percent_GLL(5) = 17.267316464601141d0
+  percent_GLL(6) = 11.747233803526763d0
+  percent_GLL(7) = 8.4888051860716516d0
+  percent_GLL(8) = 6.4129925745196719d0
+  percent_GLL(9) = 5.0121002294269914d0
+  percent_GLL(10) = 4.0233045916770571d0
+  percent_GLL(11) = 3.2999284795970416d0
+  percent_GLL(12) = 2.7550363888558858d0
+  percent_GLL(13) = 2.3345076678918053d0
+  percent_GLL(14) = 2.0032477366369594d0
+  percent_GLL(15) = 1.7377036748080721d0
+
+! convert to real percentage
+  percent_GLL(:) = percent_GLL(:) / 100.d0
+
+  if(NGLLX > NGLLX_MAX_STABILITY) stop 'cannot estimate the stability condition for that degree'
+
+! list of corners defining the edges
+! the edge number is sorted according to the numbering convention defined in file hex_nodes.f90
+! as well as in DATA/util/YYYYYYYYYYYYYYYYYYYYYYYYYYY DK DK UGLY YYYYYYYYYYYYYYYYYYY
+
+  list_corners_edge( 1,1) = 1
+  list_corners_edge( 1,2) = 2
+
+  list_corners_edge( 2,1) = 2
+  list_corners_edge( 2,2) = 3
+
+  list_corners_edge( 3,1) = 3
+  list_corners_edge( 3,2) = 4
+
+  list_corners_edge( 4,1) = 4
+  list_corners_edge( 4,2) = 1
+
+  write(filename,"('prem_horizontal_sampling_',i4.4,'.dat')") NEX
+  open(unit=27,file=filename,status='unknown')
+
+  do ipoin = NINIT,1000
+
+  r = R_EARTH * dble(ipoin)/1000.d0
+
+  call prem_iso(r,rho,vp,vs,ratio_sampling)
+! for outer core, in which there is no S wave velocity, use P velocity potential with a margin to be safe
+  if(vs < 0.001d0) vs = vp / MARGIN_SAFE
+
+! compute mesh size in the horizontal direction at that depth
+  spectral_element_size = (2.d0 * PI * r) / (4 * NEX / ratio_sampling)
+  average_mesh_point_size = spectral_element_size / (NGLLX - 1)
+
+! compute number of elements per wavelength at that depth
+  num_points_per_lambda_S = period_min * vs / average_mesh_point_size
+
+! compute stability condition (Courant number)
+  stability = vp * DT / (spectral_element_size * percent_GLL(NGLLX))
+
+  r_gnuplot = (R_EARTH-r)/1000.d0
+  write(27,*) sngl(r_gnuplot),sngl(num_points_per_lambda_S * vp/vs),sngl(num_points_per_lambda_S),sngl(stability)
+
+  enddo
+
+  close(27)
+
+!------------------------------------------------
+!--- mesh resolution in the radial direction
+!------------------------------------------------
+
+  ner(1) = NER_220_CRUST
+  ner(2) = NER_400_220
+  ner(3) = NER_600_400
+  ner(4) = NER_670_600
+  ner(5) = NER_771_670
+  ner(6) = NER_TOPDDOUBLEPRIME_771
+  ner(7) = NER_CMB_TOPDDOUBLEPRIME
+  ner(8) = NER_OUTER_CORE
+  ner(9) = NER_TOP_CENTRAL_CUBE_ICB
+
+! define the top and bottom radii of all the regions of the mesh in the radial direction
+! the first region is the crust at the surface of the Earth
+! the last region is in the inner core near the center of the Earth
+  r_top(1) = R_EARTH
+  r_bottom(1) = R220
+
+  r_top(2) = R220
+  r_bottom(2) = R400
+
+  r_top(3) = R400
+  r_bottom(3) = R600
+
+  r_top(4) = R600
+  r_bottom(4) = R670
+
+  r_top(5) = R670
+  r_bottom(5) = R771
+
+  r_top(6) = R771
+  r_bottom(6) = RTOPDDOUBLEPRIME
+
+  r_top(7) = RTOPDDOUBLEPRIME
+  r_bottom(7) = RCMB
+
+  r_top(8) = RCMB
+  r_bottom(8) = RICB
+
+  r_top(9) = RICB
+  r_bottom(9) = R_CENTRAL_CUBE
+
+  write(filename,"('prem_radial_sampling_',i4.4,'.dat')") NEX
+  open(unit=27,file=filename,status='unknown')
+
+! loop on the layers, start from the last one to go from Earth center to surface
+  do ilayer = NB_LAYERS_SAMPLING_STUDY,1,-1
+
+! loop on all the elements in this layer
+  do ielem = 1,ner(ilayer)
+
+! compute at the bottom of the layer
+  ipoin = ielem - 1
+  gamma =  dble(ipoin) / dble(ner(ilayer))
+  r = r_bottom(ilayer) * (ONE - gamma) + r_top(ilayer) * gamma
+
+! define next point at the top of the layer
+  ipoin = ielem - 1 + 1
+  gamma =  dble(ipoin) / dble(ner(ilayer))
+  r_next = r_bottom(ilayer) * (ONE - gamma) + r_top(ilayer) * gamma
+
+! add security margin to avoid being exactly on an interface
+  r = r + SMALL_OFFSET
+  r_next = r_next - SMALL_OFFSET
+
+! compute mesh size in the horizontal direction at that depth
+  spectral_element_size = r_next - r
+  average_mesh_point_size = spectral_element_size / (NGLLX - 1)
+
+  call prem_iso(r,rho,vp,vs,ratio_sampling)
+! for outer core, in which there is no S wave velocity, use P velocity potential with a margin to be safe
+  if(vs < 0.001d0) vs = vp / MARGIN_SAFE
+
+! compute number of elements per wavelength at that depth
+  num_points_per_lambda_S = period_min * vs / average_mesh_point_size
+
+! compute stability condition (Courant number)
+  stability = vp * DT / (spectral_element_size * percent_GLL(NGLLX))
+
+!!!!!! DK DK quick hack to detect doublings and show problems with small doubling brick
+  call prem_iso(r_next,rho,vp_new,vs_new,ratio_sampling_new)
+  if(ratio_sampling_new < ratio_sampling) stability = stability * 3.d0 / 2.d0
+!!!!!! DK DK quick hack to detect doublings and show problems with small doubling brick
+
+  r_gnuplot = (R_EARTH-r)/1000.d0
+  write(27,*) sngl(r_gnuplot),sngl(num_points_per_lambda_S * vp/vs),sngl(num_points_per_lambda_S),sngl(stability)
+
+! add one more point at the top of the last layer
+  if(ielem == ner(ilayer)) then
+    call prem_iso(r_next,rho,vp,vs,ratio_sampling)
+! for outer core, in which there is no S wave velocity, use P velocity potential with a margin to be safe
+    if(vs < 0.001d0) vs = vp / MARGIN_SAFE
+
+! compute number of elements per wavelength at that depth
+    num_points_per_lambda_S = period_min * vs / average_mesh_point_size
+
+! compute stability condition (Courant number)
+    stability = vp * DT / (spectral_element_size * percent_GLL(NGLLX))
+
+    r_gnuplot = (R_EARTH-r_next)/1000.d0
+    write(27,*) sngl(r_gnuplot),sngl(num_points_per_lambda_S * vp/vs),sngl(num_points_per_lambda_S),sngl(stability)
+
+  endif
+
+  enddo
+
+  enddo
+
+  close(27)
+
+!---------------------------------------------------------------
+
+! find element below top of which we should implement the second doubling in the mantle
+! locate element closest to optimal value
+  distance_min = HUGEVAL
+  do ielem = 1,NER_TOPDDOUBLEPRIME_771
+    zval = RTOPDDOUBLEPRIME + ielem * (R771 - RTOPDDOUBLEPRIME) / dble(NER_TOPDDOUBLEPRIME_771)
+    distance = abs(zval - (R_EARTH - DEPTH_SECOND_DOUBLING_OPTIMAL))
+    if(distance < distance_min) then
+      elem_doubling_mantle = ielem
+      distance_min = distance
+      DEPTH_SECOND_DOUBLING_REAL = R_EARTH - zval
+    endif
+  enddo
+  print *,'for second doubling, selected element ',elem_doubling_mantle,' at depth ', &
+              DEPTH_SECOND_DOUBLING_REAL,' and distance ',distance_min,' from optimal depth'
+  print *
+
+! find element below top of which we should implement the third doubling in the middle of the outer core
+! locate element closest to optimal value
+  distance_min = HUGEVAL
+! start at element number 2 because we need at least one element below for the fourth doubling
+! implemented at the bottom of the outer core
+  do ielem = 2,NER_OUTER_CORE
+    zval = RICB + ielem * (RCMB - RICB) / dble(NER_OUTER_CORE)
+    distance = abs(zval - (R_EARTH - DEPTH_THIRD_DOUBLING_OPTIMAL))
+    if(distance < distance_min) then
+      elem_doubling_middle_outer_core = ielem
+      distance_min = distance
+      DEPTH_THIRD_DOUBLING_REAL = R_EARTH - zval
+    endif
+  enddo
+  print *,'for third doubling, selected element ',elem_doubling_middle_outer_core,' at depth ', &
+              DEPTH_THIRD_DOUBLING_REAL,' and distance ',distance_min,' from optimal depth'
+  print *
+
+! find element below top of which we should implement the fourth doubling in the middle of the outer core
+! locate element closest to optimal value
+  distance_min = HUGEVAL
+! stop one element before the top because we need at least one element above for the third doubling
+! implemented in the middle of the outer core
+  do ielem = 1,NER_OUTER_CORE-1
+    zval = RICB + ielem * (RCMB - RICB) / dble(NER_OUTER_CORE)
+    distance = abs(zval - (R_EARTH - DEPTH_FOURTH_DOUBLING_OPTIMAL))
+    if(distance < distance_min) then
+      elem_doubling_bottom_outer_core = ielem
+      distance_min = distance
+      DEPTH_FOURTH_DOUBLING_REAL = R_EARTH - zval
+    endif
+  enddo
+  print *,'for fourth doubling, selected element ',elem_doubling_bottom_outer_core,' at depth ', &
+              DEPTH_FOURTH_DOUBLING_REAL,' and distance ',distance_min,' from optimal depth'
+  print *
+
+! make sure that the two doublings in the outer core are found in the right order
+  if(elem_doubling_bottom_outer_core >= elem_doubling_middle_outer_core) &
+                  stop 'error in location of the two doublings in the outer core'
+
+! define all the layers for the mesh
+  ner( 1) = NER_220_CRUST
+  ner( 2) = NER_400_220
+  ner( 3) = NER_600_400
+  ner( 4) = NER_670_600
+  ner( 5) = NER_771_670
+  ner( 6) = NER_TOPDDOUBLEPRIME_771 - elem_doubling_mantle
+  ner( 7) = elem_doubling_mantle
+  ner( 8) = NER_CMB_TOPDDOUBLEPRIME
+  ner( 9) = NER_OUTER_CORE - elem_doubling_middle_outer_core
+  ner(10) = elem_doubling_middle_outer_core - elem_doubling_bottom_outer_core
+  ner(11) = elem_doubling_bottom_outer_core
+  ner(12) = NER_TOP_CENTRAL_CUBE_ICB
+
+! value of the doubling ratio in each radial region of the mesh
+  ratio_sampling_array(1:6) = 1
+  ratio_sampling_array(7:9) = 2
+  ratio_sampling_array(10) = 4
+  ratio_sampling_array(11:12) = 8
+
+! define the three regions in which we implement a mesh doubling at the top of that region
+  this_region_has_a_doubling(:)  = .false.
+  this_region_has_a_doubling(7)  = .true.
+  this_region_has_a_doubling(10) = .true.
+  this_region_has_a_doubling(11) = .true.
+
+! define the top and bottom radii of all the regions of the mesh in the radial direction
+! the first region is the crust at the surface of the Earth
+! the last region is in the inner core near the center of the Earth
+  r_top(1) = R_EARTH
+  r_bottom(1) = R220
+
+  r_top(2) = R220
+  r_bottom(2) = R400
+
+  r_top(3) = R400
+  r_bottom(3) = R600
+
+  r_top(4) = R600
+  r_bottom(4) = R670
+
+  r_top(5) = R670
+  r_bottom(5) = R771
+
+  r_top(6) = R771
+  r_bottom(6) = R_EARTH - DEPTH_SECOND_DOUBLING_REAL
+
+  r_top(7) = R_EARTH - DEPTH_SECOND_DOUBLING_REAL
+  r_bottom(7) = RTOPDDOUBLEPRIME
+
+  r_top(8) = RTOPDDOUBLEPRIME
+  r_bottom(8) = RCMB
+
+  r_top(9) = RCMB
+  r_bottom(9) = R_EARTH - DEPTH_THIRD_DOUBLING_REAL
+
+  r_top(10) = R_EARTH - DEPTH_THIRD_DOUBLING_REAL
+  r_bottom(10) = R_EARTH - DEPTH_FOURTH_DOUBLING_REAL
+
+  r_top(11) = R_EARTH - DEPTH_FOURTH_DOUBLING_REAL
+  r_bottom(11) = RICB
+
+  r_top(12) = RICB
+  r_bottom(12) = R_CENTRAL_CUBE
+
+! create the mesh doubling superbrick
+  call define_superbrick_2D(x_superbrick,z_superbrick,ibool_superbrick)
+
+! compute total number of spectral elements in the mesh
+  nspec = 0
+
+  do ilayer = 1,NUMBER_OF_MESH_LAYERS
+
+    ner_without_doubling = ner(ilayer)
+
+! if there is a doubling at the top of this region, we implement it in the last layer of elements
+! and therefore we suppress one layer of regular elements here
+    if(this_region_has_a_doubling(ilayer)) ner_without_doubling = ner_without_doubling - 1
+
+    number_basic_elems_horizontal = NEX_XI/ratio_sampling_array(ilayer)
+
+    nspec = nspec + ner_without_doubling * number_basic_elems_horizontal
+
+! If there is a doubling at the top of this region, let us add these elements.
+! The superbrick implements a symmetric four-to-two doubling and therefore replaces
+! a basic regular block of 2 elements.
+! We have imposed that NEX be a multiple of 16 therefore we know that we can always create
+! these 2 blocks because NEX_XI / ratio_sampling_array(ilayer) is always divisible by 2.
+    if(this_region_has_a_doubling(ilayer)) nspec = nspec + NSPEC_DOUBLING_SUPERBRICK * number_basic_elems_horizontal / 2
+
+  enddo
+
+! compute total number of OpenDX points in the mesh (many are identical, but simpler to duplicate them here)
+  npoin = nspec * NGNOD_OPENDX
+
+! corner nodes
+  iaddx(1) = 0
+  iaddr(1) = 0
+
+  iaddx(2) = 1
+  iaddr(2) = 0
+
+  iaddx(3) = 1
+  iaddr(3) = 1
+
+  iaddx(4) = 0
+  iaddr(4) = 1
+
+!---
+!--- create an OpenDX file with the whole mesh and
+!--- another OpenDX file with the worst elements for the stability condition (Courant number) only
+!---
+
+! allocate arrays to store Courant stability value and mesh resolution for S waves
+  allocate(color(nspec))
+  allocate(courant_stability_number(nspec))
+  allocate(copy_courant_stability_number(nspec))
+  allocate(number_points_S_wavelength(nspec))
+  allocate(copy_number_points_S_wavelength(nspec))
+
+! write OpenDX header with element data
+  write(filename,"('DX_fullmesh_',i4.4,'.dx')") NEX
+  open(unit=11,file=filename,status='unknown')
+  write(11,*) 'object 1 class array type float rank 1 shape 3 items ',npoin,' data follows'
+
+  write(filename,"('DX_worst_stability_',i4.4,'.dx')") NEX
+  open(unit=12,file=filename,status='unknown')
+  write(12,*) 'object 1 class array type float rank 1 shape 3 items ',npoin,' data follows'
+
+  write(filename,"('DX_worst_sampling_',i4.4,'.dx')") NEX
+  open(unit=13,file=filename,status='unknown')
+  write(13,*) 'object 1 class array type float rank 1 shape 3 items ',npoin,' data follows'
+
+! final spectral element number
+  ispec_final = 0
+
+! output global OpenDX points
+  do ilayer = 1,NUMBER_OF_MESH_LAYERS
+
+! loop on all the elements
+   do ix_elem = 1,NEX_XI,ratio_sampling_array(ilayer)
+
+    ner_without_doubling = ner(ilayer)
+
+! if there is a doubling at the top of this region, we implement it in the last layer of elements
+! and therefore we suppress one layer of regular elements here
+    if(this_region_has_a_doubling(ilayer)) ner_without_doubling = ner_without_doubling - 1
+
+   do ir_elem = 1,ner_without_doubling
+
+! final spectral element number
+   ispec_final = ispec_final + 1
+
+! loop on all the nodes of this element
+   do ignod = 1,NGNOD_OPENDX
+
+! define topological coordinates of this mesh point
+    ix = (ix_elem - 1) + iaddx(ignod) * ratio_sampling_array(ilayer)
+    ir = (ir_elem - 1) + iaddr(ignod)
+
+! compute the actual position of that grid point
+    call compute_value_grid_main_mesh(dble(ix),dble(ir),xelm(ignod),zelm(ignod), &
+               ANGULAR_WIDTH_XI_RAD,NEX_XI,R_CENTRAL_CUBE, &
+               r_top(ilayer),r_bottom(ilayer),ner(ilayer),ilayer)
+
+    write(11,"(f10.7,1x,f10.7,' 0')") xelm(ignod),zelm(ignod)
+    write(12,"(f10.7,1x,f10.7,' 0')") xelm(ignod),zelm(ignod)
+    write(13,"(f10.7,1x,f10.7,' 0')") xelm(ignod),zelm(ignod)
+
+! end of loop on all the nodes of this element
+  enddo
+
+! scale arrays from unit sphere to real Earth
+   xelm(:) = xelm(:) * R_EARTH
+   zelm(:) = zelm(:) * R_EARTH
+
+! compute minimum and maximum distance using the 8 corners of the element
+   distance_min = + HUGEVAL
+   distance_max = - HUGEVAL
+   do iedge = 1,NEDGES
+     ignod = list_corners_edge(iedge,1)
+     ignod2 = list_corners_edge(iedge,2)
+     distance = sqrt((xelm(ignod2) - xelm(ignod))**2 + (zelm(ignod2) - zelm(ignod))**2)
+     distance_min = min(distance_min,distance)
+     distance_max = max(distance_max,distance)
+   enddo
+
+! determine P and S velocity at the barycenter of the element
+   xval = sum(xelm(:)) / NGNOD_OPENDX
+   zval = sum(zelm(:)) / NGNOD_OPENDX
+   r = sqrt(xval**2 + zval**2)
+   call prem_iso(r,rho,vp,vs,ratio_sampling)
+! for outer core, in which there is no S wave velocity, use P velocity potential with a margin to be safe
+  if(vs < 0.001d0) vs = vp / MARGIN_SAFE
+! if we are in the last region (the inner core), ignore S-wave velocity because we purposely
+! make sampling bad there since Poisson's ratio is too high
+  if(ilayer == NUMBER_OF_MESH_LAYERS) vs = HUGEVAL
+
+! store stability condition (Courant number) and number of points per S wavelength for that element
+   courant_stability_number(ispec_final) = vp * DT / (distance_min * percent_GLL(NGLLX))
+   number_points_S_wavelength(ispec_final) = period_min * vs / (distance_max / (NGLLX - 1))
+
+! store region number to color that element
+
+! we are in the crust or mantle
+   if(ilayer <= 8) then
+     color(ispec_final) = 1
+
+! we are in the inner core
+   else if(ilayer == NUMBER_OF_MESH_LAYERS) then
+     color(ispec_final) = 3
+
+! we are in the outer core
+   else
+     color(ispec_final) = 2
+   endif
+
+! end of loop on all the regular elements
+  enddo
+  enddo
+
+! If there is a doubling at the top of this region, let us add these elements.
+! The superbrick implements a symmetric four-to-two doubling and therefore replaces
+! a basic regular block of 2 elements.
+! We have imposed that NEX be a multiple of 16 therefore we know that we can always create
+! these 2 blocks because NEX_XI / ratio_sampling_array(ilayer) is always divisible by 2.
+    if(this_region_has_a_doubling(ilayer)) then
+
+! the doubling is implemented in the last radial element
+      ir_elem = ner(ilayer)
+
+! loop on all the elements in the 2 x 2 blocks
+      do ix_elem = 1,NEX_XI,2*ratio_sampling_array(ilayer)
+
+! loop on all the elements in the mesh doubling superbrick
+          do ispec = 1,NSPEC_DOUBLING_SUPERBRICK
+
+! final spectral element number
+            ispec_final = ispec_final + 1
+
+! loop on all the nodes of this element
+            do ignod = 1,NGNOD_OPENDX
+
+! define topological coordinates of this mesh point
+              xval = (ix_elem - 1) + x_superbrick(ibool_superbrick(ignod,ispec)) * ratio_sampling_array(ilayer)
+              rval = (ir_elem - 1) + z_superbrick(ibool_superbrick(ignod,ispec))
+
+! compute the actual position of that grid point
+              call compute_value_grid_main_mesh(xval,rval,xelm(ignod),zelm(ignod), &
+                       ANGULAR_WIDTH_XI_RAD,NEX_XI,R_CENTRAL_CUBE, &
+                       r_top(ilayer),r_bottom(ilayer),ner(ilayer),ilayer)
+
+              write(11,"(f10.7,1x,f10.7,' 0')") xelm(ignod),zelm(ignod)
+              write(12,"(f10.7,1x,f10.7,' 0')") xelm(ignod),zelm(ignod)
+              write(13,"(f10.7,1x,f10.7,' 0')") xelm(ignod),zelm(ignod)
+
+! end of loop on all the nodes of this element
+            enddo
+
+! scale arrays from unit sphere to real Earth
+   xelm(:) = xelm(:) * R_EARTH
+   zelm(:) = zelm(:) * R_EARTH
+
+! compute minimum and maximum distance using the 8 corners of the element
+   distance_min = + HUGEVAL
+   distance_max = - HUGEVAL
+   do iedge = 1,NEDGES
+     ignod = list_corners_edge(iedge,1)
+     ignod2 = list_corners_edge(iedge,2)
+     distance = sqrt((xelm(ignod2) - xelm(ignod))**2 + (zelm(ignod2) - zelm(ignod))**2)
+     distance_min = min(distance_min,distance)
+     distance_max = max(distance_max,distance)
+   enddo
+
+! determine P and S velocity at the barycenter of the element
+   xval = sum(xelm(:)) / NGNOD_OPENDX
+   zval = sum(zelm(:)) / NGNOD_OPENDX
+   r = sqrt(xval**2 + zval**2)
+   call prem_iso(r,rho,vp,vs,ratio_sampling)
+! for outer core, in which there is no S wave velocity, use P velocity potential with a margin to be safe
+  if(vs < 0.001d0) vs = vp / MARGIN_SAFE
+! if we are in the last region (the inner core), ignore S-wave velocity because we purposely
+! make sampling bad there since Poisson's ratio is too high, therefore compute for Vp instead
+  if(ilayer == NUMBER_OF_MESH_LAYERS) vs = HUGEVAL
+
+! store stability condition (Courant number) for that element
+   courant_stability_number(ispec_final) = vp * DT / (distance_min * percent_GLL(NGLLX))
+   number_points_S_wavelength(ispec_final) = period_min * vs / (distance_max / (NGLLX - 1))
+
+! store region number to color that element
+
+! we are in the crust or mantle
+   if(ilayer <= 8) then
+     color(ispec_final) = 1
+
+! we are in the inner core
+   else if(ilayer == NUMBER_OF_MESH_LAYERS) then
+     color(ispec_final) = 3
+
+! we are in the outer core
+   else
+     color(ispec_final) = 2
+   endif
+
+! end of loops on the mesh doubling elements
+        enddo
+      enddo
+
+    endif
+
+  enddo
+
+!---------------------------------------------
+
+! determine the NSPEC_WORST_ELEMENTS worst elements and store their element number
+  copy_courant_stability_number(:) = courant_stability_number(:)
+  copy_number_points_S_wavelength(:) = number_points_S_wavelength(:)
+
+  do ispec = 1,NSPEC_WORST_ELEMENTS
+    ispec_worst_elements_stability(ispec) = maxloc(copy_courant_stability_number(:),dim=1)
+    ispec_worst_elements_sampling(ispec) = minloc(copy_number_points_S_wavelength(:),dim=1)
+! set it to a fictitious value to make sure we do not detect it a second time
+    copy_courant_stability_number(ispec_worst_elements_stability(ispec)) = - HUGEVAL
+    copy_number_points_S_wavelength(ispec_worst_elements_sampling(ispec)) = + HUGEVAL
+  enddo
+
+!---------------------------------------------
+
+! write element header
+  write(11,*) 'object 2 class array type int rank 1 shape 4 items ',nspec,' data follows'
+
+! output global OpenDX elements
+  ioffset = 0
+
+  do ispec = 1,nspec
+
+! point order in OpenDX is 1,4,2,3 *not* 1,2,3,4 as in AVS
+! in the case of OpenDX, node numbers start at zero
+    write(11,"(i6,1x,i6,1x,i6,1x,i6)") ioffset+0,ioffset+3,ioffset+1,ioffset+2
+
+    ioffset = ioffset + NGNOD_OPENDX
+
+  enddo
+
+! write element header
+! represent the NSPEC_WORST_ELEMENTS worst elements
+  write(12,*) 'object 2 class array type int rank 1 shape 4 items ',NSPEC_WORST_ELEMENTS,' data follows'
+
+  do ispec = 1,NSPEC_WORST_ELEMENTS
+
+    ioffset = (ispec_worst_elements_stability(ispec) - 1) * NGNOD_OPENDX
+
+! point order in OpenDX is 1,4,2,3 *not* 1,2,3,4 as in AVS
+! in the case of OpenDX, node numbers start at zero
+    write(12,"(i6,1x,i6,1x,i6,1x,i6)") ioffset+0,ioffset+3,ioffset+1,ioffset+2
+
+  enddo
+
+! write element header
+! represent the NSPEC_WORST_ELEMENTS worst elements
+  write(13,*) 'object 2 class array type int rank 1 shape 4 items ',NSPEC_WORST_ELEMENTS,' data follows'
+
+  do ispec = 1,NSPEC_WORST_ELEMENTS
+
+    ioffset = (ispec_worst_elements_sampling(ispec) - 1) * NGNOD_OPENDX
+
+! point order in OpenDX is 1,4,2,3 *not* 1,2,3,4 as in AVS
+! in the case of OpenDX, node numbers start at zero
+    write(13,"(i6,1x,i6,1x,i6,1x,i6)") ioffset+0,ioffset+3,ioffset+1,ioffset+2
+
+  enddo
+
+! output OpenDX header for data
+! label for quadrangles in OpenDX is "quads"
+  write(11,*) 'attribute "element type" string "quads"'
+  write(11,*) 'attribute "ref" string "positions"'
+  write(11,*) 'object 3 class array type float rank 0 items ',nspec,' data follows'
+
+! write element data
+! color elements according to the region they belong to in order to represent the mesh
+  do ispec = 1,nspec
+    write(11,*) color(ispec)
+  enddo
+
+! represent the NSPEC_WORST_ELEMENTS worst elements
+  write(12,*) 'attribute "element type" string "quads"'
+  write(12,*) 'attribute "ref" string "positions"'
+  write(12,*) 'object 3 class array type float rank 0 items ',NSPEC_WORST_ELEMENTS,' data follows'
+
+! write element data
+! color elements according to the Courant stability number
+  do ispec = 1,NSPEC_WORST_ELEMENTS
+    write(12,*) courant_stability_number(ispec_worst_elements_stability(ispec))
+  enddo
+
+! represent the NSPEC_WORST_ELEMENTS worst elements
+  write(13,*) 'attribute "element type" string "quads"'
+  write(13,*) 'attribute "ref" string "positions"'
+  write(13,*) 'object 3 class array type float rank 0 items ',NSPEC_WORST_ELEMENTS,' data follows'
+
+! write element data
+! color elements according to the number of points per S wavelength
+  do ispec = 1,NSPEC_WORST_ELEMENTS
+    write(13,*) number_points_S_wavelength(ispec_worst_elements_sampling(ispec))
+  enddo
+
+! define OpenDX field
+  write(11,*) 'attribute "dep" string "connections"'
+  write(11,*) 'object "irregular positions irregular connections" class field'
+  write(11,*) 'component "positions" value 1'
+  write(11,*) 'component "connections" value 2'
+  write(11,*) 'component "data" value 3'
+  write(11,*) 'end'
+
+  write(12,*) 'attribute "dep" string "connections"'
+  write(12,*) 'object "irregular positions irregular connections" class field'
+  write(12,*) 'component "positions" value 1'
+  write(12,*) 'component "connections" value 2'
+  write(12,*) 'component "data" value 3'
+  write(12,*) 'end'
+
+  write(13,*) 'attribute "dep" string "connections"'
+  write(13,*) 'object "irregular positions irregular connections" class field'
+  write(13,*) 'component "positions" value 1'
+  write(13,*) 'component "connections" value 2'
+  write(13,*) 'component "data" value 3'
+  write(13,*) 'end'
+
+  close(11)
+  close(12)
+  close(13)
+
+! print information about the maximum Courant number and minimum number of points per wavelength
+! detected in the mesh
+  print *,'Minimum number of points per S wavelength detected in the mesh = ',minval(number_points_S_wavelength), &
+              ' in element ',minloc(number_points_S_wavelength,dim=1)
+  print *
+  print *,'Maximum stability condition (Courant number) detected in the mesh = ',maxval(courant_stability_number), &
+              ' in element ',maxloc(courant_stability_number,dim=1)
+  print *
+
+! deallocate arrays
+  deallocate(color)
+  deallocate(courant_stability_number)
+  deallocate(copy_courant_stability_number)
+  deallocate(number_points_S_wavelength)
+  deallocate(copy_number_points_S_wavelength)
+
+! end of loop on all the cases to study
+  enddo
+
+! create a gnuplot script to display all the results
+  open(unit=27,file='plot_mesh_resolution.gnu',status='unknown')
+  write(27,*) 'set term x11'
+  write(27,*) '######set xrange [0:6371]'
+  write(27,*) '## this to be able to see values in the crust better on a larger interval'
+  write(27,*) 'set xrange [0:6371]'
+  write(27,*) 'set xlabel "Depth (km)"'
+  write(27,*) 'set grid'
+  write(27,*)
+
+! display the PREM model alone
+  write(27,"(a140)") 'plot "prem_model.dat" us 1:2 t ''Vp PREM'' w l 1, "prem_model.dat" us 1:3 t ''Vs PREM'' w l 3'
+  write(27,*) '########pause -1 "hit key"'
+  write(27,*)
+
+! loop on all the cases to study
+!!!!!!!!!!!! DK DK only one case    do icase = 1,NUM_CASES
+  do icase = 2,2
+
+! define value of NEX for this case
+  NEX = NEX_val(icase)
+
+  write(27,*) 'set title "NEX =',NEX,'"'
+  write(27,*)
+
+  write(27,*) 'set ylabel "Number of points per S wavelength"'
+  write(27,*) 'set yrange [0:14]'
+  write(27,*) 'set ytics 0,1,14'
+  write(27,100) NEX,NEX
+  write(27,*) 'pause -1 "hit key"'
+  write(27,*)
+
+  write(27,*) 'set ylabel "Number of points per P wavelength"'
+  write(27,*) 'set yrange [0:20]'
+  write(27,*) 'set ytics 0,1,20'
+  write(27,200) NEX,NEX
+  write(27,*) 'pause -1 "hit key"'
+  write(27,*)
+
+  write(27,*) 'set ylabel "Stability condition (Courant number)"'
+  write(27,*) 'set yrange [0:1]'
+  write(27,*) 'set ytics 0,0.1,1'
+  write(27,300) NEX,NEX
+  write(27,*) 'pause -1 "hit key"'
+  write(27,*)
+
+! end of loop on all the cases to study
+  enddo
+
+! formats for output
+ 100 format('plot "prem_radial_sampling_',i4.4,'.dat" us 1:3 t ''Vs sampling radial'' w linesp 1, &
+    & "prem_horizontal_sampling_',i4.4,'.dat" us 1:3 t ''Vs sampling horizontal'' w l 3, &
+    & "cmb.dat" t '''' w l 6, "icb.dat" t '''' w l 6')
+
+ 200 format('plot "prem_radial_sampling_',i4.4,'.dat" us 1:2 t ''Vp sampling radial'' w linesp 1, &
+    & "prem_horizontal_sampling_',i4.4,'.dat" us 1:2 t ''Vp sampling horizontal'' w l 3, &
+    & "cmb.dat" t '''' w l 6, "icb.dat" t '''' w l 6')
+
+ 300 format('plot "prem_radial_sampling_',i4.4,'.dat" us 1:4 t ''Stability radial'' w linesp 1, &
+    & "prem_horizontal_sampling_',i4.4,'.dat" us 1:4 t ''Stability horizontal'' w l 3, &
+    & "cmb.dat" t '''' w l 6, "icb.dat" t '''' w l 6')
+
+  close(27)
+
+  end program display_prem_sampling_doubling
+
+!---------------------------------------------------------------------------
+
+! include code to define the mesh doubling superbrick
+
+  include "define_superbrick_2D.f90"
+
+!---------------------------------------------------------------------------
+
+  subroutine compute_value_grid_main_mesh(xval,rval,xgrid,zgrid, &
+               ANGULAR_WIDTH_XI_RAD,NEX_XI,R_CENTRAL_CUBE,r_top,r_bottom,ner,ilayer)
+
+  implicit none
+
+  include "constants_modified_2D.h"
+
+  integer :: NEX_XI,ner,ilayer
+
+  double precision :: xval,rval,xgrid,zgrid,ANGULAR_WIDTH_XI_RAD,R_CENTRAL_CUBE,r_top,r_bottom
+
+! local variables
+  double precision :: xi,gamma,x,rgb,rgt,rn
+  double precision :: x_bot,z_bot
+  double precision :: x_top,z_top
+
+! full Earth (cubed sphere)
+  xi = - ANGULAR_WIDTH_XI_RAD/2.d0 + (xval/dble(NEX_XI))*ANGULAR_WIDTH_XI_RAD
+  x = tan(xi)
+
+  gamma = ONE / sqrt(ONE + x*x)
+
+  rgt = (r_top / R_EARTH)*gamma
+  rgb = (r_bottom / R_EARTH)*gamma
+
+! define the mesh points on the top and the bottom in the cubed shpere
+  x_top = -x*rgt
+  z_top = rgt
+
+  x_bot = -x*rgb
+  z_bot = rgb
+
+! modify in the inner core to match the central cube instead of a sphere
+! this mesh works because even if ellipticity and/or topography are turned on
+! at this stage the reference Earth is still purely spherical
+! therefore it will always perfectly match the sphere defined above
+  if(ilayer == NUMBER_OF_MESH_LAYERS) then ! if we are in the last region (the inner core)
+
+    x_bot = -x
+    z_bot = ONE
+
+! rescale central cube to match cubed sphere
+    x_bot = x_bot * (R_CENTRAL_CUBE/R_EARTH) / sqrt(3.d0)
+    z_bot = z_bot * (R_CENTRAL_CUBE/R_EARTH) / sqrt(3.d0)
+
+  endif
+
+! compute the position of the point
+  rn = rval / dble(ner)
+  xgrid = x_top*rn + x_bot*(ONE-rn)
+  zgrid = z_top*rn + z_bot*(ONE-rn)
+
+  end subroutine compute_value_grid_main_mesh
+
+!---------------------------------------------------------------------------
+
+  subroutine prem_iso(r,rho,vp,vs,ratio_sampling)
+
+  implicit none
+
+  include "constants_modified_2D.h"
+
+  double precision :: r,x,rho,vp,vs,ratio_sampling
+
+  x = r / R_EARTH
+
+!
+! PREM
+!
+!--- inner core
+!
+  if(r <= RICB) then
+    rho=13.0885d0-8.8381d0*x*x
+    vp=11.2622d0-6.3640d0*x*x
+    vs=3.6678d0-4.4475d0*x*x
+    if(IMPLEMENT_FOURTH_DOUBLING) then
+      ratio_sampling = 8.d0
+    else
+      ratio_sampling = 4.d0
+    endif
+!
+!--- outer core
+!
+  else if(r > RICB .and. r <= RCMB) then
+    rho=12.5815d0-1.2638d0*x-3.6426d0*x*x-5.5281d0*x*x*x
+    vp=11.0487d0-4.0362d0*x+4.8023d0*x*x-13.5732d0*x*x*x
+    vs=0.0d0
+
+    if(IMPLEMENT_FOURTH_DOUBLING) then
+! third and fourth doublings
+      if(r > R_EARTH - DEPTH_THIRD_DOUBLING_OPTIMAL) then
+        ratio_sampling = 2.d0
+      else if(r > R_EARTH - DEPTH_FOURTH_DOUBLING_OPTIMAL) then
+        ratio_sampling = 4.d0
+      else
+        ratio_sampling = 8.d0
+      endif
+    else
+! third doubling
+      if(r > R_EARTH - DEPTH_THIRD_DOUBLING_OPTIMAL) then
+        ratio_sampling = 2.d0
+      else
+        ratio_sampling = 4.d0
+      endif
+    endif
+
+!
+!--- D" at the base of the mantle
+!
+  else if(r > RCMB .and. r <= RTOPDDOUBLEPRIME) then
+    rho=7.9565d0-6.4761d0*x+5.5283d0*x*x-3.0807d0*x*x*x
+    vp=15.3891d0-5.3181d0*x+5.5242d0*x*x-2.5514d0*x*x*x
+    vs=6.9254d0+1.4672d0*x-2.0834d0*x*x+0.9783d0*x*x*x
+    ratio_sampling = 2.d0
+!
+!--- mantle: from top of D" to d670
+!
+  else if(r > RTOPDDOUBLEPRIME .and. r <= R771) then
+    rho=7.9565d0-6.4761d0*x+5.5283d0*x*x-3.0807d0*x*x*x
+    vp=24.9520d0-40.4673d0*x+51.4832d0*x*x-26.6419d0*x*x*x
+    vs=11.1671d0-13.7818d0*x+17.4575d0*x*x-9.2777d0*x*x*x
+
+! second doubling
+    if(r > R_EARTH - DEPTH_SECOND_DOUBLING_OPTIMAL) then
+      ratio_sampling = 1.d0
+    else
+      ratio_sampling = 2.d0
+    endif
+
+  else if(r > R771 .and. r <= R670) then
+    rho=7.9565d0-6.4761d0*x+5.5283d0*x*x-3.0807d0*x*x*x
+    vp=29.2766d0-23.6027d0*x+5.5242d0*x*x-2.5514d0*x*x*x
+    vs=22.3459d0-17.2473d0*x-2.0834d0*x*x+0.9783d0*x*x*x
+    ratio_sampling = 1.d0
+!
+!--- mantle: above d670
+!
+  else if(r > R670 .and. r <= R600) then
+    rho=5.3197d0-1.4836d0*x
+    vp=19.0957d0-9.8672d0*x
+    vs=9.9839d0-4.9324d0*x
+    ratio_sampling = 1.d0
+  else if(r > R600 .and. r <= R400) then
+    rho=11.2494d0-8.0298d0*x
+    vp=39.7027d0-32.6166d0*x
+    vs=22.3512d0-18.5856d0*x
+    ratio_sampling = 1.d0
+  else if(r > R400 .and. r <= R220) then
+    rho=7.1089d0-3.8045d0*x
+    vp=20.3926d0-12.2569d0*x
+    vs=8.9496d0-4.4597d0*x
+    ratio_sampling = 1.d0
+  else if(r > R220) then
+!! DK DK completely suppressed the crust for PKP study
+    rho=2.6910d0+0.6924d0*x
+    vp=4.1875d0+3.9382d0*x
+    vs=2.1519d0+2.3481d0*x
+    ratio_sampling = 1.d0
+  endif
+
+  rho=rho*1000.0d0
+  vp=vp*1000.0d0
+  vs=vs*1000.0d0
+
+  end subroutine prem_iso
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/display_prem_sampling_doubling_slice_2D.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/display_prem_sampling_doubling_slice_2D.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/display_prem_sampling_doubling_slice_2D.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,1243 @@
+!=====================================================================
+!
+!          S p e c f e m 3 D  G l o b e  V e r s i o n  3 . 7
+!          --------------------------------------------------
+!
+!                 Dimitri Komatitsch and Jeroen Tromp
+!    Seismological Laboratory - California Institute of Technology
+!          (c) California Institute of Technology January 2007
+!
+! This program is free software; you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation; either version 2 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License along
+! with this program; if not, write to the Free Software Foundation, Inc.,
+! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+!
+!=====================================================================
+
+  program display_prem_sampling_doubling
+
+  implicit none
+
+  include "constants_modified_2D.h"
+
+! honor PREM Moho or not
+! doing so drastically reduces the stability condition and therefore the time step
+  logical, parameter :: HONOR_1D_SPHERICAL_MOHO = .false.
+
+! resolution target for minimum number of points per S wavelength in the whole mesh
+  double precision, parameter :: RESOLUTION_TARGET = 4.d0
+
+! for outer core, in which there is no S wave velocity, use P velocity potential with a margin to be safe
+  double precision, parameter :: MARGIN_SAFE = 1.25d0
+
+  integer :: NEX,NEX_XI,NPROC_XI,NEX_PER_PROC_XI
+
+  integer :: NER_220_CRUST, NER_400_220, NER_600_400, NER_670_600, NER_771_670, &
+    NER_TOPDDOUBLEPRIME_771, NER_CMB_TOPDDOUBLEPRIME, NER_OUTER_CORE, NER_TOP_CENTRAL_CUBE_ICB
+
+  double precision :: DT
+
+  integer, dimension(NUMBER_OF_MESH_LAYERS) :: ner,ratio_sampling_array
+  double precision, dimension(NUMBER_OF_MESH_LAYERS) :: r_bottom,r_top
+  logical, dimension(NUMBER_OF_MESH_LAYERS) :: this_region_has_a_doubling
+  integer number_basic_elems_horizontal,ner_without_doubling
+
+! small offset to avoid being exactly on an interface
+  double precision, parameter :: SMALL_OFFSET = 200.d0
+
+  double precision, parameter :: R_CENTRAL_CUBE = RICB - 150000.d0
+
+  integer ilayer,ipoin,ielem
+
+  double precision :: r,r_next,rho,vp,vs,ratio_sampling,spectral_element_size, &
+               average_mesh_point_size,num_points_per_lambda_S,stability,period_min,gamma, &
+               ratio_sampling_new,vp_new,vs_new,r_gnuplot
+
+!!!!!! DK DK exclude center of inner core to avoid division by zero
+!!!!!! DK DK we have: 1000 * 1200/6371 = 188.35347
+!!!!!! DK DK therefore the central cube ends around i = 188
+!!!!!! DK DK  do i=1,1000
+  integer, parameter :: NINIT = 140
+
+! mesh chunk has a size of 90 x 90 degrees
+  double precision, parameter :: ANGULAR_WIDTH_XI_IN_DEGREES = 90.d0
+  double precision, parameter :: ANGULAR_WIDTH_XI_RAD = ANGULAR_WIDTH_XI_IN_DEGREES * PI / 180.d0
+
+! show the mesh for the first slice as an example
+  integer, parameter :: iproc_xi = 0
+
+  integer ix,ir
+  integer ix_elem,ir_elem
+
+! number of nodes of an OpenDX element
+  integer, parameter :: NGNOD_OPENDX = 4
+
+! topology of the elements
+  integer, dimension(NGNOD_OPENDX) :: iaddx,iaddr
+
+  integer :: ispec,ispec_final,nspec,npoin,ioffset,ignod,ignod2
+  double precision, dimension(NGNOD_OPENDX) :: xelm,zelm
+  double precision :: xval,zval,rval
+
+! list of corners defining the edges
+  integer, parameter :: NEDGES = 4
+  integer, dimension(NEDGES,2) :: list_corners_edge
+  integer iedge
+
+  integer :: elem_doubling_mantle,elem_doubling_middle_outer_core,elem_doubling_bottom_outer_core
+  double precision :: DEPTH_SECOND_DOUBLING_REAL,DEPTH_THIRD_DOUBLING_REAL, &
+                          DEPTH_FOURTH_DOUBLING_REAL,distance,distance_min,distance_max
+
+! mesh doubling superbrick
+  integer, dimension(NGNOD_DOUBLING_SUPERBRICK,NSPEC_DOUBLING_SUPERBRICK) :: ibool_superbrick
+  double precision, dimension(NGLOB_DOUBLING_SUPERBRICK) :: x_superbrick,z_superbrick
+
+! for the stability condition
+! maximum polynomial degree for which we can compute the stability condition
+  integer, parameter :: NGLLX_MAX_STABILITY = 15
+  double precision :: percent_GLL(NGLLX_MAX_STABILITY)
+
+! allocate arrays to store Courant stability value and mesh resolution for S waves
+  integer, parameter :: NSPEC_WORST_ELEMENTS = 50
+  integer, dimension(NSPEC_WORST_ELEMENTS) :: ispec_worst_elements_stability,ispec_worst_elements_sampling
+  integer, dimension(:), allocatable :: color
+  double precision, dimension(:), allocatable :: courant_stability_number, &
+      copy_courant_stability_number,number_points_S_wavelength,copy_number_points_S_wavelength
+
+! number of different cases to study
+  integer, parameter :: NUM_CASES = 9
+  integer, dimension(NUM_CASES) :: NEX_val
+  integer icase
+
+! variable file name for output files
+  character(len=150) filename
+
+! remove old files
+  call system('rm -f DX_fullmesh*.dx DX_worst*.dx prem_horizontal_sampling_*.dat prem_radial_sampling*.dat')
+
+! case of multiples of 16
+  NEX_val(1) = 160
+  NEX_val(2) = 128
+  NEX_val(3) = 320
+  NEX_val(4) = 480
+  NEX_val(5) = 512
+  NEX_val(6) = 640
+  NEX_val(7) = 864
+  NEX_val(8) = 1152
+  NEX_val(9) = 1248
+
+! loop on all the cases to study
+!!!!!!!!!!!! DK DK only one case    do icase = 1,NUM_CASES
+  do icase = 2,2
+
+! define value of NEX for this case
+  NEX = NEX_val(icase)
+
+  NEX_XI = NEX
+
+!!! DK DK use highest possible number of processors to create smallest slice for serial tests
+  NPROC_XI = NEX_XI/16
+
+  NEX_PER_PROC_XI = NEX_XI / NPROC_XI
+
+! check that mesh can be coarsened in depth four times (block size must be a multiple of 16)
+  if(mod(NEX_XI,16) /= 0) stop 'NEX_XI must be a multiple of 16'
+  if(mod(NEX_XI/16,NPROC_XI) /= 0) stop 'NEX_XI must be a multiple of 16*NPROC_XI'
+
+  print *,'-----------------------------------------'
+  print *
+  print *,'NEX used = ',NEX
+  print *
+  print *,'NPROC_XI used = ',NPROC_XI
+  print *
+
+! period min for    4.000000 points per lambda S min in horizontal direction =    17.11689
+! element width =   0.3515625      degrees =    39.09196      km
+  if(NEX == 128) then
+    DT                       = 0.20d0 * 0.30d0 / 0.2565
+! stability max = approximately 0.2565
+    NER_220_CRUST            = 4
+    NER_400_220              = 3
+    NER_600_400              = 3
+    NER_670_600              = 1
+    NER_771_670              = 1
+    NER_TOPDDOUBLEPRIME_771  = 22
+    NER_CMB_TOPDDOUBLEPRIME  = 2
+    NER_OUTER_CORE           = 24
+    NER_TOP_CENTRAL_CUBE_ICB = 2
+
+! period min for 4.000000 points per lambda S min in horizontal direction =    13.69351
+! element width =   0.2812500      degrees =    31.27357      km
+  else if(NEX == 320) then
+    DT                       = 0.125d0 * 0.30d0 / 0.2429
+! stability max = approximately 0.2429
+    NER_220_CRUST            = 2
+    NER_400_220              = 4
+    NER_600_400              = 4
+    NER_670_600              = 1
+    NER_771_670              = 2
+    NER_TOPDDOUBLEPRIME_771  = 29
+    NER_CMB_TOPDDOUBLEPRIME  = 2
+    NER_OUTER_CORE           = 32
+    NER_TOP_CENTRAL_CUBE_ICB = 2
+
+! period min for 4.000000 points per lambda S min in horizontal direction =    9.129005
+! element width =   0.1875000      degrees =    20.84905      km
+  else if(NEX == 480) then
+    DT                       = 0.125d0 * 0.30d0 / 0.3235
+! stability max = approximately 0.3235
+    NER_220_CRUST            = 3
+    NER_400_220              = 5
+    NER_600_400              = 6
+    NER_670_600              = 2
+    NER_771_670              = 2
+    NER_TOPDDOUBLEPRIME_771  = 44
+    NER_CMB_TOPDDOUBLEPRIME  = 3
+    NER_OUTER_CORE           = 48
+    NER_TOP_CENTRAL_CUBE_ICB = 3
+
+! period min for 4.000000 points per lambda S min in horizontal direction =    8.558443
+! element width =   0.1757812      degrees =    19.54598      km
+  else if(NEX == 512) then
+    DT                       = 0.125d0 * 0.30d0 / 0.3235
+! stability max = approximately 0.3235
+    NER_220_CRUST            = 4
+    NER_400_220              = 6
+    NER_600_400              = 6
+    NER_670_600              = 2
+    NER_771_670              = 3
+    NER_TOPDDOUBLEPRIME_771  = 47
+    NER_CMB_TOPDDOUBLEPRIME  = 3
+    NER_OUTER_CORE           = 51
+    NER_TOP_CENTRAL_CUBE_ICB = 3
+
+! period min for 4.000000 points per lambda S min in horizontal direction =    6.846754
+! element width =   0.1406250      degrees =    15.63679      km
+  else if(NEX == 640) then
+    DT                       = 0.125d0 * 0.30d0 / 0.4067
+! stability max = approximately 0.4067
+    NER_220_CRUST            = 4
+    NER_400_220              = 7
+    NER_600_400              = 8
+    NER_670_600              = 3
+    NER_771_670              = 3
+    NER_TOPDDOUBLEPRIME_771  = 59
+    NER_CMB_TOPDDOUBLEPRIME  = 4
+    NER_OUTER_CORE           = 64
+    NER_TOP_CENTRAL_CUBE_ICB = 4
+
+! period min for 4.000000 points per lambda S min in horizontal direction =    5.071670
+! element width =   0.1041667      degrees =    11.58280      km
+  else if(NEX == 864) then
+    DT                       = 0.0555555555d0 * 0.30d0 / 0.2565
+! stability max = approximately 0.2565
+    NER_220_CRUST            = 6
+    NER_400_220              = 10
+    NER_600_400              = 10
+    NER_670_600              = 3
+    NER_771_670              = 4
+    NER_TOPDDOUBLEPRIME_771  = 79
+    NER_CMB_TOPDDOUBLEPRIME  = 5
+    NER_OUTER_CORE           = 86
+    NER_TOP_CENTRAL_CUBE_ICB = 6
+
+! period min for 4.000000 points per lambda S min in horizontal direction =    3.803752
+! element width =   7.8125000E-02  degrees =    8.687103      km
+  else if(NEX == 1152) then
+    DT                       = 0.0555555555d0 * 0.30d0 / 0.3504
+! stability max = approximately 0.3504
+    NER_220_CRUST            = 8
+    NER_400_220              = 13
+    NER_600_400              = 13
+    NER_670_600              = 4
+    NER_771_670              = 6
+    NER_TOPDDOUBLEPRIME_771  = 106
+    NER_CMB_TOPDDOUBLEPRIME  = 7
+    NER_OUTER_CORE           = 116
+    NER_TOP_CENTRAL_CUBE_ICB = 6
+
+! period min for 4.000000 points per lambda S min in horizontal direction =    3.511156
+! element width =   7.2115384E-02  degrees =    8.018865      km
+  else if(NEX == 1248) then
+    DT                       = 0.05d0 * 0.30d0 / 0.3318
+! stability max = approximately 0.3318
+    NER_220_CRUST            = 8
+    NER_400_220              = 14
+    NER_600_400              = 14
+    NER_670_600              = 5
+    NER_771_670              = 6
+    NER_TOPDDOUBLEPRIME_771  = 114
+    NER_CMB_TOPDDOUBLEPRIME  = 8
+    NER_OUTER_CORE           = 124
+    NER_TOP_CENTRAL_CUBE_ICB = 7
+
+  else
+    stop 'incorrect value of NEX, should use an updated version of auto_NER'
+  endif
+
+!! DK DK UGLY
+  print *,'DT computed for Courant number of 0.30 = ',DT
+  print *
+
+!
+!--- display the PREM model alone
+!
+  open(unit=27,file='prem_model.dat',status='unknown')
+  do ipoin = 2,1000
+    r = R_EARTH * dble(ipoin)/1000.d0
+    call prem_iso(r,rho,vp,vs,ratio_sampling)
+    write(27,*) sngl((R_EARTH-r)/1000.d0),sngl(vp),sngl(vs)
+  enddo
+  close(27)
+
+!---------------------------------------------------
+!--- mesh resolution in the horizontal direction
+!---------------------------------------------------
+
+! estimate of mesh resolution: minimum resolution is for S waves right below the second doubling
+  r = R_EARTH - DEPTH_SECOND_DOUBLING_OPTIMAL - SMALL_OFFSET ! in meters
+  call prem_iso(r,rho,vp,vs,ratio_sampling)
+  period_min = RESOLUTION_TARGET / (vs * (NGLLX - 1) * (4 * NEX / ratio_sampling) / (2.d0 * PI * r))
+
+  print *
+  print *,'! period min for ',sngl(RESOLUTION_TARGET),' points per lambda S min in horizontal direction = ',sngl(period_min)
+  print *
+  print *,'! element width = ',sngl(360.d0 / (4*NEX)),' degrees = ',sngl(2 * PI * R_EARTH / (4*NEX*1000.d0)),' km'
+  print *
+
+! define percentage of smallest distance between GLL points for NGLLX points
+! percentages were computed by calling the GLL points routine for each degree
+  percent_GLL(2) = 100.d0
+  percent_GLL(3) = 50.d0
+  percent_GLL(4) = 27.639320225002102d0
+  percent_GLL(5) = 17.267316464601141d0
+  percent_GLL(6) = 11.747233803526763d0
+  percent_GLL(7) = 8.4888051860716516d0
+  percent_GLL(8) = 6.4129925745196719d0
+  percent_GLL(9) = 5.0121002294269914d0
+  percent_GLL(10) = 4.0233045916770571d0
+  percent_GLL(11) = 3.2999284795970416d0
+  percent_GLL(12) = 2.7550363888558858d0
+  percent_GLL(13) = 2.3345076678918053d0
+  percent_GLL(14) = 2.0032477366369594d0
+  percent_GLL(15) = 1.7377036748080721d0
+
+! convert to real percentage
+  percent_GLL(:) = percent_GLL(:) / 100.d0
+
+  if(NGLLX > NGLLX_MAX_STABILITY) stop 'cannot estimate the stability condition for that degree'
+
+! list of corners defining the edges
+! the edge number is sorted according to the numbering convention defined in file hex_nodes.f90
+! as well as in DATA/util/YYYYYYYYYYYYYYYYYYYYYYYYYYY DK DK UGLY YYYYYYYYYYYYYYYYYYY
+
+  list_corners_edge( 1,1) = 1
+  list_corners_edge( 1,2) = 2
+
+  list_corners_edge( 2,1) = 2
+  list_corners_edge( 2,2) = 3
+
+  list_corners_edge( 3,1) = 3
+  list_corners_edge( 3,2) = 4
+
+  list_corners_edge( 4,1) = 4
+  list_corners_edge( 4,2) = 1
+
+  write(filename,"('prem_horizontal_sampling_',i4.4,'.dat')") NEX
+  open(unit=27,file=filename,status='unknown')
+
+  do ipoin = NINIT,1000
+
+  r = R_EARTH * dble(ipoin)/1000.d0
+
+  call prem_iso(r,rho,vp,vs,ratio_sampling)
+! for outer core, in which there is no S wave velocity, use P velocity potential with a margin to be safe
+  if(vs < 0.001d0) vs = vp / MARGIN_SAFE
+
+! compute mesh size in the horizontal direction at that depth
+  spectral_element_size = (2.d0 * PI * r) / (4 * NEX / ratio_sampling)
+  average_mesh_point_size = spectral_element_size / (NGLLX - 1)
+
+! compute number of elements per wavelength at that depth
+  num_points_per_lambda_S = period_min * vs / average_mesh_point_size
+
+! compute stability condition (Courant number)
+  stability = vp * DT / (spectral_element_size * percent_GLL(NGLLX))
+
+  r_gnuplot = (R_EARTH-r)/1000.d0
+  write(27,*) sngl(r_gnuplot),sngl(num_points_per_lambda_S * vp/vs),sngl(num_points_per_lambda_S),sngl(stability)
+
+  enddo
+
+  close(27)
+
+!------------------------------------------------
+!--- mesh resolution in the radial direction
+!------------------------------------------------
+
+  ner(1) = NER_220_CRUST
+  ner(2) = NER_400_220
+  ner(3) = NER_600_400
+  ner(4) = NER_670_600
+  ner(5) = NER_771_670
+  ner(6) = NER_TOPDDOUBLEPRIME_771
+  ner(7) = NER_CMB_TOPDDOUBLEPRIME
+  ner(8) = NER_OUTER_CORE
+  ner(9) = NER_TOP_CENTRAL_CUBE_ICB
+
+! define the top and bottom radii of all the regions of the mesh in the radial direction
+! the first region is the crust at the surface of the Earth
+! the last region is in the inner core near the center of the Earth
+  r_top(1) = R_EARTH
+  r_bottom(1) = R220
+
+  r_top(2) = R220
+  r_bottom(2) = R400
+
+  r_top(3) = R400
+  r_bottom(3) = R600
+
+  r_top(4) = R600
+  r_bottom(4) = R670
+
+  r_top(5) = R670
+  r_bottom(5) = R771
+
+  r_top(6) = R771
+  r_bottom(6) = RTOPDDOUBLEPRIME
+
+  r_top(7) = RTOPDDOUBLEPRIME
+  r_bottom(7) = RCMB
+
+  r_top(8) = RCMB
+  r_bottom(8) = RICB
+
+  r_top(9) = RICB
+  r_bottom(9) = R_CENTRAL_CUBE
+
+  write(filename,"('prem_radial_sampling_',i4.4,'.dat')") NEX
+  open(unit=27,file=filename,status='unknown')
+
+! loop on the layers, start from the last one to go from Earth center to surface
+  do ilayer = NB_LAYERS_SAMPLING_STUDY,1,-1
+
+! loop on all the elements in this layer
+  do ielem = 1,ner(ilayer)
+
+! compute at the bottom of the layer
+  ipoin = ielem - 1
+  gamma =  dble(ipoin) / dble(ner(ilayer))
+  r = r_bottom(ilayer) * (ONE - gamma) + r_top(ilayer) * gamma
+
+! define next point at the top of the layer
+  ipoin = ielem - 1 + 1
+  gamma =  dble(ipoin) / dble(ner(ilayer))
+  r_next = r_bottom(ilayer) * (ONE - gamma) + r_top(ilayer) * gamma
+
+! add security margin to avoid being exactly on an interface
+  r = r + SMALL_OFFSET
+  r_next = r_next - SMALL_OFFSET
+
+! compute mesh size in the horizontal direction at that depth
+  spectral_element_size = r_next - r
+  average_mesh_point_size = spectral_element_size / (NGLLX - 1)
+
+  call prem_iso(r,rho,vp,vs,ratio_sampling)
+! for outer core, in which there is no S wave velocity, use P velocity potential with a margin to be safe
+  if(vs < 0.001d0) vs = vp / MARGIN_SAFE
+
+! compute number of elements per wavelength at that depth
+  num_points_per_lambda_S = period_min * vs / average_mesh_point_size
+
+! compute stability condition (Courant number)
+  stability = vp * DT / (spectral_element_size * percent_GLL(NGLLX))
+
+!!!!!! DK DK quick hack to detect doublings and show problems with small doubling brick
+  call prem_iso(r_next,rho,vp_new,vs_new,ratio_sampling_new)
+  if(ratio_sampling_new < ratio_sampling) stability = stability * 3.d0 / 2.d0
+!!!!!! DK DK quick hack to detect doublings and show problems with small doubling brick
+
+  r_gnuplot = (R_EARTH-r)/1000.d0
+  write(27,*) sngl(r_gnuplot),sngl(num_points_per_lambda_S * vp/vs),sngl(num_points_per_lambda_S),sngl(stability)
+
+! add one more point at the top of the last layer
+  if(ielem == ner(ilayer)) then
+    call prem_iso(r_next,rho,vp,vs,ratio_sampling)
+! for outer core, in which there is no S wave velocity, use P velocity potential with a margin to be safe
+    if(vs < 0.001d0) vs = vp / MARGIN_SAFE
+
+! compute number of elements per wavelength at that depth
+    num_points_per_lambda_S = period_min * vs / average_mesh_point_size
+
+! compute stability condition (Courant number)
+    stability = vp * DT / (spectral_element_size * percent_GLL(NGLLX))
+
+    r_gnuplot = (R_EARTH-r_next)/1000.d0
+    write(27,*) sngl(r_gnuplot),sngl(num_points_per_lambda_S * vp/vs),sngl(num_points_per_lambda_S),sngl(stability)
+
+  endif
+
+  enddo
+
+  enddo
+
+  close(27)
+
+!---------------------------------------------------------------
+
+! find element below top of which we should implement the second doubling in the mantle
+! locate element closest to optimal value
+  distance_min = HUGEVAL
+  do ielem = 1,NER_TOPDDOUBLEPRIME_771
+    zval = RTOPDDOUBLEPRIME + ielem * (R771 - RTOPDDOUBLEPRIME) / dble(NER_TOPDDOUBLEPRIME_771)
+    distance = abs(zval - (R_EARTH - DEPTH_SECOND_DOUBLING_OPTIMAL))
+    if(distance < distance_min) then
+      elem_doubling_mantle = ielem
+      distance_min = distance
+      DEPTH_SECOND_DOUBLING_REAL = R_EARTH - zval
+    endif
+  enddo
+  print *,'for second doubling, selected element ',elem_doubling_mantle,' at depth ', &
+              DEPTH_SECOND_DOUBLING_REAL,' and distance ',distance_min,' from optimal depth'
+  print *
+
+! find element below top of which we should implement the third doubling in the middle of the outer core
+! locate element closest to optimal value
+  distance_min = HUGEVAL
+! start at element number 2 because we need at least one element below for the fourth doubling
+! implemented at the bottom of the outer core
+  do ielem = 2,NER_OUTER_CORE
+    zval = RICB + ielem * (RCMB - RICB) / dble(NER_OUTER_CORE)
+    distance = abs(zval - (R_EARTH - DEPTH_THIRD_DOUBLING_OPTIMAL))
+    if(distance < distance_min) then
+      elem_doubling_middle_outer_core = ielem
+      distance_min = distance
+      DEPTH_THIRD_DOUBLING_REAL = R_EARTH - zval
+    endif
+  enddo
+  print *,'for third doubling, selected element ',elem_doubling_middle_outer_core,' at depth ', &
+              DEPTH_THIRD_DOUBLING_REAL,' and distance ',distance_min,' from optimal depth'
+  print *
+
+! find element below top of which we should implement the fourth doubling in the middle of the outer core
+! locate element closest to optimal value
+  distance_min = HUGEVAL
+! stop one element before the top because we need at least one element above for the third doubling
+! implemented in the middle of the outer core
+  do ielem = 1,NER_OUTER_CORE-1
+    zval = RICB + ielem * (RCMB - RICB) / dble(NER_OUTER_CORE)
+    distance = abs(zval - (R_EARTH - DEPTH_FOURTH_DOUBLING_OPTIMAL))
+    if(distance < distance_min) then
+      elem_doubling_bottom_outer_core = ielem
+      distance_min = distance
+      DEPTH_FOURTH_DOUBLING_REAL = R_EARTH - zval
+    endif
+  enddo
+  print *,'for fourth doubling, selected element ',elem_doubling_bottom_outer_core,' at depth ', &
+              DEPTH_FOURTH_DOUBLING_REAL,' and distance ',distance_min,' from optimal depth'
+  print *
+
+! make sure that the two doublings in the outer core are found in the right order
+  if(elem_doubling_bottom_outer_core >= elem_doubling_middle_outer_core) &
+                  stop 'error in location of the two doublings in the outer core'
+
+! define all the layers for the mesh
+  ner( 1) = NER_220_CRUST
+  ner( 2) = NER_400_220
+  ner( 3) = NER_600_400
+  ner( 4) = NER_670_600
+  ner( 5) = NER_771_670
+  ner( 6) = NER_TOPDDOUBLEPRIME_771 - elem_doubling_mantle
+  ner( 7) = elem_doubling_mantle
+  ner( 8) = NER_CMB_TOPDDOUBLEPRIME
+  ner( 9) = NER_OUTER_CORE - elem_doubling_middle_outer_core
+  ner(10) = elem_doubling_middle_outer_core - elem_doubling_bottom_outer_core
+  ner(11) = elem_doubling_bottom_outer_core
+  ner(12) = NER_TOP_CENTRAL_CUBE_ICB
+
+! value of the doubling ratio in each radial region of the mesh
+  ratio_sampling_array(1:6) = 1
+  ratio_sampling_array(7:9) = 2
+  ratio_sampling_array(10) = 4
+  ratio_sampling_array(11:12) = 8
+
+! define the three regions in which we implement a mesh doubling at the top of that region
+  this_region_has_a_doubling(:)  = .false.
+  this_region_has_a_doubling(7)  = .true.
+  this_region_has_a_doubling(10) = .true.
+  this_region_has_a_doubling(11) = .true.
+
+! define the top and bottom radii of all the regions of the mesh in the radial direction
+! the first region is the crust at the surface of the Earth
+! the last region is in the inner core near the center of the Earth
+  r_top(1) = R_EARTH
+  r_bottom(1) = R220
+
+  r_top(2) = R220
+  r_bottom(2) = R400
+
+  r_top(3) = R400
+  r_bottom(3) = R600
+
+  r_top(4) = R600
+  r_bottom(4) = R670
+
+  r_top(5) = R670
+  r_bottom(5) = R771
+
+  r_top(6) = R771
+  r_bottom(6) = R_EARTH - DEPTH_SECOND_DOUBLING_REAL
+
+  r_top(7) = R_EARTH - DEPTH_SECOND_DOUBLING_REAL
+  r_bottom(7) = RTOPDDOUBLEPRIME
+
+  r_top(8) = RTOPDDOUBLEPRIME
+  r_bottom(8) = RCMB
+
+  r_top(9) = RCMB
+  r_bottom(9) = R_EARTH - DEPTH_THIRD_DOUBLING_REAL
+
+  r_top(10) = R_EARTH - DEPTH_THIRD_DOUBLING_REAL
+  r_bottom(10) = R_EARTH - DEPTH_FOURTH_DOUBLING_REAL
+
+  r_top(11) = R_EARTH - DEPTH_FOURTH_DOUBLING_REAL
+  r_bottom(11) = RICB
+
+  r_top(12) = RICB
+  r_bottom(12) = R_CENTRAL_CUBE
+
+! create the mesh doubling superbrick
+  call define_superbrick_2D(x_superbrick,z_superbrick,ibool_superbrick)
+
+! compute total number of spectral elements in the mesh
+  nspec = 0
+
+  do ilayer = 1,NUMBER_OF_MESH_LAYERS
+
+    ner_without_doubling = ner(ilayer)
+
+! if there is a doubling at the top of this region, we implement it in the last layer of elements
+! and therefore we suppress one layer of regular elements here
+    if(this_region_has_a_doubling(ilayer)) ner_without_doubling = ner_without_doubling - 1
+
+    number_basic_elems_horizontal = (NEX_PER_PROC_XI/ratio_sampling_array(ilayer))
+
+    nspec = nspec + ner_without_doubling * number_basic_elems_horizontal
+
+! If there is a doubling at the top of this region, let us add these elements.
+! The superbrick implements a symmetric four-to-two doubling and therefore replaces
+! a basic regular block of 2 elements.
+! We have imposed that NEX be a multiple of 16 therefore we know that we can always create
+! these 2 blocks because NEX_PER_PROC_XI / ratio_sampling_array(ilayer) is always divisible by 2.
+    if(this_region_has_a_doubling(ilayer)) nspec = nspec + NSPEC_DOUBLING_SUPERBRICK * number_basic_elems_horizontal / 2
+
+  enddo
+
+! compute total number of OpenDX points in the mesh (many are identical, but simpler to duplicate them here)
+  npoin = nspec * NGNOD_OPENDX
+
+! corner nodes
+  iaddx(1) = 0
+  iaddr(1) = 0
+
+  iaddx(2) = 1
+  iaddr(2) = 0
+
+  iaddx(3) = 1
+  iaddr(3) = 1
+
+  iaddx(4) = 0
+  iaddr(4) = 1
+
+!---
+!--- create an OpenDX file with the whole mesh and
+!--- another OpenDX file with the worst elements for the stability condition (Courant number) only
+!---
+
+! allocate arrays to store Courant stability value and mesh resolution for S waves
+  allocate(color(nspec))
+  allocate(courant_stability_number(nspec))
+  allocate(copy_courant_stability_number(nspec))
+  allocate(number_points_S_wavelength(nspec))
+  allocate(copy_number_points_S_wavelength(nspec))
+
+! write OpenDX header with element data
+  write(filename,"('DX_fullmesh_',i4.4,'.dx')") NEX
+  open(unit=11,file=filename,status='unknown')
+  write(11,*) 'object 1 class array type float rank 1 shape 3 items ',npoin,' data follows'
+
+  write(filename,"('DX_worst_stability_',i4.4,'.dx')") NEX
+  open(unit=12,file=filename,status='unknown')
+  write(12,*) 'object 1 class array type float rank 1 shape 3 items ',npoin,' data follows'
+
+  write(filename,"('DX_worst_sampling_',i4.4,'.dx')") NEX
+  open(unit=13,file=filename,status='unknown')
+  write(13,*) 'object 1 class array type float rank 1 shape 3 items ',npoin,' data follows'
+
+! final spectral element number
+  ispec_final = 0
+
+! output global OpenDX points
+  do ilayer = 1,NUMBER_OF_MESH_LAYERS
+
+! loop on all the elements
+   do ix_elem = 1,NEX_PER_PROC_XI,ratio_sampling_array(ilayer)
+
+    ner_without_doubling = ner(ilayer)
+
+! if there is a doubling at the top of this region, we implement it in the last layer of elements
+! and therefore we suppress one layer of regular elements here
+    if(this_region_has_a_doubling(ilayer)) ner_without_doubling = ner_without_doubling - 1
+
+   do ir_elem = 1,ner_without_doubling
+
+! final spectral element number
+   ispec_final = ispec_final + 1
+
+! loop on all the nodes of this element
+   do ignod = 1,NGNOD_OPENDX
+
+! define topological coordinates of this mesh point
+    ix = (ix_elem - 1) + iaddx(ignod) * ratio_sampling_array(ilayer)
+    ir = (ir_elem - 1) + iaddr(ignod)
+
+! compute the actual position of that grid point
+    call compute_value_grid_main_mesh(dble(ix),dble(ir),xelm(ignod),zelm(ignod), &
+               ANGULAR_WIDTH_XI_RAD,iproc_xi,NPROC_XI,NEX_PER_PROC_XI,R_CENTRAL_CUBE, &
+               r_top(ilayer),r_bottom(ilayer),ner(ilayer),ilayer)
+
+    write(11,"(f10.7,1x,f10.7,' 0')") xelm(ignod),zelm(ignod)
+    write(12,"(f10.7,1x,f10.7,' 0')") xelm(ignod),zelm(ignod)
+    write(13,"(f10.7,1x,f10.7,' 0')") xelm(ignod),zelm(ignod)
+
+! end of loop on all the nodes of this element
+  enddo
+
+! scale arrays from unit sphere to real Earth
+   xelm(:) = xelm(:) * R_EARTH
+   zelm(:) = zelm(:) * R_EARTH
+
+! compute minimum and maximum distance using the 8 corners of the element
+   distance_min = + HUGEVAL
+   distance_max = - HUGEVAL
+   do iedge = 1,NEDGES
+     ignod = list_corners_edge(iedge,1)
+     ignod2 = list_corners_edge(iedge,2)
+     distance = sqrt((xelm(ignod2) - xelm(ignod))**2 + (zelm(ignod2) - zelm(ignod))**2)
+     distance_min = min(distance_min,distance)
+     distance_max = max(distance_max,distance)
+   enddo
+
+! determine P and S velocity at the barycenter of the element
+   xval = sum(xelm(:)) / NGNOD_OPENDX
+   zval = sum(zelm(:)) / NGNOD_OPENDX
+   r = sqrt(xval**2 + zval**2)
+   call prem_iso(r,rho,vp,vs,ratio_sampling)
+! for outer core, in which there is no S wave velocity, use P velocity potential with a margin to be safe
+  if(vs < 0.001d0) vs = vp / MARGIN_SAFE
+! if we are in the last region (the inner core), ignore S-wave velocity because we purposely
+! make sampling bad there since Poisson's ratio is too high
+  if(ilayer == NUMBER_OF_MESH_LAYERS) vs = HUGEVAL
+
+! store stability condition (Courant number) and number of points per S wavelength for that element
+   courant_stability_number(ispec_final) = vp * DT / (distance_min * percent_GLL(NGLLX))
+   number_points_S_wavelength(ispec_final) = period_min * vs / (distance_max / (NGLLX - 1))
+
+! store region number to color that element
+
+! we are in the crust or mantle
+   if(ilayer <= 8) then
+     color(ispec_final) = 1
+
+! we are in the inner core
+   else if(ilayer == NUMBER_OF_MESH_LAYERS) then
+     color(ispec_final) = 3
+
+! we are in the outer core
+   else
+     color(ispec_final) = 2
+   endif
+
+! end of loop on all the regular elements
+  enddo
+  enddo
+
+! If there is a doubling at the top of this region, let us add these elements.
+! The superbrick implements a symmetric four-to-two doubling and therefore replaces
+! a basic regular block of 2 elements.
+! We have imposed that NEX be a multiple of 16 therefore we know that we can always create
+! these 2 blocks because NEX_PER_PROC_XI / ratio_sampling_array(ilayer) is always divisible by 2.
+    if(this_region_has_a_doubling(ilayer)) then
+
+! the doubling is implemented in the last radial element
+      ir_elem = ner(ilayer)
+
+! loop on all the elements in the 2 x 2 blocks
+      do ix_elem = 1,NEX_PER_PROC_XI,2*ratio_sampling_array(ilayer)
+
+! loop on all the elements in the mesh doubling superbrick
+          do ispec = 1,NSPEC_DOUBLING_SUPERBRICK
+
+! final spectral element number
+            ispec_final = ispec_final + 1
+
+! loop on all the nodes of this element
+            do ignod = 1,NGNOD_OPENDX
+
+! define topological coordinates of this mesh point
+              xval = (ix_elem - 1) + x_superbrick(ibool_superbrick(ignod,ispec)) * ratio_sampling_array(ilayer)
+              rval = (ir_elem - 1) + z_superbrick(ibool_superbrick(ignod,ispec))
+
+! compute the actual position of that grid point
+              call compute_value_grid_main_mesh(xval,rval,xelm(ignod),zelm(ignod), &
+                       ANGULAR_WIDTH_XI_RAD,iproc_xi,NPROC_XI,NEX_PER_PROC_XI,R_CENTRAL_CUBE, &
+                       r_top(ilayer),r_bottom(ilayer),ner(ilayer),ilayer)
+
+              write(11,"(f10.7,1x,f10.7,' 0')") xelm(ignod),zelm(ignod)
+              write(12,"(f10.7,1x,f10.7,' 0')") xelm(ignod),zelm(ignod)
+              write(13,"(f10.7,1x,f10.7,' 0')") xelm(ignod),zelm(ignod)
+
+! end of loop on all the nodes of this element
+            enddo
+
+! scale arrays from unit sphere to real Earth
+   xelm(:) = xelm(:) * R_EARTH
+   zelm(:) = zelm(:) * R_EARTH
+
+! compute minimum and maximum distance using the 8 corners of the element
+   distance_min = + HUGEVAL
+   distance_max = - HUGEVAL
+   do iedge = 1,NEDGES
+     ignod = list_corners_edge(iedge,1)
+     ignod2 = list_corners_edge(iedge,2)
+     distance = sqrt((xelm(ignod2) - xelm(ignod))**2 + (zelm(ignod2) - zelm(ignod))**2)
+     distance_min = min(distance_min,distance)
+     distance_max = max(distance_max,distance)
+   enddo
+
+! determine P and S velocity at the barycenter of the element
+   xval = sum(xelm(:)) / NGNOD_OPENDX
+   zval = sum(zelm(:)) / NGNOD_OPENDX
+   r = sqrt(xval**2 + zval**2)
+   call prem_iso(r,rho,vp,vs,ratio_sampling)
+! for outer core, in which there is no S wave velocity, use P velocity potential with a margin to be safe
+  if(vs < 0.001d0) vs = vp / MARGIN_SAFE
+! if we are in the last region (the inner core), ignore S-wave velocity because we purposely
+! make sampling bad there since Poisson's ratio is too high, therefore compute for Vp instead
+  if(ilayer == NUMBER_OF_MESH_LAYERS) vs = HUGEVAL
+
+! store stability condition (Courant number) for that element
+   courant_stability_number(ispec_final) = vp * DT / (distance_min * percent_GLL(NGLLX))
+   number_points_S_wavelength(ispec_final) = period_min * vs / (distance_max / (NGLLX - 1))
+
+! store region number to color that element
+
+! we are in the crust or mantle
+   if(ilayer <= 8) then
+     color(ispec_final) = 1
+
+! we are in the inner core
+   else if(ilayer == NUMBER_OF_MESH_LAYERS) then
+     color(ispec_final) = 3
+
+! we are in the outer core
+   else
+     color(ispec_final) = 2
+   endif
+
+! end of loops on the mesh doubling elements
+        enddo
+      enddo
+
+    endif
+
+  enddo
+
+!---------------------------------------------
+
+! determine the NSPEC_WORST_ELEMENTS worst elements and store their element number
+  copy_courant_stability_number(:) = courant_stability_number(:)
+  copy_number_points_S_wavelength(:) = number_points_S_wavelength(:)
+
+  do ispec = 1,NSPEC_WORST_ELEMENTS
+    ispec_worst_elements_stability(ispec) = maxloc(copy_courant_stability_number(:),dim=1)
+    ispec_worst_elements_sampling(ispec) = minloc(copy_number_points_S_wavelength(:),dim=1)
+! set it to a fictitious value to make sure we do not detect it a second time
+    copy_courant_stability_number(ispec_worst_elements_stability(ispec)) = - HUGEVAL
+    copy_number_points_S_wavelength(ispec_worst_elements_sampling(ispec)) = + HUGEVAL
+  enddo
+
+!---------------------------------------------
+
+! write element header
+  write(11,*) 'object 2 class array type int rank 1 shape 4 items ',nspec,' data follows'
+
+! output global OpenDX elements
+  ioffset = 0
+
+  do ispec = 1,nspec
+
+! point order in OpenDX is 1,4,2,3 *not* 1,2,3,4 as in AVS
+! in the case of OpenDX, node numbers start at zero
+    write(11,"(i6,1x,i6,1x,i6,1x,i6)") ioffset+0,ioffset+3,ioffset+1,ioffset+2
+
+    ioffset = ioffset + NGNOD_OPENDX
+
+  enddo
+
+! write element header
+! represent the NSPEC_WORST_ELEMENTS worst elements
+  write(12,*) 'object 2 class array type int rank 1 shape 4 items ',NSPEC_WORST_ELEMENTS,' data follows'
+
+  do ispec = 1,NSPEC_WORST_ELEMENTS
+
+    ioffset = (ispec_worst_elements_stability(ispec) - 1) * NGNOD_OPENDX
+
+! point order in OpenDX is 1,4,2,3 *not* 1,2,3,4 as in AVS
+! in the case of OpenDX, node numbers start at zero
+    write(12,"(i6,1x,i6,1x,i6,1x,i6)") ioffset+0,ioffset+3,ioffset+1,ioffset+2
+
+  enddo
+
+! write element header
+! represent the NSPEC_WORST_ELEMENTS worst elements
+  write(13,*) 'object 2 class array type int rank 1 shape 4 items ',NSPEC_WORST_ELEMENTS,' data follows'
+
+  do ispec = 1,NSPEC_WORST_ELEMENTS
+
+    ioffset = (ispec_worst_elements_sampling(ispec) - 1) * NGNOD_OPENDX
+
+! point order in OpenDX is 1,4,2,3 *not* 1,2,3,4 as in AVS
+! in the case of OpenDX, node numbers start at zero
+    write(13,"(i6,1x,i6,1x,i6,1x,i6)") ioffset+0,ioffset+3,ioffset+1,ioffset+2
+
+  enddo
+
+! output OpenDX header for data
+! label for quadrangles in OpenDX is "quads"
+  write(11,*) 'attribute "element type" string "quads"'
+  write(11,*) 'attribute "ref" string "positions"'
+  write(11,*) 'object 3 class array type float rank 0 items ',nspec,' data follows'
+
+! write element data
+! color elements according to the region they belong to in order to represent the mesh
+  do ispec = 1,nspec
+    write(11,*) color(ispec)
+  enddo
+
+! represent the NSPEC_WORST_ELEMENTS worst elements
+  write(12,*) 'attribute "element type" string "quads"'
+  write(12,*) 'attribute "ref" string "positions"'
+  write(12,*) 'object 3 class array type float rank 0 items ',NSPEC_WORST_ELEMENTS,' data follows'
+
+! write element data
+! color elements according to the Courant stability number
+  do ispec = 1,NSPEC_WORST_ELEMENTS
+    write(12,*) courant_stability_number(ispec_worst_elements_stability(ispec))
+  enddo
+
+! represent the NSPEC_WORST_ELEMENTS worst elements
+  write(13,*) 'attribute "element type" string "quads"'
+  write(13,*) 'attribute "ref" string "positions"'
+  write(13,*) 'object 3 class array type float rank 0 items ',NSPEC_WORST_ELEMENTS,' data follows'
+
+! write element data
+! color elements according to the number of points per S wavelength
+  do ispec = 1,NSPEC_WORST_ELEMENTS
+    write(13,*) number_points_S_wavelength(ispec_worst_elements_sampling(ispec))
+  enddo
+
+! define OpenDX field
+  write(11,*) 'attribute "dep" string "connections"'
+  write(11,*) 'object "irregular positions irregular connections" class field'
+  write(11,*) 'component "positions" value 1'
+  write(11,*) 'component "connections" value 2'
+  write(11,*) 'component "data" value 3'
+  write(11,*) 'end'
+
+  write(12,*) 'attribute "dep" string "connections"'
+  write(12,*) 'object "irregular positions irregular connections" class field'
+  write(12,*) 'component "positions" value 1'
+  write(12,*) 'component "connections" value 2'
+  write(12,*) 'component "data" value 3'
+  write(12,*) 'end'
+
+  write(13,*) 'attribute "dep" string "connections"'
+  write(13,*) 'object "irregular positions irregular connections" class field'
+  write(13,*) 'component "positions" value 1'
+  write(13,*) 'component "connections" value 2'
+  write(13,*) 'component "data" value 3'
+  write(13,*) 'end'
+
+  close(11)
+  close(12)
+  close(13)
+
+! print information about the maximum Courant number and minimum number of points per wavelength
+! detected in the mesh
+  print *,'Minimum number of points per S wavelength detected in the mesh = ',minval(number_points_S_wavelength), &
+              ' in element ',minloc(number_points_S_wavelength,dim=1)
+  print *
+  print *,'Maximum stability condition (Courant number) detected in the mesh = ',maxval(courant_stability_number), &
+              ' in element ',maxloc(courant_stability_number,dim=1)
+  print *
+
+! deallocate arrays
+  deallocate(color)
+  deallocate(courant_stability_number)
+  deallocate(copy_courant_stability_number)
+  deallocate(number_points_S_wavelength)
+  deallocate(copy_number_points_S_wavelength)
+
+! end of loop on all the cases to study
+  enddo
+
+! create a gnuplot script to display all the results
+  open(unit=27,file='plot_mesh_resolution.gnu',status='unknown')
+  write(27,*) 'set term x11'
+  write(27,*) '######set xrange [0:6371]'
+  write(27,*) '## this to be able to see values in the crust better on a larger interval'
+  write(27,*) 'set xrange [0:6371]'
+  write(27,*) 'set xlabel "Depth (km)"'
+  write(27,*) 'set grid'
+  write(27,*)
+
+! display the PREM model alone
+  write(27,"(a140)") 'plot "prem_model.dat" us 1:2 t ''Vp PREM'' w l 1, "prem_model.dat" us 1:3 t ''Vs PREM'' w l 3'
+  write(27,*) '########pause -1 "hit key"'
+  write(27,*)
+
+! loop on all the cases to study
+!!!!!!!!!!!! DK DK only one case    do icase = 1,NUM_CASES
+  do icase = 2,2
+
+! define value of NEX for this case
+  NEX = NEX_val(icase)
+
+  write(27,*) 'set title "NEX =',NEX,'"'
+  write(27,*)
+
+  write(27,*) 'set ylabel "Number of points per S wavelength"'
+  write(27,*) 'set yrange [0:14]'
+  write(27,*) 'set ytics 0,1,14'
+  write(27,100) NEX,NEX
+  write(27,*) 'pause -1 "hit key"'
+  write(27,*)
+
+  write(27,*) 'set ylabel "Number of points per P wavelength"'
+  write(27,*) 'set yrange [0:20]'
+  write(27,*) 'set ytics 0,1,20'
+  write(27,200) NEX,NEX
+  write(27,*) 'pause -1 "hit key"'
+  write(27,*)
+
+  write(27,*) 'set ylabel "Stability condition (Courant number)"'
+  write(27,*) 'set yrange [0:1]'
+  write(27,*) 'set ytics 0,0.1,1'
+  write(27,300) NEX,NEX
+  write(27,*) 'pause -1 "hit key"'
+  write(27,*)
+
+! end of loop on all the cases to study
+  enddo
+
+! formats for output
+ 100 format('plot "prem_radial_sampling_',i4.4,'.dat" us 1:3 t ''Vs sampling radial'' w linesp 1, &
+    & "prem_horizontal_sampling_',i4.4,'.dat" us 1:3 t ''Vs sampling horizontal'' w l 3, &
+    & "cmb.dat" t '''' w l 6, "icb.dat" t '''' w l 6')
+
+ 200 format('plot "prem_radial_sampling_',i4.4,'.dat" us 1:2 t ''Vp sampling radial'' w linesp 1, &
+    & "prem_horizontal_sampling_',i4.4,'.dat" us 1:2 t ''Vp sampling horizontal'' w l 3, &
+    & "cmb.dat" t '''' w l 6, "icb.dat" t '''' w l 6')
+
+ 300 format('plot "prem_radial_sampling_',i4.4,'.dat" us 1:4 t ''Stability radial'' w linesp 1, &
+    & "prem_horizontal_sampling_',i4.4,'.dat" us 1:4 t ''Stability horizontal'' w l 3, &
+    & "cmb.dat" t '''' w l 6, "icb.dat" t '''' w l 6')
+
+  close(27)
+
+  end program display_prem_sampling_doubling
+
+!---------------------------------------------------------------------------
+
+! include code to define the mesh doubling superbrick
+
+  include "define_superbrick_2D.f90"
+
+!---------------------------------------------------------------------------
+
+  subroutine compute_value_grid_main_mesh(xval,rval,xgrid,zgrid, &
+               ANGULAR_WIDTH_XI_RAD,iproc_xi,NPROC_XI,NEX_PER_PROC_XI,R_CENTRAL_CUBE,r_top,r_bottom,ner,ilayer)
+
+  implicit none
+
+  include "constants_modified_2D.h"
+
+  integer :: iproc_xi,NPROC_XI,NEX_PER_PROC_XI,ner,ilayer
+
+  double precision :: xval,rval,xgrid,zgrid,ANGULAR_WIDTH_XI_RAD,R_CENTRAL_CUBE,r_top,r_bottom
+
+! local variables
+  double precision :: xi,gamma,x,rgb,rgt,rn
+  double precision :: x_bot,z_bot
+  double precision :: x_top,z_top
+
+! full Earth (cubed sphere)
+  xi = - ANGULAR_WIDTH_XI_RAD/2.d0 + (iproc_xi + xval/dble(NEX_PER_PROC_XI))*ANGULAR_WIDTH_XI_RAD/dble(NPROC_XI)
+  x = tan(xi)
+
+  gamma = ONE / sqrt(ONE + x*x)
+
+  rgt = (r_top / R_EARTH)*gamma
+  rgb = (r_bottom / R_EARTH)*gamma
+
+! define the mesh points on the top and the bottom in the cubed shpere
+  x_top = -x*rgt
+  z_top = rgt
+
+  x_bot = -x*rgb
+  z_bot = rgb
+
+! modify in the inner core to match the central cube instead of a sphere
+! this mesh works because even if ellipticity and/or topography are turned on
+! at this stage the reference Earth is still purely spherical
+! therefore it will always perfectly match the sphere defined above
+  if(ilayer == NUMBER_OF_MESH_LAYERS) then ! if we are in the last region (the inner core)
+
+    x_bot = -x
+    z_bot = ONE
+
+! rescale central cube to match cubed sphere
+    x_bot = x_bot * (R_CENTRAL_CUBE/R_EARTH) / sqrt(3.d0)
+    z_bot = z_bot * (R_CENTRAL_CUBE/R_EARTH) / sqrt(3.d0)
+
+  endif
+
+! compute the position of the point
+  rn = rval / dble(ner)
+  xgrid = x_top*rn + x_bot*(ONE-rn)
+  zgrid = z_top*rn + z_bot*(ONE-rn)
+
+  end subroutine compute_value_grid_main_mesh
+
+!---------------------------------------------------------------------------
+
+  subroutine prem_iso(r,rho,vp,vs,ratio_sampling)
+
+  implicit none
+
+  include "constants_modified_2D.h"
+
+  double precision :: r,x,rho,vp,vs,ratio_sampling
+
+  x = r / R_EARTH
+
+!
+! PREM
+!
+!--- inner core
+!
+  if(r <= RICB) then
+    rho=13.0885d0-8.8381d0*x*x
+    vp=11.2622d0-6.3640d0*x*x
+    vs=3.6678d0-4.4475d0*x*x
+    if(IMPLEMENT_FOURTH_DOUBLING) then
+      ratio_sampling = 8.d0
+    else
+      ratio_sampling = 4.d0
+    endif
+!
+!--- outer core
+!
+  else if(r > RICB .and. r <= RCMB) then
+    rho=12.5815d0-1.2638d0*x-3.6426d0*x*x-5.5281d0*x*x*x
+    vp=11.0487d0-4.0362d0*x+4.8023d0*x*x-13.5732d0*x*x*x
+    vs=0.0d0
+
+    if(IMPLEMENT_FOURTH_DOUBLING) then
+! third and fourth doublings
+      if(r > R_EARTH - DEPTH_THIRD_DOUBLING_OPTIMAL) then
+        ratio_sampling = 2.d0
+      else if(r > R_EARTH - DEPTH_FOURTH_DOUBLING_OPTIMAL) then
+        ratio_sampling = 4.d0
+      else
+        ratio_sampling = 8.d0
+      endif
+    else
+! third doubling
+      if(r > R_EARTH - DEPTH_THIRD_DOUBLING_OPTIMAL) then
+        ratio_sampling = 2.d0
+      else
+        ratio_sampling = 4.d0
+      endif
+    endif
+
+!
+!--- D" at the base of the mantle
+!
+  else if(r > RCMB .and. r <= RTOPDDOUBLEPRIME) then
+    rho=7.9565d0-6.4761d0*x+5.5283d0*x*x-3.0807d0*x*x*x
+    vp=15.3891d0-5.3181d0*x+5.5242d0*x*x-2.5514d0*x*x*x
+    vs=6.9254d0+1.4672d0*x-2.0834d0*x*x+0.9783d0*x*x*x
+    ratio_sampling = 2.d0
+!
+!--- mantle: from top of D" to d670
+!
+  else if(r > RTOPDDOUBLEPRIME .and. r <= R771) then
+    rho=7.9565d0-6.4761d0*x+5.5283d0*x*x-3.0807d0*x*x*x
+    vp=24.9520d0-40.4673d0*x+51.4832d0*x*x-26.6419d0*x*x*x
+    vs=11.1671d0-13.7818d0*x+17.4575d0*x*x-9.2777d0*x*x*x
+
+! second doubling
+    if(r > R_EARTH - DEPTH_SECOND_DOUBLING_OPTIMAL) then
+      ratio_sampling = 1.d0
+    else
+      ratio_sampling = 2.d0
+    endif
+
+  else if(r > R771 .and. r <= R670) then
+    rho=7.9565d0-6.4761d0*x+5.5283d0*x*x-3.0807d0*x*x*x
+    vp=29.2766d0-23.6027d0*x+5.5242d0*x*x-2.5514d0*x*x*x
+    vs=22.3459d0-17.2473d0*x-2.0834d0*x*x+0.9783d0*x*x*x
+    ratio_sampling = 1.d0
+!
+!--- mantle: above d670
+!
+  else if(r > R670 .and. r <= R600) then
+    rho=5.3197d0-1.4836d0*x
+    vp=19.0957d0-9.8672d0*x
+    vs=9.9839d0-4.9324d0*x
+    ratio_sampling = 1.d0
+  else if(r > R600 .and. r <= R400) then
+    rho=11.2494d0-8.0298d0*x
+    vp=39.7027d0-32.6166d0*x
+    vs=22.3512d0-18.5856d0*x
+    ratio_sampling = 1.d0
+  else if(r > R400 .and. r <= R220) then
+    rho=7.1089d0-3.8045d0*x
+    vp=20.3926d0-12.2569d0*x
+    vs=8.9496d0-4.4597d0*x
+    ratio_sampling = 1.d0
+  else if(r > R220) then
+!! DK DK completely suppressed the crust for PKP study
+    rho=2.6910d0+0.6924d0*x
+    vp=4.1875d0+3.9382d0*x
+    vs=2.1519d0+2.3481d0*x
+    ratio_sampling = 1.d0
+  endif
+
+  rho=rho*1000.0d0
+  vp=vp*1000.0d0
+  vs=vs*1000.0d0
+
+  end subroutine prem_iso
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/display_prem_sampling_doubling_v36.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/display_prem_sampling_doubling_v36.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/display_prem_sampling_doubling_v36.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,1427 @@
+!=====================================================================
+!
+!          S p e c f e m 3 D  G l o b e  V e r s i o n  3 . 7
+!          --------------------------------------------------
+!
+!                 Dimitri Komatitsch and Jeroen Tromp
+!    Seismological Laboratory - California Institute of Technology
+!          (c) California Institute of Technology January 2007
+!
+! This program is free software; you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation; either version 2 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License along
+! with this program; if not, write to the Free Software Foundation, Inc.,
+! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+!
+!=====================================================================
+
+  program display_prem_sampling_doubling
+
+  implicit none
+
+  include "constants_modified_v36.h"
+
+! honor PREM Moho or not
+! doing so drastically reduces the stability condition and therefore the time step
+  logical, parameter :: HONOR_1D_SPHERICAL_MOHO = .true.
+
+! resolution target for minimum number of points per S wavelength in the whole mesh
+  double precision, parameter :: RESOLUTION_TARGET = 4.d0
+
+! for outer core, in which there is no S wave velocity, use P velocity potential with a margin to be safe
+  double precision, parameter :: MARGIN_SAFE = 1.25d0
+
+  integer :: NEX,NEX_XI,NEX_ETA,NPROC_XI,NPROC_ETA,NEX_PER_PROC_XI,NEX_PER_PROC_ETA
+
+  integer :: NER_CRUST, NER_80_MOHO, NER_220_80, NER_400_220, NER_600_400, NER_670_600, NER_771_670, &
+    NER_TOPDDOUBLEPRIME_771, NER_CMB_TOPDDOUBLEPRIME, NER_OUTER_CORE, NER_TOP_CENTRAL_CUBE_ICB
+
+  double precision :: DT,RMOHO_FICTITIOUS_IN_MESHER
+
+  logical :: ONE_CRUST
+
+  integer, dimension(NUMBER_OF_MESH_LAYERS) :: ner,ratio_sampling_array
+  double precision, dimension(NUMBER_OF_MESH_LAYERS) :: r_bottom,r_top
+  logical, dimension(NUMBER_OF_MESH_LAYERS) :: this_region_has_a_doubling
+  integer number_basic_elems_horizontal,ner_without_doubling
+
+! small offset to avoid being exactly on an interface
+  double precision, parameter :: SMALL_OFFSET = 200.d0
+
+  double precision, parameter :: R_CENTRAL_CUBE = RICB - 150000.d0
+
+  integer ilayer,ipoin,ielem
+
+  double precision :: r,r_next,rho,vp,vs,ratio_sampling,spectral_element_size, &
+               average_mesh_point_size,num_points_per_lambda_S,stability,period_min,gamma, &
+               ratio_sampling_new,vp_new,vs_new,r_gnuplot
+
+!!!!!! DK DK exclude center of inner core to avoid division by zero
+!!!!!! DK DK we have: 1000 * 1200/6371 = 188.35347
+!!!!!! DK DK therefore the central cube ends around i = 188
+!!!!!! DK DK  do i=1,1000
+  integer, parameter :: NINIT = 140
+
+! mesh chunk has a size of 90 x 90 degrees
+  double precision, parameter :: ANGULAR_WIDTH_XI_IN_DEGREES = 90.d0
+  double precision, parameter :: ANGULAR_WIDTH_ETA_IN_DEGREES = 90.d0
+
+  double precision, parameter :: ANGULAR_WIDTH_XI_RAD = ANGULAR_WIDTH_XI_IN_DEGREES * PI / 180.d0
+  double precision, parameter :: ANGULAR_WIDTH_ETA_RAD = ANGULAR_WIDTH_ETA_IN_DEGREES * PI / 180.d0
+
+! show the mesh for the first slice as an example
+  integer, parameter :: iproc_xi = 0, iproc_eta = 0
+
+  integer ix,iy,ir
+  integer ix_elem,iy_elem,ir_elem
+
+! number of nodes of an OpenDX element
+  integer, parameter :: NGNOD_OPENDX = 8
+
+! topology of the elements
+  integer, dimension(NGNOD_OPENDX) :: iaddx,iaddy,iaddr
+
+  integer :: ispec,ispec_final,nspec,npoin,ioffset,ignod,ignod2
+  double precision, dimension(NGNOD_OPENDX) :: xelm,yelm,zelm
+  double precision :: xval,yval,zval,rval
+
+! list of corners defining the edges
+  integer, parameter :: NEDGES = 12
+  integer, dimension(NEDGES,2) :: list_corners_edge
+  integer iedge
+
+  integer :: elem_doubling_mantle,elem_doubling_middle_outer_core,elem_doubling_bottom_outer_core
+  double precision :: DEPTH_SECOND_DOUBLING_REAL,DEPTH_THIRD_DOUBLING_REAL, &
+                          DEPTH_FOURTH_DOUBLING_REAL,distance,distance_min,distance_max
+
+! mesh doubling superbrick
+  integer, dimension(NGNOD_DOUBLING_SUPERBRICK,NSPEC_DOUBLING_SUPERBRICK) :: ibool_superbrick
+  double precision, dimension(NGLOB_DOUBLING_SUPERBRICK) :: x_superbrick,y_superbrick,z_superbrick
+
+! for the stability condition
+! maximum polynomial degree for which we can compute the stability condition
+  integer, parameter :: NGLLX_MAX_STABILITY = 15
+  double precision :: percent_GLL(NGLLX_MAX_STABILITY)
+
+! allocate arrays to store Courant stability value and mesh resolution for S waves
+  integer, parameter :: NSPEC_WORST_ELEMENTS = 50
+  integer, dimension(NSPEC_WORST_ELEMENTS) :: ispec_worst_elements_stability,ispec_worst_elements_sampling
+  integer, dimension(:), allocatable :: color
+  double precision, dimension(:), allocatable :: courant_stability_number, &
+      copy_courant_stability_number,number_points_S_wavelength,copy_number_points_S_wavelength
+
+! number of different cases to study
+  integer, parameter :: NUM_CASES = 9
+  integer, dimension(NUM_CASES) :: NEX_val
+  integer icase
+
+! variable file name for output files
+  character(len=150) filename
+
+! remove old files
+  call system('rm -f DX_fullmesh*.dx DX_worst*.dx prem_horizontal_sampling_*.dat prem_radial_sampling*.dat')
+
+! case of multiples of 32
+  NEX_val(1) = 160
+  NEX_val(2) = 256
+  NEX_val(3) = 320
+  NEX_val(4) = 480
+  NEX_val(5) = 512
+  NEX_val(6) = 640
+  NEX_val(7) = 864
+  NEX_val(8) = 1152
+  NEX_val(9) = 1248
+
+! loop on all the cases to study
+  do icase = 3,3
+
+! define value of NEX for this case
+  NEX = NEX_val(icase)
+
+  NEX_XI = NEX
+  NEX_ETA = NEX
+
+!!! DK DK use highest possible number of processors to create smallest slice for serial tests
+  NPROC_XI = NEX_XI/32
+  NPROC_ETA = NPROC_XI
+
+  NEX_PER_PROC_XI = NEX_XI / NPROC_XI
+  NEX_PER_PROC_ETA = NEX_ETA / NPROC_ETA
+
+! check that mesh can be coarsened in depth four times (block size must be a multiple of 32)
+  if(mod(NEX_XI,32) /= 0) stop 'NEX_XI must be a multiple of 32'
+  if(mod(NEX_ETA,32) /= 0) stop 'NEX_ETA must be a multiple of 32'
+  if(mod(NEX_XI/32,NPROC_XI) /= 0) stop 'NEX_XI must be a multiple of 32*NPROC_XI'
+  if(mod(NEX_ETA/32,NPROC_ETA) /= 0) stop 'NEX_ETA must be a multiple of 32*NPROC_ETA'
+
+  print *,'-----------------------------------------'
+  print *
+  print *,'NEX used = ',NEX
+  print *
+  print *,'NPROC_XI used = ',NPROC_XI
+  print *
+
+! period min for 4.000000 points per lambda S min in horizontal direction =    27.38702
+! element width =   0.5625000      degrees =    62.54715      km
+  if(NEX == 160) then
+    DT                       = 0.26d0 * 0.30d0 / 0.2511
+! stability max = approximately 0.2511
+    NER_CRUST                = 2
+    NER_80_MOHO              = 2 !!!!!!!!!!!! YYYYYYYYYYYYYYYYYYYYYYYY error if 1 here
+!!!!!!!!!!!!! YYYYYYYYYYYYYYYYYYY tester que jamais plus petit que 2, sinon stop
+    NER_220_80               = 1
+    NER_400_220              = 2
+    NER_600_400              = 2
+    NER_670_600              = 1
+    NER_771_670              = 1
+    NER_TOPDDOUBLEPRIME_771  = 15
+    NER_CMB_TOPDDOUBLEPRIME  = 1
+    NER_OUTER_CORE           = 16
+    NER_TOP_CENTRAL_CUBE_ICB = 1
+
+! period min for    4.000000 points per lambda S min in horizontal direction =    17.11689
+! element width =   0.3515625      degrees =    39.09196      km
+  else if(NEX == 256) then
+    DT                       = 0.20d0 * 0.30d0 / 0.2565
+! stability max = approximately 0.2565
+    NER_CRUST                = 2
+    NER_80_MOHO              = 2 !!!!!!!!!!!! YYYYYYYYYYYYYYYYYYYYYYYY error if 1 here
+!!!!!!!!!!!!! YYYYYYYYYYYYYYYYYYY tester que jamais plus petit que 2, sinon stop
+    NER_220_80               = 2
+    NER_400_220              = 3
+    NER_600_400              = 3
+    NER_670_600              = 1
+    NER_771_670              = 1
+    NER_TOPDDOUBLEPRIME_771  = 22
+    NER_CMB_TOPDDOUBLEPRIME  = 2
+    NER_OUTER_CORE           = 24
+    NER_TOP_CENTRAL_CUBE_ICB = 2
+
+! period min for 4.000000 points per lambda S min in horizontal direction =    13.69351
+! element width =   0.2812500      degrees =    31.27357      km
+  else if(NEX == 320) then
+    DT                       = 0.125d0 * 0.30d0 / 0.2429
+! stability max = approximately 0.2429
+    NER_CRUST                = 2
+    NER_80_MOHO              = 2
+    NER_220_80               = 2
+    NER_400_220              = 4
+    NER_600_400              = 4
+    NER_670_600              = 1
+    NER_771_670              = 2
+    NER_TOPDDOUBLEPRIME_771  = 29
+    NER_CMB_TOPDDOUBLEPRIME  = 2
+    NER_OUTER_CORE           = 32
+    NER_TOP_CENTRAL_CUBE_ICB = 2
+
+! period min for 4.000000 points per lambda S min in horizontal direction =    9.129005
+! element width =   0.1875000      degrees =    20.84905      km
+  else if(NEX == 480) then
+    DT                       = 0.125d0 * 0.30d0 / 0.3235
+! stability max = approximately 0.3235
+    NER_CRUST                = 2
+    NER_80_MOHO              = 3
+    NER_220_80               = 3
+    NER_400_220              = 5
+    NER_600_400              = 6
+    NER_670_600              = 2
+    NER_771_670              = 2
+    NER_TOPDDOUBLEPRIME_771  = 44
+    NER_CMB_TOPDDOUBLEPRIME  = 3
+    NER_OUTER_CORE           = 48
+    NER_TOP_CENTRAL_CUBE_ICB = 3
+
+! period min for 4.000000 points per lambda S min in horizontal direction =    8.558443
+! element width =   0.1757812      degrees =    19.54598      km
+  else if(NEX == 512) then
+    DT                       = 0.125d0 * 0.30d0 / 0.3235
+! stability max = approximately 0.3235
+    NER_CRUST                = 2
+    NER_80_MOHO              = 3
+    NER_220_80               = 4
+    NER_400_220              = 6
+    NER_600_400              = 6
+    NER_670_600              = 2
+    NER_771_670              = 3
+    NER_TOPDDOUBLEPRIME_771  = 47
+    NER_CMB_TOPDDOUBLEPRIME  = 3
+    NER_OUTER_CORE           = 51
+    NER_TOP_CENTRAL_CUBE_ICB = 3
+
+! period min for 4.000000 points per lambda S min in horizontal direction =    6.846754
+! element width =   0.1406250      degrees =    15.63679      km
+  else if(NEX == 640) then
+    DT                       = 0.125d0 * 0.30d0 / 0.4067
+! stability max = approximately 0.4067
+    NER_CRUST                = 2
+    NER_80_MOHO              = 4
+    NER_220_80               = 4
+    NER_400_220              = 7
+    NER_600_400              = 8
+    NER_670_600              = 3
+    NER_771_670              = 3
+    NER_TOPDDOUBLEPRIME_771  = 59
+    NER_CMB_TOPDDOUBLEPRIME  = 4
+    NER_OUTER_CORE           = 64
+    NER_TOP_CENTRAL_CUBE_ICB = 4
+
+! period min for 4.000000 points per lambda S min in horizontal direction =    5.071670
+! element width =   0.1041667      degrees =    11.58280      km
+  else if(NEX == 864) then
+    DT                       = 0.0555555555d0 * 0.30d0 / 0.2565
+! stability max = approximately 0.2565
+    NER_CRUST                = 3
+    NER_80_MOHO              = 5
+    NER_220_80               = 6
+    NER_400_220              = 10
+    NER_600_400              = 10
+    NER_670_600              = 3
+    NER_771_670              = 4
+    NER_TOPDDOUBLEPRIME_771  = 79
+    NER_CMB_TOPDDOUBLEPRIME  = 5
+    NER_OUTER_CORE           = 86
+    NER_TOP_CENTRAL_CUBE_ICB = 6
+
+! period min for 4.000000 points per lambda S min in horizontal direction =    3.803752
+! element width =   7.8125000E-02  degrees =    8.687103      km
+  else if(NEX == 1152) then
+    DT                       = 0.0555555555d0 * 0.30d0 / 0.3504
+! stability max = approximately 0.3504
+    NER_CRUST                = 4
+    NER_80_MOHO              = 7
+    NER_220_80               = 8
+    NER_400_220              = 13
+    NER_600_400              = 13
+    NER_670_600              = 4
+    NER_771_670              = 6
+    NER_TOPDDOUBLEPRIME_771  = 106
+    NER_CMB_TOPDDOUBLEPRIME  = 7
+    NER_OUTER_CORE           = 116
+    NER_TOP_CENTRAL_CUBE_ICB = 6
+
+! period min for 4.000000 points per lambda S min in horizontal direction =    3.511156
+! element width =   7.2115384E-02  degrees =    8.018865      km
+  else if(NEX == 1248) then
+    DT                       = 0.05d0 * 0.30d0 / 0.3318
+! stability max = approximately 0.3318
+    NER_CRUST                = 4
+    NER_80_MOHO              = 8
+    NER_220_80               = 8
+    NER_400_220              = 14
+    NER_600_400              = 14
+    NER_670_600              = 5
+    NER_771_670              = 6
+    NER_TOPDDOUBLEPRIME_771  = 114
+    NER_CMB_TOPDDOUBLEPRIME  = 8
+    NER_OUTER_CORE           = 124
+    NER_TOP_CENTRAL_CUBE_ICB = 7
+
+  else
+    stop 'incorrect value of NEX, should use an updated version of auto_NER'
+  endif
+
+!! DK DK UGLY
+  print *,'DT computed for Courant number of 0.30 = ',DT
+  print *
+
+! honor the PREM Moho or define a fictitious Moho in order to have even radial sampling
+! from the d220 to the Earth surface
+  if(HONOR_1D_SPHERICAL_MOHO) then
+    RMOHO_FICTITIOUS_IN_MESHER = RMOHO
+! define ONE_CRUST flag according to number of elements in radial direction in the crust
+    if(NER_CRUST > 1) then
+      ONE_CRUST = .false.
+    else
+      ONE_CRUST = .true.
+    endif
+  else
+    RMOHO_FICTITIOUS_IN_MESHER = R80 + (R_EARTH - R80) * dble(NER_80_MOHO) / dble(NER_80_MOHO + NER_CRUST)
+!!!!!!!!!!!!!!! DK DK ceci a revoir, voir ce qu'on fait dans ce cas-la
+    ONE_CRUST = .false.
+  endif
+
+!
+!--- display the PREM model alone
+!
+  open(unit=27,file='prem_model.dat',status='unknown')
+  do ipoin = 2,1000
+    r = R_EARTH * dble(ipoin)/1000.d0
+    call prem_iso(r,rho,vp,vs,ratio_sampling,ONE_CRUST)
+    write(27,*) sngl((R_EARTH-r)/1000.d0),sngl(vp),sngl(vs)
+  enddo
+  close(27)
+
+!---------------------------------------------------
+!--- mesh resolution in the horizontal direction
+!---------------------------------------------------
+
+! estimate of mesh resolution: minimum resolution is for S waves right below the second doubling
+  r = R_EARTH - DEPTH_SECOND_DOUBLING_OPTIMAL - SMALL_OFFSET ! in meters
+  call prem_iso(r,rho,vp,vs,ratio_sampling,ONE_CRUST)
+  period_min = RESOLUTION_TARGET / (vs * (NGLLX - 1) * (4 * NEX / ratio_sampling) / (2.d0 * PI * r))
+
+  print *
+  print *,'! period min for ',sngl(RESOLUTION_TARGET),' points per lambda S min in horizontal direction = ',sngl(period_min)
+  print *
+  print *,'! element width = ',sngl(360.d0 / (4*NEX)),' degrees = ',sngl(2 * PI * R_EARTH / (4*NEX*1000.d0)),' km'
+  print *
+
+! define percentage of smallest distance between GLL points for NGLLX points
+! percentages were computed by calling the GLL points routine for each degree
+  percent_GLL(2) = 100.d0
+  percent_GLL(3) = 50.d0
+  percent_GLL(4) = 27.639320225002102d0
+  percent_GLL(5) = 17.267316464601141d0
+  percent_GLL(6) = 11.747233803526763d0
+  percent_GLL(7) = 8.4888051860716516d0
+  percent_GLL(8) = 6.4129925745196719d0
+  percent_GLL(9) = 5.0121002294269914d0
+  percent_GLL(10) = 4.0233045916770571d0
+  percent_GLL(11) = 3.2999284795970416d0
+  percent_GLL(12) = 2.7550363888558858d0
+  percent_GLL(13) = 2.3345076678918053d0
+  percent_GLL(14) = 2.0032477366369594d0
+  percent_GLL(15) = 1.7377036748080721d0
+
+! convert to real percentage
+  percent_GLL(:) = percent_GLL(:) / 100.d0
+
+  if(NGLLX > NGLLX_MAX_STABILITY) stop 'cannot estimate the stability condition for that degree'
+
+! list of corners defining the edges
+! the edge number is sorted according to the numbering convention defined in file hex_nodes.f90
+! as well as in DATA/util/YYYYYYYYYYYYYYYYYYYYYYYYYYY DK DK UGLY YYYYYYYYYYYYYYYYYYY
+
+  list_corners_edge( 1,1) = 1
+  list_corners_edge( 1,2) = 2
+
+  list_corners_edge( 2,1) = 2
+  list_corners_edge( 2,2) = 3
+
+  list_corners_edge( 3,1) = 3
+  list_corners_edge( 3,2) = 4
+
+  list_corners_edge( 4,1) = 4
+  list_corners_edge( 4,2) = 1
+
+  list_corners_edge( 5,1) = 1
+  list_corners_edge( 5,2) = 5
+
+  list_corners_edge( 6,1) = 2
+  list_corners_edge( 6,2) = 6
+
+  list_corners_edge( 7,1) = 3
+  list_corners_edge( 7,2) = 7
+
+  list_corners_edge( 8,1) = 4
+  list_corners_edge( 8,2) = 8
+
+  list_corners_edge( 9,1) = 5
+  list_corners_edge( 9,2) = 6
+
+  list_corners_edge(10,1) = 6
+  list_corners_edge(10,2) = 7
+
+  list_corners_edge(11,1) = 7
+  list_corners_edge(11,2) = 8
+
+  list_corners_edge(12,1) = 8
+  list_corners_edge(12,2) = 5
+
+  write(filename,"('prem_horizontal_sampling_',i4.4,'.dat')") NEX
+  open(unit=27,file=filename,status='unknown')
+
+  do ipoin = NINIT,1000
+
+  r = R_EARTH * dble(ipoin)/1000.d0
+
+  call prem_iso(r,rho,vp,vs,ratio_sampling,ONE_CRUST)
+! for outer core, in which there is no S wave velocity, use P velocity potential with a margin to be safe
+  if(vs < 0.001d0) vs = vp / MARGIN_SAFE
+
+! compute mesh size in the horizontal direction at that depth
+  spectral_element_size = (2.d0 * PI * r) / (4 * NEX / ratio_sampling)
+  average_mesh_point_size = spectral_element_size / (NGLLX - 1)
+
+! compute number of elements per wavelength at that depth
+  num_points_per_lambda_S = period_min * vs / average_mesh_point_size
+
+! compute stability condition (Courant number)
+  stability = vp * DT / (spectral_element_size * percent_GLL(NGLLX))
+
+  r_gnuplot = (R_EARTH-r)/1000.d0
+  write(27,*) sngl(r_gnuplot),sngl(num_points_per_lambda_S * vp/vs),sngl(num_points_per_lambda_S),sngl(stability)
+
+! this to be able to see values in the crust better on a larger interval
+  if(r_gnuplot < 10.d0) &
+    write(27,*) '-200 ',sngl(num_points_per_lambda_S * vp/vs),sngl(num_points_per_lambda_S),sngl(stability)
+
+  enddo
+
+  close(27)
+
+!------------------------------------------------
+!--- mesh resolution in the radial direction
+!------------------------------------------------
+
+  ner( 1) = NER_CRUST
+  ner( 2) = NER_80_MOHO
+  ner( 3) = NER_220_80
+  ner( 4) = NER_400_220
+  ner( 5) = NER_600_400
+  ner( 6) = NER_670_600
+  ner( 7) = NER_771_670
+  ner( 8) = NER_TOPDDOUBLEPRIME_771
+  ner( 9) = NER_CMB_TOPDDOUBLEPRIME
+  ner(10) = NER_OUTER_CORE
+  ner(11) = NER_TOP_CENTRAL_CUBE_ICB
+
+! define the top and bottom radii of all the regions of the mesh in the radial direction
+! the first region is the crust at the surface of the Earth
+! the last region is in the inner core near the center of the Earth
+  r_top(1) = R_EARTH
+  r_bottom(1) = RMOHO_FICTITIOUS_IN_MESHER
+
+  r_top(2) = RMOHO_FICTITIOUS_IN_MESHER
+  r_bottom(2) = R80
+
+  r_top(3) = R80
+  r_bottom(3) = R220
+
+  r_top(4) = R220
+  r_bottom(4) = R400
+
+  r_top(5) = R400
+  r_bottom(5) = R600
+
+  r_top(6) = R600
+  r_bottom(6) = R670
+
+  r_top(7) = R670
+  r_bottom(7) = R771
+
+  r_top(8) = R771
+  r_bottom(8) = RTOPDDOUBLEPRIME
+
+  r_top(9) = RTOPDDOUBLEPRIME
+  r_bottom(9) = RCMB
+
+  r_top(10) = RCMB
+  r_bottom(10) = RICB
+
+  r_top(11) = RICB
+  r_bottom(11) = R_CENTRAL_CUBE
+
+  write(filename,"('prem_radial_sampling_',i4.4,'.dat')") NEX
+  open(unit=27,file=filename,status='unknown')
+
+! loop on the layers, start from the last one to go from Earth center to surface
+  do ilayer = NB_LAYERS_SAMPLING_STUDY,1,-1
+
+! loop on all the elements in this layer
+  do ielem = 1,ner(ilayer)
+
+! compute at the bottom of the layer
+  ipoin = ielem - 1
+  gamma =  dble(ipoin) / dble(ner(ilayer))
+  r = r_bottom(ilayer) * (ONE - gamma) + r_top(ilayer) * gamma
+
+! define next point at the top of the layer
+  ipoin = ielem - 1 + 1
+  gamma =  dble(ipoin) / dble(ner(ilayer))
+  r_next = r_bottom(ilayer) * (ONE - gamma) + r_top(ilayer) * gamma
+
+! add security margin to avoid being exactly on an interface
+  r = r + SMALL_OFFSET
+  r_next = r_next - SMALL_OFFSET
+
+! compute mesh size in the horizontal direction at that depth
+  spectral_element_size = r_next - r
+  average_mesh_point_size = spectral_element_size / (NGLLX - 1)
+
+  call prem_iso(r,rho,vp,vs,ratio_sampling,ONE_CRUST)
+! for outer core, in which there is no S wave velocity, use P velocity potential with a margin to be safe
+  if(vs < 0.001d0) vs = vp / MARGIN_SAFE
+
+! compute number of elements per wavelength at that depth
+  num_points_per_lambda_S = period_min * vs / average_mesh_point_size
+
+! compute stability condition (Courant number)
+  stability = vp * DT / (spectral_element_size * percent_GLL(NGLLX))
+
+!!!!!! DK DK quick hack to detect doublings and show problems with small doubling brick
+  call prem_iso(r_next,rho,vp_new,vs_new,ratio_sampling_new,ONE_CRUST)
+  if(ratio_sampling_new < ratio_sampling) stability = stability * 3.d0 / 2.d0
+!!!!!! DK DK quick hack to detect doublings and show problems with small doubling brick
+
+  r_gnuplot = (R_EARTH-r)/1000.d0
+  write(27,*) sngl(r_gnuplot),sngl(num_points_per_lambda_S * vp/vs),sngl(num_points_per_lambda_S),sngl(stability)
+
+! this to be able to see values in the crust better on a larger interval
+  if(r_gnuplot < 10.d0) &
+    write(27,*) '-200 ',sngl(num_points_per_lambda_S * vp/vs),sngl(num_points_per_lambda_S),sngl(stability)
+
+! add one more point at the top of the last layer
+  if(ielem == ner(ilayer)) then
+    call prem_iso(r_next,rho,vp,vs,ratio_sampling,ONE_CRUST)
+! for outer core, in which there is no S wave velocity, use P velocity potential with a margin to be safe
+    if(vs < 0.001d0) vs = vp / MARGIN_SAFE
+
+! compute number of elements per wavelength at that depth
+    num_points_per_lambda_S = period_min * vs / average_mesh_point_size
+
+! compute stability condition (Courant number)
+    stability = vp * DT / (spectral_element_size * percent_GLL(NGLLX))
+
+    r_gnuplot = (R_EARTH-r_next)/1000.d0
+    write(27,*) sngl(r_gnuplot),sngl(num_points_per_lambda_S * vp/vs),sngl(num_points_per_lambda_S),sngl(stability)
+
+! this to be able to see values in the crust better on a larger interval
+    if(r_gnuplot < 10.d0) &
+      write(27,*) '-200 ',sngl(num_points_per_lambda_S * vp/vs),sngl(num_points_per_lambda_S),sngl(stability)
+
+  endif
+
+  enddo
+
+  enddo
+
+  close(27)
+
+!---------------------------------------------------------------
+
+! find element below top of which we should implement the second doubling in the mantle
+! locate element closest to optimal value
+  distance_min = HUGEVAL
+  do ielem = 2,NER_TOPDDOUBLEPRIME_771
+    zval = RTOPDDOUBLEPRIME + ielem * (R771 - RTOPDDOUBLEPRIME) / dble(NER_TOPDDOUBLEPRIME_771)
+    distance = abs(zval - (R_EARTH - DEPTH_SECOND_DOUBLING_OPTIMAL))
+    if(distance < distance_min) then
+      elem_doubling_mantle = ielem
+      distance_min = distance
+      DEPTH_SECOND_DOUBLING_REAL = R_EARTH - zval
+    endif
+  enddo
+  print *,'for second doubling, selected element ',elem_doubling_mantle,' at depth ', &
+              DEPTH_SECOND_DOUBLING_REAL,' and distance ',distance_min,' from optimal depth'
+  print *
+
+! find element below top of which we should implement the third doubling in the middle of the outer core
+! locate element closest to optimal value
+  distance_min = HUGEVAL
+! start at element number 4 because we need at least two elements below for the fourth doubling
+! implemented at the bottom of the outer core
+  do ielem = 4,NER_OUTER_CORE
+    zval = RICB + ielem * (RCMB - RICB) / dble(NER_OUTER_CORE)
+    distance = abs(zval - (R_EARTH - DEPTH_THIRD_DOUBLING_OPTIMAL))
+    if(distance < distance_min) then
+      elem_doubling_middle_outer_core = ielem
+      distance_min = distance
+      DEPTH_THIRD_DOUBLING_REAL = R_EARTH - zval
+    endif
+  enddo
+  print *,'for third doubling, selected element ',elem_doubling_middle_outer_core,' at depth ', &
+              DEPTH_THIRD_DOUBLING_REAL,' and distance ',distance_min,' from optimal depth'
+  print *
+
+! find element below top of which we should implement the fourth doubling in the middle of the outer core
+! locate element closest to optimal value
+  distance_min = HUGEVAL
+! stop two elements before the top because we need at least two elements above for the third doubling
+! implemented in the middle of the outer core
+  do ielem = 2,NER_OUTER_CORE-2
+    zval = RICB + ielem * (RCMB - RICB) / dble(NER_OUTER_CORE)
+    distance = abs(zval - (R_EARTH - DEPTH_FOURTH_DOUBLING_OPTIMAL))
+    if(distance < distance_min) then
+      elem_doubling_bottom_outer_core = ielem
+      distance_min = distance
+      DEPTH_FOURTH_DOUBLING_REAL = R_EARTH - zval
+    endif
+  enddo
+  print *,'for fourth doubling, selected element ',elem_doubling_bottom_outer_core,' at depth ', &
+              DEPTH_FOURTH_DOUBLING_REAL,' and distance ',distance_min,' from optimal depth'
+  print *
+
+! make sure that the two doublings in the outer core are found in the right order
+  if(elem_doubling_bottom_outer_core >= elem_doubling_middle_outer_core) &
+                  stop 'error in location of the two doublings in the outer core'
+
+! define all the layers for the mesh
+  ner( 1) = NER_CRUST
+  ner( 2) = NER_80_MOHO
+  ner( 3) = NER_220_80
+  ner( 4) = NER_400_220
+  ner( 5) = NER_600_400
+  ner( 6) = NER_670_600
+  ner( 7) = NER_771_670
+  ner( 8) = NER_TOPDDOUBLEPRIME_771 - elem_doubling_mantle
+  ner( 9) = elem_doubling_mantle
+  ner(10) = NER_CMB_TOPDDOUBLEPRIME
+  ner(11) = NER_OUTER_CORE - elem_doubling_middle_outer_core
+  ner(12) = elem_doubling_middle_outer_core - elem_doubling_bottom_outer_core
+  ner(13) = elem_doubling_bottom_outer_core
+  ner(14) = NER_TOP_CENTRAL_CUBE_ICB
+
+
+! value of the doubling ratio in each radial region of the mesh
+  ratio_sampling_array(1) = 1
+  ratio_sampling_array(2:8) = 2
+  ratio_sampling_array(9:11) = 4
+  ratio_sampling_array(12) = 8
+  ratio_sampling_array(13:14) = 16
+
+! define the three regions in which we implement a mesh doubling at the top of that region
+  this_region_has_a_doubling(:)  = .false.
+  this_region_has_a_doubling(2)  = .true.
+  this_region_has_a_doubling(9)  = .true.
+  this_region_has_a_doubling(12) = .true.
+  this_region_has_a_doubling(13) = .true.
+
+! define the top and bottom radii of all the regions of the mesh in the radial direction
+! the first region is the crust at the surface of the Earth
+! the last region is in the inner core near the center of the Earth
+  r_top(1) = R_EARTH
+  r_bottom(1) = RMOHO_FICTITIOUS_IN_MESHER
+
+  r_top(2) = RMOHO_FICTITIOUS_IN_MESHER
+  r_bottom(2) = R80
+
+  r_top(3) = R80
+  r_bottom(3) = R220
+
+  r_top(4) = R220
+  r_bottom(4) = R400
+
+  r_top(5) = R400
+  r_bottom(5) = R600
+
+  r_top(6) = R600
+  r_bottom(6) = R670
+
+  r_top(7) = R670
+  r_bottom(7) = R771
+
+  r_top(8) = R771
+  r_bottom(8) = R_EARTH - DEPTH_SECOND_DOUBLING_REAL
+
+  r_top(9) = R_EARTH - DEPTH_SECOND_DOUBLING_REAL
+  r_bottom(9) = RTOPDDOUBLEPRIME
+
+  r_top(10) = RTOPDDOUBLEPRIME
+  r_bottom(10) = RCMB
+
+  r_top(11) = RCMB
+  r_bottom(11) = R_EARTH - DEPTH_THIRD_DOUBLING_REAL
+
+  r_top(12) = R_EARTH - DEPTH_THIRD_DOUBLING_REAL
+  r_bottom(12) = R_EARTH - DEPTH_FOURTH_DOUBLING_REAL
+
+  r_top(13) = R_EARTH - DEPTH_FOURTH_DOUBLING_REAL
+  r_bottom(13) = RICB
+
+  r_top(14) = RICB
+  r_bottom(14) = R_CENTRAL_CUBE
+
+! create the mesh doubling superbrick
+  call define_superbrick(x_superbrick,y_superbrick,z_superbrick,ibool_superbrick)
+
+! compute total number of spectral elements in the mesh
+  nspec = 0
+
+  do ilayer = 1,NUMBER_OF_MESH_LAYERS
+
+    ner_without_doubling = ner(ilayer)
+
+! if there is a doubling at the top of this region, we implement it in the last two layers of elements
+! and therefore we suppress two layers of regular elements here
+    if(this_region_has_a_doubling(ilayer)) ner_without_doubling = ner_without_doubling - 2
+
+    number_basic_elems_horizontal = (NEX_PER_PROC_XI/ratio_sampling_array(ilayer)) * (NEX_PER_PROC_ETA/ratio_sampling_array(ilayer))
+
+    nspec = nspec + ner_without_doubling * number_basic_elems_horizontal
+
+! If there is a doubling at the top of this region, let us add these elements.
+! The superbrick implements a symmetric four-to-two doubling and therefore replaces
+! a basic regular block of 2 x 2 = 4 elements.
+! We have imposed that NEX be a multiple of 16 therefore we know that we can always create
+! these 2 x 2 blocks because NEX_PER_PROC_XI / ratio_sampling_array(ilayer) and
+! NEX_PER_PROC_ETA / ratio_sampling_array(ilayer) are always divisible by 2.
+    if(this_region_has_a_doubling(ilayer)) nspec = nspec + NSPEC_DOUBLING_SUPERBRICK * number_basic_elems_horizontal / 4
+
+  enddo
+
+! compute total number of OpenDX points in the mesh (many are identical, but simpler to duplicate them here)
+  npoin = nspec * NGNOD_OPENDX
+
+! corner nodes
+  iaddx(1) = 0
+  iaddy(1) = 0
+  iaddr(1) = 0
+
+  iaddx(2) = 1
+  iaddy(2) = 0
+  iaddr(2) = 0
+
+  iaddx(3) = 1
+  iaddy(3) = 1
+  iaddr(3) = 0
+
+  iaddx(4) = 0
+  iaddy(4) = 1
+  iaddr(4) = 0
+
+  iaddx(5) = 0
+  iaddy(5) = 0
+  iaddr(5) = 1
+
+  iaddx(6) = 1
+  iaddy(6) = 0
+  iaddr(6) = 1
+
+  iaddx(7) = 1
+  iaddy(7) = 1
+  iaddr(7) = 1
+
+  iaddx(8) = 0
+  iaddy(8) = 1
+  iaddr(8) = 1
+
+!---
+!--- create an OpenDX file with the whole mesh and
+!--- another OpenDX file with the worst elements for the stability condition (Courant number) only
+!---
+
+! allocate arrays to store Courant stability value and mesh resolution for S waves
+  allocate(color(nspec))
+  allocate(courant_stability_number(nspec))
+  allocate(copy_courant_stability_number(nspec))
+  allocate(number_points_S_wavelength(nspec))
+  allocate(copy_number_points_S_wavelength(nspec))
+
+! write OpenDX header with element data
+  write(filename,"('DX_fullmesh_',i4.4,'.dx')") NEX
+  open(unit=11,file=filename,status='unknown')
+  write(11,*) 'object 1 class array type float rank 1 shape 3 items ',npoin,' data follows'
+
+  write(filename,"('DX_worst_stability_',i4.4,'.dx')") NEX
+  open(unit=12,file=filename,status='unknown')
+  write(12,*) 'object 1 class array type float rank 1 shape 3 items ',npoin,' data follows'
+
+  write(filename,"('DX_worst_sampling_',i4.4,'.dx')") NEX
+  open(unit=13,file=filename,status='unknown')
+  write(13,*) 'object 1 class array type float rank 1 shape 3 items ',npoin,' data follows'
+
+! final spectral element number
+  ispec_final = 0
+
+! output global OpenDX points
+  do ilayer = 1,NUMBER_OF_MESH_LAYERS
+
+! loop on all the elements
+   do ix_elem = 1,NEX_PER_PROC_XI,ratio_sampling_array(ilayer)
+   do iy_elem = 1,NEX_PER_PROC_ETA,ratio_sampling_array(ilayer)
+
+    ner_without_doubling = ner(ilayer)
+
+! if there is a doubling at the top of this region, we implement it in the last two layers of elements
+! and therefore we suppress two layers of regular elements here
+    if(this_region_has_a_doubling(ilayer)) ner_without_doubling = ner_without_doubling - 2
+
+   do ir_elem = 1,ner_without_doubling
+
+! final spectral element number
+   ispec_final = ispec_final + 1
+
+! loop on all the nodes of this element
+   do ignod = 1,NGNOD_OPENDX
+
+! define topological coordinates of this mesh point
+    ix = (ix_elem - 1) + iaddx(ignod) * ratio_sampling_array(ilayer)
+    iy = (iy_elem - 1) + iaddy(ignod) * ratio_sampling_array(ilayer)
+    ir = (ir_elem - 1) + iaddr(ignod)
+
+! compute the actual position of that grid point
+    call compute_value_grid_main_mesh(dble(ix),dble(iy),dble(ir),xelm(ignod),yelm(ignod),zelm(ignod), &
+               ANGULAR_WIDTH_XI_RAD,ANGULAR_WIDTH_ETA_RAD,iproc_xi,iproc_eta, &
+               NPROC_XI,NPROC_ETA,NEX_PER_PROC_XI,NEX_PER_PROC_ETA,R_CENTRAL_CUBE, &
+               r_top(ilayer),r_bottom(ilayer),ner(ilayer),ilayer)
+
+    write(11,"(f10.7,1x,f10.7,1x,f10.7)") xelm(ignod),yelm(ignod),zelm(ignod)
+    write(12,"(f10.7,1x,f10.7,1x,f10.7)") xelm(ignod),yelm(ignod),zelm(ignod)
+    write(13,"(f10.7,1x,f10.7,1x,f10.7)") xelm(ignod),yelm(ignod),zelm(ignod)
+
+! end of loop on all the nodes of this element
+  enddo
+
+! scale arrays from unit sphere to real Earth
+   xelm(:) = xelm(:) * R_EARTH
+   yelm(:) = yelm(:) * R_EARTH
+   zelm(:) = zelm(:) * R_EARTH
+
+! compute minimum and maximum distance using the 8 corners of the element
+   distance_min = + HUGEVAL
+   distance_max = - HUGEVAL
+   do iedge = 1,NEDGES
+     ignod = list_corners_edge(iedge,1)
+     ignod2 = list_corners_edge(iedge,2)
+     distance = sqrt((xelm(ignod2) - xelm(ignod))**2 + (yelm(ignod2) - yelm(ignod))**2 + (zelm(ignod2) - zelm(ignod))**2)
+     distance_min = min(distance_min,distance)
+     distance_max = max(distance_max,distance)
+   enddo
+
+! determine P and S velocity at the barycenter of the element
+   xval = sum(xelm(:)) / NGNOD_OPENDX
+   yval = sum(yelm(:)) / NGNOD_OPENDX
+   zval = sum(zelm(:)) / NGNOD_OPENDX
+   r = sqrt(xval**2 + yval**2 + zval**2)
+   call prem_iso(r,rho,vp,vs,ratio_sampling,ONE_CRUST)
+! for outer core, in which there is no S wave velocity, use P velocity potential with a margin to be safe
+  if(vs < 0.001d0) vs = vp / MARGIN_SAFE
+! if we are in the last region (the inner core), ignore S-wave velocity because we purposely
+! make sampling bad there since Poisson's ratio is too high
+  if(ilayer == NUMBER_OF_MESH_LAYERS) vs = HUGEVAL
+
+! store stability condition (Courant number) and number of points per S wavelength for that element
+   courant_stability_number(ispec_final) = vp * DT / (distance_min * percent_GLL(NGLLX))
+   number_points_S_wavelength(ispec_final) = period_min * vs / (distance_max / (NGLLX - 1))
+
+! store region number to color that element
+
+! we are in the crust or mantle
+   if(ilayer <= 10) then
+     color(ispec_final) = 1
+
+! we are in the inner core
+   else if(ilayer == NUMBER_OF_MESH_LAYERS) then
+     color(ispec_final) = 3
+
+! we are in the outer core
+   else
+     color(ispec_final) = 2
+   endif
+
+! end of loop on all the regular elements
+  enddo
+  enddo
+  enddo
+
+! If there is a doubling at the top of this region, let us add these elements.
+! The superbrick implements a symmetric four-to-two doubling and therefore replaces
+! a basic regular block of 2 x 2 = 4 elements.
+! We have imposed that NEX be a multiple of 16 therefore we know that we can always create
+! these 2 x 2 blocks because NEX_PER_PROC_XI / ratio_sampling_array(ilayer) and
+! NEX_PER_PROC_ETA / ratio_sampling_array(ilayer) are always divisible by 2.
+    if(this_region_has_a_doubling(ilayer)) then
+
+! the doubling is implemented in the last two radial elements
+! therefore we start one element before the last one
+      ir_elem = ner(ilayer) - 1
+
+! loop on all the elements in the 2 x 2 blocks
+      do ix_elem = 1,NEX_PER_PROC_XI,2*ratio_sampling_array(ilayer)
+        do iy_elem = 1,NEX_PER_PROC_ETA,2*ratio_sampling_array(ilayer)
+
+! loop on all the elements in the mesh doubling superbrick
+          do ispec = 1,NSPEC_DOUBLING_SUPERBRICK
+
+! final spectral element number
+            ispec_final = ispec_final + 1
+
+! loop on all the nodes of this element
+            do ignod = 1,NGNOD_OPENDX
+
+! define topological coordinates of this mesh point
+              xval = (ix_elem - 1) + x_superbrick(ibool_superbrick(ignod,ispec)) * ratio_sampling_array(ilayer)
+              yval = (iy_elem - 1) + y_superbrick(ibool_superbrick(ignod,ispec)) * ratio_sampling_array(ilayer)
+              rval = (ir_elem - 1) + z_superbrick(ibool_superbrick(ignod,ispec))
+
+! compute the actual position of that grid point
+              call compute_value_grid_main_mesh(xval,yval,rval,xelm(ignod),yelm(ignod),zelm(ignod), &
+                       ANGULAR_WIDTH_XI_RAD,ANGULAR_WIDTH_ETA_RAD,iproc_xi,iproc_eta, &
+                       NPROC_XI,NPROC_ETA,NEX_PER_PROC_XI,NEX_PER_PROC_ETA,R_CENTRAL_CUBE, &
+                       r_top(ilayer),r_bottom(ilayer),ner(ilayer),ilayer)
+
+              write(11,"(f10.7,1x,f10.7,1x,f10.7)") xelm(ignod),yelm(ignod),zelm(ignod)
+              write(12,"(f10.7,1x,f10.7,1x,f10.7)") xelm(ignod),yelm(ignod),zelm(ignod)
+              write(13,"(f10.7,1x,f10.7,1x,f10.7)") xelm(ignod),yelm(ignod),zelm(ignod)
+
+! end of loop on all the nodes of this element
+            enddo
+
+! scale arrays from unit sphere to real Earth
+   xelm(:) = xelm(:) * R_EARTH
+   yelm(:) = yelm(:) * R_EARTH
+   zelm(:) = zelm(:) * R_EARTH
+
+! compute minimum and maximum distance using the 8 corners of the element
+   distance_min = + HUGEVAL
+   distance_max = - HUGEVAL
+   do iedge = 1,NEDGES
+     ignod = list_corners_edge(iedge,1)
+     ignod2 = list_corners_edge(iedge,2)
+     distance = sqrt((xelm(ignod2) - xelm(ignod))**2 + (yelm(ignod2) - yelm(ignod))**2 + (zelm(ignod2) - zelm(ignod))**2)
+     distance_min = min(distance_min,distance)
+     distance_max = max(distance_max,distance)
+   enddo
+
+! determine P and S velocity at the barycenter of the element
+   xval = sum(xelm(:)) / NGNOD_OPENDX
+   yval = sum(yelm(:)) / NGNOD_OPENDX
+   zval = sum(zelm(:)) / NGNOD_OPENDX
+   r = sqrt(xval**2 + yval**2 + zval**2)
+   call prem_iso(r,rho,vp,vs,ratio_sampling,ONE_CRUST)
+! for outer core, in which there is no S wave velocity, use P velocity potential with a margin to be safe
+  if(vs < 0.001d0) vs = vp / MARGIN_SAFE
+! if we are in the last region (the inner core), ignore S-wave velocity because we purposely
+! make sampling bad there since Poisson's ratio is too high, therefore compute for Vp instead
+  if(ilayer == NUMBER_OF_MESH_LAYERS) vs = HUGEVAL
+
+! store stability condition (Courant number) for that element
+   courant_stability_number(ispec_final) = vp * DT / (distance_min * percent_GLL(NGLLX))
+   number_points_S_wavelength(ispec_final) = period_min * vs / (distance_max / (NGLLX - 1))
+
+! store region number to color that element
+
+! we are in the crust or mantle
+   if(ilayer <= 10) then
+     color(ispec_final) = 1
+
+! we are in the inner core
+   else if(ilayer == NUMBER_OF_MESH_LAYERS) then
+     color(ispec_final) = 3
+
+! we are in the outer core
+   else
+     color(ispec_final) = 2
+   endif
+
+! end of loops on the mesh doubling elements
+          enddo
+        enddo
+      enddo
+
+    endif
+
+  enddo
+
+!---------------------------------------------
+
+! determine the NSPEC_WORST_ELEMENTS worst elements and store their element number
+  copy_courant_stability_number(:) = courant_stability_number(:)
+  copy_number_points_S_wavelength(:) = number_points_S_wavelength(:)
+
+  do ispec = 1,NSPEC_WORST_ELEMENTS
+    ispec_worst_elements_stability(ispec) = maxloc(copy_courant_stability_number(:),dim=1)
+    ispec_worst_elements_sampling(ispec) = minloc(copy_number_points_S_wavelength(:),dim=1)
+! set it to a fictitious value to make sure we do not detect it a second time
+    copy_courant_stability_number(ispec_worst_elements_stability(ispec)) = - HUGEVAL
+    copy_number_points_S_wavelength(ispec_worst_elements_sampling(ispec)) = + HUGEVAL
+  enddo
+
+!---------------------------------------------
+
+! write element header
+  write(11,*) 'object 2 class array type int rank 1 shape 8 items ',nspec,' data follows'
+
+! output global OpenDX elements
+  ioffset = 0
+
+  do ispec = 1,nspec
+
+! point order in OpenDX is 4,1,8,5,3,2,7,6, *not* 1,2,3,4,5,6,7,8 as in AVS
+! in the case of OpenDX, node numbers start at zero
+    write(11,"(i6,1x,i6,1x,i6,1x,i6,1x,i6,1x,i6,1x,i6,1x,i6)") &
+            ioffset+3,ioffset+0,ioffset+7,ioffset+4,ioffset+2,ioffset+1,ioffset+6,ioffset+5
+
+    ioffset = ioffset + NGNOD_OPENDX
+
+  enddo
+
+! write element header
+! represent the NSPEC_WORST_ELEMENTS worst elements
+  write(12,*) 'object 2 class array type int rank 1 shape 8 items ',NSPEC_WORST_ELEMENTS,' data follows'
+
+  do ispec = 1,NSPEC_WORST_ELEMENTS
+
+    ioffset = (ispec_worst_elements_stability(ispec) - 1) * NGNOD_OPENDX
+
+! point order in OpenDX is 4,1,8,5,3,2,7,6, *not* 1,2,3,4,5,6,7,8 as in AVS
+! in the case of OpenDX, node numbers start at zero
+    write(12,"(i6,1x,i6,1x,i6,1x,i6,1x,i6,1x,i6,1x,i6,1x,i6)") &
+            ioffset+3,ioffset+0,ioffset+7,ioffset+4,ioffset+2,ioffset+1,ioffset+6,ioffset+5
+
+  enddo
+
+! write element header
+! represent the NSPEC_WORST_ELEMENTS worst elements
+  write(13,*) 'object 2 class array type int rank 1 shape 8 items ',NSPEC_WORST_ELEMENTS,' data follows'
+
+  do ispec = 1,NSPEC_WORST_ELEMENTS
+
+    ioffset = (ispec_worst_elements_sampling(ispec) - 1) * NGNOD_OPENDX
+
+! point order in OpenDX is 4,1,8,5,3,2,7,6, *not* 1,2,3,4,5,6,7,8 as in AVS
+! in the case of OpenDX, node numbers start at zero
+    write(13,"(i6,1x,i6,1x,i6,1x,i6,1x,i6,1x,i6,1x,i6,1x,i6)") &
+            ioffset+3,ioffset+0,ioffset+7,ioffset+4,ioffset+2,ioffset+1,ioffset+6,ioffset+5
+
+  enddo
+
+! output OpenDX header for data
+! label for hexahedra in OpenDX is "cubes"
+  write(11,*) 'attribute "element type" string "cubes"'
+  write(11,*) 'attribute "ref" string "positions"'
+  write(11,*) 'object 3 class array type float rank 0 items ',nspec,' data follows'
+
+! write element data
+! color elements according to the region they belong to in order to represent the mesh
+  do ispec = 1,nspec
+    write(11,*) color(ispec)
+  enddo
+
+! represent the NSPEC_WORST_ELEMENTS worst elements
+  write(12,*) 'attribute "element type" string "cubes"'
+  write(12,*) 'attribute "ref" string "positions"'
+  write(12,*) 'object 3 class array type float rank 0 items ',NSPEC_WORST_ELEMENTS,' data follows'
+
+! write element data
+! color elements according to the Courant stability number
+  do ispec = 1,NSPEC_WORST_ELEMENTS
+    write(12,*) courant_stability_number(ispec_worst_elements_stability(ispec))
+  enddo
+
+! represent the NSPEC_WORST_ELEMENTS worst elements
+  write(13,*) 'attribute "element type" string "cubes"'
+  write(13,*) 'attribute "ref" string "positions"'
+  write(13,*) 'object 3 class array type float rank 0 items ',NSPEC_WORST_ELEMENTS,' data follows'
+
+! write element data
+! color elements according to the number of points per S wavelength
+  do ispec = 1,NSPEC_WORST_ELEMENTS
+    write(13,*) number_points_S_wavelength(ispec_worst_elements_sampling(ispec))
+  enddo
+
+! define OpenDX field
+  write(11,*) 'attribute "dep" string "connections"'
+  write(11,*) 'object "irregular positions irregular connections" class field'
+  write(11,*) 'component "positions" value 1'
+  write(11,*) 'component "connections" value 2'
+  write(11,*) 'component "data" value 3'
+  write(11,*) 'end'
+
+  write(12,*) 'attribute "dep" string "connections"'
+  write(12,*) 'object "irregular positions irregular connections" class field'
+  write(12,*) 'component "positions" value 1'
+  write(12,*) 'component "connections" value 2'
+  write(12,*) 'component "data" value 3'
+  write(12,*) 'end'
+
+  write(13,*) 'attribute "dep" string "connections"'
+  write(13,*) 'object "irregular positions irregular connections" class field'
+  write(13,*) 'component "positions" value 1'
+  write(13,*) 'component "connections" value 2'
+  write(13,*) 'component "data" value 3'
+  write(13,*) 'end'
+
+  close(11)
+  close(12)
+  close(13)
+
+! print information about the maximum Courant number and minimum number of points per wavelength
+! detected in the mesh
+  print *,'Minimum number of points per S wavelength detected in the mesh = ',minval(number_points_S_wavelength), &
+              ' in element ',minloc(number_points_S_wavelength,dim=1)
+  print *
+  print *,'Maximum stability condition (Courant number) detected in the mesh = ',maxval(courant_stability_number), &
+              ' in element ',maxloc(courant_stability_number,dim=1)
+  print *
+
+! deallocate arrays
+  deallocate(color)
+  deallocate(courant_stability_number)
+  deallocate(copy_courant_stability_number)
+  deallocate(number_points_S_wavelength)
+  deallocate(copy_number_points_S_wavelength)
+
+! end of loop on all the cases to study
+  enddo
+
+! create a gnuplot script to display all the results
+  open(unit=27,file='plot_mesh_resolution.gnu',status='unknown')
+  write(27,*) 'set term x11'
+  write(27,*) '######set xrange [0:6371]'
+  write(27,*) '## this to be able to see values in the crust better on a larger interval'
+  write(27,*) 'set xrange [-200:6371]'
+  write(27,*) 'set xlabel "Depth (km)"'
+  write(27,*) 'set grid'
+  write(27,*) '## this to show the Earth surface'
+  write(27,*) 'set yzeroaxis linetype 4 linewidth 2'
+  write(27,*)
+
+! display the PREM model alone
+  write(27,"(a140)") 'plot "prem_model.dat" us 1:2 t ''Vp PREM'' w l 1, "prem_model.dat" us 1:3 t ''Vs PREM'' w l 3'
+  write(27,*) '########pause -1 "hit key"'
+  write(27,*)
+
+! loop on all the cases to study
+  do icase = 1,NUM_CASES
+
+! define value of NEX for this case
+  NEX = NEX_val(icase)
+
+  write(27,*) 'set title "NEX =',NEX,'"'
+  write(27,*)
+
+  write(27,*) 'set ylabel "Number of points per S wavelength"'
+  write(27,*) 'set yrange [0:14]'
+  write(27,*) 'set ytics 0,1,14'
+  write(27,100) NEX,NEX
+  write(27,*) 'pause -1 "hit key"'
+  write(27,*)
+
+  write(27,*) 'set ylabel "Number of points per P wavelength"'
+  write(27,*) 'set yrange [0:20]'
+  write(27,*) 'set ytics 0,1,20'
+  write(27,200) NEX,NEX
+  write(27,*) 'pause -1 "hit key"'
+  write(27,*)
+
+  write(27,*) 'set ylabel "Stability condition (Courant number)"'
+  write(27,*) 'set yrange [0:1]'
+  write(27,*) 'set ytics 0,0.1,1'
+  write(27,300) NEX,NEX
+  write(27,*) 'pause -1 "hit key"'
+  write(27,*)
+
+! end of loop on all the cases to study
+  enddo
+
+! formats for output
+ 100 format('plot "prem_radial_sampling_',i4.4,'.dat" us 1:3 t ''Vs sampling radial'' w linesp 1, &
+    & "prem_horizontal_sampling_',i4.4,'.dat" us 1:3 t ''Vs sampling horizontal'' w l 3, &
+    & "cmb.dat" t '''' w l 6, "icb.dat" t '''' w l 6')
+
+ 200 format('plot "prem_radial_sampling_',i4.4,'.dat" us 1:2 t ''Vp sampling radial'' w linesp 1, &
+    & "prem_horizontal_sampling_',i4.4,'.dat" us 1:2 t ''Vp sampling horizontal'' w l 3, &
+    & "cmb.dat" t '''' w l 6, "icb.dat" t '''' w l 6')
+
+ 300 format('plot "prem_radial_sampling_',i4.4,'.dat" us 1:4 t ''Stability radial'' w linesp 1, &
+    & "prem_horizontal_sampling_',i4.4,'.dat" us 1:4 t ''Stability horizontal'' w l 3, &
+    & "cmb.dat" t '''' w l 6, "icb.dat" t '''' w l 6')
+
+  close(27)
+
+  end program display_prem_sampling_doubling
+
+!---------------------------------------------------------------------------
+
+! include code to define the mesh doubling superbrick
+
+  include "define_superbrick.f90"
+
+!---------------------------------------------------------------------------
+
+  subroutine compute_value_grid_main_mesh(xval,yval,rval,xgrid,ygrid,zgrid, &
+               ANGULAR_WIDTH_XI_RAD,ANGULAR_WIDTH_ETA_RAD,iproc_xi,iproc_eta, &
+               NPROC_XI,NPROC_ETA,NEX_PER_PROC_XI,NEX_PER_PROC_ETA,R_CENTRAL_CUBE,r_top,r_bottom,ner,ilayer)
+
+  implicit none
+
+  include "constants_modified_v36.h"
+
+  integer :: iproc_xi,iproc_eta,NPROC_XI,NPROC_ETA,NEX_PER_PROC_XI,NEX_PER_PROC_ETA,ner,ilayer
+
+  double precision :: xval,yval,rval,xgrid,ygrid,zgrid,ANGULAR_WIDTH_XI_RAD,ANGULAR_WIDTH_ETA_RAD,R_CENTRAL_CUBE,r_top,r_bottom
+
+! local variables
+  double precision :: xi,eta,gamma,x,y,rgb,rgt,rn
+  double precision :: x_bot,y_bot,z_bot
+  double precision :: x_top,y_top,z_top
+
+! full Earth (cubed sphere)
+  xi = - ANGULAR_WIDTH_XI_RAD/2.d0 + (iproc_xi + xval/dble(NEX_PER_PROC_XI))*ANGULAR_WIDTH_XI_RAD/dble(NPROC_XI)
+  x = tan(xi)
+
+  eta = - ANGULAR_WIDTH_ETA_RAD/2.d0 + (iproc_eta + yval/dble(NEX_PER_PROC_ETA))*ANGULAR_WIDTH_ETA_RAD/dble(NPROC_ETA)
+  y = tan(eta)
+
+  gamma = ONE / sqrt(ONE + x*x + y*y)
+
+  rgt = (r_top / R_EARTH)*gamma
+  rgb = (r_bottom / R_EARTH)*gamma
+
+! define the mesh points on the top and the bottom in the cubed shpere
+  x_top = -y*rgt
+  y_top = x*rgt
+  z_top = rgt
+
+  x_bot = -y*rgb
+  y_bot = x*rgb
+  z_bot = rgb
+
+! modify in the inner core to match the central cube instead of a sphere
+! this mesh works because even if ellipticity and/or topography are turned on
+! at this stage the reference Earth is still purely spherical
+! therefore it will always perfectly match the sphere defined above
+  if(ilayer == NUMBER_OF_MESH_LAYERS) then ! if we are in the last region (the inner core)
+
+    x_bot = -y
+    y_bot = x
+    z_bot = ONE
+
+! rescale central cube to match cubed sphere
+    x_bot = x_bot * (R_CENTRAL_CUBE/R_EARTH) / sqrt(3.d0)
+    y_bot = y_bot * (R_CENTRAL_CUBE/R_EARTH) / sqrt(3.d0)
+    z_bot = z_bot * (R_CENTRAL_CUBE/R_EARTH) / sqrt(3.d0)
+
+  endif
+
+! compute the position of the point
+  rn = rval / dble(ner)
+  xgrid = x_top*rn + x_bot*(ONE-rn)
+  ygrid = y_top*rn + y_bot*(ONE-rn)
+  zgrid = z_top*rn + z_bot*(ONE-rn)
+
+  end subroutine compute_value_grid_main_mesh
+
+!---------------------------------------------------------------------------
+
+  subroutine prem_iso(r,rho,vp,vs,ratio_sampling,ONE_CRUST)
+
+  implicit none
+
+  include "constants_modified_v36.h"
+
+  double precision :: r,x,rho,vp,vs,ratio_sampling
+
+  logical :: ONE_CRUST
+
+  x = r / R_EARTH
+
+!
+! PREM
+!
+!--- inner core
+!
+  if(r <= RICB) then
+    rho=13.0885d0-8.8381d0*x*x
+    vp=11.2622d0-6.3640d0*x*x
+    vs=3.6678d0-4.4475d0*x*x
+    if(IMPLEMENT_FOURTH_DOUBLING) then
+      ratio_sampling = 16.d0
+    else
+      ratio_sampling = 8.d0
+    endif
+!
+!--- outer core
+!
+  else if(r > RICB .and. r <= RCMB) then
+    rho=12.5815d0-1.2638d0*x-3.6426d0*x*x-5.5281d0*x*x*x
+    vp=11.0487d0-4.0362d0*x+4.8023d0*x*x-13.5732d0*x*x*x
+    vs=0.0d0
+
+    if(IMPLEMENT_FOURTH_DOUBLING) then
+! third and fourth doublings
+      if(r > R_EARTH - DEPTH_THIRD_DOUBLING_OPTIMAL) then
+        ratio_sampling = 4.d0
+      else if(r > R_EARTH - DEPTH_FOURTH_DOUBLING_OPTIMAL) then
+        ratio_sampling = 8.d0
+      else
+        ratio_sampling = 16.d0
+      endif
+    else
+! third doubling
+      if(r > R_EARTH - DEPTH_THIRD_DOUBLING_OPTIMAL) then
+        ratio_sampling = 4.d0
+      else
+        ratio_sampling = 8.d0
+      endif
+    endif
+
+!
+!--- D" at the base of the mantle
+!
+  else if(r > RCMB .and. r <= RTOPDDOUBLEPRIME) then
+    rho=7.9565d0-6.4761d0*x+5.5283d0*x*x-3.0807d0*x*x*x
+    vp=15.3891d0-5.3181d0*x+5.5242d0*x*x-2.5514d0*x*x*x
+    vs=6.9254d0+1.4672d0*x-2.0834d0*x*x+0.9783d0*x*x*x
+    ratio_sampling = 4.d0
+!
+!--- mantle: from top of D" to d670
+!
+  else if(r > RTOPDDOUBLEPRIME .and. r <= R771) then
+    rho=7.9565d0-6.4761d0*x+5.5283d0*x*x-3.0807d0*x*x*x
+    vp=24.9520d0-40.4673d0*x+51.4832d0*x*x-26.6419d0*x*x*x
+    vs=11.1671d0-13.7818d0*x+17.4575d0*x*x-9.2777d0*x*x*x
+
+! second doubling
+    if(r > R_EARTH - DEPTH_SECOND_DOUBLING_OPTIMAL) then
+      ratio_sampling = 2.d0
+    else
+      ratio_sampling = 4.d0
+    endif
+
+  else if(r > R771 .and. r <= R670) then
+    rho=7.9565d0-6.4761d0*x+5.5283d0*x*x-3.0807d0*x*x*x
+    vp=29.2766d0-23.6027d0*x+5.5242d0*x*x-2.5514d0*x*x*x
+    vs=22.3459d0-17.2473d0*x-2.0834d0*x*x+0.9783d0*x*x*x
+    ratio_sampling = 2.d0
+!
+!--- mantle: above d670
+!
+  else if(r > R670 .and. r <= R600) then
+    rho=5.3197d0-1.4836d0*x
+    vp=19.0957d0-9.8672d0*x
+    vs=9.9839d0-4.9324d0*x
+    ratio_sampling = 2.d0
+  else if(r > R600 .and. r <= R400) then
+    rho=11.2494d0-8.0298d0*x
+    vp=39.7027d0-32.6166d0*x
+    vs=22.3512d0-18.5856d0*x
+    ratio_sampling = 2.d0
+  else if(r > R400 .and. r <= R220) then
+    rho=7.1089d0-3.8045d0*x
+    vp=20.3926d0-12.2569d0*x
+    vs=8.9496d0-4.4597d0*x
+    ratio_sampling = 2.d0
+  else if(r > R220 .and. r <= RMOHO) then
+    rho=2.6910d0+0.6924d0*x
+    vp=4.1875d0+3.9382d0*x
+    vs=2.1519d0+2.3481d0*x
+    ratio_sampling = 2.d0
+
+  else if(r > RMOHO .and. r <= RMIDDLE_CRUST) then
+    rho=2.9d0
+    vp=6.8d0
+    vs=3.9d0
+    ratio_sampling = 1.d0
+
+! same properties everywhere in PREM crust (only one layer in the crust)
+    if(ONE_CRUST) then
+      rho=2.6d0
+      vp=5.8d0
+      vs=3.2d0
+      ratio_sampling = 1.d0
+    endif
+
+  else if(r > RMIDDLE_CRUST) then
+    rho=2.6d0
+    vp=5.8d0
+    vs=3.2d0
+    ratio_sampling = 1.d0
+  endif
+
+  rho=rho*1000.0d0
+  vp=vp*1000.0d0
+  vs=vs*1000.0d0
+
+  end subroutine prem_iso
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/display_prem_sampling_doubling_v40.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/display_prem_sampling_doubling_v40.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/display_prem_sampling_doubling_v40.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,1427 @@
+!=====================================================================
+!
+!          S p e c f e m 3 D  G l o b e  V e r s i o n  3 . 7
+!          --------------------------------------------------
+!
+!                 Dimitri Komatitsch and Jeroen Tromp
+!    Seismological Laboratory - California Institute of Technology
+!          (c) California Institute of Technology January 2007
+!
+! This program is free software; you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation; either version 2 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License along
+! with this program; if not, write to the Free Software Foundation, Inc.,
+! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+!
+!=====================================================================
+
+  program display_prem_sampling_doubling
+
+  implicit none
+
+  include "constants_modified_v40.h"
+
+! honor PREM Moho or not
+! doing so drastically reduces the stability condition and therefore the time step
+  logical, parameter :: HONOR_1D_SPHERICAL_MOHO = .false.
+
+! resolution target for minimum number of points per S wavelength in the whole mesh
+  double precision, parameter :: RESOLUTION_TARGET = 4.d0
+
+! for outer core, in which there is no S wave velocity, use P velocity potential with a margin to be safe
+  double precision, parameter :: MARGIN_SAFE = 1.25d0
+
+  integer :: NEX,NEX_XI,NEX_ETA,NPROC_XI,NPROC_ETA,NEX_PER_PROC_XI,NEX_PER_PROC_ETA
+
+  integer :: NER_CRUST, NER_80_MOHO, NER_220_80, NER_400_220, NER_600_400, NER_670_600, NER_771_670, &
+    NER_TOPDDOUBLEPRIME_771, NER_CMB_TOPDDOUBLEPRIME, NER_OUTER_CORE, NER_TOP_CENTRAL_CUBE_ICB
+
+  double precision :: DT,RMOHO_FICTITIOUS_IN_MESHER
+
+  logical :: ONE_CRUST
+
+  integer, dimension(NUMBER_OF_MESH_LAYERS) :: ner,ratio_sampling_array
+  double precision, dimension(NUMBER_OF_MESH_LAYERS) :: r_bottom,r_top
+  logical, dimension(NUMBER_OF_MESH_LAYERS) :: this_region_has_a_doubling
+  integer number_basic_elems_horizontal,ner_without_doubling
+
+! small offset to avoid being exactly on an interface
+  double precision, parameter :: SMALL_OFFSET = 200.d0
+
+  double precision, parameter :: R_CENTRAL_CUBE = RICB - 150000.d0
+
+  integer ilayer,ipoin,ielem
+
+  double precision :: r,r_next,rho,vp,vs,ratio_sampling,spectral_element_size, &
+               average_mesh_point_size,num_points_per_lambda_S,stability,period_min,gamma, &
+               ratio_sampling_new,vp_new,vs_new,r_gnuplot
+
+!!!!!! DK DK exclude center of inner core to avoid division by zero
+!!!!!! DK DK we have: 1000 * 1200/6371 = 188.35347
+!!!!!! DK DK therefore the central cube ends around i = 188
+!!!!!! DK DK  do i=1,1000
+  integer, parameter :: NINIT = 140
+
+! mesh chunk has a size of 90 x 90 degrees
+  double precision, parameter :: ANGULAR_WIDTH_XI_IN_DEGREES = 90.d0
+  double precision, parameter :: ANGULAR_WIDTH_ETA_IN_DEGREES = 90.d0
+
+  double precision, parameter :: ANGULAR_WIDTH_XI_RAD = ANGULAR_WIDTH_XI_IN_DEGREES * PI / 180.d0
+  double precision, parameter :: ANGULAR_WIDTH_ETA_RAD = ANGULAR_WIDTH_ETA_IN_DEGREES * PI / 180.d0
+
+! show the mesh for the first slice as an example
+  integer, parameter :: iproc_xi = 0, iproc_eta = 0
+
+  integer ix,iy,ir
+  integer ix_elem,iy_elem,ir_elem
+
+! number of nodes of an OpenDX element
+  integer, parameter :: NGNOD_OPENDX = 8
+
+! topology of the elements
+  integer, dimension(NGNOD_OPENDX) :: iaddx,iaddy,iaddr
+
+  integer :: ispec,ispec_final,nspec,npoin,ioffset,ignod,ignod2
+  double precision, dimension(NGNOD_OPENDX) :: xelm,yelm,zelm
+  double precision :: xval,yval,zval,rval
+
+! list of corners defining the edges
+  integer, parameter :: NEDGES = 12
+  integer, dimension(NEDGES,2) :: list_corners_edge
+  integer iedge
+
+  integer :: elem_doubling_mantle,elem_doubling_middle_outer_core,elem_doubling_bottom_outer_core
+  double precision :: DEPTH_SECOND_DOUBLING_REAL,DEPTH_THIRD_DOUBLING_REAL, &
+                          DEPTH_FOURTH_DOUBLING_REAL,distance,distance_min,distance_max
+
+! mesh doubling superbrick
+  integer, dimension(NGNOD_DOUBLING_SUPERBRICK,NSPEC_DOUBLING_SUPERBRICK) :: ibool_superbrick
+  double precision, dimension(NGLOB_DOUBLING_SUPERBRICK) :: x_superbrick,y_superbrick,z_superbrick
+
+! for the stability condition
+! maximum polynomial degree for which we can compute the stability condition
+  integer, parameter :: NGLLX_MAX_STABILITY = 15
+  double precision :: percent_GLL(NGLLX_MAX_STABILITY)
+
+! allocate arrays to store Courant stability value and mesh resolution for S waves
+  integer, parameter :: NSPEC_WORST_ELEMENTS = 50
+  integer, dimension(NSPEC_WORST_ELEMENTS) :: ispec_worst_elements_stability,ispec_worst_elements_sampling
+  integer, dimension(:), allocatable :: color
+  double precision, dimension(:), allocatable :: courant_stability_number, &
+      copy_courant_stability_number,number_points_S_wavelength,copy_number_points_S_wavelength
+
+! number of different cases to study
+  integer, parameter :: NUM_CASES = 9
+  integer, dimension(NUM_CASES) :: NEX_val
+  integer icase
+
+! variable file name for output files
+  character(len=150) filename
+
+! remove old files
+  call system('rm -f DX_fullmesh*.dx DX_worst*.dx prem_horizontal_sampling_*.dat prem_radial_sampling*.dat')
+
+! case of multiples of 32
+  NEX_val(1) = 160
+  NEX_val(2) = 256
+  NEX_val(3) = 320
+  NEX_val(4) = 480
+  NEX_val(5) = 512
+  NEX_val(6) = 640
+  NEX_val(7) = 864
+  NEX_val(8) = 1152
+  NEX_val(9) = 1248
+
+! loop on all the cases to study
+  do icase = 1,NUM_CASES
+
+! define value of NEX for this case
+  NEX = NEX_val(icase)
+
+  NEX_XI = NEX
+  NEX_ETA = NEX
+
+!!! DK DK use highest possible number of processors to create smallest slice for serial tests
+  NPROC_XI = NEX_XI/32
+  NPROC_ETA = NPROC_XI
+
+  NEX_PER_PROC_XI = NEX_XI / NPROC_XI
+  NEX_PER_PROC_ETA = NEX_ETA / NPROC_ETA
+
+! check that mesh can be coarsened in depth four times (block size must be a multiple of 32)
+  if(mod(NEX_XI,32) /= 0) stop 'NEX_XI must be a multiple of 32'
+  if(mod(NEX_ETA,32) /= 0) stop 'NEX_ETA must be a multiple of 32'
+  if(mod(NEX_XI/32,NPROC_XI) /= 0) stop 'NEX_XI must be a multiple of 32*NPROC_XI'
+  if(mod(NEX_ETA/32,NPROC_ETA) /= 0) stop 'NEX_ETA must be a multiple of 32*NPROC_ETA'
+
+  print *,'-----------------------------------------'
+  print *
+  print *,'NEX used = ',NEX
+  print *
+  print *,'NPROC_XI used = ',NPROC_XI
+  print *
+
+! period min for 4.000000 points per lambda S min in horizontal direction =    27.38702
+! element width =   0.5625000      degrees =    62.54715      km
+  if(NEX == 160) then
+    DT                       = 0.26d0 * 0.30d0 / 0.2511
+! stability max = approximately 0.2511
+    NER_CRUST                = 2
+    NER_80_MOHO              = 2 !!!!!!!!!!!! YYYYYYYYYYYYYYYYYYYYYYYY error if 1 here
+!!!!!!!!!!!!! YYYYYYYYYYYYYYYYYYY tester que jamais plus petit que 2, sinon stop
+    NER_220_80               = 1
+    NER_400_220              = 2
+    NER_600_400              = 2
+    NER_670_600              = 1
+    NER_771_670              = 1
+    NER_TOPDDOUBLEPRIME_771  = 15
+    NER_CMB_TOPDDOUBLEPRIME  = 1
+    NER_OUTER_CORE           = 16
+    NER_TOP_CENTRAL_CUBE_ICB = 1
+
+! period min for    4.000000 points per lambda S min in horizontal direction =    17.11689
+! element width =   0.3515625      degrees =    39.09196      km
+  else if(NEX == 256) then
+    DT                       = 0.20d0 * 0.30d0 / 0.2565
+! stability max = approximately 0.2565
+    NER_CRUST                = 2
+    NER_80_MOHO              = 2 !!!!!!!!!!!! YYYYYYYYYYYYYYYYYYYYYYYY error if 1 here
+!!!!!!!!!!!!! YYYYYYYYYYYYYYYYYYY tester que jamais plus petit que 2, sinon stop
+    NER_220_80               = 2
+    NER_400_220              = 3
+    NER_600_400              = 3
+    NER_670_600              = 1
+    NER_771_670              = 1
+    NER_TOPDDOUBLEPRIME_771  = 22
+    NER_CMB_TOPDDOUBLEPRIME  = 2
+    NER_OUTER_CORE           = 24
+    NER_TOP_CENTRAL_CUBE_ICB = 2
+
+! period min for 4.000000 points per lambda S min in horizontal direction =    13.69351
+! element width =   0.2812500      degrees =    31.27357      km
+  else if(NEX == 320) then
+    DT                       = 0.125d0 * 0.30d0 / 0.2429
+! stability max = approximately 0.2429
+    NER_CRUST                = 2
+    NER_80_MOHO              = 2
+    NER_220_80               = 2
+    NER_400_220              = 4
+    NER_600_400              = 4
+    NER_670_600              = 1
+    NER_771_670              = 2
+    NER_TOPDDOUBLEPRIME_771  = 29
+    NER_CMB_TOPDDOUBLEPRIME  = 2
+    NER_OUTER_CORE           = 32
+    NER_TOP_CENTRAL_CUBE_ICB = 2
+
+! period min for 4.000000 points per lambda S min in horizontal direction =    9.129005
+! element width =   0.1875000      degrees =    20.84905      km
+  else if(NEX == 480) then
+    DT                       = 0.125d0 * 0.30d0 / 0.3235
+! stability max = approximately 0.3235
+    NER_CRUST                = 2
+    NER_80_MOHO              = 3
+    NER_220_80               = 3
+    NER_400_220              = 5
+    NER_600_400              = 6
+    NER_670_600              = 2
+    NER_771_670              = 2
+    NER_TOPDDOUBLEPRIME_771  = 44
+    NER_CMB_TOPDDOUBLEPRIME  = 3
+    NER_OUTER_CORE           = 48
+    NER_TOP_CENTRAL_CUBE_ICB = 3
+
+! period min for 4.000000 points per lambda S min in horizontal direction =    8.558443
+! element width =   0.1757812      degrees =    19.54598      km
+  else if(NEX == 512) then
+    DT                       = 0.125d0 * 0.30d0 / 0.3235
+! stability max = approximately 0.3235
+    NER_CRUST                = 2
+    NER_80_MOHO              = 3
+    NER_220_80               = 4
+    NER_400_220              = 6
+    NER_600_400              = 6
+    NER_670_600              = 2
+    NER_771_670              = 3
+    NER_TOPDDOUBLEPRIME_771  = 47
+    NER_CMB_TOPDDOUBLEPRIME  = 3
+    NER_OUTER_CORE           = 51
+    NER_TOP_CENTRAL_CUBE_ICB = 3
+
+! period min for 4.000000 points per lambda S min in horizontal direction =    6.846754
+! element width =   0.1406250      degrees =    15.63679      km
+  else if(NEX == 640) then
+    DT                       = 0.125d0 * 0.30d0 / 0.4067
+! stability max = approximately 0.4067
+    NER_CRUST                = 2
+    NER_80_MOHO              = 4
+    NER_220_80               = 4
+    NER_400_220              = 7
+    NER_600_400              = 8
+    NER_670_600              = 3
+    NER_771_670              = 3
+    NER_TOPDDOUBLEPRIME_771  = 59
+    NER_CMB_TOPDDOUBLEPRIME  = 4
+    NER_OUTER_CORE           = 64
+    NER_TOP_CENTRAL_CUBE_ICB = 4
+
+! period min for 4.000000 points per lambda S min in horizontal direction =    5.071670
+! element width =   0.1041667      degrees =    11.58280      km
+  else if(NEX == 864) then
+    DT                       = 0.0555555555d0 * 0.30d0 / 0.2565
+! stability max = approximately 0.2565
+    NER_CRUST                = 3
+    NER_80_MOHO              = 5
+    NER_220_80               = 6
+    NER_400_220              = 10
+    NER_600_400              = 10
+    NER_670_600              = 3
+    NER_771_670              = 4
+    NER_TOPDDOUBLEPRIME_771  = 79
+    NER_CMB_TOPDDOUBLEPRIME  = 5
+    NER_OUTER_CORE           = 86
+    NER_TOP_CENTRAL_CUBE_ICB = 6
+
+! period min for 4.000000 points per lambda S min in horizontal direction =    3.803752
+! element width =   7.8125000E-02  degrees =    8.687103      km
+  else if(NEX == 1152) then
+    DT                       = 0.0555555555d0 * 0.30d0 / 0.3504
+! stability max = approximately 0.3504
+    NER_CRUST                = 4
+    NER_80_MOHO              = 7
+    NER_220_80               = 8
+    NER_400_220              = 13
+    NER_600_400              = 13
+    NER_670_600              = 4
+    NER_771_670              = 6
+    NER_TOPDDOUBLEPRIME_771  = 106
+    NER_CMB_TOPDDOUBLEPRIME  = 7
+    NER_OUTER_CORE           = 116
+    NER_TOP_CENTRAL_CUBE_ICB = 6
+
+! period min for 4.000000 points per lambda S min in horizontal direction =    3.511156
+! element width =   7.2115384E-02  degrees =    8.018865      km
+  else if(NEX == 1248) then
+    DT                       = 0.05d0 * 0.30d0 / 0.3318
+! stability max = approximately 0.3318
+    NER_CRUST                = 4
+    NER_80_MOHO              = 8
+    NER_220_80               = 8
+    NER_400_220              = 14
+    NER_600_400              = 14
+    NER_670_600              = 5
+    NER_771_670              = 6
+    NER_TOPDDOUBLEPRIME_771  = 114
+    NER_CMB_TOPDDOUBLEPRIME  = 8
+    NER_OUTER_CORE           = 124
+    NER_TOP_CENTRAL_CUBE_ICB = 7
+
+  else
+    stop 'incorrect value of NEX, should use an updated version of auto_NER'
+  endif
+
+!! DK DK UGLY
+  print *,'DT computed for Courant number of 0.30 = ',DT
+  print *
+
+! honor the PREM Moho or define a fictitious Moho in order to have even radial sampling
+! from the d220 to the Earth surface
+  if(HONOR_1D_SPHERICAL_MOHO) then
+    RMOHO_FICTITIOUS_IN_MESHER = RMOHO
+! define ONE_CRUST flag according to number of elements in radial direction in the crust
+    if(NER_CRUST > 1) then
+      ONE_CRUST = .false.
+    else
+      ONE_CRUST = .true.
+    endif
+  else
+    RMOHO_FICTITIOUS_IN_MESHER = R80 + (R_EARTH - R80) * dble(NER_80_MOHO) / dble(NER_80_MOHO + NER_CRUST)
+!!!!!!!!!!!!!!! DK DK ceci a revoir, voir ce qu'on fait dans ce cas-la
+    ONE_CRUST = .false.
+  endif
+
+!
+!--- display the PREM model alone
+!
+  open(unit=27,file='prem_model.dat',status='unknown')
+  do ipoin = 2,1000
+    r = R_EARTH * dble(ipoin)/1000.d0
+    call prem_iso(r,rho,vp,vs,ratio_sampling,ONE_CRUST)
+    write(27,*) sngl((R_EARTH-r)/1000.d0),sngl(vp),sngl(vs)
+  enddo
+  close(27)
+
+!---------------------------------------------------
+!--- mesh resolution in the horizontal direction
+!---------------------------------------------------
+
+! estimate of mesh resolution: minimum resolution is for S waves right below the second doubling
+  r = R_EARTH - DEPTH_SECOND_DOUBLING_OPTIMAL - SMALL_OFFSET ! in meters
+  call prem_iso(r,rho,vp,vs,ratio_sampling,ONE_CRUST)
+  period_min = RESOLUTION_TARGET / (vs * (NGLLX - 1) * (4 * NEX / ratio_sampling) / (2.d0 * PI * r))
+
+  print *
+  print *,'! period min for ',sngl(RESOLUTION_TARGET),' points per lambda S min in horizontal direction = ',sngl(period_min)
+  print *
+  print *,'! element width = ',sngl(360.d0 / (4*NEX)),' degrees = ',sngl(2 * PI * R_EARTH / (4*NEX*1000.d0)),' km'
+  print *
+
+! define percentage of smallest distance between GLL points for NGLLX points
+! percentages were computed by calling the GLL points routine for each degree
+  percent_GLL(2) = 100.d0
+  percent_GLL(3) = 50.d0
+  percent_GLL(4) = 27.639320225002102d0
+  percent_GLL(5) = 17.267316464601141d0
+  percent_GLL(6) = 11.747233803526763d0
+  percent_GLL(7) = 8.4888051860716516d0
+  percent_GLL(8) = 6.4129925745196719d0
+  percent_GLL(9) = 5.0121002294269914d0
+  percent_GLL(10) = 4.0233045916770571d0
+  percent_GLL(11) = 3.2999284795970416d0
+  percent_GLL(12) = 2.7550363888558858d0
+  percent_GLL(13) = 2.3345076678918053d0
+  percent_GLL(14) = 2.0032477366369594d0
+  percent_GLL(15) = 1.7377036748080721d0
+
+! convert to real percentage
+  percent_GLL(:) = percent_GLL(:) / 100.d0
+
+  if(NGLLX > NGLLX_MAX_STABILITY) stop 'cannot estimate the stability condition for that degree'
+
+! list of corners defining the edges
+! the edge number is sorted according to the numbering convention defined in file hex_nodes.f90
+! as well as in DATA/util/YYYYYYYYYYYYYYYYYYYYYYYYYYY DK DK UGLY YYYYYYYYYYYYYYYYYYY
+
+  list_corners_edge( 1,1) = 1
+  list_corners_edge( 1,2) = 2
+
+  list_corners_edge( 2,1) = 2
+  list_corners_edge( 2,2) = 3
+
+  list_corners_edge( 3,1) = 3
+  list_corners_edge( 3,2) = 4
+
+  list_corners_edge( 4,1) = 4
+  list_corners_edge( 4,2) = 1
+
+  list_corners_edge( 5,1) = 1
+  list_corners_edge( 5,2) = 5
+
+  list_corners_edge( 6,1) = 2
+  list_corners_edge( 6,2) = 6
+
+  list_corners_edge( 7,1) = 3
+  list_corners_edge( 7,2) = 7
+
+  list_corners_edge( 8,1) = 4
+  list_corners_edge( 8,2) = 8
+
+  list_corners_edge( 9,1) = 5
+  list_corners_edge( 9,2) = 6
+
+  list_corners_edge(10,1) = 6
+  list_corners_edge(10,2) = 7
+
+  list_corners_edge(11,1) = 7
+  list_corners_edge(11,2) = 8
+
+  list_corners_edge(12,1) = 8
+  list_corners_edge(12,2) = 5
+
+  write(filename,"('prem_horizontal_sampling_',i4.4,'.dat')") NEX
+  open(unit=27,file=filename,status='unknown')
+
+  do ipoin = NINIT,1000
+
+  r = R_EARTH * dble(ipoin)/1000.d0
+
+  call prem_iso(r,rho,vp,vs,ratio_sampling,ONE_CRUST)
+! for outer core, in which there is no S wave velocity, use P velocity potential with a margin to be safe
+  if(vs < 0.001d0) vs = vp / MARGIN_SAFE
+
+! compute mesh size in the horizontal direction at that depth
+  spectral_element_size = (2.d0 * PI * r) / (4 * NEX / ratio_sampling)
+  average_mesh_point_size = spectral_element_size / (NGLLX - 1)
+
+! compute number of elements per wavelength at that depth
+  num_points_per_lambda_S = period_min * vs / average_mesh_point_size
+
+! compute stability condition (Courant number)
+  stability = vp * DT / (spectral_element_size * percent_GLL(NGLLX))
+
+  r_gnuplot = (R_EARTH-r)/1000.d0
+  write(27,*) sngl(r_gnuplot),sngl(num_points_per_lambda_S * vp/vs),sngl(num_points_per_lambda_S),sngl(stability)
+
+! this to be able to see values in the crust better on a larger interval
+  if(r_gnuplot < 10.d0) &
+    write(27,*) '-200 ',sngl(num_points_per_lambda_S * vp/vs),sngl(num_points_per_lambda_S),sngl(stability)
+
+  enddo
+
+  close(27)
+
+!------------------------------------------------
+!--- mesh resolution in the radial direction
+!------------------------------------------------
+
+  ner( 1) = NER_CRUST
+  ner( 2) = NER_80_MOHO
+  ner( 3) = NER_220_80
+  ner( 4) = NER_400_220
+  ner( 5) = NER_600_400
+  ner( 6) = NER_670_600
+  ner( 7) = NER_771_670
+  ner( 8) = NER_TOPDDOUBLEPRIME_771
+  ner( 9) = NER_CMB_TOPDDOUBLEPRIME
+  ner(10) = NER_OUTER_CORE
+  ner(11) = NER_TOP_CENTRAL_CUBE_ICB
+
+! define the top and bottom radii of all the regions of the mesh in the radial direction
+! the first region is the crust at the surface of the Earth
+! the last region is in the inner core near the center of the Earth
+  r_top(1) = R_EARTH
+  r_bottom(1) = RMOHO_FICTITIOUS_IN_MESHER
+
+  r_top(2) = RMOHO_FICTITIOUS_IN_MESHER
+  r_bottom(2) = R80
+
+  r_top(3) = R80
+  r_bottom(3) = R220
+
+  r_top(4) = R220
+  r_bottom(4) = R400
+
+  r_top(5) = R400
+  r_bottom(5) = R600
+
+  r_top(6) = R600
+  r_bottom(6) = R670
+
+  r_top(7) = R670
+  r_bottom(7) = R771
+
+  r_top(8) = R771
+  r_bottom(8) = RTOPDDOUBLEPRIME
+
+  r_top(9) = RTOPDDOUBLEPRIME
+  r_bottom(9) = RCMB
+
+  r_top(10) = RCMB
+  r_bottom(10) = RICB
+
+  r_top(11) = RICB
+  r_bottom(11) = R_CENTRAL_CUBE
+
+  write(filename,"('prem_radial_sampling_',i4.4,'.dat')") NEX
+  open(unit=27,file=filename,status='unknown')
+
+! loop on the layers, start from the last one to go from Earth center to surface
+  do ilayer = NB_LAYERS_SAMPLING_STUDY,1,-1
+
+! loop on all the elements in this layer
+  do ielem = 1,ner(ilayer)
+
+! compute at the bottom of the layer
+  ipoin = ielem - 1
+  gamma =  dble(ipoin) / dble(ner(ilayer))
+  r = r_bottom(ilayer) * (ONE - gamma) + r_top(ilayer) * gamma
+
+! define next point at the top of the layer
+  ipoin = ielem - 1 + 1
+  gamma =  dble(ipoin) / dble(ner(ilayer))
+  r_next = r_bottom(ilayer) * (ONE - gamma) + r_top(ilayer) * gamma
+
+! add security margin to avoid being exactly on an interface
+  r = r + SMALL_OFFSET
+  r_next = r_next - SMALL_OFFSET
+
+! compute mesh size in the horizontal direction at that depth
+  spectral_element_size = r_next - r
+  average_mesh_point_size = spectral_element_size / (NGLLX - 1)
+
+  call prem_iso(r,rho,vp,vs,ratio_sampling,ONE_CRUST)
+! for outer core, in which there is no S wave velocity, use P velocity potential with a margin to be safe
+  if(vs < 0.001d0) vs = vp / MARGIN_SAFE
+
+! compute number of elements per wavelength at that depth
+  num_points_per_lambda_S = period_min * vs / average_mesh_point_size
+
+! compute stability condition (Courant number)
+  stability = vp * DT / (spectral_element_size * percent_GLL(NGLLX))
+
+!!!!!! DK DK quick hack to detect doublings and show problems with small doubling brick
+  call prem_iso(r_next,rho,vp_new,vs_new,ratio_sampling_new,ONE_CRUST)
+  if(ratio_sampling_new < ratio_sampling) stability = stability * 3.d0 / 2.d0
+!!!!!! DK DK quick hack to detect doublings and show problems with small doubling brick
+
+  r_gnuplot = (R_EARTH-r)/1000.d0
+  write(27,*) sngl(r_gnuplot),sngl(num_points_per_lambda_S * vp/vs),sngl(num_points_per_lambda_S),sngl(stability)
+
+! this to be able to see values in the crust better on a larger interval
+  if(r_gnuplot < 10.d0) &
+    write(27,*) '-200 ',sngl(num_points_per_lambda_S * vp/vs),sngl(num_points_per_lambda_S),sngl(stability)
+
+! add one more point at the top of the last layer
+  if(ielem == ner(ilayer)) then
+    call prem_iso(r_next,rho,vp,vs,ratio_sampling,ONE_CRUST)
+! for outer core, in which there is no S wave velocity, use P velocity potential with a margin to be safe
+    if(vs < 0.001d0) vs = vp / MARGIN_SAFE
+
+! compute number of elements per wavelength at that depth
+    num_points_per_lambda_S = period_min * vs / average_mesh_point_size
+
+! compute stability condition (Courant number)
+    stability = vp * DT / (spectral_element_size * percent_GLL(NGLLX))
+
+    r_gnuplot = (R_EARTH-r_next)/1000.d0
+    write(27,*) sngl(r_gnuplot),sngl(num_points_per_lambda_S * vp/vs),sngl(num_points_per_lambda_S),sngl(stability)
+
+! this to be able to see values in the crust better on a larger interval
+    if(r_gnuplot < 10.d0) &
+      write(27,*) '-200 ',sngl(num_points_per_lambda_S * vp/vs),sngl(num_points_per_lambda_S),sngl(stability)
+
+  endif
+
+  enddo
+
+  enddo
+
+  close(27)
+
+!---------------------------------------------------------------
+
+! find element below top of which we should implement the second doubling in the mantle
+! locate element closest to optimal value
+  distance_min = HUGEVAL
+  do ielem = 2,NER_TOPDDOUBLEPRIME_771
+    zval = RTOPDDOUBLEPRIME + ielem * (R771 - RTOPDDOUBLEPRIME) / dble(NER_TOPDDOUBLEPRIME_771)
+    distance = abs(zval - (R_EARTH - DEPTH_SECOND_DOUBLING_OPTIMAL))
+    if(distance < distance_min) then
+      elem_doubling_mantle = ielem
+      distance_min = distance
+      DEPTH_SECOND_DOUBLING_REAL = R_EARTH - zval
+    endif
+  enddo
+  print *,'for second doubling, selected element ',elem_doubling_mantle,' at depth ', &
+              DEPTH_SECOND_DOUBLING_REAL,' and distance ',distance_min,' from optimal depth'
+  print *
+
+! find element below top of which we should implement the third doubling in the middle of the outer core
+! locate element closest to optimal value
+  distance_min = HUGEVAL
+! start at element number 4 because we need at least two elements below for the fourth doubling
+! implemented at the bottom of the outer core
+  do ielem = 4,NER_OUTER_CORE
+    zval = RICB + ielem * (RCMB - RICB) / dble(NER_OUTER_CORE)
+    distance = abs(zval - (R_EARTH - DEPTH_THIRD_DOUBLING_OPTIMAL))
+    if(distance < distance_min) then
+      elem_doubling_middle_outer_core = ielem
+      distance_min = distance
+      DEPTH_THIRD_DOUBLING_REAL = R_EARTH - zval
+    endif
+  enddo
+  print *,'for third doubling, selected element ',elem_doubling_middle_outer_core,' at depth ', &
+              DEPTH_THIRD_DOUBLING_REAL,' and distance ',distance_min,' from optimal depth'
+  print *
+
+! find element below top of which we should implement the fourth doubling in the middle of the outer core
+! locate element closest to optimal value
+  distance_min = HUGEVAL
+! stop two elements before the top because we need at least two elements above for the third doubling
+! implemented in the middle of the outer core
+  do ielem = 2,NER_OUTER_CORE-2
+    zval = RICB + ielem * (RCMB - RICB) / dble(NER_OUTER_CORE)
+    distance = abs(zval - (R_EARTH - DEPTH_FOURTH_DOUBLING_OPTIMAL))
+    if(distance < distance_min) then
+      elem_doubling_bottom_outer_core = ielem
+      distance_min = distance
+      DEPTH_FOURTH_DOUBLING_REAL = R_EARTH - zval
+    endif
+  enddo
+  print *,'for fourth doubling, selected element ',elem_doubling_bottom_outer_core,' at depth ', &
+              DEPTH_FOURTH_DOUBLING_REAL,' and distance ',distance_min,' from optimal depth'
+  print *
+
+! make sure that the two doublings in the outer core are found in the right order
+  if(elem_doubling_bottom_outer_core >= elem_doubling_middle_outer_core) &
+                  stop 'error in location of the two doublings in the outer core'
+
+! define all the layers for the mesh
+  ner( 1) = NER_CRUST
+  ner( 2) = NER_80_MOHO
+  ner( 3) = NER_220_80
+  ner( 4) = NER_400_220
+  ner( 5) = NER_600_400
+  ner( 6) = NER_670_600
+  ner( 7) = NER_771_670
+  ner( 8) = NER_TOPDDOUBLEPRIME_771 - elem_doubling_mantle
+  ner( 9) = elem_doubling_mantle
+  ner(10) = NER_CMB_TOPDDOUBLEPRIME
+  ner(11) = NER_OUTER_CORE - elem_doubling_middle_outer_core
+  ner(12) = elem_doubling_middle_outer_core - elem_doubling_bottom_outer_core
+  ner(13) = elem_doubling_bottom_outer_core
+  ner(14) = NER_TOP_CENTRAL_CUBE_ICB
+
+
+! value of the doubling ratio in each radial region of the mesh
+  ratio_sampling_array(1) = 1
+  ratio_sampling_array(2:8) = 2
+  ratio_sampling_array(9:11) = 4
+  ratio_sampling_array(12) = 8
+  ratio_sampling_array(13:14) = 16
+
+! define the three regions in which we implement a mesh doubling at the top of that region
+  this_region_has_a_doubling(:)  = .false.
+  this_region_has_a_doubling(2)  = .true.
+  this_region_has_a_doubling(9)  = .true.
+  this_region_has_a_doubling(12) = .true.
+  this_region_has_a_doubling(13) = .true.
+
+! define the top and bottom radii of all the regions of the mesh in the radial direction
+! the first region is the crust at the surface of the Earth
+! the last region is in the inner core near the center of the Earth
+  r_top(1) = R_EARTH
+  r_bottom(1) = RMOHO_FICTITIOUS_IN_MESHER
+
+  r_top(2) = RMOHO_FICTITIOUS_IN_MESHER
+  r_bottom(2) = R80
+
+  r_top(3) = R80
+  r_bottom(3) = R220
+
+  r_top(4) = R220
+  r_bottom(4) = R400
+
+  r_top(5) = R400
+  r_bottom(5) = R600
+
+  r_top(6) = R600
+  r_bottom(6) = R670
+
+  r_top(7) = R670
+  r_bottom(7) = R771
+
+  r_top(8) = R771
+  r_bottom(8) = R_EARTH - DEPTH_SECOND_DOUBLING_REAL
+
+  r_top(9) = R_EARTH - DEPTH_SECOND_DOUBLING_REAL
+  r_bottom(9) = RTOPDDOUBLEPRIME
+
+  r_top(10) = RTOPDDOUBLEPRIME
+  r_bottom(10) = RCMB
+
+  r_top(11) = RCMB
+  r_bottom(11) = R_EARTH - DEPTH_THIRD_DOUBLING_REAL
+
+  r_top(12) = R_EARTH - DEPTH_THIRD_DOUBLING_REAL
+  r_bottom(12) = R_EARTH - DEPTH_FOURTH_DOUBLING_REAL
+
+  r_top(13) = R_EARTH - DEPTH_FOURTH_DOUBLING_REAL
+  r_bottom(13) = RICB
+
+  r_top(14) = RICB
+  r_bottom(14) = R_CENTRAL_CUBE
+
+! create the mesh doubling superbrick
+  call define_superbrick(x_superbrick,y_superbrick,z_superbrick,ibool_superbrick)
+
+! compute total number of spectral elements in the mesh
+  nspec = 0
+
+  do ilayer = 1,NUMBER_OF_MESH_LAYERS
+
+    ner_without_doubling = ner(ilayer)
+
+! if there is a doubling at the top of this region, we implement it in the last two layers of elements
+! and therefore we suppress two layers of regular elements here
+    if(this_region_has_a_doubling(ilayer)) ner_without_doubling = ner_without_doubling - 2
+
+    number_basic_elems_horizontal = (NEX_PER_PROC_XI/ratio_sampling_array(ilayer)) * (NEX_PER_PROC_ETA/ratio_sampling_array(ilayer))
+
+    nspec = nspec + ner_without_doubling * number_basic_elems_horizontal
+
+! If there is a doubling at the top of this region, let us add these elements.
+! The superbrick implements a symmetric four-to-two doubling and therefore replaces
+! a basic regular block of 2 x 2 = 4 elements.
+! We have imposed that NEX be a multiple of 16 therefore we know that we can always create
+! these 2 x 2 blocks because NEX_PER_PROC_XI / ratio_sampling_array(ilayer) and
+! NEX_PER_PROC_ETA / ratio_sampling_array(ilayer) are always divisible by 2.
+    if(this_region_has_a_doubling(ilayer)) nspec = nspec + NSPEC_DOUBLING_SUPERBRICK * number_basic_elems_horizontal / 4
+
+  enddo
+
+! compute total number of OpenDX points in the mesh (many are identical, but simpler to duplicate them here)
+  npoin = nspec * NGNOD_OPENDX
+
+! corner nodes
+  iaddx(1) = 0
+  iaddy(1) = 0
+  iaddr(1) = 0
+
+  iaddx(2) = 1
+  iaddy(2) = 0
+  iaddr(2) = 0
+
+  iaddx(3) = 1
+  iaddy(3) = 1
+  iaddr(3) = 0
+
+  iaddx(4) = 0
+  iaddy(4) = 1
+  iaddr(4) = 0
+
+  iaddx(5) = 0
+  iaddy(5) = 0
+  iaddr(5) = 1
+
+  iaddx(6) = 1
+  iaddy(6) = 0
+  iaddr(6) = 1
+
+  iaddx(7) = 1
+  iaddy(7) = 1
+  iaddr(7) = 1
+
+  iaddx(8) = 0
+  iaddy(8) = 1
+  iaddr(8) = 1
+
+!---
+!--- create an OpenDX file with the whole mesh and
+!--- another OpenDX file with the worst elements for the stability condition (Courant number) only
+!---
+
+! allocate arrays to store Courant stability value and mesh resolution for S waves
+  allocate(color(nspec))
+  allocate(courant_stability_number(nspec))
+  allocate(copy_courant_stability_number(nspec))
+  allocate(number_points_S_wavelength(nspec))
+  allocate(copy_number_points_S_wavelength(nspec))
+
+! write OpenDX header with element data
+  write(filename,"('DX_fullmesh_',i4.4,'.dx')") NEX
+  open(unit=11,file=filename,status='unknown')
+  write(11,*) 'object 1 class array type float rank 1 shape 3 items ',npoin,' data follows'
+
+  write(filename,"('DX_worst_stability_',i4.4,'.dx')") NEX
+  open(unit=12,file=filename,status='unknown')
+  write(12,*) 'object 1 class array type float rank 1 shape 3 items ',npoin,' data follows'
+
+  write(filename,"('DX_worst_sampling_',i4.4,'.dx')") NEX
+  open(unit=13,file=filename,status='unknown')
+  write(13,*) 'object 1 class array type float rank 1 shape 3 items ',npoin,' data follows'
+
+! final spectral element number
+  ispec_final = 0
+
+! output global OpenDX points
+  do ilayer = 1,NUMBER_OF_MESH_LAYERS
+
+! loop on all the elements
+   do ix_elem = 1,NEX_PER_PROC_XI,ratio_sampling_array(ilayer)
+   do iy_elem = 1,NEX_PER_PROC_ETA,ratio_sampling_array(ilayer)
+
+    ner_without_doubling = ner(ilayer)
+
+! if there is a doubling at the top of this region, we implement it in the last two layers of elements
+! and therefore we suppress two layers of regular elements here
+    if(this_region_has_a_doubling(ilayer)) ner_without_doubling = ner_without_doubling - 2
+
+   do ir_elem = 1,ner_without_doubling
+
+! final spectral element number
+   ispec_final = ispec_final + 1
+
+! loop on all the nodes of this element
+   do ignod = 1,NGNOD_OPENDX
+
+! define topological coordinates of this mesh point
+    ix = (ix_elem - 1) + iaddx(ignod) * ratio_sampling_array(ilayer)
+    iy = (iy_elem - 1) + iaddy(ignod) * ratio_sampling_array(ilayer)
+    ir = (ir_elem - 1) + iaddr(ignod)
+
+! compute the actual position of that grid point
+    call compute_value_grid_main_mesh(dble(ix),dble(iy),dble(ir),xelm(ignod),yelm(ignod),zelm(ignod), &
+               ANGULAR_WIDTH_XI_RAD,ANGULAR_WIDTH_ETA_RAD,iproc_xi,iproc_eta, &
+               NPROC_XI,NPROC_ETA,NEX_PER_PROC_XI,NEX_PER_PROC_ETA,R_CENTRAL_CUBE, &
+               r_top(ilayer),r_bottom(ilayer),ner(ilayer),ilayer)
+
+    write(11,"(f10.7,1x,f10.7,1x,f10.7)") xelm(ignod),yelm(ignod),zelm(ignod)
+    write(12,"(f10.7,1x,f10.7,1x,f10.7)") xelm(ignod),yelm(ignod),zelm(ignod)
+    write(13,"(f10.7,1x,f10.7,1x,f10.7)") xelm(ignod),yelm(ignod),zelm(ignod)
+
+! end of loop on all the nodes of this element
+  enddo
+
+! scale arrays from unit sphere to real Earth
+   xelm(:) = xelm(:) * R_EARTH
+   yelm(:) = yelm(:) * R_EARTH
+   zelm(:) = zelm(:) * R_EARTH
+
+! compute minimum and maximum distance using the 8 corners of the element
+   distance_min = + HUGEVAL
+   distance_max = - HUGEVAL
+   do iedge = 1,NEDGES
+     ignod = list_corners_edge(iedge,1)
+     ignod2 = list_corners_edge(iedge,2)
+     distance = sqrt((xelm(ignod2) - xelm(ignod))**2 + (yelm(ignod2) - yelm(ignod))**2 + (zelm(ignod2) - zelm(ignod))**2)
+     distance_min = min(distance_min,distance)
+     distance_max = max(distance_max,distance)
+   enddo
+
+! determine P and S velocity at the barycenter of the element
+   xval = sum(xelm(:)) / NGNOD_OPENDX
+   yval = sum(yelm(:)) / NGNOD_OPENDX
+   zval = sum(zelm(:)) / NGNOD_OPENDX
+   r = sqrt(xval**2 + yval**2 + zval**2)
+   call prem_iso(r,rho,vp,vs,ratio_sampling,ONE_CRUST)
+! for outer core, in which there is no S wave velocity, use P velocity potential with a margin to be safe
+  if(vs < 0.001d0) vs = vp / MARGIN_SAFE
+! if we are in the last region (the inner core), ignore S-wave velocity because we purposely
+! make sampling bad there since Poisson's ratio is too high
+  if(ilayer == NUMBER_OF_MESH_LAYERS) vs = HUGEVAL
+
+! store stability condition (Courant number) and number of points per S wavelength for that element
+   courant_stability_number(ispec_final) = vp * DT / (distance_min * percent_GLL(NGLLX))
+   number_points_S_wavelength(ispec_final) = period_min * vs / (distance_max / (NGLLX - 1))
+
+! store region number to color that element
+
+! we are in the crust or mantle
+   if(ilayer <= 10) then
+     color(ispec_final) = 1
+
+! we are in the inner core
+   else if(ilayer == NUMBER_OF_MESH_LAYERS) then
+     color(ispec_final) = 3
+
+! we are in the outer core
+   else
+     color(ispec_final) = 2
+   endif
+
+! end of loop on all the regular elements
+  enddo
+  enddo
+  enddo
+
+! If there is a doubling at the top of this region, let us add these elements.
+! The superbrick implements a symmetric four-to-two doubling and therefore replaces
+! a basic regular block of 2 x 2 = 4 elements.
+! We have imposed that NEX be a multiple of 16 therefore we know that we can always create
+! these 2 x 2 blocks because NEX_PER_PROC_XI / ratio_sampling_array(ilayer) and
+! NEX_PER_PROC_ETA / ratio_sampling_array(ilayer) are always divisible by 2.
+    if(this_region_has_a_doubling(ilayer)) then
+
+! the doubling is implemented in the last two radial elements
+! therefore we start one element before the last one
+      ir_elem = ner(ilayer) - 1
+
+! loop on all the elements in the 2 x 2 blocks
+      do ix_elem = 1,NEX_PER_PROC_XI,2*ratio_sampling_array(ilayer)
+        do iy_elem = 1,NEX_PER_PROC_ETA,2*ratio_sampling_array(ilayer)
+
+! loop on all the elements in the mesh doubling superbrick
+          do ispec = 1,NSPEC_DOUBLING_SUPERBRICK
+
+! final spectral element number
+            ispec_final = ispec_final + 1
+
+! loop on all the nodes of this element
+            do ignod = 1,NGNOD_OPENDX
+
+! define topological coordinates of this mesh point
+              xval = (ix_elem - 1) + x_superbrick(ibool_superbrick(ignod,ispec)) * ratio_sampling_array(ilayer)
+              yval = (iy_elem - 1) + y_superbrick(ibool_superbrick(ignod,ispec)) * ratio_sampling_array(ilayer)
+              rval = (ir_elem - 1) + z_superbrick(ibool_superbrick(ignod,ispec))
+
+! compute the actual position of that grid point
+              call compute_value_grid_main_mesh(xval,yval,rval,xelm(ignod),yelm(ignod),zelm(ignod), &
+                       ANGULAR_WIDTH_XI_RAD,ANGULAR_WIDTH_ETA_RAD,iproc_xi,iproc_eta, &
+                       NPROC_XI,NPROC_ETA,NEX_PER_PROC_XI,NEX_PER_PROC_ETA,R_CENTRAL_CUBE, &
+                       r_top(ilayer),r_bottom(ilayer),ner(ilayer),ilayer)
+
+              write(11,"(f10.7,1x,f10.7,1x,f10.7)") xelm(ignod),yelm(ignod),zelm(ignod)
+              write(12,"(f10.7,1x,f10.7,1x,f10.7)") xelm(ignod),yelm(ignod),zelm(ignod)
+              write(13,"(f10.7,1x,f10.7,1x,f10.7)") xelm(ignod),yelm(ignod),zelm(ignod)
+
+! end of loop on all the nodes of this element
+            enddo
+
+! scale arrays from unit sphere to real Earth
+   xelm(:) = xelm(:) * R_EARTH
+   yelm(:) = yelm(:) * R_EARTH
+   zelm(:) = zelm(:) * R_EARTH
+
+! compute minimum and maximum distance using the 8 corners of the element
+   distance_min = + HUGEVAL
+   distance_max = - HUGEVAL
+   do iedge = 1,NEDGES
+     ignod = list_corners_edge(iedge,1)
+     ignod2 = list_corners_edge(iedge,2)
+     distance = sqrt((xelm(ignod2) - xelm(ignod))**2 + (yelm(ignod2) - yelm(ignod))**2 + (zelm(ignod2) - zelm(ignod))**2)
+     distance_min = min(distance_min,distance)
+     distance_max = max(distance_max,distance)
+   enddo
+
+! determine P and S velocity at the barycenter of the element
+   xval = sum(xelm(:)) / NGNOD_OPENDX
+   yval = sum(yelm(:)) / NGNOD_OPENDX
+   zval = sum(zelm(:)) / NGNOD_OPENDX
+   r = sqrt(xval**2 + yval**2 + zval**2)
+   call prem_iso(r,rho,vp,vs,ratio_sampling,ONE_CRUST)
+! for outer core, in which there is no S wave velocity, use P velocity potential with a margin to be safe
+  if(vs < 0.001d0) vs = vp / MARGIN_SAFE
+! if we are in the last region (the inner core), ignore S-wave velocity because we purposely
+! make sampling bad there since Poisson's ratio is too high, therefore compute for Vp instead
+  if(ilayer == NUMBER_OF_MESH_LAYERS) vs = HUGEVAL
+
+! store stability condition (Courant number) for that element
+   courant_stability_number(ispec_final) = vp * DT / (distance_min * percent_GLL(NGLLX))
+   number_points_S_wavelength(ispec_final) = period_min * vs / (distance_max / (NGLLX - 1))
+
+! store region number to color that element
+
+! we are in the crust or mantle
+   if(ilayer <= 10) then
+     color(ispec_final) = 1
+
+! we are in the inner core
+   else if(ilayer == NUMBER_OF_MESH_LAYERS) then
+     color(ispec_final) = 3
+
+! we are in the outer core
+   else
+     color(ispec_final) = 2
+   endif
+
+! end of loops on the mesh doubling elements
+          enddo
+        enddo
+      enddo
+
+    endif
+
+  enddo
+
+!---------------------------------------------
+
+! determine the NSPEC_WORST_ELEMENTS worst elements and store their element number
+  copy_courant_stability_number(:) = courant_stability_number(:)
+  copy_number_points_S_wavelength(:) = number_points_S_wavelength(:)
+
+  do ispec = 1,NSPEC_WORST_ELEMENTS
+    ispec_worst_elements_stability(ispec) = maxloc(copy_courant_stability_number(:),dim=1)
+    ispec_worst_elements_sampling(ispec) = minloc(copy_number_points_S_wavelength(:),dim=1)
+! set it to a fictitious value to make sure we do not detect it a second time
+    copy_courant_stability_number(ispec_worst_elements_stability(ispec)) = - HUGEVAL
+    copy_number_points_S_wavelength(ispec_worst_elements_sampling(ispec)) = + HUGEVAL
+  enddo
+
+!---------------------------------------------
+
+! write element header
+  write(11,*) 'object 2 class array type int rank 1 shape 8 items ',nspec,' data follows'
+
+! output global OpenDX elements
+  ioffset = 0
+
+  do ispec = 1,nspec
+
+! point order in OpenDX is 4,1,8,5,3,2,7,6, *not* 1,2,3,4,5,6,7,8 as in AVS
+! in the case of OpenDX, node numbers start at zero
+    write(11,"(i6,1x,i6,1x,i6,1x,i6,1x,i6,1x,i6,1x,i6,1x,i6)") &
+            ioffset+3,ioffset+0,ioffset+7,ioffset+4,ioffset+2,ioffset+1,ioffset+6,ioffset+5
+
+    ioffset = ioffset + NGNOD_OPENDX
+
+  enddo
+
+! write element header
+! represent the NSPEC_WORST_ELEMENTS worst elements
+  write(12,*) 'object 2 class array type int rank 1 shape 8 items ',NSPEC_WORST_ELEMENTS,' data follows'
+
+  do ispec = 1,NSPEC_WORST_ELEMENTS
+
+    ioffset = (ispec_worst_elements_stability(ispec) - 1) * NGNOD_OPENDX
+
+! point order in OpenDX is 4,1,8,5,3,2,7,6, *not* 1,2,3,4,5,6,7,8 as in AVS
+! in the case of OpenDX, node numbers start at zero
+    write(12,"(i6,1x,i6,1x,i6,1x,i6,1x,i6,1x,i6,1x,i6,1x,i6)") &
+            ioffset+3,ioffset+0,ioffset+7,ioffset+4,ioffset+2,ioffset+1,ioffset+6,ioffset+5
+
+  enddo
+
+! write element header
+! represent the NSPEC_WORST_ELEMENTS worst elements
+  write(13,*) 'object 2 class array type int rank 1 shape 8 items ',NSPEC_WORST_ELEMENTS,' data follows'
+
+  do ispec = 1,NSPEC_WORST_ELEMENTS
+
+    ioffset = (ispec_worst_elements_sampling(ispec) - 1) * NGNOD_OPENDX
+
+! point order in OpenDX is 4,1,8,5,3,2,7,6, *not* 1,2,3,4,5,6,7,8 as in AVS
+! in the case of OpenDX, node numbers start at zero
+    write(13,"(i6,1x,i6,1x,i6,1x,i6,1x,i6,1x,i6,1x,i6,1x,i6)") &
+            ioffset+3,ioffset+0,ioffset+7,ioffset+4,ioffset+2,ioffset+1,ioffset+6,ioffset+5
+
+  enddo
+
+! output OpenDX header for data
+! label for hexahedra in OpenDX is "cubes"
+  write(11,*) 'attribute "element type" string "cubes"'
+  write(11,*) 'attribute "ref" string "positions"'
+  write(11,*) 'object 3 class array type float rank 0 items ',nspec,' data follows'
+
+! write element data
+! color elements according to the region they belong to in order to represent the mesh
+  do ispec = 1,nspec
+    write(11,*) color(ispec)
+  enddo
+
+! represent the NSPEC_WORST_ELEMENTS worst elements
+  write(12,*) 'attribute "element type" string "cubes"'
+  write(12,*) 'attribute "ref" string "positions"'
+  write(12,*) 'object 3 class array type float rank 0 items ',NSPEC_WORST_ELEMENTS,' data follows'
+
+! write element data
+! color elements according to the Courant stability number
+  do ispec = 1,NSPEC_WORST_ELEMENTS
+    write(12,*) courant_stability_number(ispec_worst_elements_stability(ispec))
+  enddo
+
+! represent the NSPEC_WORST_ELEMENTS worst elements
+  write(13,*) 'attribute "element type" string "cubes"'
+  write(13,*) 'attribute "ref" string "positions"'
+  write(13,*) 'object 3 class array type float rank 0 items ',NSPEC_WORST_ELEMENTS,' data follows'
+
+! write element data
+! color elements according to the number of points per S wavelength
+  do ispec = 1,NSPEC_WORST_ELEMENTS
+    write(13,*) number_points_S_wavelength(ispec_worst_elements_sampling(ispec))
+  enddo
+
+! define OpenDX field
+  write(11,*) 'attribute "dep" string "connections"'
+  write(11,*) 'object "irregular positions irregular connections" class field'
+  write(11,*) 'component "positions" value 1'
+  write(11,*) 'component "connections" value 2'
+  write(11,*) 'component "data" value 3'
+  write(11,*) 'end'
+
+  write(12,*) 'attribute "dep" string "connections"'
+  write(12,*) 'object "irregular positions irregular connections" class field'
+  write(12,*) 'component "positions" value 1'
+  write(12,*) 'component "connections" value 2'
+  write(12,*) 'component "data" value 3'
+  write(12,*) 'end'
+
+  write(13,*) 'attribute "dep" string "connections"'
+  write(13,*) 'object "irregular positions irregular connections" class field'
+  write(13,*) 'component "positions" value 1'
+  write(13,*) 'component "connections" value 2'
+  write(13,*) 'component "data" value 3'
+  write(13,*) 'end'
+
+  close(11)
+  close(12)
+  close(13)
+
+! print information about the maximum Courant number and minimum number of points per wavelength
+! detected in the mesh
+  print *,'Minimum number of points per S wavelength detected in the mesh = ',minval(number_points_S_wavelength), &
+              ' in element ',minloc(number_points_S_wavelength,dim=1)
+  print *
+  print *,'Maximum stability condition (Courant number) detected in the mesh = ',maxval(courant_stability_number), &
+              ' in element ',maxloc(courant_stability_number,dim=1)
+  print *
+
+! deallocate arrays
+  deallocate(color)
+  deallocate(courant_stability_number)
+  deallocate(copy_courant_stability_number)
+  deallocate(number_points_S_wavelength)
+  deallocate(copy_number_points_S_wavelength)
+
+! end of loop on all the cases to study
+  enddo
+
+! create a gnuplot script to display all the results
+  open(unit=27,file='plot_mesh_resolution.gnu',status='unknown')
+  write(27,*) 'set term x11'
+  write(27,*) '######set xrange [0:6371]'
+  write(27,*) '## this to be able to see values in the crust better on a larger interval'
+  write(27,*) 'set xrange [-200:6371]'
+  write(27,*) 'set xlabel "Depth (km)"'
+  write(27,*) 'set grid'
+  write(27,*) '## this to show the Earth surface'
+  write(27,*) 'set yzeroaxis linetype 4 linewidth 2'
+  write(27,*)
+
+! display the PREM model alone
+  write(27,"(a140)") 'plot "prem_model.dat" us 1:2 t ''Vp PREM'' w l 1, "prem_model.dat" us 1:3 t ''Vs PREM'' w l 3'
+  write(27,*) '########pause -1 "hit key"'
+  write(27,*)
+
+! loop on all the cases to study
+  do icase = 1,NUM_CASES
+
+! define value of NEX for this case
+  NEX = NEX_val(icase)
+
+  write(27,*) 'set title "NEX =',NEX,'"'
+  write(27,*)
+
+  write(27,*) 'set ylabel "Number of points per S wavelength"'
+  write(27,*) 'set yrange [0:14]'
+  write(27,*) 'set ytics 0,1,14'
+  write(27,100) NEX,NEX
+  write(27,*) 'pause -1 "hit key"'
+  write(27,*)
+
+  write(27,*) 'set ylabel "Number of points per P wavelength"'
+  write(27,*) 'set yrange [0:20]'
+  write(27,*) 'set ytics 0,1,20'
+  write(27,200) NEX,NEX
+  write(27,*) 'pause -1 "hit key"'
+  write(27,*)
+
+  write(27,*) 'set ylabel "Stability condition (Courant number)"'
+  write(27,*) 'set yrange [0:1]'
+  write(27,*) 'set ytics 0,0.1,1'
+  write(27,300) NEX,NEX
+  write(27,*) 'pause -1 "hit key"'
+  write(27,*)
+
+! end of loop on all the cases to study
+  enddo
+
+! formats for output
+ 100 format('plot "prem_radial_sampling_',i4.4,'.dat" us 1:3 t ''Vs sampling radial'' w linesp 1, &
+    & "prem_horizontal_sampling_',i4.4,'.dat" us 1:3 t ''Vs sampling horizontal'' w l 3, &
+    & "cmb.dat" t '''' w l 6, "icb.dat" t '''' w l 6')
+
+ 200 format('plot "prem_radial_sampling_',i4.4,'.dat" us 1:2 t ''Vp sampling radial'' w linesp 1, &
+    & "prem_horizontal_sampling_',i4.4,'.dat" us 1:2 t ''Vp sampling horizontal'' w l 3, &
+    & "cmb.dat" t '''' w l 6, "icb.dat" t '''' w l 6')
+
+ 300 format('plot "prem_radial_sampling_',i4.4,'.dat" us 1:4 t ''Stability radial'' w linesp 1, &
+    & "prem_horizontal_sampling_',i4.4,'.dat" us 1:4 t ''Stability horizontal'' w l 3, &
+    & "cmb.dat" t '''' w l 6, "icb.dat" t '''' w l 6')
+
+  close(27)
+
+  end program display_prem_sampling_doubling
+
+!---------------------------------------------------------------------------
+
+! include code to define the mesh doubling superbrick
+
+  include "define_superbrick.f90"
+
+!---------------------------------------------------------------------------
+
+  subroutine compute_value_grid_main_mesh(xval,yval,rval,xgrid,ygrid,zgrid, &
+               ANGULAR_WIDTH_XI_RAD,ANGULAR_WIDTH_ETA_RAD,iproc_xi,iproc_eta, &
+               NPROC_XI,NPROC_ETA,NEX_PER_PROC_XI,NEX_PER_PROC_ETA,R_CENTRAL_CUBE,r_top,r_bottom,ner,ilayer)
+
+  implicit none
+
+  include "constants_modified_v40.h"
+
+  integer :: iproc_xi,iproc_eta,NPROC_XI,NPROC_ETA,NEX_PER_PROC_XI,NEX_PER_PROC_ETA,ner,ilayer
+
+  double precision :: xval,yval,rval,xgrid,ygrid,zgrid,ANGULAR_WIDTH_XI_RAD,ANGULAR_WIDTH_ETA_RAD,R_CENTRAL_CUBE,r_top,r_bottom
+
+! local variables
+  double precision :: xi,eta,gamma,x,y,rgb,rgt,rn
+  double precision :: x_bot,y_bot,z_bot
+  double precision :: x_top,y_top,z_top
+
+! full Earth (cubed sphere)
+  xi = - ANGULAR_WIDTH_XI_RAD/2.d0 + (iproc_xi + xval/dble(NEX_PER_PROC_XI))*ANGULAR_WIDTH_XI_RAD/dble(NPROC_XI)
+  x = tan(xi)
+
+  eta = - ANGULAR_WIDTH_ETA_RAD/2.d0 + (iproc_eta + yval/dble(NEX_PER_PROC_ETA))*ANGULAR_WIDTH_ETA_RAD/dble(NPROC_ETA)
+  y = tan(eta)
+
+  gamma = ONE / sqrt(ONE + x*x + y*y)
+
+  rgt = (r_top / R_EARTH)*gamma
+  rgb = (r_bottom / R_EARTH)*gamma
+
+! define the mesh points on the top and the bottom in the cubed shpere
+  x_top = -y*rgt
+  y_top = x*rgt
+  z_top = rgt
+
+  x_bot = -y*rgb
+  y_bot = x*rgb
+  z_bot = rgb
+
+! modify in the inner core to match the central cube instead of a sphere
+! this mesh works because even if ellipticity and/or topography are turned on
+! at this stage the reference Earth is still purely spherical
+! therefore it will always perfectly match the sphere defined above
+  if(ilayer == NUMBER_OF_MESH_LAYERS) then ! if we are in the last region (the inner core)
+
+    x_bot = -y
+    y_bot = x
+    z_bot = ONE
+
+! rescale central cube to match cubed sphere
+    x_bot = x_bot * (R_CENTRAL_CUBE/R_EARTH) / sqrt(3.d0)
+    y_bot = y_bot * (R_CENTRAL_CUBE/R_EARTH) / sqrt(3.d0)
+    z_bot = z_bot * (R_CENTRAL_CUBE/R_EARTH) / sqrt(3.d0)
+
+  endif
+
+! compute the position of the point
+  rn = rval / dble(ner)
+  xgrid = x_top*rn + x_bot*(ONE-rn)
+  ygrid = y_top*rn + y_bot*(ONE-rn)
+  zgrid = z_top*rn + z_bot*(ONE-rn)
+
+  end subroutine compute_value_grid_main_mesh
+
+!---------------------------------------------------------------------------
+
+  subroutine prem_iso(r,rho,vp,vs,ratio_sampling,ONE_CRUST)
+
+  implicit none
+
+  include "constants_modified_v40.h"
+
+  double precision :: r,x,rho,vp,vs,ratio_sampling
+
+  logical :: ONE_CRUST
+
+  x = r / R_EARTH
+
+!
+! PREM
+!
+!--- inner core
+!
+  if(r <= RICB) then
+    rho=13.0885d0-8.8381d0*x*x
+    vp=11.2622d0-6.3640d0*x*x
+    vs=3.6678d0-4.4475d0*x*x
+    if(IMPLEMENT_FOURTH_DOUBLING) then
+      ratio_sampling = 16.d0
+    else
+      ratio_sampling = 8.d0
+    endif
+!
+!--- outer core
+!
+  else if(r > RICB .and. r <= RCMB) then
+    rho=12.5815d0-1.2638d0*x-3.6426d0*x*x-5.5281d0*x*x*x
+    vp=11.0487d0-4.0362d0*x+4.8023d0*x*x-13.5732d0*x*x*x
+    vs=0.0d0
+
+    if(IMPLEMENT_FOURTH_DOUBLING) then
+! third and fourth doublings
+      if(r > R_EARTH - DEPTH_THIRD_DOUBLING_OPTIMAL) then
+        ratio_sampling = 4.d0
+      else if(r > R_EARTH - DEPTH_FOURTH_DOUBLING_OPTIMAL) then
+        ratio_sampling = 8.d0
+      else
+        ratio_sampling = 16.d0
+      endif
+    else
+! third doubling
+      if(r > R_EARTH - DEPTH_THIRD_DOUBLING_OPTIMAL) then
+        ratio_sampling = 4.d0
+      else
+        ratio_sampling = 8.d0
+      endif
+    endif
+
+!
+!--- D" at the base of the mantle
+!
+  else if(r > RCMB .and. r <= RTOPDDOUBLEPRIME) then
+    rho=7.9565d0-6.4761d0*x+5.5283d0*x*x-3.0807d0*x*x*x
+    vp=15.3891d0-5.3181d0*x+5.5242d0*x*x-2.5514d0*x*x*x
+    vs=6.9254d0+1.4672d0*x-2.0834d0*x*x+0.9783d0*x*x*x
+    ratio_sampling = 4.d0
+!
+!--- mantle: from top of D" to d670
+!
+  else if(r > RTOPDDOUBLEPRIME .and. r <= R771) then
+    rho=7.9565d0-6.4761d0*x+5.5283d0*x*x-3.0807d0*x*x*x
+    vp=24.9520d0-40.4673d0*x+51.4832d0*x*x-26.6419d0*x*x*x
+    vs=11.1671d0-13.7818d0*x+17.4575d0*x*x-9.2777d0*x*x*x
+
+! second doubling
+    if(r > R_EARTH - DEPTH_SECOND_DOUBLING_OPTIMAL) then
+      ratio_sampling = 2.d0
+    else
+      ratio_sampling = 4.d0
+    endif
+
+  else if(r > R771 .and. r <= R670) then
+    rho=7.9565d0-6.4761d0*x+5.5283d0*x*x-3.0807d0*x*x*x
+    vp=29.2766d0-23.6027d0*x+5.5242d0*x*x-2.5514d0*x*x*x
+    vs=22.3459d0-17.2473d0*x-2.0834d0*x*x+0.9783d0*x*x*x
+    ratio_sampling = 2.d0
+!
+!--- mantle: above d670
+!
+  else if(r > R670 .and. r <= R600) then
+    rho=5.3197d0-1.4836d0*x
+    vp=19.0957d0-9.8672d0*x
+    vs=9.9839d0-4.9324d0*x
+    ratio_sampling = 2.d0
+  else if(r > R600 .and. r <= R400) then
+    rho=11.2494d0-8.0298d0*x
+    vp=39.7027d0-32.6166d0*x
+    vs=22.3512d0-18.5856d0*x
+    ratio_sampling = 2.d0
+  else if(r > R400 .and. r <= R220) then
+    rho=7.1089d0-3.8045d0*x
+    vp=20.3926d0-12.2569d0*x
+    vs=8.9496d0-4.4597d0*x
+    ratio_sampling = 2.d0
+  else if(r > R220 .and. r <= RMOHO) then
+    rho=2.6910d0+0.6924d0*x
+    vp=4.1875d0+3.9382d0*x
+    vs=2.1519d0+2.3481d0*x
+    ratio_sampling = 2.d0
+
+  else if(r > RMOHO .and. r <= RMIDDLE_CRUST) then
+    rho=2.9d0
+    vp=6.8d0
+    vs=3.9d0
+    ratio_sampling = 1.d0
+
+! same properties everywhere in PREM crust (only one layer in the crust)
+    if(ONE_CRUST) then
+      rho=2.6d0
+      vp=5.8d0
+      vs=3.2d0
+      ratio_sampling = 1.d0
+    endif
+
+  else if(r > RMIDDLE_CRUST) then
+    rho=2.6d0
+    vp=5.8d0
+    vs=3.2d0
+    ratio_sampling = 1.d0
+  endif
+
+  rho=rho*1000.0d0
+  vp=vp*1000.0d0
+  vs=vs*1000.0d0
+
+  end subroutine prem_iso
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/display_prem_sampling_tripling_1.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/display_prem_sampling_tripling_1.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/display_prem_sampling_tripling_1.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,213 @@
+!=====================================================================
+!
+!          S p e c f e m 3 D  G l o b e  V e r s i o n  3 . 2
+!          --------------------------------------------------
+!
+!                 Dimitri Komatitsch and Jeroen Tromp
+!    Seismological Laboratory - California Institute of Technology
+!          (c) California Institute of Technology July 2002
+!
+! This program is free software; you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation; either version 2 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License along
+! with this program; if not, write to the Free Software Foundation, Inc.,
+! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+!
+!=====================================================================
+
+  program prem_iso
+
+  implicit none
+
+  include "constants.h"
+
+! PREM
+  double precision, parameter :: RMOHO = 6346600.d0
+  double precision, parameter :: R220 = 6151000.d0
+  double precision, parameter :: R400 = 5971000.d0
+  double precision, parameter :: R600 = 5771000.d0
+  double precision, parameter :: R670 = 5701000.d0
+  double precision, parameter :: R771 = 5600000.d0
+  double precision, parameter :: RTOPDDOUBLEPRIME = 3630000.d0
+  double precision, parameter :: RCMB = 3480000.d0
+  double precision, parameter :: RICB = 1221000.d0
+
+! values common to PREM and IASP91
+  double precision, parameter :: ROCEAN = 6368000.d0
+  double precision, parameter :: RMIDDLE_CRUST = 6356000.d0
+  double precision, parameter :: R80 = 6291000.d0
+
+  integer i
+
+  double precision r
+  double precision x,rho,vp,vs,ratio_sampling,f0,lambda_P,lambda_S,delta_theta, &
+      mesh_size,normalization_factor_P,normalization_factor_S
+  double precision, dimension(1000) :: num_elements_per_lambda_P,num_elements_per_lambda_P_modif, &
+      num_elements_per_lambda_S,num_elements_per_lambda_S_modif,radius
+
+!!!!!! DK DK exclude center of inner core to avoid division by zero
+!!!!!! DK DK we have: 1000 * 1200/6371 = 188.35347
+!!!!!! DK DK therefore the central cube ends around i = 188
+!!!!!! DK DK  do i=1,1000
+  integer, parameter :: NINIT = 140
+
+  do i=NINIT,1000
+
+! compute real physical radius in meters
+  x = dble(i)/1000.d0
+
+  r = x * R_EARTH
+
+!
+! PREM
+!
+!--- inner core
+!
+  if(r >= 0.d0 .and. r <= RICB) then
+    rho=13.0885d0-8.8381d0*x*x
+    vp=11.2622d0-6.3640d0*x*x
+    vs=3.6678d0-4.4475d0*x*x
+    ratio_sampling = 9.d0
+!
+!--- outer core
+!
+  else if(r > RICB .and. r <= RCMB) then
+    rho=12.5815d0-1.2638d0*x-3.6426d0*x*x-5.5281d0*x*x*x
+    vp=11.0487d0-4.0362d0*x+4.8023d0*x*x-13.5732d0*x*x*x
+    vs=0.0d0
+
+!! DK DK it seems optimal to implement the third doubling at a depth of 4300 km in the mantle
+    if(r > R_EARTH - 4000000.d0) then
+      ratio_sampling = 3.d0
+    else
+      ratio_sampling = 9.d0
+    endif
+
+!
+!--- D" at the base of the mantle
+!
+  else if(r > RCMB .and. r <= RTOPDDOUBLEPRIME) then
+    rho=7.9565d0-6.4761d0*x+5.5283d0*x*x-3.0807d0*x*x*x
+    vp=15.3891d0-5.3181d0*x+5.5242d0*x*x-2.5514d0*x*x*x
+    vs=6.9254d0+1.4672d0*x-2.0834d0*x*x+0.9783d0*x*x*x
+    ratio_sampling = 3.d0
+!
+!--- mantle: from top of D" to d670
+!
+  else if(r > RTOPDDOUBLEPRIME .and. r <= R771) then
+    rho=7.9565d0-6.4761d0*x+5.5283d0*x*x-3.0807d0*x*x*x
+    vp=24.9520d0-40.4673d0*x+51.4832d0*x*x-26.6419d0*x*x*x
+    vs=11.1671d0-13.7818d0*x+17.4575d0*x*x-9.2777d0*x*x*x
+
+!! DK DK it seems optimal to implement the second doubling at a depth of 1500 km in the mantle
+!   if(r > R_EARTH - 2500000.d0) then
+      ratio_sampling = 3.d0
+!   else
+!     ratio_sampling = 3.d0
+!   endif
+
+  else if(r > R771 .and. r <= R670) then
+    rho=7.9565d0-6.4761d0*x+5.5283d0*x*x-3.0807d0*x*x*x
+    vp=29.2766d0-23.6027d0*x+5.5242d0*x*x-2.5514d0*x*x*x
+    vs=22.3459d0-17.2473d0*x-2.0834d0*x*x+0.9783d0*x*x*x
+    ratio_sampling = 3.d0
+!
+!--- mantle: above d670
+!
+  else if(r > R670 .and. r <= R600) then
+    rho=5.3197d0-1.4836d0*x
+    vp=19.0957d0-9.8672d0*x
+    vs=9.9839d0-4.9324d0*x
+    ratio_sampling = 3.d0
+  else if(r > R600 .and. r <= R400) then
+    rho=11.2494d0-8.0298d0*x
+    vp=39.7027d0-32.6166d0*x
+    vs=22.3512d0-18.5856d0*x
+    ratio_sampling = 3.d0
+  else if(r > R400 .and. r <= R220) then
+    rho=7.1089d0-3.8045d0*x
+    vp=20.3926d0-12.2569d0*x
+    vs=8.9496d0-4.4597d0*x
+    ratio_sampling = 3.d0
+  else if(r > R220 .and. r <= R80) then
+    rho=2.6910d0+0.6924d0*x
+    vp=4.1875d0+3.9382d0*x
+    vs=2.1519d0+2.3481d0*x
+    ratio_sampling = 3.d0
+  else
+! use PREM crust
+    if(r > R80 .and. r <= RMOHO) then
+      rho=2.6910d0+0.6924d0*x
+      vp=4.1875d0+3.9382d0*x
+      vs=2.1519d0+2.3481d0*x
+      ratio_sampling = 3.d0
+    else if(r > RMOHO .and. r <= RMIDDLE_CRUST) then
+      rho=2.9d0
+      vp=6.8d0
+      vs=3.9d0
+      ratio_sampling = 1.d0
+    else if(r > RMIDDLE_CRUST .and. r <= ROCEAN) then
+      rho=2.6d0
+      vp=5.8d0
+      vs=3.2d0
+      ratio_sampling = 1.d0
+! for density profile for gravity, we do not check that r <= R_EARTH
+    else if(r > ROCEAN) then
+      rho=2.6d0
+      vp=5.8d0
+      vs=3.2d0
+      ratio_sampling = 1.d0
+    endif
+  endif
+
+  rho=rho*1000.0d0
+  vp=vp*1000.0d0
+  vs=vs*1000.0d0
+
+! compute spatial wavelength at a given reference frequency f0
+  f0 = 1.d0
+  lambda_P = vp / f0
+  lambda_S = vs / f0
+
+! compute "horizontal" mesh size at that depth for a given angular size delta_theta
+  delta_theta = 1.d0
+  mesh_size = (r/1000.d0) * delta_theta * ratio_sampling
+
+  radius(i) = (R_EARTH-r)/1000.d0
+
+! compute number of elements per wavelength at that depth
+  num_elements_per_lambda_P(i) = lambda_P / mesh_size
+  num_elements_per_lambda_S(i) = lambda_S / mesh_size
+
+!   print *,sngl((R_EARTH-r)/1000.d0),sngl(ratio_sampling),sngl(ratio_sampling)
+
+  enddo
+
+! store normalization factors
+  num_elements_per_lambda_P_modif(:) = num_elements_per_lambda_P(:)
+  where(num_elements_per_lambda_P < 0.001d0) num_elements_per_lambda_P_modif = 10000.d0
+  normalization_factor_P = minval(num_elements_per_lambda_P_modif)
+
+  num_elements_per_lambda_S_modif(:) = num_elements_per_lambda_S(:)
+  where(num_elements_per_lambda_S < 0.001d0) num_elements_per_lambda_S_modif = 10000.d0
+  normalization_factor_S = minval(num_elements_per_lambda_S_modif)
+
+  do i=NINIT,1000
+    print *,sngl(radius(i)),sngl(num_elements_per_lambda_P(i)/normalization_factor_P), &
+      sngl(num_elements_per_lambda_S(i)/normalization_factor_S)
+  enddo
+
+! print *
+! print *,'use gnuplot to display radius,vp,vs,rho file'
+! print *
+
+  end program prem_iso
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/display_prem_sampling_tripling_2.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/display_prem_sampling_tripling_2.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/display_prem_sampling_tripling_2.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,217 @@
+!=====================================================================
+!
+!          S p e c f e m 3 D  G l o b e  V e r s i o n  3 . 2
+!          --------------------------------------------------
+!
+!                 Dimitri Komatitsch and Jeroen Tromp
+!    Seismological Laboratory - California Institute of Technology
+!          (c) California Institute of Technology July 2002
+!
+! This program is free software; you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation; either version 2 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License along
+! with this program; if not, write to the Free Software Foundation, Inc.,
+! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+!
+!=====================================================================
+
+  program prem_iso
+
+  implicit none
+
+  include "constants.h"
+
+! PREM
+  double precision, parameter :: RMOHO = 6346600.d0
+  double precision, parameter :: R220 = 6151000.d0
+  double precision, parameter :: R400 = 5971000.d0
+  double precision, parameter :: R600 = 5771000.d0
+  double precision, parameter :: R670 = 5701000.d0
+  double precision, parameter :: R771 = 5600000.d0
+  double precision, parameter :: RTOPDDOUBLEPRIME = 3630000.d0
+  double precision, parameter :: RCMB = 3480000.d0
+  double precision, parameter :: RICB = 1221000.d0
+
+! values common to PREM and IASP91
+  double precision, parameter :: ROCEAN = 6368000.d0
+  double precision, parameter :: RMIDDLE_CRUST = 6356000.d0
+  double precision, parameter :: R80 = 6291000.d0
+
+  integer i
+
+  double precision r
+  double precision x,rho,vp,vs,ratio_sampling,f0,lambda_P,lambda_S,delta_theta, &
+      mesh_size,normalization_factor_P,normalization_factor_S
+  double precision, dimension(1000) :: num_elements_per_lambda_P,num_elements_per_lambda_P_modif, &
+      num_elements_per_lambda_S,num_elements_per_lambda_S_modif,radius,stability
+
+!!!!!! DK DK exclude center of inner core to avoid division by zero
+!!!!!! DK DK we have: 1000 * 1200/6371 = 188.35347
+!!!!!! DK DK therefore the central cube ends around i = 188
+!!!!!! DK DK  do i=1,1000
+  integer, parameter :: NINIT = 140
+
+  do i=NINIT,1000
+
+! compute real physical radius in meters
+  x = dble(i)/1000.d0
+
+  r = x * R_EARTH
+
+!
+! PREM
+!
+!--- inner core
+!
+  if(r >= 0.d0 .and. r <= RICB) then
+    rho=13.0885d0-8.8381d0*x*x
+    vp=11.2622d0-6.3640d0*x*x
+    vs=3.6678d0-4.4475d0*x*x
+    ratio_sampling = 9.d0
+!
+!--- outer core
+!
+  else if(r > RICB .and. r <= RCMB) then
+    rho=12.5815d0-1.2638d0*x-3.6426d0*x*x-5.5281d0*x*x*x
+    vp=11.0487d0-4.0362d0*x+4.8023d0*x*x-13.5732d0*x*x*x
+    vs=0.0d0
+
+!! DK DK it seems optimal to implement the third doubling at a depth of 4300 km in the mantle
+    if(r > R_EARTH - 3800000.d0) then
+      ratio_sampling = 3.d0
+    else
+      ratio_sampling = 9.d0
+    endif
+
+!
+!--- D" at the base of the mantle
+!
+  else if(r > RCMB .and. r <= RTOPDDOUBLEPRIME) then
+    rho=7.9565d0-6.4761d0*x+5.5283d0*x*x-3.0807d0*x*x*x
+    vp=15.3891d0-5.3181d0*x+5.5242d0*x*x-2.5514d0*x*x*x
+    vs=6.9254d0+1.4672d0*x-2.0834d0*x*x+0.9783d0*x*x*x
+    ratio_sampling = 3.d0
+!
+!--- mantle: from top of D" to d670
+!
+  else if(r > RTOPDDOUBLEPRIME .and. r <= R771) then
+    rho=7.9565d0-6.4761d0*x+5.5283d0*x*x-3.0807d0*x*x*x
+    vp=24.9520d0-40.4673d0*x+51.4832d0*x*x-26.6419d0*x*x*x
+    vs=11.1671d0-13.7818d0*x+17.4575d0*x*x-9.2777d0*x*x*x
+
+!! DK DK it seems optimal to implement the second doubling at a depth of 1500 km in the mantle
+!   if(r > R_EARTH - 2500000.d0) then
+      ratio_sampling = 3.d0
+!   else
+!     ratio_sampling = 3.d0
+!   endif
+
+  else if(r > R771 .and. r <= R670) then
+    rho=7.9565d0-6.4761d0*x+5.5283d0*x*x-3.0807d0*x*x*x
+    vp=29.2766d0-23.6027d0*x+5.5242d0*x*x-2.5514d0*x*x*x
+    vs=22.3459d0-17.2473d0*x-2.0834d0*x*x+0.9783d0*x*x*x
+    ratio_sampling = 3.d0
+!
+!--- mantle: above d670
+!
+  else if(r > R670 .and. r <= R600) then
+    rho=5.3197d0-1.4836d0*x
+    vp=19.0957d0-9.8672d0*x
+    vs=9.9839d0-4.9324d0*x
+    ratio_sampling = 3.d0
+  else if(r > R600 .and. r <= R400) then
+    rho=11.2494d0-8.0298d0*x
+    vp=39.7027d0-32.6166d0*x
+    vs=22.3512d0-18.5856d0*x
+    ratio_sampling = 3.d0
+  else if(r > R400 .and. r <= R220) then
+    rho=7.1089d0-3.8045d0*x
+    vp=20.3926d0-12.2569d0*x
+    vs=8.9496d0-4.4597d0*x
+    ratio_sampling = 3.d0
+  else if(r > R220 .and. r <= R80) then
+    rho=2.6910d0+0.6924d0*x
+    vp=4.1875d0+3.9382d0*x
+    vs=2.1519d0+2.3481d0*x
+    ratio_sampling = 3.d0
+  else
+! use PREM crust
+    if(r > R80 .and. r <= RMOHO) then
+      rho=2.6910d0+0.6924d0*x
+      vp=4.1875d0+3.9382d0*x
+      vs=2.1519d0+2.3481d0*x
+!!!!!!!!!!!!!!!      ratio_sampling = 3.d0
+      ratio_sampling = 3.d0
+    else if(r > RMOHO .and. r <= RMIDDLE_CRUST) then
+      rho=2.9d0
+      vp=6.8d0
+      vs=3.9d0
+      ratio_sampling = 1.d0
+    else if(r > RMIDDLE_CRUST .and. r <= ROCEAN) then
+      rho=2.6d0
+      vp=5.8d0
+      vs=3.2d0
+      ratio_sampling = 1.d0
+! for density profile for gravity, we do not check that r <= R_EARTH
+    else if(r > ROCEAN) then
+      rho=2.6d0
+      vp=5.8d0
+      vs=3.2d0
+      ratio_sampling = 1.d0
+    endif
+  endif
+
+  rho=rho*1000.0d0
+  vp=vp*1000.0d0
+  vs=vs*1000.0d0
+
+! compute spatial wavelength at a given reference frequency f0
+  f0 = 1.d0
+  lambda_P = vp / f0
+  lambda_S = vs / f0
+
+! compute "horizontal" mesh size at that depth for a given angular size delta_theta
+  delta_theta = 1.d0
+  mesh_size = (r/1000.d0) * delta_theta * ratio_sampling
+
+  radius(i) = (R_EARTH-r)/1000.d0
+
+! compute number of elements per wavelength at that depth
+  num_elements_per_lambda_P(i) = lambda_P / mesh_size
+  num_elements_per_lambda_S(i) = lambda_S / mesh_size
+
+! compute stability condition (Courant number)
+  stability(i) = vp / mesh_size
+
+!   print *,sngl((R_EARTH-r)/1000.d0),sngl(ratio_sampling),sngl(ratio_sampling)
+
+  enddo
+
+! store normalization factors
+  num_elements_per_lambda_P_modif(:) = num_elements_per_lambda_P(:)
+  where(num_elements_per_lambda_P < 0.001d0) num_elements_per_lambda_P_modif = 10000.d0
+  normalization_factor_P = minval(num_elements_per_lambda_P_modif)!* 1.35d0
+
+  num_elements_per_lambda_S_modif(:) = num_elements_per_lambda_S(:)
+  where(num_elements_per_lambda_S < 0.001d0) num_elements_per_lambda_S_modif = 10000.d0
+  normalization_factor_S = minval(num_elements_per_lambda_S_modif)!* 1.35d0
+
+  do i=NINIT,1000
+    print *,sngl(radius(i)),sngl(num_elements_per_lambda_P(i)/normalization_factor_P), &
+      sngl(num_elements_per_lambda_S(i)/normalization_factor_S),sngl(stability(i))
+  enddo
+
+! print *
+! print *,'use gnuplot to display radius,vp,vs,rho file'
+! print *
+
+  end program prem_iso
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/extract_unique_points.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/extract_unique_points.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/extract_unique_points.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,317 @@
+
+! extract only the points that are needed for the new doubling brick
+! from the modified version of Emanuele's tripling brick
+
+  program extract_unique_points
+
+  implicit none
+
+  integer, parameter :: OLD_NPOINTS = 32, NEW_NPOINTS = 23
+
+! there are seven spectral elements in the basic doubling brick
+  integer, parameter :: NSPEC = 7
+
+! bricks are made of eight points
+  integer, parameter :: NGNOD = 8
+
+! compute maximum number of points for call to get_global()
+  integer, parameter :: npointot = nspec * NGNOD
+
+  integer, dimension(0:OLD_NPOINTS-1) :: new_number_of_unique_point
+
+! point numbers of all the nodes of each spectral element
+  integer, dimension(NGNOD) :: old_number
+
+  integer :: ispec,ipoin
+
+  double precision, dimension(0:OLD_NPOINTS-1) :: x,y,z
+
+! variables for call to get_global()
+  integer, dimension(npointot) :: iglob,locval
+  logical, dimension(npointot) :: ifseg
+  double precision, dimension(npointot) :: xp,yp,zp
+  integer nglob,ieoff,ilocnum
+
+! define flags for points that must be excluded
+  new_number_of_unique_point(:) = -1
+
+  new_number_of_unique_point(0)  = 00
+  new_number_of_unique_point(1)  = 01
+  new_number_of_unique_point(2)  = 02
+  new_number_of_unique_point(3)  = 03
+  new_number_of_unique_point(4)  = 04
+  new_number_of_unique_point(5)  = 05
+  new_number_of_unique_point(6)  = 06
+  new_number_of_unique_point(7)  = 07
+  new_number_of_unique_point(8)  = 08
+  new_number_of_unique_point(9)  = 09
+  new_number_of_unique_point(10) = 10
+  new_number_of_unique_point(11) = 11
+  new_number_of_unique_point(12) = 12
+  new_number_of_unique_point(13) = 13
+  new_number_of_unique_point(14) = 14
+  new_number_of_unique_point(15) = 15
+  new_number_of_unique_point(16) = 16
+  new_number_of_unique_point(17) = 17
+  new_number_of_unique_point(22) = 18
+  new_number_of_unique_point(23) = 19
+  new_number_of_unique_point(25) = 20
+  new_number_of_unique_point(27) = 21
+  new_number_of_unique_point(29) = 22
+
+! read the modified brick
+  open(unit=27,file='dimitri_brick_with_duplicates.dx',status='old',action='read')
+
+! skip header
+  read(27,*)
+
+! read the OLD_NPOINTS old modified points, print them only if they are in the new list
+  do ipoin = 0,OLD_NPOINTS-1
+    read(27,*) x(ipoin),y(ipoin),z(ipoin)
+    if(new_number_of_unique_point(ipoin) >= 0) print *,x(ipoin),y(ipoin),z(ipoin)
+  enddo
+
+! skip header
+  read(27,*)
+
+! read the NGNOD points of each of the NSPEC old elements and write their new numbers
+! also fill the arrays for future call to get_global()
+  do ispec = 1, NSPEC
+    ieoff = NGNOD * (ispec-1)
+    ilocnum = 0
+    read(27,*) (old_number(ipoin), ipoin = 1, NGNOD)
+    write(*,*) (new_number_of_unique_point(old_number(ipoin)), ipoin = 1, NGNOD)
+    do ipoin=1,NGNOD
+      ilocnum = ilocnum + 1
+      xp(ilocnum+ieoff) = x(old_number(ipoin))
+      yp(ilocnum+ieoff) = y(old_number(ipoin))
+      zp(ilocnum+ieoff) = z(old_number(ipoin))
+    enddo
+  enddo
+
+  close(27)
+
+! call get_global() to check that all the points are unique
+  call get_global(NSPEC,xp,yp,zp,iglob,locval,ifseg,nglob,npointot,NGNOD)
+  print *,'number of unique points detected = ',nglob
+  if(nglob /= NEW_NPOINTS) then
+    stop 'error in the total number of unique points'
+  else
+    print *,'this number is OK'
+  endif
+
+  end program extract_unique_points
+
+!
+!=====================================================================
+!
+
+  subroutine get_global(nspec,xp,yp,zp,iglob,loc,ifseg,nglob,npointot,NGNOD)
+
+! this routine MUST be in double precision to avoid sensitivity
+! to roundoff errors in the coordinates of the points
+
+! non-structured global numbering software provided by Paul F. Fischer
+
+! leave sorting subroutines in same source file to allow for inlining
+
+  implicit none
+
+! 3-D simulation
+  integer, parameter :: NDIM = 3
+
+! geometry tolerance parameter to calculate number of independent grid points
+! sensitive to actual size of model, assumes reference size of 1
+  double precision, parameter :: SMALLVALTOL = 1.d-10
+
+  integer npointot,NGNOD
+  integer iglob(npointot),loc(npointot)
+  logical ifseg(npointot)
+  double precision xp(npointot),yp(npointot),zp(npointot)
+  integer nspec,nglob
+
+  integer ispec,i,j
+  integer ieoff,ilocnum,nseg,ioff,iseg,ig
+
+  integer, dimension(:), allocatable :: ind,ninseg,iwork
+  double precision, dimension(:), allocatable :: work
+
+! dynamically allocate arrays
+  allocate(ind(npointot))
+  allocate(ninseg(npointot))
+  allocate(iwork(npointot))
+  allocate(work(npointot))
+
+! establish initial pointers
+  do ispec=1,nspec
+    ieoff=NGNOD * (ispec-1)
+    do ilocnum=1,NGNOD
+      loc(ilocnum+ieoff)=ilocnum+ieoff
+    enddo
+  enddo
+
+  ifseg(:)=.false.
+
+  nseg=1
+  ifseg(1)=.true.
+  ninseg(1)=npointot
+
+  do j=1,NDIM
+
+! sort within each segment
+  ioff=1
+  do iseg=1,nseg
+    if(j == 1) then
+      call rank(xp(ioff),ind,ninseg(iseg))
+    else if(j == 2) then
+      call rank(yp(ioff),ind,ninseg(iseg))
+    else
+      call rank(zp(ioff),ind,ninseg(iseg))
+    endif
+    call swap_all(loc(ioff),xp(ioff),yp(ioff),zp(ioff),iwork,work,ind,ninseg(iseg))
+    ioff=ioff+ninseg(iseg)
+  enddo
+
+! check for jumps in current coordinate
+! compare the coordinates of the points within a small tolerance
+  if(j == 1) then
+    do i=2,npointot
+      if(abs(xp(i)-xp(i-1)) > SMALLVALTOL) ifseg(i)=.true.
+    enddo
+  else if(j == 2) then
+    do i=2,npointot
+      if(abs(yp(i)-yp(i-1)) > SMALLVALTOL) ifseg(i)=.true.
+    enddo
+  else
+    do i=2,npointot
+      if(abs(zp(i)-zp(i-1)) > SMALLVALTOL) ifseg(i)=.true.
+    enddo
+  endif
+
+! count up number of different segments
+  nseg=0
+  do i=1,npointot
+    if(ifseg(i)) then
+      nseg=nseg+1
+      ninseg(nseg)=1
+    else
+      ninseg(nseg)=ninseg(nseg)+1
+    endif
+  enddo
+  enddo
+
+! assign global node numbers (now sorted lexicographically)
+  ig=0
+  do i=1,npointot
+    if(ifseg(i)) ig=ig+1
+    iglob(loc(i))=ig
+  enddo
+
+  nglob=ig
+
+! deallocate arrays
+  deallocate(ind)
+  deallocate(ninseg)
+  deallocate(iwork)
+  deallocate(work)
+
+  end subroutine get_global
+
+! -----------------------------------
+
+! sorting routines put in same file to allow for inlining
+
+  subroutine rank(A,IND,N)
+!
+! Use Heap Sort (Numerical Recipes)
+!
+  implicit none
+
+  integer n
+  double precision A(n)
+  integer IND(n)
+
+  integer i,j,l,ir,indx
+  double precision q
+
+  do j=1,n
+   IND(j)=j
+  enddo
+
+  if (n == 1) return
+
+  L=n/2+1
+  ir=n
+  100 CONTINUE
+   IF (l>1) THEN
+      l=l-1
+      indx=ind(l)
+      q=a(indx)
+   ELSE
+      indx=ind(ir)
+      q=a(indx)
+      ind(ir)=ind(1)
+      ir=ir-1
+      if (ir == 1) then
+         ind(1)=indx
+         return
+      endif
+   ENDIF
+   i=l
+   j=l+l
+  200    CONTINUE
+   IF (J <= IR) THEN
+      IF (J<IR) THEN
+         IF ( A(IND(j))<A(IND(j+1)) ) j=j+1
+      ENDIF
+      IF (q<A(IND(j))) THEN
+         IND(I)=IND(J)
+         I=J
+         J=J+J
+      ELSE
+         J=IR+1
+      ENDIF
+   goto 200
+   ENDIF
+   IND(I)=INDX
+  goto 100
+  end subroutine rank
+
+! ------------------------------------------------------------------
+
+  subroutine swap_all(IA,A,B,C,IW,W,ind,n)
+!
+! swap arrays IA, A, B and C according to addressing in array IND
+!
+  implicit none
+
+  integer n
+
+  integer IND(n)
+  integer IA(n),IW(n)
+  double precision A(n),B(n),C(n),W(n)
+
+  integer i
+
+  IW(:) = IA(:)
+  W(:) = A(:)
+
+  do i=1,n
+    IA(i)=IW(ind(i))
+    A(i)=W(ind(i))
+  enddo
+
+  W(:) = B(:)
+
+  do i=1,n
+    B(i)=W(ind(i))
+  enddo
+
+  W(:) = C(:)
+
+  do i=1,n
+    C(i)=W(ind(i))
+  enddo
+
+  end subroutine swap_all
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/generate_multiples_32.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/generate_multiples_32.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/generate_multiples_32.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,15 @@
+
+program multiples
+
+! prints the multiples of 32 for mesh creation (possible values of NEX_XI)
+
+implicit none
+
+integer i
+
+do i = 4,50
+  print *,i*32
+enddo
+
+end
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/icb.dat
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/icb.dat	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/icb.dat	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,2 @@
+5150 0
+5150 20

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/normalize_original_brick.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/normalize_original_brick.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/normalize_original_brick.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,40 @@
+
+ program normalize_brick
+
+! normalize the tripling brick given by Emanuele Casarotti
+
+ implicit none
+
+ integer i
+
+! there are NPOINTS points in the original tripling brick
+ integer, parameter :: NPOINTS = 32
+
+ double precision minix,maxix,miniy,maxiy,miniz,maxiz
+
+ double precision, dimension(NPOINTS) :: x,y,z
+
+! read original brick
+ do i = 1,NPOINTS
+   read(*,*) x(i),y(i),z(i)
+ enddo
+
+ minix = minval(x)
+ maxix = maxval(x)
+ print *,' for x, min max delta = ',minix,maxix,maxix-minix
+
+ miniy = minval(y)
+ maxiy = maxval(y)
+ print *,' for y, min max delta = ',miniy,maxiy,maxiy-miniy
+
+ miniz = minval(z)
+ maxiz = maxval(z)
+ print *,' for z, min max delta = ',miniz,maxiz,maxiz-miniz
+
+! write normalized brick
+ do i = 1,NPOINTS
+   write(*,*) sngl((x(i)-minix)/(maxix-minix)),sngl((y(i)-miniy)/(maxiy-miniy)),sngl((z(i)-miniz)/(maxiz-miniz))
+ enddo
+
+ end program normalize_brick
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/ori_tripling.inp.txt
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/ori_tripling.inp.txt	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/ori_tripling.inp.txt	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,50 @@
+*HEADING
+cubit(/Users/emanuele/Desktop/tripling.inp): 08/24/2006: 13:37:35
+*NODE
+       1,   3.888889e-01,   2.777778e-01,   1.666667e-01
+       2,   3.888889e-01,   2.777778e-01,   8.333333e-02
+       3,   3.888889e-01,   3.888889e-01,   8.333333e-02
+       4,   3.888889e-01,   3.888889e-01,   1.666667e-01
+       5,   5.000000e-01,   2.777778e-01,   1.666667e-01
+       6,   5.000000e-01,   2.777778e-01,   1.387779e-17
+       7,   5.000000e-01,   3.888889e-01,   2.775558e-17
+       8,   5.000000e-01,   3.888889e-01,   1.666667e-01
+       9,   3.888889e-01,   5.000000e-01,   1.387779e-17
+      10,   3.888889e-01,   5.000000e-01,   1.666667e-01
+      11,   5.000000e-01,   5.000000e-01,  -1.666667e-01
+      12,   5.000000e-01,   5.000000e-01,   1.666667e-01
+      13,   2.777778e-01,   1.666667e-01,  -1.387779e-17
+      14,   1.666667e-01,   1.666667e-01,  -1.666667e-01
+      15,   1.666667e-01,   5.000000e-01,  -1.666667e-01
+      16,   2.777778e-01,   5.000000e-01,   0.000000e+00
+      17,   3.888889e-01,   1.666667e-01,   0.000000e+00
+      18,   5.000000e-01,   1.666667e-01,  -1.666667e-01
+      19,   1.666667e-01,   1.666667e-01,   1.666667e-01
+      20,   1.666667e-01,   2.777778e-01,  -2.775558e-17
+      21,   1.666667e-01,   2.777778e-01,   1.666667e-01
+      22,   2.777778e-01,   1.666667e-01,   1.666667e-01
+      23,   2.777778e-01,   2.777778e-01,   8.333333e-02
+      24,   2.777778e-01,   2.777778e-01,   1.666667e-01
+      25,   1.666667e-01,   3.888889e-01,  -1.387779e-17
+      26,   2.777778e-01,   3.888889e-01,   8.333333e-02
+      27,   3.888889e-01,   1.666667e-01,   1.666667e-01
+      28,   2.777778e-01,   3.888889e-01,   1.666667e-01
+      29,   5.000000e-01,   1.666667e-01,   1.666667e-01
+      30,   2.777778e-01,   5.000000e-01,   1.666667e-01
+      31,   1.666667e-01,   3.888889e-01,   1.666667e-01
+      32,   1.666667e-01,   5.000000e-01,   1.666667e-01
+*ELEMENT, TYPE=C3D8R, ELSET=EB1
+       1,       1,       2,       3,       4,       5,       6,       7,       8
+       2,       4,       3,       9,      10,       8,       7,      11,      12
+       3,      13,      14,      15,      16,      17,      18,      11,       9
+       4,      19,      14,      20,      21,      22,      13,      23,      24
+       5,      20,      14,      15,      25,      23,      13,      16,      26
+       6,      22,      13,      23,      24,      27,      17,       2,       1
+       7,      24,      23,      26,      28,       1,       2,       3,       4
+       8,      27,      17,       2,       1,      29,      18,       6,       5
+       9,       2,      17,       9,       3,       6,      18,      11,       7
+      10,      28,      26,      16,      30,       4,       3,       9,      10
+      11,      31,      25,      15,      32,      28,      26,      16,      30
+      12,      23,      13,      16,      26,       2,      17,       9,       3
+      13,      21,      20,      25,      31,      24,      23,      26,      28
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/original_points_emanuele_DX.txt
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/original_points_emanuele_DX.txt	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/original_points_emanuele_DX.txt	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,32 @@
+      3.888889e-01   2.777778e-01   1.666667e-01
+      3.888889e-01   2.777778e-01   8.333333e-02
+      3.888889e-01   3.888889e-01   8.333333e-02
+      3.888889e-01   3.888889e-01   1.666667e-01
+      5.000000e-01   2.777778e-01   1.666667e-01
+      5.000000e-01   2.777778e-01   1.387779e-17
+      5.000000e-01   3.888889e-01   2.775558e-17
+      5.000000e-01   3.888889e-01   1.666667e-01
+      3.888889e-01   5.000000e-01   1.387779e-17
+      3.888889e-01   5.000000e-01   1.666667e-01
+      5.000000e-01   5.000000e-01  -1.666667e-01
+      5.000000e-01   5.000000e-01   1.666667e-01
+      2.777778e-01   1.666667e-01  -1.387779e-17
+      1.666667e-01   1.666667e-01  -1.666667e-01
+      1.666667e-01   5.000000e-01  -1.666667e-01
+      2.777778e-01   5.000000e-01   0.000000e+00
+      3.888889e-01   1.666667e-01   0.000000e+00
+      5.000000e-01   1.666667e-01  -1.666667e-01
+      1.666667e-01   1.666667e-01   1.666667e-01
+      1.666667e-01   2.777778e-01  -2.775558e-17
+      1.666667e-01   2.777778e-01   1.666667e-01
+      2.777778e-01   1.666667e-01   1.666667e-01
+      2.777778e-01   2.777778e-01   8.333333e-02
+      2.777778e-01   2.777778e-01   1.666667e-01
+      1.666667e-01   3.888889e-01  -1.387779e-17
+      2.777778e-01   3.888889e-01   8.333333e-02
+      3.888889e-01   1.666667e-01   1.666667e-01
+      2.777778e-01   3.888889e-01   1.666667e-01
+      5.000000e-01   1.666667e-01   1.666667e-01
+      2.777778e-01   5.000000e-01   1.666667e-01
+      1.666667e-01   3.888889e-01   1.666667e-01
+      1.666667e-01   5.000000e-01   1.666667e-01

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/shrink_elements_OpenDX_mesh.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/shrink_elements_OpenDX_mesh.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/doubling_brick/shrink_elements_OpenDX_mesh.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,164 @@
+#! /usr/bin/perl
+
+# shrink elements in an existing OpenDX mesh file to make it easier
+# to visualize them
+
+# David Michea, University of Pau, France, January 2007
+
+use Data::Dumper;
+
+if (scalar(@ARGV) < 2)
+{     print "usage : $0 file2split.dx filesplit.dx [spacing ratio (try 1)]\n";
+      exit;
+}
+$filein = $ARGV[0];
+$fileout = $ARGV[1];
+$distance = $ARGV[2] || 0.3;
+$numnode=0;
+$nb_corners=8;
+
+# read datas
+open (DF, "$filein");
+$phase=1;
+while(my $line=<DF>)
+{     chomp $line;
+      if ($line =~ m/^.*object\s+1.*\s+(\d+)\s+data\s+follows\s*$/)
+      {     $nbline = $1;
+            if($phase!=1)
+            {   print "error while reading data\n";
+                exit;
+            }
+            for (my $i=0;$i<$nbline;$i++)
+            {     my $line=<DF>;
+                  chomp($line);
+                  my @temp=split(/\s+/, $line);
+                  shift @temp if (scalar(@temp)>3);
+                  $nodes[$numnode] = \@temp;
+                  $numnode++;
+            }
+            $phase=2;
+      }
+      elsif ($line =~ m/^.*object\s+2.*\s+(\d+)\s+data\s+follows\s*$/)
+      {     $nbline = $1;
+            if($phase!=2)
+            {   print "error while reading data\n";
+                exit;
+            }
+            for (my $i=0;$i<$nbline;$i++)
+            {     my $line=<DF>;
+                  chomp($line);
+                  my @temp=split(/\s+/,$line);
+                  shift @temp if (scalar(@temp)>8);
+                  $hex[$numhex] = \@temp;
+                  $numhex++;
+            }
+            $phase=3;
+      }
+      else
+      {     if($phase!=3)
+            {   print "error while reading data\n";
+                exit;
+            }
+      }
+}
+close (DF);
+# dump datas into structure
+my @cubes;
+foreach $cube (@hex)
+{     my @corners;
+      foreach $corner (@{$cube})
+      {     my @coords = @{$nodes[$corner]};
+            push(@corners, \@coords);
+      }
+      push (@cubes, \@corners);
+}
+# split the brick
+eclate($distance, at cubes);
+# write dx file
+dump_dx(@cubes);
+exit;
+
+sub eclate
+{     my ($dist, @cubes) = @_;
+      my ($mid_x,$mid_y,$mid_z) = mid_pos(@cubes);
+      foreach $cube(@cubes)
+      {     ($mx, $my, $mz) = moy_pos($cube);
+            $dx = ($mx-$mid_x)*$dist;
+            $dy = ($my-$mid_y)*$dist;
+            $dz = ($mz-$mid_z)*$dist;
+            redefine($cube,$dx,$dy,$dz);
+      }
+}
+
+sub mid_pos
+{     my (@cubes) = @_;
+      my ($mx,$my,$mz)=(1000,1000,1000);
+      my ($Mx,$My,$Mz)=(-1000,-1000,-1000);
+      my $compt=0;
+      foreach $cube(@cubes)
+      {     foreach my $corner (@{$cube})
+            {     my ($tx,$ty,$tz) = @$corner;
+                  $mx=$tx if ($tx < $mx);
+                  $my=$ty if ($ty < $my);
+                  $mz=$tz if ($tz < $mz);
+                  $Mx=$tx if ($tx > $Mx);
+                  $My=$ty if ($ty > $My);
+                  $Mz=$tz if ($tz > $Mz);
+            }
+      }
+      return (($Mx+$mx)/2,($My+$my)/2,($Mz+$mz)/2);
+}
+
+sub moy_pos
+{     my $cube = shift;
+      my ($x,$y,$z)=(0,0,0);
+      my $compt=0;
+      foreach my $corner (@{$cube})
+      {     my ($tx,$ty,$tz) = @$corner;
+            $x+=$tx;
+            $y+=$ty;
+            $z+=$tz;
+            $compt++;
+      }
+      ($x,$y,$z) = map ($_/$compt, ($x,$y,$z));
+      return ($x,$y,$z);
+}
+
+sub redefine
+{     my ($cube,$dx,$dy,$dz) = @_;
+      foreach my $corner (@{$cube})
+      {     $corner->[0]+=$dx;
+            $corner->[1]+=$dy;
+            $corner->[2]+=$dz;
+      }
+}
+
+sub dump_dx
+{     my (@cubes) = @_;
+      open (OUT, ">$fileout");
+      $nb_nodes = $numhex * $nb_corners;
+      print OUT " object 1 class array type float rank 1 shape 3 items         $nb_nodes  data follows\n";
+      foreach my $uncube (@cubes)
+      {     foreach my $uncoin (@$uncube)
+            {     print OUT join(" ", @$uncoin),"\n";
+            }
+      }
+      print OUT " object 2 class array type int rank 1 shape 8 items         $numhex  data follows\n";
+      for ($i=0;$i<$nb_nodes;$i++)
+      {     print OUT $i," ";
+            print OUT "\n" unless (($i+1)%$nb_corners);
+      }
+      print OUT ' attribute "element type" string "cubes"',"\n",'attribute "ref" string "positions"',"\n",'object 3 class array type float rank 0 items         ',$numhex,"  data follows\n";
+      for ($i=1;$i<$numhex+1;$i++) {print OUT $i,"\n";}
+      print OUT <<EOF
+ attribute "dep" string "connections"
+ object "irregular positions irregular connections" class field
+ component "positions" value 1
+ component "connections" value 2
+ component "data" value 3
+ end
+EOF
+;
+      close (OUT);
+}
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/extract_all_seismos_from_large_file.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/extract_all_seismos_from_large_file.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/extract_all_seismos_from_large_file.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,101 @@
+!=====================================================================
+!
+!          S p e c f e m 3 D  G l o b e  V e r s i o n  5 . 1
+!          --------------------------------------------------
+!
+!          Main authors: Dimitri Komatitsch and Jeroen Tromp
+!                        Princeton University, USA
+!             and University of Pau / CNRS / INRIA, France
+! (c) Princeton University / California Institute of Technology and University of Pau / CNRS / INRIA
+!                            April 2011
+!
+! This program is free software; you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation; either version 2 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License along
+! with this program; if not, write to the Free Software Foundation, Inc.,
+! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+!
+!=====================================================================
+
+
+  program extract_all_seismos_large_file
+
+! extract all the seismograms when they are stored in a unique large file
+
+! Dimitri Komatitsch, University of Pau, France, November 2007
+
+  implicit none
+
+  include "../constants.h"
+
+! binary or ASCII storage format (see its value in DATA/Par_file instead)
+  logical, parameter :: USE_BINARY_FOR_LARGE_FILE = .true.
+
+! number of seismogram files stored in the unique large file
+  integer, parameter :: N_STATIONS = 647 ! see number of lines in DATA/STATIONS
+  integer, parameter :: N_COMPONENTS = 3
+  integer, parameter :: NREC = N_STATIONS * N_COMPONENTS
+
+! number of time steps in each seismogram file
+  integer, parameter :: NSTEP = 37200 ! see its value in OUTPUT_FILES/values_from_mesher.h
+
+  integer :: irec,istep,irepeat
+  real :: time,U_value
+
+  character(len=150) :: station_name
+
+! open the large seismogram file
+  if(USE_BINARY_FOR_LARGE_FILE) then
+    open(unit=30,file='all_seismograms.bin',status='old',form='unformatted',action='read')
+  else
+    open(unit=30,file='all_seismograms.ascii',status='old',action='read')
+  endif
+
+! loop on all the seismogram files
+  do irec = 1,NREC
+
+    if(USE_BINARY_FOR_LARGE_FILE) then
+      read(30) station_name
+    else
+      read(30,*) station_name
+    endif
+
+! suppress leading white spaces, if any
+    station_name = adjustl(station_name)
+
+! suppress two leading '\' (ASCII code 92), if any
+    do irepeat = 1,2
+      if(station_name(1:1) == achar(92)) station_name = station_name(2:len_trim(station_name))
+      station_name = adjustl(station_name)
+    enddo
+
+    print *,'extracting seismogram file ',irec,': ',station_name(1:len_trim(station_name)),' out of ',NREC
+
+    open(unit=27,file=station_name(1:len_trim(station_name)),status='unknown')
+
+! loop on all the time steps in each seismogram
+    do istep = 1,NSTEP
+      if(USE_BINARY_FOR_LARGE_FILE) then
+        read(30) time, U_value
+      else
+        read(30,*) time, U_value
+      endif
+      write(27,*) time, U_value
+    enddo
+
+    close(27)
+
+  enddo
+
+  close(30)
+
+  end program extract_all_seismos_large_file
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/extract_database/extract_database.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/extract_database/extract_database.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/extract_database/extract_database.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,56 @@
+program extract_databases
+
+! right now just extract the mantle databases
+! Usage: extract_databases proc000000_reg1_solver_data_1.bin ireg n  proc000000_reg1_kappa.bin
+! for example: n = 10 (rho), 11 (kappav), 12 (muv)
+!  Qinya Liu, Caltech, May 2007
+
+  implicit none
+
+  include 'constants.h'
+  include 'OUTPUT_FILES/values_from_mesher.h'
+
+  character(len=150) :: infile, s_num, outfile, s_ireg
+  integer :: num, i, nspec, ireg
+
+  real(kind=CUSTOM_REAL), dimension(NGLLX,NGLLY,NGLLZ,NSPEC_CRUST_MANTLE) :: junk
+  real(kind=CUSTOM_REAL) :: junk2
+
+  call getarg(1,infile)
+  call getarg(2,s_ireg)
+  call getarg(3,s_num)
+  call getarg(4,outfile)
+  if (trim(infile) == '' .or. trim(s_ireg) == '' .or. trim(s_num) == '' &
+   .or. trim(outfile) == '') then 
+     print *, 'Usage: extract_databases infile ireg num outfile'
+     print *, '  ireg = 1, 2, 3'
+     print *, '  num = 10 for rho,  11 for kappav, 12 for muv '
+     stop ' Reenter command line options'
+  endif
+
+  read(s_ireg,*) ireg
+  if (ireg == 1) then
+    nspec=NSPEC_CRUST_MANTLE
+  else if (ireg == 2) then
+    nspec=NSPEC_OUTER_CORE
+  else if (ireg == 3) then
+    nspec=NSPEC_INNER_CORE
+  else
+    stop 'Error: ireg has to be 1, 2 or 3'
+  endif
+
+  read(s_num,*) num
+
+  open(11,file=infile,status='old',form='unformatted')
+  do i = 1, num-1
+    read(11) junk2
+  enddo
+  read(11) junk(:,:,:,1:nspec)
+  close(11)
+  
+  open(12,file=outfile,status='unknown',form='unformatted')
+  write(12) junk(:,:,:,1:nspec)
+  close(12)
+
+end program extract_databases
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/filter_station_list.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/filter_station_list.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/filter_station_list.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,103 @@
+!=====================================================================
+!
+!          S p e c f e m 3 D  G l o b e  V e r s i o n  5 . 1
+!          --------------------------------------------------
+!
+!          Main authors: Dimitri Komatitsch and Jeroen Tromp
+!                        Princeton University, USA
+!             and University of Pau / CNRS / INRIA, France
+! (c) Princeton University / California Institute of Technology and University of Pau / CNRS / INRIA
+!                            April 2011
+!
+! This program is free software; you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation; either version 2 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License along
+! with this program; if not, write to the Free Software Foundation, Inc.,
+! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+!
+!=====================================================================
+
+! program to filter the STATIONS file to include stations located in a given region only
+! Dimitri Komatitsch, University of Pau, France, May 2006
+
+  program station_filter
+
+  implicit none
+
+  include '../constants.h'
+
+! input
+  character(len=100),parameter :: filename='STATIONS',filtered_filename='STATIONS_FILTERED'
+  double precision LATITUDE_MIN,LATITUDE_MAX,LONGITUDE_MIN,LONGITUDE_MAX
+
+! output
+  integer irec, nrec, nrec_filtered, ios
+
+  double precision stlat,stlon,stele,stbur
+  character(len=MAX_LENGTH_STATION_NAME) station_name
+  character(len=MAX_LENGTH_NETWORK_NAME) network_name
+
+  print *
+  print *,'program to filter the STATIONS file to include stations located in a given region only'
+  print *
+
+  print *,'enter LONGITUDE_MIN:'
+  read(*,*) LONGITUDE_MIN
+  print *
+
+  print *,'enter LONGITUDE_MAX:'
+  read(*,*) LONGITUDE_MAX
+  print *
+
+  if(LONGITUDE_MIN >= LONGITUDE_MAX) stop 'incorrect longitude range given'
+
+  print *,'enter LATITUDE_MIN:'
+  read(*,*) LATITUDE_MIN
+  print *
+
+  print *,'enter LATITUDE_MAX:'
+  read(*,*) LATITUDE_MAX
+  print *
+
+  if(LATITUDE_MIN >= LATITUDE_MAX) stop 'incorrect latitude range given'
+
+  nrec_filtered = 0
+
+  open(unit=IIN, file=trim(filename), status = 'old', iostat = ios)
+  if (ios /= 0) stop 'Input STATIONS file does not exist, exiting'
+  read(IIN, *) nrec
+  do irec = 1, nrec
+    read(IIN, *) station_name, network_name, stlat, stlon, stele, stbur
+    if(stlat >= LATITUDE_MIN .and. stlat <= LATITUDE_MAX .and. stlon >= LONGITUDE_MIN .and. stlon <= LONGITUDE_MAX) &
+          nrec_filtered = nrec_filtered + 1
+  enddo
+  close(IIN)
+
+    open(unit=IIN,file=trim(filename),status='old')
+    open(unit=IOUT,file=trim(filtered_filename),status='unknown')
+    read(IIN,*) nrec
+    write(IOUT,*) nrec_filtered
+    do irec = 1,nrec
+      read(IIN,*) station_name,network_name,stlat,stlon,stele,stbur
+      if(stlat >= LATITUDE_MIN .and. stlat <= LATITUDE_MAX .and. stlon >= LONGITUDE_MIN .and. stlon <= LONGITUDE_MAX) &
+            write(IOUT,*) trim(station_name),' ',trim(network_name),' ',sngl(stlat),' ',sngl(stlon), ' ',sngl(stele), ' ',sngl(stbur)
+    enddo
+    close(IIN)
+    close(IOUT)
+
+    print *
+    print *,'there are ',nrec,' stations in file ', trim(filename)
+    print *,'saving ',nrec_filtered,' stations inside the model in file ', trim(filtered_filename)
+    print *,'excluding ',nrec - nrec_filtered,' stations located outside the model'
+    print *
+
+  end program station_filter
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/funaro_routines_bernhard/routines_SEM_Bernhard_diff_lagrange.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/funaro_routines_bernhard/routines_SEM_Bernhard_diff_lagrange.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/funaro_routines_bernhard/routines_SEM_Bernhard_diff_lagrange.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,207 @@
+SUBROUTINE diff_lagrange(N,DL,rho,xi)
+!
+!calculates the derivatives of the Lagrange Polynomials at the GLL quadrature 
+!points and stores them in Matrix DL (coloumn = d (L)/d (xi) = dL, row = dL at
+!point xi
+
+Implicit none
+
+double precision xi(0:N),LL(0:N),VN(0:N),rho(0:N)
+double precision DL(0:N,0:N)
+integer N,i,j,k  
+
+
+
+!Calculate the Gauß-Lobatto-Legendre Quadrature points and the values of the
+!Legendre polynomials VN at the gll nodes 
+
+call main_pol(xi,N,VN)
+
+!calculate the weights rho(i) at every gll node for the gll integration rule
+
+rho = 2 / ( float((N+1)*N) * VN**2)
+
+!calculating the derivatives of the Polynomials at the  Gauß-Lobatto-Legendre Quadrature points
+
+do i=0,N
+
+    LL=0
+    LL(i)=1
+    call DELEGL(N,xi,VN,LL,DL(:,i))
+
+enddo
+
+END SUBROUTINE diff_lagrange
+
+!*****************************************************************************
+SUBROUTINE main_pol(xi,N,VN)
+
+IMPLICIT NONE
+
+DOUBLE PRECISION X,xi(0:N),Y,DY,D2Y,ET(0:1000),VN(0:1000)
+INTEGER j,k,N
+
+DO j=0,1000
+X=-1+REAL(j)/1000.*2
+!CALL VALEPO(N,X,Y,DY,D2Y)
+CALL ZELEGL(N,ET,VN)
+!WRITE(5,*)X,Y,DY,D2Y
+ENDDO
+DO j=0,N
+
+	xi(j)=ET(j)
+
+!WRITE(6,*)ET(j),VN(j)
+ENDDO
+!CLOSE(5)
+!CLOSE(6)
+
+END SUBROUTINE main_pol
+
+
+!****************************************************************************
+      SUBROUTINE VALEPO(N,X,Y,DY,D2Y)
+  
+!*   COMPUTES THE VALUE OF THE LEGENDRE POLYNOMIAL OF DEGREE N
+!*   AND ITS FIRST AND SECOND DERIVATIVES AT A GIVEN POINT                    
+!*   N  = DEGREE OF THE POLYNOMIAL
+!*   X  = POINT IN WHICH THE COMPUTATION IS PERFORMED                          
+!*   Y  = VALUE OF THE POLYNOMIAL IN X
+!*   DY = VALUE OF THE FIRST DERIVATIVE IN X
+!*   D2Y= VALUE OF THE SECOND DERIVATIVE IN X                                  
+
+!      IMPLICIT DOUBLE PRECISION (A-H,O-Z)         
+
+      IMPLICIT NONE
+      DOUBLE PRECISION Y,DY,D2Y,X,YP,DYP,D2YP,C1,C2,C3,C4,YM,DYM,D2YM
+      INTEGER N,I                                                         
+
+         Y   = 1.                                                            
+         DY  = 0.
+         D2Y = 0.                                                           
+
+      IF (N .EQ. 0) RETURN                                                     
+
+         Y   = X                                                               
+         DY  = 1.
+         D2Y = 0.                                                            
+
+      IF(N .EQ. 1) RETURN                                                      
+
+         YP   = 1.                                                           
+         DYP  = 0.
+         D2YP = 0. 
+
+      DO I=2,N                                                               
+         C1 = DFLOAT(I)
+         C2 = 2.*C1-1.                                                     
+         C4 = C1-1.
+         YM = Y                                                                
+         Y  = (C2*X*Y-C4*YP)/C1
+         YP = YM                                                               
+         DYM  = DY
+         DY   = (C2*X*DY-C4*DYP+C2*YP)/C1                                      
+         DYP  = DYM
+         D2YM = D2Y                                                            
+         D2Y  = (C2*X*D2Y-C4*D2YP+2.D0*C2*DYP)/C1
+         D2YP = D2YM     
+       ENDDO
+                                                                               
+      RETURN
+
+END SUBROUTINE VALEPO                                               
+
+
+!****************************************************************************
+
+      SUBROUTINE ZELEGL(N,ET,VN)
+       
+!*   COMPUTES THE NODES RELATIVE TO THE LEGENDRE GAUSS-LOBATTO FORMULA
+!*   N  = ORDER OF THE FORMULA
+!*   ET = VECTOR OF THE NODES, ET(I), I=0,N
+!*   VN = VALUES OF THE LEGENDRE POLYNOMIAL AT THE NODES, VN(I), I=0,N
+ 
+!      IMPLICIT DOUBLE PRECISION (A-H,O-Z)
+      IMPLICIT NONE
+
+      DOUBLE PRECISION SN,X,Y,DY,D2Y,PI,C,ETX
+      DOUBLE PRECISION ET(0:1000),VN(0:1000)
+      INTEGER N,N2,I,IT
+
+!     DIMENSION ET(0:*), VN(0:*)
+
+      IF (N .EQ. 0) RETURN
+
+         N2 = (N-1)/2                                           
+         SN = DFLOAT(2*N-4*N2-3)
+         ET(0) = -1.
+         ET(N) = 1.
+         VN(0) = SN
+         VN(N) = 1.
+      IF (N .EQ. 1) RETURN
+
+         ET(N2+1) = 0.
+         X = 0.
+      CALL VALEPO(N,X,Y,DY,D2Y)
+         VN(N2+1) = Y
+      IF(N .EQ. 2) RETURN
+
+         PI = 3.14159265358979323846
+         C  = PI/DFLOAT(N)
+      DO I=1,N2
+        ETX = DCOS(C*DFLOAT(I))
+        DO IT=1,8
+         CALL VALEPO(N,ETX,Y,DY,D2Y)
+         ETX = ETX-DY/D2Y
+        ENDDO
+        ET(I) = -ETX
+        ET(N-I) = ETX
+        VN(I) = Y*SN
+        VN(N-I) = Y
+      ENDDO
+
+      RETURN
+      END SUBROUTINE ZELEGL
+
+
+!***********************************************************************                                                                       
+                                                                               
+      SUBROUTINE DELEGL(N,ET,VN,QN,DQN)                                         
+
+!************************************************************************        
+!*  COMPUTES THE DERIVATIVE OF A POLYNOMIAL AT THE LEGENDRE GAUSS-LOBATTO        
+!*  NODES FROM THE VALUES OF THE POLYNOMIAL ATTAINED AT THE SAME POINTS          
+!*   N   = THE DEGREE OF THE POLYNOMIAL                                          
+!*   ET  = VECTOR OF THE NODES, ET(I), I=0,N                                     
+!*   VN  = VALUES OF THE LEGENDRE POLYNOMIAL AT THE NODES, VN(I), I=0,N          
+!*   QN  = VALUES OF THE POLYNOMIAL AT THE NODES, QN(I), I=0,N                   
+!*   DQN = DERIVATIVES OF THE POLYNOMIAL AT THE NODES, DQZ(I), I=0,N             
+!************************************************************************        
+      IMPLICIT DOUBLE PRECISION (A-H,O-Z)                                       
+!      DIMENSION ET(0:*), VN(0:*), QN(0:*), DQN(0:*)                             
+double precision ET(0:*), VN(0:*), QN(0:*), DQN(0:*)
+          DQN(0) = 0.D0                                                         
+      IF (N .EQ. 0) RETURN                                                      
+                                                                                
+      DO 1 I=0,N                                                                
+          SU = 0.D0                                                             
+          VI = VN(I)                                                            
+          EI = ET(I)                                                            
+      DO 2 J=0,N                                                                
+      IF (I .EQ. J) GOTO 2                                                      
+          VJ = VN(J)                                                            
+          EJ = ET(J)                                                            
+          SU = SU+QN(J)/(VJ*(EI-EJ))                                            
+2     CONTINUE                                                                  
+          DQN(I) = VI*SU                                                        
+1     CONTINUE                                                                  
+                                                                                
+          DN = DFLOAT(N)                                                        
+          C  = .25D0*DN*(DN+1.D0)                                               
+          DQN(0) = DQN(0)-C*QN(0)                                               
+          DQN(N) = DQN(N)+C*QN(N)                                               
+                                                                                
+      RETURN                                                                    
+      END SUBROUTINE DELEGL                                        
+                                                                               
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/funaro_routines_bernhard/routines_SEM_Bernhard_funaro.tar.gz
===================================================================
(Binary files differ)


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/funaro_routines_bernhard/routines_SEM_Bernhard_funaro.tar.gz
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/generate_station_list_NS.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/generate_station_list_NS.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/generate_station_list_NS.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,107 @@
+!=====================================================================
+!
+!          S p e c f e m 3 D  G l o b e  V e r s i o n  5 . 1
+!          --------------------------------------------------
+!
+!          Main authors: Dimitri Komatitsch and Jeroen Tromp
+!                        Princeton University, USA
+!             and University of Pau / CNRS / INRIA, France
+! (c) Princeton University / California Institute of Technology and University of Pau / CNRS / INRIA
+!                            April 2011
+!
+! This program is free software; you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation; either version 2 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License along
+! with this program; if not, write to the Free Software Foundation, Inc.,
+! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+!
+!=====================================================================
+
+! program to generate the STATIONS file to include stations
+! every half-degree along a great circle
+
+! Dimitri Komatitsch, University of Pau, France, August 2007
+
+  program generate_station_list
+
+  implicit none
+
+  include "constants.h"
+
+  integer nrec,ilatitude
+
+  double precision stlat
+
+  character(len=MAX_LENGTH_STATION_NAME) station_name
+  character(len=MAX_LENGTH_NETWORK_NAME) network_name
+
+  print *
+  print *,'generating the DATA/STATIONS file to include stations'
+  print *,'every half-degree along a great circle'
+  print *
+
+  network_name = 'DK'
+
+! there is a station every half degree
+  nrec = 720
+
+  open(unit=IOUT,file='DATA/STATIONS',status='unknown')
+
+  write(IOUT,*) nrec
+
+! first create half the great circle along the Greenwich meridian (longitude = 0)
+
+  do ilatitude = -90,+89
+
+    stlat = ilatitude
+    if(ilatitude < 0) then
+      write(station_name,"('FRONT_MINUS_',i2.2,'_00')") int(abs(stlat))
+    else
+      write(station_name,"('FRONT_PLUS_',i2.2,'_00')") int(abs(stlat))
+    endif
+    write(IOUT,*) trim(station_name),' ',trim(network_name),' ',sngl(stlat),' 0 0 0'
+
+    stlat = ilatitude + 0.5d0
+    if(stlat < 0) then
+      write(station_name,"('FRONT_MINUS_',i2.2,'_50')") int(abs(stlat))
+    else
+      write(station_name,"('FRONT_PLUS_',i2.2,'_50')") int(abs(stlat))
+    endif
+    write(IOUT,*) trim(station_name),' ',trim(network_name),' ',sngl(stlat),' 0 0 0'
+
+  enddo
+
+! then create half the great circle along longitude = 180
+
+  do ilatitude = -90,+89
+
+    stlat = ilatitude
+    if(ilatitude < 0) then
+      write(station_name,"('BACK_MINUS_',i2.2,'_00')") int(abs(stlat))
+    else
+      write(station_name,"('BACK_PLUS_',i2.2,'_00')") int(abs(stlat))
+    endif
+    write(IOUT,*) trim(station_name),' ',trim(network_name),' ',sngl(stlat),' 180 0 0'
+
+    stlat = ilatitude + 0.5d0
+    if(stlat < 0) then
+      write(station_name,"('BACK_MINUS_',i2.2,'_50')") int(abs(stlat))
+    else
+      write(station_name,"('BACK_PLUS_',i2.2,'_50')") int(abs(stlat))
+    endif
+    write(IOUT,*) trim(station_name),' ',trim(network_name),' ',sngl(stlat),' 180 0 0'
+
+  enddo
+
+  close(IOUT)
+
+  end program generate_station_list
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/generate_station_list_equator.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/generate_station_list_equator.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/generate_station_list_equator.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,80 @@
+!=====================================================================
+!
+!          S p e c f e m 3 D  G l o b e  V e r s i o n  5 . 1
+!          --------------------------------------------------
+!
+!          Main authors: Dimitri Komatitsch and Jeroen Tromp
+!                        Princeton University, USA
+!             and University of Pau / CNRS / INRIA, France
+! (c) Princeton University / California Institute of Technology and University of Pau / CNRS / INRIA
+!                            April 2011
+!
+! This program is free software; you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation; either version 2 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License along
+! with this program; if not, write to the Free Software Foundation, Inc.,
+! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+!
+!=====================================================================
+
+! program to generate the STATIONS file to include stations
+! every half-degree along a great circle
+
+! Dimitri Komatitsch, University of Pau, France, August 2007
+
+  program generate_station_list
+
+  implicit none
+
+  include "constants.h"
+
+  integer :: nrec,ilongitude
+
+  double precision :: stlat,stlon
+
+  character(len=MAX_LENGTH_STATION_NAME) :: station_name
+  character(len=MAX_LENGTH_NETWORK_NAME) :: network_name
+
+  print *
+  print *,'generating the DATA/STATIONS file to include stations'
+  print *,'every half-degree along a great circle'
+  print *
+
+  open(unit=IOUT,file='DATA/STATIONS',status='unknown')
+
+! there is a station every half degree
+  nrec = 720
+
+  write(IOUT,*) nrec
+
+! select the great circle along the equator
+  stlat = 0.d0
+
+  network_name = 'DK'
+
+  do ilongitude = 0,359
+
+! station on integer value of degree YYY
+    stlon = ilongitude
+    write(station_name,"('S',i3.3,'_00')") ilongitude
+    write(IOUT,*) trim(station_name),' ',trim(network_name),' ',sngl(stlat),' ',sngl(stlon),' 0 0'
+
+! station on half value of degree YYY (i.e. in degree YYY + 0.5)
+    stlon = ilongitude + 0.5d0
+    write(station_name,"('S',i3.3,'_50')") ilongitude
+    write(IOUT,*) trim(station_name),' ',trim(network_name),' ',sngl(stlat),' ',sngl(stlon),' 0 0'
+
+  enddo
+
+  close(IOUT)
+
+  end program generate_station_list
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/generate_station_list_one_fourth.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/generate_station_list_one_fourth.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/generate_station_list_one_fourth.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,83 @@
+!=====================================================================
+!
+!          S p e c f e m 3 D  G l o b e  V e r s i o n  5 . 1
+!          --------------------------------------------------
+!
+!          Main authors: Dimitri Komatitsch and Jeroen Tromp
+!                        Princeton University, USA
+!             and University of Pau / CNRS / INRIA, France
+! (c) Princeton University / California Institute of Technology and University of Pau / CNRS / INRIA
+!                            April 2011
+!
+! This program is free software; you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation; either version 2 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License along
+! with this program; if not, write to the Free Software Foundation, Inc.,
+! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+!
+!=====================================================================
+
+! program to generate the STATIONS file to include stations
+! every 0.1 degree along one-fourth of a great circle
+
+! Dimitri Komatitsch, University of Pau, France, October 2007
+
+  program generate_station_list
+
+  implicit none
+
+  include "constants.h"
+
+  integer nrec,ilatitude,idecimal_degree,upper_bound
+
+  double precision stlat,decimal_degree
+
+  character(len=MAX_LENGTH_STATION_NAME) station_name
+  character(len=MAX_LENGTH_NETWORK_NAME) network_name
+
+  print *
+  print *,'generating the DATA/STATIONS file to include stations'
+  print *,'every 0.1 degree along one-fourth of a great circle'
+  print *
+
+  network_name = 'DK'
+
+  nrec = 451
+
+  open(unit=IOUT,file='DATA/STATIONS',status='unknown')
+
+  write(IOUT,*) nrec
+
+! generate one-fourth of the great circle along the Greenwich meridian (longitude = 0)
+  do ilatitude = -90,0
+
+! add 1/10th of a degree to generate stations every 0.1 degree between -90 and -50
+! otherwise only every degree
+    if(ilatitude < -50) then
+      upper_bound = 9
+    else
+      upper_bound = 0
+    endif
+
+    do idecimal_degree = 0,upper_bound
+
+      stlat = ilatitude + idecimal_degree / 10.d0
+      write(station_name,"('FRONT_MINUS_',i2.2,'_',i2.2)") int(abs(stlat)),nint(100. * (abs(stlat) - int(abs(stlat))))
+      write(IOUT,*) trim(station_name),' ',trim(network_name),' ',sngl(stlat),' 0 0 0'
+
+    enddo
+
+  enddo
+
+  close(IOUT)
+
+  end program generate_station_list
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/generate_table_NEX_manual.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/generate_table_NEX_manual.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/generate_table_NEX_manual.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,57 @@
+
+  program generate_table_NEX_manual
+
+! generate Table showing possible values of NEX for the SPECFEM3D_GLOBE manual
+
+! Author: Dimitri Komatitsch, University of Pau, France, September 2007
+
+  implicit none
+
+  integer NPROC_XI,c,NEX_XI,counter
+
+  integer, parameter :: NB_COLUMNS_TABLE = 10
+  integer, dimension(NB_COLUMNS_TABLE) :: store_NEX_XI
+
+! maximum total number of processors we want to see in the table
+  integer, parameter :: MAX_NUMBER_OF_PROCS = 100000
+! integer, parameter :: MAX_NUMBER_OF_PROCS = 212992 ! current maximum on BlueGene at LLNL
+
+! base value depends if we implement three or four doublings (default is three)
+  integer, parameter :: NB_DOUBLING = 3
+  integer :: BASE_VALUE
+
+! output in LaTeX format or in regular ASCII format
+  logical, parameter :: OUTPUT_LATEX_FORMAT = .false.
+
+  BASE_VALUE = 2**NB_DOUBLING
+
+! total number of processors is 6 * NPROC_XI^2
+  do NPROC_XI = 1,int(sqrt(MAX_NUMBER_OF_PROCS / 6.d0))
+
+    counter = 1
+    c = 0
+
+    do while (counter <= NB_COLUMNS_TABLE)
+      c = c + 1
+      NEX_XI = BASE_VALUE * c * NPROC_XI
+      if(NEX_XI >= 64 .and. mod(NEX_XI,2*BASE_VALUE) == 0) then
+        store_NEX_XI(counter) = NEX_XI
+        counter = counter + 1
+      endif
+    enddo
+
+    if(OUTPUT_LATEX_FORMAT) then
+      write(*,"(i6,' &')") NPROC_XI
+      write(*,"(i6,' &')") 6*NPROC_XI**2
+      do counter = 1,NB_COLUMNS_TABLE-1
+        write(*,"(i6,' &')") store_NEX_XI(counter)
+      enddo
+      write(*,*) store_NEX_XI(NB_COLUMNS_TABLE),' ',achar(92),'tabularnewline'
+    else
+      write(*,"(i6,' | ',i6,' | ',i6,1x,i6,1x,i6,1x,i6,1x,i6,1x,i6,1x,i6,1x,i6,1x,i6,1x,i6,1x,i6)") &
+        NPROC_XI, 6*NPROC_XI**2,(store_NEX_XI(counter), counter = 1,NB_COLUMNS_TABLE)
+    endif
+  enddo
+
+  end program generate_table_NEX_manual
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/CMT_TOOLS.pm
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/CMT_TOOLS.pm	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/CMT_TOOLS.pm	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,293 @@
+package CMT_TOOLS;
+
+#use warnings;
+use Exporter;
+use Time::Local;
+use POSIX;
+
+## Qinya Liu, Caltech, May 2007
+
+ at ISA = ('Exporter');
+ at EXPORT = ('get_cmt','get_cmt_long','get_cmt_short','get_cmt_moment',
+	   'get_cmt_long2', 'get_cmt_evnm',
+	   'get_cmt_location','cmt2dc', 'cmt2dc_simple','moment2dc',
+           'tdiff', 'mday2jday', 'jday2mday'
+	  );
+
+$BIN = "/opt/seismo-util/bin";
+
+# get_cmt : all your want from a cmt_file except event name
+sub get_cmt {
+
+  my ($cmt_file)=@_;
+
+  open(CMT, "$cmt_file") or die("Error opening $cmt_file\n");
+  @cmt = <CMT>;
+  close(CMT);
+  my($pde,$oyear,$omonth,$oday,$ohr,$omin,$osec1)=split(" ",$cmt[0]);
+  my($osec,$omsec)=split(/\./,$osec1); $omsec=$omsec*10;
+  my(undef,undef,$evid) = split(" ",$cmt[1]);
+  my(undef,undef,$tshift)=split(" ",$cmt[2]);
+  my(undef,undef,$hdur)=split(" ",$cmt[3]);
+  my(undef,$elat)=split(" ",$cmt[4]);
+  my(undef,$elon)=split(" ",$cmt[5]);
+  my(undef,$edep)=split(" ",$cmt[6]);
+  my(undef,$Mrr)=split(" ",$cmt[7]);
+  my(undef,$Mtt)=split(" ",$cmt[8]);
+  my(undef,$Mpp)=split(" ",$cmt[9]);
+  my(undef,$Mrt)=split(" ",$cmt[10]);
+  my(undef,$Mrp)=split(" ",$cmt[11]);
+  my(undef,$Mtp)=split(" ",$cmt[12]);
+
+  return($oyear,$omonth,$oday,$ohr,$omin,$osec,$omsec,$evid,$tshift,$hdur,
+         $elat,$elon,$edep,$Mrr,$Mtt,$Mpp,$Mrt,$Mrp,$Mtp);
+
+}
+
+
+# get_cmt_long  : all you want from cmt_files including event name
+sub get_cmt_long {
+
+  my ($cmt_file)=@_;
+
+  open(CMT, "$cmt_file") or die("Error opening $cmt_file\n");
+  @cmt = <CMT>;
+  close(CMT);
+  my($pde,$oyear,$omonth,$oday,$ohr,$omin,$osec1,undef,undef,undef,$mw,undef, at evnm)=split(" ",$cmt[0]);
+  my($osec,$omsec)=split(/\./,$osec1); $omsec=$omsec*10;
+  my(undef,undef,$evid) = split(" ",$cmt[1]);
+  my(undef,undef,$tshift)=split(" ",$cmt[2]);
+  my(undef,undef,$hdur)=split(" ",$cmt[3]);
+  my(undef,$elat)=split(" ",$cmt[4]);
+  my(undef,$elon)=split(" ",$cmt[5]);
+  my(undef,$edep)=split(" ",$cmt[6]);
+  my(undef,$Mrr)=split(" ",$cmt[7]);
+  my(undef,$Mtt)=split(" ",$cmt[8]);
+  my(undef,$Mpp)=split(" ",$cmt[9]);
+  my(undef,$Mrt)=split(" ",$cmt[10]);
+  my(undef,$Mrp)=split(" ",$cmt[11]);
+  my(undef,$Mtp)=split(" ",$cmt[12]);
+
+  return($oyear,$omonth,$oday,$ohr,$omin,$osec,$omsec,$evid,$tshift,$hdur,
+         $elat,$elon,$edep,$Mrr,$Mtt,$Mpp,$Mrt,$Mrp,$Mtp,$mw, at evnm);
+
+}
+
+# get_cmt_long2 : same as get_cmt_long except that the time shift has been
+#                 added to the output reference time.
+sub get_cmt_long2 {
+
+  my ($cmt_file)=@_;
+
+  open(CMT, "$cmt_file") or die("Error opening $cmt_file\n");
+  @cmt = <CMT>;
+  close(CMT);
+  my($pde,$oyear,$omonth,$oday,$ohr,$omin,$osec1,undef,undef,undef,$mw,undef, at evnm)=split(" ",$cmt[0]);
+  my($osec,$omsec)=split(/\./,$osec1); $omsec="0.$omsec";
+  $omsec = floor($omsec * 1000);
+  my(undef,undef,$evid) = split(" ",$cmt[1]);
+  my(undef,undef,$tshift)=split(" ",$cmt[2]);
+  my(undef,undef,$hdur)=split(" ",$cmt[3]);
+  my(undef,$elat)=split(" ",$cmt[4]);
+  my(undef,$elon)=split(" ",$cmt[5]);
+  my(undef,$edep)=split(" ",$cmt[6]);
+  my(undef,$Mrr)=split(" ",$cmt[7]);
+  my(undef,$Mtt)=split(" ",$cmt[8]);
+  my(undef,$Mpp)=split(" ",$cmt[9]);
+  my(undef,$Mrt)=split(" ",$cmt[10]);
+  my(undef,$Mrp)=split(" ",$cmt[11]);
+  my(undef,$Mtp)=split(" ",$cmt[12]);
+
+  ($oyear1,$ojday1,$ohr1,$omin1,$osec1,$omsec1)=&tdiff($oyear,$omonth,$oday,$ohr,$omin,$osec,$omsec,$tshift);
+
+  return($oyear1,$ojday1,$ohr1,$omin1,$osec1,$omsec1,$evid,$tshift,$hdur,
+         $elat,$elon,$edep,$Mrr,$Mtt,$Mpp,$Mrt,$Mrp,$Mtp,$mw, at evnm);
+
+}
+
+# get_cmt_evnm  : all you want from cmt_files including event name
+sub get_cmt_evnm {
+
+  my ($cmt_file)=@_;
+
+  open(CMT, "$cmt_file") or die("Error opening $cmt_file\n");
+  @cmt = <CMT>;
+  close(CMT);
+  my($pde,$oyear,$omonth,$oday,$ohr,$omin,$osec1,undef,undef,undef,$mw,undef, at evnm)=split(" ",$cmt[0]);
+  my($osec,$omsec)=split(/\./,$osec1); $omsec=$omsec*10;
+  my(undef,undef,$evid) = split(" ",$cmt[1]);
+  my(undef,undef,$tshift)=split(" ",$cmt[2]);
+  my(undef,undef,$hdur)=split(" ",$cmt[3]);
+  my(undef,$elat)=split(" ",$cmt[4]);
+  my(undef,$elon)=split(" ",$cmt[5]);
+  my(undef,$edep)=split(" ",$cmt[6]);
+  my(undef,$Mrr)=split(" ",$cmt[7]);
+  my(undef,$Mtt)=split(" ",$cmt[8]);
+  my(undef,$Mpp)=split(" ",$cmt[9]);
+  my(undef,$Mrt)=split(" ",$cmt[10]);
+  my(undef,$Mrp)=split(" ",$cmt[11]);
+  my(undef,$Mtp)=split(" ",$cmt[12]);
+  my($evnm) = join(" ", at evnm);
+  return($evnm);
+
+}
+
+
+# get_cmt_short : simply outputs M and location
+sub get_cmt_short {
+
+  my ($cmt_file)=@_;
+
+  open(CMT, "$cmt_file") or die("Error opening $cmt_file\n");
+  @cmt = <CMT>;
+  close(CMT);
+  my(undef,$elat)=split(" ",$cmt[4]);
+  my(undef,$elon)=split(" ",$cmt[5]);
+  my(undef,$edep)=split(" ",$cmt[6]);
+  my(undef,$Mrr)=split(" ",$cmt[7]);
+  my(undef,$Mtt)=split(" ",$cmt[8]);
+  my(undef,$Mpp)=split(" ",$cmt[9]);
+  my(undef,$Mrt)=split(" ",$cmt[10]);
+  my(undef,$Mrp)=split(" ",$cmt[11]);
+  my(undef,$Mtp)=split(" ",$cmt[12]);
+
+  return($Mrr,$Mtt,$Mpp,$Mrt,$Mrp,$Mtp,$elat,$elon,$edep);
+
+}
+
+# get_cmt_moment : simply outputs M
+sub get_cmt_moment {
+
+  my ($cmt_file)=@_;
+
+  open(CMT, "$cmt_file") or die("Error opening $cmt_file\n");
+  @cmt = <CMT>;
+  close(CMT);
+  my(undef,$Mrr)=split(" ",$cmt[7]);
+  my(undef,$Mtt)=split(" ",$cmt[8]);
+  my(undef,$Mpp)=split(" ",$cmt[9]);
+  my(undef,$Mrt)=split(" ",$cmt[10]);
+  my(undef,$Mrp)=split(" ",$cmt[11]);
+  my(undef,$Mtp)=split(" ",$cmt[12]);
+
+  return($Mrr,$Mtt,$Mpp,$Mrt,$Mrp,$Mtp);
+
+}
+
+# get_cmt_location: only outputs location
+sub get_cmt_location {
+ 
+  my ($cmt_file)=@_;
+
+  open(CMT, "$cmt_file") or die("Error opening $cmt_file\n");
+  @cmt = <CMT>;
+  close(CMT);
+  my(undef,$elat)=split(" ",$cmt[4]);
+  my(undef,$elon)=split(" ",$cmt[5]);
+  my(undef,$edep)=split(" ",$cmt[6]);
+
+  return($elat,$elon,$edep);
+}
+
+# ($mw,$elat,$elon,$edep,$s1,$d1,$r1,$s2,$d2,$r2,$moment) = cmt2dc ($cmt_file)
+sub cmt2dc{
+
+  my ($cmt_file) = @_;
+  my (@M,$elat,$elon,$edep,$mij2dc,$output);
+  my ($s1,$d1,$r1,$s2,$d2,$r2,$moment,$mw);
+
+  (@M[0..5],$elat,$elon,$edep) = get_cmt_short($cmt_file);
+  $mij2dc = "${BIN}/mij2dc";
+  if (not -f $mij2dc) {die("not mij2dc file\n");}
+  $output = "mij2dc.tmp";
+  open(MIJ,"|$mij2dc > $output");
+  print MIJ "1 @M[0..5]\n";
+  close(MIJ);
+  (undef,$s1,$d1,$r1) = split(" ",`egrep output1 $output`);
+  (undef,$s2,$d2,$r2) = split(" ",`egrep output2 $output`);
+  (undef,undef,$moment) =
+    split(" ",`egrep 'scalar moment' $output`);
+  system("\\rm -f $output ");
+  $mw = log($moment)/log(10)/1.5-10.73;
+  return($mw,$elat,$elon,$edep,$s1,$d1,$r1,$s2,$d2,$r2,$moment);
+}
+
+
+# ($s1,$d1,$r1,$s2,$d2,$r2,$moment) = cmt2dc_simple($cmt_file)
+sub cmt2dc_simple{
+
+  my ($cmt_file) = @_;
+  my (@M,$mij2dc,$output);
+  my ($s1,$d1,$r1,$s2,$d2,$r2,$moment);
+
+  (@M[0..5]) = get_cmt_moment($cmt_file);
+  $mij2dc = "${BIN}/mij2dc";
+  if (not -f $mij2dc) {die("no  $mij2dc file\n");}
+  $output = "mij2dc.tmp";
+  open(MIJ,"|$mij2dc > $output");
+  print MIJ "1 @M[0..5]\n";
+  close(MIJ);
+  (undef,$s1,$d1,$r1) = split(" ",`egrep output1 $output`);
+  (undef,$s2,$d2,$r2) = split(" ",`egrep output2 $output`);
+  (undef,undef,$moment) =
+    split(" ",`egrep 'scalar moment' $output`);
+  system("\\rm -f $output ");
+  return($s1,$d1,$r1,$s2,$d2,$r2,$moment);
+}
+
+# convert moment tensors to double couples
+sub moment2dc{
+  if (@_ != 6) {die("moment2dc(moment_tensor[0..5])\n");}
+  my (@M) = @_;
+  my ($s1,$d1,$r1,$s2,$d2,$r2,$moment,$mij2dc,$output);
+
+  $mij2dc = "${BIN}/mij2dc";
+  if (not -f $mij2dc) {die("no  $mij2dc file\n");}
+  $output = "mij2dc.tmp";
+  open(MIJ,"|$mij2dc > $output");
+  print MIJ "1 @M[0..5]\n";
+  close(MIJ);
+  (undef,$s1,$d1,$r1) = split(" ",`egrep output1 $output`);
+  (undef,$s2,$d2,$r2) = split(" ",`egrep output2 $output`);
+  (undef,undef,$moment) =
+    split(" ",`egrep 'scalar moment' $output`);
+  system("\\rm -f $output ");
+  return($s1,$d1,$r1,$s2,$d2,$r2,$moment);
+}
+
+# add tdiff time
+sub tdiff{
+  my ($oyear,$omonth,$oday,$ohr,$omin,$osec,$omsec,$tadd)=@_;
+  $time = timegm($osec, $omin, $ohr, $oday , $omonth-1, $oyear);
+  $time += ($tadd +$omsec/1000); #event_time in machine format
+  $msec = sprintf("%03.0f",($time - (floor($time)))*1000);
+  $time = floor($time);
+  my($sec, $min, $hr, $day , $month, $year,$weekday,$jday) = gmtime($time);
+  $month += 1;
+  $year += 1900;
+  $jday +=1;
+  return ($year,$jday,$hr,$min,$sec,$msec);
+}
+
+
+
+sub mday2jday {
+  my($oyear,$omonth,$oday)=@_;
+  $omonth = $omonth-1;  #months range from 0..11
+  $time_sec = timegm(3,3,3,$oday,$omonth,$oyear);
+  @t = gmtime($time_sec);
+  my($jday) = $t[7];
+  $jday += 1;
+  return ($jday);
+}
+
+sub jday2mday {
+  my($year,$jday)=@_;
+  $time = timegm(1,0,0,1,0,$year);
+  $time=$time+($jday-1)*24*60*60;
+  my @gmt_time=gmtime($time);
+  return($gmt_time[4]+1,$gmt_time[3]);
+}
+
+
+1;

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/DELAZ5.pm
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/DELAZ5.pm	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/DELAZ5.pm	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,124 @@
+package DELAZ5;
+use strict;
+use warnings;
+use Math::Trig;
+BEGIN {
+    use Exporter();
+    our($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
+    $VERSION     = 1.00;
+    @ISA         = qw(Exporter);
+    @EXPORT      = qw(&delaz5);
+    %EXPORT_TAGS = ( );
+    @EXPORT_OK   = ( );
+}
+our @EXPORT_OK;
+
+# culled from Hiroos subroutines -- Vala/Brian?
+sub delaz5 {
+    my($thei, $alei, $thsi, $alsi, $i) = @_;
+#	This is an old Fortran subroutine to compute the
+#       distance and azimuths between two points.
+#	Point A:  Latitude   THEI,  Longitude  ALEI
+#	Point B:  Latitude   THSI,  Longitude  ALSI
+# 	If the coordinates are in geographical coordinates in deg,  then I=0
+#        If the coordinates are in geocentric in radia, then I=1
+#	These are the input parameters.
+#	Outputs are:
+#		DELT=distance in radian
+#  		DELTDG=distance in degree
+#		DELTKM=distance in km
+#               AZES=azimuth of Point B as viewed from Point A (radian)
+#		AZESDEG=azimuth of Point B as viewed from Point A (radian) (degree)          
+#		AZSE=azimuth of Point A as viewed from Point B (radian)
+#		AZSEDEG=azimuth of Point A as viewed from Point B (radian) (degree)
+    my($h, $delt, $deltkm, $azes, $azse);
+    my($azsedg, $deltdg,$azesdg);
+    my($the, $ale, $ths, $als, $aaa);
+    my($c, $ak, $d, $e, $g);
+    my($cp, $akp, $dp ,$ep, $ap, $bp, $gp, $hp);
+    my($c1, $c2, $c3, $c4, $c5, $c6);
+    
+#   if(i) 50, 50, 51
+    if($i <= 0.0) {
+#   if  coordinates are geograph deg i=0
+#   if coordinates are geocent radian  i=1
+	$the=1.745329252e-2*$thei; # Line 50
+	$ale=1.745329252e-2*$alei;
+	$ths=1.745329252e-2*$thsi;
+	$als=1.745329252e-2*$alsi;
+	$aaa=0.9931177*tan($the);
+	$the=atan($aaa);
+	$aaa=0.9931177*tan($ths);
+	$ths=atan($aaa);
+#      go to 32
+    } else {
+	$the=$thei; # Line 51
+	$ale=$alei;
+	$ths=$thsi;
+	$als=$alsi;
+    }
+#    32 continue
+    $c= sin($the);
+    $ak=-cos($the);
+    $d=sin($ale);
+    $e= -cos($ale);
+    $a= $ak*$e;
+    $b= -$ak*$d;
+    $g=-$c*$e;
+    $h=$c*$d;
+    $cp=sin($ths);
+    $akp=-cos($ths);
+    $dp=sin($als);
+    $ep = -cos($als);
+    $ap = $akp*$ep;
+    $bp=-$akp*$dp;
+    $gp=-$cp*$ep;
+    $hp=$cp*$dp;
+    $c1=$a*$ap+$b*$bp+$c*$cp;
+    
+#      if( c1-0.94 )  30, 31, 31
+    if($c1-0.94 < 0.0) {
+#    30	if(c1+0.94) 28, 28, 29 
+	if($c1+0.94 <= 0.0) {
+	    # this used to be lower in the code delaz5.f
+	    $c1=($a+$ap)**2+($b+$bp)**2+($c+$cp)**2; # Line 28
+	    $c1 = sqrt($c1 );
+	    $c1= $c1/2.0;
+	    $delt = acos($c1);
+	    $delt = 2.0*$delt;
+#	    go to 33
+	} else {
+	    $delt=acos($c1); #Line 29
+	}
+    } else {
+	# this used to be lower in the code delaz5.f
+	$c1=($a-$ap)**2+($b-$bp)**2+($c-$cp)**2; # Line 31
+	$c1= sqrt($c1);
+	$c1=$c1/2.0;
+	$delt = asin($c1);
+	$delt= 2.0*$delt;
+	#go to 33
+    }
+    $deltkm=6371.0*$delt; # Line 33
+    $c3 = ($ap-$d)**2+($bp-$e)**2+$cp**2-2.0;
+    $c4 = ($ap-$g)**2+($bp-$h)**2+($cp-$ak)**2-2.0;
+    $c5 = ($a-$dp)**2+ ($b-$ep)**2+$c**2-2.0;
+    $c6 = ($a-$gp)**2+($b-$hp)**2+($c-$akp)**2-2.0;
+    $deltdg = 57.29577951*$delt;
+    $azes = atan2($c3, $c4 );
+#    if ( $azes ) 80, 81, 81
+    if($azes < 0.0) {
+	$azes = 6.283185308+ $azes; # Line 80
+    }
+    $azse = atan2( $c5, $c6 ); # Line 81
+
+#    if ( azse ) 70, 71 , 71
+    if($azse < 0.0) {
+	$azse=6.283185308+$azse; #line 70
+    }
+    $azesdg=57.29577951*$azes; # Line 71
+    $azsedg=57.29577951*$azse;
+    return($delt, $deltdg, $deltkm, $azes, $azesdg, $azse, $azsedg);
+}
+
+1;

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/FILE_TOOLS.pm
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/FILE_TOOLS.pm	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/FILE_TOOLS.pm	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,76 @@
+package FILE_TOOLS;
+
+use warnings;
+use Exporter;
+use lib '/opt/seismo-util/lib/perl';
+
+ at ISA = ('Exporter');
+ at EXPORT = ('list2files','files2list','file_in_files','files_minus',
+          );
+# Qinya Liu, Caltech, May 2007
+
+# list2files
+
+sub list2files {
+  my($list) = @_;
+  if (@_ != 1) {die("list2files list\n");}
+  my(@outfile) = ();
+  open(LIST,"$list") or die("Error open file $list\n");
+  @list = <LIST>;
+  foreach $list (@list) {
+    ($list) = split(" ",$list);
+    if ($list !~/^\s*$/) {push(@outfile,$list);}
+  }
+  close(LIST);
+  return(@outfile);
+}
+
+# files2list
+
+sub files2list{
+  my($list, at files) = @_;
+  if (@_ < 2) {die("files2list list files\n");}
+  open(LIST,">$list") or die("Error opening file $list for writing\n");
+  foreach $file (@files) {
+    print LIST "$file\n";
+  }
+  close(LIST);
+}
+
+#file_in_files
+sub file_in_files {
+  my($onefile, at files) = @_;
+  my($file);
+  foreach $file (@files) {
+    if ($file eq $onefile) {return 1;}
+  }
+  return 0;
+}
+
+
+# files_minus
+sub files_minus {
+  my($files,$mfiles) = @_;
+  my(@files, at mfiles, at outfiles,$file);
+  (@files) = split(" ",$files); (@mfiles) = split(" ",$mfiles);
+  foreach $file (@files) {
+	if (not file_in_files($file, at mfiles)) {push(@outfiles,$file);}
+  }
+  return(@outfiles);
+}
+
+# ls2files -- most of its functionality can be replaced by 
+#             glob("pattern"), but pattern
+#             needs to include at least * or ?.
+sub ls2files {
+  if (@_ != 1) {die("usage: ls2files(pattern)\n");}
+  my($pattern) = @_;
+  my(@files,$file, at outfiles);
+  @files = `ls -1d $pattern 2> /dev/null`;
+  foreach $file (@files) {
+    chomp($file); if (-f $file) {push(@outfiles,$file);}}
+  return(@outfiles);
+}
+
+
+1;

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/GMT_PLOT.pm
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/GMT_PLOT.pm	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/GMT_PLOT.pm	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,398 @@
+package GMT_PLOT;
+
+use warnings;
+use Exporter;
+use lib '/opt/seismo-util/lib/perl';
+use CMT_TOOLS;
+
+ at ISA = ('Exporter');
+ at EXPORT = ('plot_psbasemap','plot_pscoast','plot_psxy','plot_psxy_file',
+	   'plot_pstext','plot_pstext_file','plot_grdimage','plot_psmeca',
+	   'plot_psmeca_raw','plot_pssac2','plot_pssac2_raw',
+	   'shift_xy');
+
+# Qinya Liu, Caltech, May 2007
+# default paper orientation : landscape
+$paper_orient = "";
+
+
+
+
+# plot basemap
+# default -JM -R -B
+#
+
+sub plot_psbasemap{
+  my ($fh,$out,$opt) = @_;
+  if (@_ != 3) {die("plot_psbasemap filehandle outfile options\n");}
+  my ($J,$R,$B,$W,$O,$options,$arrow, at options, at others);
+  @options = split(" ",$opt);
+  $J = "-JM"; $R = "-R"; $B = "-B";
+  foreach $options (@options) {
+    if ($options =~ /-J/) {$J = $options;}
+    elsif ($options =~ /-R/) {$R = $options;}
+    elsif ($options =~ /-B/) {$B = $options;}
+    elsif ($options =~ /-O/ or $options =~ /-K/ ) {$O .= "$options ";}
+    else {push(@others,"$options ");}
+  }
+  if (not defined $O) {$O = "-K -O";}
+  if ($O =~ /-K/ and $O !~ /-O/) {$arrow = ">";} else {$arrow = ">>";}
+  print $fh "psbasemap $J $R $B @others $paper_orient $O -V   $arrow   $out\n"
+    or die ("Error printing psbasemap\n");
+}
+
+
+# plot coastline
+# default : -JM -R -W
+# others : -Na -Dh -S255
+
+sub plot_pscoast {
+
+  my ($fh,$out,$opt) = @_;
+  if (@_ != 3) {die("plot_pscoast filehandle outfile options\n");}
+  my ($J,$R,$W,$O,$options,$arrow, at options, at others);
+  @options = split(" ",$opt);
+  $J = "-JM"; $R = "-R"; $W = "-W1";
+  foreach $options (@options) {
+    if ($options =~ /-J/) {$J = $options;}
+    elsif ($options =~ /-R/) {$R = $options;}
+    elsif ($options =~ /-O/ or $options =~ /-K/ ) {$O .= "$options ";}
+    elsif ($options =~ /-W/) {$W = $options;}
+    else {push(@others,"$options ");}
+  }
+  if (not defined $O) {$O = "-K -O";}
+  if ($O =~ /-K/ and $O !~ /-O/) {$arrow = ">";} else {$arrow = ">>";}
+  print $fh "pscoast $J $R $W @others $paper_orient $O -V   $arrow   $out\n"
+    or die ("Error printing pscoast\n");
+}
+
+
+
+# plot psxy
+# default -JM -R
+# others -Sa0.2
+
+sub plot_psxy {
+
+  my ($fh,$out,$opt,$input) = @_;
+  if (@_ != 4 ) {die("plot_psxy filehandle outfile options inputs \n");}
+  my ($J,$R,$B,$W,$O,$options,$arrow, at options, at others);
+  @options = split(" ",$opt);
+
+  $J = "-JM"; $R = "-R";
+  foreach $options (@options) {
+    if ($options =~ /-J/) {$J = $options;}
+    elsif ($options =~ /-R/) {$R = $options;}
+    elsif ($options =~ /-O/ or $options =~ /-K/ ) {$O .= "$options ";}
+    else {push(@others,"$options ");}
+  }
+  if (not defined $O) {$O = "-K -O";}
+  if ($O =~ /-K/ and $O !~ /-O/) {$arrow = ">";} else {$arrow = ">>";}
+
+  if ($input !~ /\n/ and -e $input) {
+    print $fh "psxy $input $J $R @others $paper_orient $O -V   $arrow   $out\n";} else {
+    if ($input =~ /^\s*$/) {$input = "";}
+    else {$input = "$input\n";}
+    print $fh "psxy $J $R @others $paper_orient $O -V   <<EOF  $arrow   $out\n${input}EOF\n" or die("Error printing psxy\n");}
+
+}
+
+
+
+
+
+sub plot_psxy_file {
+
+  my($fh,$out,$opt,$input,$mask) = @_;
+  if (@_ != 5) {die("plot_psxy_file filehandle outfile options inputs [mask]\n");}
+  my ($J,$R,$B,$W,$O,$options,$arrow, at options, at others, at masks);
+  @options = split(" ",$opt);
+  if (defined $mask) {
+    (@masks) = split(" ",$mask);
+    if (@masks != 2) {die("psxy handle 2 entries\n");}}
+  $J = "-JM"; $R = "-R";
+  foreach $options (@options) {
+    if ($options =~ /-J/) {$J = $options;}
+    elsif ($options =~ /-R/) {$R = $options;}
+    elsif ($options =~ /-O/ or $options =~ /-K/ ) {$O .= "$options ";}
+    else {push(@others,"$options ");}
+  }
+  if (not defined $O) {$O = "-K -O";}
+  if ($O =~ /-K/ and $O !~ /-O/) {$arrow = ">";} else {$arrow = ">>";}
+
+  if (-f $input) {
+
+    print $fh "awk '{print \$$masks[0],\$$masks[1]}' $input | psxy $J $R @others $paper_orient $O -V   $arrow   $out\n";
+  } else {die("Check $input file is correct or not\n");}
+
+
+}
+
+
+
+
+# pstext
+# necessary: -R -J
+# optional :
+
+sub plot_pstext {
+
+  my ($fh,$out,$opt,$input) = @_;
+  if (@_ != 4) {die("plot_pstext filehandle outfile options inputs\n");}
+  my ($J,$R,$B,$W,$O,$options,$arrow,$dx,$dy, at options, at others, at masks);
+
+  @options = split(" ",$opt);
+  $J = "-JM"; $R = "-R";
+  foreach $options (@options) {
+    if ($options =~ /-J/) {$J = $options;}
+    elsif ($options =~ /-R/) {$R = $options;}
+    elsif ($options =~ /-O/ or $options =~ /-K/ ) {$O .= "$options ";}
+    else {push(@others,"$options ");}
+  }
+  if (not defined $O) {$O = "-K -O";}
+  if ($O =~ /-K/ and $O !~ /-O/) {$arrow = ">";} else {$arrow = ">>";}
+
+  if ($input !~ /\n/ and -e $input) {
+    print $fh "pstext $input $J $R @others $paper_orient $O -V   $arrow   $out\n";
+  }else {
+    print $fh "pstext $J $R @others $paper_orient $O -V   <<EOF  $arrow   $out\n$input \nEOF\n" or die("Error printing pstext\n");}
+
+}
+
+
+sub plot_pstext_file {
+
+  my ($fh,$out,$opt,$input,$mask,$dxdy,$size) = @_;
+  if (@_ != 6 and @_ != 7)
+    {die("plot_pstext_file filehandle outfile options inputs $mask $dxdy $size\n");}
+  my ($J,$R,$B,$W,$O,$options,$arrow,$dx,$dy, at options, at others, at masks);
+
+  @options = split(" ",$opt);
+  if (defined $mask) {
+    (@masks) = split(" ",$mask);
+    if (@masks != 3) {die("psxy handle 3 entries\n");}
+    ($dx,$dy) = split(" ",$dxdy);
+    if (not defined $dx or not defined $dy) {$dx = 0; $dy = 0;}
+    if (not $size) {$size = "10 0 4 BL";}
+  } else {die("Define $mask first\n");}
+
+  $J = "-JM"; $R = "-R";
+  foreach $options (@options) {
+    if ($options =~ /-J/) {$J = $options;}
+    elsif ($options =~ /-R/) {$R = $options;}
+    elsif ($options =~ /-O/ or $options =~ /-K/ ) {$O .= "$options ";}
+    else {push(@others,"$options ");}
+  }
+  if (not defined $O) {$O = "-K -O";}
+  if ($O =~ /-K/ and $O !~ /-O/) {$arrow = ">";} else {$arrow = ">>";}
+
+  if ($input !~ /\n/ and -e $input) {
+    print $fh "awk '{print \$$masks[0]+$dx, \$$masks[1]+$dy, \"$size\", \$$masks[2]}' $input | pstext $J $R @others $paper_orient $O -V   $arrow   $out\n";}
+  else {die("Check $input file is correct or not\n");}
+
+}
+
+# plot grdimage
+# necessary: grdfile intfile
+# optional: intfile
+
+sub plot_grdimage {
+
+  my ($fh,$out,$opt,$grd,$cpt) = @_;
+  if (@_ != 5) {die("plot_grdimage filehandle outfile options grdfile cptfile\n");}
+  my ($J,$R,$W,$O,$options,$arrow, at options, at others);
+  @options = split(" ",$opt);
+  $J = "-JM"; $R = "-R";
+  foreach $options (@options) {
+    if ($options =~ /-J/) {$J = $options;}
+    elsif ($options =~ /-R/) {$R = $options;}
+   elsif ($options =~ /-O/ or $options =~ /-K/ ) {$O .= "$options ";}
+    else {push(@others,"$options ");}
+  }
+  if (not defined $O) {$O = "-K -O";}
+  if ($O =~ /-K/ and $O !~ /-O/) {$arrow = ">";} else {$arrow = ">>";}
+
+  print $fh "grdimage $grd $J $R -C$cpt @others $paper_orient $O -V   $arrow   $out\n"  or die ("Error printing grdimage\n");
+
+}
+
+
+# plot psmeca
+# defaults: -JM -R -L
+# others: -Sa/m -sdx/dy(shift the position to plot beach ball)
+
+sub plot_psmeca{
+
+  my ($fh,$out,$opt, at cmt_files) = @_;
+  if (@_ < 3) {die("plot_psmeca filehandle outfile options [cmtfiles]\n");}
+  my ($J,$R,$S,$O,$L,$options,$arrow,$moment,$mw,$temp_file,$input);
+  my (@options, at others, at M, at sdr);
+  @options = split(" ",$opt);
+  $J = "-JM"; $R = "-R"; $L = "-L2"; my($add_name) = 0;
+  foreach $options (@options) {
+    if ($options =~ /-J/) {$J = $options;}
+    elsif ($options =~ /-R/) {$R = $options;}
+    elsif ($options =~ /-O/ or $options =~ /-K/ ) {$O .= "$options ";}
+    elsif ($options =~ /-L/) {$L = $options;}
+    elsif ($options =~ /-S/) {$S = $options;}
+    elsif ($options =~ /-s/) {
+      $s = $options; $s =~s/-s//;($dx,$dy) = split(/\//,$s);}
+    elsif ($options =~ /-A/) {$add_name = 1;}
+    elsif ($options !~ /^-/) {$input = $options;}
+    else {push(@others,"$options ");}
+  }
+  if (not defined $O) {$O = "-K -O";}
+  if ($O =~ /-K/ and $O !~ /-O/) {$arrow = ">";} else {$arrow = ">>";}
+  if (not $dx or not $dy) {$dx = 0; $dy = 0;}
+
+  if (not defined $input and not @cmt_files)
+    {die("Define either input files or cmtsolution files\n");}
+  if (not defined $S) {die("No -S is defined for psmeca\n");}
+
+  if (not defined $input and @cmt_files) {
+    print $fh "psmeca $J $R $S $L @others $paper_orient $O -V <<EOF $arrow $out \n";
+    foreach $cmt_file (@cmt_files) {
+      (@M[0..5],$elat,$elon,$edep) = get_cmt_short($cmt_file);
+      $elat = $elat + $dy; $elon = $elon + $dx;
+      if ($S =~ /-Sm/ or $S =~/-Sz/) {
+	foreach $M (@M) {$M = $M /10;}
+	print $fh "$elon $elat $edep @M[0..5] 1 0 0  ";
+        if ($add_name) {print $fh " $cmt_file \n";} else {print $fh "\n";}
+      } elsif ($S =~ /-Sa/) {
+	($mw,$elat,$elon,$edep, at sdr[0..2]) = cmt2dc($cmt_file);
+	if ($sdr[2] > 180) {$sdr[2] = $sdr[2] - 360;}
+	print $fh "$elon $elat $edep @sdr[0..2] $mw 1 0 0 ";
+        if ($add_name) {print $fh " $cmt_file \n";} else {print $fh "\n";}
+      } else {die("plot_psmeca could only handle -Sm, -Sz and -Sa options\n");}
+    }
+    print $fh "EOF\n";
+  }else {
+    print $fh "psmeca $J $R $S $L @others $paper_orient $O -V $input $arrow $out \n" or die ("Error printing psmeca\n");}
+
+}
+
+
+# # specify the position of psmeca plots
+sub plot_psmeca_raw{
+
+  my ($fh,$out,$opt,$loc,$cmt_file) = @_;
+  if (@_ != 5) {die("plot_psmeca_raw filehandle outfile options location cmtfile\n");}
+  my ($J,$R,$S,$O,$L,$options,$arrow,$moment,$mw,$temp_file,$input);
+  my (@options, at others, at M, at sdr);
+  @options = split(" ",$opt);
+  $J = "-JM"; $R = "-R"; $L = "-L2";
+  ($xloc,$yloc) = split(" ",$loc);
+  if (not defined $xloc) {$xloc = 0; $yloc = 0;}
+  foreach $options (@options) {
+    if ($options =~ /-J/) {$J = $options;}
+    elsif ($options =~ /-R/) {$R = $options;}
+    elsif ($options =~ /-O/ or $options =~ /-K/ ) {$O .= "$options ";}
+    elsif ($options =~ /-L/) {$L = $options;}
+    elsif ($options =~ /-S/) {$S = $options;}
+    elsif ($options !~ /^-/) {die("no input file needed\n");}
+    else {push(@others,"$options ");}
+  }
+  if (not defined $O) {$O = "-K -O";}
+  if ($O =~ /-K/ and $O !~ /-O/) {$arrow = ">";} else {$arrow = ">>";}
+
+  (@M[0..5],$elat,$elon,$edep) = get_cmt_short($cmt_file);
+  if ($S =~ /-Sm/ or $S =~/-Sz/) {
+    foreach $M (@M) {$M = $M /10;}
+    $tmp =  "$xloc $yloc $edep @M[0..5] 1 0 0  \n";
+  }elsif ($S =~ /-Sa/) {
+    ($mw,$elat,$elon,$edep, at sdr[0..2]) = cmt2dc($cmt_file);
+    if ($sdr[2] > 180) {$sdr[2] = $sdr[2] - 360;}
+    $tmp = "$xloc $yloc $edep @sdr[0..2] $mw 1 0 0\n";
+  } else {die("plot_psmeca could only handle -Sm, -Sz and -Sa options\n");}
+
+
+  print $fh "psmeca $J $R $S $L @others $paper_orient $O -V <<EOF $arrow $out \n${tmp}EOF\n" or die ("Error printing psmeca\n");
+
+}
+
+
+# pssac2
+# default : -JM -R -E -L -M
+# others : -D<dx/dy> -S<shift_trace_by_seconds> -W<pen_attributes> -v(vertical)
+
+sub plot_pssac2 {
+
+  my ($fh,$out,$opt,$files) = @_;
+  if (@_ < 4) {die("plot_pssac2 filehandle outfile options sacfiles\n");}
+  my ($J,$R,$O,$options,$arrow,$E,$L,$M);
+  my(@options, at others);
+
+  @options = split(" ",$opt);
+  $J = "-JM"; $R = "-R"; $E = "-Ekt-3"; $L = "-L100"; $M = "-M1e-5/0";
+  foreach $options (@options) {
+    if ($options =~ /^-J/) {$J = $options;}
+    elsif ($options =~ /^-R/) {$R = $options;}
+    elsif ($options =~ /^-O/ or $options =~ /-K/ ) {$O .= "$options ";}
+    elsif ($options =~ /^-E/) {$E = $options;}
+    elsif ($options =~ /^-L/) {$L = $options;}
+    elsif ($options =~ /^-M/) {$M = $options;}
+    else {push(@others,"$options ");}
+  }
+  if (not defined $O) {$O = "-K -O";}
+  if ($O =~ /-K/ and $O !~ /-O/) {$arrow = ">";} else {$arrow = ">>";}
+  print $fh "pssac2 $J $R $E $L $M @others $paper_orient $O -V $files $arrow  $out\n"
+    or die ("Error printing pssac2\n");
+}
+
+
+# specifying pssac2 by specifying the location of plotted files
+sub plot_pssac2_raw {
+
+  my ($fh,$out,$opt,$file) = @_;
+  if (@_ < 4) {die("plot_pssac2_raw filehandle outfile options sacfiles\n");}
+  my ($J,$R,$O,$options,$arrow,$E,$L,$M);
+  my(@options, at others);
+
+  @options = split(" ",$opt);
+  $J = "-JM"; $R = "-R"; $E = "-Ekt-3"; $L = "-L100"; $M = "-M1e-5/0";
+  foreach $options (@options) {
+    if ($options =~ /-J/) {$J = $options;}
+    elsif ($options =~ /-R/) {$R = $options;}
+    elsif ($options =~ /-O/ or $options =~ /-K/ ) {$O .= "$options ";}
+    elsif ($options =~ /-E/) {$E = $options;}
+    elsif ($options =~ /-L/) {$L = $options;}
+    elsif ($options =~ /-M/) {$M = $options;}
+    else {push(@others,"$options ");}
+  }
+  if (not defined $O) {$O = "-K -O";}
+  if ($O =~ /-K/ and $O !~ /-O/) {$arrow = ">";} else {$arrow = ">>";}
+  if ($file !~ /\s/ and -e $file) {
+    print $fh "pssac2 $J $R $E $L $M @others $paper_orient $O -V < $file $arrow  $out\n"  or die ("Error printing pssac2\n");}
+  else {
+    print $fh "pssac2 $J $R $E $L $M @others $paper_orient $O -V <<EOF $arrow  $out\n$file\nEOF\n"  or die ("Error printing pssac2\n");
+  }
+
+}
+
+## shift the location of -X -Y for subplot
+# ($jx,$jy) = shift_xy("1 1","3 5","7 6",\@xy,"");
+sub shift_xy {
+
+  my($xy,$nxy,$dxy,$rxx,$dxy1) = @_;
+  if (@_ < 4) {die("Check shift_xy(xy,nxy,dxy,rxx,[dxy1])\n");}
+
+  my($x0,$y0,$dx,$dy,$dx1,$dy1,$jx,$jy,$ddx,$ddy,$tmp1,$tmp2);
+  ($x0,$y0) = split(" ",$xy); if (not ($x0 and $y0)) {die("specify -X/Y\n");}
+  ($nx,$ny) = split(" ",$nxy); if (not ($nx and $ny)) {die(" -Nx/Ny\n");}
+  ($dx,$dy) = split(" ",$dxy);
+  if (not ($dx and $dy)) {$dx = 7; $dy = 7; }
+  if (defined $dxy1) {($dx1,$dy1) = split(" ",$dxy1);}
+  if (not ($dx1 and $dy1)) {$dx1 = 1; $dy1 = 1;}
+
+  $jx = $dx/$nx * $dx1; $jy = $dy/$ny * $dy1;
+  $ddx = $dx/$nx; $ddy = $dy/$ny;
+
+  for ($j=0;$j<$ny;$j++) { # rows
+    for ($i=0;$i<$nx;$i++) { # columns
+      $tmp1 = $x0 + $ddx * $i; $tmp2 = $y0 + $ddy * ($ny-1-$j);
+      ${$rxx}[$j][$i] = "$tmp1/$tmp2";
+    }
+  }
+  return($jx,$jy);
+}
+1;

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/GMT_PLOT_SC.pm
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/GMT_PLOT_SC.pm	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/GMT_PLOT_SC.pm	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,192 @@
+package GMT_PLOT_SC;
+
+use warnings;
+use Exporter;
+use lib '/opt/seismo-util/lib/perl';
+use GMT_PLOT;
+use SACLST;
+
+ at ISA = ('Exporter');
+ at EXPORT = ('plot_sc_faults','plot_sc_topo','plot_sc_all','plot_sc_pssac2_map');
+
+# Qinya Liu, Caltech, May 2007
+
+$datalib_dir = "/opt/seismo-util/data/datalib_SC";
+if (not -d $datalib_dir) {die("Check the datalib path\n");}
+
+# plot faults
+sub plot_sc_faults{
+
+  if (@_ != 3) {die("plot_sc_faults filehandle,outfile options");}
+  my($fh,$out,$opt) = @_;
+  my($options, at options,$input);
+  (@options) = split(" ",$opt);
+  foreach $options (@options) {
+    if ($options !~ /-/) {$input = $options;}
+    else {push(@others,"$options");}
+  }
+  if (not $input or not -f $input) {$input = "${datalib_dir}/jennings.xy";}
+  plot_psxy($fh,$out,"@others -M",$input);
+}
+
+
+# plot topo
+sub plot_sc_topo{
+
+  if (@_ != 3) {die("plot_sc_faults filehandle outfile options");}
+  my($fh,$out,$opt) = @_;
+  my($options, at options,$grd,$int,$cpt, at others);
+  (@options) = split(" ",$opt);
+  $grd = "${datalib_dir}/topo_cal.grd";
+  $cpt = "${datalib_dir}/topo_cal_color.cpt";
+  $int = "${datalib_dir}/topo_cal.int";
+  foreach $options (@options) {
+    if ($options !~ /-/)
+      {$grd = $options;  if (not -f $grd) {die("Check $grd file\n");}}
+    if ($options =~ /-I/)
+      {$int = $options; $int =~s/^-.//;
+       if (not -f $int) {die("Check $int file\n");}}
+    if ($options =~ /-C/)
+      {$cpt = $options; $cpt =~s/^-.//;
+       if (not -f $cpt) {die("Check $cpt file\n");}}
+    else {push(@others,"$options");}
+  }
+
+  plot_grdimage($fh,$out,"@others -I$int",$grd,$cpt);
+
+}
+
+
+# plot all
+# -W gives the line attributes of coastline
+# -w gives the line attributes of fault
+# notice for labels,axis,and titles in -B, do not use 'space' or hyphen -,
+# because it confuses the perl splitting and matching
+sub plot_sc_all{
+
+  if (@_ != 4) {die("plot_sc_all filehandle outfile options[JRBOICSW] mask\n");}
+  my($fh,$out,$opt,$mask) = @_;
+  my ($J,$R,$B,$O,$int,$cpt,$grd,$sea_color,$fault_color);
+  my(@options,$options, at others);
+
+  (@masks) = split(" ",$mask);
+  if (@masks == 3) {
+    if ($masks[0]) {$plot_topo = 1;}
+    if ($masks[1]) {$plot_coast = 1;}
+    if ($masks[2]) {$plot_faults = 1;}
+  }else {$plot_topo = 1;$plot_coast = 1;$plot_faults = 1;}
+
+  $J = "-JM6i";
+  $R = "-R-120.3/-114.7/32.2/36.8";
+  $B = "-B2/2";
+  $O = "";
+  $int = "";
+  $cpt = "";
+  $grd = "";
+  $sea_color = "-S255";
+  $coast_color = "-W4";
+  $fault_color = "-W2.5";
+  (@options) = split(" ",$opt);
+  foreach $options (@options) {
+    if ($options =~ /-J/) {$J = $options;}
+    elsif ($options =~ /-R/) {$R = $options;}
+    elsif ($options =~ /-B/) {$B = $options;}
+    elsif ($options =~ /-O/ or $options =~ /-K/ ) {$O .= "$options ";}
+    elsif ($options =~ /-I/) {$int = $options;}
+    elsif ($options =~ /-C/) {$cpt = $options;}
+    elsif ($options =~ /-S/) {$sea_color = $options;}
+    elsif ($options =~ /-W/) {$coast_color = $options;}
+    elsif ($options =~ /-w/) {$options =~s/-w/-W/; $fault_color = $options;}
+    elsif ($options =~ /-g/) {$cpt = "-C/opt/seismo-util/data/datalib_SC/topo_cal_gray.cpt";}
+    elsif ($options =~ /-/)  {push(@others,$options);}
+    elsif ($options !~ /-/)  {$grd = $options;}
+  }
+  plot_psbasemap($fh,$out,"$J $R $B $O @others");
+  if ($plot_topo) {plot_sc_topo($fh,$out,"$int $cpt $grd");}
+  if ($plot_coast) {plot_pscoast($fh,$out,"-Na -Dh $coast_color $sea_color");}
+  if ($plot_faults) {plot_sc_faults($fh,$out,"$fault_color");}
+}
+
+
+# default : -JM -R -Wdata -wsyn 
+# options that has to be set -a[o,p,s,r,l]
+# optional : -Ct1/t2 -C0/100
+# this also checks if data and syn files are matching exactly
+# in number and station location which may result in great difference
+# in the result of plotting. To make sure everything is exact, we
+# will cut syn and plot syn all according to data files instead of the
+# sac headers.
+
+
+sub plot_sc_pssac2_map {
+  my($fh,$out,$opt,$data_files,$syn_files) = @_;
+  my(@options, at data_files, at syn_files,$plot_syn,$J,$R,$O,$Wdata,$Wsyn,$E,$C,$S);
+  my($options,$align,$cut1,$cut2,$cut_by_header,$h1,$h2,$h11);
+  my($input,$stla,$stlo,$kstnm,$kcmpnm,$stla1,$stlo1,$kstnm1,$kcmpnm1);
+  my($i,$data_file,$syn_file, at data_header_values, at syn_header_values);
+  my($arrow, at others);
+
+  (@options) = split(" ",$opt);
+  (@data_files) = split(" ",$data_files);
+  (@syn_files) = split(" ",$syn_files);
+  if (@data_files == 0 and @syn_files == 0) {die("No data or syn files to plot\n");}
+  if (@syn_files > 0) {
+    $plot_syn = 1; if (@data_files != @syn_files)
+      {die("Number of data and syn files need to match exactly\n"); }}
+  else {$plot_syn=0;}
+
+  $J = "-JM"; $R = "-R"; $Wdata = "-W21"; $Wsyn = "-W20/255/0/0"; $E="";$C="";
+  $S = "";
+  foreach $options (@options) {
+    if ($options =~ /-J/) {$J = $options;}
+    elsif ($options =~ /-R/) {$R = $options;}
+    elsif ($options =~ /-O/ or $options =~ /-K/ ) {$O .= "$options ";}
+    elsif ($options =~ /-W/) {$Wdata = $options;}
+    elsif ($options =~ /-w/) {$options =~s/^-w/-W/; $Wsyn = $options;}
+    elsif ($options =~ /-a/) {
+      $align = $options; $align =~s/^-a//;
+      if($align !~/^(o|p|s|r|l|\d*|\d*.\d*)$/) 
+	{die "Align on o,p,s,r,l or number, not: $align \n";}
+      if($align =~/o/){$E = "-Ent-3";}
+      elsif($align =~/p/){$E = "-Ent1";}
+      elsif($align =~/s/){$E = "-Ent2";}
+      elsif($align =~/r/){$E = "-En3.8";}
+      elsif($align =~/l/){$E = "-En4.4";}
+      else{$E = "-En$align";}
+    }elsif ($options =~ /-C/) {$C = $options;}
+    elsif ($options =~ /-l/) {$l = $options;}
+    elsif ($options =~ /-S/) {$S = $options;}
+    elsif ($options =~ /-/) {push(@others,$options);}
+  }
+  if (not defined $O) {$O = "-K -O";}
+  if ($O =~ /-K/ and $O !~ /-O/) {$arrow = ">";} else {$arrow = ">>";}
+
+  $eps = 0.01;
+  @data_header_values = sac_files_get_values
+      ("stlo stla kstnm kcmpnm", at data_files);
+  if ($plot_syn) {@syn_header_values = sac_files_get_values
+		      ("stlo stla kstnm kcmpnm", at syn_files);}
+  for ($i = 0; $i < @data_files; $i ++) {
+    $data_file = $data_files[$i];
+    ($stlo,$stla,$kstnm,$kcmpnm) = split(" ",$data_header_values[$i]);
+    if ($plot_syn) {
+      $syn_file = $syn_files[$i];
+      ($stlo1,$stla1,$kstnm1,$kcmpnm1) = split(" ",$syn_header_values[$i]);
+      if ($kstnm ne $kstnm1 or $kcmpnm ne $kcmpnm1) {die("Check station name and component name: $kstnm,$kcmpnm; $kstnm1,$kcmpnm1\n");}
+      if (abs($stla-$stla1)>$eps or  abs($stlo-$stlo1)>$eps) {
+	print("Check the WRONG station location for : $kstnm,$kcmpnm --- $stlo,$stla; $stlo1,$stla1\n"); return;}
+      if ($stla ne $stla1 or $stlo ne $stlo1) {
+	print "Check difference for $kstnm,$kcmpnm --- $stlo,$stla; $stlo1,$stla1\n";}
+      $input .= "$syn_file $stlo $stla\n";
+    }
+   }
+  plot_pssac2($fh,$out,"$J $R $Wdata $E $C $l @others",$data_files) or die "pssac2 failed";
+
+  if ($plot_syn) {
+    chomp($input);
+    plot_pssac2_raw($fh,$out,"$J $R $Wsyn $E $C $S @others",$input) or die "pssac2 failed";}
+
+}
+
+
+1;

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/Makefile
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/Makefile	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/Makefile	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,72 @@
+# Makefile
+
+#############################################################
+## modify to match your compiler defaults 
+
+F90 = gfortran 
+CC = gcc
+
+# modify to point to your own SAC installation path
+SAC_INC = /usr/local/sac/sac/include
+SAC_LIB = /usr/local/sac/sac/lib
+
+#############################################################
+
+# function library
+F90FLAGS = -O2
+CCFLAGS = -O2
+
+CSRC = rw_ascfile_c
+F90SRC = rw_ascfile_f
+
+F90OBJ_LIB = $(patsubst %,%.o,$(F90SRC))
+COBJ_LIB = $(patsubst %,%.o,$(CSRC))
+OBJ_LIB = $(F90OBJ_LIB) $(COBJ_LIB)
+
+#
+# program asc2sac
+#
+PROG = asc2sac
+
+SRCS = $(PROG).c
+OBJS = ${SRCS:%.c=%.o}
+
+CVS_INCDIR = $(SAC_INC) #formats
+CVS_LIBDIR = $(SAC_LIB) #formats
+
+INCS = -I$(CVS_INCDIR) -DSAC_NULL
+CFLAGS = $(INCS)
+LIBS = -L$(CVS_LIBDIR) -lsac -lsacio -lm #-lformats 
+
+
+all :  $(PROG)
+
+lib : $(OBJ_LIB)
+
+#
+# convolve_stf
+#
+convolve_stf: convolve_stf.c
+	$(CC) $(CFLAGS) -o convolve_stf convolve_stf.c $(LIBS)
+
+#
+# program asc2sac
+#
+$(PROG): $(OBJS)
+	$(CC) $(CFLAGS) -o $(PROG) $(OBJS) $(LIBS)
+
+#
+# library routines
+#
+$(F90OBJ_LIB) : %.o : %.f90
+	$(F90)  $(F90FLAGS) -c $*.f90
+
+$(COBJ_LIB): %.o : %.c
+	$(CC) $(CCFLAGS) -c $*.c 
+
+
+clean: 
+	\rm -f $(OBJS) *~ *.o $(PROG) $(OBJS) *~ core convolve_stf
+
+cleanall:
+	\rm -f $(OBJS)  *.o *~ $(PROG) $(OBJS) *~ core convolve_stf

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/SACLST.pm
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/SACLST.pm	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/SACLST.pm	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,151 @@
+package SACLST;
+
+# SACLST.pl
+use strict;
+use warnings;
+use TrimWhitespace;
+
+# Brian Savage, Caltech
+
+BEGIN {
+    use Exporter();
+    our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
+    $VERSION     = 1.00;
+
+    @ISA         = qw(Exporter);
+    @EXPORT      = qw(&sac_files_get_values &sac_files_prune &sac_files_sort &sac_files_match &sac_files_skip);
+    %EXPORT_TAGS = ( );     # eg: TAG => [ qw!name1 name2! ],
+    @EXPORT_OK   = qw( );
+}
+
+our @EXPORT_OK;
+
+my $saclst      = "/opt/seismo-util/bin/saclst";
+
+# Subroutine: sac_files_get_values
+#      Agruments: keyword - sac heade keyword
+#                 files   - a list of sacfiles
+#      Purpose: to retun a list of values from a list of sacfiles
+#               Multiple values can be obtained at the same time by
+#               using multiple keywords in a single string and they
+#               are then returned as a string in the same order
+sub sac_files_get_values {
+    my($keyword, @files) = @_;
+    my (@values, $line, $name, $value);
+    if($keyword =~ m/^\s*$/) {
+	return();
+    }
+    open(SACLST, "$saclst $keyword f @files|") or die "Error opening saclst";
+    while($line = <SACLST>) {
+	chomp($line);
+	($name, $value) = split(/\s+/, $line, 2);
+	$value =~ s/\s+/ /g;
+	$value = TrimWhitespace($value);
+	push(@values, $value);
+    }
+    close(SACLST);
+    return(@values);
+}
+
+
+# Subroutine: sac_files_prune
+#      Argument: keyword     - a sac header keyword to prune on
+#                small_value - the smallest value desired
+#                large_value - the largest value desired
+#                files       - a list of sacfiles
+#      Purpose: to remove sacfiles outside a range of values
+#      Bugs: Only works on numerical values
+sub sac_files_prune {
+    my($keyword, $small_value, $large_value, @files) = @_;
+    my (@files2, $name, $value, $line);
+    open(SACLST, "$saclst $keyword f @files|") or die "Error opening saclst";
+    while($line = <SACLST>) {
+	($name, $value) = split(/\s+/, $line);
+	if (not defined $value) {die("Check saclst : value of $keyword\n");}
+	if($value > $small_value && $value < $large_value) {
+	    push(@files2, $name);
+	}
+    }
+    close(SACLST);
+    return(@files2);
+}
+
+
+# Subroutine sac_files_sort
+#      Arguments: keyword - a sac header keyword to sort on
+#                 updown  - direction; < 0 is reverse direction
+#                 files   - list of sacfiles
+#      Purpose: to sort a list of sacfile depending on a particular value
+#      Bugs: Onlt works on numerical values
+sub sac_files_sort {
+    my($keyword, $updown, @files) = @_;
+    my (@files2, %values, $line, $name, $value);
+    open(SACLST, "$saclst $keyword f @files|") or die "Error opening saclst";
+    while($line = <SACLST>) {
+	($name, $value) = split(/\s+/, $line);
+	$values{$name} = $value;
+    }
+    close(SACLST);
+    @files2 = sort { $values{$a} <=> $values{$b} } keys %values;
+    if($updown < 0) {
+	@files2 = reverse(@files2);
+    }
+    return(@files2);
+}
+
+# subroutine sac_files_match
+#      Arguments : keywords - a sac header keyword to match
+#                  values - value of the header to match
+#                  files - sac files to match
+#      Purpose : find in the sac files those that match keyword has
+#                the desired value
+#                maybe helpful in taking certain component, station,
+#                network etc. from a large set of sacfiles
+#      Bugs:   Only works on k headers
+
+sub sac_files_match {
+  my($keywords,$values, at files) = @_;
+  my(@keywords) = split(" ",$keywords);
+  my(@values) = split(" ",$values);
+  if ($#keywords != $#values ) {die("The number of keywords does not match that
+  of the values\n");}
+  if (@keywords == 0) {die("No keywords get passed to sub\n");}
+  my(@outfiles) = ();
+  my(@file_values) = ();
+  my($i,$file);
+
+  foreach $file (@files) {
+    (undef, at file_values) = split(" ",`$saclst @keywords f $file`);
+    for ($i = 0;$i<@values; $i++) {
+      if ($values[$i] ne $file_values[$i]) {last;}
+    }
+    if ($i == @values) {push(@outfiles,$file);}
+  }
+  return(@outfiles);
+
+}
+
+# Subroutine sac_files_skip
+#      Arguments: n in    - number (integer) ...
+#                 files - list of sacfiles
+#      Purpose: takes a list of sac file names and 
+#      Returns a list with only every $n-th item
+#      Basically List Reduction
+sub sac_files_skip {
+    my($nn, @files) = @_;
+    my($i, $n,$in, at ret_files);
+    ($n,$in) = split(" ",$nn);
+    if (not $in)  {$in = 0;}
+    if ($in >= $n or $in < 0) {die("only in = 0,n-1\n");}
+    if($n <= 1) {
+	return(@files);
+    }
+    for($i = $in-1; $i < @files; $i += $n) {
+	push(@ret_files, $files[$i]);
+    }
+    return(@ret_files);
+}
+
+END { }
+
+1;

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/SAC_TOOLS.pm
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/SAC_TOOLS.pm	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/SAC_TOOLS.pm	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,102 @@
+package SAC_TOOLS;
+
+use warnings;
+use Exporter;
+use lib '/opt/seismo-util/lib/perl';
+use SACLST;
+
+ at ISA = ('Exporter');
+ at EXPORT = ('write_station_psxy','write_station_pstext',
+	   'match_data_and_syn','copyhdr_data_to_syn');
+
+# Qinya Liu, Caltech, May 2007
+
+sub write_station_psxy{
+  my(@sacfiles) = @_;
+  my(@slat, at slon,$output);
+
+  @slat = sac_files_get_values("stla", at sacfiles);
+  @slon = sac_files_get_values("stlo", at sacfiles);
+
+  $output = "";
+  for ($i=0;$i<@slat;$i++) {
+    $output .= "$slon[$i] $slat[$i]\n";
+  }
+  chomp($output);
+  return($output);
+}
+
+
+sub write_station_pstext{
+  my($options,$dxdy, at sacfiles)=@_;
+  my(@slat, at slon, at stnm,$tlat,$tlon,$dx,$dy);
+
+  @slat = sac_files_get_values("stla", at sacfiles);
+  @slon = sac_files_get_values("stlo", at sacfiles);
+  @stnm = sac_files_get_values("kstnm", at sacfiles);
+
+  if (not $options) {$options = "10 0 4 CB";}
+
+  ($dx,$dy) = split(" ",$dxdy);
+  if (not defined $dx or not defined $dy ) {$dx = 0; $dy = 0;}
+
+  $output = "";
+  for ($i=0;$i<@slat;$i++) {
+    $tlat = $slat[$i] + $dy; $tlon = $slon[$i] + $dx;
+    $output .= "$tlon $tlat $options $stnm[$i]\n";
+  }
+  chomp($output); 
+  return($output);
+}
+
+# @syn_files = match_data_and_syn("syn,","@data_files")
+
+sub match_data_and_syn{
+  my($syn_info,$data_files,$new_syn_info) = @_;
+  my($syn_dir,$syn_suff,$data,$syn,$new_syn, at matched_data, at matched_syn, at matched_new_syn);
+  @matched_data = ();
+  @matched_syn = ();
+  @matched_new_syn = ();
+
+  ($syn_dir,$syn_suff) = split(/\,/,$syn_info);
+  if (not $syn_dir) {$syn_dir = ".";}
+  if ($syn_suff) {$syn_suff = ".$syn_suff";} else {$syn_suff = "";}
+  if ($new_syn_info) {
+       ($new_syn_dir,$new_syn_suff) = split(/\,/,$new_syn_info);
+       if (not $new_syn_dir) {$new_syn_dir = ".";}
+       if ($new_syn_suff) {$new_syn_suff = ".$new_syn_suff";} else {$new_syn_suff = "";}
+   }
+
+  (@data_files) = split(" ",$data_files);
+  foreach $data (@data_files) {
+    my($tmp) = sac_files_get_values("kstnm knetwk kcmpnm",$data);
+    ($sta,$net,$comp) = split (" ",$tmp);
+    $syn = "$syn_dir/$sta.$net.$comp${syn_suff}";
+    if ($new_syn_info) {$new_syn = "$new_syn_dir/$sta.$net.$comp${new_syn_suff}";}
+    if (-f $syn and -f $data) {
+      if ($new_syn_info) { 
+          if (-f $new_syn) {
+            push(@matched_data,$data); push(@matched_syn,$syn); push(@matched_new_syn,$new_syn);}}
+      else {
+            push(@matched_data,$data); push(@matched_syn,$syn);}
+    }
+  }
+  return("@matched_data","@matched_syn","@matched_new_syn");
+}
+
+
+sub copyhdr_data_to_syn{
+
+  my($data_file,$syn_file,$headers) = @_;
+  my(@headers,$header);
+
+  (@headers) = split(" ",$headers);
+  foreach $header (@headers) {
+    if ($header !~ /^t\d+$/) {
+      print "We could only change t? header at this point, not $header\n";
+      return;}}
+  open(SAC_SUB,"|sac2000 > /dev/null");
+  print SAC_SUB "rh $data_file $syn_file\n";
+  print SAC_SUB "copyhdr $headers from 1 \n wh\n";
+  close(SAC_SUB);
+}

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/TrimWhitespace.pm
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/TrimWhitespace.pm	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/TrimWhitespace.pm	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,80 @@
+package TrimWhitespace;
+
+use strict;
+use warnings;
+BEGIN {
+    use Exporter();
+    our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
+    # set the version for version checking
+    $VERSION     = 1.00;
+
+    @ISA         = qw(Exporter);
+#    @EXPORT      = qw(&func1 &func2 &func4);
+    @EXPORT      = qw(&TrimWhitespace);
+    %EXPORT_TAGS = ( );     # eg: TAG => [ qw!name1 name2! ],
+    
+    # your exported package globals go here,
+    # as well as any optionally exported functions
+#    @EXPORT_OK   = qw($Var1 %Hashit &func3);
+    @EXPORT_OK   = qw( );
+}
+
+our @EXPORT_OK;
+
+# exported package globals go here
+#our $Var1;
+#our %Hashit;
+
+# non-exported package globals go here
+#our @more;
+#our $stuff;
+
+# initialize package globals, first exported ones
+#$Var1   = '';
+#%Hashit = ();
+
+
+# then the others (which are still accessible as $Some::Module::stuff)
+#$stuff  = '';
+#@more   = ();
+
+# all file-scoped lexicals must be created before
+# the functions below that use them.
+
+# file-private lexicals go here
+#my $priv_var    = '';
+#my %secret_hash = ();
+
+# here's a file-private function as a closure,
+# callable as &$priv_func;  it cannot be prototyped.
+#my $priv_func = sub {
+#    # stuff goes here.
+#};
+
+# make all your functions, whether exported or not;
+# remember to put something interesting in the {} stubs
+#sub func1      {}    # no prototype
+#sub func2()    {}    # proto'd void
+#sub func3($$)  {}    # proto'd to 2 scalars
+# this one isn't exported, but could be called!
+#sub func4(\%)  {}    # proto'd to 1 hash ref
+
+## YOUR CODE GOES HERE
+
+# Subroutine: TrimWhitespace
+#      Arguments: string value
+#      Purpose:   To remove all leading and trailing whitespace
+#                 from a string
+#      Returns:   The modified string
+sub TrimWhitespace($) {
+    my($z) = @_;
+    # Remove (//) leading (^) and trailing ($) whitespace(\s+)
+    $z =~  s/^\s+|\s+$//go ;
+    return($z);
+}
+
+
+END { }       # module clean-up code here (global destructor)
+
+1;  # don't forget to return a true value from the file
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/asc2sac.c
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/asc2sac.c	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/asc2sac.c	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,131 @@
+/*
+ * asc2sac.c by Eh Tan
+ *
+ * Copyright (C) 2009, California Institute of Technology.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <limits.h>
+#include <errno.h>
+#include "sacio.h"
+#include "config.h"
+
+
+void asc2sac(char *ascfn) {
+    sac_int_t npts, max_npts, nerr, nconv, itmp;
+    float ftmp;
+    char *sacfn;
+    float *time, *data, a, b;
+    FILE *f;
+    
+    sacfn = (char *)malloc(strlen(ascfn) + strlen(".sac") + 1);
+    if (!sacfn) {
+        fprintf(stderr, "Out of memory\n");
+        exit(1);
+    }
+    strcpy(sacfn, ascfn);
+    strcat(sacfn, ".sac");
+
+    /* reading ascii file */
+    f = fopen(ascfn, "r");
+    if(f == NULL) {
+	fprintf(stderr, "Cannot open file '%s' to read\n", ascfn);
+	exit(1);
+    }
+    
+    time = data = 0;
+    max_npts = 0;
+    for (npts = 0; (nconv = fscanf(f, "%f %f\n", &a, &b)) == 2; ++npts) {
+        if (nconv != 2) {
+            fprintf(stderr, "error while reading file '%s'\n", ascfn);
+            exit(1);
+        }
+        if (npts >= max_npts) {
+            max_npts = max_npts ? 2 * max_npts : 1024;
+            time = (float*) realloc(time, max_npts * sizeof(float));
+            data = (float*) realloc(data, max_npts * sizeof(float));
+            if(time == NULL || data == NULL) {
+                fprintf(stderr, "Out of memory\n");
+                exit(1);
+            }
+        }
+        time[npts] = a;
+        data[npts] = b;
+    }
+    if (nconv != EOF || ferror(f)) {
+        fprintf(stderr, "error while reading file '%s' (on or near line %ld)\n", ascfn, (long)npts);
+	exit(1);
+    }
+    fclose(f);
+    /* finished reading ascii file */
+
+    /* write SAC data usng SAC IO library */
+    nerr = 0;
+    newhdr();
+    setnhv("npts", &npts, &nerr, strlen("npts"));
+    itmp = 1;
+    setlhv("leven", &itmp, &nerr, strlen("leven"));
+    ftmp = time[1] - time[0];
+    setfhv("delta", &ftmp, &nerr, strlen("delta"));
+    setfhv("b", &(time[0]), &nerr, strlen("b"));
+    setfhv("e", &(time[npts-1]), &nerr, strlen("e"));
+    setihv("iftype", "itime", &nerr, strlen("iftype"), strlen("itime"));
+    setihv("idep", "idisp", &nerr, strlen("idep"), strlen("idisp"));
+
+    if(nerr) {
+	fprintf(stderr, "error when setting header for '%s'\n", sacfn);
+        exit(1);
+    }
+
+    wsac0(sacfn, time, data, &nerr, strlen(sacfn));
+
+    if(nerr) {
+        fprintf(stderr, "error when writing '%s'\n", sacfn);
+        exit(1);
+    }
+    
+    free(time);
+    free(data);
+    free(sacfn);
+
+    return;
+}
+
+
+int main(int argc, char *argv[]) {
+    int i;
+     
+    if (argc < 2) {
+        fprintf(stderr,
+                "usage: %s FILE...\n"
+                "\n"
+                "    Converts ASCII time series files to SAC binary files.\n"
+                "    Input files must have two columns:  t, f(t).\n"
+                "\n",
+                argv[0]);
+        exit(1);
+    }
+    
+    for (i = 1; i < argc; ++i) {
+        asc2sac(argv[i]);
+    }
+    
+    return 0;
+}

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/config.h
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/config.h	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/config.h	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,4 @@
+// 64-bit
+typedef int sac_int_t;
+// 32-bit
+// typedef long int sac_int_t;

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/convolve_stf.c
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/convolve_stf.c	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/convolve_stf.c	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,272 @@
+/*
+ * convolve_stf.c by Qinya Liu, Eh Tan
+ *
+ * Copyright (C) 2003-2009, California Institute of Technology.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <math.h>
+#include "sacio.h"
+#include "config.h"
+
+double const Pi= M_PI; // or: = 4*atan(1);
+
+/* defined in libsac */
+void fft(float *xreal, float *ximag, sac_int_t n, sac_int_t idir);
+
+
+static void fzero(float *dst, sac_int_t n) {
+    while (n)
+        dst[--n] = 0.0;
+}
+
+static void fcpy(float *dst, const float *src, sac_int_t n) {
+    while (n) {
+        --n;
+        dst[n] = src[n];
+    }
+}
+
+void convolve(float **pconv, sac_int_t *pnconv,
+              const float *data, sac_int_t ndata,
+              const float *stf,  sac_int_t nstf)
+{
+    sac_int_t nconv, ncorr, i;
+    struct { float *xreal, *ximag; } cdata, cstf, ccorr;
+    float *conv, *buffer;
+    
+    nconv = ndata + nstf - 1;
+    conv = (float *)malloc(nconv * sizeof(float));
+    
+    for (ncorr = 2; ncorr < nconv; ncorr *= 2)
+        ;
+    
+    buffer = (float *)malloc(2 * 3 * ncorr * sizeof(float));
+    cdata.xreal = buffer + 0 * ncorr;
+    cdata.ximag = buffer + 1 * ncorr;
+    cstf.xreal  = buffer + 2 * ncorr;
+    cstf.ximag  = buffer + 3 * ncorr;
+    ccorr.xreal = buffer + 4 * ncorr;
+    ccorr.ximag = buffer + 5 * ncorr;
+    
+    fcpy(cdata.xreal, data, ndata);
+    fzero(cdata.xreal + ndata, ncorr - ndata);
+    fzero(cdata.ximag, ncorr);
+    
+    fcpy(cstf.xreal, stf, nstf);
+    fzero(cstf.xreal + nstf, ncorr - nstf);
+    fzero(cstf.ximag, ncorr);
+    
+    fft(cdata.xreal, cdata.ximag, ncorr, 1);
+    fft(cstf.xreal, cstf.ximag, ncorr, 1);
+    
+    for (i = 0; i < ncorr; ++i) {
+        /* ccorr[i] = cdata[i] * cstf[i] */
+        ccorr.xreal[i] = cdata.xreal[i] * cstf.xreal[i] - cdata.ximag[i] * cstf.ximag[i];
+        ccorr.ximag[i] = cdata.xreal[i] * cstf.ximag[i] + cdata.ximag[i] * cstf.xreal[i];
+    }
+    
+    fft(ccorr.xreal, ccorr.ximag, ncorr, -1);
+    for (i = 0; i < nconv; ++i) {
+        conv[i] = ccorr.xreal[i] * ncorr;
+    }
+    
+    free(buffer);
+    
+    *pconv = conv;
+    *pnconv = nconv;
+    
+    return;
+}
+
+
+int
+main(int argc, char *argv[])
+{
+    char cstf, *endpt;
+    float hdur, *data;
+    int j;
+    sac_int_t datasize;
+    const int min_nhdur = 10;
+
+    if(argc < 4) {
+        fprintf(stderr,
+                "Usage: %s g[|t] HDUR FILE...\n"
+                "  This program convolves SAC files with a gaussian(|triangle)\n"
+                "  source time function of given half duration\n",
+                argv[0]);
+        return 1;
+    }
+
+    if(strcmp(argv[1], "t") != 0  && strcmp(argv[1], "g") != 0) {
+        fprintf(stderr,"The source time function type could only be triangle(t) or gaussian(g) \n");
+        return 1;
+    }
+    cstf = argv[1][0];
+
+    errno = 0;
+    hdur = (float)strtod(argv[2], &endpt);
+    if(errno || endpt == argv[2] || *endpt != 0) {
+        fprintf(stderr,"No floating point number can be formed from %s\n",argv[2]);
+        return 1;
+    }
+
+
+    /* loop over input sac files */
+    datasize = 0;
+    data = NULL;
+    for (j=3; j<argc; j++) {
+        sac_int_t max, npts, nlen, nerr;
+        float beg, del, dt, origin, tmp[1];
+        sac_int_t nstf, nconv, i;
+        float hstf, *stf, *conv;
+        char *outf;
+
+
+        fprintf(stderr, "convolving sac file %s with half duration %7.3f\n",
+                argv[j], hdur);
+
+        if((outf = (char *) malloc(strlen(argv[j]) + strlen(".conv") + 1)) == NULL) {
+            fprintf(stderr,"Out of memory\n");
+            return 1;
+        }
+        strcpy(outf, argv[j]);
+        strcat(outf, ".conv");
+
+        /* read header to get the length of time series */
+        max = 1;
+        rsac1(argv[j], tmp, &nlen, &beg, &del, &max, &nerr, strlen(argv[j]));
+        if(nerr != -803) {
+            fprintf(stderr,"Error reading sac file %s\n",argv[j]);
+            return 1;
+        }
+
+        getnhv("npts", &npts, &nerr, strlen("npts"));
+
+        /* now we know how much memory we need to allocate */
+        if(npts > datasize) {
+            data = (float*)realloc(data, npts * sizeof(float));
+            if(data == NULL) {
+                fprintf(stderr, "out of memory\n");
+                return 1;
+            }
+            datasize = npts;
+        }
+
+        /* read the data */
+        max = npts;
+        rsac1(argv[j], data, &nlen, &beg, &del, &max, &nerr, strlen(argv[j]));
+        if(nerr) {
+            fprintf(stderr,"Error reading sac file %s\n",argv[j]);
+            return 1;
+        }
+
+        /* get additional info */
+        getfhv("delta", &dt, &nerr, strlen("delta"));
+
+        getfhv("o", &origin, &nerr, strlen("o"));
+        if(nerr) {
+            /* Assuming origin time is 0, per convention of SPECFEM */
+	    fprintf(stderr, " Ignoring the error, assuming origin time is 0\n");
+            origin = 0.0;
+            setfhv("o", &origin, &nerr, strlen("o"));
+        }
+
+
+
+        /* creat source time function time series */
+        if(min_nhdur * dt / 2 > hdur) {
+            fprintf(stderr,"The half duration %f is too small \n", hdur);
+            return 1;
+        }
+
+        nstf = (int)ceil(6 * hdur/dt)+1;
+        hstf = (nstf-1)*dt/2;
+
+        if((stf = (float *) malloc(nstf*sizeof(float))) == NULL) {
+            fprintf(stderr,"Error in allocating memory for source time function\n");
+            return 1;
+        }
+        if(cstf == 't') {
+            /* triangular */
+            const float decay_rate = 1.628;
+            hdur = hdur/decay_rate;
+
+//            for (i=0; i<nstf/2; i++)
+//                stf[i] = i * dt / (hstf * hstf);
+//           for (i=nstf/2; i<nstf; i++)
+//                stf[i] = (2 * hstf - i * dt)/ (hstf*hstf);
+        }
+        printf("convolved by a gaussian function with hdur %f\n",hdur);
+
+        float alpha = 1. / hdur;
+        float divisor = sqrt(Pi);
+        for (i=0; i<nstf; i++) {
+           float tao_i = fabs(i*dt - hstf);
+           stf[i] = alpha * exp(- alpha*alpha* tao_i*tao_i) / divisor;
+        }
+
+        /* creat convolution time series */
+        convolve(&conv,&nconv,data,npts,stf,nstf);
+        for(i=0; i<nconv; i++)
+            conv[i] *= dt;
+
+
+        /* update sac file header */
+        {
+            int n;
+            float bnew, enew, aminm, amaxm, amean;
+
+            bnew = origin - hstf + beg;
+            enew = bnew + del * nconv;
+
+            aminm = amaxm = conv[0];
+            amean = 0;
+            for(n=0; n<nconv; n++) {
+                aminm = (aminm < conv[n]) ? aminm : conv[n];
+                amaxm = (amaxm > conv[n]) ? amaxm : conv[n];
+                amean += conv[n];
+            }
+            amean /= nconv;
+
+            setfhv("b", &bnew, &nerr, strlen("b"));
+            setfhv("e", &enew, &nerr, strlen("e"));
+            setnhv("npts", &nconv, &nerr, strlen("npts"));
+            setfhv("depmin", &aminm, &nerr, strlen("depmin"));
+            setfhv("depmax", &amaxm, &nerr, strlen("depmax"));
+            setfhv("depmen", &amean, &nerr, strlen("depmen"));
+        }
+
+        /* output to .conv sac file */
+        wsac0(outf, data, conv, &nerr, strlen(outf));
+
+        if(nerr) {
+            fprintf(stderr, "Not able to write to file %s\n", argv[j]);
+            return 1;
+        }
+
+        free(conv);
+        free(stf);
+        free(outf);
+    }
+
+    return 0;
+}

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/drw_ascfile.h
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/drw_ascfile.h	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/drw_ascfile.h	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,29 @@
+#ifndef _drw_ascfile_h
+#define _drw_ascfile_h
+
+void dread_ascfile(const char *ascfile,
+                   double *t0, double *dt, int *n,
+                   double *data);
+void dwrite_ascfile(const char *ascfile,
+                    double t0, double dt, int n,
+                    const double *data);
+
+void dread_ascfile_c(const char *ascfile,
+                   double *t0, double *dt, int *n,
+                   double *data);
+void dwrite_ascfile_c(const char *ascfile,
+                    const double *t0, const double *dt, const int *n,
+                    const double *data);
+
+void DREAD_ASCFILE_C(const char *ascfile,
+                   double *t0, double *dt, int *n,
+                   double *data);
+void DWRITE_ASCFILE_C(const char *ascfile,
+                    const double *t0, const double *dt, const int *n,
+                    const double *data);
+
+
+
+
+
+#endif

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/rw_ascfile_c.c
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/rw_ascfile_c.c	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/rw_ascfile_c.c	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,61 @@
+#include <stdio.h>
+#include <stdlib.h>
+//#include "drw_ascfile.h"
+// Qinya Liu, Caltech, May 2007
+
+
+void dread_ascfile_c_(const char *ascfile,
+		   double *t0, double *dt, int *n,
+		   double *data) 
+
+{
+  FILE *fd;
+  double junk,junk1;
+  int i;
+
+  if ((fd = fopen(ascfile,"r")) == NULL) {
+    printf(" file %s cannot be opened\n",ascfile);
+    exit(1);
+  }
+  i = 0;
+  while ( fscanf(fd,"%lf  %lf\n",&junk, data+i) != EOF ) {
+    if (i == 0) junk1 = junk;
+    if (i == 1) *dt = junk - junk1;
+    i++;
+  }
+  *t0 = junk1;
+  *n = i;
+  if (fclose(fd) != 0) {
+    printf(" file %s cannot be closed\n",ascfile);
+    exit(1);
+  }
+
+}
+
+void dwrite_ascfile_c_(const char *ascfile,
+		    double *t0, double *dt, int *n,
+		    const double *data) 
+
+{
+  FILE *fd;
+  int i;
+  double tmp,tmp0;
+  
+  //printf("t0: %f ,dt: %f ,n: %i \n",*t0,*dt,*n);
+  
+  if ((fd = fopen(ascfile,"w")) == NULL) {
+    printf(" file %s cannot be opened to write\n",ascfile);
+    exit(1);
+  }
+  i = 0;
+  tmp = *dt;
+  tmp0 = *t0;
+  for (i=0; i< *n; i++) {  
+    fprintf(fd,"%14.7g %18.7g\n", tmp0+i*tmp, data[i]);
+  }
+  if (fclose(fd) != 0) {
+    printf("file %s cannot be closed\n",ascfile);
+    exit(1);
+  }
+
+}

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/rw_ascfile_f.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/rw_ascfile_f.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/rw_ascfile_f.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,29 @@
+
+
+! these functions can be used directly in fortran
+
+subroutine dread_ascfile_f(name,t0,dt,n,data)
+
+  implicit none
+
+  character(len=*) :: name
+  real*8 :: t0, dt, data(*)
+  integer :: n
+
+  call dread_ascfile_c(trim(name)//char(0), t0, dt, n, data)
+
+end subroutine dread_ascfile_f
+
+
+subroutine dwrite_ascfile_f(name,t0,dt,n,data)
+
+  implicit none
+
+  character(len=*) :: name
+  real*8 :: t0, dt, data(*)
+  integer :: n
+
+  call dwrite_ascfile_c(trim(name)//char(0), t0, dt, n, data)
+
+end subroutine dwrite_ascfile_f
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/rw_fortran_wrapper.c
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/rw_fortran_wrapper.c	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/lib/rw_fortran_wrapper.c	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,33 @@
+#include "drw_ascfile.h"
+
+void dread_ascfile_c(const char *name, double *t0, double *dt, int * n, double *data) {
+  
+  dread_ascfile(name,t0,dt,n,data);}
+
+void DREAD_ASCFILE_C(const char *name, double *t0, double *dt, int * n, double *data) {
+  
+  dread_ascfile(name,t0,dt,n,data);}
+
+void dread_ascfile_c_(const char *name, double *t0, double *dt, int * n, double *data) {
+  
+  dread_ascfile(name,t0,dt,n,data);}
+
+void DREAD_ASCFILE_C_(const char *name, double *t0, double *dt, int * n, double *data) {
+  
+  dread_ascfile(name,t0,dt,n,data);}
+
+void dwrite_ascfile_c(const char *name, const double *t0, const double *dt, const int *n, const double *data) {
+  
+  dwrite_ascfile(name,*t0,*dt,*n,data);}
+
+void DWRITE_ASCFILE_C(const char *name, const double *t0, const double *dt, const int *n, const double *data) {
+  
+  dwrite_ascfile(name,*t0,*dt,*n,data);}
+
+void dwrite_ascfile_c_(const char *name, const double *t0, const double *dt, const int *n, const double *data) {
+  
+  dwrite_ascfile(name,*t0,*dt,*n,data);}
+
+void DWRITE_ASCFILE_C_(const char *name, const double *t0, const double *dt, const int *n, const double *data) {
+  
+  dwrite_ascfile(name,*t0,*dt,*n,data);}

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/models_1066a_ak135/1066a.dat
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/models_1066a_ak135/1066a.dat	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/models_1066a_ak135/1066a.dat	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,160 @@
+      0. 13429.03 11338.30  3629.80 156900.0   3138.0 
+  38400. 13425.63 11337.40  3629.70 156900.0   3138.0 
+  76810. 13419.13 11334.70  3629.40 156900.0   3138.0 
+ 115210. 13413.53 11330.10  3628.80 156900.0   3138.0 
+ 153610. 13407.23 11323.70  3628.10 156900.0   3138.0 
+ 192020. 13400.32 11315.50  3627.10 156900.0   3138.0 
+ 230420. 13392.92 11305.60  3625.90 156900.0   3138.0 
+ 268820. 13384.71 11294.00  3624.40 156900.0   3138.0 
+ 307220. 13375.40 11281.00  3622.80 156900.0   3138.0 
+ 345630. 13364.90 11266.60  3620.90 156900.0   3138.0 
+ 384030. 13352.79 11251.20  3618.70 156900.0   3138.0 
+ 422430. 13338.98 11234.90  3616.30 156900.0   3138.0 
+ 460840. 13323.87 11218.10  3613.70 156900.0   3138.0 
+ 499240. 13307.85 11201.00  3610.80 156900.0   3138.0 
+ 537640. 13291.44 11184.00  3607.60 156900.0   3138.0 
+ 576050. 13275.03 11167.20  3604.20 156900.0   3138.0 
+ 614450. 13258.91 11150.80  3600.40 156900.0   3138.0 
+ 652850. 13243.10 11135.10  3596.50 156900.0   3138.0 
+ 691260. 13227.58 11120.10  3592.20 156900.0   3138.0 
+ 729660. 13212.36 11105.90  3587.60 156900.0   3138.0 
+ 768060. 13197.25 11092.40  3582.80 156900.0   3138.0 
+ 806460. 13182.33 11079.80  3577.70 156900.0   3138.0 
+ 844870. 13167.51 11067.80  3572.40 156900.0   3138.0 
+ 883270. 13152.78 11056.40  3566.80 156900.0   3138.0 
+ 921670. 13138.26 11045.50  3561.00 156900.0   3138.0 
+ 960080. 13123.94 11035.00  3555.10 156900.0   3138.0 
+ 998480. 13109.52 11024.80  3549.00 156900.0   3138.0 
+1036880. 13095.39 11014.90  3542.80 156900.0   3138.0 
+1075290. 13081.16 11005.10  3536.50 156900.0   3138.0 
+1113690. 13067.04 10995.30  3530.10 156900.0   3138.0 
+1152090. 13052.51 10985.70  3523.80 156900.0   3138.0 
+1190500. 13038.58 10975.60  3517.20 156900.0   3138.0 
+1229480. 13028.75 10968.70  3511.80 156900.0   3138.0 
+1229480. 12160.65 10414.00     0.00      0.0      0.0 
+1299360. 12116.99 10351.80     0.00      0.0      0.0 
+1369820. 12074.83 10292.20     0.00      0.0      0.0 
+1440280. 12033.07 10235.10     0.00      0.0      0.0 
+1510740. 11991.60 10180.80     0.00      0.0      0.0 
+1581190. 11950.73 10129.70     0.00      0.0      0.0 
+1651650. 11910.46 10078.80     0.00      0.0      0.0 
+1722110. 11869.38 10028.40     0.00      0.0      0.0 
+1792570. 11824.81  9978.80     0.00      0.0      0.0 
+1863030. 11775.32  9930.70     0.00      0.0      0.0 
+1933490. 11722.04  9883.60     0.00      0.0      0.0 
+2003950. 11666.55  9835.30     0.00      0.0      0.0 
+2074410. 11608.56  9782.50     0.00      0.0      0.0 
+2144870. 11546.96  9721.10     0.00      0.0      0.0 
+2215330. 11480.96  9652.10     0.00      0.0      0.0 
+2285790. 11411.66  9580.60     0.00      0.0      0.0 
+2356240. 11341.16  9511.50     0.00      0.0      0.0 
+2426700. 11270.55  9446.50     0.00      0.0      0.0 
+2497160. 11198.24  9382.80     0.00      0.0      0.0 
+2567620. 11121.42  9316.60     0.00      0.0      0.0 
+2638080. 11038.41  9244.20     0.00      0.0      0.0 
+2708540. 10951.19  9165.80     0.00      0.0      0.0 
+2779000. 10863.16  9083.30     0.00      0.0      0.0 
+2849460. 10777.03  8998.70     0.00      0.0      0.0 
+2919920. 10692.50  8911.60     0.00      0.0      0.0 
+2990380. 10607.67  8820.10     0.00      0.0      0.0 
+3060840. 10520.73  8722.30     0.00      0.0      0.0 
+3131300. 10431.20  8617.10     0.00      0.0      0.0 
+3201750. 10337.75  8503.00     0.00      0.0      0.0 
+3272210. 10239.61  8380.70     0.00      0.0      0.0 
+3342670. 10137.86  8255.60     0.00      0.0      0.0 
+3413130. 10032.30  8131.80     0.00      0.0      0.0 
+3484300.  9917.45  8011.20     0.00      0.0      0.0 
+3484300.  5532.05 13717.20  7249.80  16600.0    332.0 
+3518220.  5521.47 13713.40  7237.60  16600.0    332.0 
+3552850.  5509.59 13708.90  7223.90  16600.0    332.0 
+3587490.  5498.21 13680.60  7210.00  16600.0    332.0 
+3622120.  5486.73 13651.70  7196.40  16600.0    332.0 
+3656750.  5474.95 13625.10  7183.00  16600.0    332.0 
+3691380.  5462.97 13591.60  7169.90  16600.0    332.0 
+3726010.  5450.49 13556.40  7157.10  16600.0    332.0 
+3760640.  5437.41 13516.50  7144.50  16600.0    332.0 
+3795270.  5423.82 13472.50  7132.00  16600.0    332.0 
+3829910.  5409.34 13424.80  7119.60  16600.0    332.0 
+3864540.  5393.75 13374.20  7107.40  16600.0    332.0 
+3899170.  5377.17 13321.60  7095.30  16600.0    332.0 
+3933800.  5359.58 13267.90  7083.20  16600.0    332.0 
+3968430.  5340.79 13214.20  7071.20  16600.0    332.0 
+4003060.  5321.00 13161.90  7059.20  16600.0    332.0 
+4037690.  5300.31 13111.40  7047.10  16600.0    332.0 
+4072330.  5279.02 13063.10  7034.70  16600.0    332.0 
+4106960.  5257.33 13017.40  7021.90  16600.0    332.0 
+4141590.  5235.54 12974.50  7008.60  16600.0    332.0 
+4176220.  5213.75 12934.60  6994.70  16600.0    332.0 
+4210850.  5191.96 12897.70  6980.30  16600.0    332.0 
+4245480.  5170.56 12863.50  6965.10  16600.0    332.0 
+4280110.  5149.37 12831.80  6949.30  16600.0    332.0 
+4314740.  5128.27 12802.20  6932.90  16600.0    332.0 
+4349380.  5107.58 12773.90  6916.20  16600.0    332.0 
+4384010.  5087.28 12746.30  6899.10  16600.0    332.0 
+4418640.  5067.38 12718.60  6882.00  16600.0    332.0 
+4453270.  5047.69 12690.30  6865.20  16600.0    332.0 
+4487900.  5028.09 12661.00  6849.00  16600.0    332.0 
+4522530.  5008.69 12630.20  6833.40  16600.0    332.0 
+4557160.  4989.29 12597.80  6818.20  16600.0    332.0 
+4591800.  4969.68 12563.70  6803.60  16600.0    332.0 
+4626430.  4950.08 12527.60  6789.10  16600.0    332.0 
+4661060.  4930.48 12489.30  6774.40  16600.0    332.0 
+4695690.  4911.28 12448.50  6758.90  16600.0    332.0 
+4730320.  4892.57 12405.20  6742.70  16600.0    332.0 
+4764950.  4874.47 12359.20  6725.50  16600.0    332.0 
+4799580.  4857.16 12310.50  6707.30  16600.0    332.0 
+4834220.  4840.95 12259.60  6688.10  16600.0    332.0 
+4868850.  4825.54 12207.20  6668.40  16600.0    332.0 
+4903480.  4810.84 12153.80  6648.50  16600.0    332.0 
+4938110.  4796.83 12099.80  6628.80  16600.0    332.0 
+4972740.  4783.12 12045.80  6609.50  16600.0    332.0 
+5007370.  4769.51 11992.00  6591.10  16600.0    332.0 
+5042000.  4755.30 11937.30  6573.10  16600.0    332.0 
+5076640.  4740.08 11880.40  6554.80  16600.0    332.0 
+5111270.  4723.17 11820.00  6535.10  16600.0    332.0 
+5145900.  4704.26 11755.40  6513.30  16600.0    332.0 
+5180530.  4682.64 11684.40  6488.10  16600.0    332.0 
+5215160.  4658.63 11607.90  6459.40  16600.0    332.0 
+5249790.  4633.51 11530.80  6428.60  16600.0    332.0 
+5284420.  4608.59 11457.90  6397.60  16600.0    332.0 
+5319060.  4585.38 11393.50  6368.40  16600.0    332.0 
+5353690.  4565.36 11341.80  6342.80  16600.0    332.0 
+5388320.  4550.44 11308.50  6323.50  16600.0    332.0 
+5422950.  4540.72 11293.80  6311.40  16600.0    332.0 
+5457580.  4534.80 11291.50  6304.10  16600.0    332.0 
+5492210.  4534.78 11304.90  6305.20  16600.0    332.0 
+5526840.  4532.75 11312.30  6302.10  16600.0    332.0 
+5561470.  4508.93 11264.30  6264.30  16600.0    332.0 
+5596110.  4465.41 11163.50  6194.70  16600.0    332.0 
+5630740.  4400.98 11006.30  6091.20  16600.0    332.0 
+5665370.  4316.86 10795.90  5955.50  16600.0    332.0 
+5700000.  4205.53 10514.30  5775.50  16600.0    332.0 
+5700000.  4205.53 10514.30  5775.50  13840.0    276.8 
+5731250.  4102.72 10251.30  5608.30  13840.0    276.8 
+5762500.  4022.50 10040.20  5475.20  13840.0    276.8 
+5793750.  3957.89  9864.80  5365.30  13840.0    276.8 
+5825000.  3899.97  9708.60  5266.50  13840.0    276.8 
+5856250.  3846.75  9568.10  5176.20  13840.0    276.8 
+5887500.  3801.44  9451.20  5099.60  13840.0    276.8 
+5918750.  3760.72  9351.00  5032.20  13840.0    276.8 
+5950000.  3708.40  9228.30  4948.80  13840.0    276.8 
+5950000.  3708.40  9228.30  4948.80   5893.0    117.9 
+5975630.  3653.70  9108.70  4866.70   5893.0    117.9 
+6001250.  3596.40  8982.30  4780.60   5893.0    117.9 
+6026880.  3547.31  8859.20  4699.50   5893.0    117.9 
+6052500.  3505.11  8738.60  4621.10   5893.0    117.9 
+6078130.  3468.61  8619.30  4547.90   5893.0    117.9 
+6103750.  3438.51  8501.80  4488.20   5893.0    117.9 
+6129380.  3414.71  8387.10  4442.10   5893.0    117.9 
+6155000.  3397.51  8273.60  4408.40   5893.0    117.9 
+6180630.  3388.20  8158.50  4387.40   5893.0    117.9 
+6206250.  3382.00  8054.00  4379.50   5893.0    117.9 
+6231880.  3374.50  7965.20  4390.40   5893.0    117.9 
+6257500.  3367.10  7873.40  4433.10   5893.0    117.9 
+6283130.  3359.80  7797.20  4483.00   5893.0    117.9 
+6308750.  3352.59  7739.10  4538.90   5893.0    117.9 
+6334380.  3345.49  7713.40  4604.00   5893.0    117.9 
+6360000.  3338.28  7704.60  4648.70   5893.0    117.9 
+6360000.  2177.98  4702.20  2580.60   5893.0    117.9 
+6365500.  2177.66  4700.10  2581.40   5893.0    117.9 
+6371000.  2177.34  4697.90  2582.20   5893.0    117.9 

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/models_1066a_ak135/ak135.dat
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/models_1066a_ak135/ak135.dat	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/models_1066a_ak135/ak135.dat	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,136 @@
+      0.0     2.720     5.800     3.460    1368.02    599.99
+     20.0     2.720     5.800     3.460    1368.02    599.99
+     20.0     2.920     6.500     3.850     972.77    403.93
+     35.0     2.920     6.500     3.850     972.77    403.93
+     35.0     3.320     8.040     4.480     182.03     75.60
+     77.5     3.345     8.0450    4.4900    182.03     75.60
+    120.00    3.4268    8.0505    4.5000    182.57     76.06
+    165.00    3.3711    8.1750    4.5090    188.72     76.55
+    210.00    3.3243    8.3007    4.5184    200.97     79.40
+    210.00    3.3243    8.3007    4.5184    338.47    133.72
+    260.00    3.3663    8.4822    4.6094    346.37    136.38
+    310.00    3.4110    8.6650    4.6964    355.85    139.38
+    360.00    3.4577    8.8476    4.7832    366.34    142.76
+    410.00    3.5068    9.0302    4.8702    377.93    146.57
+    410.00    3.9317    9.3601    5.0806    413.66    162.50
+    460.00    3.9273    9.5280    5.1864    417.32    164.87
+    510.00    3.9233    9.6962    5.2922    419.94    166.80
+    560.00    3.9218    9.8640    5.3989    422.55    168.78
+    610.00    3.9206   10.0320    5.5047    425.51    170.82
+    660.00    3.9201   10.2000    5.6104    428.69    172.93
+    660.00    4.2387   10.7909    5.9607   1350.54    549.45
+    710.00    4.2986   10.9222    6.0898   1311.17    543.48
+    760.00    4.3565   11.0553    6.2100   1277.93    537.63
+    809.50    4.4118   11.1355    6.2424   1269.44    531.91
+    859.00    4.4650   11.2228    6.2799   1260.68    526.32
+    908.50    4.5162   11.3068    6.3164   1251.69    520.83
+    958.00    4.5654   11.3897    6.3519   1243.02    515.46
+   1007.50    4.5926   11.4704    6.3860   1234.54    510.20
+   1057.00    4.6198   11.5493    6.4182   1226.52    505.05
+   1106.50    4.6467   11.6265    6.4514   1217.91    500.00
+   1156.00    4.6735   11.7020    6.4822   1210.02    495.05
+   1205.50    4.7001   11.7768    6.5131   1202.04    490.20
+   1255.00    4.7266   11.8491    6.5431   1193.99    485.44
+   1304.50    4.7528   11.9208    6.5728   1186.06    480.77
+   1354.00    4.7790   11.9891    6.6009   1178.19    476.19
+   1403.50    4.8050   12.0571    6.6285   1170.53    471.70
+   1453.00    4.8307   12.1247    6.6554   1163.16    467.29
+   1502.50    4.8562   12.1912    6.6813   1156.04    462.96
+   1552.00    4.8817   12.2558    6.7070   1148.76    458.72
+   1601.50    4.9069   12.3181    6.7323   1141.32    454.55
+   1651.00    4.9321   12.3813    6.7579   1134.01    450.45
+   1700.50    4.9570   12.4427    6.7820   1127.02    446.43
+   1750.00    4.9817   12.5030    6.8056   1120.09    442.48
+   1799.50    5.0062   12.5638    6.8289   1108.58    436.68
+   1849.00    5.0306   12.6226    6.8517   1097.16    431.03
+   1898.50    5.0548   12.6807    6.8743   1085.97    425.53
+   1948.00    5.0789   12.7384    6.8972   1070.38    418.41
+   1997.50    5.1027   12.7956    6.9194   1064.23    414.94
+   2047.00    5.1264   12.8524    6.9416   1058.03    411.52
+   2096.50    5.1499   12.9093    6.9625   1048.09    406.50
+   2146.00    5.1732   12.9663    6.9852   1042.07    403.23
+   2195.50    5.1963   13.0226    7.0069   1032.14    398.41
+   2245.00    5.2192   13.0786    7.0286   1018.38    392.16
+   2294.50    5.2420   13.1337    7.0504   1008.79    387.60
+   2344.00    5.2646   13.1895    7.0722    999.44    383.14
+   2393.50    5.2870   13.2465    7.0932    990.77    378.79
+   2443.00    5.3092   13.3017    7.1144    985.63    375.94
+   2492.50    5.3313   13.3584    7.1368    976.81    371.75
+   2542.00    5.3531   13.4156    7.1584    968.46    367.65
+   2591.50    5.3748   13.4741    7.1804    960.36    363.64
+   2640.00    5.3962   13.5311    7.2031    952.00    359.71
+   2690.00    5.4176   13.5899    7.2253    940.88    354.61
+   2740.00    5.4387   13.6498    7.2485    933.21    350.88
+   2740.00    5.6934   13.6498    7.2485    722.73    271.74
+   2789.67    5.7196   13.6533    7.2593    726.87    273.97
+   2839.33    5.7458   13.6570    7.2700    725.11    273.97
+   2891.50    5.7721   13.6601    7.2817    723.12    273.97
+   2891.50    9.9145    8.0000    0.0000  57822.00      0.00
+   2939.33    9.9942    8.0382    0.0000  57822.00      0.00
+   2989.66   10.0722    8.1283    0.0000  57822.00      0.00
+   3039.99   10.1485    8.2213    0.0000  57822.00      0.00
+   3090.32   10.2233    8.3122    0.0000  57822.00      0.00
+   3140.66   10.2964    8.4001    0.0000  57822.00      0.00
+   3190.99   10.3679    8.4861    0.0000  57822.00      0.00
+   3241.32   10.4378    8.5692    0.0000  57822.00      0.00
+   3291.65   10.5062    8.6496    0.0000  57822.00      0.00
+   3341.98   10.5731    8.7283    0.0000  57822.00      0.00
+   3392.31   10.6385    8.8036    0.0000  57822.00      0.00
+   3442.64   10.7023    8.8761    0.0000  57822.00      0.00
+   3492.97   10.7647    8.9461    0.0000  57822.00      0.00
+   3543.30   10.8257    9.0138    0.0000  57822.00      0.00
+   3593.64   10.8852    9.0792    0.0000  57822.00      0.00
+   3643.97   10.9434    9.1426    0.0000  57822.00      0.00
+   3694.30   11.0001    9.2042    0.0000  57822.00      0.00
+   3744.63   11.0555    9.2634    0.0000  57822.00      0.00
+   3794.96   11.1095    9.3205    0.0000  57822.00      0.00
+   3845.29   11.1623    9.3760    0.0000  57822.00      0.00
+   3895.62   11.2137    9.4297    0.0000  57822.00      0.00
+   3945.95   11.2639    9.4814    0.0000  57822.00      0.00
+   3996.28   11.3127    9.5306    0.0000  57822.00      0.00
+   4046.62   11.3604    9.5777    0.0000  57822.00      0.00
+   4096.95   11.4069    9.6232    0.0000  57822.00      0.00
+   4147.28   11.4521    9.6673    0.0000  57822.00      0.00
+   4197.61   11.4962    9.7100    0.0000  57822.00      0.00
+   4247.94   11.5391    9.7513    0.0000  57822.00      0.00
+   4298.27   11.5809    9.7914    0.0000  57822.00      0.00
+   4348.60   11.6216    9.8304    0.0000  57822.00      0.00
+   4398.93   11.6612    9.8682    0.0000  57822.00      0.00
+   4449.26   11.6998    9.9051    0.0000  57822.00      0.00
+   4499.60   11.7373    9.9410    0.0000  57822.00      0.00
+   4549.93   11.7737    9.9761    0.0000  57822.00      0.00
+   4600.26   11.8092   10.0103    0.0000  57822.00      0.00
+   4650.59   11.8437   10.0439    0.0000  57822.00      0.00
+   4700.92   11.8772   10.0768    0.0000  57822.00      0.00
+   4801.58   11.9414   10.1415    0.0000  57822.00      0.00
+   4851.91   11.9722   10.1739    0.0000  57822.00      0.00
+   4902.24   12.0001   10.2049    0.0000  57822.00      0.00
+   4952.58   12.0311   10.2329    0.0000  57822.00      0.00
+   5002.91   12.0593   10.2565    0.0000  57822.00      0.00
+   5053.24   12.0867   10.2745    0.0000  57822.00      0.00
+   5103.57   12.1133   10.2854    0.0000  57822.00      0.00
+   5153.50   12.1391   10.2890    0.0000  57822.00      0.00
+   5153.50   12.7037   11.0427    3.5043    633.26     85.03
+   5204.61   12.7289   11.0585    3.5187    629.89     85.03
+   5255.32   12.7530   11.0718    3.5314    626.87     85.03
+   5306.04   12.7760   11.0850    3.5435    624.08     85.03
+   5356.75   12.7980   11.0983    3.5551    621.50     85.03
+   5407.46   12.8188   11.1166    3.5661    619.71     85.03
+   5458.17   12.8387   11.1316    3.5765    617.78     85.03
+   5508.89   12.8574   11.1457    3.5864    615.93     85.03
+   5559.60   12.8751   11.1590    3.5957    614.21     85.03
+   5610.31   12.8917   11.1715    3.6044    612.62     85.03
+   5661.0    12.907    11.183     3.613     611.18     85.03
+   5711.74   12.9217   11.1941    3.6202    609.74     85.03
+   5813.16   12.9474   11.2134    3.6337    607.31     85.03
+   5863.87   12.9586   11.2219    3.6396    606.26     85.03
+   5914.59   12.9688   11.2295    3.6450    605.28     85.03
+   5965.30   12.9779   11.2364    3.6498    604.44     85.03
+   6016.01   12.9859   11.2424    3.6540    603.69     85.03
+   6066.72   12.9929   11.2477    3.6577    603.04     85.03
+   6117.44   12.9988   11.2521    3.6608    602.49     85.03
+   6168.15   13.0036   11.2557    3.6633    602.05     85.03
+   6218.86   13.0074   11.2586    3.6653    601.70     85.03
+   6269.57   13.0100   11.2606    3.6667    601.46     85.03
+   6320.29   13.0117   11.2618    3.6675    601.32     85.03
+   6371.00   13.0122   11.2622    3.6678    601.27     85.03

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/models_1066a_ak135/read_model_1066a.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/models_1066a_ak135/read_model_1066a.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/models_1066a_ak135/read_model_1066a.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,87 @@
+!
+!--- read model 1066a and output it in Fortran90 format
+!
+
+  program read_model_1066a
+
+  implicit none
+
+! number of layers in DATA/1066a/1066a.dat
+  integer, parameter :: NR_1066A = 160
+
+! these are the arrays we need
+  double precision radius_1066a(NR_1066A),density_1066a(NR_1066A)
+  double precision vp_1066a(NR_1066A),vs_1066a(NR_1066A)
+  double precision Qkappa_1066a(NR_1066A),Qmu_1066a(NR_1066A)
+
+  integer i
+
+  character(len=100) texttowrite
+
+! 1066a layercake model
+  open(unit=10,file='1066a.dat',status='old',action='read')
+
+  do i=1,NR_1066A
+
+! depth: m
+! density density_1066a: g/m^3
+! compressional wave speed vp_1066a: m/s
+! shear wave speed vs_1066a: m/s
+
+    read(10,*) radius_1066a(i),density_1066a(i),vp_1066a(i),vs_1066a(i),Qkappa_1066a(i),Qmu_1066a(i)
+! make kg/m^3
+    density_1066a(i) = density_1066a(i)/1.0d03
+! make m/s
+    vp_1066a(i) = vp_1066a(i)/1.0d03
+    vs_1066a(i) = vs_1066a(i)/1.0d03
+
+  enddo
+
+  close(10)
+
+  print *
+
+  do i=1,NR_1066A
+    write(texttowrite,201) i
+    print *,trim(texttowrite),radius_1066a(i)
+  enddo
+ 201 format(' radius_1066a(',i3,') = ')
+  print *
+
+  do i=1,NR_1066A
+    write(texttowrite,202) i
+    print *,trim(texttowrite),density_1066a(i)
+  enddo
+ 202 format(' density_1066a(',i3,') = ')
+  print *
+
+  do i=1,NR_1066A
+    write(texttowrite,203) i
+    print *,trim(texttowrite),vp_1066a(i)
+  enddo
+ 203 format(' vp_1066a(',i3,') = ')
+  print *
+
+  do i=1,NR_1066A
+    write(texttowrite,204) i
+    print *,trim(texttowrite),vs_1066a(i)
+  enddo
+ 204 format(' vs_1066a(',i3,') = ')
+  print *
+
+  do i=1,NR_1066A
+    write(texttowrite,205) i
+    print *,trim(texttowrite),Qkappa_1066a(i)
+  enddo
+ 205 format(' Qkappa_1066a(',i3,') = ')
+  print *
+
+  do i=1,NR_1066A
+    write(texttowrite,206) i
+    print *,trim(texttowrite),Qmu_1066a(i)
+  enddo
+ 206 format(' Qmu_1066a(',i3,') = ')
+  print *
+
+  end program read_model_1066a
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/models_1066a_ak135/read_model_ak135.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/models_1066a_ak135/read_model_ak135.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/models_1066a_ak135/read_model_ak135.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,120 @@
+!=====================================================================
+!
+!          S p e c f e m 3 D  G l o b e  V e r s i o n  3 . 5
+!          --------------------------------------------------
+!
+!                 Dimitri Komatitsch and Jeroen Tromp
+!    Seismological Laboratory - California Institute of Technology
+!        (c) California Institute of Technology July 2004
+!
+! This program is free software; you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation; either version 2 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License along
+! with this program; if not, write to the Free Software Foundation, Inc.,
+! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+!
+!=====================================================================
+
+  program read_model_ak135
+
+  implicit none
+
+! number of layers in DATA/ak135/ak135.dat
+  integer, parameter :: NR_AK135 = 136
+
+! these are the values we need
+  double precision radius_ak135(NR_AK135),density_ak135(NR_AK135)
+  double precision vp_ak135(NR_AK135),vs_ak135(NR_AK135)
+  double precision Qkappa_ak135(NR_AK135),Qmu_ak135(NR_AK135)
+
+  integer i
+
+  double precision depth
+
+! R_EARTH is the radius of the bottom of the oceans (radius of Earth in m)
+  double precision, parameter :: R_EARTH = 6371000.d0
+
+  character(len=100) texttowrite
+
+! ak135 layercake model
+  open(unit=10,file='ak135.dat',status='old',action='read')
+
+  do i=NR_AK135,1,-1
+
+! depth: km
+! density density_ak135: kg/m^3
+! compressional wave speed vp_ak135: km/s
+! shear wave speed vs_ak135: km/s
+
+    read(10,*) depth,density_ak135(i),vp_ak135(i),vs_ak135(i),Qkappa_ak135(i),Qmu_ak135(i)
+
+! get radius in meters
+    radius_ak135(i)=R_EARTH-depth*1.0d03
+
+  enddo
+  close(10)
+
+!! DK DK not needed anymore because these layers have now been suppressed from the input file
+! do i=NR_AK135-4,NR_AK135
+! strip the ocean and sediment layers and replace them by upper crust
+!   density_ak135(i) = density_ak135(NR_AK135-5)
+!   vp_ak135(i) = vp_ak135(NR_AK135-5)
+!   vs_ak135(i) = vs_ak135(NR_AK135-5)
+!   Qkappa_ak135(i) = Qkappa_ak135(NR_AK135-5)
+!   Qmu_ak135(i) = Qmu_ak135(NR_AK135-5)
+! enddo
+
+  print *
+
+  do i=1,NR_AK135
+    write(texttowrite,201) i
+    print *,trim(texttowrite),radius_ak135(i)
+  enddo
+ 201 format(' Mak135_V%radius_ak135(',i3,') = ')
+  print *
+
+  do i=1,NR_AK135
+    write(texttowrite,202) i
+    print *,trim(texttowrite),density_ak135(i)
+  enddo
+ 202 format(' Mak135_V%density_ak135(',i3,') = ')
+  print *
+
+  do i=1,NR_AK135
+    write(texttowrite,203) i
+    print *,trim(texttowrite),vp_ak135(i)
+  enddo
+ 203 format(' Mak135_V%vp_ak135(',i3,') = ')
+  print *
+
+  do i=1,NR_AK135
+    write(texttowrite,204) i
+    print *,trim(texttowrite),vs_ak135(i)
+  enddo
+ 204 format(' Mak135_V%vs_ak135(',i3,') = ')
+  print *
+
+  do i=1,NR_AK135
+    write(texttowrite,205) i
+    print *,trim(texttowrite),Qkappa_ak135(i)
+  enddo
+ 205 format(' Mak135_V%Qkappa_ak135(',i3,') = ')
+  print *
+
+  do i=1,NR_AK135
+    write(texttowrite,206) i
+    print *,trim(texttowrite),Qmu_ak135(i)
+  enddo
+ 206 format(' Mak135_V%Qmu_ak135(',i3,') = ')
+  print *
+
+  end program read_model_ak135
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/anisotropy_sebastien/aniso_sebastien_serial_final_clean_13jul2003.tar.bz2
===================================================================
(Binary files differ)


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/anisotropy_sebastien/aniso_sebastien_serial_final_clean_13jul2003.tar.bz2
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/inline_code/generate_sed_commands.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/inline_code/generate_sed_commands.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/inline_code/generate_sed_commands.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,122 @@
+
+! generate sed command to inline matrix products
+! use on file below
+! then cut and paste resulting code in compute_forces*_inline.f90
+
+  program generate_sed
+
+  implicit none
+
+  integer, parameter :: NGLL = 5
+
+  integer i
+
+  do i=1,NGLL
+    write(*,130) i,i
+    write(*,131) i,i
+    write(*,140) i,i
+    write(*,141) i,i
+  enddo
+
+  130  format('sed -e ''1,$s/aa/',i1.1,'/g'' < inline_scalar_first > file_scalar_first_',i1.1)
+  131  format('sed -e ''1,$s/aa/',i1.1,'/g'' < inline_scalar_second > file_scalar_second_',i1.1)
+
+  140  format('sed -e ''1,$s/aa/',i1.1,'/g'' < inline_vector_first > file_vector_first_',i1.1)
+  141  format('sed -e ''1,$s/aa/',i1.1,'/g'' < inline_vector_second > file_vector_second_',i1.1)
+
+  end program generate_sed
+
+!----------------
+!---------------- source program below for matrix products
+!----------------
+
+! scalar is for outer_core, vector is for crust_mantle and inner_core
+
+!!--------------------- first scalar below ----------------------------
+!
+!!---
+!!--- ij is actually jk here
+!    tempx1loc(aa,ij,1) = &
+!        disploc(1,ij,1)*hprime_xx(1,aa) + disploc(2,ij,1)*hprime_xx(2,aa) + &
+!        disploc(3,ij,1)*hprime_xx(3,aa) + disploc(4,ij,1)*hprime_xx(4,aa) + &
+!        disploc(5,ij,1)*hprime_xx(5,aa)
+!
+!!---
+!    tempx2loc(i,aa,k) = &
+!        disploc(i,1,k)*hprime_yy(1,aa) + disploc(i,2,k)*hprime_yy(2,aa) + &
+!        disploc(i,3,k)*hprime_yy(3,aa) + disploc(i,4,k)*hprime_yy(4,aa) + &
+!        disploc(i,5,k)*hprime_yy(5,aa)
+!
+!!---
+!    tempx3loc(ij,1,aa) = &
+!        disploc(ij,1,1)*hprime_zz(1,aa) + disploc(ij,1,2)*hprime_zz(2,aa) + &
+!        disploc(ij,1,3)*hprime_zz(3,aa) + disploc(ij,1,4)*hprime_zz(4,aa) + &
+!        disploc(ij,1,5)*hprime_zz(5,aa)
+!
+!
+!!--------------------- second scalar below ----------------------------
+!
+!!---
+!!--- ij is actually jk below
+!  tempx1linline(aa,ij,1) = &
+!    tempx1(1,ij,1)*hprimewgll_xx(aa,1) + tempx1(2,ij,1)*hprimewgll_xx(aa,2) + &
+!    tempx1(3,ij,1)*hprimewgll_xx(aa,3) + tempx1(4,ij,1)*hprimewgll_xx(aa,4) + &
+!    tempx1(5,ij,1)*hprimewgll_xx(aa,5)
+!
+!!---
+!  tempx2linline(i,aa,k) = &
+!    tempx2(i,1,k)*hprimewgll_yy(aa,1) + tempx2(i,2,k)*hprimewgll_yy(aa,2) + &
+!    tempx2(i,3,k)*hprimewgll_yy(aa,3) + tempx2(i,4,k)*hprimewgll_yy(aa,4) + &
+!    tempx2(i,5,k)*hprimewgll_yy(aa,5)
+!
+!!---
+!  tempx3linline(ij,1,aa) = &
+!    tempx3(ij,1,1)*hprimewgll_zz(aa,1) + tempx3(ij,1,2)*hprimewgll_zz(aa,2) + &
+!    tempx3(ij,1,3)*hprimewgll_zz(aa,3) + tempx3(ij,1,4)*hprimewgll_zz(aa,4) + &
+!    tempx3(ij,1,5)*hprimewgll_zz(aa,5)
+!
+!
+!!--------------------- first vector below ----------------------------
+!
+!!---
+!  temp1(d,aa,j,k) = &
+!    disploc(d,1,j,k)*hprime_xx(1,aa) + disploc(d,2,j,k)*hprime_xx(2,aa) + &
+!    disploc(d,3,j,k)*hprime_xx(3,aa) + disploc(d,4,j,k)*hprime_xx(4,aa) + &
+!    disploc(d,5,j,k)*hprime_xx(5,aa)
+!
+!!---
+!  temp2(d,i,aa,k) = &
+!    disploc(d,i,1,k)*hprime_yy(1,aa) + disploc(d,i,2,k)*hprime_yy(2,aa) + &
+!    disploc(d,i,3,k)*hprime_yy(3,aa) + disploc(d,i,4,k)*hprime_yy(4,aa) + &
+!    disploc(d,i,5,k)*hprime_yy(5,aa)
+!
+!!---
+!  temp3(ijd,1,1,aa) = &
+!    disploc(ijd,1,1,1)*hprime_zz(1,aa) + disploc(ijd,1,1,2)*hprime_zz(2,aa) + &
+!    disploc(ijd,1,1,3)*hprime_zz(3,aa) + disploc(ijd,1,1,4)*hprime_zz(4,aa) + &
+!    disploc(ijd,1,1,5)*hprime_zz(5,aa)
+!
+!
+!!--------------------- second vector below ----------------------------
+!
+!!---
+!  temp1inline(d,aa,j,k) = &
+!    temp1(d,1,j,k)*hprimewgll_xx(aa,1) + temp1(d,2,j,k)*hprimewgll_xx(aa,2) + &
+!    temp1(d,3,j,k)*hprimewgll_xx(aa,3) + temp1(d,4,j,k)*hprimewgll_xx(aa,4) + &
+!    temp1(d,5,j,k)*hprimewgll_xx(aa,5)
+!
+!!---
+!  temp2inline(d,i,aa,k) = &
+!    temp2(d,i,1,k)*hprimewgll_yy(aa,1) + temp2(d,i,2,k)*hprimewgll_yy(aa,2) + &
+!    temp2(d,i,3,k)*hprimewgll_yy(aa,3) + temp2(d,i,4,k)*hprimewgll_yy(aa,4) + &
+!    temp2(d,i,5,k)*hprimewgll_yy(aa,5)
+!
+!!---
+!  temp3inline(ijd,1,1,aa) = &
+!   temp3(ijd,1,1,1)*hprimewgll_zz(aa,1) + temp3(ijd,1,1,2)*hprimewgll_zz(aa,2) + &
+!   temp3(ijd,1,1,3)*hprimewgll_zz(aa,3) + temp3(ijd,1,1,4)*hprimewgll_zz(aa,4) + &
+!   temp3(ijd,1,1,5)*hprimewgll_zz(aa,5)
+!
+!
+!!--------------------- end of file ----------------------------
+!

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/movie_keken_morin/specfem3D_movie_morin_hires.tar.bz2
===================================================================
(Binary files differ)


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/movie_keken_morin/specfem3D_movie_morin_hires.tar.bz2
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/older_versions/bak_full_fluid_with_iter.tar.bz2
===================================================================
(Binary files differ)


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/older_versions/bak_full_fluid_with_iter.tar.bz2
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/tsuboi_movie_feb2004/SPECFEM3D_GLOBE_movie_tsuboi.tar.gz
===================================================================
(Binary files differ)


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/tsuboi_movie_feb2004/SPECFEM3D_GLOBE_movie_tsuboi.tar.gz
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/tsuboi_movie_feb2004/movie_network_dx.cfg
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/tsuboi_movie_feb2004/movie_network_dx.cfg	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/tsuboi_movie_feb2004/movie_network_dx.cfg	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,36 @@
+//
+// time: Wed Feb 18 19:11:41 2004
+//
+// version: 3.2.0 (format), 4.3.2 (DX)
+//
+//
+// node Sequencer[1]:
+// vcr[1]: min = 1, max = 80, beg = 1, end = 80, cur = 1, inc = 1, loop = off, step = off, pal = off
+// window: position = (0.0000,0.0000), size = 0.2731x0.1042
+// startup = 1
+//
+// node Image[2]:
+// depth: value = 16
+// window: position = (0.3294,0.1917), size = 0.4231x0.5900
+// input[1]: defaulting = 0, value = "Image_2"
+// input[4]: defaulting = 0, value = 1
+// input[5]: defaulting = 0, value = [450026 3.82478e+06 -381.5]
+// input[6]: defaulting = 0, value = [450026 3.82478e+06 1.65907e+06]
+// input[7]: defaulting = 0, value = 656167.0
+// input[8]: defaulting = 0, value = 419
+// input[9]: defaulting = 0, value = 0.915
+// input[10]: defaulting = 0, value = [0 1 0]
+// input[11]: defaulting = 1, value = 22.367
+// input[12]: defaulting = 0, value = 0
+// input[14]: defaulting = 0, value = 1
+// input[15]: defaulting = 1, value = "none"
+// input[16]: defaulting = 1, value = "none"
+// input[17]: defaulting = 1, value = 1
+// input[18]: defaulting = 1, value = 1
+// input[19]: defaulting = 0, value = 0
+// input[22]: defaulting = 0, value = "black"
+// input[25]: defaulting = 0, value = "/home/komatits/imagedx-1073744456"
+// input[26]: defaulting = 0, value = "tiff"
+// input[29]: defaulting = 1, value = 0
+// input[41]: defaulting = 0, value = "panzoom"
+// internal caching: 1

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/tsuboi_movie_feb2004/movie_network_dx.net
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/tsuboi_movie_feb2004/movie_network_dx.net	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/tsuboi_movie_feb2004/movie_network_dx.net	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,644 @@
+//
+// time: Wed Feb 18 19:11:41 2004
+//
+// version: 3.2.0 (format), 4.3.2 (DX)
+//
+//
+//
+// macro reference (direct): ImageExport /usr/local/dx/java/server/dxmacros/gifmac.net
+include "gifmac.net"
+//
+// MODULE main
+// workspace: width = 477, height = 713
+// layout: snap = 0, width = 50, height = 50, align = NN
+//
+macro main(
+) -> (
+) {
+    // 
+    // node AmbientLight[1]: x = 274, y = 308, inputs = 1, label = AmbientLight
+    //
+main_AmbientLight_1_out_1 = 
+    AmbientLight(
+    main_AmbientLight_1_in_1
+    ) [instance: 1, cache: 1];
+    // 
+    // node Sequencer[1]: x = 142, y = 48, inputs = 7, label = Sequencer
+    // input[1]: defaulting = 0, visible = 0, type = 32, value = "Sequencer_1"
+    // input[4]: defaulting = 1, visible = 1, type = 1, value = 1
+    // input[5]: defaulting = 1, visible = 1, type = 1, value = 80
+    // input[6]: defaulting = 1, visible = 0, type = 1, value = 1
+    // input[7]: defaulting = 0, visible = 0, type = 16777217, value = { 1 80 1 1 80 1 }
+    // vcr[1]: min = 1, max = 80, beg = 1, end = 80, cur = 1, inc = 1, loop = off, step = off, pal = off
+    // window: position = (0.0000,0.0000), size = 0.2731x0.1042
+    //
+    main_Sequencer_1_out_1 = @frame;
+    // 
+    // node Format[1]: x = 101, y = 178, inputs = 3, label = Format
+    // input[1]: defaulting = 0, visible = 1, type = 32, value = "new_DX_movie_00%2.2d00.dx"
+    //
+main_Format_1_out_1 = 
+    Format(
+    main_Format_1_in_1,
+    main_Sequencer_1_out_1,
+    main_Format_1_in_3
+    ) [instance: 1, cache: 1];
+    // 
+    // node Import[2]: x = 60, y = 288, inputs = 6, label = Import
+    // input[1]: defaulting = 1, visible = 1, type = 32, value = "DX_movie_006600.dx"
+    // input[3]: defaulting = 0, visible = 1, type = 32, value = "dx"
+    //
+main_Import_2_out_1 = 
+    Import(
+    main_Format_1_out_1,
+    main_Import_2_in_2,
+    main_Import_2_in_3,
+    main_Import_2_in_4,
+    main_Import_2_in_5,
+    main_Import_2_in_6
+    ) [instance: 2, cache: 1];
+    // 
+    // node AutoColor[1]: x = 53, y = 382, inputs = 10, label = AutoColor
+    //
+main_AutoColor_1_out_1,
+main_AutoColor_1_out_2 = 
+    AutoColor(
+    main_Import_2_out_1,
+    main_AutoColor_1_in_2,
+    main_AutoColor_1_in_3,
+    main_AutoColor_1_in_4,
+    main_AutoColor_1_in_5,
+    main_AutoColor_1_in_6,
+    main_AutoColor_1_in_7,
+    main_AutoColor_1_in_8,
+    main_AutoColor_1_in_9,
+    main_AutoColor_1_in_10
+    ) [instance: 1, cache: 1];
+    // 
+    // node Import[3]: x = 299, y = 61, inputs = 6, label = Import
+    // input[1]: defaulting = 0, visible = 1, type = 32, value = "DX_continent_boundaries.dx"
+    // input[3]: defaulting = 0, visible = 1, type = 32, value = "dx"
+    //
+main_Import_3_out_1 = 
+    Import(
+    main_Import_3_in_1,
+    main_Import_3_in_2,
+    main_Import_3_in_3,
+    main_Import_3_in_4,
+    main_Import_3_in_5,
+    main_Import_3_in_6
+    ) [instance: 3, cache: 1];
+    // 
+    // node AutoColor[2]: x = 229, y = 224, inputs = 10, label = AutoColor
+    //
+main_AutoColor_2_out_1,
+main_AutoColor_2_out_2 = 
+    AutoColor(
+    main_Import_3_out_1,
+    main_AutoColor_2_in_2,
+    main_AutoColor_2_in_3,
+    main_AutoColor_2_in_4,
+    main_AutoColor_2_in_5,
+    main_AutoColor_2_in_6,
+    main_AutoColor_2_in_7,
+    main_AutoColor_2_in_8,
+    main_AutoColor_2_in_9,
+    main_AutoColor_2_in_10
+    ) [instance: 2, cache: 1];
+    // 
+    // node Collect[1]: x = 141, y = 482, inputs = 4, label = Collect
+    //
+main_Collect_1_out_1 = 
+    Collect(
+    main_AutoColor_1_out_1,
+    main_AutoColor_2_out_1,
+    main_AmbientLight_1_out_1,
+    main_Collect_1_in_4
+    ) [instance: 1, cache: 1];
+    // 
+    // node Format[2]: x = 405, y = 248, inputs = 3, label = Format
+    // input[1]: defaulting = 0, visible = 1, type = 32, value = "imagemovie%3.3d"
+    //
+main_Format_2_out_1 = 
+    Format(
+    main_Format_2_in_1,
+    main_Sequencer_1_out_1,
+    main_Format_2_in_3
+    ) [instance: 2, cache: 1];
+    // 
+    // node Image[2]: x = 211, y = 557, inputs = 49, label = Image
+    // input[1]: defaulting = 0, visible = 0, type = 67108863, value = "Image_2"
+    // input[4]: defaulting = 0, visible = 0, type = 1, value = 1
+    // input[5]: defaulting = 0, visible = 0, type = 8, value = [450026 3.82478e+06 -381.5]
+    // input[6]: defaulting = 0, visible = 0, type = 8, value = [450026 3.82478e+06 1.65907e+06]
+    // input[7]: defaulting = 0, visible = 0, type = 5, value = 656167.0
+    // input[8]: defaulting = 0, visible = 0, type = 1, value = 419
+    // input[9]: defaulting = 0, visible = 0, type = 5, value = 0.915
+    // input[10]: defaulting = 0, visible = 0, type = 8, value = [0 1 0]
+    // input[11]: defaulting = 1, visible = 0, type = 5, value = 22.367
+    // input[12]: defaulting = 0, visible = 0, type = 1, value = 0
+    // input[14]: defaulting = 0, visible = 0, type = 1, value = 1
+    // input[15]: defaulting = 1, visible = 0, type = 32, value = "none"
+    // input[16]: defaulting = 1, visible = 0, type = 32, value = "none"
+    // input[17]: defaulting = 1, visible = 0, type = 1, value = 1
+    // input[18]: defaulting = 1, visible = 0, type = 1, value = 1
+    // input[19]: defaulting = 0, visible = 0, type = 3, value = 0
+    // input[22]: defaulting = 0, visible = 0, type = 32, value = "black"
+    // input[25]: defaulting = 0, visible = 0, type = 32, value = "/home/komatits/imagedx-1073744456"
+    // input[26]: defaulting = 0, visible = 0, type = 32, value = "tiff"
+    // input[29]: defaulting = 1, visible = 0, type = 3, value = 0
+    // input[41]: defaulting = 0, visible = 0, type = 32, value = "panzoom"
+    // depth: value = 16
+    // window: position = (0.3294,0.1917), size = 0.4231x0.5900
+    // internal caching: 1
+    //
+main_Image_2_out_1,
+main_Image_2_out_2,
+main_Image_2_out_3 = 
+    Image(
+    main_Image_2_in_1,
+    main_Collect_1_out_1,
+    main_Image_2_in_3,
+    main_Image_2_in_4,
+    main_Image_2_in_5,
+    main_Image_2_in_6,
+    main_Image_2_in_7,
+    main_Image_2_in_8,
+    main_Image_2_in_9,
+    main_Image_2_in_10,
+    main_Image_2_in_11,
+    main_Image_2_in_12,
+    main_Image_2_in_13,
+    main_Image_2_in_14,
+    main_Image_2_in_15,
+    main_Image_2_in_16,
+    main_Image_2_in_17,
+    main_Image_2_in_18,
+    main_Image_2_in_19,
+    main_Image_2_in_20,
+    main_Image_2_in_21,
+    main_Image_2_in_22,
+    main_Image_2_in_23,
+    main_Image_2_in_24,
+    main_Image_2_in_25,
+    main_Image_2_in_26,
+    main_Image_2_in_27,
+    main_Image_2_in_28,
+    main_Image_2_in_29,
+    main_Image_2_in_30,
+    main_Image_2_in_31,
+    main_Image_2_in_32,
+    main_Image_2_in_33,
+    main_Image_2_in_34,
+    main_Image_2_in_35,
+    main_Image_2_in_36,
+    main_Image_2_in_37,
+    main_Image_2_in_38,
+    main_Image_2_in_39,
+    main_Image_2_in_40,
+    main_Image_2_in_41,
+    main_Image_2_in_42,
+    main_Image_2_in_43,
+    main_Image_2_in_44,
+    main_Image_2_in_45,
+    main_Image_2_in_46,
+    main_Image_2_in_47,
+    main_Image_2_in_48,
+    main_Image_2_in_49
+    ) [instance: 2, cache: 1];
+    // 
+    // node ImageExport[1]: x = 273, y = 651, inputs = 4, label = ImageExport
+    //
+main_ImageExport_1_out_1 = 
+    ImageExport(
+    main_Image_2_out_1,
+    main_Format_2_out_1,
+    main_Image_2_out_2,
+    main_ImageExport_1_in_4
+    ) [instance: 1, cache: 1];
+// network: end of macro body
+CacheScene(main_Image_2_in_1, main_Image_2_out_1, main_Image_2_out_2);
+}
+main_AmbientLight_1_in_1 = NULL;
+main_AmbientLight_1_out_1 = NULL;
+main_Sequencer_1_in_1 = "Sequencer_1";
+main_Sequencer_1_in_2 = NULL;
+main_Sequencer_1_in_3 = NULL;
+main_Sequencer_1_in_4 = NULL;
+main_Sequencer_1_in_5 = NULL;
+main_Sequencer_1_in_6 = NULL;
+main_Sequencer_1_in_7 = { 1 80 1 1 80 1 };
+main_Sequencer_1_out_1 = NULL;
+
+ at startframe = 1;
+ at nextframe  = @startframe;
+ at endframe   = 80;
+ at deltaframe = 1;
+main_Format_1_in_1 = "new_DX_movie_00%2.2d00.dx";
+main_Format_1_in_3 = NULL;
+main_Format_1_out_1 = NULL;
+main_Import_2_in_2 = NULL;
+main_Import_2_in_3 = "dx";
+main_Import_2_in_4 = NULL;
+main_Import_2_in_5 = NULL;
+main_Import_2_in_6 = NULL;
+main_Import_2_out_1 = NULL;
+main_AutoColor_1_in_2 = NULL;
+main_AutoColor_1_in_3 = NULL;
+main_AutoColor_1_in_4 = NULL;
+main_AutoColor_1_in_5 = NULL;
+main_AutoColor_1_in_6 = NULL;
+main_AutoColor_1_in_7 = NULL;
+main_AutoColor_1_in_8 = NULL;
+main_AutoColor_1_in_9 = NULL;
+main_AutoColor_1_in_10 = NULL;
+main_AutoColor_1_out_1 = NULL;
+main_Import_3_in_1 = "DX_continent_boundaries.dx";
+main_Import_3_in_2 = NULL;
+main_Import_3_in_3 = "dx";
+main_Import_3_in_4 = NULL;
+main_Import_3_in_5 = NULL;
+main_Import_3_in_6 = NULL;
+main_Import_3_out_1 = NULL;
+main_AutoColor_2_in_2 = NULL;
+main_AutoColor_2_in_3 = NULL;
+main_AutoColor_2_in_4 = NULL;
+main_AutoColor_2_in_5 = NULL;
+main_AutoColor_2_in_6 = NULL;
+main_AutoColor_2_in_7 = NULL;
+main_AutoColor_2_in_8 = NULL;
+main_AutoColor_2_in_9 = NULL;
+main_AutoColor_2_in_10 = NULL;
+main_AutoColor_2_out_1 = NULL;
+main_Collect_1_in_4 = NULL;
+main_Collect_1_out_1 = NULL;
+main_Format_2_in_1 = "imagemovie%3.3d";
+main_Format_2_in_3 = NULL;
+main_Format_2_out_1 = NULL;
+macro Image(
+        id,
+        object,
+        where,
+        useVector,
+        to,
+        from,
+        width,
+        resolution,
+        aspect,
+        up,
+        viewAngle,
+        perspective,
+        options,
+        buttonState = 1,
+        buttonUpApprox = "none",
+        buttonDownApprox = "none",
+        buttonUpDensity = 1,
+        buttonDownDensity = 1,
+        renderMode = 0,
+        defaultCamera,
+        reset,
+        backgroundColor,
+        throttle,
+        RECenable = 0,
+        RECfile,
+        RECformat,
+        RECresolution,
+        RECaspect,
+        AAenable = 0,
+        AAlabels,
+        AAticks,
+        AAcorners,
+        AAframe,
+        AAadjust,
+        AAcursor,
+        AAgrid,
+        AAcolors,
+        AAannotation,
+        AAlabelscale,
+        AAfont,
+        interactionMode,
+        title,
+        AAxTickLocs,
+        AAyTickLocs,
+        AAzTickLocs,
+        AAxTickLabels,
+        AAyTickLabels,
+        AAzTickLabels,
+        webOptions) -> (
+        object,
+        camera,
+        where)
+{
+    ImageMessage(
+        id,
+        backgroundColor,
+        throttle,
+        RECenable,
+        RECfile,
+        RECformat,
+        RECresolution,
+        RECaspect,
+        AAenable,
+        AAlabels,
+        AAticks,
+        AAcorners,
+        AAframe,
+        AAadjust,
+        AAcursor,
+        AAgrid,
+        AAcolors,
+        AAannotation,
+        AAlabelscale,
+        AAfont,
+        AAxTickLocs,
+        AAyTickLocs,
+        AAzTickLocs,
+        AAxTickLabels,
+        AAyTickLabels,
+        AAzTickLabels,
+        interactionMode,
+        title,
+        renderMode,
+        buttonUpApprox,
+        buttonDownApprox,
+        buttonUpDensity,
+        buttonDownDensity) [instance: 1, cache: 1];
+    autoCamera =
+        AutoCamera(
+            object,
+            "front",
+            object,
+            resolution,
+            aspect,
+            [0,1,0],
+            perspective,
+            viewAngle,
+            backgroundColor) [instance: 1, cache: 1];
+    realCamera =
+        Camera(
+            to,
+            from,
+            width,
+            resolution,
+            aspect,
+            up,
+            perspective,
+            viewAngle,
+            backgroundColor) [instance: 1, cache: 1];
+    coloredDefaultCamera = 
+	 UpdateCamera(defaultCamera,
+            background=backgroundColor) [instance: 1, cache: 1];
+    nullDefaultCamera =
+        Inquire(defaultCamera,
+            "is null + 1") [instance: 1, cache: 1];
+    resetCamera =
+        Switch(
+            nullDefaultCamera,
+            coloredDefaultCamera,
+            autoCamera) [instance: 1, cache: 1];
+    resetNull = 
+        Inquire(
+            reset,
+            "is null + 1") [instance: 2, cache: 1];
+    reset =
+        Switch(
+            resetNull,
+            reset,
+            0) [instance: 2, cache: 1];
+    whichCamera =
+        Compute(
+            "($0 != 0 || $1 == 0) ? 1 : 2",
+            reset,
+            useVector) [instance: 1, cache: 1];
+    camera = Switch(
+            whichCamera,
+            resetCamera,
+            realCamera) [instance: 3, cache: 1];
+    AAobject =
+        AutoAxes(
+            object,
+            camera,
+            AAlabels,
+            AAticks,
+            AAcorners,
+            AAframe,
+            AAadjust,
+            AAcursor,
+            AAgrid,
+            AAcolors,
+            AAannotation,
+            AAlabelscale,
+            AAfont,
+            AAxTickLocs,
+            AAyTickLocs,
+            AAzTickLocs,
+            AAxTickLabels,
+            AAyTickLabels,
+            AAzTickLabels) [instance: 1, cache: 1];
+    switchAAenable = Compute("$0+1",
+	     AAenable) [instance: 2, cache: 1];
+    object = Switch(
+	     switchAAenable,
+	     object,
+	     AAobject) [instance:4, cache: 1];
+    SWapproximation_options =
+        Switch(
+            buttonState,
+            buttonUpApprox,
+            buttonDownApprox) [instance: 5, cache: 1];
+    SWdensity_options =
+        Switch(
+            buttonState,
+            buttonUpDensity,
+            buttonDownDensity) [instance: 6, cache: 1];
+    HWapproximation_options =
+        Format(
+            "%s,%s",
+            buttonDownApprox,
+            buttonUpApprox) [instance: 1, cache: 1];
+    HWdensity_options =
+        Format(
+            "%d,%d",
+            buttonDownDensity,
+            buttonUpDensity) [instance: 2, cache: 1];
+    switchRenderMode = Compute(
+	     "$0+1",
+	     renderMode) [instance: 3, cache: 1];
+    approximation_options = Switch(
+	     switchRenderMode,
+            SWapproximation_options,
+	     HWapproximation_options) [instance: 7, cache: 1];
+    density_options = Switch(
+	     switchRenderMode,
+            SWdensity_options,
+            HWdensity_options) [instance: 8, cache: 1];
+    renderModeString = Switch(
+            switchRenderMode,
+            "software",
+            "hardware")[instance: 9, cache: 1];
+    object_tag = Inquire(
+            object,
+            "object tag")[instance: 3, cache: 1];
+    annoted_object =
+        Options(
+            object,
+            "send boxes",
+            0,
+            "cache",
+            1,
+            "object tag",
+            object_tag,
+            "ddcamera",
+            whichCamera,
+            "rendering approximation",
+            approximation_options,
+            "render every",
+            density_options,
+            "button state",
+            buttonState,
+            "rendering mode",
+            renderModeString) [instance: 1, cache: 1];
+    RECresNull =
+        Inquire(
+            RECresolution,
+            "is null + 1") [instance: 4, cache: 1];
+    ImageResolution =
+        Inquire(
+            camera,
+            "camera resolution") [instance: 5, cache: 1];
+    RECresolution =
+        Switch(
+            RECresNull,
+            RECresolution,
+            ImageResolution) [instance: 10, cache: 1];
+    RECaspectNull =
+        Inquire(
+            RECaspect,
+            "is null + 1") [instance: 6, cache: 1];
+    ImageAspect =
+        Inquire(
+            camera,
+            "camera aspect") [instance: 7, cache: 1];
+    RECaspect =
+        Switch(
+            RECaspectNull,
+            RECaspect,
+            ImageAspect) [instance: 11, cache: 1];
+    switchRECenable = Compute(
+          "$0 == 0 ? 1 : (($2 == $3) && ($4 == $5)) ? ($1 == 1 ? 2 : 3) : 4",
+            RECenable,
+            switchRenderMode,
+            RECresolution,
+            ImageResolution,
+            RECaspect,
+	     ImageAspect) [instance: 4, cache: 1];
+    NoRECobject, RECNoRerenderObject, RECNoRerHW, RECRerenderObject = Route(switchRECenable, annoted_object);
+    Display(
+        NoRECobject,
+        camera,
+        where,
+        throttle) [instance: 1, cache: 1];
+    image =
+        Render(
+            RECNoRerenderObject,
+            camera) [instance: 1, cache: 1];
+    Display(
+        image,
+        NULL,
+        where,
+        throttle) [instance: 2, cache: 1];
+    WriteImage(
+        image,
+        RECfile,
+        RECformat) [instance: 1, cache: 1];
+    rec_where = Display(
+        RECNoRerHW,
+        camera,
+        where,
+        throttle) [instance: 1, cache: 0];
+    rec_image = ReadImageWindow(
+        rec_where) [instance: 1, cache: 1];
+    WriteImage(
+        rec_image,
+        RECfile,
+        RECformat) [instance: 1, cache: 1];
+    RECupdateCamera =
+	UpdateCamera(
+	    camera,
+	    resolution=RECresolution,
+	    aspect=RECaspect) [instance: 2, cache: 1];
+    Display(
+        RECRerenderObject,
+        camera,
+        where,
+        throttle) [instance: 1, cache: 1];
+    RECRerenderObject =
+	ScaleScreen(
+	    RECRerenderObject,
+	    NULL,
+	    RECresolution,
+	    camera) [instance: 1, cache: 1];
+    image =
+        Render(
+            RECRerenderObject,
+            RECupdateCamera) [instance: 2, cache: 1];
+    WriteImage(
+        image,
+        RECfile,
+        RECformat) [instance: 2, cache: 1];
+}
+main_Image_2_in_1 = "Image_2";
+main_Image_2_in_3 = "X16,,";
+main_Image_2_in_4 = 1;
+main_Image_2_in_5 = [450026 3.82478e+06 -381.5];
+main_Image_2_in_6 = [450026 3.82478e+06 1.65907e+06];
+main_Image_2_in_7 = 656167.0;
+main_Image_2_in_8 = 419;
+main_Image_2_in_9 = 0.915;
+main_Image_2_in_10 = [0 1 0];
+main_Image_2_in_11 = NULL;
+main_Image_2_in_12 = 0;
+main_Image_2_in_13 = NULL;
+main_Image_2_in_14 = 1;
+main_Image_2_in_15 = NULL;
+main_Image_2_in_16 = NULL;
+main_Image_2_in_17 = NULL;
+main_Image_2_in_18 = NULL;
+main_Image_2_in_19 = 0;
+main_Image_2_in_20 = NULL;
+main_Image_2_in_21 = NULL;
+main_Image_2_in_22 = "black";
+main_Image_2_in_23 = NULL;
+main_Image_2_in_25 = "/home/komatits/imagedx-1073744456";
+main_Image_2_in_26 = "tiff";
+main_Image_2_in_27 = NULL;
+main_Image_2_in_28 = NULL;
+main_Image_2_in_29 = NULL;
+main_Image_2_in_30 = NULL;
+main_Image_2_in_31 = NULL;
+main_Image_2_in_32 = NULL;
+main_Image_2_in_33 = NULL;
+main_Image_2_in_34 = NULL;
+main_Image_2_in_35 = NULL;
+main_Image_2_in_36 = NULL;
+main_Image_2_in_37 = NULL;
+main_Image_2_in_38 = NULL;
+main_Image_2_in_39 = NULL;
+main_Image_2_in_40 = NULL;
+main_Image_2_in_41 = "panzoom";
+main_Image_2_in_42 = NULL;
+main_Image_2_in_43 = NULL;
+main_Image_2_in_44 = NULL;
+main_Image_2_in_45 = NULL;
+main_Image_2_in_46 = NULL;
+main_Image_2_in_47 = NULL;
+main_Image_2_in_48 = NULL;
+main_Image_2_in_49 = NULL;
+main_Image_2_out_1 = NULL;
+main_Image_2_out_2 = NULL;
+main_ImageExport_1_in_4 = NULL;
+Executive("product version 4 3 2");
+$sync
+
+sequence main();
+play;

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/tsuboi_movie_feb2004/subsample_movie_files_tsuboi.csh
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/tsuboi_movie_feb2004/subsample_movie_files_tsuboi.csh	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/tsuboi_movie_feb2004/subsample_movie_files_tsuboi.csh	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,15 @@
+#!/bin/csh
+
+# Intel Linux f90 compiler
+ifort -fast -o xsubsample_movie_files_tsuboi subsample_movie_files_tsuboi.f90
+
+foreach file ( $* )
+
+echo processing file $file
+
+./xsubsample_movie_files_tsuboi < $file > new_$file
+
+end
+
+rm -r xsubsample_movie_files_tsuboi
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/tsuboi_movie_feb2004/subsample_movie_files_tsuboi.csh
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/tsuboi_movie_feb2004/subsample_movie_files_tsuboi.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/tsuboi_movie_feb2004/subsample_movie_files_tsuboi.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/tsuboi_movie_feb2004/subsample_movie_files_tsuboi.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,131 @@
+
+!! DK DK subsample high-resolution OpenDX movies to low-resolution movies for ES in Japan
+
+  program subsample_movie_files_tsuboi
+
+  implicit none
+
+!! DK DK this read manually from one of the DX files (total number of points and elements of high-res movie files)
+  integer, parameter :: npoin = 2457602
+  integer, parameter :: nelem = 2457600
+
+!! DK DK subsampling from high-res to low-res by taking the corners of the cell
+  integer, parameter :: NGLL = 5
+  integer, parameter :: NSUBSAMP_FACTOR = (NGLL-1)*(NGLL-1)
+
+  double precision, dimension(npoin) :: x,y,z,dataval
+  integer, dimension(nelem) :: ibool1,ibool2,ibool3,ibool4
+
+!! DK DK new numbering
+  integer, dimension(npoin) :: inewpointnumber
+  logical, dimension(npoin) :: mask_numbered
+
+  integer ipoin,ielem,ielem_base_highres,npoin_lowres,nelem_lowres,ipoin_current
+
+! skip header (split on two lines because of line length) in high-res OpenDX file
+  read(*,*)
+  read(*,*)
+
+  do ipoin=1,npoin
+    read(*,*) x(ipoin),y(ipoin),z(ipoin)
+  enddo
+
+! skip header
+  read(*,*)
+
+  do ielem=1,nelem
+    read(*,*) ibool1(ielem),ibool2(ielem),ibool3(ielem),ibool4(ielem)
+  enddo
+
+! skip header
+  read(*,*)
+  read(*,*)
+  read(*,*)
+
+  do ipoin=1,npoin
+    read(*,*) dataval(ipoin)
+  enddo
+
+!! DK DK write smaller file
+
+! compute number of elements in low-res file
+  nelem_lowres = nelem / NSUBSAMP_FACTOR
+
+! mask data points that are used
+  inewpointnumber(:) = 0
+  mask_numbered(:) = .false.
+  ipoin_current = 0
+  ielem_base_highres = 0
+
+  do ielem=1,nelem_lowres
+
+!! DK DK point numbers start at 0 in OpenDX, therefore add 1 to index value
+    if(.not. mask_numbered(ibool1(ielem_base_highres+1) + 1)) then
+      inewpointnumber(ibool1(ielem_base_highres+1) + 1) = ipoin_current
+      ipoin_current = ipoin_current + 1
+      mask_numbered(ibool1(ielem_base_highres+1) + 1) = .true.
+    endif
+
+    if(.not. mask_numbered(ibool2(ielem_base_highres+13) + 1)) then
+      inewpointnumber(ibool2(ielem_base_highres+13) + 1) = ipoin_current
+      ipoin_current = ipoin_current + 1
+      mask_numbered(ibool2(ielem_base_highres+13) + 1) = .true.
+    endif
+
+    if(.not. mask_numbered(ibool3(ielem_base_highres+4) + 1)) then
+      inewpointnumber(ibool3(ielem_base_highres+4) + 1) = ipoin_current
+      ipoin_current = ipoin_current + 1
+      mask_numbered(ibool3(ielem_base_highres+4) + 1) = .true.
+    endif
+
+    if(.not. mask_numbered(ibool4(ielem_base_highres+16) + 1)) then
+      inewpointnumber(ibool4(ielem_base_highres+16) + 1) = ipoin_current
+      ipoin_current = ipoin_current + 1
+      mask_numbered(ibool4(ielem_base_highres+16) + 1) = .true.
+    endif
+
+    ielem_base_highres = ielem_base_highres + NSUBSAMP_FACTOR
+  enddo
+
+! compute number of points in low-res file
+  npoin_lowres = ipoin_current
+
+! points
+  write(*,*) 'object 1 class array type float rank 1 shape 3 items ',npoin_lowres,' data follows'
+
+  do ipoin=1,npoin
+    if(mask_numbered(ipoin)) write(*,"(f8.5,1x,f8.5,1x,f8.5)") x(ipoin),y(ipoin),z(ipoin)
+  enddo
+
+! elements
+  write(*,*) 'object 2 class array type int rank 1 shape 4 items ',nelem_lowres,' data follows'
+
+! point order in OpenDX is 1,4,2,3 *not* 1,2,3,4 as in AVS
+  ielem_base_highres = 0
+  do ielem=1,nelem_lowres
+!! DK DK extract the four corners of the NGLL x NGLL high-res OpenDX element
+    write(*,210) inewpointnumber(ibool1(ielem_base_highres+1) + 1),inewpointnumber(ibool2(ielem_base_highres+13) + 1), &
+                 inewpointnumber(ibool3(ielem_base_highres+4) + 1),inewpointnumber(ibool4(ielem_base_highres+16) + 1)
+    ielem_base_highres = ielem_base_highres + NSUBSAMP_FACTOR
+  enddo
+
+! data values
+  write(*,*) 'attribute "element type" string "quads"'
+  write(*,*) 'attribute "ref" string "positions"'
+  write(*,*) 'object 3 class array type float rank 0 items ',npoin_lowres,' data follows'
+  do ipoin=1,npoin
+    if(mask_numbered(ipoin)) write(*,501) dataval(ipoin)
+  enddo
+
+  write(*,*) 'attribute "dep" string "positions"'
+  write(*,*) 'object "irregular positions irregular connections" class field'
+  write(*,*) 'component "positions" value 1'
+  write(*,*) 'component "connections" value 2'
+  write(*,*) 'component "data" value 3'
+  write(*,*) 'end'
+
+ 210 format(i10,1x,i10,1x,i10,1x,i10)
+ 501 format(f7.2)
+
+ end program subsample_movie_files_tsuboi
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/tsuboi_movie_feb2004/visualize_mesh_DX.cfg
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/tsuboi_movie_feb2004/visualize_mesh_DX.cfg	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/tsuboi_movie_feb2004/visualize_mesh_DX.cfg	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,45 @@
+//
+// time: Wed Feb 18 19:09:39 2004
+//
+// version: 3.2.0 (format), 4.3.2 (DX)
+//
+//
+// panel[0]: position = (0.0750,0.6975), size = 0.2781x0.1617, startup = 1, devstyle = 1
+// title: value = Control Panel
+//
+// workspace: width = 500, height = 500
+// layout: snap = 0, width = 50, height = 50, align = NN
+//
+// panel[2]: position = (0.3613,0.6975), size = 0.2775x0.1617, startup = 1, devstyle = 1
+// title: value = Control Panel
+//
+// workspace: width = 500, height = 500
+// layout: snap = 0, width = 50, height = 50, align = NN
+//
+// node Image[2]:
+// depth: value = 24
+// window: position = (0.0131,0.0950), size = 0.5663x0.6342
+// input[1]: defaulting = 0, value = "Image_2"
+// input[4]: defaulting = 0, value = 1
+// input[5]: defaulting = 0, value = [0.00533432 0.00243902 0.00510988]
+// input[6]: defaulting = 0, value = [0.00533432 0.00243902 8.13547]
+// input[7]: defaulting = 0, value = 4.35706
+// input[8]: defaulting = 0, value = 892
+// input[9]: defaulting = 0, value = 0.806614
+// input[10]: defaulting = 0, value = [0 1 0]
+// input[11]: defaulting = 1, value = 30.0001
+// input[12]: defaulting = 0, value = 0
+// input[14]: defaulting = 0, value = 1
+// input[15]: defaulting = 0, value = "none"
+// input[16]: defaulting = 0, value = "none"
+// input[17]: defaulting = 0, value = 1
+// input[18]: defaulting = 0, value = 1
+// input[19]: defaulting = 0, value = 1
+// input[22]: defaulting = 0, value = "black"
+// input[25]: defaulting = 0, value = "/home/latychev/boo"
+// input[26]: defaulting = 0, value = "eps gray dpi=86 orient=portrait"
+// input[29]: defaulting = 0, value = 0
+// input[33]: defaulting = 0, value = 1
+// input[36]: defaulting = 0, value = 1
+// input[41]: defaulting = 0, value = "rotate"
+// internal caching: 1

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/tsuboi_movie_feb2004/visualize_mesh_DX.net
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/tsuboi_movie_feb2004/visualize_mesh_DX.net	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/oldstuff/tsuboi_movie_feb2004/visualize_mesh_DX.net	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,577 @@
+//
+// time: Wed Feb 18 19:09:39 2004
+//
+// version: 3.2.0 (format), 4.3.2 (DX)
+//
+//
+// MODULE main
+// workspace: width = 662, height = 837
+// layout: snap = 0, width = 50, height = 50, align = NN
+//
+macro main(
+) -> (
+) {
+    // 
+    // node AmbientLight[1]: x = 564, y = 369, inputs = 1, label = AmbientLight
+    //
+main_AmbientLight_1_out_1 = 
+    AmbientLight(
+    main_AmbientLight_1_in_1
+    ) [instance: 1, cache: 1];
+    // 
+    // node Import[2]: x = 193, y = 42, inputs = 6, label = Import
+    // input[1]: defaulting = 0, visible = 1, type = 32, value = "DX_continent_boundaries.dx"
+    // input[3]: defaulting = 0, visible = 1, type = 32, value = "dx"
+    //
+main_Import_2_out_1 = 
+    Import(
+    main_Import_2_in_1,
+    main_Import_2_in_2,
+    main_Import_2_in_3,
+    main_Import_2_in_4,
+    main_Import_2_in_5,
+    main_Import_2_in_6
+    ) [instance: 2, cache: 1];
+    // 
+    // node AutoColor[1]: x = 172, y = 244, inputs = 10, label = AutoColor
+    //
+main_AutoColor_1_out_1,
+main_AutoColor_1_out_2 = 
+    AutoColor(
+    main_Import_2_out_1,
+    main_AutoColor_1_in_2,
+    main_AutoColor_1_in_3,
+    main_AutoColor_1_in_4,
+    main_AutoColor_1_in_5,
+    main_AutoColor_1_in_6,
+    main_AutoColor_1_in_7,
+    main_AutoColor_1_in_8,
+    main_AutoColor_1_in_9,
+    main_AutoColor_1_in_10
+    ) [instance: 1, cache: 1];
+    // 
+    // node Import[5]: x = 371, y = 60, inputs = 6, label = Import
+    // input[1]: defaulting = 0, visible = 1, type = 32, value = "new_DX_movie_004800.dx"
+    //
+main_Import_5_out_1 = 
+    Import(
+    main_Import_5_in_1,
+    main_Import_5_in_2,
+    main_Import_5_in_3,
+    main_Import_5_in_4,
+    main_Import_5_in_5,
+    main_Import_5_in_6
+    ) [instance: 5, cache: 1];
+    // 
+    // node AutoColor[3]: x = 428, y = 202, inputs = 10, label = AutoColor
+    //
+main_AutoColor_3_out_1,
+main_AutoColor_3_out_2 = 
+    AutoColor(
+    main_Import_5_out_1,
+    main_AutoColor_3_in_2,
+    main_AutoColor_3_in_3,
+    main_AutoColor_3_in_4,
+    main_AutoColor_3_in_5,
+    main_AutoColor_3_in_6,
+    main_AutoColor_3_in_7,
+    main_AutoColor_3_in_8,
+    main_AutoColor_3_in_9,
+    main_AutoColor_3_in_10
+    ) [instance: 3, cache: 1];
+    // 
+    // node Collect[1]: x = 328, y = 523, inputs = 4, label = Collect
+    //
+main_Collect_1_out_1 = 
+    Collect(
+    main_AutoColor_1_out_1,
+    main_AutoColor_3_out_1,
+    main_AmbientLight_1_out_1,
+    main_Collect_1_in_4
+    ) [instance: 1, cache: 1];
+    // 
+    // node Image[2]: x = 419, y = 775, inputs = 49, label = Image
+    // input[1]: defaulting = 0, visible = 0, type = 67108863, value = "Image_2"
+    // input[4]: defaulting = 0, visible = 0, type = 1, value = 1
+    // input[5]: defaulting = 0, visible = 0, type = 8, value = [0.00533432 0.00243902 0.00510988]
+    // input[6]: defaulting = 0, visible = 0, type = 8, value = [0.00533432 0.00243902 8.13547]
+    // input[7]: defaulting = 0, visible = 0, type = 5, value = 4.35706
+    // input[8]: defaulting = 0, visible = 0, type = 1, value = 892
+    // input[9]: defaulting = 0, visible = 0, type = 5, value = 0.806614
+    // input[10]: defaulting = 0, visible = 0, type = 8, value = [0 1 0]
+    // input[11]: defaulting = 1, visible = 0, type = 5, value = 30.0001
+    // input[12]: defaulting = 0, visible = 0, type = 1, value = 0
+    // input[14]: defaulting = 0, visible = 0, type = 1, value = 1
+    // input[15]: defaulting = 0, visible = 0, type = 32, value = "none"
+    // input[16]: defaulting = 0, visible = 0, type = 32, value = "none"
+    // input[17]: defaulting = 0, visible = 0, type = 1, value = 1
+    // input[18]: defaulting = 0, visible = 0, type = 1, value = 1
+    // input[19]: defaulting = 0, visible = 0, type = 1, value = 1
+    // input[22]: defaulting = 0, visible = 0, type = 32, value = "black"
+    // input[25]: defaulting = 0, visible = 0, type = 32, value = "/home/latychev/boo"
+    // input[26]: defaulting = 0, visible = 0, type = 32, value = "eps gray dpi=86 orient=portrait"
+    // input[29]: defaulting = 0, visible = 0, type = 3, value = 0
+    // input[33]: defaulting = 0, visible = 0, type = 3, value = 1
+    // input[36]: defaulting = 0, visible = 0, type = 3, value = 1
+    // input[41]: defaulting = 0, visible = 0, type = 32, value = "rotate"
+    // depth: value = 24
+    // window: position = (0.0131,0.0950), size = 0.5663x0.6342
+    // internal caching: 1
+    //
+main_Image_2_out_1,
+main_Image_2_out_2,
+main_Image_2_out_3 = 
+    Image(
+    main_Image_2_in_1,
+    main_Collect_1_out_1,
+    main_Image_2_in_3,
+    main_Image_2_in_4,
+    main_Image_2_in_5,
+    main_Image_2_in_6,
+    main_Image_2_in_7,
+    main_Image_2_in_8,
+    main_Image_2_in_9,
+    main_Image_2_in_10,
+    main_Image_2_in_11,
+    main_Image_2_in_12,
+    main_Image_2_in_13,
+    main_Image_2_in_14,
+    main_Image_2_in_15,
+    main_Image_2_in_16,
+    main_Image_2_in_17,
+    main_Image_2_in_18,
+    main_Image_2_in_19,
+    main_Image_2_in_20,
+    main_Image_2_in_21,
+    main_Image_2_in_22,
+    main_Image_2_in_23,
+    main_Image_2_in_24,
+    main_Image_2_in_25,
+    main_Image_2_in_26,
+    main_Image_2_in_27,
+    main_Image_2_in_28,
+    main_Image_2_in_29,
+    main_Image_2_in_30,
+    main_Image_2_in_31,
+    main_Image_2_in_32,
+    main_Image_2_in_33,
+    main_Image_2_in_34,
+    main_Image_2_in_35,
+    main_Image_2_in_36,
+    main_Image_2_in_37,
+    main_Image_2_in_38,
+    main_Image_2_in_39,
+    main_Image_2_in_40,
+    main_Image_2_in_41,
+    main_Image_2_in_42,
+    main_Image_2_in_43,
+    main_Image_2_in_44,
+    main_Image_2_in_45,
+    main_Image_2_in_46,
+    main_Image_2_in_47,
+    main_Image_2_in_48,
+    main_Image_2_in_49
+    ) [instance: 2, cache: 1];
+// network: end of macro body
+CacheScene(main_Image_2_in_1, main_Image_2_out_1, main_Image_2_out_2);
+}
+main_AmbientLight_1_in_1 = NULL;
+main_AmbientLight_1_out_1 = NULL;
+main_Import_2_in_1 = "DX_continent_boundaries.dx";
+main_Import_2_in_2 = NULL;
+main_Import_2_in_3 = "dx";
+main_Import_2_in_4 = NULL;
+main_Import_2_in_5 = NULL;
+main_Import_2_in_6 = NULL;
+main_Import_2_out_1 = NULL;
+main_AutoColor_1_in_2 = NULL;
+main_AutoColor_1_in_3 = NULL;
+main_AutoColor_1_in_4 = NULL;
+main_AutoColor_1_in_5 = NULL;
+main_AutoColor_1_in_6 = NULL;
+main_AutoColor_1_in_7 = NULL;
+main_AutoColor_1_in_8 = NULL;
+main_AutoColor_1_in_9 = NULL;
+main_AutoColor_1_in_10 = NULL;
+main_AutoColor_1_out_1 = NULL;
+main_Import_5_in_1 = "new_DX_movie_004800.dx";
+main_Import_5_in_2 = NULL;
+main_Import_5_in_3 = NULL;
+main_Import_5_in_4 = NULL;
+main_Import_5_in_5 = NULL;
+main_Import_5_in_6 = NULL;
+main_Import_5_out_1 = NULL;
+main_AutoColor_3_in_2 = NULL;
+main_AutoColor_3_in_3 = NULL;
+main_AutoColor_3_in_4 = NULL;
+main_AutoColor_3_in_5 = NULL;
+main_AutoColor_3_in_6 = NULL;
+main_AutoColor_3_in_7 = NULL;
+main_AutoColor_3_in_8 = NULL;
+main_AutoColor_3_in_9 = NULL;
+main_AutoColor_3_in_10 = NULL;
+main_AutoColor_3_out_1 = NULL;
+main_Collect_1_in_4 = NULL;
+main_Collect_1_out_1 = NULL;
+macro Image(
+        id,
+        object,
+        where,
+        useVector,
+        to,
+        from,
+        width,
+        resolution,
+        aspect,
+        up,
+        viewAngle,
+        perspective,
+        options,
+        buttonState = 1,
+        buttonUpApprox = "none",
+        buttonDownApprox = "none",
+        buttonUpDensity = 1,
+        buttonDownDensity = 1,
+        renderMode = 0,
+        defaultCamera,
+        reset,
+        backgroundColor,
+        throttle,
+        RECenable = 0,
+        RECfile,
+        RECformat,
+        RECresolution,
+        RECaspect,
+        AAenable = 0,
+        AAlabels,
+        AAticks,
+        AAcorners,
+        AAframe,
+        AAadjust,
+        AAcursor,
+        AAgrid,
+        AAcolors,
+        AAannotation,
+        AAlabelscale,
+        AAfont,
+        interactionMode,
+        title,
+        AAxTickLocs,
+        AAyTickLocs,
+        AAzTickLocs,
+        AAxTickLabels,
+        AAyTickLabels,
+        AAzTickLabels,
+        webOptions) -> (
+        object,
+        camera,
+        where)
+{
+    ImageMessage(
+        id,
+        backgroundColor,
+        throttle,
+        RECenable,
+        RECfile,
+        RECformat,
+        RECresolution,
+        RECaspect,
+        AAenable,
+        AAlabels,
+        AAticks,
+        AAcorners,
+        AAframe,
+        AAadjust,
+        AAcursor,
+        AAgrid,
+        AAcolors,
+        AAannotation,
+        AAlabelscale,
+        AAfont,
+        AAxTickLocs,
+        AAyTickLocs,
+        AAzTickLocs,
+        AAxTickLabels,
+        AAyTickLabels,
+        AAzTickLabels,
+        interactionMode,
+        title,
+        renderMode,
+        buttonUpApprox,
+        buttonDownApprox,
+        buttonUpDensity,
+        buttonDownDensity) [instance: 1, cache: 1];
+    autoCamera =
+        AutoCamera(
+            object,
+            "front",
+            object,
+            resolution,
+            aspect,
+            [0,1,0],
+            perspective,
+            viewAngle,
+            backgroundColor) [instance: 1, cache: 1];
+    realCamera =
+        Camera(
+            to,
+            from,
+            width,
+            resolution,
+            aspect,
+            up,
+            perspective,
+            viewAngle,
+            backgroundColor) [instance: 1, cache: 1];
+    coloredDefaultCamera = 
+	 UpdateCamera(defaultCamera,
+            background=backgroundColor) [instance: 1, cache: 1];
+    nullDefaultCamera =
+        Inquire(defaultCamera,
+            "is null + 1") [instance: 1, cache: 1];
+    resetCamera =
+        Switch(
+            nullDefaultCamera,
+            coloredDefaultCamera,
+            autoCamera) [instance: 1, cache: 1];
+    resetNull = 
+        Inquire(
+            reset,
+            "is null + 1") [instance: 2, cache: 1];
+    reset =
+        Switch(
+            resetNull,
+            reset,
+            0) [instance: 2, cache: 1];
+    whichCamera =
+        Compute(
+            "($0 != 0 || $1 == 0) ? 1 : 2",
+            reset,
+            useVector) [instance: 1, cache: 1];
+    camera = Switch(
+            whichCamera,
+            resetCamera,
+            realCamera) [instance: 3, cache: 1];
+    AAobject =
+        AutoAxes(
+            object,
+            camera,
+            AAlabels,
+            AAticks,
+            AAcorners,
+            AAframe,
+            AAadjust,
+            AAcursor,
+            AAgrid,
+            AAcolors,
+            AAannotation,
+            AAlabelscale,
+            AAfont,
+            AAxTickLocs,
+            AAyTickLocs,
+            AAzTickLocs,
+            AAxTickLabels,
+            AAyTickLabels,
+            AAzTickLabels) [instance: 1, cache: 1];
+    switchAAenable = Compute("$0+1",
+	     AAenable) [instance: 2, cache: 1];
+    object = Switch(
+	     switchAAenable,
+	     object,
+	     AAobject) [instance:4, cache: 1];
+    SWapproximation_options =
+        Switch(
+            buttonState,
+            buttonUpApprox,
+            buttonDownApprox) [instance: 5, cache: 1];
+    SWdensity_options =
+        Switch(
+            buttonState,
+            buttonUpDensity,
+            buttonDownDensity) [instance: 6, cache: 1];
+    HWapproximation_options =
+        Format(
+            "%s,%s",
+            buttonDownApprox,
+            buttonUpApprox) [instance: 1, cache: 1];
+    HWdensity_options =
+        Format(
+            "%d,%d",
+            buttonDownDensity,
+            buttonUpDensity) [instance: 2, cache: 1];
+    switchRenderMode = Compute(
+	     "$0+1",
+	     renderMode) [instance: 3, cache: 1];
+    approximation_options = Switch(
+	     switchRenderMode,
+            SWapproximation_options,
+	     HWapproximation_options) [instance: 7, cache: 1];
+    density_options = Switch(
+	     switchRenderMode,
+            SWdensity_options,
+            HWdensity_options) [instance: 8, cache: 1];
+    renderModeString = Switch(
+            switchRenderMode,
+            "software",
+            "hardware")[instance: 9, cache: 1];
+    object_tag = Inquire(
+            object,
+            "object tag")[instance: 3, cache: 1];
+    annoted_object =
+        Options(
+            object,
+            "send boxes",
+            0,
+            "cache",
+            1,
+            "object tag",
+            object_tag,
+            "ddcamera",
+            whichCamera,
+            "rendering approximation",
+            approximation_options,
+            "render every",
+            density_options,
+            "button state",
+            buttonState,
+            "rendering mode",
+            renderModeString) [instance: 1, cache: 1];
+    RECresNull =
+        Inquire(
+            RECresolution,
+            "is null + 1") [instance: 4, cache: 1];
+    ImageResolution =
+        Inquire(
+            camera,
+            "camera resolution") [instance: 5, cache: 1];
+    RECresolution =
+        Switch(
+            RECresNull,
+            RECresolution,
+            ImageResolution) [instance: 10, cache: 1];
+    RECaspectNull =
+        Inquire(
+            RECaspect,
+            "is null + 1") [instance: 6, cache: 1];
+    ImageAspect =
+        Inquire(
+            camera,
+            "camera aspect") [instance: 7, cache: 1];
+    RECaspect =
+        Switch(
+            RECaspectNull,
+            RECaspect,
+            ImageAspect) [instance: 11, cache: 1];
+    switchRECenable = Compute(
+          "$0 == 0 ? 1 : (($2 == $3) && ($4 == $5)) ? ($1 == 1 ? 2 : 3) : 4",
+            RECenable,
+            switchRenderMode,
+            RECresolution,
+            ImageResolution,
+            RECaspect,
+	     ImageAspect) [instance: 4, cache: 1];
+    NoRECobject, RECNoRerenderObject, RECNoRerHW, RECRerenderObject = Route(switchRECenable, annoted_object);
+    Display(
+        NoRECobject,
+        camera,
+        where,
+        throttle) [instance: 1, cache: 1];
+    image =
+        Render(
+            RECNoRerenderObject,
+            camera) [instance: 1, cache: 1];
+    Display(
+        image,
+        NULL,
+        where,
+        throttle) [instance: 2, cache: 1];
+    WriteImage(
+        image,
+        RECfile,
+        RECformat) [instance: 1, cache: 1];
+    rec_where = Display(
+        RECNoRerHW,
+        camera,
+        where,
+        throttle) [instance: 1, cache: 0];
+    rec_image = ReadImageWindow(
+        rec_where) [instance: 1, cache: 1];
+    WriteImage(
+        rec_image,
+        RECfile,
+        RECformat) [instance: 1, cache: 1];
+    RECupdateCamera =
+	UpdateCamera(
+	    camera,
+	    resolution=RECresolution,
+	    aspect=RECaspect) [instance: 2, cache: 1];
+    Display(
+        RECRerenderObject,
+        camera,
+        where,
+        throttle) [instance: 1, cache: 1];
+    RECRerenderObject =
+	ScaleScreen(
+	    RECRerenderObject,
+	    NULL,
+	    RECresolution,
+	    camera) [instance: 1, cache: 1];
+    image =
+        Render(
+            RECRerenderObject,
+            RECupdateCamera) [instance: 2, cache: 1];
+    WriteImage(
+        image,
+        RECfile,
+        RECformat) [instance: 2, cache: 1];
+}
+main_Image_2_in_1 = "Image_2";
+main_Image_2_in_3 = "X24,,";
+main_Image_2_in_4 = 1;
+main_Image_2_in_5 = [0.00533432 0.00243902 0.00510988];
+main_Image_2_in_6 = [0.00533432 0.00243902 8.13547];
+main_Image_2_in_7 = 4.35706;
+main_Image_2_in_8 = 892;
+main_Image_2_in_9 = 0.806614;
+main_Image_2_in_10 = [0 1 0];
+main_Image_2_in_11 = NULL;
+main_Image_2_in_12 = 0;
+main_Image_2_in_13 = NULL;
+main_Image_2_in_14 = 1;
+main_Image_2_in_15 = "none";
+main_Image_2_in_16 = "none";
+main_Image_2_in_17 = 1;
+main_Image_2_in_18 = 1;
+main_Image_2_in_19 = 1;
+main_Image_2_in_20 = NULL;
+main_Image_2_in_21 = NULL;
+main_Image_2_in_22 = "black";
+main_Image_2_in_23 = NULL;
+main_Image_2_in_25 = "/home/latychev/boo";
+main_Image_2_in_26 = "eps gray dpi=86 orient=portrait";
+main_Image_2_in_27 = NULL;
+main_Image_2_in_28 = NULL;
+main_Image_2_in_29 = 0;
+main_Image_2_in_30 = NULL;
+main_Image_2_in_31 = NULL;
+main_Image_2_in_32 = NULL;
+main_Image_2_in_33 = 1;
+main_Image_2_in_34 = NULL;
+main_Image_2_in_35 = NULL;
+main_Image_2_in_36 = 1;
+main_Image_2_in_37 = NULL;
+main_Image_2_in_38 = NULL;
+main_Image_2_in_39 = NULL;
+main_Image_2_in_40 = NULL;
+main_Image_2_in_41 = "rotate";
+main_Image_2_in_42 = NULL;
+main_Image_2_in_43 = NULL;
+main_Image_2_in_44 = NULL;
+main_Image_2_in_45 = NULL;
+main_Image_2_in_46 = NULL;
+main_Image_2_in_47 = NULL;
+main_Image_2_in_48 = NULL;
+main_Image_2_in_49 = NULL;
+Executive("product version 4 3 2");
+$sync
+main();

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/s362ani/REF
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/s362ani/REF	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/s362ani/REF	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,753 @@
+REF
+1 1. 1 1
+  750  180  358  717  739
+      0. 13088.48 11262.20  3667.80   1327.6    104.0 11262.20  3667.80  1.00000
+   6824. 13088.47 11262.20  3667.79   1327.6    104.0 11262.20  3667.79  1.00000
+  13648. 13088.44 11262.18  3667.78   1327.6    104.0 11262.18  3667.78  1.00000
+  20472. 13088.39 11262.14  3667.75   1327.6    104.0 11262.14  3667.75  1.00000
+  27296. 13088.32 11262.09  3667.72   1327.6    104.0 11262.09  3667.72  1.00000
+  34120. 13088.22 11262.02  3667.67   1327.6    104.0 11262.02  3667.67  1.00000
+  40944. 13088.11 11261.94  3667.62   1327.6    104.0 11261.94  3667.62  1.00000
+  47768. 13087.98 11261.85  3667.55   1327.6    104.0 11261.85  3667.55  1.00000
+  54592. 13087.83 11261.74  3667.47   1327.6    104.0 11261.74  3667.47  1.00000
+  61416. 13087.66 11261.61  3667.39   1327.6    104.0 11261.61  3667.39  1.00000
+  68240. 13087.46 11261.47  3667.29   1327.6    104.0 11261.47  3667.29  1.00000
+  75064. 13087.25 11261.32  3667.18   1327.6    104.0 11261.32  3667.18  1.00000
+  81888. 13087.02 11261.15  3667.06   1327.6    104.0 11261.15  3667.06  1.00000
+  88712. 13086.76 11260.97  3666.94   1327.6    104.0 11260.97  3666.94  1.00000
+  95536. 13086.49 11260.77  3666.80   1327.6    104.0 11260.77  3666.80  1.00000
+ 102360. 13086.20 11260.56  3666.65   1327.6    104.0 11260.56  3666.65  1.00000
+ 109184. 13085.88 11260.34  3666.49   1327.6    104.0 11260.34  3666.49  1.00000
+ 116007. 13085.55 11260.09  3666.32   1327.6    104.0 11260.09  3666.32  1.00000
+ 122831. 13085.19 11259.84  3666.15   1327.6    104.0 11259.84  3666.15  1.00000
+ 129655. 13084.82 11259.57  3665.96   1327.6    104.0 11259.57  3665.96  1.00000
+ 136479. 13084.42 11259.28  3665.76   1327.6    104.0 11259.28  3665.76  1.00000
+ 143303. 13084.01 11258.99  3665.55   1327.6    104.0 11258.99  3665.55  1.00000
+ 150127. 13083.57 11258.67  3665.33   1327.6    104.0 11258.67  3665.33  1.00000
+ 156951. 13083.11 11258.34  3665.10   1327.6    104.0 11258.34  3665.10  1.00000
+ 163775. 13082.64 11258.00  3664.86   1327.6    104.0 11258.00  3664.86  1.00000
+ 170599. 13082.14 11257.64  3664.61   1327.6    104.0 11257.64  3664.61  1.00000
+ 177423. 13081.62 11257.27  3664.35   1327.6    104.0 11257.27  3664.35  1.00000
+ 184247. 13081.09 11256.88  3664.08   1327.6    104.0 11256.88  3664.08  1.00000
+ 191071. 13080.53 11256.48  3663.80   1327.6    104.0 11256.48  3663.80  1.00000
+ 197895. 13079.95 11256.06  3663.51   1327.6    104.0 11256.06  3663.51  1.00000
+ 204719. 13079.35 11255.63  3663.21   1327.6    104.0 11255.63  3663.21  1.00000
+ 211543. 13078.73 11255.19  3662.90   1327.6    104.0 11255.19  3662.90  1.00000
+ 218367. 13078.09 11254.73  3662.57   1327.6    104.0 11254.73  3662.57  1.00000
+ 225191. 13077.44 11254.25  3662.24   1327.6    104.0 11254.25  3662.24  1.00000
+ 232015. 13076.76 11253.76  3661.90   1327.6    104.0 11253.76  3661.90  1.00000
+ 238839. 13076.06 11253.26  3661.55   1327.6    104.0 11253.26  3661.55  1.00000
+ 245663. 13075.34 11252.74  3661.19   1327.6    104.0 11252.74  3661.19  1.00000
+ 252487. 13074.60 11252.21  3660.81   1327.6    104.0 11252.21  3660.81  1.00000
+ 259311. 13073.84 11251.66  3660.43   1327.6    104.0 11251.66  3660.43  1.00000
+ 266135. 13073.06 11251.10  3660.04   1327.6    104.0 11251.10  3660.04  1.00000
+ 272959. 13072.25 11250.52  3659.64   1327.6    104.0 11250.52  3659.64  1.00000
+ 279783. 13071.43 11249.93  3659.22   1327.6    104.0 11249.93  3659.22  1.00000
+ 286607. 13070.59 11249.33  3658.80   1327.6    104.0 11249.33  3658.80  1.00000
+ 293431. 13069.73 11248.71  3658.36   1327.6    104.0 11248.71  3658.36  1.00000
+ 300255. 13068.85 11248.07  3657.92   1327.6    104.0 11248.07  3657.92  1.00000
+ 307079. 13067.95 11247.42  3657.47   1327.6    104.0 11247.42  3657.47  1.00000
+ 313903. 13067.02 11246.76  3657.00   1327.6    104.0 11246.76  3657.00  1.00000
+ 320727. 13066.08 11246.08  3656.53   1327.6    104.0 11246.08  3656.53  1.00000
+ 327551. 13065.12 11245.38  3656.04   1327.6    104.0 11245.38  3656.04  1.00000
+ 334375. 13064.13 11244.67  3655.55   1327.6    104.0 11244.67  3655.55  1.00000
+ 341199. 13063.13 11243.95  3655.04   1327.6    104.0 11243.95  3655.04  1.00000
+ 348022. 13062.10 11243.21  3654.53   1327.6    104.0 11243.21  3654.53  1.00000
+ 354846. 13061.06 11242.46  3654.00   1327.6    104.0 11242.46  3654.00  1.00000
+ 361670. 13060.00 11241.70  3653.47   1327.6    104.0 11241.70  3653.47  1.00000
+ 368494. 13058.91 11240.91  3652.92   1327.6    104.0 11240.91  3652.92  1.00000
+ 375318. 13057.81 11240.12  3652.36   1327.6    104.0 11240.12  3652.36  1.00000
+ 382142. 13056.68 11239.31  3651.80   1327.6    104.0 11239.31  3651.80  1.00000
+ 388966. 13055.53 11238.48  3651.22   1327.6    104.0 11238.48  3651.22  1.00000
+ 395790. 13054.37 11237.64  3650.63   1327.6    104.0 11237.64  3650.63  1.00000
+ 402614. 13053.18 11236.79  3650.04   1327.6    104.0 11236.79  3650.04  1.00000
+ 409438. 13051.98 11235.92  3649.43   1327.6    104.0 11235.92  3649.43  1.00000
+ 416262. 13050.75 11235.04  3648.81   1327.6    104.0 11235.04  3648.81  1.00000
+ 423086. 13049.50 11234.14  3648.19   1327.6    104.0 11234.14  3648.19  1.00000
+ 429910. 13048.23 11233.23  3647.55   1327.6    104.0 11233.23  3647.55  1.00000
+ 436734. 13046.95 11232.30  3646.90   1327.6    104.0 11232.30  3646.90  1.00000
+ 443558. 13045.64 11231.36  3646.24   1327.6    104.0 11231.36  3646.24  1.00000
+ 450382. 13044.31 11230.40  3645.57   1327.6    104.0 11230.40  3645.57  1.00000
+ 457206. 13042.96 11229.43  3644.89   1327.6    104.0 11229.43  3644.89  1.00000
+ 464030. 13041.59 11228.44  3644.21   1327.6    104.0 11228.44  3644.21  1.00000
+ 470854. 13040.20 11227.44  3643.51   1327.6    104.0 11227.44  3643.51  1.00000
+ 477678. 13038.79 11226.43  3642.80   1327.6    104.0 11226.43  3642.80  1.00000
+ 484502. 13037.36 11225.40  3642.08   1327.6    104.0 11225.40  3642.08  1.00000
+ 491326. 13035.91 11224.36  3641.35   1327.6    104.0 11224.36  3641.35  1.00000
+ 498150. 13034.44 11223.30  3640.61   1327.6    104.0 11223.30  3640.61  1.00000
+ 504974. 13032.95 11222.22  3639.86   1327.6    104.0 11222.22  3639.86  1.00000
+ 511798. 13031.44 11221.14  3639.10   1327.6    104.0 11221.14  3639.10  1.00000
+ 518622. 13029.91 11220.03  3638.33   1327.6    104.0 11220.03  3638.33  1.00000
+ 525446. 13028.36 11218.92  3637.55   1327.6    104.0 11218.92  3637.55  1.00000
+ 532270. 13026.79 11217.78  3636.76   1327.6    104.0 11217.78  3636.76  1.00000
+ 539094. 13025.20 11216.64  3635.96   1327.6    104.0 11216.64  3635.96  1.00000
+ 545918. 13023.58 11215.48  3635.14   1327.6    104.0 11215.48  3635.14  1.00000
+ 552742. 13021.95 11214.30  3634.32   1327.6    104.0 11214.30  3634.32  1.00000
+ 559566. 13020.30 11213.11  3633.49   1327.6    104.0 11213.11  3633.49  1.00000
+ 566390. 13018.63 11211.91  3632.65   1327.6    104.0 11211.91  3632.65  1.00000
+ 573214. 13016.93 11210.69  3631.80   1327.6    104.0 11210.69  3631.80  1.00000
+ 580037. 13015.22 11209.45  3630.93   1327.6    104.0 11209.45  3630.93  1.00000
+ 586861. 13013.49 11208.21  3630.06   1327.6    104.0 11208.21  3630.06  1.00000
+ 593685. 13011.73 11206.94  3629.18   1327.6    104.0 11206.94  3629.18  1.00000
+ 600509. 13009.96 11205.67  3628.29   1327.6    104.0 11205.67  3628.29  1.00000
+ 607333. 13008.16 11204.37  3627.38   1327.6    104.0 11204.37  3627.38  1.00000
+ 614157. 13006.35 11203.07  3626.47   1327.6    104.0 11203.07  3626.47  1.00000
+ 620981. 13004.51 11201.74  3625.55   1327.6    104.0 11201.74  3625.55  1.00000
+ 627805. 13002.66 11200.41  3624.61   1327.6    104.0 11200.41  3624.61  1.00000
+ 634629. 13000.78 11199.06  3623.67   1327.6    104.0 11199.06  3623.67  1.00000
+ 641453. 12998.88 11197.69  3622.71   1327.6    104.0 11197.69  3622.71  1.00000
+ 648277. 12996.97 11196.31  3621.75   1327.6    104.0 11196.31  3621.75  1.00000
+ 655101. 12995.03 11194.92  3620.78   1327.6    104.0 11194.92  3620.78  1.00000
+ 661925. 12993.07 11193.51  3619.79   1327.6    104.0 11193.51  3619.79  1.00000
+ 668749. 12991.10 11192.09  3618.80   1327.6    104.0 11192.09  3618.80  1.00000
+ 675573. 12989.10 11190.65  3617.79   1327.6    104.0 11190.65  3617.79  1.00000
+ 682397. 12987.08 11189.19  3616.78   1327.6    104.0 11189.19  3616.78  1.00000
+ 689221. 12985.04 11187.73  3615.75   1327.6    104.0 11187.73  3615.75  1.00000
+ 696045. 12982.99 11186.24  3614.71   1327.6    104.0 11186.24  3614.71  1.00000
+ 702869. 12980.91 11184.75  3613.67   1327.6    104.0 11184.75  3613.67  1.00000
+ 709693. 12978.81 11183.24  3612.61   1327.6    104.0 11183.24  3612.61  1.00000
+ 716517. 12976.69 11181.71  3611.55   1327.6    104.0 11181.71  3611.55  1.00000
+ 723341. 12974.55 11180.17  3610.47   1327.6    104.0 11180.17  3610.47  1.00000
+ 730165. 12972.39 11178.61  3609.38   1327.6    104.0 11178.61  3609.38  1.00000
+ 736989. 12970.21 11177.04  3608.28   1327.6    104.0 11177.04  3608.28  1.00000
+ 743813. 12968.01 11175.46  3607.18   1327.6    104.0 11175.46  3607.18  1.00000
+ 750637. 12965.79 11173.86  3606.06   1327.6    104.0 11173.86  3606.06  1.00000
+ 757461. 12963.55 11172.25  3604.93   1327.6    104.0 11172.25  3604.93  1.00000
+ 764285. 12961.29 11170.62  3603.79   1327.6    104.0 11170.62  3603.79  1.00000
+ 771109. 12959.01 11168.98  3602.65   1327.6    104.0 11168.98  3602.65  1.00000
+ 777933. 12956.70 11167.32  3601.49   1327.6    104.0 11167.32  3601.49  1.00000
+ 784757. 12954.38 11165.65  3600.32   1327.6    104.0 11165.65  3600.32  1.00000
+ 791581. 12952.04 11163.96  3599.14   1327.6    104.0 11163.96  3599.14  1.00000
+ 798405. 12949.68 11162.26  3597.95   1327.6    104.0 11162.26  3597.95  1.00000
+ 805229. 12947.29 11160.54  3596.75   1327.6    104.0 11160.54  3596.75  1.00000
+ 812052. 12944.89 11158.81  3595.54   1327.6    104.0 11158.81  3595.54  1.00000
+ 818876. 12942.47 11157.07  3594.32   1327.6    104.0 11157.07  3594.32  1.00000
+ 825700. 12940.02 11155.31  3593.10   1327.6    104.0 11155.31  3593.10  1.00000
+ 832524. 12937.56 11153.54  3591.86   1327.6    104.0 11153.54  3591.86  1.00000
+ 839348. 12935.08 11151.75  3590.61   1327.6    104.0 11151.75  3590.61  1.00000
+ 846172. 12932.57 11149.94  3589.34   1327.6    104.0 11149.94  3589.34  1.00000
+ 852996. 12930.05 11148.13  3588.07   1327.6    104.0 11148.13  3588.07  1.00000
+ 859820. 12927.50 11146.29  3586.79   1327.6    104.0 11146.29  3586.79  1.00000
+ 866644. 12924.94 11144.45  3585.50   1327.6    104.0 11144.45  3585.50  1.00000
+ 873468. 12922.35 11142.58  3584.20   1327.6    104.0 11142.58  3584.20  1.00000
+ 880292. 12919.75 11140.71  3582.89   1327.6    104.0 11140.71  3582.89  1.00000
+ 887116. 12917.12 11138.82  3581.57   1327.6    104.0 11138.82  3581.57  1.00000
+ 893940. 12914.47 11136.91  3580.24   1327.6    104.0 11136.91  3580.24  1.00000
+ 900764. 12911.81 11134.99  3578.90   1327.6    104.0 11134.99  3578.90  1.00000
+ 907588. 12909.12 11133.06  3577.54   1327.6    104.0 11133.06  3577.54  1.00000
+ 914412. 12906.41 11131.11  3576.18   1327.6    104.0 11131.11  3576.18  1.00000
+ 921236. 12903.68 11129.14  3574.81   1327.6    104.0 11129.14  3574.81  1.00000
+ 928060. 12900.94 11127.16  3573.43   1327.6    104.0 11127.16  3573.43  1.00000
+ 934884. 12898.17 11125.17  3572.03   1327.6    104.0 11125.17  3572.03  1.00000
+ 941708. 12895.38 11123.16  3570.63   1327.6    104.0 11123.16  3570.63  1.00000
+ 948532. 12892.57 11121.14  3569.22   1327.6    104.0 11121.14  3569.22  1.00000
+ 955356. 12889.74 11119.10  3567.79   1327.6    104.0 11119.10  3567.79  1.00000
+ 962180. 12886.89 11117.05  3566.36   1327.6    104.0 11117.05  3566.36  1.00000
+ 969004. 12884.02 11114.99  3564.91   1327.6    104.0 11114.99  3564.91  1.00000
+ 975828. 12881.13 11112.90  3563.46   1327.6    104.0 11112.90  3563.46  1.00000
+ 982652. 12878.22 11110.81  3562.00   1327.6    104.0 11110.81  3562.00  1.00000
+ 989476. 12875.29 11108.70  3560.52   1327.6    104.0 11108.70  3560.52  1.00000
+ 996300. 12872.34 11106.57  3559.04   1327.6    104.0 11106.57  3559.04  1.00000
+1003124. 12869.37 11104.44  3557.54   1327.6    104.0 11104.44  3557.54  1.00000
+1009948. 12866.38 11102.28  3556.04   1327.6    104.0 11102.28  3556.04  1.00000
+1016772. 12863.37 11100.11  3554.52   1327.6    104.0 11100.11  3554.52  1.00000
+1023596. 12860.34 11097.93  3553.00   1327.6    104.0 11097.93  3553.00  1.00000
+1030420. 12857.29 11095.73  3551.46   1327.6    104.0 11095.73  3551.46  1.00000
+1037244. 12854.21 11093.52  3549.91   1327.6    104.0 11093.52  3549.91  1.00000
+1044067. 12851.12 11091.29  3548.36   1327.6    104.0 11091.29  3548.36  1.00000
+1050891. 12848.01 11089.05  3546.79   1327.6    104.0 11089.05  3546.79  1.00000
+1057715. 12844.88 11086.80  3545.21   1327.6    104.0 11086.80  3545.21  1.00000
+1064539. 12841.72 11084.53  3543.63   1327.6    104.0 11084.53  3543.63  1.00000
+1071363. 12838.55 11082.24  3542.03   1327.6    104.0 11082.24  3542.03  1.00000
+1078187. 12835.35 11079.94  3540.42   1327.6    104.0 11079.94  3540.42  1.00000
+1085011. 12832.14 11077.63  3538.81   1327.6    104.0 11077.63  3538.81  1.00000
+1091835. 12828.91 11075.30  3537.18   1327.6    104.0 11075.30  3537.18  1.00000
+1098659. 12825.65 11072.95  3535.54   1327.6    104.0 11072.95  3535.54  1.00000
+1105483. 12822.38 11070.59  3533.89   1327.6    104.0 11070.59  3533.89  1.00000
+1112307. 12819.08 11068.22  3532.23   1327.6    104.0 11068.22  3532.23  1.00000
+1119131. 12815.76 11065.83  3530.57   1327.6    104.0 11065.83  3530.57  1.00000
+1125955. 12812.43 11063.43  3528.89   1327.6    104.0 11063.43  3528.89  1.00000
+1132779. 12809.07 11061.02  3527.20   1327.6    104.0 11061.02  3527.20  1.00000
+1139603. 12805.70 11058.58  3525.50   1327.6    104.0 11058.58  3525.50  1.00000
+1146427. 12802.30 11056.14  3523.79   1327.6    104.0 11056.14  3523.79  1.00000
+1153251. 12798.88 11053.68  3522.07   1327.6    104.0 11053.68  3522.07  1.00000
+1160075. 12795.44 11051.20  3520.34   1327.6    104.0 11051.20  3520.34  1.00000
+1166899. 12791.99 11048.71  3518.60   1327.6    104.0 11048.71  3518.60  1.00000
+1173723. 12788.51 11046.21  3516.85   1327.6    104.0 11046.21  3516.85  1.00000
+1180547. 12785.01 11043.69  3515.09   1327.6    104.0 11043.69  3515.09  1.00000
+1187371. 12781.49 11041.16  3513.32   1327.6    104.0 11041.16  3513.32  1.00000
+1194195. 12777.95 11038.61  3511.54   1327.6    104.0 11038.61  3511.54  1.00000
+1201019. 12774.40 11036.05  3509.75   1327.6    104.0 11036.05  3509.75  1.00000
+1207843. 12770.82 11033.47  3507.95   1327.6    104.0 11033.47  3507.95  1.00000
+1214667. 12767.22 11030.88  3506.13   1327.6    104.0 11030.88  3506.13  1.00000
+1221491. 12763.60 11028.27  3504.31   1327.6    104.0 11028.27  3504.31  1.00000
+1221491. 12166.35 10355.69     0.00  57822.5      0.0 10355.69     0.00  1.00000
+1234250. 12159.77 10348.28     0.00  57822.5      0.0 10348.28     0.00  1.00000
+1247010. 12153.14 10340.85     0.00  57822.5      0.0 10340.85     0.00  1.00000
+1259770. 12146.45 10333.39     0.00  57822.5      0.0 10333.39     0.00  1.00000
+1272530. 12139.71 10325.91     0.00  57822.5      0.0 10325.91     0.00  1.00000
+1285289. 12132.91 10318.40     0.00  57822.5      0.0 10318.40     0.00  1.00000
+1298049. 12126.05 10310.87     0.00  57822.5      0.0 10310.87     0.00  1.00000
+1310809. 12119.14 10303.30     0.00  57822.5      0.0 10303.30     0.00  1.00000
+1323568. 12112.18 10295.71     0.00  57822.5      0.0 10295.71     0.00  1.00000
+1336328. 12105.15 10288.09     0.00  57822.5      0.0 10288.09     0.00  1.00000
+1349088. 12098.07 10280.44     0.00  57822.5      0.0 10280.44     0.00  1.00000
+1361847. 12090.93 10272.76     0.00  57822.5      0.0 10272.76     0.00  1.00000
+1374607. 12083.73 10265.04     0.00  57822.5      0.0 10265.04     0.00  1.00000
+1387367. 12076.48 10257.30     0.00  57822.5      0.0 10257.30     0.00  1.00000
+1400127. 12069.17 10249.52     0.00  57822.5      0.0 10249.52     0.00  1.00000
+1412886. 12061.80 10241.71     0.00  57822.5      0.0 10241.71     0.00  1.00000
+1425646. 12054.37 10233.86     0.00  57822.5      0.0 10233.86     0.00  1.00000
+1438406. 12046.88 10225.98     0.00  57822.5      0.0 10225.98     0.00  1.00000
+1451165. 12039.33 10218.06     0.00  57822.5      0.0 10218.06     0.00  1.00000
+1463925. 12031.72 10210.11     0.00  57822.5      0.0 10210.11     0.00  1.00000
+1476685. 12024.05 10202.12     0.00  57822.5      0.0 10202.12     0.00  1.00000
+1489444. 12016.33 10194.10     0.00  57822.5      0.0 10194.10     0.00  1.00000
+1502204. 12008.54 10186.04     0.00  57822.5      0.0 10186.04     0.00  1.00000
+1514964. 12000.69 10177.94     0.00  57822.5      0.0 10177.94     0.00  1.00000
+1527724. 11992.78 10169.79     0.00  57822.5      0.0 10169.79     0.00  1.00000
+1540483. 11984.81 10161.61     0.00  57822.5      0.0 10161.61     0.00  1.00000
+1553243. 11976.78 10153.39     0.00  57822.5      0.0 10153.39     0.00  1.00000
+1566003. 11968.68 10145.13     0.00  57822.5      0.0 10145.13     0.00  1.00000
+1578762. 11960.53 10136.83     0.00  57822.5      0.0 10136.83     0.00  1.00000
+1591522. 11952.31 10128.48     0.00  57822.5      0.0 10128.48     0.00  1.00000
+1604282. 11944.03 10120.09     0.00  57822.5      0.0 10120.09     0.00  1.00000
+1617041. 11935.69 10111.66     0.00  57822.5      0.0 10111.66     0.00  1.00000
+1629801. 11927.28 10103.18     0.00  57822.5      0.0 10103.18     0.00  1.00000
+1642561. 11918.81 10094.66     0.00  57822.5      0.0 10094.66     0.00  1.00000
+1655321. 11910.28 10086.09     0.00  57822.5      0.0 10086.09     0.00  1.00000
+1668080. 11901.68 10077.48     0.00  57822.5      0.0 10077.48     0.00  1.00000
+1680840. 11893.02 10068.82     0.00  57822.5      0.0 10068.82     0.00  1.00000
+1693600. 11884.30 10060.11     0.00  57822.5      0.0 10060.11     0.00  1.00000
+1706359. 11875.51 10051.35     0.00  57822.5      0.0 10051.35     0.00  1.00000
+1719119. 11866.66 10042.54     0.00  57822.5      0.0 10042.54     0.00  1.00000
+1731879. 11857.74 10033.69     0.00  57822.5      0.0 10033.69     0.00  1.00000
+1744638. 11848.75 10024.78     0.00  57822.5      0.0 10024.78     0.00  1.00000
+1757398. 11839.70 10015.82     0.00  57822.5      0.0 10015.82     0.00  1.00000
+1770158. 11830.58 10006.82     0.00  57822.5      0.0 10006.82     0.00  1.00000
+1782918. 11821.40  9997.75     0.00  57822.5      0.0  9997.75     0.00  1.00000
+1795677. 11812.15  9988.64     0.00  57822.5      0.0  9988.64     0.00  1.00000
+1808437. 11802.84  9979.47     0.00  57822.5      0.0  9979.47     0.00  1.00000
+1821197. 11793.45  9970.25     0.00  57822.5      0.0  9970.25     0.00  1.00000
+1833956. 11784.01  9960.97     0.00  57822.5      0.0  9960.97     0.00  1.00000
+1846716. 11774.49  9951.64     0.00  57822.5      0.0  9951.64     0.00  1.00000
+1859476. 11764.90  9942.25     0.00  57822.5      0.0  9942.25     0.00  1.00000
+1872235. 11755.25  9932.81     0.00  57822.5      0.0  9932.81     0.00  1.00000
+1884995. 11745.53  9923.31     0.00  57822.5      0.0  9923.31     0.00  1.00000
+1897755. 11735.74  9913.75     0.00  57822.5      0.0  9913.75     0.00  1.00000
+1910515. 11725.88  9904.13     0.00  57822.5      0.0  9904.13     0.00  1.00000
+1923274. 11715.95  9894.45     0.00  57822.5      0.0  9894.45     0.00  1.00000
+1936034. 11705.95  9884.71     0.00  57822.5      0.0  9884.71     0.00  1.00000
+1948794. 11695.89  9874.91     0.00  57822.5      0.0  9874.91     0.00  1.00000
+1961553. 11685.75  9865.05     0.00  57822.5      0.0  9865.05     0.00  1.00000
+1974313. 11675.54  9855.13     0.00  57822.5      0.0  9855.13     0.00  1.00000
+1987073. 11665.26  9845.14     0.00  57822.5      0.0  9845.14     0.00  1.00000
+1999832. 11654.92  9835.09     0.00  57822.5      0.0  9835.09     0.00  1.00000
+2012592. 11644.50  9824.98     0.00  57822.5      0.0  9824.98     0.00  1.00000
+2025352. 11634.01  9814.80     0.00  57822.5      0.0  9814.80     0.00  1.00000
+2038112. 11623.44  9804.56     0.00  57822.5      0.0  9804.56     0.00  1.00000
+2050871. 11612.81  9794.25     0.00  57822.5      0.0  9794.25     0.00  1.00000
+2063631. 11602.10  9783.87     0.00  57822.5      0.0  9783.87     0.00  1.00000
+2076391. 11591.32  9773.43     0.00  57822.5      0.0  9773.43     0.00  1.00000
+2089150. 11580.47  9762.92     0.00  57822.5      0.0  9762.92     0.00  1.00000
+2101910. 11569.55  9752.34     0.00  57822.5      0.0  9752.34     0.00  1.00000
+2114670. 11558.55  9741.69     0.00  57822.5      0.0  9741.69     0.00  1.00000
+2127429. 11547.48  9730.97     0.00  57822.5      0.0  9730.97     0.00  1.00000
+2140189. 11536.34  9720.18     0.00  57822.5      0.0  9720.18     0.00  1.00000
+2152949. 11525.12  9709.32     0.00  57822.5      0.0  9709.32     0.00  1.00000
+2165709. 11513.83  9698.39     0.00  57822.5      0.0  9698.39     0.00  1.00000
+2178468. 11502.46  9687.38     0.00  57822.5      0.0  9687.38     0.00  1.00000
+2191228. 11491.02  9676.31     0.00  57822.5      0.0  9676.31     0.00  1.00000
+2203988. 11479.51  9665.15     0.00  57822.5      0.0  9665.15     0.00  1.00000
+2216747. 11467.91  9653.93     0.00  57822.5      0.0  9653.93     0.00  1.00000
+2229507. 11456.25  9642.63     0.00  57822.5      0.0  9642.63     0.00  1.00000
+2242267. 11444.50  9631.25     0.00  57822.5      0.0  9631.25     0.00  1.00000
+2255026. 11432.69  9619.80     0.00  57822.5      0.0  9619.80     0.00  1.00000
+2267786. 11420.79  9608.27     0.00  57822.5      0.0  9608.27     0.00  1.00000
+2280546. 11408.82  9596.66     0.00  57822.5      0.0  9596.66     0.00  1.00000
+2293306. 11396.77  9584.97     0.00  57822.5      0.0  9584.97     0.00  1.00000
+2306065. 11384.64  9573.20     0.00  57822.5      0.0  9573.20     0.00  1.00000
+2318825. 11372.44  9561.36     0.00  57822.5      0.0  9561.36     0.00  1.00000
+2331585. 11360.16  9549.43     0.00  57822.5      0.0  9549.43     0.00  1.00000
+2344344. 11347.80  9537.43     0.00  57822.5      0.0  9537.43     0.00  1.00000
+2357104. 11335.37  9525.34     0.00  57822.5      0.0  9525.34     0.00  1.00000
+2369864. 11322.85  9513.17     0.00  57822.5      0.0  9513.17     0.00  1.00000
+2382623. 11310.26  9500.91     0.00  57822.5      0.0  9500.91     0.00  1.00000
+2395383. 11297.58  9488.57     0.00  57822.5      0.0  9488.57     0.00  1.00000
+2408143. 11284.83  9476.15     0.00  57822.5      0.0  9476.15     0.00  1.00000
+2420903. 11272.00  9463.64     0.00  57822.5      0.0  9463.64     0.00  1.00000
+2433662. 11259.09  9451.05     0.00  57822.5      0.0  9451.05     0.00  1.00000
+2446422. 11246.10  9438.37     0.00  57822.5      0.0  9438.37     0.00  1.00000
+2459182. 11233.03  9425.61     0.00  57822.5      0.0  9425.61     0.00  1.00000
+2471941. 11219.87  9412.75     0.00  57822.5      0.0  9412.75     0.00  1.00000
+2484701. 11206.64  9399.81     0.00  57822.5      0.0  9399.81     0.00  1.00000
+2497461. 11193.33  9386.78     0.00  57822.5      0.0  9386.78     0.00  1.00000
+2510220. 11179.93  9373.66     0.00  57822.5      0.0  9373.66     0.00  1.00000
+2522980. 11166.45  9360.45     0.00  57822.5      0.0  9360.45     0.00  1.00000
+2535740. 11152.89  9347.15     0.00  57822.5      0.0  9347.15     0.00  1.00000
+2548500. 11139.25  9333.76     0.00  57822.5      0.0  9333.76     0.00  1.00000
+2561259. 11125.53  9320.27     0.00  57822.5      0.0  9320.27     0.00  1.00000
+2574019. 11111.72  9306.70     0.00  57822.5      0.0  9306.70     0.00  1.00000
+2586779. 11097.83  9293.03     0.00  57822.5      0.0  9293.03     0.00  1.00000
+2599538. 11083.86  9279.26     0.00  57822.5      0.0  9279.26     0.00  1.00000
+2612298. 11069.80  9265.40     0.00  57822.5      0.0  9265.40     0.00  1.00000
+2625058. 11055.66  9251.45     0.00  57822.5      0.0  9251.45     0.00  1.00000
+2637818. 11041.44  9237.40     0.00  57822.5      0.0  9237.40     0.00  1.00000
+2650577. 11027.13  9223.25     0.00  57822.5      0.0  9223.25     0.00  1.00000
+2663337. 11012.74  9209.00     0.00  57822.5      0.0  9209.00     0.00  1.00000
+2676097. 10998.26  9194.66     0.00  57822.5      0.0  9194.66     0.00  1.00000
+2688856. 10983.70  9180.22     0.00  57822.5      0.0  9180.22     0.00  1.00000
+2701616. 10969.05  9165.68     0.00  57822.5      0.0  9165.68     0.00  1.00000
+2714376. 10954.32  9151.03     0.00  57822.5      0.0  9151.03     0.00  1.00000
+2727135. 10939.50  9136.29     0.00  57822.5      0.0  9136.29     0.00  1.00000
+2739895. 10924.59  9121.45     0.00  57822.5      0.0  9121.45     0.00  1.00000
+2752655. 10909.60  9106.50     0.00  57822.5      0.0  9106.50     0.00  1.00000
+2765415. 10894.52  9091.46     0.00  57822.5      0.0  9091.46     0.00  1.00000
+2778174. 10879.35  9076.30     0.00  57822.5      0.0  9076.30     0.00  1.00000
+2790934. 10864.10  9061.05     0.00  57822.5      0.0  9061.05     0.00  1.00000
+2803694. 10848.76  9045.69     0.00  57822.5      0.0  9045.69     0.00  1.00000
+2816453. 10833.33  9030.23     0.00  57822.5      0.0  9030.23     0.00  1.00000
+2829213. 10817.81  9014.65     0.00  57822.5      0.0  9014.65     0.00  1.00000
+2841973. 10802.21  8998.98     0.00  57822.5      0.0  8998.98     0.00  1.00000
+2854732. 10786.51  8983.19     0.00  57822.5      0.0  8983.19     0.00  1.00000
+2867492. 10770.73  8967.30     0.00  57822.5      0.0  8967.30     0.00  1.00000
+2880252. 10754.86  8951.30     0.00  57822.5      0.0  8951.30     0.00  1.00000
+2893012. 10738.90  8935.19     0.00  57822.5      0.0  8935.19     0.00  1.00000
+2905771. 10722.85  8918.97     0.00  57822.5      0.0  8918.97     0.00  1.00000
+2918531. 10706.71  8902.64     0.00  57822.5      0.0  8902.64     0.00  1.00000
+2931291. 10690.48  8886.20     0.00  57822.5      0.0  8886.20     0.00  1.00000
+2944050. 10674.16  8869.64     0.00  57822.5      0.0  8869.64     0.00  1.00000
+2956810. 10657.75  8852.98     0.00  57822.5      0.0  8852.98     0.00  1.00000
+2969570. 10641.24  8836.20     0.00  57822.5      0.0  8836.20     0.00  1.00000
+2982329. 10624.65  8819.31     0.00  57822.5      0.0  8819.31     0.00  1.00000
+2995089. 10607.96  8802.30     0.00  57822.5      0.0  8802.30     0.00  1.00000
+3007849. 10591.19  8785.18     0.00  57822.5      0.0  8785.18     0.00  1.00000
+3020609. 10574.32  8767.94     0.00  57822.5      0.0  8767.94     0.00  1.00000
+3033368. 10557.36  8750.59     0.00  57822.5      0.0  8750.59     0.00  1.00000
+3046128. 10540.30  8733.12     0.00  57822.5      0.0  8733.12     0.00  1.00000
+3058888. 10523.16  8715.53     0.00  57822.5      0.0  8715.53     0.00  1.00000
+3071647. 10505.92  8697.82     0.00  57822.5      0.0  8697.82     0.00  1.00000
+3084407. 10488.58  8680.00     0.00  57822.5      0.0  8680.00     0.00  1.00000
+3097167. 10471.15  8662.05     0.00  57822.5      0.0  8662.05     0.00  1.00000
+3109926. 10453.63  8643.99     0.00  57822.5      0.0  8643.99     0.00  1.00000
+3122686. 10436.02  8625.80     0.00  57822.5      0.0  8625.80     0.00  1.00000
+3135446. 10418.31  8607.49     0.00  57822.5      0.0  8607.49     0.00  1.00000
+3148206. 10400.51  8589.06     0.00  57822.5      0.0  8589.06     0.00  1.00000
+3160965. 10382.61  8570.51     0.00  57822.5      0.0  8570.51     0.00  1.00000
+3173725. 10364.61  8551.83     0.00  57822.5      0.0  8551.83     0.00  1.00000
+3186485. 10346.52  8533.03     0.00  57822.5      0.0  8533.03     0.00  1.00000
+3199244. 10328.34  8514.10     0.00  57822.5      0.0  8514.10     0.00  1.00000
+3212004. 10310.05  8495.05     0.00  57822.5      0.0  8495.05     0.00  1.00000
+3224764. 10291.68  8475.87     0.00  57822.5      0.0  8475.87     0.00  1.00000
+3237523. 10273.20  8456.57     0.00  57822.5      0.0  8456.57     0.00  1.00000
+3250283. 10254.63  8437.14     0.00  57822.5      0.0  8437.14     0.00  1.00000
+3263043. 10235.96  8417.58     0.00  57822.5      0.0  8417.58     0.00  1.00000
+3275803. 10217.20  8397.89     0.00  57822.5      0.0  8397.89     0.00  1.00000
+3288562. 10198.33  8378.07     0.00  57822.5      0.0  8378.07     0.00  1.00000
+3301322. 10179.37  8358.12     0.00  57822.5      0.0  8358.12     0.00  1.00000
+3314082. 10160.31  8338.04     0.00  57822.5      0.0  8338.04     0.00  1.00000
+3326841. 10141.15  8317.83     0.00  57822.5      0.0  8317.83     0.00  1.00000
+3339601. 10121.90  8297.49     0.00  57822.5      0.0  8297.49     0.00  1.00000
+3352361. 10102.54  8277.01     0.00  57822.5      0.0  8277.01     0.00  1.00000
+3365120. 10083.09  8256.41     0.00  57822.5      0.0  8256.41     0.00  1.00000
+3377880. 10063.53  8235.66     0.00  57822.5      0.0  8235.66     0.00  1.00000
+3390640. 10043.88  8214.79     0.00  57822.5      0.0  8214.79     0.00  1.00000
+3403400. 10024.12  8193.77     0.00  57822.5      0.0  8193.77     0.00  1.00000
+3416159. 10004.27  8172.62     0.00  57822.5      0.0  8172.62     0.00  1.00000
+3428919.  9984.32  8151.34     0.00  57822.5      0.0  8151.34     0.00  1.00000
+3441679.  9964.26  8129.92     0.00  57822.5      0.0  8129.92     0.00  1.00000
+3454438.  9944.10  8108.36     0.00  57822.5      0.0  8108.36     0.00  1.00000
+3467198.  9923.84  8086.66     0.00  57822.5      0.0  8086.66     0.00  1.00000
+3479958.  9903.48  8064.82     0.00  57822.5      0.0  8064.82     0.00  1.00000
+3479958.  5566.45 13716.60  7264.66  57822.5    355.0 13716.60  7264.66  1.00000
+3489335.  5561.75 13714.29  7264.75  57822.5    355.0 13714.29  7264.75  1.00000
+3498713.  5557.05 13712.00  7264.85  57822.5    355.0 13712.00  7264.85  1.00000
+3508091.  5552.36 13709.70  7264.94  57822.5    355.0 13709.70  7264.94  1.00000
+3517468.  5547.66 13707.42  7265.03  57822.5    355.0 13707.42  7265.03  1.00000
+3526846.  5542.97 13705.14  7265.12  57822.5    355.0 13705.14  7265.12  1.00000
+3536224.  5538.28 13702.86  7265.21  57822.5    355.0 13702.86  7265.21  1.00000
+3545601.  5533.59 13700.59  7265.29  57822.5    355.0 13700.59  7265.29  1.00000
+3554979.  5528.90 13698.33  7265.38  57822.5    355.0 13698.33  7265.38  1.00000
+3564357.  5524.21 13696.07  7265.46  57822.5    355.0 13696.07  7265.46  1.00000
+3573734.  5519.53 13693.82  7265.54  57822.5    355.0 13693.82  7265.54  1.00000
+3583112.  5514.85 13691.57  7265.62  57822.5    355.0 13691.57  7265.62  1.00000
+3592489.  5510.16 13689.33  7265.69  57822.5    355.0 13689.33  7265.69  1.00000
+3601867.  5505.48 13687.09  7265.76  57822.5    355.0 13687.09  7265.76  1.00000
+3611245.  5500.81 13684.86  7265.84  57822.5    355.0 13684.86  7265.84  1.00000
+3620622.  5496.13 13682.63  7265.91  57822.5    355.0 13682.63  7265.91  1.00000
+3630000.  5491.45 13680.41  7265.97  57822.5    355.0 13680.41  7265.97  1.00000
+3630000.  5491.45 13680.41  7265.97  57822.5    355.0 13680.41  7265.97  1.00000
+3639471.  5486.73 13668.90  7261.63  57822.5    355.0 13668.90  7261.63  1.00000
+3648942.  5482.01 13657.43  7257.29  57822.5    355.0 13657.43  7257.29  1.00000
+3658413.  5477.29 13645.97  7252.97  57822.5    355.0 13645.97  7252.97  1.00000
+3667885.  5472.57 13634.54  7248.64  57822.5    355.0 13634.54  7248.64  1.00000
+3677356.  5467.85 13623.14  7244.33  57822.5    355.0 13623.14  7244.33  1.00000
+3686827.  5463.13 13611.76  7240.01  57822.5    355.0 13611.76  7240.01  1.00000
+3696298.  5458.42 13600.40  7235.71  57822.5    355.0 13600.40  7235.71  1.00000
+3705769.  5453.70 13589.07  7231.41  57822.5    355.0 13589.07  7231.41  1.00000
+3715240.  5448.99 13577.76  7227.12  57822.5    355.0 13577.76  7227.12  1.00000
+3724712.  5444.27 13566.47  7222.83  57822.5    355.0 13566.47  7222.83  1.00000
+3734183.  5439.56 13555.20  7218.55  57822.5    355.0 13555.20  7218.55  1.00000
+3743654.  5434.85 13543.95  7214.27  57822.5    355.0 13543.95  7214.27  1.00000
+3753125.  5430.13 13532.72  7210.00  57822.5    355.0 13532.72  7210.00  1.00000
+3762596.  5425.42 13521.51  7205.73  57822.5    355.0 13521.51  7205.73  1.00000
+3772067.  5420.71 13510.32  7201.47  57822.5    355.0 13510.32  7201.47  1.00000
+3781538.  5416.00 13499.14  7197.21  57822.5    355.0 13499.14  7197.21  1.00000
+3791010.  5411.29 13487.99  7192.95  57822.5    355.0 13487.99  7192.95  1.00000
+3800481.  5406.57 13476.85  7188.70  57822.5    355.0 13476.85  7188.70  1.00000
+3809952.  5401.86 13465.73  7184.45  57822.5    355.0 13465.73  7184.45  1.00000
+3819423.  5397.15 13454.63  7180.21  57822.5    355.0 13454.63  7180.21  1.00000
+3828894.  5392.44 13443.54  7175.97  57822.5    355.0 13443.54  7175.97  1.00000
+3838365.  5387.73 13432.46  7171.73  57822.5    355.0 13432.46  7171.73  1.00000
+3847837.  5383.02 13421.41  7167.50  57822.5    355.0 13421.41  7167.50  1.00000
+3857308.  5378.30 13410.36  7163.27  57822.5    355.0 13410.36  7163.27  1.00000
+3866779.  5373.59 13399.33  7159.04  57822.5    355.0 13399.33  7159.04  1.00000
+3876250.  5368.88 13388.31  7154.81  57822.5    355.0 13388.31  7154.81  1.00000
+3885721.  5364.17 13377.31  7150.59  57822.5    355.0 13377.31  7150.59  1.00000
+3895192.  5359.45 13366.31  7146.37  57822.5    355.0 13366.31  7146.37  1.00000
+3904663.  5354.74 13355.33  7142.15  57822.5    355.0 13355.33  7142.15  1.00000
+3914135.  5350.02 13344.36  7137.93  57822.5    355.0 13344.36  7137.93  1.00000
+3923606.  5345.31 13333.40  7133.71  57822.5    355.0 13333.40  7133.71  1.00000
+3933077.  5340.59 13322.45  7129.50  57822.5    355.0 13322.45  7129.50  1.00000
+3942548.  5335.87 13311.51  7125.29  57822.5    355.0 13311.51  7125.29  1.00000
+3952019.  5331.16 13300.58  7121.07  57822.5    355.0 13300.58  7121.07  1.00000
+3961490.  5326.44 13289.66  7116.86  57822.5    355.0 13289.66  7116.86  1.00000
+3970962.  5321.72 13278.74  7112.65  57822.5    355.0 13278.74  7112.65  1.00000
+3980433.  5317.00 13267.84  7108.44  57822.5    355.0 13267.84  7108.44  1.00000
+3989904.  5312.28 13256.93  7104.23  57822.5    355.0 13256.93  7104.23  1.00000
+3999375.  5307.55 13246.04  7100.02  57822.5    355.0 13246.04  7100.02  1.00000
+4008846.  5302.83 13235.15  7095.81  57822.5    355.0 13235.15  7095.81  1.00000
+4018317.  5298.10 13224.27  7091.60  57822.5    355.0 13224.27  7091.60  1.00000
+4027788.  5293.38 13213.39  7087.39  57822.5    355.0 13213.39  7087.39  1.00000
+4037260.  5288.65 13202.51  7083.18  57822.5    355.0 13202.51  7083.18  1.00000
+4046731.  5283.92 13191.64  7078.96  57822.5    355.0 13191.64  7078.96  1.00000
+4056202.  5279.19 13180.78  7074.75  57822.5    355.0 13180.78  7074.75  1.00000
+4065673.  5274.45 13169.91  7070.54  57822.5    355.0 13169.91  7070.54  1.00000
+4075144.  5269.72 13159.05  7066.32  57822.5    355.0 13159.05  7066.32  1.00000
+4084615.  5264.98 13148.19  7062.10  57822.5    355.0 13148.19  7062.10  1.00000
+4094087.  5260.25 13137.33  7057.88  57822.5    355.0 13137.33  7057.88  1.00000
+4103558.  5255.51 13126.47  7053.66  57822.5    355.0 13126.47  7053.66  1.00000
+4113029.  5250.77 13115.61  7049.44  57822.5    355.0 13115.61  7049.44  1.00000
+4122500.  5246.02 13104.75  7045.22  57822.5    355.0 13104.75  7045.22  1.00000
+4131971.  5241.28 13093.89  7040.99  57822.5    355.0 13093.89  7040.99  1.00000
+4141442.  5236.53 13083.02  7036.76  57822.5    355.0 13083.02  7036.76  1.00000
+4150913.  5231.78 13072.16  7032.52  57822.5    355.0 13072.16  7032.52  1.00000
+4160385.  5227.03 13061.29  7028.29  57822.5    355.0 13061.29  7028.29  1.00000
+4169856.  5222.27 13050.42  7024.05  57822.5    355.0 13050.42  7024.05  1.00000
+4179327.  5217.52 13039.55  7019.81  57822.5    355.0 13039.55  7019.81  1.00000
+4188798.  5212.76 13028.67  7015.56  57822.5    355.0 13028.67  7015.56  1.00000
+4198269.  5208.00 13017.78  7011.31  57822.5    355.0 13017.78  7011.31  1.00000
+4207740.  5203.23 13006.90  7007.06  57822.5    355.0 13006.90  7007.06  1.00000
+4217212.  5198.47 12996.00  7002.80  57822.5    355.0 12996.00  7002.80  1.00000
+4226683.  5193.70 12985.10  6998.54  57822.5    355.0 12985.10  6998.54  1.00000
+4236154.  5188.93 12974.19  6994.27  57822.5    355.0 12974.19  6994.27  1.00000
+4245625.  5184.15 12963.28  6990.00  57822.5    355.0 12963.28  6990.00  1.00000
+4255096.  5179.38 12952.36  6985.72  57822.5    355.0 12952.36  6985.72  1.00000
+4264567.  5174.60 12941.42  6981.44  57822.5    355.0 12941.42  6981.44  1.00000
+4274038.  5169.82 12930.48  6977.15  57822.5    355.0 12930.48  6977.15  1.00000
+4283510.  5165.03 12919.54  6972.86  57822.5    355.0 12919.54  6972.86  1.00000
+4292981.  5160.24 12908.58  6968.57  57822.5    355.0 12908.58  6968.57  1.00000
+4302452.  5155.45 12897.61  6964.26  57822.5    355.0 12897.61  6964.26  1.00000
+4311923.  5150.65 12886.63  6959.95  57822.5    355.0 12886.63  6959.95  1.00000
+4321394.  5145.86 12875.63  6955.64  57822.5    355.0 12875.63  6955.64  1.00000
+4330865.  5141.06 12864.63  6951.32  57822.5    355.0 12864.63  6951.32  1.00000
+4340337.  5136.25 12853.61  6946.99  57822.5    355.0 12853.61  6946.99  1.00000
+4349808.  5131.44 12842.58  6942.66  57822.5    355.0 12842.58  6942.66  1.00000
+4359279.  5126.63 12831.54  6938.31  57822.5    355.0 12831.54  6938.31  1.00000
+4368750.  5121.82 12820.48  6933.97  57822.5    355.0 12820.48  6933.97  1.00000
+4378221.  5117.00 12809.41  6929.61  57822.5    355.0 12809.41  6929.61  1.00000
+4387692.  5112.18 12798.32  6925.25  57822.5    355.0 12798.32  6925.25  1.00000
+4397163.  5107.35 12787.22  6920.88  57822.5    355.0 12787.22  6920.88  1.00000
+4406635.  5102.52 12776.10  6916.50  57822.5    355.0 12776.10  6916.50  1.00000
+4416106.  5097.69 12764.96  6912.11  57822.5    355.0 12764.96  6912.11  1.00000
+4425577.  5092.85 12753.81  6907.72  57822.5    355.0 12753.81  6907.72  1.00000
+4435048.  5088.01 12742.63  6903.32  57822.5    355.0 12742.63  6903.32  1.00000
+4444519.  5083.16 12731.44  6898.91  57822.5    355.0 12731.44  6898.91  1.00000
+4453990.  5078.31 12720.24  6894.49  57822.5    355.0 12720.24  6894.49  1.00000
+4463462.  5073.46 12709.01  6890.06  57822.5    355.0 12709.01  6890.06  1.00000
+4472933.  5068.60 12697.76  6885.62  57822.5    355.0 12697.76  6885.62  1.00000
+4482404.  5063.74 12686.49  6881.17  57822.5    355.0 12686.49  6881.17  1.00000
+4491875.  5058.87 12675.20  6876.72  57822.5    355.0 12675.20  6876.72  1.00000
+4501346.  5054.00 12663.89  6872.25  57822.5    355.0 12663.89  6872.25  1.00000
+4510817.  5049.13 12652.56  6867.78  57822.5    355.0 12652.56  6867.78  1.00000
+4520288.  5044.25 12641.20  6863.29  57822.5    355.0 12641.20  6863.29  1.00000
+4529760.  5039.36 12629.82  6858.80  57822.5    355.0 12629.82  6858.80  1.00000
+4539231.  5034.47 12618.42  6854.29  57822.5    355.0 12618.42  6854.29  1.00000
+4548702.  5029.58 12606.99  6849.78  57822.5    355.0 12606.99  6849.78  1.00000
+4558173.  5024.68 12595.54  6845.25  57822.5    355.0 12595.54  6845.25  1.00000
+4567644.  5019.78 12584.06  6840.71  57822.5    355.0 12584.06  6840.71  1.00000
+4577115.  5014.87 12572.56  6836.16  57822.5    355.0 12572.56  6836.16  1.00000
+4586587.  5009.96 12561.03  6831.60  57822.5    355.0 12561.03  6831.60  1.00000
+4596058.  5005.04 12549.48  6827.03  57822.5    355.0 12549.48  6827.03  1.00000
+4605529.  5000.12 12537.89  6822.45  57822.5    355.0 12537.89  6822.45  1.00000
+4615000.  4995.19 12526.28  6817.85  57822.5    355.0 12526.28  6817.85  1.00000
+4624471.  4990.26 12514.64  6813.25  57822.5    355.0 12514.64  6813.25  1.00000
+4633942.  4985.32 12502.98  6808.63  57822.5    355.0 12502.98  6808.63  1.00000
+4643413.  4980.38 12491.28  6804.00  57822.5    355.0 12491.28  6804.00  1.00000
+4652885.  4975.43 12479.55  6799.35  57822.5    355.0 12479.55  6799.35  1.00000
+4662356.  4970.47 12467.79  6794.70  57822.5    355.0 12467.79  6794.70  1.00000
+4671827.  4965.51 12456.01  6790.03  57822.5    355.0 12456.01  6790.03  1.00000
+4681298.  4960.55 12444.19  6785.34  57822.5    355.0 12444.19  6785.34  1.00000
+4690769.  4955.58 12432.33  6780.65  57822.5    355.0 12432.33  6780.65  1.00000
+4700240.  4950.60 12420.45  6775.94  57822.5    355.0 12420.45  6775.94  1.00000
+4709712.  4945.62 12408.53  6771.22  57822.5    355.0 12408.53  6771.22  1.00000
+4719183.  4940.63 12396.58  6766.48  57822.5    355.0 12396.58  6766.48  1.00000
+4728654.  4935.64 12384.60  6761.73  57822.5    355.0 12384.60  6761.73  1.00000
+4738125.  4930.64 12372.58  6756.97  57822.5    355.0 12372.58  6756.97  1.00000
+4747596.  4925.63 12360.52  6752.19  57822.5    355.0 12360.52  6752.19  1.00000
+4757067.  4920.62 12348.43  6747.40  57822.5    355.0 12348.43  6747.40  1.00000
+4766538.  4915.60 12336.30  6742.59  57822.5    355.0 12336.30  6742.59  1.00000
+4776010.  4910.58 12324.14  6737.76  57822.5    355.0 12324.14  6737.76  1.00000
+4785481.  4905.55 12311.94  6732.93  57822.5    355.0 12311.94  6732.93  1.00000
+4794952.  4900.51 12299.70  6728.07  57822.5    355.0 12299.70  6728.07  1.00000
+4804423.  4895.47 12287.42  6723.21  57822.5    355.0 12287.42  6723.21  1.00000
+4813894.  4890.42 12275.11  6718.32  57822.5    355.0 12275.11  6718.32  1.00000
+4823365.  4885.37 12262.75  6713.42  57822.5    355.0 12262.75  6713.42  1.00000
+4832837.  4880.31 12250.35  6708.51  57822.5    355.0 12250.35  6708.51  1.00000
+4842308.  4875.24 12237.92  6703.57  57822.5    355.0 12237.92  6703.57  1.00000
+4851779.  4870.16 12225.44  6698.62  57822.5    355.0 12225.44  6698.62  1.00000
+4861250.  4865.08 12212.92  6693.66  57822.5    355.0 12212.92  6693.66  1.00000
+4870721.  4859.99 12200.36  6688.68  57822.5    355.0 12200.36  6688.68  1.00000
+4880192.  4854.90 12187.76  6683.68  57822.5    355.0 12187.76  6683.68  1.00000
+4889663.  4849.80 12175.11  6678.66  57822.5    355.0 12175.11  6678.66  1.00000
+4899135.  4844.69 12162.43  6673.63  57822.5    355.0 12162.43  6673.63  1.00000
+4908606.  4839.57 12149.69  6668.58  57822.5    355.0 12149.69  6668.58  1.00000
+4918077.  4834.45 12136.91  6663.51  57822.5    355.0 12136.91  6663.51  1.00000
+4927548.  4829.32 12124.09  6658.43  57822.5    355.0 12124.09  6658.43  1.00000
+4937019.  4824.18 12111.22  6653.32  57822.5    355.0 12111.22  6653.32  1.00000
+4946490.  4819.04 12098.31  6648.20  57822.5    355.0 12098.31  6648.20  1.00000
+4955962.  4813.88 12085.34  6643.06  57822.5    355.0 12085.34  6643.06  1.00000
+4965433.  4808.73 12072.34  6637.90  57822.5    355.0 12072.34  6637.90  1.00000
+4974904.  4803.56 12059.28  6632.73  57822.5    355.0 12059.28  6632.73  1.00000
+4984375.  4798.39 12046.17  6627.53  57822.5    355.0 12046.17  6627.53  1.00000
+4993846.  4793.20 12033.02  6622.31  57822.5    355.0 12033.02  6622.31  1.00000
+5003317.  4788.02 12019.82  6617.08  57822.5    355.0 12019.82  6617.08  1.00000
+5012788.  4782.82 12006.56  6611.82  57822.5    355.0 12006.56  6611.82  1.00000
+5022260.  4777.61 11993.26  6606.55  57822.5    355.0 11993.26  6606.55  1.00000
+5031731.  4772.40 11979.90  6601.26  57822.5    355.0 11979.90  6601.26  1.00000
+5041202.  4767.18 11966.50  6595.94  57822.5    355.0 11966.50  6595.94  1.00000
+5050673.  4761.95 11953.04  6590.61  57822.5    355.0 11953.04  6590.61  1.00000
+5060144.  4756.72 11939.53  6584.91  57822.5    355.0 11939.53  6584.91  1.00000
+5069615.  4751.47 11925.97  6579.51  57822.5    355.0 11925.97  6579.51  1.00000
+5079087.  4746.22 11912.35  6574.11  57822.5    355.0 11912.35  6574.11  1.00000
+5088558.  4740.95 11898.69  6568.67  57822.5    355.0 11898.69  6568.67  1.00000
+5098029.  4735.68 11884.96  6563.22  57822.5    355.0 11884.96  6563.22  1.00000
+5107500.  4730.40 11871.19  6557.74  57822.5    355.0 11871.19  6557.74  1.00000
+5116971.  4725.10 11857.37  6552.24  57822.5    355.0 11857.37  6552.24  1.00000
+5126442.  4719.80 11843.48  6546.73  57822.5    355.0 11843.48  6546.73  1.00000
+5135913.  4714.48 11829.55  6541.19  57822.5    355.0 11829.55  6541.19  1.00000
+5145385.  4709.15 11815.57  6535.63  57822.5    355.0 11815.57  6535.63  1.00000
+5154856.  4703.81 11801.53  6530.05  57822.5    355.0 11801.53  6530.05  1.00000
+5164327.  4698.44 11787.44  6524.44  57822.5    355.0 11787.44  6524.44  1.00000
+5173798.  4693.08 11773.30  6518.82  57822.5    355.0 11773.30  6518.82  1.00000
+5183269.  4687.69 11759.10  6513.17  57822.5    355.0 11759.10  6513.17  1.00000
+5192740.  4682.29 11744.85  6507.50  57822.5    355.0 11744.85  6507.50  1.00000
+5202212.  4676.87 11730.55  6501.80  57822.5    355.0 11730.55  6501.80  1.00000
+5211683.  4671.44 11716.18  6496.09  57822.5    355.0 11716.18  6496.09  1.00000
+5221154.  4665.99 11701.78  6490.35  57822.5    355.0 11701.78  6490.35  1.00000
+5230625.  4660.52 11687.31  6484.59  57822.5    355.0 11687.31  6484.59  1.00000
+5240096.  4655.03 11672.80  6478.80  57822.5    355.0 11672.80  6478.80  1.00000
+5249567.  4649.52 11658.23  6472.99  57822.5    355.0 11658.23  6472.99  1.00000
+5259038.  4644.00 11643.60  6467.16  57822.5    355.0 11643.60  6467.16  1.00000
+5268510.  4638.46 11628.92  6461.30  57822.5    355.0 11628.92  6461.30  1.00000
+5277981.  4632.89 11614.19  6455.42  57822.5    355.0 11614.19  6455.42  1.00000
+5287452.  4627.31 11599.40  6449.51  57822.5    355.0 11599.40  6449.51  1.00000
+5296923.  4621.70 11584.57  6443.58  57822.5    355.0 11584.57  6443.58  1.00000
+5306394.  4616.08 11569.68  6437.63  57822.5    355.0 11569.68  6437.63  1.00000
+5315865.  4610.44 11554.72  6431.65  57822.5    355.0 11554.72  6431.65  1.00000
+5325337.  4604.76 11539.72  6425.65  57822.5    355.0 11539.72  6425.65  1.00000
+5334808.  4599.08 11524.67  6419.61  57822.5    355.0 11524.67  6419.61  1.00000
+5344279.  4593.36 11509.56  6413.56  57822.5    355.0 11509.56  6413.56  1.00000
+5353750.  4587.63 11494.39  6407.48  57822.5    355.0 11494.39  6407.48  1.00000
+5363221.  4581.86 11479.17  6401.37  57822.5    355.0 11479.17  6401.37  1.00000
+5372692.  4576.07 11463.89  6395.25  57822.5    355.0 11463.89  6395.25  1.00000
+5382163.  4570.26 11448.55  6389.09  57822.5    355.0 11448.55  6389.09  1.00000
+5391635.  4564.43 11433.17  6382.91  57822.5    355.0 11433.17  6382.91  1.00000
+5401106.  4558.56 11417.73  6376.70  57822.5    355.0 11417.73  6376.70  1.00000
+5410577.  4552.67 11402.23  6370.46  57822.5    355.0 11402.23  6370.46  1.00000
+5420048.  4546.76 11386.68  6364.20  57822.5    355.0 11386.68  6364.20  1.00000
+5429519.  4540.82 11371.07  6357.91  57822.5    355.0 11371.07  6357.91  1.00000
+5438990.  4534.84 11355.41  6351.59  57822.5    355.0 11355.41  6351.59  1.00000
+5448462.  4528.85 11339.69  6345.25  57822.5    355.0 11339.69  6345.25  1.00000
+5457933.  4522.81 11323.91  6338.88  57822.5    355.0 11323.91  6338.88  1.00000
+5467404.  4516.76 11308.09  6332.49  57822.5    355.0 11308.09  6332.49  1.00000
+5476875.  4510.67 11292.20  6326.05  57822.5    355.0 11292.20  6326.05  1.00000
+5486346.  4504.56 11276.25  6319.60  57822.5    355.0 11276.25  6319.60  1.00000
+5495817.  4498.41 11260.25  6313.13  57822.5    355.0 11260.25  6313.13  1.00000
+5505288.  4492.23 11244.19  6306.62  57822.5    355.0 11244.19  6306.62  1.00000
+5514760.  4486.02 11228.08  6300.08  57822.5    355.0 11228.08  6300.08  1.00000
+5524231.  4479.78 11211.90  6293.52  57822.5    355.0 11211.90  6293.52  1.00000
+5533702.  4473.51 11195.67  6286.92  57822.5    355.0 11195.67  6286.92  1.00000
+5543173.  4467.20 11179.38  6280.29  57822.5    355.0 11179.38  6280.29  1.00000
+5552644.  4460.87 11163.04  6273.64  57822.5    355.0 11163.04  6273.64  1.00000
+5562115.  4454.49 11146.63  6266.96  57822.5    355.0 11146.63  6266.96  1.00000
+5571587.  4448.08 11130.18  6260.25  57822.5    355.0 11130.18  6260.25  1.00000
+5581058.  4441.63 11113.67  6253.51  57822.5    355.0 11113.67  6253.51  1.00000
+5590529.  4435.13 11097.11  6246.75  57822.5    355.0 11097.11  6246.75  1.00000
+5600000.  4428.60 11080.51  6239.95  57822.5    355.0 11080.51  6239.95  1.00000
+5600000.  4428.59 11080.51  6239.95  57822.5    355.0 11080.51  6239.95  1.00000
+5607562.  4423.32 11063.01  6219.68  57822.5    355.0 11063.01  6219.68  1.00000
+5615125.  4418.01 11045.22  6200.29  57822.5    355.0 11045.22  6200.29  1.00000
+5622688.  4412.67 11026.82  6181.16  57822.5    355.0 11026.82  6181.16  1.00000
+5630250.  4407.30 11008.47  6162.04  57822.5    355.0 11008.47  6162.04  1.00000
+5637812.  4401.90 10989.04  6143.01  57822.5    355.0 10989.04  6143.01  1.00000
+5645375.  4396.45 10969.63  6123.98  57822.5    355.0 10969.63  6123.98  1.00000
+5652938.  4390.96 10948.76  6103.71  57822.5    355.0 10948.76  6103.71  1.00000
+5660500.  4385.40 10928.02  6083.53  57822.5    355.0 10928.02  6083.53  1.00000
+5668062.  4379.81 10907.42  6063.45  57822.5    355.0 10907.42  6063.45  1.00000
+5675625.  4374.16 10886.94  6043.44  57822.5    355.0 10886.94  6043.44  1.00000
+5683188.  4368.47 10866.60  6023.52  57822.5    355.0 10866.60  6023.52  1.00000
+5690750.  4362.72 10846.41  6003.73  57822.5    355.0 10846.41  6003.73  1.00000
+5698312.  4356.92 10826.35  5984.03  57822.5    355.0 10826.35  5984.03  1.00000
+5705875.  4351.08 10806.42  5964.38  57822.5    355.0 10806.42  5964.38  1.00000
+5713438.  4345.18 10786.61  5944.81  57822.5    355.0 10786.61  5944.81  1.00000
+5721000.  4339.24 10766.90  5925.27  57822.5    355.0 10766.90  5925.27  1.00000
+5721000.  4047.01 10278.88  5550.32    943.0    165.0 10278.88  5550.32  1.00000
+5724572.  4042.50 10261.87  5541.20    943.0    165.0 10261.87  5541.20  1.00000
+5728143.  4037.98 10244.84  5532.08    943.0    165.0 10244.84  5532.08  1.00000
+5731714.  4033.48 10227.82  5522.96    943.0    165.0 10227.82  5522.96  1.00000
+5735286.  4028.95 10210.80  5513.83    943.0    165.0 10210.80  5513.83  1.00000
+5738857.  4024.45 10193.78  5504.71    943.0    165.0 10193.78  5504.71  1.00000
+5742428.  4019.93 10176.77  5495.59    943.0    165.0 10176.77  5495.59  1.00000
+5746000.  4015.42 10159.74  5486.47    943.0    165.0 10159.74  5486.47  1.00000
+5749572.  4010.90 10142.72  5477.35    943.0    165.0 10142.72  5477.35  1.00000
+5753143.  4006.38 10125.71  5468.22    943.0    165.0 10125.71  5468.22  1.00000
+5756714.  4001.87 10108.70  5459.10    943.0    165.0 10108.70  5459.10  1.00000
+5760286.  3997.35 10091.68  5449.97    943.0    165.0 10091.68  5449.97  1.00000
+5763857.  3992.84 10074.68  5440.84    943.0    165.0 10074.68  5440.84  1.00000
+5767428.  3988.32 10057.68  5431.71    943.0    165.0 10057.68  5431.71  1.00000
+5771000.  3983.80 10040.64  5422.57    943.0    165.0 10040.64  5422.57  1.00000
+5771000.  3983.80 10040.67  5422.59    943.0    165.0 10040.67  5422.59  1.00000
+5777334.  3975.79 10010.52  5406.39    943.0    165.0 10010.52  5406.39  1.00000
+5783666.  3967.77  9980.51  5390.30    943.0    165.0  9980.51  5390.30  1.00000
+5790000.  3959.76  9950.64  5374.34    943.0    165.0  9950.64  5374.34  1.00000
+5796334.  3951.75  9920.91  5358.52    943.0    165.0  9920.91  5358.52  1.00000
+5802666.  3943.73  9891.35  5342.83    943.0    165.0  9891.35  5342.83  1.00000
+5809000.  3935.71  9861.96  5327.31    943.0    165.0  9861.96  5327.31  1.00000
+5815334.  3927.69  9832.79  5311.92    943.0    165.0  9832.79  5311.92  1.00000
+5821666.  3919.67  9803.79  5296.73    943.0    165.0  9803.79  5296.73  1.00000
+5828000.  3911.65  9774.98  5281.71    943.0    165.0  9774.98  5281.71  1.00000
+5834334.  3903.61  9746.41  5266.86    943.0    165.0  9746.41  5266.86  1.00000
+5840666.  3895.58  9718.08  5252.21    943.0    165.0  9718.08  5252.21  1.00000
+5847000.  3887.56  9689.96  5237.78    943.0    165.0  9689.96  5237.78  1.00000
+5853334.  3879.53  9662.10  5223.55    943.0    165.0  9662.10  5223.55  1.00000
+5859666.  3871.50  9634.47  5209.54    943.0    165.0  9634.47  5209.54  1.00000
+5866000.  3863.46  9607.11  5195.72    943.0    165.0  9607.11  5195.72  1.00000
+5872334.  3855.42  9579.97  5182.10    943.0    165.0  9579.97  5182.10  1.00000
+5878666.  3847.38  9553.08  5168.69    943.0    165.0  9553.08  5168.69  1.00000
+5885000.  3839.33  9526.38  5155.42    943.0    165.0  9526.38  5155.42  1.00000
+5891334.  3831.27  9499.78  5142.22    943.0    165.0  9499.78  5142.22  1.00000
+5897666.  3823.22  9473.25  5129.05    943.0    165.0  9473.25  5129.05  1.00000
+5904000.  3815.16  9446.74  5115.84    943.0    165.0  9446.74  5115.84  1.00000
+5910334.  3807.09  9420.19  5102.55    943.0    165.0  9420.19  5102.55  1.00000
+5916666.  3799.01  9393.55  5089.14    943.0    165.0  9393.55  5089.14  1.00000
+5923000.  3790.94  9366.75  5075.50    943.0    165.0  9366.75  5075.50  1.00000
+5929334.  3782.85  9339.76  5061.63    943.0    165.0  9339.76  5061.63  1.00000
+5935666.  3774.78  9312.50  5047.46    943.0    165.0  9312.50  5047.46  1.00000
+5942000.  3766.66  9284.96  5032.93    943.0    165.0  9284.96  5032.93  1.00000
+5948334.  3758.56  9257.04  5018.03    943.0    165.0  9257.04  5018.03  1.00000
+5954666.  3750.45  9228.73  5002.66    943.0    165.0  9228.73  5002.66  1.00000
+5961000.  3742.34  9199.94  4986.77    943.0    165.0  9199.94  4986.77  1.00000
+5961000.  3554.91  8940.94  4802.15    943.0    165.0  8940.94  4803.78  1.00000
+5967334.  3551.00  8930.61  4798.23    943.0    165.0  8930.61  4800.54  1.00000
+5973666.  3547.07  8920.22  4794.28    943.0    165.0  8920.22  4797.28  1.00000
+5980000.  3543.16  8909.68  4790.38    943.0    165.0  8909.68  4793.96  1.00000
+5986334.  3539.23  8898.47  4785.95    943.0    165.0  8898.47  4790.18  0.99999
+5992666.  3535.32  8886.28  4780.83    943.0    165.0  8886.28  4785.78  0.99997
+5999000.  3531.39  8873.03  4775.01    943.0    165.0  8873.03  4780.71  0.99995
+6005334.  3527.46  8858.58  4768.45    943.0    165.0  8858.58  4775.00  0.99994
+6011666.  3523.57  8842.82  4761.12    943.0    165.0  8842.82  4768.58  0.99990
+6018000.  3519.67  8825.64  4752.97    943.0    165.0  8825.64  4761.41  0.99986
+6024334.  3515.77  8806.94  4744.01    943.0    165.0  8806.94  4753.51  0.99980
+6030666.  3511.91  8786.67  4734.25    943.0    165.0  8786.67  4744.86  0.99974
+6037000.  3508.06  8764.85  4723.77    943.0    165.0  8764.85  4735.64  0.99966
+6043334.  3504.21  8741.49  4712.70    943.0    165.0  8741.49  4725.88  0.99957
+6049666.  3500.39  8716.63  4701.12    943.0    165.0  8716.63  4715.76  0.99947
+6056000.  3496.58  8690.30  4689.11    943.0    165.0  8690.30  4705.34  0.99934
+6062334.  3492.80  8662.50  4676.77    943.0    165.0  8662.50  4694.74  0.99920
+6068666.  3489.05  8633.28  4664.20    943.0    165.0  8633.28  4684.08  0.99904
+6075000.  3485.32  8602.66  4651.49    943.0    165.0  8602.66  4673.46  0.99886
+6081334.  3481.61  8570.81  4638.69    943.0    165.0  8570.81  4662.94  0.99864
+6087666.  3477.88  8538.06  4625.88    943.0    165.0  8538.06  4652.61  0.99832
+6094000.  3474.16  8504.66  4613.07    943.0    165.0  8504.66  4642.55  0.99790
+6100334.  3470.41  8470.92  4600.31    943.0    165.0  8470.92  4632.81  0.99732
+6106666.  3466.59  8437.13  4587.67    943.0    165.0  8437.13  4623.51  0.99654
+6113000.  3462.74  8403.52  4575.18    943.0    165.0  8403.52  4614.68  0.99553
+6119334.  3458.78  8370.42  4562.88    943.0    165.0  8370.42  4606.39  0.99426
+6125666.  3454.75  8338.11  4550.85    943.0    165.0  8338.11  4598.73  0.99268
+6132000.  3450.61  8306.25  4539.08    943.0    165.0  8307.42  4591.76  0.99075
+6138334.  3446.33  8275.42  4527.67    943.0    165.0  8278.36  4585.56  0.98843
+6144666.  3441.91  8241.77  4516.65    943.0    165.0  8255.33  4580.21  0.98571
+6151000.  3437.35  8207.37  4506.09    943.0    165.0  8236.90  4575.75  0.98255
+6151000.  3437.34  8207.01  4506.00    943.0     70.0  8236.81  4575.74  0.98250
+6157087.  3432.81  8174.32  4496.29    943.0     70.0  8222.27  4572.27  0.97907
+6163174.  3428.15  8141.99  4487.00    943.0     70.0  8210.47  4569.53  0.97531
+6169261.  3423.37  8110.40  4478.17    943.0     70.0  8201.14  4567.46  0.97128
+6175348.  3418.47  8079.71  4469.83    943.0     70.0  8193.99  4566.02  0.96704
+6181435.  3413.47  8050.15  4462.00    943.0     70.0  8188.67  4565.10  0.96268
+6187522.  3408.35  8021.89  4454.69    943.0     70.0  8184.92  4564.66  0.95823
+6193609.  3403.15  7995.08  4447.94    943.0     70.0  8182.39  4564.65  0.95378
+6199696.  3397.87  7969.97  4441.76    943.0     70.0  8180.79  4564.99  0.94938
+6205783.  3392.50  7946.70  4436.18    943.0     70.0  8179.83  4565.62  0.94509
+6211870.  3387.07  7925.45  4431.20    943.0     70.0  8179.17  4566.47  0.94098
+6217957.  3381.58  7906.44  4426.83    943.0     70.0  8178.54  4567.46  0.93712
+6224043.  3376.03  7889.80  4423.12    943.0     70.0  8177.64  4568.58  0.93356
+6230130.  3370.45  7875.56  4420.09    943.0     70.0  8176.30  4569.70  0.93034
+6236217.  3364.87  7863.64  4417.81    943.0     70.0  8174.55  4570.85  0.92743
+6242304.  3359.31  7853.87  4416.30    943.0     70.0  8172.42  4571.91  0.92483
+6248391.  3353.79  7846.17  4415.67    943.0     70.0  8169.91  4572.83  0.92251
+6254478.  3348.37  7840.38  4415.93    943.0     70.0  8167.05  4573.60  0.92046
+6260565.  3343.03  7836.39  4417.15    943.0     70.0  8163.88  4574.16  0.91867
+6266652.  3337.85  7834.11  4419.42    943.0     70.0  8160.37  4574.44  0.91711
+6272739.  3332.83  7833.38  4422.78    943.0     70.0  8156.58  4574.42  0.91577
+6278826.  3328.01  7834.11  4427.25    943.0     70.0  8152.57  4574.04  0.91465
+6284913.  3323.39  7836.11  4432.88    943.0     70.0  8148.41  4573.36  0.91371
+6291000.  3319.04  7839.12  4439.57    943.0     70.0  8144.20  4572.41  0.91296
+6291000.  3319.03  7839.37  4439.74    943.0    191.0  8144.32  4572.46  0.91294
+6294971.  3316.33  7841.82  4444.71    943.0    191.0  8141.60  4571.71  0.91254
+6298943.  3313.75  7844.77  4450.28    943.0    191.0  8139.01  4570.93  0.91221
+6302914.  3311.30  7848.07  4456.35    943.0    191.0  8136.50  4570.06  0.91193
+6306886.  3308.97  7851.72  4462.89    943.0    191.0  8134.11  4569.16  0.91171
+6310857.  3306.73  7855.75  4469.94    943.0    191.0  8131.82  4568.21  0.91155
+6314829.  3304.58  7860.14  4477.40    943.0    191.0  8129.66  4567.22  0.91142
+6318800.  3302.53  7864.89  4485.33    943.0    191.0  8127.60  4566.21  0.91134
+6322771.  3300.55  7870.01  4493.69    943.0    191.0  8125.65  4565.16  0.91130
+6326743.  3298.63  7875.49  4502.48    943.0    191.0  8123.87  4564.11  0.91129
+6330714.  3296.79  7881.33  4511.66    943.0    191.0  8122.23  4563.05  0.91130
+6334686.  3295.00  7887.54  4521.24    943.0    191.0  8120.74  4562.00  0.91135
+6338657.  3293.25  7894.13  4531.23    943.0    191.0  8119.38  4560.94  0.91140
+6342629.  3291.54  7901.10  4541.57    943.0    191.0  8118.22  4559.94  0.91147
+6346600.  3289.84  7908.24  4552.08    943.0    191.0  8117.13  4558.94  0.91155
+6346600.  2900.00  6800.00  3900.00  57822.5    300.0  6800.00  3900.00  1.00000
+6347540.  2900.00  6800.00  3900.00  57822.5    300.0  6800.00  3900.00  1.00000
+6348480.  2900.00  6800.00  3900.00  57822.5    300.0  6800.00  3900.00  1.00000
+6349420.  2900.00  6800.00  3900.00  57822.5    300.0  6800.00  3900.00  1.00000
+6350360.  2900.00  6800.00  3900.00  57822.5    300.0  6800.00  3900.00  1.00000
+6351300.  2900.00  6800.00  3900.00  57822.5    300.0  6800.00  3900.00  1.00000
+6352240.  2900.00  6800.00  3900.00  57822.5    300.0  6800.00  3900.00  1.00000
+6353180.  2900.00  6800.00  3900.00  57822.5    300.0  6800.00  3900.00  1.00000
+6354120.  2900.00  6800.00  3900.00  57822.5    300.0  6800.00  3900.00  1.00000
+6355060.  2900.00  6800.00  3900.00  57822.5    300.0  6800.00  3900.00  1.00000
+6356000.  2900.00  6800.00  3900.00  57822.5    300.0  6800.00  3900.00  1.00000
+6356000.  2600.00  5800.00  3200.00  57822.5    300.0  5800.00  3200.00  1.00000
+6357200.  2600.00  5800.00  3200.00  57822.5    300.0  5800.00  3200.00  1.00000
+6358400.  2600.00  5800.00  3200.00  57822.5    300.0  5800.00  3200.00  1.00000
+6359600.  2600.00  5800.00  3200.00  57822.5    300.0  5800.00  3200.00  1.00000
+6360800.  2600.00  5800.00  3200.00  57822.5    300.0  5800.00  3200.00  1.00000
+6362000.  2600.00  5800.00  3200.00  57822.5    300.0  5800.00  3200.00  1.00000
+6363200.  2600.00  5800.00  3200.00  57822.5    300.0  5800.00  3200.00  1.00000
+6364400.  2600.00  5800.00  3200.00  57822.5    300.0  5800.00  3200.00  1.00000
+6365600.  2600.00  5800.00  3200.00  57822.5    300.0  5800.00  3200.00  1.00000
+6366800.  2600.00  5800.00  3200.00  57822.5    300.0  5800.00  3200.00  1.00000
+6368000.  2600.00  5800.00  3200.00  57822.5    300.0  5800.00  3200.00  1.00000
+6368000.  1020.00  1450.00     0.00  57822.5      0.0  1450.00     0.00  1.00000
+6368300.  1020.00  1450.00     0.00  57822.5      0.0  1450.00     0.00  1.00000
+6368600.  1020.00  1450.00     0.00  57822.5      0.0  1450.00     0.00  1.00000
+6368900.  1020.00  1450.00     0.00  57822.5      0.0  1450.00     0.00  1.00000
+6369200.  1020.00  1450.00     0.00  57822.5      0.0  1450.00     0.00  1.00000
+6369500.  1020.00  1450.00     0.00  57822.5      0.0  1450.00     0.00  1.00000
+6369800.  1020.00  1450.00     0.00  57822.5      0.0  1450.00     0.00  1.00000
+6370100.  1020.00  1450.00     0.00  57822.5      0.0  1450.00     0.00  1.00000
+6370400.  1020.00  1450.00     0.00  57822.5      0.0  1450.00     0.00  1.00000
+6370700.  1020.00  1450.00     0.00  57822.5      0.0  1450.00     0.00  1.00000
+6371000.  1020.00  1450.00     0.00  57822.5      0.0  1450.00     0.00  1.00000

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/s362ani/extract_reference_model.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/s362ani/extract_reference_model.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/s362ani/extract_reference_model.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,129 @@
+
+! convert reference model file into Fortran statements
+
+! Author: Dimitri Komatitsch, University of Pau, France, August 2007
+
+  program extract_reference_model
+
+  implicit none
+
+  include "../../constants.h"
+
+! number of arrays to define
+  integer, parameter :: NARRAYS = 9
+
+  integer :: i,i1,i2,iarray
+
+  double precision, dimension(NR_REF) :: radius_ref,density_ref,vpv_ref,vph_ref,vsv_ref,vsh_ref,eta_ref,Qkappa_ref,Qmu_ref
+
+  if(NR_REF /= 750) stop 'NR_REF should be equal to 750 in the Harvard model'
+
+  open(unit=10,file='./REF',status='old',action='read')
+
+! skip the first three lines
+  read(10,*)
+  read(10,*)
+  read(10,*)
+
+! read the card deck model
+  do i=1,NR_REF
+    read(10,*) radius_ref(i),density_ref(i),vpv_ref(i),vsv_ref(i),Qkappa_ref(i),Qmu_ref(i),vph_ref(i),vsh_ref(i),eta_ref(i)
+  enddo
+
+  close(10)
+
+! write the model in array constructor Fortran90 format
+  do iarray = 1,NARRAYS
+
+  i = 0
+
+  do i1 = 1,25
+
+    if(iarray == 1) then
+      print *,'Mref_V%radius_ref(',i+1,':',i+30,') = (/ &'
+    else if(iarray == 2) then
+      print *,'Mref_V%density_ref(',i+1,':',i+30,') = (/ &'
+    else if(iarray == 3) then
+      print *,'Mref_V%vpv_ref(',i+1,':',i+30,') = (/ &'
+    else if(iarray == 4) then
+      print *,'Mref_V%vsv_ref(',i+1,':',i+30,') = (/ &'
+    else if(iarray == 5) then
+      print *,'Mref_V%Qkappa_ref(',i+1,':',i+30,') = (/ &'
+    else if(iarray == 6) then
+      print *,'Mref_V%Qmu_ref(',i+1,':',i+30,') = (/ &'
+    else if(iarray == 7) then
+      print *,'Mref_V%vph_ref(',i+1,':',i+30,') = (/ &'
+    else if(iarray == 8) then
+      print *,'Mref_V%vsh_ref(',i+1,':',i+30,') = (/ &'
+    else if(iarray == 9) then
+      print *,'Mref_V%eta_ref(',i+1,':',i+30,') = (/ &'
+    else
+      stop 'incorrect array number'
+    endif
+
+! define groups of 30 lines for each constructor
+  do i2 = 1,30
+
+    i = i + 1
+
+! continue to next line or close constructor if this is the last line
+    if(i2 /= 30) then
+
+    if(iarray == 1) then
+      print *,radius_ref(i),', &'
+    else if(iarray == 2) then
+      print *,density_ref(i),', &'
+    else if(iarray == 3) then
+      print *,vpv_ref(i),', &'
+    else if(iarray == 4) then
+      print *,vsv_ref(i),', &'
+    else if(iarray == 5) then
+      print *,Qkappa_ref(i),', &'
+    else if(iarray == 6) then
+      print *,Qmu_ref(i),', &'
+    else if(iarray == 7) then
+      print *,vph_ref(i),', &'
+    else if(iarray == 8) then
+      print *,vsh_ref(i),', &'
+    else if(iarray == 9) then
+      print *,eta_ref(i),', &'
+    else
+      stop 'incorrect array number'
+    endif
+
+    else
+
+    if(iarray == 1) then
+      print *,radius_ref(i),' /)'
+    else if(iarray == 2) then
+      print *,density_ref(i),' /)'
+    else if(iarray == 3) then
+      print *,vpv_ref(i),' /)'
+    else if(iarray == 4) then
+      print *,vsv_ref(i),' /)'
+    else if(iarray == 5) then
+      print *,Qkappa_ref(i),' /)'
+    else if(iarray == 6) then
+      print *,Qmu_ref(i),' /)'
+    else if(iarray == 7) then
+      print *,vph_ref(i),' /)'
+    else if(iarray == 8) then
+      print *,vsh_ref(i),' /)'
+    else if(iarray == 9) then
+      print *,eta_ref(i),' /)'
+    else
+      stop 'incorrect array number'
+    endif
+
+    endif
+
+  enddo
+
+    print *
+
+  enddo
+
+  enddo
+
+  end program extract_reference_model
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/s362ani/program_test_s362ani.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/s362ani/program_test_s362ani.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/s362ani/program_test_s362ani.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,403 @@
+!=====================================================================
+!
+!          S p e c f e m 3 D  G l o b e  V e r s i o n  5 . 1
+!          --------------------------------------------------
+!
+!          Main authors: Dimitri Komatitsch and Jeroen Tromp
+!                        Princeton University, USA
+!             and University of Pau / CNRS / INRIA, France
+! (c) Princeton University / California Institute of Technology and University of Pau / CNRS / INRIA
+!                            April 2011
+!
+! This program is free software; you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation; either version 2 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License along
+! with this program; if not, write to the Free Software Foundation, Inc.,
+! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+!
+!=====================================================================
+
+
+  program xtest_s362ani
+
+  implicit none
+
+  include "constants.h"
+
+! ocean-continent function maximum spherical harmonic degree
+  integer,parameter :: NL_OCEAN_CONTINENT = 12
+
+! spherical harmonic coefficients of the ocean-continent function (km)
+  double precision  A_lm(0:NL_OCEAN_CONTINENT,0:NL_OCEAN_CONTINENT),B_lm(0:NL_OCEAN_CONTINENT,0:NL_OCEAN_CONTINENT)
+
+  common /ocf/ A_lm,B_lm
+
+! minimum and maximum allowable topography of the Moho (km) for stretching purposes
+  double precision,parameter :: EMAX = 1.0d0/R_EARTH_KM
+  double precision,parameter :: RMOHO = 6346600.d0
+
+! model_ref_variables
+  type model_ref_variables
+    sequence
+      double precision,dimension(NR_REF) :: radius_ref
+      double precision,dimension(NR_REF) :: density_ref
+      double precision,dimension(NR_REF) :: vpv_ref
+      double precision,dimension(NR_REF) :: vph_ref
+      double precision,dimension(NR_REF) :: vsv_ref
+      double precision,dimension(NR_REF) :: vsh_ref
+      double precision,dimension(NR_REF) :: eta_ref
+      double precision,dimension(NR_REF) :: Qkappa_ref
+      double precision,dimension(NR_REF) :: Qmu_ref
+  end type model_ref_variables
+
+! type (model_ref_variables) Mref_V
+! model_ref_variables
+
+! crustal_model_variables
+  type crustal_model_variables
+    sequence
+    double precision,dimension(NKEYS_CRUST,NLAYERS_CRUST) :: thlr
+    double precision,dimension(NKEYS_CRUST,NLAYERS_CRUST) :: velocp
+    double precision,dimension(NKEYS_CRUST,NLAYERS_CRUST) :: velocs
+    double precision,dimension(NKEYS_CRUST,NLAYERS_CRUST) :: dens
+    character(len=2) abbreviation(NCAP_CRUST/2,NCAP_CRUST)
+    character(len=2) code(NKEYS_CRUST)
+  end type crustal_model_variables
+
+  type (crustal_model_variables) CM_V
+! crustal_model_variables
+
+
+! input:
+! dimensionless radius x
+
+! output: non-dimensionalized
+! mass density rho
+! compressional wave speed vpv
+! compressional wave speed vph
+! shear wave speed vsv
+! shear wave speed vsh
+! dimensionless parameter eta
+! shear quality factor Qmu
+! bulk quality factor Qkappa
+
+  integer ilat,ilon
+! integer i,iregion_code
+! integer THREE_D_MODEL
+
+! real(kind=4) xlat,xcolat,xlon,xdep,xrad
+! real(kind=4) dvsh,dvsv,dvph,dvpv
+! real(kind=4) topo410,topo650
+! double precision scaleval
+! double precision xr,vpv,vph,vsv,vsh,eta,Qmu,Qkappa
+  double precision rho
+  double precision lat,lon,r,vp,vs,moho,r_moho,topomoho,elevation
+  logical found_crust
+
+  integer l,m
+  double precision theta,phi,sint,cost,x(2*NL_OCEAN_CONTINENT+1),dx(2*NL_OCEAN_CONTINENT+1)
+  double precision ocf
+
+!  call define_model_ref(.FALSE.,Mref_V)
+!
+!  scaleval=dsqrt(PI*GRAV*RHOAV)
+!  do i=1,NR_REF
+!    x = dble(i-1)/dble(NR_REF-1)
+!    call model_ref(xr,rho,vpv,vph,vsv,vsh,eta,Qkappa,Qmu,iregion_code,Mref_V)
+!    print *,i,sngl(x*R_EARTH),sngl(rho*RHOAV),sngl(vpv*(R_EARTH*scaleval)),sngl(vph*(R_EARTH*scaleval)),&
+!            sngl(vsv*(R_EARTH*scaleval)),sngl(vsh*(R_EARTH*scaleval)),sngl(eta),sngl(Qmu)
+!
+! find and check discontinuities
+!    if(Mref_V%radius_ref(i) == Mref_V%radius_ref(i+1)) then
+!      print *,i,Mref_V%radius_ref(i)
+!    endif
+!
+!  enddo
+!
+!  print *,"xlat: "
+!  read(5,*) xlat
+!  xcolat=90.0-xlat
+!  print *,"xlon: "
+!  read(5,*) xlon
+!  print *,"xdep: "
+!  read(5,*) xdep
+!  xrad=6371.0-xdep
+!  print *,"THREE_D_MODEL: "
+!  read(5,*) THREE_D_MODEL
+!!
+!  call read_model_s362ani(THREE_D_MODEL,THREE_D_MODEL_S362ANI,THREE_D_MODEL_S362WMANI,&
+!               THREE_D_MODEL_S362ANI_PREM,THREE_D_MODEL_S29EA, &
+!               numker,numhpa,ihpa,lmxhpa,itypehpa,ihpakern,numcoe,ivarkern,itpspl, &
+!               xlaspl,xlospl,radspl,coe,hsplfl,dskker,kerstr,varstr,refmdl)
+!
+!  call subshsv(xcolat,xlon,xrad,dvsh,dvsv,dvph,dvpv, &
+!               numker,numhpa,numcof,ihpa,lmax,nylm, &
+!               lmxhpa,itypehpa,ihpakern,numcoe,ivarkern, &
+!               nconpt,iver,iconpt,conpt,xlaspl,xlospl,radspl, &
+!               coe,vercof,vercofd,ylmcof,wk1,wk2,wk3,kerstr,varstr)
+!  write(6,"('    dvsh      dvsv      dvph      dvpv    ')")
+!  write(6,"(6f10.5)") 100.0*dvsh,100.0*dvsv,100.0*dvph,100.0*dvpv
+!
+!  call subtopo(xcolat,xlon,topo410,topo650, &
+!               numker,numhpa,numcof,ihpa,lmax,nylm, &
+!               lmxhpa,itypehpa,ihpakern,numcoe,ivarkern, &
+!               nconpt,iver,iconpt,conpt,xlaspl,xlospl,radspl, &
+!               coe,ylmcof,wk1,wk2,wk3,varstr)
+!  write(6,"('   topo410    topo650 ')")
+!  write(6,"(2f11.5)") topo410,topo650
+!
+
+! ocean-continent function (km)
+  call read_smooth_moho
+
+! test moho stretching
+  call read_crustal_model(CM_V)
+
+  r = 0.9999d0
+  do ilat = -89,89,5
+    do ilon = -179,179,5
+
+      lat = dble(ilat)
+      lon = dble(ilon)
+
+      theta = (90.0d0-lat)*PI/180.0d0
+      phi = lon*PI/180.0d0
+
+      ocf=0.0d0
+      do l=0,NL_OCEAN_CONTINENT
+        sint = dsin(theta)
+        cost = dcos(theta)
+        call lgndr(l,cost,sint,x,dx)
+        m = 0
+        ocf = ocf +  A_lm(l,m)*x(m+1)
+        do m=1,l
+          ocf = ocf + (A_lm(l,m)*dcos(dble(m)*phi)+B_lm(l,m)*dsin(dble(m)*phi))*x(m+1)
+        enddo
+      enddo
+      ocf = -ocf
+
+! get Moho depth
+      call crustal_model(lat,lon,r,vp,vs,rho,moho,found_crust,CM_V)
+      if (.not. found_crust) stop 'failed to find Moho in add_topography_moho'
+! Moho radius
+      r_moho = 1.0d0 - moho
+
+! Moho topography: negative for a depression,positive for an elevation
+      topomoho = r_moho - RMOHO/R_EARTH
+      print *,sngl(lat),sngl(lon),sngl(moho*R_EARTH_KM),sngl(topomoho*R_EARTH_KM),sngl(ocf)
+
+! smoothed version of topographic variations
+     elevation = 0.5d0*EMAX
+     if(topomoho < EMAX) elevation = 0.5d0 * topomoho
+
+!      print *,sngl(lat),sngl(lon),sngl(moho*R_EARTH_KM),sngl(r_moho*R_EARTH_KM-RMOHO/1000.0d0),sngl(elevation*R_EARTH_KM)
+    enddo
+  enddo
+
+  end program xtest_s362ani
+
+  subroutine read_smooth_moho
+
+  implicit none
+
+! ocean-continent function maximum spherical harmonic degree
+  integer,parameter :: NL_OCEAN_CONTINENT = 12
+
+! spherical harmonic coefficients of the ocean-continent function (km)
+  double precision  A_lm(0:NL_OCEAN_CONTINENT,0:NL_OCEAN_CONTINENT),B_lm(0:NL_OCEAN_CONTINENT,0:NL_OCEAN_CONTINENT)
+
+  common /ocf/ A_lm,B_lm
+
+  A_lm(0,0) = -3.8201999E-04
+  B_lm(0,0) = 0.
+  A_lm(1,0) = 13.88800
+  B_lm(1,0) = 0.
+  A_lm(1,1) = -15.24000
+  B_lm(1,1) = -9.187200
+  A_lm(2,0) = 11.21500
+  B_lm(2,0) = 0.
+  A_lm(2,1) = -6.754500
+  B_lm(2,1) = -8.516700
+  A_lm(2,2) = -8.327800
+  B_lm(2,2) = -5.029200
+  A_lm(3,0) = -3.614500
+  B_lm(3,0) = 0.
+  A_lm(3,1) = 5.394800
+  B_lm(3,1) = -0.9220800
+  A_lm(3,2) = -10.05100
+  B_lm(3,2) = 13.98100
+  A_lm(3,3) = -2.711200
+  B_lm(3,3) = -13.57100
+  A_lm(4,0) = 7.523300
+  B_lm(4,0) = 0.
+  A_lm(4,1) = 5.156100
+  B_lm(4,1) = 2.184400
+  A_lm(4,2) = -10.67300
+  B_lm(4,2) = 2.640600
+  A_lm(4,3) = -7.786300
+  B_lm(4,3) = 0.3674500
+  A_lm(4,4) = -3.076400
+  B_lm(4,4) = 16.83000
+  A_lm(5,0) = -9.681000
+  B_lm(5,0) = 0.
+  A_lm(5,1) = 0.5026800
+  B_lm(5,1) = 2.111300
+  A_lm(5,2) = -2.931000
+  B_lm(5,2) = -4.329000
+  A_lm(5,3) = -1.766800
+  B_lm(5,3) = -3.621200
+  A_lm(5,4) = 16.08200
+  B_lm(5,4) = -4.493900
+  A_lm(5,5) = -0.3705800
+  B_lm(5,5) = -5.574500
+  A_lm(6,0) = 4.407900
+  B_lm(6,0) = 0.
+  A_lm(6,1) = 0.3799000
+  B_lm(6,1) = 1.589400
+  A_lm(6,2) = -1.886400
+  B_lm(6,2) = -0.5686300
+  A_lm(6,3) = -0.9816800
+  B_lm(6,3) = -5.827800
+  A_lm(6,4) = 3.620600
+  B_lm(6,4) = -2.713100
+  A_lm(6,5) = 1.445600
+  B_lm(6,5) = 3.964100
+  A_lm(6,6) = 1.167400
+  B_lm(6,6) = 2.134100
+  A_lm(7,0) = -4.086100
+  B_lm(7,0) = 0.
+  A_lm(7,1) = 0.5462000
+  B_lm(7,1) = -4.488100
+  A_lm(7,2) = 3.116400
+  B_lm(7,2) = 1.793600
+  A_lm(7,3) = 2.594600
+  B_lm(7,3) = -2.129100
+  A_lm(7,4) = -5.445000
+  B_lm(7,4) = 0.5381500
+  A_lm(7,5) = -2.178100
+  B_lm(7,5) = 1.766700
+  A_lm(7,6) = -1.040000
+  B_lm(7,6) = -5.541000
+  A_lm(7,7) = 1.536500
+  B_lm(7,7) = 3.700600
+  A_lm(8,0) = -2.562200
+  B_lm(8,0) = 0.
+  A_lm(8,1) = 0.3736200
+  B_lm(8,1) = 1.488000
+  A_lm(8,2) = 1.347500
+  B_lm(8,2) = 0.5288200
+  A_lm(8,3) = -0.8493700
+  B_lm(8,3) = -1.626500
+  A_lm(8,4) = 0.2423400
+  B_lm(8,4) = 4.202800
+  A_lm(8,5) = 2.052200
+  B_lm(8,5) = 0.6880400
+  A_lm(8,6) = 2.838500
+  B_lm(8,6) = 2.835700
+  A_lm(8,7) = -4.981400
+  B_lm(8,7) = -1.883100
+  A_lm(8,8) = -1.102800
+  B_lm(8,8) = -1.951700
+  A_lm(9,0) = -1.202100
+  B_lm(9,0) = 0.
+  A_lm(9,1) = 1.020300
+  B_lm(9,1) = 1.371000
+  A_lm(9,2) = -0.3430100
+  B_lm(9,2) = 0.8782800
+  A_lm(9,3) = -0.4462500
+  B_lm(9,3) = -0.3046100
+  A_lm(9,4) = 0.7750700
+  B_lm(9,4) = 2.351600
+  A_lm(9,5) = -2.092600
+  B_lm(9,5) = -2.377100
+  A_lm(9,6) = 0.3126900
+  B_lm(9,6) = 4.996000
+  A_lm(9,7) = -2.284000
+  B_lm(9,7) = 1.183700
+  A_lm(9,8) = 1.445900
+  B_lm(9,8) = 1.080000
+  A_lm(9,9) = 1.146700
+  B_lm(9,9) = 1.457800
+  A_lm(10,0) = -2.516900
+  B_lm(10,0) = 0.
+  A_lm(10,1) = -0.9739500
+  B_lm(10,1) = -0.7195500
+  A_lm(10,2) = -2.846000
+  B_lm(10,2) = -1.464700
+  A_lm(10,3) = 2.720100
+  B_lm(10,3) = 0.8241400
+  A_lm(10,4) = -1.247800
+  B_lm(10,4) = 1.220300
+  A_lm(10,5) = -1.638500
+  B_lm(10,5) = -1.099500
+  A_lm(10,6) = 3.043000
+  B_lm(10,6) = -1.976400
+  A_lm(10,7) = -1.007300
+  B_lm(10,7) = -1.604900
+  A_lm(10,8) = 0.6620500
+  B_lm(10,8) = -1.135000
+  A_lm(10,9) = -3.576800
+  B_lm(10,9) = 0.5554900
+  A_lm(10,10) = 2.418700
+  B_lm(10,10) = -1.482200
+  A_lm(11,0) = 0.7158800
+  B_lm(11,0) = 0.
+  A_lm(11,1) = -3.694800
+  B_lm(11,1) = 0.8491400
+  A_lm(11,2) = 9.3208998E-02
+  B_lm(11,2) = -1.276000
+  A_lm(11,3) = 1.575600
+  B_lm(11,3) = 0.1972100
+  A_lm(11,4) = 0.8989600
+  B_lm(11,4) = -1.063000
+  A_lm(11,5) = -0.6301000
+  B_lm(11,5) = -1.329400
+  A_lm(11,6) = 1.389000
+  B_lm(11,6) = 1.184100
+  A_lm(11,7) = 0.5640700
+  B_lm(11,7) = 2.286200
+  A_lm(11,8) = 1.530300
+  B_lm(11,8) = 0.7677500
+  A_lm(11,9) = 0.8495500
+  B_lm(11,9) = 0.7247500
+  A_lm(11,10) = 2.106800
+  B_lm(11,10) = 0.6588000
+  A_lm(11,11) = 0.6067800
+  B_lm(11,11) = 0.1366800
+  A_lm(12,0) = -2.598700
+  B_lm(12,0) = 0.
+  A_lm(12,1) = -1.150500
+  B_lm(12,1) = -0.8425700
+  A_lm(12,2) = -0.1593300
+  B_lm(12,2) = -1.241400
+  A_lm(12,3) = 1.508600
+  B_lm(12,3) = 0.3385500
+  A_lm(12,4) = -1.941200
+  B_lm(12,4) = 1.120000
+  A_lm(12,5) = -0.4630500
+  B_lm(12,5) = -6.4753003E-02
+  A_lm(12,6) = 0.8967000
+  B_lm(12,6) = 4.7417998E-02
+  A_lm(12,7) = 4.5407999E-02
+  B_lm(12,7) = 0.8876400
+  A_lm(12,8) = -2.444400
+  B_lm(12,8) = 1.172500
+  A_lm(12,9) = -2.593400
+  B_lm(12,9) = 0.1703700
+  A_lm(12,10) = 0.5662700
+  B_lm(12,10) = 0.7050800
+  A_lm(12,11) = -0.1930000
+  B_lm(12,11) = -2.008100
+  A_lm(12,12) = -3.187900
+  B_lm(12,12) = -1.672000
+
+  end subroutine read_smooth_moho
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/asc2sac/asc2sac.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/asc2sac/asc2sac.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/asc2sac/asc2sac.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,23 @@
+program asc2sac
+
+  implicit none
+
+  integer, parameter :: NDATAMAX = 40000
+  integer :: npts, nl, nerr
+  character(len=250) :: cnl, ascfile, sacfile
+  real b, dt, data(NDATAMAX)
+
+  call getarg(1,ascfile)
+  call getarg(2,cnl)
+  call getarg(3,sacfile)
+  if (trim(ascfile) == '' .or. trim(cnl) == '' .or. trim(sacfile) == '') &
+    stop 'Usage: asc2sac ascfile npts sacfile'
+  read(cnl,*) nl
+
+  call rasc(ascfile,data,npts,b,dt,NDATAMAX,nerr)
+  if (npts > NDATAMAX .or. npts /= nl) stop 'Check npts'
+
+  call wsac1(sacfile,data,npts,b,dt,nerr)
+
+
+end program asc2sac

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/asc2sac/ascfile.f90
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/asc2sac/ascfile.f90	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/asc2sac/ascfile.f90	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,66 @@
+!------------------------------------------------
+
+subroutine rasc(ascfile,dat,npts,b,dt,nmax,nerr)
+
+  implicit none
+  character(len=*) ascfile
+  real dat(1), b, dt
+  integer npts, nmax, nerr
+
+  real tv
+  integer nline, ios, IOUNIT
+
+  IOUNIT=99
+
+  open(IOUNIT,file=trim(ascfile),status='old',iostat=ios)
+  if (ios /= 0) then
+     print 'Error opening '//trim(ascfile); nerr=1
+     return
+  endif
+
+  nline=0
+  do while(ios == 0)
+     read(IOUNIT,*,iostat=ios) tv,dat(nline+1)
+     if (ios == 0) nline=nline+1
+     if (nline==1) then
+        b=tv
+     else if (nline == 2) then
+        dt=tv-b
+     endif
+  enddo
+
+  if (nline > nmax) then
+     print *, 'npts exceeding nmax '; nerr=2
+     return
+  endif
+
+  npts=nline
+  nerr=0
+  close(IOUNIT)
+
+end subroutine rasc
+
+subroutine wasc(ascfile,dat,npts,b,dt,nerr)
+
+  implicit none
+
+  character(len=*) :: ascfile
+  real :: dat(1), b, dt
+  integer :: npts, nerr, i, ios, IOUNIT
+
+  IOUNIT=99
+  open(IOUNIT,file=trim(ascfile),status='unknown',iostat=ios)
+  if (ios /= 0) then
+     print 'Error opening '//trim(ascfile)//' for writing'
+     nerr = 1; return 
+  endif
+  do i = 1, npts
+     write(IOUNIT,'(2g15.7)') b+(i-1)*dt, dat(i)
+  enddo
+  close(IOUNIT)
+  
+  nerr=0
+  
+end subroutine wasc
+
+

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/asc2sac/compile
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/asc2sac/compile	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/asc2sac/compile	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+SACLIB='/opt/sac-101.0/lib/libsacio.a'
+
+gfortran -o asc2sac asc2sac.f90 ascfile.f90 $SACLIB


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/asc2sac/compile
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/ascii2sac.csh
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/ascii2sac.csh	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/ascii2sac.csh	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,27 @@
+#!/bin/csh -f
+#
+# Vala Hjorleifsdottir and Qinya Liu, Caltech, Jan 2007
+#
+# uses `asc2sac` binary which can be compiled from UTILS/lib/asc2sac.c
+# (requires SAC libraries for compilation)
+
+#############################################################
+## modify to match your location 
+
+asc2sac_bin=/opt/seismo-util/bin/asc2sac
+
+#############################################################
+
+foreach file ($*)
+	echo $file
+    
+  # call depending on which version you use:
+  #
+  # seismo-util version by Brian
+  #set nlines = `wc -l $file | awk '{print $1}'`
+  #$asc2sac_bin $file $nlines $file.sac
+  
+  # UTILS/lib version by Eh
+  $asc2sac_bin $file
+  
+end


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/ascii2sac.csh
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/phtimes.csh
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/phtimes.csh	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/phtimes.csh	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,60 @@
+#!/bin/csh
+#
+# script to output travel times 
+# based on iaspei-tau package
+# intended to work for P and S phases
+#
+# usage: ./phtimes.csh depth(km) distance(degrees) phase
+#
+#  e.g.  ./phtimes.csh 611 52.474 P
+#        ./phtimes.csh 611 52.474 S
+# 
+###########################################
+# MODEL PARAMETER 
+
+# locates your IASPEI-TAU installation
+set dir="/opt/seismo-util/source/iaspei-tau"
+
+# uses IASP91 tables
+set model="$dir/tables/iasp91"
+
+###########################################
+
+# input arguments
+set depth="$1"
+set delta="$2"
+set branch="$3"
+
+# checks arguments
+if( $depth =~ "" ) then
+  echo "Usage: phtimes.csh depth(km) distance(degrees) phase"
+  exit 1
+endif
+if( $delta =~ "" ) then
+  echo "Usage: phtimes.csh depth(km) distance(degrees) phase"
+  exit 1
+endif
+if( $branch =~ "" ) then
+  echo "Usage: phtimes.csh depth(km) distance(degrees) phase"
+  exit 1
+endif
+
+
+# travel times
+$dir/bin/ttimes <<EOF  > tmp.log
+Y
+$model
+$branch
+
+N
+$depth
+$delta
+-1
+-1
+EOF
+
+# outputs single line with phase name and traveltime 
+fgrep -A 1 "#" tmp.log | tail -n 1 | awk '{print $3,$4}'
+
+
+# in case of problems, see the created tmp.log for further informations
\ No newline at end of file


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/phtimes.csh
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/process_data.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/process_data.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/process_data.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,292 @@
+#!/usr/bin/perl
+
+use Time::Local;
+use Getopt::Std;
+use POSIX;
+
+sub Usage{
+  print STDERR <<END;
+
+  process_data_new.pl -m CMTFILE -l Start/End 
+                      -t Ts/Tl -h hdur -f -i -R resp_dir
+                      -p -s Sps -P n/p -T Taper_width -c -y t1/v1/...
+                      -x Ext -d OutDir
+                      data_sac_files
+  with
+
+       -m -- use CMTSOLUTION file to set event info
+       -a STAFILE -- add station information from STAFILE, use '-a none' to get
+            information from Vala''s station file.
+       -l Start/End -- start and end of record from o
+       -t Ts/Tl -- shortest and longest period (used in filters and ins transfer)
+       -i -- transfer record to displacement based on instrument response
+       -f -- transfer record only, no extra filtering
+               (possible scenarios: -i/-R -t; -i/-R -t -h; -i/-R -t -f; 
+       -R resp_dir -- transfer record using RESP file in resp_dir
+       -p -- pick event p and s first arrival into sac headers (t1 and t2)
+       -x Ext -- extension of new file name
+       -d Dir -- directory to put the output files (default .)
+       -s Sps -- sample per second (default 1.0)
+       -P n/p -- number of poles and passes for butterworth filter (default 4/2)
+       -T taper_width -- taper width to use in 'taper' command of SAC
+       -c check sac output on the screen, otherwise print out summary
+       -y t0/vel/t0/vel... --- pick times into headers t3/t4/... (rayleigh = 0/3.8; love = 0/4.0)
+
+       data_sac_files --- names of the data sac files to be processed
+
+ Notice:
+  1. We require that polezero files in the same directory as the sac 
+     data files which is generally satisfied. We require that resp dir
+     be specified even if it is current(.). All the needed info is
+     taken from sac headers
+  2. Origin time is set to PDE + time_shift (given by the CMTSOLUTION)
+  3. The displacement outputs after -i option are in the unit of meters
+  4. For BH? components, please set -s 20, otherwise interpolation to
+     1 sample/second will be performed
+ 
+  Qinya Liu, Originally written in Oct, 2002; updated in Nov 2009
+END
+  exit(1);
+}
+
+$saclst="saclst";
+$phtimes="./phtimes.csh";
+
+if (@ARGV == 0) { Usage(); }
+
+if (!getopts('m:a:l:t:iR:px:d:s:P:T:y:ch:f')) {die('Check input arguments\n');}
+
+if ($opt_m and not -f $opt_m) {die("Check if file $opt_m exists\n");}
+if ($opt_a and not -f $opt_a) {$opt_a="/opt/seismo/datalib/stations/STATIONS_LH";}
+if ($opt_R and not -d $opt_R) {die("Check if dir $opt_R exists\n");}
+
+# check the use of -h to with -I
+if ($opt_h and !($opt_I or $opt_R)) {die("-h and -I/-R should appear in pairs\n");}
+if ($opt_h) {$hdur_input=$opt_h;}
+if ($opt_t) {($tmin, $tmax) = split(/\//,$opt_t);
+	     $f1 = 1./$tmax;  $f2=1./$tmin;}
+
+if ($opt_d) {
+  $out_dir=$opt_d; if (not -d $out_dir) {mkdir($out_dir,0777);}
+}
+if ($opt_x) {$ext='.'.$opt_x;}else {$ext="";}
+if (!$opt_s) {$dt=1.0;} else {$dt = 1.0/$opt_s;}
+if (!$opt_P) {$poles=4;$pass=2;}
+else{($poles,$pass)=split(/\//,$opt_P);
+     if(not defined $pass or $pass < 1) {$pass=2;}
+}
+if (!$opt_T) {$opt_T = 0.05;}
+if ($opt_l) {($lmin,$lmax) = split(/\//,$opt_l);} else {$lmin = 0; $lmax = 3600;}
+if ($opt_f and not ($opt_R or $opt_i)) {die("-f option goes together with -i or -R\n");}
+
+
+$eps=1e-5; $undef=-12345.0; $cundef="-12345";
+
+foreach $file (@ARGV) {
+  $no_resp=0;
+  if (! -f $file) {die("No such file to be processed!!\n"); }
+  print "Processing data file $file \n";
+  if (not $opt_d) {$outfile = $file.$ext;}
+  else { ($filename) = split(" ",`basename $file`);
+	 $outfile = "$out_dir/${filename}${ext}";}
+  ($filedir) = split(" ",`dirname $file`);
+  if ($ext or $opt_d) {system("\\cp -f $file $outfile");}
+
+  # process data
+  if ($opt_c) {open(SAC,"|sac ") || die("Can't open sac\n");}
+  else {open(SAC,"|sac > /dev/null") || die("Can't open sac\n");}
+  print SAC "echo on\n";
+  print SAC "r $outfile\n";
+
+  if ($opt_m) {  # add event information from CMTSOLUTION FILE
+    print "    Adding event info from $opt_m\n";
+    ($oyear,$omonth,$oday,$ohr,$omin,$osec,$omsec,$tshift,undef,
+     $elat,$elon,$edep,undef) = get_cmt($opt_m);
+    ($oyear1,$ojday1,$ohr1,$omin1,$osec1,$omsec1)
+      =tdiff($oyear,$omonth,$oday,$ohr,$omin,$osec,$omsec,$tshift);
+    print SAC "ch o gmt $oyear1 $ojday1 $ohr1 $omin1 $osec1 $omsec1\n";
+    print SAC "evaluate to tmp 0 - &1,o\n";
+    print SAC "ch allt %tmp% iztype io\n";
+    print SAC "ch evla $elat evlo $elon evdp $edep \n";
+    print SAC "w $outfile\nquit\n";
+    close(SAC);
+    if ($opt_c) {open(SAC,"|sac ") || die("Can't open sac\n");}
+    else {open(SAC,"|sac > /dev/null") || die("Can't open sac\n");}
+    print SAC "echo on\n";
+    print SAC "r $outfile\n";}
+
+   if ($opt_a) { # add station information
+     print "Add station information\n";
+     (undef,undef,undef,undef,undef,undef,$net,$sta,undef,$comp)=split(/\./,$file);
+     print SAC "ch kstnm $sta knetwk $net kcmpnm $comp\n ";
+     ($sta_name,$sta_net,$sta_lat,$sta_lon,$sta_ele,$sta_bur)=split(" ",`egrep '$sta +$net' $opt_a`);
+     if (not defined $sta_name) {
+       print("No such station $sta+$net in $opt_a file\n");
+       ($sta_name,$sta_net,$sta_lat,$sta_lon,$sta_ele,$sta_bur)=split(" ",`egrep '$sta' $opt_a`);
+       if (not defined $sta_name) {
+          print " No such station as $sta in the $opt_a file\n";
+          $sta_text .="$sta ";}}
+     print SAC "ch stla $sta_lat stlo $sta_lon stel $sta_ele stdp $sta_bur\nwh\n";
+     print SAC "w $outfile\nquit\n";
+     close(SAC);
+     if ($opt_c) {open(SAC,"|sac ") || die("Can't open sac\n");}
+     else {open(SAC,"|sac > /dev/null") || die("Can't open sac\n");}
+     print SAC "echo on\n";
+     print SAC "r $outfile\n";}
+
+  if ($opt_l){  # cut record and rtrend and rmean
+    print "    Cut the record from o+$lmin to o+$lmax\n";
+    (undef,$tmp_o)=split(" ",`$saclst o f $outfile`);
+    if (abs($tmp_o-$undef) < $eps) {die("O has not been set to cut record\n");}
+    print SAC "setbb begin ( max &1,b ( &1,o + $lmin ) ) \n";
+    print SAC "setbb end   ( min &1,e ( &1,o + $lmax ) ) \n";
+    print SAC "cut %begin% %end% \n";
+    print SAC "r $outfile\n cut off\n  w over \nquit\n";
+    close (SAC);
+    if ($opt_c) {open(SAC,"|sac ") || die("Can't open sac\n");}
+    else {open(SAC,"|sac > /dev/null") || die("Can't open sac\n");}
+    print SAC "echo on\n";
+    print SAC "r $outfile\n";}
+
+  if ($opt_i or $opt_R) {  # transfer instrument response
+    if (! $opt_t) {die(" Specify bandpass range by -t\n");}
+    $f0=$f1*0.8;
+    $f3=$f2*1.2;
+    (undef,$network,$sta,$comp,$khole)=split(" ",`$saclst knetwk kstnm kcmpnm khole f $outfile`);
+    if ($network eq $cundef or $sta eq $cundef or $comp eq $cundef or $khole eq $cundef) {
+      die("No network station name or component name or khole defined in $outfile\n");}
+    if ($opt_i) { # assume pz file in the same dir
+      $pzfile=`ls -1 $filedir/SAC_PZs_${network}_${sta}_${comp}_${khole}* | head -1`;
+      chomp($pzfile);
+      if (!-f $pzfile) {print " **** No pzfile $pzfile **** \n"; $no_resp=1;}
+      else {print "    Transfer instrument response using pz file $pzfile\n";
+	    printf SAC ("trans from polezero s %20s to none freq %12.6f%12.6f%12.6f%12.6f \n",
+			$pzfile,$f0,$f1,$f2,$f3);}
+    } else { # assume resp file in opt_R
+      @respfiles=glob("$opt_R/${network}.${sta}.${khole}.${comp}*.RESP");
+      $respfile = find_resp_file($outfile, at respfiles);
+      if (! -f $respfile or @respfiles == 0) {print " **** No respfile $respfiles for $network, $sta, $khole, $comp ****\n";  $no_resp=1;}
+      else {
+	print "    Transfer instrument response using response file $respfile\n";
+	printf SAC ("trans from evalresp fname $respfile to none freq %12.6f%12.6f%12.6f%12.6f \n",
+		  $f0,$f1,$f2,$f3);
+	printf SAC "mul 1e-9\n"; }}
+  }
+
+  if ($opt_t and not $opt_h and not $opt_f) {# butterworth filter
+    print "    Filter record at periods $tmin and $tmax\n";
+    print SAC "rtrend\n rmean\n taper width $opt_T\n";
+    printf SAC ("bp n %4d p $pass cor %12.6f %12.6f\n",$poles,$f1,$f2);
+    printf SAC " rtrend\n rmean\n taper width $opt_T\n";}
+
+  elsif ($opt_h and not $opt_f) { # gaussian filter
+    print SAC "rtrend\n rmean\n taper width $opt_T\n";
+    print SAC "w $outfile \nquit\n";
+    close(SAC);
+    system("convolve_stf t $hdur_input 1 $outfile");
+    if ($? != 0) {die("Check if |convolve_stf t $hdur_input 1 $outfile| was successfully run\n");}
+    system("mv -f ${outfile}.conv $outfile");
+    if ($opt_c) {open(SAC,"|sac  ") || die("Can't open sac\n");}
+    else {open(SAC,"|sac >sac_out.log ") || die("Can't open sac\n");}
+    print SAC "echo on\n r $outfile\n";
+  }
+
+  if ($opt_s)  {print SAC "interp delta $dt\n";}
+
+  if ($opt_p) { # add p and s arrival info
+    print "    Add first P and S arrival information\n";
+    (undef,$gcarc,$edep)=split(" ",`$saclst gcarc evdp f $outfile`);
+    if (abs($gcarc-$undef) < $eps or abs($edep-$undef) < $eps) {die("No gcarc and depth info\n");}
+    ($Pph,$Ptime)=split(" ",`$phtimes $edep $gcarc P`);
+    ($Sph,$Stime)=split(" ",`$phtimes $edep $gcarc S`);
+    if (not $opt_m) {$tshift = 0;}
+    print SAC "evaluate to tmp1 $Ptime - $tshift\n";
+    print SAC "evaluate to tmp2 $Stime - $tshift\n";
+    print SAC "ch t1 %tmp1% t2 %tmp2%\n";
+    print SAC "ch kt1 $Pph kt2 $Sph\n";}
+
+  if ($opt_y) { # add arrival times to headers
+    @numbers=split(/\//,$opt_y); $npairs = floor(@numbers/2);
+    if (@numbers != $npairs*2) {die("Enter -y t0/Vel/t0/Vel/...\n");}
+    for ($i=0;$i<$npairs;$i++) {
+      $int = $numbers[$i*2]; $slope = $numbers[$i*2+1];
+      print "   Add arrival time for waves with group velocity: $slope\n";
+      (undef,$dist,$begin,$end)=split(" ",`$saclst dist b e f $outfile`);
+      if (abs($dist-$undef) < $eps) {die("Not defined dist\n");}
+      $h1 = 3+$i;  $h1 = "t$h1"; $k1 = "k$h1"; $v1 = $int + $dist/$slope;
+      (undef,$v1,undef) = sort {$a <=> $b} ($begin, $v1 ,$end);
+      printf SAC ("ch $h1 %12.2f\n",$v1);
+      print SAC "ch $k1 $h1\n";}}
+
+  print SAC "w $outfile\n";
+  print SAC "echo off\nquit\n";
+  close(SAC);
+  if ($no_resp and defined $opt_d) {
+    print "Deleting $outfile\n"; 
+    system("rm -f $outfile");}
+}
+print "  Done! \n";
+
+#**********************************************************
+sub mday2jday {
+  my($oyear,$omonth,$oday)=@_;
+  $omonth = $omonth-1;  #months range from 0..11
+  $time_sec = timegm(3,3,3,$oday,$omonth,$oyear);
+  @t = gmtime($time_sec);
+  my($jday) = $t[7];
+  $jday += 1;
+  return ($jday);
+}
+
+sub tdiff{
+  my ($oyear,$omonth,$oday,$ohr,$omin,$osec,$omsec,$tadd)=@_;
+  $time = timegm($osec, $omin, $ohr, $oday , $omonth-1, $oyear);
+  $time += ($tadd +$omsec/1000); #event_time in machine format
+  $msec = sprintf("%03.0f",($time - (floor($time)))*1000);
+  $time = floor($time);
+#event-time:
+  my($sec, $min, $hr, $day , $month, $year,$weekday,$jday) = gmtime($time);
+  $month += 1;
+  $year += 1900;
+  $jday +=1;
+  return ($year,$jday,$hr,$min,$sec,$msec);
+}
+
+sub get_cmt {
+  my ($cmt_file)=@_;
+  open(CMT, "$cmt_file") or die("Error opening $cmt_file\n");
+  @cmt = <CMT>;
+  my($pde,$oyear,$omonth,$oday,$ohr,$omin,$osec1)=split(" ",$cmt[0]);
+  my($osec,$omsec)=split(/\./,$osec1); $omsec=$omsec*10;
+  my(undef,undef,$tshift)=split(" ",$cmt[2]);
+  my(undef,undef,$hdur)=split(" ",$cmt[3]);
+  my(undef,$elat)=split(" ",$cmt[4]);
+  my(undef,$elon)=split(" ",$cmt[5]);
+  my(undef,$edep)=split(" ",$cmt[6]);
+  my(undef,$Mrr)=split(" ",$cmt[7]);
+  my(undef,$Mtt)=split(" ",$cmt[8]);
+  my(undef,$Mpp)=split(" ",$cmt[9]);
+  my(undef,$Mrt)=split(" ",$cmt[10]);
+  my(undef,$Mrp)=split(" ",$cmt[11]);
+  my(undef,$Mtp)=split(" ",$cmt[12]);
+  close(CMT);
+  return ($oyear,$omonth,$oday,$ohr,$omin,$osec,$omsec,$tshift,$hdur,$elat,$elon,$edep,$Mrr,$Mtt,$Mpp,$Mrt,$Mrp,$Mtp);
+}
+
+sub  find_resp_file {
+  my($file, at resp)=@_;
+  # using sac own saclst
+  my(undef,$year,$jday,$hr,$min,$sec,$msec)=split(" ",`saclst nzyear nzjday nzhour nzmin nzsec nzmsec f $file`);
+  $f_date=sprintf("%04d.%03d.%02d.%02d.%02d.%04d",$year,$jday,$hr,$min,$sec,$msec);
+#  print "$f_date\n";
+  my($resp_file)="";
+  foreach $resp (@resp) {
+    ($rs_date) = split(" ", `grep 'Start date' $resp | awk '{print \$4}' | tr , . | tr : .`);
+    ($re_date) = split(" ", `grep 'End date' $resp | awk '{print \$4}' | tr , . | tr : .`);
+
+#    print "$rs_date; $re_date\n";
+    if ($rs_date le $f_date and $re_date ge $f_date) {
+      $resp_file=$resp; last;}
+  }
+  return($resp_file);
+}


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/process_data.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/process_syn.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/process_syn.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/process_syn.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,272 @@
+#!/usr/bin/perl
+
+use Time::Local;
+use Getopt::Std;
+use POSIX;
+
+sub Usage{
+print STDERR <<END;
+
+Usage:   process_syn_new.pl
+     -S -m CMTFILE -h -o offset -lStart/End -tTmin/Tmax -f -P n/p
+     -i Dir/data-comp -A amp_factor -p -a STAFILE -s sps -y t0/V0/t1/V1...
+     -c -d OutDir -x Ext  synthetics_files
+where
+    -S already sac file, will not apply ascii2sac.csh
+    -m CMTSOLUTION file for event origin, location and half duration
+    -h convolve a triangle stf with half duration from -m
+    -o moves the synthetics back by 'offset' from centroid time.
+    -l lmin/lmax   start/end cut of trace
+    -t Tmin/Tmax -- shortest/longest period of bandpass filter
+    -f -- apply transfer filter instead of butterworth filter for -t
+    -P -- number of poles and passes in butterworth filter(default 4/2)
+    -i Dir/data-comp -- convolve synthetics with instrument response for
+                        given data channel in Dir
+    -A amp_factor -- multiple all files with an amplification factor
+    -p -- pick P and S arrivals according to iasp91 model to t1/t2 headers
+    -a STAFILE -- add station information from STAFILE, use "-a none"
+       to get information from Vala''s station file
+    -s sps -- resampling rate for synthetics (default is 1.0)
+    -y t0/V0/t1/V1 -- add to t3/t4 the arrival times of t + dist/V
+    -c -- show sac output
+    -d OutDir -- directory to dump output (default: same as input files)
+    -x Ext -- add extension Ext
+
+    names of files -- name of syn files to be processed
+
+ NOTE: Please make sure that SAC, saclst and IASP91 packages are installed properly on 
+       your system, and that all the environment variables are set properly before
+       running the script.
+
+    
+    Qinya Liu, originally written in Oct 2002, most recently updated in Feb 2010.
+
+END
+exit(1);
+}
+
+ at ARGV > 1 or Usage();
+
+if (!getopts('Sm:ho:l:t:fi:pP:a:cd:x:vs:y:A:')) {die(" check input arguments\n");}
+
+if ($opt_t) {($tmin, $tmax) = split(/\//,$opt_t);
+             $f1 = 1./$tmax;  $f2=1./$tmin;}
+if ($opt_x) {$ext=".".$opt_x;} else {$ext="";}
+if (!$opt_s) {$dt=1.0;} else {$dt = 1.0/$opt_s;}
+if (!$opt_P) {$poles=4;$pass=2;}
+else{($poles,$pass)=split(/\//,$opt_P);
+     if(not defined $pass or $pass<1){$pass=2;}}
+if ($opt_l) {($lmin,$lmax) = split(/\//,$opt_l);} 
+else {$lmin = 0; $lmax = 3600;}
+if ($opt_a) {$stafile=$opt_a;
+   if (not -f $stafile) {$sta_file="/opt/seismo/data/STATIONS_new";}}
+if ($opt_o and not $opt_m) {die("Specify centroid time first\n");}
+if ($opt_d and not -d $opt_d) {die("No such directory as $opt_d\n");}
+if ($opt_i) {
+  ($ins_dir,$cmpd) = split(/\//,$opt_i);
+  if (not -d $ins_dir) {die("No such resp directory as $ins_dir\n");}
+  if (not defined $cmpd) {$cmpd="LH";}  @cmpd=split(//,$cmpd);}
+if ($opt_A) {if ($opt_A !~ /^\d/) {die("-A option should be numbers\n");}}
+if ($opt_f) {
+  if (not $opt_t) {die("-t tmin/tmax has to be specified for -f\n");}
+  else {$f0=$f1*0.8;  $f3=$f2*1.2;}}
+
+$undef = -12345;
+$eps = 0.1;
+
+$saclst="saclst";
+$phtimes="phtimes.csh";
+$asc2sac="ascii2sac.csh";
+$convolve_stf="convolve_stf";
+
+#if (! -e $saclst)  {die(" No $saclst file\n");}
+#if (! -e $phtimes) {die("No $phtimes file\n");}
+#if (! -e $asc2sac) {die("No $asc2sac file\n");}
+
+$min_hdur=1.0;
+
+if ($opt_m) { # extract event information from CMTSOLUTION
+  if (!-f $opt_m) {die(" No cmtsolution file $opt_m\n");}
+  ($oyear,$omonth,$oday,$ohr,$omin,$osec,$omsec,$tshift,$hdur,$elat,$elon,$edep) = get_cmt($opt_m);
+  ($oyear1,$ojday1,$ohr1,$omin1,$osec1,$omsec1) = tdiff($oyear,$omonth,$oday,$ohr,$omin,$osec,$omsec,$tshift);}
+
+$sta_text="";
+
+foreach $file (@ARGV) {
+
+  print "\nProcessing file            $file\n"; 
+  if (! -f $file) {die(" No such file : $file\n");}
+
+  # transfer ascii file to sac file according to name of files
+  if (not $opt_S) {# ascii file
+    print "Transfer ascii file to sac file\n";
+    system("$asc2sac $file >/dev/null");
+    $file = $file.".sac";}
+
+  (undef,$begin_time) = split(" ",`$saclst b f $file`);
+  if (not defined $begin_time) {die("Check if the file is SAC format\n")};
+
+  ($filename) = split(" ",`basename $file`);
+  ($sta,$net,$comp)=split(/\./,$filename);
+  if (not $opt_d) {$outfile = $file.$ext;}
+  else {$outfile = "$opt_d/${filename}${ext}";}
+  if ($ext or $opt_d) {system("\\cp -f $file $outfile");}
+  print "Output to file $outfile\n";
+
+  if ($opt_c) { open(SAC,"|sac");}else {open(SAC,"|sac > /dev/null");}
+  print SAC "echo on\n";
+
+  print SAC "r $outfile\n";
+  if ($opt_m) { # add event location and original time
+    print "Add event information\n";
+    if($opt_o){$tmp_o = -$opt_o; print SAC "ch allt $tmp_o\n";}
+    print SAC "ch nzyear $oyear1 nzjday $ojday1 nzhour $ohr1 nzmin $omin1 nzsec $osec1 nzmsec $omsec1\n";
+    print SAC "ch o 0\n";
+    print SAC "ch evla $elat evlo $elon evdp $edep \n wh\n";
+    print SAC "w over \nquit\n";
+    close(SAC);
+    if ($opt_c) {open(SAC,"|sac");}else {open(SAC,"|sac > /dev/null");}
+    print SAC "echo on\n r $outfile\n";}
+
+  if ($opt_h and $hdur > $min_hdur) { # convolve source time function
+    print SAC "quit\n";
+    close(SAC);
+    system("$convolve_stf t $hdur  $outfile");
+    system("mv ${outfile}.conv ${outfile}");
+    if ($opt_c) {open(SAC,"|sac");}else {open(SAC,"|sac > /dev/null");}
+    print SAC "echo on\n r $outfile\n";}
+
+
+  if ($opt_a) { # add station information
+    print "Add station information\n";
+    print SAC "ch kstnm $sta knetwk $net kcmpnm $comp\n ";
+    if    ($comp=~/E/) {print SAC "ch cmpaz 90 cmpinc 90\n";}
+    elsif ($comp=~/N/) {print SAC "ch cmpaz 0 cmpinc 90\n";}
+    elsif ($comp=~/Z/) {print SAC "ch cmpaz 0 cmpinc 0 \n";}
+    if (! -f $stafile ) {die(" No such files: $stafile");}
+    ($sta_name,$sta_net,$sta_lat,$sta_lon,$sta_ele,$sta_bur)=split(" ",`egrep '$sta +$net' $stafile`);
+    if (not defined $sta_name) {
+      print("No such station $sta+$net in $stafile file\n");
+      ($sta_name,$sta_net,$sta_lat,$sta_lon,$sta_ele,$sta_bur)=split(" ",`egrep '$sta' $stafile`);
+      if (not defined $sta_name) {
+         print " No such station as $sta in the $stafile  file\n";
+         $sta_text .="$sta ";}}
+    print SAC "ch stla $sta_lat stlo $sta_lon stel $sta_ele stdp $sta_bur\nwh\n";}
+
+  if ($opt_l) { #cut record
+     print SAC "setbb begin ( max &1,b ( &1,o + $lmin ) ) \n";
+     print SAC "setbb end   ( min &1,e ( &1,o + $lmax ) ) \n";
+     print SAC "cut %begin% %end% \n";
+     print SAC "r $outfile\n";
+     print SAC "cut off\n";}
+
+  if ($opt_A) {print SAC "mul $opt_A\n";}
+
+   print SAC "w over\nquit\n";
+   close(SAC);
+   if ($opt_c) { open(SAC,"|sac");}else {open(SAC,"|sac > /dev/null");}
+   print SAC "echo on\n r $outfile\n ";
+
+  if ($opt_t)  { # filter record
+    print "Filtering records...\n";
+    print SAC "rtrend\n rmean\n taper\n";
+    if ($opt_f) {
+      printf SAC ("trans from none to none freq %12.6f %12.6f %12.6f %12.6f\n",$f0,$f1,$f2,$f3);}
+    else {
+      printf SAC ("bp n $poles p $pass co %10.5f %10.5f\n",$f1,$f2);}
+    print SAC "rtrend\n rmean\n taper\n";}
+ 
+  if ($opt_i) {# convolve with instrument response
+    print "Convolving instrument response...\n";
+    @cmpc=split(//,$comp);
+    $comp=$cmpd[0].$cmpd[1].$cmpc[2];
+    $pzfile="SAC_PZs_${net}_${sta}_${comp}_";
+    @nfiles=`ls -l $ins_dir/${pzfile}* | awk '{print \$9}'`;
+    if (@nfiles != 1) {die("Pzfile is incorrect: \n at nfiles files\n");}
+    $pz=$nfiles[0]; chomp($pz);
+    if (! -f $pz) {die("Not a pz file $pz\n");}
+    print SAC "transfer from none to polezero s ${pz}\n";
+    print SAC "w over\n";}
+
+  if ($opt_s) {print SAC "interp delta $dt\n";}
+
+  if ($opt_p) { # pick arrival
+    print "Picking arrivals...\n";
+    (undef,$gcarc)=split(" ",`$saclst gcarc f $outfile`);
+    if (abs($gcarc-$undef)< $eps) {die("No gcarc is defined\n");}
+    ($Pph,$Ptime)=split(" ",`$phtimes $edep $gcarc P`);
+    ($Sph,$Stime)=split(" ",`$phtimes $edep $gcarc S`);
+    print SAC "evaluate to tmp1 $Ptime - $tshift\n";
+    print SAC "evaluate to tmp2 $Stime - $tshift\n";
+    print SAC "ch t1 %tmp1% t2 %tmp2%\n";
+    print SAC "ch kt1 $Pph kt2 $Sph\n wh\n";}
+
+  if ($opt_y) { # add arrival time for surface waves
+    @numbers=split(/\//,$opt_y); $npairs = floor(@numbers/2);
+    if (@numbers != $npairs*2) {die("Enter -y in1/slope1/in2/slope2/...\n");}
+    for ($i=0;$i<$npairs;$i++) {
+      $int = $numbers[$i*2]; $slope = $numbers[$i*2+1];
+      print "Add arrival time for waves with group velocity: $slope\n";
+      (undef,$dist,$begin,$end)=split(" ",`$saclst dist b e f $outfile`);
+      if (abs($dist-$undef) < $eps) {die("Not defined dist\n");}
+      $h1 = 3+$i;  $h1 = "t$h1"; $k1 = "k$h1"; $v1 = $int + $dist/$slope;
+      (undef,$v1,undef) = sort {$a <=> $b} ($begin, $v1 ,$end);
+      printf SAC ("ch $h1 %12.2f\n",$v1);
+      print SAC "ch $k1 $h1\n";}}
+
+  print SAC "w over\nquit\n";
+  close(SAC);
+
+}
+if ($sta_text) {
+   print "\n\nNotice the following stations are not found in the station file\n   $sta_text\n\n";}
+print "DONE\n";
+
+
+#****************************************************************
+sub mday2jday {
+    my($oyear,$omonth,$oday)=@_;
+    $omonth = $omonth-1;  #months range from 0..11
+    $time_sec = timegm(3,3,3,$oday,$omonth,$oyear);
+    @t = gmtime($time_sec);
+    $jday = @t[7];
+    $jday += 1;
+    return ($jday);
+}
+
+sub tdiff {
+    my ($oyear,$omonth,$oday,$ohr,$omin,$osec,$omsec,$tadd)=@_;
+    #  die("$oyear,$omonth,$oday,$ohr,$omin,$osec,$omsec,$tadd\n");
+    $time = timegm($osec, $omin, $ohr, $oday , $omonth-1, $oyear);
+    $time += ($tadd +$omsec/1000); #event_time in machine format
+    $msec = sprintf("%03.0f",($time - (floor($time)))*1000);
+    $time = floor($time);
+    #event-time:
+    ($sec, $min, $hr, $day , $month, $year,$weekday,$jday) = gmtime($time);
+    $month += 1;
+    $year += 1900;
+    $jday +=1;
+    return ($year,$jday,$hr,$min,$sec,$msec);
+}
+
+sub get_cmt {
+    local ($cmt_file)=@_;
+    open(CMT, "$cmt_file") or die("Error opening $cmt_file\n");
+    @cmt = <CMT>;
+    local($pde,$oyear,$omonth,$oday,$ohr,$omin,$osec1)=split(" ",$cmt[0]);
+    local($osec,$omsec)=split(/\./,$osec1); $omsec=$omsec*10;
+    local(undef,undef,$tshift)=split(" ",$cmt[2]);
+    local(undef,undef,$hdur)=split(" ",$cmt[3]);
+    local(undef,$elat)=split(" ",$cmt[4]);
+    local(undef,$elon)=split(" ",$cmt[5]);
+    local(undef,$edep)=split(" ",$cmt[6]);
+    local(undef,$Mrr)=split(" ",$cmt[7]);
+    local(undef,$Mtt)=split(" ",$cmt[8]);
+    local(undef,$Mpp)=split(" ",$cmt[9]);
+    local(undef,$Mrt)=split(" ",$cmt[10]);
+    local(undef,$Mrp)=split(" ",$cmt[11]);
+    local(undef,$Mtp)=split(" ",$cmt[12]);
+    close(CMT);
+    return ($oyear,$omonth,$oday,$ohr,$omin,$osec,$omsec,$tshift,$hdur,$elat,$elon,$edep,$Mrr,$Mtt,$Mpp,$Mrt,$Mrp,$Mtp);
+}
+


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/process_syn.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/readme.txt
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/readme.txt	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/readme.txt	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,99 @@
+--------------------------------
+readme
+--------------------------------
+
+To compare synthetics and data, the following steps are recommended: 
+
+1. Make sure that both synthetic and observed seismograms have the 
+   correct station/event and timing information. 
+   
+2. Convolve synthetic seismograms with a source time function with the 
+   half duration specified in the CMTSOLUTION file, provided, as recommended, 
+   you used a zero half duration in the SEM simulations. 
+   
+3. Resample both observed and synthetic seismograms to a common sampling rate. 
+
+4. Cut the records using the same window. 
+
+5. Remove the trend and mean from the records and taper them. 
+
+6. Remove the instrument response from the observed seismograms (recommended) 
+   or convolve the synthetic seismograms with the instrument response. 
+   
+7. Make sure that you apply the same filters to both observed and synthetic seismograms. 
+   Preferably, avoid filtering your records more than once. 
+   
+8. Now, you are ready to compare your synthetic and observed seismograms. 
+
+
+Example:
+--------
+
+- data processing:
+
+  > process_data.pl -m CMTSOLUTION -s 1.0 -l 0/4000 -i -f -t 40/500 -p -x bp DATA/1999.330*.LH?.SAC
+
+    - adds CMTSOLUTION information
+    - resamples ( 1 s sampling rate)
+    - cuts ( between 0 and 4000 s)
+    - transfers data to displacement and filters (between 40 and 500 s)
+    - picks P & S arrivals
+    - adds suffix 'bp'
+
+- synthetics processing:
+
+  > process_syn.pl -m CMTSOLUTION -h -a STATIONS -s 1.0 -l 0/4000 -f -t 40/500 -p -x bp SEM/*.LH?.sem
+  
+    - adds CMTSOLUTION information
+    - convolves with source-time function
+    - adds STATIONS information
+    - resamples ( 1 s sampling rate)
+    - cuts ( between 0 and 4000 s)
+    - filters (between 40 and 500 s) compatible with transfer function
+    - picks P & S arrivals
+    - adds suffix 'bp'
+
+to rotate the horizontal components:
+
+  > rotate.pl -l 0 -L 4000 -d DATA/*.LHE.SAC.bp 
+  > rotate.pl -l 0 -L 4000 SEM/.LHE.semd.sac.bp   
+  
+  
+  
+Note:
+-----
+
+the processing scripts make use of additional software 
+(assumed to be installed in a default directory /opt/seismo-util/):
+
+- SAC
+  http://www.iris.washington.edu/software/sac/
+  
+  dowload software package (IRIS DMC Software - Processing Programs)
+  
+  the scripts 'process_**.pl' make use of the provided binary `sac` and `saclst`.
+
+- iaspei-tau 
+  http://www.iris.washington.edu/pub/programs/iaspei-tau/  
+  
+  download software package (IRIS DMC Software - Processing Programs) 
+  and install it by running:
+    > cd iaspei-tau/
+    > ./build-package
+  
+  the scripts 'process_**.pl' call 'phtimes.csh' (for picking phases)
+  which makes use of the provided binary `ttimes`.
+  please modify the paths in the script 'phtimes.csh' accordingly.
+    
+- asc2sac  
+  source code provided in UTILS/lib or on https://geodynamics.org/portals/seismo/ inside
+  the post-process utilities:
+  https://geodynamics.org/portals/seismo/samples/seis_process-1.0.1.tar.gz
+  
+- convolve_stf
+  source code provided in UTILS/lib or on https://geodynamics.org/portals/seismo/ inside
+  the post-process utilities: 
+  https://geodynamics.org/portals/seismo/samples/seis_process-1.0.1.tar.gz
+  
+  
+  
\ No newline at end of file

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/rotate.pl
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/rotate.pl	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/rotate.pl	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,107 @@
+#!/usr/bin/perl
+
+use Getopt::Std;
+use POSIX;
+
+sub Usage {
+  print STDERR <<EOF;
+
+ Usage: rotate.pl -lStart -LEnd -c -d  [East|1]_Component_file_name
+
+    rotate.pl rotates iris data(-d), trinet data and synthetics (with
+    out -d option)
+    -l -L specifies the start and end point of the traces to rotate
+    -c check SAC output on screen
+       ex. rotate.pl -d *.LHE.SAC for iris data
+           rotate.pl PAS.*.LHE.sac for synthetics
+    For iris data (with -d), the timing part of the name will be ignored
+    and only the component part of the name will be changed correspondingly
+
+EOF
+exit(1)
+}
+
+
+if (!getopts('l:L:cdts')) {die('Check input arguments\n');}
+ at ARGV > 0 or Usage();
+if (!$opt_l) {$opt_l = 0;}
+$saclst = "saclst";
+if (system("which $saclst >/dev/null") != 0) {die(" No $saclst file\n");}
+$undef=-12345.0;
+$eps=0.1;
+
+foreach $file (@ARGV) {
+  print "processing $file\n";
+  if (! -f $file) {die (" check to see if $file exists or not\n");}
+  (undef,$comp)=split(" ",`$saclst kcmpnm f $file`);
+  if ($comp eq "-12345") {die("No component name defined in the file\n");}
+  if (not ($comp=~/E/ or $comp=~/1/)) {die("Please input only E/1 comp\n");}
+  $ecomp = $comp; $ncomp = $ecomp; $rcomp = $ecomp; $tcomp = $ecomp;
+  $ncomp=~s/E/N/; $ncomp =~s/1/2/;
+  $tcomp=~s/E/T/; $tcomp =~s/1/T/;
+  $rcomp=~s/E/R/; $rcomp =~s/1/R/;
+  ($dir) = split(" ",`dirname $file`);$east = $file;
+  if ($opt_d) {
+    (undef,undef,undef,undef,undef,undef,$network,undef)=split(/\./,`basename $file`);
+    (undef,$east1) = split(/\.$network\./,$file);
+    $east1 = "$network.$east1";
+    $north1 = $east1; $north1=~s/$ecomp/$ncomp/;
+    ($north) = split(" ",`ls -1 $dir/*$north1`);
+    $tang1=$east1;$radial1=$east1;
+    $tang1=~s/$ecomp/$tcomp/; $radial1=~s/$ecomp/$rcomp/;
+    $tang = "$dir/$tang1"; $radial = "$dir/$radial1";
+  } else {
+    $north = $east; $north =~s/$ecomp/$ncomp/;
+    $tang = $east; $tang =~s/$ecomp/$tcomp/;
+    $radial = $east; $radial =~s/$ecomp/$rcomp/;
+}
+
+#  print "   rotate $north $east \n   to $tang $radial\n";
+  if (!-f $north or !-f $east ) {
+    print " no such files: $north and $east, check if -d option is missing\n";
+    next;}
+
+# check some header variables
+  @tmp=`$saclst b kcmpnm npts gcarc cmpinc cmpaz nzyear nzjday nzhour nzmin nzsec nzmsec f $north $east`;
+  (undef,$nb,$ncomp,$npts_n,$gcarc_n,$ninc,$naz,$ny,$nj,$nh,$nm,$ns,$nms)=split(" ",$tmp[0]);
+  (undef,$eb,$ecomp,$npts_e,$gcarc_e,$einc,$eaz,$ey,$ej,$eh,$em,$es,$ems)=split(" ",$tmp[1]);
+
+  if (abs($ninc-$undef)<$eps or abs($einc-$undef)<$eps or abs($naz-$undef)<$eps or abs($eaz-$undef)<$eps ) {die("Check header cmpinc and cmpaz for $north and $east\n");}
+
+  # allow n and e component .2 degrees from vertical
+  $daz = abs($naz-$eaz);
+  if ($daz > 180 and abs(abs($daz-270) >= 0.18) or $daz < 180 and abs(abs($daz-90) >=0.18) ) {
+    print "cmpaz not properly set for $north and $east: $naz,$eaz, skip\n";
+   next;}
+
+  if ($ny != $ey or $nj != $ej or $nh != $eh or $nm != $em or $ns != $es or abs($nms-$ems)>1)
+    {die(" Not the same reference time for $north and $east\n");}
+
+  if (abs($gcarc_e-$undef)<$eps or abs($gcarc_n-$undef)<$eps )
+    {die(" Check to see if GCARC is defined in the header\n");}
+
+  # check if the reference time is the same or not!
+
+  if ($opt_c) {open(SAC,"|sac");}
+  else {open(SAC,"|sac > /dev/null");}
+  print SAC "echo on\n";
+  print SAC "r $north $east\n ";
+  if ($opt_L or $npts_n != $npts_e or abs($nb-$eb) > $eps) { #cut properly
+    if(!$opt_L){
+      print SAC "setbb begin ( max &1,b &2,b ) \n";
+      print SAC "setbb end   ( min &1,e &2,e ) \n";}
+    else{
+      print SAC "setbb begin ( max &1,b &2,b ( &1,o + $opt_l ) ( &2,o + $opt_l ) ) \n";
+      print SAC "setbb end   ( min &1,e &2,e ( &1,o + $opt_L ) ( &2,o + $opt_L ) ) \n"; }
+    print SAC "cut %begin% %end%\n r $north $east\n cut off\n";
+
+  }
+  print SAC "ch cmpinc 90.0\n";  # make sure both are horizontal comp.
+  print SAC "rot\n";           # this is the default rotate to normal
+  print SAC "ch file 1 kcmpnm $rcomp\n";
+  print SAC "ch file 2 kcmpnm $tcomp\n";
+  print SAC "w $radial $tang\nquit\n";
+  close(SAC);
+}
+	
+print "   Done !\n";


Property changes on: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/rotate.pl
___________________________________________________________________
Name: svn:executable
   + *

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/sac2asc/Makefile
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/sac2asc/Makefile	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/sac2asc/Makefile	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,26 @@
+#########################################################
+# Makefile
+#
+# needs SAC libraries installed 
+########################################################
+
+##
+## modify to include your SAC library path
+##
+INCLUDE_SACPATH=-I/opt/seismo-util/lib/Sacio/single
+LIBRAY_SACPATH=-L/opt/seismo-util/lib
+
+CFLAGS = -g -Wall $(INCLUDE_SACPATH)
+
+PROG=sac2asc
+
+OBJS=$(PROG).o
+
+LIBS=$(LIBRARY_SACPATH) -lSacio -lSacTools
+
+
+$(PROG): $(OBJS)
+	$(CC) $(CFLAGS) -o $(PROG) $(OBJS) $(LIBS)
+
+clean:
+	rm -f $(PROG) $(OBJS) core *~ 

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/sac2asc/sac2asc.c
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/sac2asc/sac2asc.c	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/seis_process/sac2asc/sac2asc.c	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,31 @@
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <sacio.h>
+
+int
+main(int argc, char *argv[]) {
+    SACHEAD sachead;
+    float *data;
+    char* filename;    
+    int i;
+    float time;
+
+    if(argc < 2) {
+	fprintf(stderr, "sac2asc: sacfile\n");
+        exit(-1);
+    }
+    filename = argv[1];
+    if((data = read_sac(filename, &sachead) ) == 0) {
+	fprintf(stderr, "Error reading sacfile: %s\n", filename);
+        exit(-1);
+    }
+    time = sachead.b;
+    for(i = 0; i < sachead.npts; i++) {
+        fprintf(stdout, "%f %e\n", time, data[i]);
+        time = time + sachead.delta;
+    }
+    free(data);
+
+    return(0);
+}

Added: seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/strike_dip_rake_to_CMTSOLUTION.c
===================================================================
--- seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/strike_dip_rake_to_CMTSOLUTION.c	                        (rev 0)
+++ seismo/3D/SPECFEM3D_GLOBE/trunk/UTILS/strike_dip_rake_to_CMTSOLUTION.c	2012-03-04 18:23:58 UTC (rev 19718)
@@ -0,0 +1,102 @@
+/*---------------------------------------------------------------------------
+ *
+ *      Copyright (c) 2000-2004 by Onur TAN
+ *      See COPYING file for copying and redistribution conditions.
+ *
+ *      This program is free software; you can redistribute it and/or modify
+ *      it under the terms of the GNU General Public License as published by
+ *      the Free Software Foundation; version 2 of the License.
+ *
+ *      This program is distributed in the hope that it will be useful,
+ *      but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *      GNU General Public License for more details.
+ *
+ *      Contact info:   Onur TAN,
+ *      Istanbul Technical University, Faculty of Mines
+ *      Department of Geophysics, Maslak, Istanbul-TURKEY
+ *      www.geop.itu.edu.tr/~onur
+ *                    tano at itu.edu.tr
+ *--------------------------------------------------------------------------*/
+
+/*  dc2mt.c  : Calculates  moment tensor elements from strike/dip/rake
+  by Onur TAN
+  ITU, Dept. of Geophysics, Istanbul, Turkey, 2Jan2004
+               21Apr2004 bug fix for Mxy
+        [ g++ -o dc2mt dc2mt.c ]
+*/
+
+// Modified by Dimitri Komatitsch, University of Pau, France, September 2007
+// compile with "  gcc -o dc2mt dc2mt.c -lm " to include the math library
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <math.h>
+
+int main ( int argc, char* argv[] )
+{
+float S,D,R,d2r;
+float Mxx, Myy, Mzz, Mxy, Mxz, Myz;
+float Mrr, Mtt, Mpp, Mrt, Mrp, Mtp;
+
+if ( argc != 4 )  {
+printf("\nDouble Couple - Moment Tensor Converter (by Onur TAN)\n");
+printf("Usage : dc2mt Strike Dip Rake (in degrees)\n" );
+printf("Output Aki&Richards1980:  Mxx  Myy  Mzz  Mxy  Mxz  Myz \n\n");
+exit(1);
+}
+
+// PI / 180 to convert degrees to radians
+d2r =  0.017453293;
+
+S  = atof ( argv[1] );
+D  = atof ( argv[2] );
+R  = atof ( argv[3] );
+
+printf("\nStrike = %9.5f degrees\n",S);
+printf("Dip = %9.5f degrees\n",D);
+printf("Rake/Slip = %9.5f degrees\n",R);
+
+// convert to radians
+S *= d2r;
+D *= d2r;
+R *= d2r;
+
+Mxx = -1.0 * ( sin(D) * cos(R) * sin (2*S) + sin(2*D) * sin(R) * sin(S)*sin(S) ); /* Mxx */
+Myy =        ( sin(D) * cos(R) * sin (2*S) - sin(2*D) * sin(R) * cos(S)*cos(S) ); /* Myy */
+Mzz = -1.0 * ( Mxx + Myy);                /* Mzz */
+Mxy =        ( sin(D) * cos(R) * cos (2*S) + 0.5 * sin(2*D) * sin(R) * sin(2*S) );  /* Mxy */
+Mxz = -1.0 * ( cos(D) * cos(R) * cos (S)   + cos(2*D) * sin(R) * sin(S) );    /* Mxz */
+Myz = -1.0 * ( cos(D) * cos(R) * sin (S)   - cos(2*D) * sin(R) * cos(S) );    /* Myz */
+
+printf("\nOutput Aki&Richards1980:  Mxx  Myy  Mzz  Mxy  Mxz  Myz \n");
+printf("%9.5f %9.5f %9.5f %9.5f %9.5f %9.5f\n",Mxx, Myy, Mzz, Mxy, Mxz, Myz);
+
+// also convert to Harvard CMTSOLUTION format
+Mtt = Mxx;
+Mpp = Myy;
+Mrr = Mzz;
+Mtp = Mxy * -1. ;
+Mrt = Mxz;
+Mrp = Myz * -1. ;
+
+/* Harvard CMTSOLUTION format is for instance
+Mrr:      -7.600000e+27
+Mtt:       7.700000e+27
+Mpp:      -2.000000e+26
+Mrt:      -2.500000e+28
+Mrp:       4.000000e+26
+Mtp:      -2.500000e+27
+*/
+
+printf("\nOutput Harvard CMTSOLUTION:  Mrr Mtt Mpp Mrt Mrp Mtp\n");
+printf("Mrr: %9.5f\n",Mrr);
+printf("Mtt: %9.5f\n",Mtt);
+printf("Mpp: %9.5f\n",Mpp);
+printf("Mrt: %9.5f\n",Mrt);
+printf("Mrp: %9.5f\n",Mrp);
+printf("Mtp: %9.5f\n\n",Mtp);
+
+}
+



More information about the CIG-COMMITS mailing list