pmagpy-cli 4.2.109__tar.gz → 4.2.115__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/PKG-INFO +1 -4
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/dialogs/pmag_gui_dialogs.py +13 -2
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/dialogs/thellier_gui_dialogs.py +2 -2
- pmagpy-cli-4.2.115/pmagpy/test/test_fisher_sample.py +20 -0
- pmagpy-cli-4.2.115/pmagpy/test/test_igrf.py +14 -0
- pmagpy-cli-4.2.115/pmagpy/test/test_rotations.py +21 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/pmagpy_cli.egg-info/PKG-INFO +1 -4
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/pmagpy_cli.egg-info/SOURCES.txt +6 -1
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/pmagpy_cli.egg-info/entry_points.txt +0 -1
- pmagpy-cli-4.2.115/pmagpy_tests/examples/my_project_with_errors/__init__.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/aniso_magic.py +1 -1
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts/irm_magic.py +3 -2
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts/pmd_magic.py +4 -2
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts/squidm_magic.py +1 -1
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/demag_gui.py +6 -2
- pmagpy-cli-4.2.115/programs/images/pmagpy_logo.ico +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/irm_unmix.py +17 -8
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/pmag_gui.py +13 -28
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/MANIFEST.in +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/README.md +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/SPD/__init__.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/SPD/lib/__init__.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/SPD/lib/leastsq_jacobian.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/SPD/lib/lib_IZZI_MD.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/SPD/lib/lib_additivity_check_statistics.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/SPD/lib/lib_arai_plot_statistics.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/SPD/lib/lib_curvature.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/SPD/lib/lib_directional_statistics.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/SPD/lib/lib_leastsquares.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/SPD/lib/lib_ptrm_statistics.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/SPD/lib/lib_tail_check_statistics.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/SPD/lib/new_lib_curvature.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/SPD/new_lj_thellier_gui_spd.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/SPD/run_tests.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/SPD/spd.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/SPD/test_instance.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/SPD/tests/__init__.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/SPD/tests/known_values.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/SPD/tests/test_additivity_check_statistics.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/SPD/tests/test_all.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/SPD/tests/test_arai_plot_statistics.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/SPD/tests/test_curvature.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/SPD/tests/test_directional_statistics.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/SPD/tests/test_ptrm_statistics.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/SPD/tests/test_tail_check_statistics.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/bin/ani_depthplot_anaconda +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/bin/core_depthplot_anaconda +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/bin/demag_gui_anaconda +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/bin/magic_gui2_anaconda +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/bin/magic_gui_anaconda +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/bin/pmag_gui_anaconda +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/bin/thellier_gui_anaconda +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/command_line_setup.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/dialogs/ErMagicBuilder.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/dialogs/__init__.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/dialogs/demag_dialogs.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/dialogs/demag_interpretation_editor.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/dialogs/drop_down_menus3.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/dialogs/grid_frame3.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/dialogs/help_files/ErMagicAgeHelp.html +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/dialogs/help_files/ErMagicBuilderHelp.html +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/dialogs/help_files/ErMagicHeadersHelp.html +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/dialogs/help_files/ErMagicLocationHelp.html +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/dialogs/help_files/ErMagicSampleHelp.html +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/dialogs/help_files/ErMagicSampleHelp1.html +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/dialogs/help_files/ErMagicSiteHelp.html +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/dialogs/help_files/ErMagicSpecimenHelp.html +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/dialogs/help_files/magic_gui.html +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/dialogs/magic_grid2.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/dialogs/magic_grid3.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/dialogs/pmag_er_magic_dialogs.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/dialogs/pmag_gui_menu3.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/dialogs/pmag_menu_dialogs.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/dialogs/pmag_widgets.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/dialogs/thellier_consistency_test.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/dialogs/thellier_gui_lib.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/dialogs/thellier_interpreter.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/help_files/__init__.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/help_files/demag_gui_help.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/help_files/demag_interpretation_editor_help.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/locator/__init__.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/locator/resource.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/pmagpy/data_model/MagIC-data-model.txt +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/pmagpy/data_model/age_methods.txt +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/pmagpy/data_model/all_codes.txt +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/pmagpy/data_model/code_types.txt +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/pmagpy/data_model/controlled_vocabularies2.json +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/pmagpy/data_model/controlled_vocabularies_August_9_2018.json +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/pmagpy/data_model/controlled_vocabularies_December_10_2018.json +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/pmagpy/data_model/controlled_vocabularies_February_6_2017.json +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/pmagpy/data_model/controlled_vocabularies_October_3_2019.json +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/pmagpy/data_model/data_model.json +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/pmagpy/data_model/er_methods.txt +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/pmagpy/data_model/method_codes.json +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/pmagpy/data_model/pmag_methods.txt +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/pmagpy/data_model/suggested_vocabularies_August_9_2018.json +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/pmagpy/data_model/suggested_vocabularies_December_10_2018.json +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/pmagpy/data_model/suggested_vocabularies_February_6_2017.json +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/pmagpy/mapping/__init__.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/pmagpy/mapping/map_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/pmagpy/mapping/maps.py +0 -0
- {pmagpy-cli-4.2.109/pmagpy_tests/examples → pmagpy-cli-4.2.115/pmagpy/test}/__init__.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/pmagpy_cli.egg-info/dependency_links.txt +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/pmagpy_cli.egg-info/top_level.txt +0 -0
- {pmagpy-cli-4.2.109/pmagpy_tests/examples/empty_dir → pmagpy-cli-4.2.115/pmagpy_tests/examples}/__init__.py +0 -0
- {pmagpy-cli-4.2.109/pmagpy_tests/examples/my_project → pmagpy-cli-4.2.115/pmagpy_tests/examples/empty_dir}/__init__.py +0 -0
- {pmagpy-cli-4.2.109/pmagpy_tests/examples/my_project_with_errors → pmagpy-cli-4.2.115/pmagpy_tests/examples/my_project}/__init__.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/pmagpy_tests/examples/my_project_with_errors/something.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/__init__.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/aarm_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/agm_magic2.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/angle.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/ani_depthplot.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/ani_depthplot2.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/aniso_magic2.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/apwp.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/atrm_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/azdip_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/b_vdm.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/bootams.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/cart_dir.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/chartmaker.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/chi_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/chi_magic2.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/combine_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/common_mean.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts/_2g_bin_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts/__init__.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts/agm_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts/bgc_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts/cit_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts/generic_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts/huji_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts/huji_sample_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts/iodp_dscr_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts/iodp_jr6_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts/iodp_samples_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts/iodp_srm_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts/jr6_jr6_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts/jr6_txt_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts/k15_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts/kly4s_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts/ldeo_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts/livdb_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts/magic_geomagia.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts/mst_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts/run_multi_samples.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts/s_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts/sio_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts/sufar4_asc_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts/tdt_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts/template_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts/utrecht_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts/xpeem_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts2/_2g_bin_magic2.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts2/__init__.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts2/bgc_magic2.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts2/cit_magic2.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts2/generic_magic2.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts2/huji_magic2.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts2/huji_magic_new2.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts2/iodp_dscr_magic2.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts2/iodp_jr6_magic2.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts2/iodp_srm_magic2.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts2/jr6_jr6_magic2.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts2/jr6_txt_magic2.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts2/ldeo_magic2.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts2/pmd_magic2.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts2/sio_magic2.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts2/tdt_magic2.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/conversion_scripts2/utrecht_magic2.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/convert2unix.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/core_depthplot.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/curie.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/dayplot_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/dayplot_magic2.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/di_eq.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/di_geo.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/di_rot.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/di_tilt.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/di_vgp.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/dia_vgp.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/dipole_pinc.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/dipole_plat.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/dir_cart.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/dir_redo.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/dmag_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/dmag_magic2.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/download_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/eigs_s.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/eq_di.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/eqarea.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/eqarea_ell.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/eqarea_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/eqarea_magic2.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/find_ei.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/fisher.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/fishqq.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/fishrot.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/foldtest.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/foldtest_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/foldtest_magic2.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/forc_diagram.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/gaussian.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/gobing.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/gofish.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/gokent.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/goprinc.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/grab_magic_key.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/histplot.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/hysteresis_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/hysteresis_magic2.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/igrf.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/images/PmagPy.ico +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/images/PmagPy_16x16.ico +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/images/PmagPy_32x32.ico +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/incfish.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/install_etopo.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/irmaq_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/k15_s.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/lnp_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/lowes.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/lowrie.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/lowrie_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/lsq_redo.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/magic_gui.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/magic_select.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/make_magic_plots.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/microwave_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/mk_redo.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/move_data_files.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/mst_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/orientation_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/pca.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/plot_2cdfs.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/plot_cdf.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/plot_geomagia.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/plot_magmap.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/plot_magmap_basemap.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/plot_map_pts.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/plotdi_a.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/plotdi_e.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/plotxy.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/pmag_results_extract.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/pmm_redo.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/polemap_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/program_envs.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/pt_rot.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/qqplot.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/qqunf.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/quick_hyst.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/quick_hyst2.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/remanence_anisotropy_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/remove_bad_chars.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/replace_ac_specimens.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/revtest.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/revtest_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/revtest_mm1990.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/s_eigs.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/s_geo.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/s_hext.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/s_tilt.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/scalc.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/scalc_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/site_edit_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/sort_specimens.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/squish.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/stats.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/strip_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/sundec.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/thellier_gui.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/thellier_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/thellier_magic2.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/thumbnails.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/tk03.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/trmaq_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/uniform.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/unsquish.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/upload_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/vdm_b.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/vector_mean.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/vgp_di.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/vgpmap_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/vgpmap_magic2.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/watsons_f.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/watsons_v.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/zeq.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/zeq_magic.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/programs/zeq_magic2.py +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/setup.cfg +0 -0
- {pmagpy-cli-4.2.109 → pmagpy-cli-4.2.115}/setup.py +0 -0
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: pmagpy-cli
|
|
3
|
-
Version: 4.2.
|
|
3
|
+
Version: 4.2.115
|
|
4
4
|
Summary: Analysis tools for paleo/rock magnetic data
|
|
5
5
|
Home-page: https://github.com/PmagPy/PmagPy
|
|
6
6
|
Author: PmagPy team
|
|
7
7
|
Author-email: ltauxe@ucsd.edu
|
|
8
8
|
License: BSD-3
|
|
9
9
|
Keywords: geology paleomagnetism
|
|
10
|
-
Platform: UNKNOWN
|
|
11
10
|
Classifier: Development Status :: 4 - Beta
|
|
12
11
|
Classifier: License :: OSI Approved :: MIT License
|
|
13
12
|
Classifier: Programming Language :: Python :: 2
|
|
@@ -167,5 +166,3 @@ This code and the PmagPy cookbook (http://earthref.org/PmagPy/cookbook) are comp
|
|
|
167
166
|
|
|
168
167
|
|
|
169
168
|
This code can be freely used, modified, and shared. It is licensed under a 3-clause BSD license. See [license.txt](https://github.com/ltauxe/PmagPy/blob/master/license.txt) for details.
|
|
170
|
-
|
|
171
|
-
|
|
@@ -2030,6 +2030,11 @@ class convert_PMD_files_to_MagIC(convert_files_to_MagIC):
|
|
|
2030
2030
|
#---sizer 7 ---
|
|
2031
2031
|
self.bSizer7 = pw.site_lat_lon(pnl)
|
|
2032
2032
|
|
|
2033
|
+
#---sizer 8 ----
|
|
2034
|
+
TEXT="Demagnetization Method: t for thermal, af for AF demag (optional):\nDemag type is automatically detected for files using the H or M labels\nfor AF demag or the T label for thermal demag in step names."
|
|
2035
|
+
|
|
2036
|
+
self.bSizer8 = pw.labeled_text_field(pnl, TEXT)
|
|
2037
|
+
|
|
2033
2038
|
#---buttons ---
|
|
2034
2039
|
hboxok = pw.btn_panel(self, pnl)
|
|
2035
2040
|
|
|
@@ -2044,6 +2049,7 @@ class convert_PMD_files_to_MagIC(convert_files_to_MagIC):
|
|
|
2044
2049
|
vbox.Add(self.bSizer4, flag=wx.ALIGN_LEFT|wx.TOP, border=10)
|
|
2045
2050
|
vbox.Add(self.bSizer5, flag=wx.ALIGN_LEFT|wx.TOP, border=10)
|
|
2046
2051
|
vbox.Add(self.bSizer7, flag=wx.ALIGN_LEFT|wx.TOP, border=10)
|
|
2052
|
+
vbox.Add(self.bSizer8, flag=wx.ALIGN_LEFT|wx.TOP, border=10)
|
|
2047
2053
|
vbox.Add(self.bSizer6, flag=wx.ALIGN_LEFT|wx.TOP, border=10)
|
|
2048
2054
|
vbox.Add(hboxok, flag=wx.ALIGN_CENTER)
|
|
2049
2055
|
vbox.AddSpacer(20)
|
|
@@ -2068,7 +2074,7 @@ class convert_PMD_files_to_MagIC(convert_files_to_MagIC):
|
|
|
2068
2074
|
directory = self.bSizer0.return_value() or '.'
|
|
2069
2075
|
options['input_dir_path'] = directory
|
|
2070
2076
|
files = os.listdir(directory)
|
|
2071
|
-
files = [str(f) for f in files if str(f).endswith('.
|
|
2077
|
+
files = [str(f) for f in files if str(f).upper().endswith('.PMD')]
|
|
2072
2078
|
if files:
|
|
2073
2079
|
samp_outfile = files[0][:files[0].find('.')] + files[-1][:files[-1].find('.')] + "_samples.txt"
|
|
2074
2080
|
options['samp_file'] = samp_outfile
|
|
@@ -2082,6 +2088,11 @@ class convert_PMD_files_to_MagIC(convert_files_to_MagIC):
|
|
|
2082
2088
|
options['specnum'] = spc
|
|
2083
2089
|
loc_name = self.bSizer4.return_value()
|
|
2084
2090
|
options['location'] = loc_name
|
|
2091
|
+
dmg = self.bSizer8.return_value().lower() #Make lower case because the dmg options are t or af
|
|
2092
|
+
options['dmg'] = dmg
|
|
2093
|
+
if dmg != "" and dmg != "t" and dmg != "af":
|
|
2094
|
+
pw.simple_warning("The only valid demagnetization methods t and af, but program recieved: %s"%dmg)
|
|
2095
|
+
return
|
|
2085
2096
|
if loc_name:
|
|
2086
2097
|
location = loc_name
|
|
2087
2098
|
loc_name = "-loc " + loc_name
|
|
@@ -2113,7 +2124,7 @@ class convert_PMD_files_to_MagIC(convert_files_to_MagIC):
|
|
|
2113
2124
|
options['site_file'] = site_outfile
|
|
2114
2125
|
loc_outfile = f[:f.find('.')] + "_locations.txt"
|
|
2115
2126
|
options['loc_file'] = loc_outfile
|
|
2116
|
-
COMMAND = "pmd_magic.py -WD {} -f {} -F {} -Fsp {} -Fsa {} -Fsi {} -Flo {} -ncn {} {} -spc {} {} {} {} {} {}".format(WD, f, outfile, spec_outfile, samp_outfile, site_outfile, loc_outfile, ncn, particulars, spc, replicate, ID, loc_name, lat, lon)
|
|
2127
|
+
COMMAND = "pmd_magic.py -WD {} -f {} -F {} -Fsp {} -Fsa {} -Fsi {} -Flo {} -dmg {} -ncn {} {} -spc {} {} {} {} {} {}".format(WD, f, outfile, spec_outfile, samp_outfile, site_outfile, loc_outfile, dmg, ncn, particulars, spc, replicate, ID, loc_name, lat, lon)
|
|
2117
2128
|
|
|
2118
2129
|
program_ran, error_message = convert.pmd(**options)
|
|
2119
2130
|
if not program_ran:
|
|
@@ -76,7 +76,7 @@ class PI_Statistics_Dialog(wx.Dialog):
|
|
|
76
76
|
self.stat_by_category['Additivity Checks'] = [
|
|
77
77
|
'specimen_ac_n', 'specimen_dac']
|
|
78
78
|
self.DESC = {}
|
|
79
|
-
self.DESC['specimen_frac'] = '
|
|
79
|
+
self.DESC['specimen_frac'] = 'NRM fraction used for the best-fit on an Arai diagram determined entirely by vector difference sum calculation (Shaar and Tauxe, 2013).'
|
|
80
80
|
self.DESC['specimen_int_n'] = 'Number of measurements included in field strength calculations'
|
|
81
81
|
self.DESC['specimen_alpha_prime'] = 'Angular difference between the anchored best-fit direction from the paleointensity experiment and an independent measure of the paleomagnetic direction. NOT CURRENTLY AVAILABLE'
|
|
82
82
|
self.DESC['specimen_alpha'] = 'Angular difference between the anchored and free-floating best-fit directions on a vector component diagram'
|
|
@@ -206,7 +206,7 @@ class PI_Statistics_Dialog(wx.Dialog):
|
|
|
206
206
|
hbox = wx.BoxSizer(wx.HORIZONTAL)
|
|
207
207
|
hbox.AddSpacer(10)
|
|
208
208
|
for num in sorted(self.bSizers):
|
|
209
|
-
hbox.Add(self.bSizers[num], flag=wx.
|
|
209
|
+
hbox.Add(self.bSizers[num], flag=wx.ALIGN_CENTER_VERTICAL)
|
|
210
210
|
hbox.AddSpacer(10)
|
|
211
211
|
#hbox.Add(bSizer0, flag=wx.ALIGN_CENTER_HORIZONTAL)
|
|
212
212
|
#hbox.AddSpacer(10)
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import numpy as np
|
|
2
|
+
from numpy.testing import assert_allclose
|
|
3
|
+
|
|
4
|
+
from pmagpy.ipmag import fishrot
|
|
5
|
+
|
|
6
|
+
def test_fishrot_type_1():
|
|
7
|
+
res = fishrot(k=10, n=1, di_block=False)
|
|
8
|
+
assert len(res)==2 and res[0].shape == (1,)
|
|
9
|
+
|
|
10
|
+
def test_fishrot_type_1_diblock():
|
|
11
|
+
res = fishrot(k=10, n=1, di_block=True)
|
|
12
|
+
assert res.shape == (1,3)
|
|
13
|
+
|
|
14
|
+
def test_fishrot_type_n():
|
|
15
|
+
res = fishrot(k=10, n=5, di_block=False)
|
|
16
|
+
assert len(res)==2 and res[0].shape == (5,)
|
|
17
|
+
|
|
18
|
+
def test_fishrot_type_n_diblock():
|
|
19
|
+
res = fishrot(k=10, n=5, di_block=True)
|
|
20
|
+
assert res.shape == (5,3)
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
from pmagpy import ipmag
|
|
2
|
+
from numpy.testing import assert_allclose
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
def test_IGRF():
|
|
6
|
+
|
|
7
|
+
result = ipmag.igrf([1999, 30, 20, 50])
|
|
8
|
+
reference = [1.20288657e+00, 2.82331112e+01, 3.9782338913649881e+04]
|
|
9
|
+
|
|
10
|
+
print(result, reference)
|
|
11
|
+
|
|
12
|
+
assert_allclose(result, reference, rtol=.1)
|
|
13
|
+
|
|
14
|
+
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import numpy as np
|
|
2
|
+
from numpy.testing import assert_allclose
|
|
3
|
+
|
|
4
|
+
from pmagpy.pmag import dodirot, dodirot_V
|
|
5
|
+
|
|
6
|
+
def test_dodirot_type():
|
|
7
|
+
assert isinstance(dodirot(0,90,5,85), tuple)
|
|
8
|
+
|
|
9
|
+
def test_dodirot_1():
|
|
10
|
+
assert_allclose(dodirot(0,90,5,85), (5.0, 85.0), rtol=10e-4)
|
|
11
|
+
|
|
12
|
+
def test_dodirot_V_type():
|
|
13
|
+
di_array = np.array([[0,90],[0,90],[0,90]])
|
|
14
|
+
assert isinstance(dodirot_V(di_array,5,15), np.ndarray)
|
|
15
|
+
|
|
16
|
+
def test_dodirot_V_1():
|
|
17
|
+
di_array = np.array([[0,90],[0,90],[0,90]])
|
|
18
|
+
result = np.array([[ 5., 15.],
|
|
19
|
+
[ 5., 15.],
|
|
20
|
+
[ 5., 15.]])
|
|
21
|
+
assert_allclose(dodirot_V(di_array,5,15), result, rtol=10e-4)
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: pmagpy-cli
|
|
3
|
-
Version: 4.2.
|
|
3
|
+
Version: 4.2.115
|
|
4
4
|
Summary: Analysis tools for paleo/rock magnetic data
|
|
5
5
|
Home-page: https://github.com/PmagPy/PmagPy
|
|
6
6
|
Author: PmagPy team
|
|
7
7
|
Author-email: ltauxe@ucsd.edu
|
|
8
8
|
License: BSD-3
|
|
9
9
|
Keywords: geology paleomagnetism
|
|
10
|
-
Platform: UNKNOWN
|
|
11
10
|
Classifier: Development Status :: 4 - Beta
|
|
12
11
|
Classifier: License :: OSI Approved :: MIT License
|
|
13
12
|
Classifier: Programming Language :: Python :: 2
|
|
@@ -167,5 +166,3 @@ This code and the PmagPy cookbook (http://earthref.org/PmagPy/cookbook) are comp
|
|
|
167
166
|
|
|
168
167
|
|
|
169
168
|
This code can be freely used, modified, and shared. It is licensed under a 3-clause BSD license. See [license.txt](https://github.com/ltauxe/PmagPy/blob/master/license.txt) for details.
|
|
170
|
-
|
|
171
|
-
|
|
@@ -84,6 +84,10 @@ pmagpy/data_model/suggested_vocabularies_February_6_2017.json
|
|
|
84
84
|
pmagpy/mapping/__init__.py
|
|
85
85
|
pmagpy/mapping/map_magic.py
|
|
86
86
|
pmagpy/mapping/maps.py
|
|
87
|
+
pmagpy/test/__init__.py
|
|
88
|
+
pmagpy/test/test_fisher_sample.py
|
|
89
|
+
pmagpy/test/test_igrf.py
|
|
90
|
+
pmagpy/test/test_rotations.py
|
|
87
91
|
pmagpy_cli.egg-info/PKG-INFO
|
|
88
92
|
pmagpy_cli.egg-info/SOURCES.txt
|
|
89
93
|
pmagpy_cli.egg-info/dependency_links.txt
|
|
@@ -281,4 +285,5 @@ programs/conversion_scripts2/tdt_magic2.py
|
|
|
281
285
|
programs/conversion_scripts2/utrecht_magic2.py
|
|
282
286
|
programs/images/PmagPy.ico
|
|
283
287
|
programs/images/PmagPy_16x16.ico
|
|
284
|
-
programs/images/PmagPy_32x32.ico
|
|
288
|
+
programs/images/PmagPy_32x32.ico
|
|
289
|
+
programs/images/pmagpy_logo.ico
|
|
File without changes
|
|
@@ -177,7 +177,7 @@ def main():
|
|
|
177
177
|
vec = int(args[ind+1])-1
|
|
178
178
|
Dir = [float(args[ind+2]), float(args[ind+3])]
|
|
179
179
|
ipmag.aniso_magic_nb(infile, samp_file, site_file, verbose,
|
|
180
|
-
ipar, ihext, ivec, isite,
|
|
180
|
+
ipar, ihext, ivec, isite, iboot,
|
|
181
181
|
vec, Dir, PDir, crd, num_bootstraps,
|
|
182
182
|
dir_path, save_plots=save_plots, interactive=interactive,
|
|
183
183
|
fmt=fmt)
|
|
@@ -22,18 +22,19 @@ OPTIONS
|
|
|
22
22
|
-ID DIRECTORY: directory for input files, default = current directory
|
|
23
23
|
-WD DIRECTORY: directory for output files, default = current directory
|
|
24
24
|
-f FILE: the IRM Excel data file name, required
|
|
25
|
-
(the file name flag may be
|
|
25
|
+
(the file name flag may be omitted and just the file name used, if no other flags are present)
|
|
26
26
|
-cite CITATION: specify the citation, default = This study (use "This study" unless you already
|
|
27
27
|
have the DOI for the paper the dataset is associated with.
|
|
28
28
|
-M flag: the MPMSdc file type (default:0)
|
|
29
29
|
use 0 for IRM file type as of July 7th, 2021. Data has header with the specimen name on 4 columns
|
|
30
30
|
use 1 for earlier type where the first two header columns are "specimen" and the specimen name
|
|
31
|
-
example IRM data file Sprain is of this type
|
|
31
|
+
example IRM data file Sprain et al. 2021 (earthref.org/MagIC/19216) is of this type.
|
|
32
32
|
EXAMPLE
|
|
33
33
|
Command line for the example dataset:
|
|
34
34
|
irm_magic.py example.xlsx - (example dataset yet to be choosen)
|
|
35
35
|
|
|
36
36
|
|
|
37
|
+
|
|
37
38
|
"""
|
|
38
39
|
|
|
39
40
|
import sys
|
|
@@ -22,8 +22,9 @@ OPTIONS
|
|
|
22
22
|
-spc NUM : specify number of characters to designate a specimen, default = 1
|
|
23
23
|
-loc LOCNAME : specify location/study name
|
|
24
24
|
-A: don't average replicate measurements
|
|
25
|
+
-dmg TYPE: set default demag type ('t' for thermal, 'af' for AF demag
|
|
25
26
|
-ncn NCON: specify naming convention
|
|
26
|
-
|
|
27
|
+
Sample naming convention:
|
|
27
28
|
[1] XXXXY: where XXXX is an arbitrary length site designation and Y
|
|
28
29
|
is the single character sample designation. e.g., TG001a is the
|
|
29
30
|
first sample from site TG001. [default]
|
|
@@ -71,6 +72,7 @@ def main():
|
|
|
71
72
|
specnum = pmag.get_named_arg('-spc', 0)
|
|
72
73
|
samp_con = pmag.get_named_arg('-ncn', '1')
|
|
73
74
|
location = pmag.get_named_arg('-loc', 'unknown')
|
|
75
|
+
dmg = pmag.get_named_arg('-dmg', '')
|
|
74
76
|
noave = 0
|
|
75
77
|
if "-A" in sys.argv:
|
|
76
78
|
noave = 1
|
|
@@ -78,7 +80,7 @@ def main():
|
|
|
78
80
|
convert.pmd(mag_file, dir_path, input_dir_path, meas_file,
|
|
79
81
|
spec_file, samp_file, site_file, loc_file,
|
|
80
82
|
lat, lon, specnum, samp_con, location, noave,
|
|
81
|
-
meth_code)
|
|
83
|
+
meth_code,dmg)
|
|
82
84
|
|
|
83
85
|
|
|
84
86
|
if __name__ == "__main__":
|
|
@@ -1993,7 +1993,7 @@ class Demag_GUI(wx.Frame):
|
|
|
1993
1993
|
means_to_plot = []
|
|
1994
1994
|
for tm in toggleable_means:
|
|
1995
1995
|
if not tm.IsChecked():
|
|
1996
|
-
means_to_plot.append(tm.
|
|
1996
|
+
means_to_plot.append(tm.GetItemLabel())
|
|
1997
1997
|
return means_to_plot
|
|
1998
1998
|
|
|
1999
1999
|
def calc_and_plot_sample_orient_check(self):
|
|
@@ -2924,7 +2924,6 @@ class Demag_GUI(wx.Frame):
|
|
|
2924
2924
|
-------
|
|
2925
2925
|
nested dictionary 2.5 formated criteria data
|
|
2926
2926
|
"""
|
|
2927
|
-
# import pdb; pdb.set_trace()
|
|
2928
2927
|
acceptance_criteria = pmag.initialize_acceptance_criteria()
|
|
2929
2928
|
if self.data_model == 3:
|
|
2930
2929
|
if criteria_file_name == None:
|
|
@@ -3007,7 +3006,10 @@ class Demag_GUI(wx.Frame):
|
|
|
3007
3006
|
try:
|
|
3008
3007
|
# preformes regression
|
|
3009
3008
|
mpars = pmag.domean(block, beg_pca, end_pca, calculation_type)
|
|
3009
|
+
mpars["measurement_step_min_unit"] = reduce(lambda x,y="": x+y, [c if not c.isnumeric() and c!="." and c!="-" else "" for c in tmin])
|
|
3010
|
+
mpars["measurement_step_max_unit"] = reduce(lambda x,y="": x+y, [c if not c.isnumeric() and c!="." and c!="-" else "" for c in tmax])
|
|
3010
3011
|
except:
|
|
3012
|
+
print("Error: Could not do PCA recieved the following fit information")
|
|
3011
3013
|
print((block, beg_pca, end_pca, calculation_type,
|
|
3012
3014
|
specimen, fit.name, tmin, tmax, coordinate_system))
|
|
3013
3015
|
return
|
|
@@ -3088,6 +3090,8 @@ class Demag_GUI(wx.Frame):
|
|
|
3088
3090
|
return
|
|
3089
3091
|
try:
|
|
3090
3092
|
mpars = pmag.domean(block, i, i+step_size, calculation_type)
|
|
3093
|
+
mpars["measurement_step_min_unit"] = reduce(lambda x,y="": x+y, [c if not c.isnumeric() and c!="." else "" for c in self.T_list[i]])
|
|
3094
|
+
mpars["measurement_step_max_unit"] = reduce(lambda x,y="": x+y, [c if not c.isnumeric() and c!="." else "" for c in self.T_list[i+step_size]])
|
|
3091
3095
|
except (IndexError, TypeError) as e:
|
|
3092
3096
|
return
|
|
3093
3097
|
if 'specimen_mad' in list(mpars.keys()):
|
|
Binary file
|
|
@@ -8,7 +8,6 @@ this is for IRM decompose, based on log gaussian,
|
|
|
8
8
|
this is based on python3.6 and PyQt5
|
|
9
9
|
|
|
10
10
|
author: Jiabo Liu
|
|
11
|
-
GFZ Potsdam
|
|
12
11
|
#====================================================================
|
|
13
12
|
'''
|
|
14
13
|
|
|
@@ -92,22 +91,32 @@ def loadData(filePath=None):
|
|
|
92
91
|
log10 interploted data
|
|
93
92
|
#====================================================================
|
|
94
93
|
'''
|
|
95
|
-
|
|
94
|
+
skip_3900_form = ' Field Remanence '
|
|
95
|
+
skip_8600_form = '##DATA TABLE Moment (m)'
|
|
96
96
|
with open(filePath,'rb') as fr:
|
|
97
97
|
#f = fr.read()
|
|
98
98
|
for i,line in enumerate(fr,1):
|
|
99
99
|
#print(line)
|
|
100
|
-
if
|
|
100
|
+
if skip_8600_form in str(line):
|
|
101
|
+
skiprows=i+1
|
|
102
|
+
coding='ISO-8859-15'
|
|
103
|
+
names=['Step','Iteration','Segment','field','remanance',
|
|
104
|
+
'Time Stamp [s]','Field Status','Moment (m) Status']
|
|
105
|
+
break
|
|
106
|
+
elif skip_3900_form in str(line):
|
|
101
107
|
skiprows=i+2
|
|
108
|
+
coding='ISO-8859-15'
|
|
109
|
+
names=['field','remanance']
|
|
102
110
|
break
|
|
103
111
|
else:
|
|
104
112
|
skiprows=None
|
|
113
|
+
coding='UTF-8'
|
|
114
|
+
names=['field','remanance']
|
|
115
|
+
#print('skiprows= ',skiprows)
|
|
105
116
|
skiprows = skiprows if isinstance(skiprows,int) else 1
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
dtype=np.float64, skiprows=skiprows,
|
|
110
|
-
skipfooter=1,engine='python', encoding='cp1252')
|
|
117
|
+
rawDf = pd.read_csv(filePath, delimiter=',', names=names,
|
|
118
|
+
skiprows=skiprows, skipfooter=1,engine='python',
|
|
119
|
+
encoding=coding)
|
|
111
120
|
rawDf = rawDf[(rawDf['field']>0)]
|
|
112
121
|
rawDf = rawDf.sort_values(by=['field'])
|
|
113
122
|
rawDf['field'] = rawDf['field']*10**3 # mT to # T
|
|
@@ -92,7 +92,6 @@ class MagMainFrame(wx.Frame):
|
|
|
92
92
|
menubar = pmag_gui_menu.MagICMenu(self)
|
|
93
93
|
self.SetMenuBar(menubar)
|
|
94
94
|
self.menubar = menubar
|
|
95
|
-
self.refresh_btns()
|
|
96
95
|
|
|
97
96
|
|
|
98
97
|
def get_wd_data(self):
|
|
@@ -134,9 +133,8 @@ class MagMainFrame(wx.Frame):
|
|
|
134
133
|
in_bSizer0 = wx.BoxSizer(wx.HORIZONTAL)
|
|
135
134
|
|
|
136
135
|
self.dir_path = wx.TextCtrl(self.panel, id=-1, size=(700,35), style=wx.TE_READONLY)
|
|
137
|
-
self.change_dir_button =
|
|
136
|
+
self.change_dir_button = wx.Button(self.panel, wx.ID_ANY, label="Change directory",size=(130, 35), style=wx.BORDER_NONE)
|
|
138
137
|
self.change_dir_button.SetBackgroundColour("#F8F8FF")
|
|
139
|
-
self.change_dir_button.InitColours()
|
|
140
138
|
self.change_dir_button.SetForegroundColour("#000000")
|
|
141
139
|
self.Bind(wx.EVT_BUTTON, self.on_change_dir_button, self.change_dir_button)
|
|
142
140
|
|
|
@@ -177,33 +175,33 @@ class MagMainFrame(wx.Frame):
|
|
|
177
175
|
sb.SetFont(sizer_font)
|
|
178
176
|
|
|
179
177
|
text = "1. Convert magnetometer files to MagIC format"
|
|
180
|
-
self.btn1 =
|
|
181
|
-
size=(450, 50), name='step 1')
|
|
178
|
+
self.btn1 = wx.Button(self.panel, id=-1, label=text,
|
|
179
|
+
size=(450, 50), name='step 1', style=wx.BORDER_NONE)
|
|
182
180
|
self.btn1.SetBackgroundColour("#FDC68A")
|
|
183
181
|
self.btn1.SetForegroundColour("#000000")
|
|
184
182
|
self.Bind(wx.EVT_BUTTON, self.on_convert_file, self.btn1)
|
|
185
183
|
|
|
186
184
|
text = "2. (optional) Calculate geographic/tilt-corrected directions"
|
|
187
|
-
self.btn2 =
|
|
185
|
+
self.btn2 = wx.Button(self.panel, id=-1, label=text, size=(450, 50), name='step 2', style=wx.BORDER_NONE)
|
|
188
186
|
self.btn2.SetBackgroundColour("#FDC68A")
|
|
189
187
|
self.btn2.SetForegroundColour("#000000")
|
|
190
188
|
self.Bind(wx.EVT_BUTTON, self.on_btn_orientation, self.btn2)
|
|
191
189
|
text = "3. (optional) Add MagIC metadata for uploading data to MagIC "
|
|
192
|
-
self.btn3 =
|
|
190
|
+
self.btn3 = wx.Button(self.panel, id=-1, label=text, size=(450, 50), name='step 3', style=wx.BORDER_NONE)
|
|
193
191
|
self.btn3.SetBackgroundColour("#FDC68A")
|
|
194
192
|
self.btn3.SetForegroundColour("#000000")
|
|
195
193
|
self.Bind(wx.EVT_BUTTON, self.on_btn_metadata, self.btn3)
|
|
196
194
|
|
|
197
195
|
text = "Download or unpack MagIC text file"
|
|
198
|
-
self.btn4 =
|
|
196
|
+
self.btn4 = wx.Button(self.panel, id=-1, label=text, size=(330, 50), style=wx.BORDER_NONE)
|
|
199
197
|
self.btn4.SetBackgroundColour("#FDC68A")
|
|
200
198
|
self.btn4.SetForegroundColour("#000000")
|
|
201
199
|
self.Bind(wx.EVT_BUTTON, self.on_btn_unpack, self.btn4)
|
|
202
200
|
|
|
203
201
|
|
|
204
202
|
text = "Convert directory to 3.0. format (legacy data only)"
|
|
205
|
-
self.btn1a =
|
|
206
|
-
size=(330, 50), name='step 1a')
|
|
203
|
+
self.btn1a = wx.Button(self.panel, id=-1, label=text,
|
|
204
|
+
size=(330, 50), name='step 1a', style=wx.BORDER_NONE)
|
|
207
205
|
self.btn1a.SetBackgroundColour("#FDC68A")
|
|
208
206
|
self.btn1a.SetForegroundColour("#000000")
|
|
209
207
|
self.Bind(wx.EVT_BUTTON, self.on_btn_convert_3, self.btn1a)
|
|
@@ -251,13 +249,13 @@ class MagMainFrame(wx.Frame):
|
|
|
251
249
|
sb.SetFont(sizer_font)
|
|
252
250
|
|
|
253
251
|
text = "Demag GUI"
|
|
254
|
-
self.btn_demag_gui =
|
|
252
|
+
self.btn_demag_gui = wx.Button(self.panel, id=-1, label=text, size=(300, 50), name='demag gui', style=wx.BORDER_NONE)
|
|
255
253
|
self.btn_demag_gui.SetBackgroundColour("#6ECFF6")
|
|
256
254
|
self.btn_demag_gui.SetForegroundColour("#000000")
|
|
257
255
|
self.Bind(wx.EVT_BUTTON, self.on_btn_demag_gui, self.btn_demag_gui)
|
|
258
256
|
|
|
259
257
|
text = "Thellier GUI"
|
|
260
|
-
self.btn_thellier_gui =
|
|
258
|
+
self.btn_thellier_gui = wx.Button(self.panel, id=-1, label=text, size=(300, 50), name='thellier gui', style=wx.BORDER_NONE)
|
|
261
259
|
self.btn_thellier_gui.SetBackgroundColour("#6ECFF6")
|
|
262
260
|
self.btn_thellier_gui.SetForegroundColour("#000000")
|
|
263
261
|
self.Bind(wx.EVT_BUTTON, self.on_btn_thellier_gui, self.btn_thellier_gui)
|
|
@@ -279,7 +277,7 @@ class MagMainFrame(wx.Frame):
|
|
|
279
277
|
sb.SetFont(sizer_font)
|
|
280
278
|
|
|
281
279
|
text = "Create MagIC txt file for upload"
|
|
282
|
-
self.btn_upload =
|
|
280
|
+
self.btn_upload = wx.Button(self.panel, id=-1, label=text, size=(300, 50), style=wx.BORDER_NONE)
|
|
283
281
|
self.btn_upload.SetBackgroundColour("#C4DF9B")
|
|
284
282
|
self.btn_upload.SetForegroundColour("#000000")
|
|
285
283
|
|
|
@@ -319,19 +317,6 @@ class MagMainFrame(wx.Frame):
|
|
|
319
317
|
|
|
320
318
|
#----------------------------------------------------------------------
|
|
321
319
|
|
|
322
|
-
def refresh_btns(self):
|
|
323
|
-
self.change_dir_button.OnPaint(-1)
|
|
324
|
-
self.btn1.OnPaint(-1)
|
|
325
|
-
self.btn2.OnPaint(-1)
|
|
326
|
-
self.btn3.OnPaint(-1)
|
|
327
|
-
self.btn4.OnPaint(-1)
|
|
328
|
-
self.btn1a.OnPaint(-1)
|
|
329
|
-
self.btn_demag_gui.OnPaint(-1)
|
|
330
|
-
self.btn_thellier_gui.OnPaint(-1)
|
|
331
|
-
self.btn_upload.OnPaint(-1)
|
|
332
|
-
|
|
333
|
-
#----------------------------------------------------------------------
|
|
334
|
-
|
|
335
320
|
def get_dir(self):
|
|
336
321
|
"""
|
|
337
322
|
Choose a working directory dialog.
|
|
@@ -869,9 +854,9 @@ INFORMATION
|
|
|
869
854
|
print('-I- Starting Pmag GUI - please be patient')
|
|
870
855
|
# if redirect is true, wxpython makes its own output window for stdout/stderr
|
|
871
856
|
if 'darwin' in sys.platform and (not set_env.IS_FROZEN):
|
|
872
|
-
app = wx.App(redirect=
|
|
857
|
+
app = wx.App(redirect=True)
|
|
873
858
|
else:
|
|
874
|
-
app = wx.App(redirect=
|
|
859
|
+
app = wx.App(redirect=True) #SET TO TRUE BEFORE COMMIT
|
|
875
860
|
dir_path = pmag.get_named_arg("-WD", None)
|
|
876
861
|
app.frame = MagMainFrame(WD=dir_path)
|
|
877
862
|
app.frame.Show()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|