pmagpy 4.3.7__py3-none-any.whl → 4.3.9__py3-none-any.whl
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/continents.py +9 -65
- pmagpy/find_pmag_dir.py +14 -23
- pmagpy/frp.py +34 -17
- pmagpy/gufm.py +1 -1
- pmagpy/ipmag.py +782 -232
- pmagpy/nlt.py +17 -9
- pmagpy/pmag.py +494 -596
- pmagpy/pmagplotlib.py +313 -180
- pmagpy/rockmag.py +739 -126
- pmagpy/spline.py +4 -4
- pmagpy/version.py +2 -2
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/PmagPy_plots_analysis.ipynb +20 -14
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/aarm_magic/specimens.txt +7 -7
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/atrm_magic/specimens.txt +30 -30
- {pmagpy-4.3.7.dist-info → pmagpy-4.3.9.dist-info}/METADATA +1 -1
- {pmagpy-4.3.7.dist-info → pmagpy-4.3.9.dist-info}/RECORD +979 -979
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/ages.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/er_ages.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/er_citations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/er_images.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/er_locations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/er_mailinglist.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/er_samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/er_sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/er_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/magic_measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/magic_methods.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/pmag_criteria.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/pmag_results.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/pmag_sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/pmag_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/rmag_anisotropy.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/rmag_hysteresis.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/rmag_results.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/zmab0100049tmp03.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/.ipynb_checkpoints/Parsing_data_model-checkpoint.ipynb +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/McMurdo/ages.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/McMurdo/contribution.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/McMurdo/criteria.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/McMurdo/extra_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/McMurdo/images.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/McMurdo/locations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/McMurdo/measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/McMurdo/new_locations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/McMurdo/samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/McMurdo/sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/McMurdo/specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/.ipynb_checkpoints/ages_from_samples_to_sites-checkpoint.ipynb +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/Location_1/ages.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/Location_1/locations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/Location_1/measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/Location_1/samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/Location_1/sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/Location_1/specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/Location_2/ages.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/Location_2/locations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/Location_2/measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/Location_2/samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/Location_2/sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/Location_2/specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/ages.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/ages_from_samples_to_sites.ipynb +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/contribution.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/criteria.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/locations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/magic_contribution.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/test_spec.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Osler/contribution.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Osler/contribution_11087_v2.5.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Osler/contribution_11087_v3.0.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Osler/er_citations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Osler/er_locations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Osler/er_sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Osler/locations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Osler/pmag_results.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Osler/pmag_sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Osler/sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Osler/stored.json +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/Cont_rot.svg +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/FRPTMP/aus_saf.frp +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/FRPTMP/col_saf.frp +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/FRPTMP/eant_saf.frp +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/FRPTMP/eur_saf.frp +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/FRPTMP/grn_saf.frp +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/FRPTMP/ind_saf.frp +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/FRPTMP/mad_saf.frp +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/FRPTMP/nam_saf.frp +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/FRPTMP/neaf_saf.frp +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/FRPTMP/nwaf_saf.frp +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/FRPTMP/par_saf.frp +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/FRPTMP/sac_saf.frp +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/af.asc +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/ages.tmp +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/ant.asc +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/aus.asc +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/aus_saf.frp +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/balt.asc +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/col_saf.frp +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/congo.asc +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/continents.py +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/eant_saf.frp +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/eur.asc +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/eur_saf.frp +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/finrot_saf.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/globalapwps.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/gond.asc +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/grn.asc +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/grn_saf.frp +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/ib_eur.frp +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/ind.asc +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/ind.bak +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/ind_saf.frp +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/kala.asc +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/lau.asc +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/mad_saf.frp +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/mkcont.py +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/mkfrp.py +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/nam.asc +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/nam_saf.frp +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/neaf_saf.frp +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/nwaf_saf.frp +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/par_saf.frp +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/plates.asc +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/sac_saf.frp +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/saf.frp +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/sam.asc +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/waf.asc +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ErMagicBuilder/Z35.sam.magic +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ErMagicBuilder/Z35_er_samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ErMagicBuilder/Z35_er_sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ErMagicBuilder/Z35_er_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ErMagicBuilder/er_ages.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ErMagicBuilder/er_locations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ErMagicBuilder/er_samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ErMagicBuilder/er_sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ErMagicBuilder/er_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ErMagicBuilder/magic_measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Figures/atrm_meas.png +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Figures/chartmaker.png +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Figures/meas15.png +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Figures/samples.png +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/PmagPy-cli.ipynb +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/PmagPy_MagIC.ipynb +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/PmagPy_calculations.ipynb +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/PmagPy_introduction.ipynb +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/PmagPy_online.ipynb +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/3_0/Tel-Hazor_Tel-Megiddo_25.Aug.2016.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/3_0/ages.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/3_0/ages_from_samples_to_sites.ipynb +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/3_0/contribution.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/3_0/criteria.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/3_0/demag_orient.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/3_0/locations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/3_0/measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/3_0/new_samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/3_0/new_sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/3_0/new_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/3_0/samples.bak +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/3_0/samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/3_0/sites.bak +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/3_0/sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/3_0/specimens.bak +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/3_0/specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/3_0/thellier_GUI.log +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/SIOfiles/na_sw.atrm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/SIOfiles/na_sw.cool +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/SIOfiles/na_sw.thel +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/SIOfiles.zip +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/ThisProject/SrExample_AF.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/ThisProject/SrExample_orient.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/ThisProject/SrExample_thellier.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/ThisProject/SrExample_thermal.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/zmab0083201tmp03.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/SVEI_demo.ipynb +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/.ipynb_checkpoints/Editing-checkpoint.ipynb +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/.ipynb_checkpoints/U1456A-checkpoint.ipynb +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/.ipynb_checkpoints/discretes-checkpoint.ipynb +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/Core_depthplot.py +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/JR6_data/UTESTA.jr6 +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/JR6_data/UTESTA_fixed.jr6 +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/KLY4S_data/UTESTA.kly4s +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/SRM_data/srmdiscrete-XXX-UTEST-A.csv +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/SRM_data/srmsection-XXX-UTEST-A.csv +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC/CoreSummary_XXX_UTESTA.csv +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC/UTESTA.kly4s.magic +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC/UTESTA_er_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC/UTESTA_fixed.jr6.magic +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC/UTESTA_rmag_anisotropy.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC/er_samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC/er_sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC/er_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC/magic_measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC/pmag_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC/rmag_anisotropy.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC/samples-XXX-UTEST-A_er_samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC/srmdiscrete-XXX-UTEST-A.csv.magic +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC/srmsection-XXX-UTEST-A.csv.magic +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC/srmsection-XXX-UTEST-A_er_samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC/srmsection-XXX-UTEST-A_er_sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC/srmsection-XXX-UTEST-A_er_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC3/CoreSummary_XXX_UTESTA.csv +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC3/measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC3/samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC3/sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC3/specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/samples-XXX-UTEST-A.csv +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/aarm_magic/aarm_measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/aarm_magic/arm_magic_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/aarm_magic/locations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/aarm_magic/samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/aarm_magic/sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/angle/angle.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/angle/tmp.out +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ani_depthplot/ages.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ani_depthplot/er_ages.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ani_depthplot/er_locations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ani_depthplot/er_samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ani_depthplot/er_sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ani_depthplot/er_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ani_depthplot/magic_contribution_12152.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ani_depthplot/magic_measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ani_depthplot/magic_methods.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ani_depthplot/measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ani_depthplot/pmag_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ani_depthplot/rmag_anisotropy.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ani_depthplot/samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ani_depthplot/sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ani_depthplot/specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/aniso_magic/dike_anisotropy.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/aniso_magic/dike_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/aniso_magic/sed_anisotropy.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/aniso_magic/sed_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/apwp/apwp_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/atrm_magic/atrm_magic_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/atrm_magic/atrm_measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/atrm_magic/atrm_measurements3.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/atrm_magic/atrm_results.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/atrm_magic/locations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/atrm_magic/measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/atrm_magic/orig_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/atrm_magic/samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/atrm_magic/sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/azdip_magic/azdip_magic_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/b_vdm/b_vdm_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/basemap_magic/basemap_example.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/biplot_magic/biplot_magic_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/biplot_magic/contribution.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/biplot_magic/locations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/biplot_magic/measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/biplot_magic/samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/biplot_magic/sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/biplot_magic/specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/bootams/bootams_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/cart_dir/cart_dir_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/chi_magic/chi_magic_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/chi_magic/chi_magic_example.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/chi_magic/contribution.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/chi_magic/locations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/chi_magic/measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/chi_magic/samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/chi_magic/sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/chi_magic/specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/combine_magic/af_measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/combine_magic/measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/combine_magic/ns_a.mag +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/combine_magic/ns_t.mag +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/combine_magic/therm_measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/common_mean/common_mean_ex_file1.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/common_mean/common_mean_ex_file2.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_asc_magic/README +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_asc_magic/_2g_asc/DR3B.asc +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_asc_magic/_2g_asc/OK3_15af.asc +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_asc_magic/_2g_asc/README +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/KodamaFiles/165A.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/KodamaFiles/165B.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/KodamaFiles/165C.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/KodamaFiles/60A.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/KodamaFiles/60B.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/KodamaFiles/60C.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/KodamaFiles/70A.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/KodamaFiles/70C.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/KodamaFiles/70D.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton1ab.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton1bb.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton1c.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton1db.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton1e.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton1f.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton1ga.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton1ha.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton1ib.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton1jb.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton1kb.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton1la.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton1ma.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton29ab.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton29bb.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton29cb.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton29da.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton29db.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton29e.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton29eb.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton29f.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton29ga.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton29gc.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton29h.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton29ib.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton29j.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton2a.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton2b.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton2c.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton2d.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton2e.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton2f.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton2g.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton2h.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton2i.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton3aa.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton3ba.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton3ca.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton3da.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton3ea.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton3fb.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton3ga.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton3ha.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton4ab.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton4bb.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton4c.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton4d.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton4eb.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton4fb.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton4gb.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton4ha.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton4ia.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/README +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/MN1.CSV +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/MN_chr_dir.xls +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn001-1a.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn004-2b.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn008-2b.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn010-1a.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn014-1b.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn017-1b.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn022-1b.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn026-1b.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn031-1a.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn033-1b.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn034-2a.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn038-1b.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn041-1a.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn042-1b.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn046-1a.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn049-2a.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn056-2a.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn061-1a.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn065-1b.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn067-1a.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn071-1a.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn075-1b.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn078-1a.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn081-1b.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn084-1b.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn087-2a.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn091-1a.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn093-1b.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn096-1b.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn1.saf +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn1.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn100-1a.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn103-1b.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn105-1a.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn106-1a.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn107-1b.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn109-2a.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn110-1b.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/agm_magic/agm_directory/IS01a-1.agm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/agm_magic/agm_directory/IS01a-1.irm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/agm_magic/agm_directory/IS01a-2.agm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/agm_magic/agm_directory/IS01a-2.irm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/agm_magic/agm_directory/IS01b-1.agm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/agm_magic/agm_directory/IS01b-1.irm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/agm_magic/agm_directory/IS01c-1.agm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/agm_magic/agm_directory/IS01c-1.irm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/agm_magic/agm_directory/IS01d-1.agm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/agm_magic/agm_directory/IS01d-1.irm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/agm_magic/agm_directory/IS01e-1.agm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/agm_magic/agm_directory/IS01e-1.irm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/agm_magic/agm_directory/IS01f-1.agm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/agm_magic/agm_directory/IS01f-1.irm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/agm_magic/agm_directory/IS01f-2.agm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/agm_magic/agm_directory/IS01f-2.irm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/agm_magic/agm_directory/IS02a-1.agm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/agm_magic/agm_directory/IS02a-1.irm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/agm_magic/agm_directory/IS02a-2.agm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/agm_magic/agm_directory/IS02a-3.irm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/agm_magic/agm_directory/IS02b-1.agm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/agm_magic/agm_directory/IS02b-1.irm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/agm_magic/agm_directory/IS02b-2.agm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/agm_magic/agm_directory/IS02b-2.irm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/agm_magic/agm_directory/IS02c-1.agm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/agm_magic/agm_magic_example.agm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/agm_magic/agm_magic_example.irm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/bgc_magic/15HHA1-2A +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/bgc_magic/15JC4-1A +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/bgc_magic/96MT.05.01 +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/bgc_magic/96MT.05.01.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/bgc_magic/BC0-3A +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/bgc_magic/BC0-3A.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/bgc_magic/CA14-TA02.05'a +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/Craig_Jones_webpage_of_PMag_file_formats_CIT_file_format_source.html +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/Craig_Jones_webpage_of_PMag_file_formats_CIT_file_format_source_files/PaleoMag.gif +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/Craig_Jones_webpage_of_PMag_file_formats_CIT_file_format_source_files/PaleoMag_002.gif +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/Craig_Jones_webpage_of_PMag_file_formats_CIT_file_format_source_files/a-95.gif +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/Craig_Jones_webpage_of_PMag_file_formats_CIT_file_format_source_files/kappa.gif +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/Craig_Jones_webpage_of_PMag_file_formats_CIT_file_format_source_files/phi.gif +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/MIT/7325B/7325B.LSQ +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/MIT/7325B/7325B.sam +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/MIT/7325B/7325B71 +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/MIT/7325B/7325B72 +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/MIT/7325B/7325B73 +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/MIT/7325B/7325B74 +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/MIT/7325B/7325B75 +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/MIT/7325B/7325B76 +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/MIT/7325B/7325B77 +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/MIT/7325B/7325B78 +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/MIT/7325B/7325B79 +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/PI47/PI47-.sam +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/PI47/PI47-1a +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/PI47/PI47-2a +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/PI47/PI47-3a +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/PI47/PI47-4a +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/PI47/PI47-5a +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/PI47/PI47-6a +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/PI47/PI47-7a +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/PI47/PI47-8a +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/PI47/PI47-9a +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/PI47/locations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/PI47/measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/PI47/samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/PI47/sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/PI47/specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/README +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/USGS/bl9-1/BL9001-1 +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/USGS/bl9-1/BL9001-1.rmg +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/USGS/bl9-1/BL9002-1 +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/USGS/bl9-1/BL9002-1.rmg +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/USGS/bl9-1/BL9003-1 +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/USGS/bl9-1/BL9003-1.rmg +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/USGS/bl9-1/BL9004-1 +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/USGS/bl9-1/BL9004-1.rmg +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/USGS/bl9-1/BL9005-1 +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/USGS/bl9-1/BL9005-1.rmg +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/USGS/bl9-1/BL9006-1 +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/USGS/bl9-1/BL9006-1.rmg +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/USGS/bl9-1/BL9007-1 +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/USGS/bl9-1/BL9007-1.rmg +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/USGS/bl9-1/BL9008-1 +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/USGS/bl9-1/BL9008-1.rmg +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/USGS/bl9-1/BL9009-1 +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/USGS/bl9-1/BL9009-1.rmg +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/USGS/bl9-1/bl9-1.sam +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/USGS/bl9-1/bl9001.dir +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/USGS/bl9-1/command +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/sample_formats.pdf +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/fla_magic/README +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/fla_magic/mejia04.pdf +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/fla_magic/pa_thermal.fla +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/fla_magic/pt_af.fla +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/generic_magic/generic_magic_example.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/huji_magic/Massada_AF_HUJI_new_format.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/huji_magic/Massada_AF_all_old_format.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/huji_magic/README +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/huji_magic/magdelkrum.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/huji_magic/magdelkrum_datafile.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/iodp_jr6_magic/er_samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/iodp_jr6_magic/test.jr6 +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/iodp_srm_magic/GCR_U1359_B_coresummary.csv +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/iodp_srm_magic/IODP_Janus_312_U1256.csv +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/iodp_srm_magic/IODP_LIMS_SRMdiscrete_344_1414A.csv +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/iodp_srm_magic/IODP_LIMS_SRMsection_344_1414A.csv +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/iodp_srm_magic/SRM_318_U1359_B_A.csv +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/iodp_srm_magic/samples_318_U1359_B.csv +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/AF.jr6 +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/AF.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/AF_samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/AF_sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/AF_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/AP12.jr6 +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/AP12.tmp +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/AP12.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/README +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/SML01.JR6 +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/SML02.JR6 +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/SML03.JR6 +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/SML04.JR6 +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/SML05.JR6 +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/SML06.JR6 +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/SML07.JR6 +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/TRM.jr6 +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/TRM.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/TRM_samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/TRM_sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/TRM_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/locations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/k15_magic/k15_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/kly4s_magic/KLY4S_magic_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/ldeo_magic/ldeo_magic_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_C+/CHEV.livdb +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_C+/CHEV.livdb_different_delimiters +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_C+/measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_C+/samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_C+/sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_C+/specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_IZZI+andC++/NVPA.livdb +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_IZZI+andC++/NVPA.livdb_fifferent_delimiter +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_IZZI+andC++/measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_IZZI+andC++/samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_IZZI+andC++/sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_IZZI+andC++/specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_OT+/016-01.livdb_old_delimiters +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_OT+/017-03.livdb_old_delimiters +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_OT+/16-1.livdb +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_OT+/measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_OT+/samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_OT+/sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_OT+/specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_P/measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_P/perp.csv +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_P/samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_P/sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_P/specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/TH_IZZI+/ATPI_Thellier.livdb +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/TH_IZZI+/measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/TH_IZZI+/samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/TH_IZZI+/sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/TH_IZZI+/specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/mini_magic/Peru_rev1.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/mini_magic/Peru_rev1_description.rtf +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/mst_magic/curie_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/IPGP/0110C.PMD +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/IPGP/0210C.pmd +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/README +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/UCSC/PMD/ss0101a.pmd +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/UCSC/PMD/ss0102a.pmd +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/UCSC/PMD/ss0103a.pmd +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/UCSC/PMD/ss0104a.pmd +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/UCSC/PMD/ss0105a.pmd +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/UCSC/PMD/ss0106a.pmd +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/UCSC/PMD/ss0107a.pmd +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/UCSC/PMD/ss0108a.pmd +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/UCSC/PMD/ss0201a.pmd +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/UCSC/PMD/ss0202a.pmd +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/UCSC/PMD/ss0203a.pmd +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/UCSC/PMD/ss0204a.pmd +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/UCSC/PMD/ss0205a.pmd +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/UCSC/PMD/ss0206a.pmd +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/UCSC/PMD/ss0207a.pmd +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/UCSC/PMD/ss0208c.pmd +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/UCSC/ssDirAll.pmm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/s_magic/s_magic_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/SantaRosa2006.scz +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/cy01.pmm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/cy02.pmm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/cy03.pmm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/cy04.pmm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/cy05.pmm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/cy06.pmm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/cy07.pmm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/cy08.pmm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/cy09.pmm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/cy10.pmm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/cy11.pmm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/cy12.pmm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/cy13.pmm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/cy13A.pmm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/cy13B.pmm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/cy14.pmm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/cy15.pmm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/santaRosa.pmm +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/sio_magic/locations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/sio_magic/samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/sio_magic/sio_af_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/sio_magic/sio_thermal_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/sio_magic/sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/sio_magic/specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/sufar_asc_magic/measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/sufar_asc_magic/samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/sufar_asc_magic/sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/sufar_asc_magic/specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/sufar_asc_magic/sufar4-asc_magic_example.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/tdt_magic/Krasa_MGH1.tdt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/tdt_magic/Krasa_MGH1_noAC.tdt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/utrecht_magic/Utrecht_Example.af +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/utrecht_magic/locations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/utrecht_magic/measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/utrecht_magic/samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/utrecht_magic/sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/utrecht_magic/specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_ages/magic_downloaded_rows.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_samples/Iceland_orient.txt_Northern_Iceland.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_samples/README +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_samples/convert_samples_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_samples/orient_Northern_Iceland.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/copy_ErMagicBuilder/Z35.sam.magic +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/copy_ErMagicBuilder/Z35_er_samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/copy_ErMagicBuilder/Z35_er_sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/copy_ErMagicBuilder/Z35_er_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/copy_ErMagicBuilder/copy_er_ages.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/copy_ErMagicBuilder/er_ages.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/copy_ErMagicBuilder/er_locations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/copy_ErMagicBuilder/er_samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/copy_ErMagicBuilder/er_sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/copy_ErMagicBuilder/er_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/copy_ErMagicBuilder/magic_measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/copy_ErMagicBuilder/pmag_samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/copy_ErMagicBuilder/pmag_sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/copy_ErMagicBuilder/pmag_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/copy_ErMagicBuilder/weird_er_ages.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/core_depthplot/ages.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/core_depthplot/core_depthplot_fixed.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/core_depthplot/er_ages.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/core_depthplot/er_citations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/core_depthplot/er_locations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/core_depthplot/er_samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/core_depthplot/er_sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/core_depthplot/er_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/core_depthplot/locations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/core_depthplot/magic_measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/core_depthplot/measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/core_depthplot/pmag_results.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/core_depthplot/pmag_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/core_depthplot/samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/core_depthplot/sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/core_depthplot/specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/curie/curie_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/dayplot_magic/dayplot_magic_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/dayplot_magic/specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/di_eq/di_eq_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/di_eq/tmp +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/di_eq/tmp1 +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/di_geo/di_geo.out +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/di_geo/di_geo_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/di_rot/di_rot.out +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/di_rot/di_rot_example.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/di_rot/fishrot.out +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/di_tilt/di_tilt.out +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/di_tilt/di_tilt_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/di_vgp/di_vgp_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/dipole_pinc/dipole_pinc_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/dipole_plat/dipole_plat_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/dir_cart/dir_cart_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/dmag_magic/contribution.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/dmag_magic/dmag_magic_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/dmag_magic/locations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/dmag_magic/magic_contribution_16338.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/dmag_magic/measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/dmag_magic/samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/dmag_magic/sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/dmag_magic/specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/eigs_s/eigs_s_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/eq_di/eq_di_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/eq_di/tmp +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/eqarea/fishrot.out +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/eqarea_ell/eqarea_ell_example.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/eqarea_ell/tk03.out +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/eqarea_magic/measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/eqarea_magic/pmag_results.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/eqarea_magic/samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/eqarea_magic/site_results.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/eqarea_magic/sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/eqarea_magic/specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/etopo20/etopo20data.gz +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/etopo20/etopo20lats.gz +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/etopo20/etopo20lons.gz +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/find_EI/find_EI_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/find_EI/tmp +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/fishqq/fishqq_example.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/fishrot/fishrot.out +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/foldtest/foldtest_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/foldtest_magic/er_citations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/foldtest_magic/er_locations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/foldtest_magic/er_sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/foldtest_magic/magic_contribution_11087.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/foldtest_magic/magic_methods.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/foldtest_magic/pmag_results.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/foldtest_magic/pmag_sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/foldtest_magic/sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/forc_diagram/.ipynb_checkpoints/forc_diagram-checkpoint.ipynb +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/forc_diagram/conventional_example.forc +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/forc_diagram/irforc_exmaple.irforc +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/gaussian/gauss.out +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/generic_magic/ATRM/README +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/generic_magic/ATRM/generic_ATRM.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/generic_magic/ATRM/generic_ATRM.txt.magic +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/generic_magic/CR/README +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/generic_magic/CR/generic_CR.magic +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/generic_magic/CR/generic_CR.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/generic_magic/Demag/README.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/generic_magic/Demag/generic_demag.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/generic_magic/PI/README +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/generic_magic/PI/generic_izzi.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/geomagia/geomagia_sel.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/gobing/gobing_example.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/gofish/fishrot.out +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/gokent/gokent_example.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/gokent/tk03.out +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/goprinc/goprinc_example.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/goprinc/tk03.out +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/grab_magic_key/lats +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/hysteresis_magic/hysteresis_magic_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/hysteresis_magic/measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/igrf/igrf.out +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/igrf/igrf_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/incfish/incfish_example_di.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/incfish/incfish_example_inc.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/.ipynb_checkpoints/PmagPy_iodp_HOLE_template-checkpoint.ipynb +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/.ipynb_checkpoints/U999A-checkpoint.ipynb +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/Figures/U999A_1.pdf +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/Figures/U999A_anisotropy_xmastree.pdf +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/ProcessingPmagData.docx +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/Core Summary_18_5_2019.csv +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/JR6_data/spinner_17_5_2019.csv +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/KLY4S_data/ex-kappa_17_5_2019.csv +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/SRM_archive_data/srmsection_17_5_2019.csv +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/SRM_discrete_data/srmdiscrete_17_5_2019.csv +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/Section Summary_17_5_2019.csv +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/U1999A_xray_disturbance.xlsx +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/U999A_MagIC/Core Summary_17_5_2019.csv +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/U999A_MagIC/dscr_measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/U999A_MagIC/jr6_measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/U999A_MagIC/kly4s_measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/U999A_MagIC/kly4s_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/U999A_MagIC/lims_samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/U999A_MagIC/lims_sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/U999A_MagIC/lims_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/U999A_MagIC/locations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/U999A_MagIC/samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/U999A_MagIC/sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/U999A_MagIC/specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/U999A_MagIC/srm_arch_measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/U999A_MagIC/srm_arch_samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/U999A_MagIC/srm_arch_sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/U999A_MagIC/srm_arch_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/U999A_MagIC/srm_dscr_measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/U999A_disturbances.xlsx +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/samples_17_5_2019.csv +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A.ipynb +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/irm_unmix/irm_unmix_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/irm_unmix/irm_unmix_example_fit.csv +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/irmaq_magic/U1359A_IRM_coil2.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/irmaq_magic/U1359A_IRM_coil3.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/irmaq_magic/measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/k15_magic/k15_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/k15_s/k15_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/kly4s_magic/KLY4S_magic_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/lnp_magic/ages.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/lnp_magic/criteria.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/lnp_magic/locations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/lnp_magic/measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/lnp_magic/samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/lnp_magic/sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/lnp_magic/specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/lnp_magic/zmab0001193tmp02.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/lowrie/lowrie_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/lowrie/lowrie_magic_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/lowrie_magic/lowrie_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/lowrie_magic/lowrie_magic_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/lowrie_magic/measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/magic_gui/3_0/SrExample_AF.txt.magic +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/magic_gui/3_0/SrExample_AF_er_samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/magic_gui/3_0/SrExample_thellier.txt.magic +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/magic_gui/3_0/SrExample_thellier_er_samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/magic_gui/3_0/SrExample_thermal.txt.magic +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/magic_gui/3_0/SrExample_thermal_er_samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/magic_gui/3_0/er_samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/magic_gui/3_0/magic_measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/magic_gui/3_0/measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/magic_gui/3_0/samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/magic_gui/3_0/specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/magic_select/AF_BFL_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/magic_select/AF_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/magic_select/pmag_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/magic_select/specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/measurements_normalize/irm_measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/measurements_normalize/specimens_weight.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/misc_files/er_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/misc_files/pmag_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/mk_redo/er_ages.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/mk_redo/er_citations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/mk_redo/er_locations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/mk_redo/er_samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/mk_redo/er_sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/mk_redo/er_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/mk_redo/magic_measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/mk_redo/magic_methods.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/mk_redo/pmag_criteria.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/mk_redo/pmag_results.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/mk_redo/pmag_samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/mk_redo/pmag_sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/mk_redo/pmag_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/mk_redo/specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/mk_redo/zmab0083201tmp03.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/notebooks/Importing and using the 3.0 data model.ipynb +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/notebooks/Intro to MagIC Contributions.ipynb +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/notebooks/Intro to MagicDataFrames.ipynb +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/notebooks/Uploading contributions (with validations).ipynb +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/notebooks/Validate Quoted Strings.ipynb +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/notebooks/data_model_conversion.ipynb +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/notebooks/thellier_gui3_0_tester.ipynb +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/nrm_specimens_magic/magic_contribution_15143.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/nrm_specimens_magic/nrm_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/orientation_magic/orient_example.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/parse_measurements/magic_measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pca/pca_example.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pca/zeq_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/plotXY/plotXY.png +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/plotXY/plotXY.svg +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/plotXY/plotxy_example.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/plotXY/tmp +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/plot_cdf/gaussian.out +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/plot_map_pts/Map_PTS.png +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/plot_map_pts/uniform.out +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/plotdi_a/plotdi_a_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pmag_results_extract/Directions.tex +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pmag_results_extract/Directions.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pmag_results_extract/Intensities.tex +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pmag_results_extract/Intensities.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pmag_results_extract/SiteNfo.tex +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pmag_results_extract/SiteNfo.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pmag_results_extract/pmag_results.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pmag_results_extract/pmag_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/polemap_magic/locations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pt_rot/Map_PTS.pdf +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pt_rot/lon_lat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pt_rot/nam_180-200.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pt_rot/nam_panA.frp +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pt_rot/panA.out +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pt_rot/pt_rot.input +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pt_rot/pt_rot.out +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pt_rot/pt_rot_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pt_rot/pt_rot_panA.out +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/qqplot/gauss.out +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/quick_hyst/hysteresis_magic_example3.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/quick_hyst2/hysteresis_magic_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/remanence_anisotropy_magic/README +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/revtest/revtest_example.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/revtest_magic/criteria.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/revtest_magic/revtest_magic_example.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/revtest_magic/sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/s_eigs/s_eigs_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/s_geo/s_geo_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/s_hext/s_geo_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/s_magic/s_magic_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/s_magic/specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/s_tilt/s_tilt_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/scalc/scalc_example.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/scalc_magic/pmag_results.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/scalc_magic/sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/scalc_magic/vgp_lat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/site_edit_magic/thellier_redo +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/site_edit_magic/zeq_redo +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/site_edit_magic/zmab0083201tmp03.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/squish/squish_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/stats/gaussian.out +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/strip_magic/pmag_results.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/strip_magic/sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/strip_magic/sites_with_vgps.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/sundec/sundec_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/__init__.py +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/empty_dir/blank.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/methods/er_ages.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/methods/er_locations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/methods/er_samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/methods/er_sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/methods/er_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/methods/location_09.Oct.2015.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/methods/location_14.Oct.2015.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/methods/location_16.Aug.2015.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/methods/location_16.Aug.2015_1.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/methods/pmag_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project/__init__.py +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project/er_ages.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project/er_locations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project/er_samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project/er_samples_orient.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project/er_sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project/er_sites_orient.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project/er_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project/magic_measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project/thellier_GUI.log +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project/thellier_interpreter/thellier_interpreter.log +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project/thellier_interpreter/thellier_interpreter_STDEV-OPT_redo +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project/thellier_interpreter/thellier_interpreter_STDEV-OPT_samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project/thellier_interpreter/thellier_interpreter_STDEV-OPT_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project/thellier_interpreter/thellier_interpreter_all.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project/thellier_interpreter/thellier_interpreter_specimens_bounds.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project_with_errors/__init__.py +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project_with_errors/er_ages.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project_with_errors/er_locations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project_with_errors/er_samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project_with_errors/er_samples_orient.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project_with_errors/er_sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project_with_errors/er_sites_orient.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project_with_errors/er_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project_with_errors/magic_measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project_with_errors/something.py +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/odp_magic/odp_magic_er_samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/validation/Jack-Hills_19.Apr.2020_4.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/validation/Jack-Hills_19.Apr.2020_5.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/validation/er_locations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/validation/er_sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/validation/location1_30.Dec.2015.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/validation/location1_30.Dec.2015_1.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/Megiddo_unpublished_example/er_ages.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/Megiddo_unpublished_example/er_locations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/SU1_example/er_ages.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/SU1_example/er_locations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/SU1_example/optimizer_test_groups.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/Tauxe_2006_example/er_ages.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/Tauxe_2006_example/er_citations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/Tauxe_2006_example/er_expeditions.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/Tauxe_2006_example/er_locations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/Tauxe_2006_example/er_test_groups.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/Tauxe_2006_example/magic_methods.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/Tauxe_2006_example/pmag_results.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/Tauxe_2006_example/pmag_samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/Tauxe_2006_example/pmag_sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/Tauxe_2006_example/pmag_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/Tauxe_2006_example/thellier_interpreter/thellier_interpreter_STDEV-OPT_redo +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/Tauxe_2006_example/thellier_interpreter/thellier_interpreter_STDEV-OPT_samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/Tauxe_2006_example/thellier_interpreter/thellier_interpreter_STDEV-OPT_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/Tauxe_2006_example/thellier_interpreter/thellier_interpreter_all.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/Tauxe_2006_example/thellier_interpreter/thellier_interpreter_specimens_bounds.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/Tauxe_2006_example/thellier_redo +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/Tauxe_2006_example/thellier_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/Tauxe_2006_example/zmab0094380tmp01.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/thellier_GUI_full_manual_1_0.pdf +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_magic/measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_magic/zmab0100159tmp01.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/tk03/tk03.out +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/tsunakawa_shaw/raw_data/mc120c-SA4.d +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/uniform/uniform.out +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/unsquish/unsquish_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/upload_magic/er_ages.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/upload_magic/er_citations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/upload_magic/er_locations.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/upload_magic/magic_methods.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/upload_magic/pmag_results.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/upload_magic/pmag_samples.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/upload_magic/pmag_sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/upload_magic/pmag_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/upload_magic/thellier_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/upload_magic/upload.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/upload_magic/upload_dos.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/upload_magic/zeq_specimens.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/vdm_b/vdm_b_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/vector_mean/vector_mean_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/vgp_di/vgp_di_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/vgpmap_magic/pmag_results.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/vgpmap_magic/sites.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/watsons_f/watsons_f_example_file1.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/watsons_f/watsons_f_example_file2.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/xpeem_magic/Bryson2019_PVA01-r1.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/xpeem_magic/Maurel2020_TeA01Comma-r1onL.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/xpeem_magic/Maurel2020_TeA01TwoSpace-r1onL.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/zeq/zeq_example.dat +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/zeq_magic/measurements.txt +0 -0
- {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/zeq_magic/zmab0083201tmp03.txt +0 -0
- {pmagpy-4.3.7.dist-info → pmagpy-4.3.9.dist-info}/WHEEL +0 -0
- {pmagpy-4.3.7.dist-info → pmagpy-4.3.9.dist-info}/entry_points.txt +0 -0
- {pmagpy-4.3.7.dist-info → pmagpy-4.3.9.dist-info}/top_level.txt +0 -0
pmagpy/ipmag.py
CHANGED
|
@@ -23,11 +23,6 @@ from matplotlib.pylab import polyfit
|
|
|
23
23
|
import matplotlib.ticker as mtick
|
|
24
24
|
from matplotlib import colors
|
|
25
25
|
from matplotlib import cm
|
|
26
|
-
try:
|
|
27
|
-
import requests
|
|
28
|
-
except ImportError:
|
|
29
|
-
requests = None
|
|
30
|
-
encoding = "ISO-8859-1"
|
|
31
26
|
from .mapping import map_magic
|
|
32
27
|
from pmagpy import contribution_builder as cb
|
|
33
28
|
from pmagpy import spline
|
|
@@ -36,12 +31,16 @@ from pmag_env import set_env
|
|
|
36
31
|
from . import pmag
|
|
37
32
|
from . import pmagplotlib
|
|
38
33
|
from . import data_model3 as data_model
|
|
39
|
-
from .contribution_builder import Contribution
|
|
34
|
+
#from .contribution_builder import Contribution appears redundant
|
|
40
35
|
from . import validate_upload3 as val_up3
|
|
41
36
|
from numpy.linalg import inv, eig
|
|
37
|
+
try:
|
|
38
|
+
import requests
|
|
39
|
+
except ImportError:
|
|
40
|
+
requests = None
|
|
41
|
+
encoding = "ISO-8859-1"
|
|
42
42
|
has_cartopy, cartopy = pmag.import_cartopy()
|
|
43
|
-
|
|
44
|
-
if has_cartopy == True:
|
|
43
|
+
if has_cartopy:
|
|
45
44
|
import cartopy.crs as ccrs
|
|
46
45
|
|
|
47
46
|
|
|
@@ -781,7 +780,8 @@ def unsquish(incs, f):
|
|
|
781
780
|
inc_new = np.rad2deg(np.arctan(inc_new_rad))
|
|
782
781
|
incs_unsquished.append(inc_new)
|
|
783
782
|
return incs_unsquished
|
|
784
|
-
except:
|
|
783
|
+
except TypeError as e:
|
|
784
|
+
print("TypeError caught: ", e) # to catch single values
|
|
785
785
|
inc_rad = np.deg2rad(incs) # convert to radians
|
|
786
786
|
inc_new_rad = (1.0/f) * np.tan(inc_rad)
|
|
787
787
|
inc_new = np.rad2deg(np.arctan(inc_new_rad)) # convert back to degrees
|
|
@@ -822,7 +822,8 @@ def squish(incs, f):
|
|
|
822
822
|
np.pi # convert back to degrees
|
|
823
823
|
incs_squished.append(inc_new)
|
|
824
824
|
return incs_squished
|
|
825
|
-
except:
|
|
825
|
+
except TypeError as e: # to catch single values
|
|
826
|
+
print("TypeError caught: ", e)
|
|
826
827
|
inc_rad = incs * np.pi / 180. # convert to radians
|
|
827
828
|
inc_new_rad = f * np.tan(inc_rad)
|
|
828
829
|
inc_new = np.arctan(inc_new_rad) * 180. / \
|
|
@@ -904,9 +905,9 @@ def do_flip(dec=None, inc=None, di_block=None, unit_vector=True):
|
|
|
904
905
|
dflip = []
|
|
905
906
|
for rec in di_block:
|
|
906
907
|
d, i = (rec[0] - 180.) % 360., -rec[1]
|
|
907
|
-
if unit_vector
|
|
908
|
+
if unit_vector:
|
|
908
909
|
dflip.append([d, i, 1.0])
|
|
909
|
-
if unit_vector
|
|
910
|
+
if not unit_vector:
|
|
910
911
|
dflip.append([d, i])
|
|
911
912
|
return dflip
|
|
912
913
|
|
|
@@ -1041,52 +1042,113 @@ def common_mean_bootstrap(Data1, Data2, NumSims=1000,
|
|
|
1041
1042
|
save=False, save_folder='.', fmt='svg',
|
|
1042
1043
|
figsize=(7, 2.3), x_tick_bins=4,verbose=True):
|
|
1043
1044
|
"""
|
|
1044
|
-
|
|
1045
|
-
inclination data sets. Plots are generated of the cumulative distributions
|
|
1046
|
-
of the Cartesian coordinates of the means of the pseudo-samples (one for x,
|
|
1047
|
-
one for y and one for z). If the 95 percent confidence bounds for each
|
|
1048
|
-
component overlap, the two set of directions "pass" the test and are
|
|
1049
|
-
consistent with sharing a common mean.
|
|
1045
|
+
Conducts a bootstrap test for a common mean on two directional data sets.
|
|
1050
1046
|
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
save : optional save of plots (default is False)
|
|
1057
|
-
save_folder : path to directory where plots should be saved
|
|
1058
|
-
fmt : format of figures to be saved (default is 'svg')
|
|
1059
|
-
figsize : optionally adjust figure size (default is (7, 2.3))
|
|
1060
|
-
x_tick_bins : because they occasionally overlap depending on the data, this
|
|
1061
|
-
argument allows you adjust number of tick marks on the x axis of graphs
|
|
1062
|
-
(default is 4)
|
|
1047
|
+
This function implements the bootstrap test from Tauxe (2010) to determine
|
|
1048
|
+
if two sets of directional data are consistent with sharing a common mean.
|
|
1049
|
+
It generates cumulative distribution plots for the X, Y, and Z components
|
|
1050
|
+
of the bootstrapped means. The test "passes" if the 95% confidence bounds
|
|
1051
|
+
for each of the three components overlap.
|
|
1063
1052
|
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
**result** (a boolean where 0 is fail and 1 is pass)
|
|
1053
|
+
Alternatively, if a single direction is provided for `Data2`, the function
|
|
1054
|
+
tests if that direction falls within the 95% confidence bounds of `Data1`.
|
|
1067
1055
|
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1056
|
+
Parameters
|
|
1057
|
+
----------
|
|
1058
|
+
Data1 : array-like
|
|
1059
|
+
A list of lists or NumPy array of directional data, where each inner
|
|
1060
|
+
list is [declination, inclination].
|
|
1061
|
+
Data2 : array-like
|
|
1062
|
+
A second set of directional data in the same format as `Data1`, or a
|
|
1063
|
+
single direction as [declination, inclination].
|
|
1064
|
+
NumSims : int, optional
|
|
1065
|
+
The number of bootstrap samples to generate. Defaults to 1000.
|
|
1066
|
+
color1 : str, optional
|
|
1067
|
+
Matplotlib color for the first dataset. Defaults to 'r' (red).
|
|
1068
|
+
color2 : str, optional
|
|
1069
|
+
Matplotlib color for the second dataset. Defaults to 'b' (blue).
|
|
1070
|
+
save : bool, optional
|
|
1071
|
+
If True, saves the generated plots. Defaults to False.
|
|
1072
|
+
save_folder : str, optional
|
|
1073
|
+
The directory path where plots will be saved. Defaults to '.'.
|
|
1074
|
+
fmt : str, optional
|
|
1075
|
+
The file format for saved plots (e.g., 'svg', 'png', 'pdf').
|
|
1076
|
+
Defaults to 'svg'.
|
|
1077
|
+
figsize : tuple, optional
|
|
1078
|
+
The size of the figure for the plots. Defaults to (7, 2.3).
|
|
1079
|
+
x_tick_bins : int, optional
|
|
1080
|
+
The maximum number of tick mark bins for the x-axis of the plots.
|
|
1081
|
+
Defaults to 4.
|
|
1082
|
+
verbose : bool, optional
|
|
1083
|
+
If True, prints the test result ('Pass' or 'Fail') to the console.
|
|
1084
|
+
Defaults to True.
|
|
1071
1085
|
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1086
|
+
Returns
|
|
1087
|
+
-------
|
|
1088
|
+
int
|
|
1089
|
+
Returns 1 if the datasets pass the common mean test, and 0 if they fail.
|
|
1090
|
+
|
|
1091
|
+
Notes
|
|
1092
|
+
-----
|
|
1093
|
+
The function also displays or saves three plots showing the cumulative
|
|
1094
|
+
distributions for the X, Y, and Z components of the bootstrapped means. These
|
|
1095
|
+
plots are a visual representation of the statistical test.
|
|
1096
|
+
|
|
1097
|
+
Examples
|
|
1098
|
+
--------
|
|
1099
|
+
Develop two populations of directions using ``ipmag.fishrot()`` and then
|
|
1100
|
+
use the function to determine if they share a common mean.
|
|
1101
|
+
|
|
1102
|
+
>>> directions_A = ipmag.fishrot(k=20, n=30, dec=40, inc=60)
|
|
1103
|
+
>>> directions_B = ipmag.fishrot(k=35, n=25, dec=42, inc=57)
|
|
1104
|
+
>>> result = ipmag.common_mean_bootstrap_new(directions_A, directions_B)
|
|
1105
|
+
Pass
|
|
1106
|
+
>>> print(result)
|
|
1107
|
+
1
|
|
1108
|
+
|
|
1109
|
+
Compare a single direction to a population.
|
|
1110
|
+
|
|
1111
|
+
>>> directions_A = ipmag.fishrot(k=100, n=30, dec=45, inc=45)
|
|
1112
|
+
>>> direction_B = [45,45]
|
|
1113
|
+
>>> common_mean_bootstrap_new(directions_A, direction_B)
|
|
1114
|
+
Pass
|
|
1075
1115
|
"""
|
|
1076
|
-
counter = 0
|
|
1077
1116
|
BDI1 = pmag.di_boot(Data1)
|
|
1078
1117
|
cart1 = pmag.dir2cart(BDI1).transpose()
|
|
1079
1118
|
X1, Y1, Z1 = cart1[0], cart1[1], cart1[2]
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1119
|
+
|
|
1120
|
+
Data2_arr = np.asarray(Data2, dtype=float)
|
|
1121
|
+
|
|
1122
|
+
# Determine if Data2 is a single direction or a block
|
|
1123
|
+
if Data2_arr.ndim == 1 and Data2_arr.size in (2, 3):
|
|
1124
|
+
is_block = False
|
|
1125
|
+
single_direction = Data2_arr # (2,) or (3,)
|
|
1126
|
+
elif Data2_arr.ndim == 2 and Data2_arr.shape[1] in (2, 3):
|
|
1127
|
+
is_block = Data2_arr.shape[0] > 1
|
|
1128
|
+
direction_block = Data2_arr # (N, 2) or (N, 3)
|
|
1129
|
+
elif Data2_arr.ndim == 2 and Data2_arr.shape[0] in (2, 3) and Data2_arr.shape[1] > 1:
|
|
1130
|
+
# Handle transposed input like (2, N) or (3, N)
|
|
1131
|
+
direction_block = Data2_arr.T
|
|
1132
|
+
if direction_block.shape[1] not in (2, 3):
|
|
1133
|
+
raise ValueError(f"Expected (N, 2) or (N, 3), got {direction_block.shape}.")
|
|
1134
|
+
is_block = direction_block.shape[0] > 1
|
|
1135
|
+
else:
|
|
1136
|
+
raise ValueError(
|
|
1137
|
+
f"Expected [dec, inc(, intensity)] or an array with 2 or 3 columns; "
|
|
1138
|
+
f"got shape {Data2_arr.shape}."
|
|
1139
|
+
)
|
|
1140
|
+
|
|
1141
|
+
if is_block:
|
|
1142
|
+
BDI2 = pmag.di_boot(direction_block)
|
|
1143
|
+
cart2 = pmag.dir2cart(BDI2).T
|
|
1083
1144
|
X2, Y2, Z2 = cart2[0], cart2[1], cart2[2]
|
|
1084
1145
|
else:
|
|
1085
|
-
|
|
1086
|
-
|
|
1146
|
+
cart2 = pmag.dir2cart(single_direction).T
|
|
1147
|
+
X2, Y2, Z2 = cart2[0], cart2[1], cart2[2]
|
|
1148
|
+
|
|
1087
1149
|
minimum = int(0.025 * len(X1))
|
|
1088
1150
|
maximum = int(0.975 * len(X1))
|
|
1089
|
-
|
|
1151
|
+
|
|
1090
1152
|
fignum = 1
|
|
1091
1153
|
fig = plt.figure(figsize=figsize)
|
|
1092
1154
|
|
|
@@ -1094,43 +1156,45 @@ def common_mean_bootstrap(Data1, Data2, NumSims=1000,
|
|
|
1094
1156
|
X1, y = pmagplotlib.plot_cdf(fignum, X1, "X component", color1, "")
|
|
1095
1157
|
bounds1 = [X1[minimum], X1[maximum]]
|
|
1096
1158
|
pmagplotlib.plot_vs(fignum, bounds1, color1, '-')
|
|
1097
|
-
if
|
|
1159
|
+
if is_block:
|
|
1098
1160
|
X2, y = pmagplotlib.plot_cdf(fignum, X2, "X component", color2, "")
|
|
1099
1161
|
bounds2 = [X2[minimum], X2[maximum]]
|
|
1100
1162
|
pmagplotlib.plot_vs(fignum, bounds2, color2, '--')
|
|
1163
|
+
x_overlap = pmag.interval_overlap(bounds1, bounds2)
|
|
1101
1164
|
else:
|
|
1102
|
-
|
|
1165
|
+
x_in_bounds = X1[minimum] <= X2 <= X1[maximum]
|
|
1166
|
+
pmagplotlib.plot_vs(fignum, [X2], color2, ':')
|
|
1103
1167
|
plt.ylim(0, 1)
|
|
1104
1168
|
plt.locator_params(nbins=x_tick_bins)
|
|
1105
|
-
x_overlap = pmag.interval_overlap(bounds1,bounds2)
|
|
1106
1169
|
|
|
1107
1170
|
plt.subplot(1, 3, 2)
|
|
1108
1171
|
Y1, y = pmagplotlib.plot_cdf(fignum, Y1, "Y component", color1, "")
|
|
1109
1172
|
bounds1 = [Y1[minimum], Y1[maximum]]
|
|
1110
1173
|
pmagplotlib.plot_vs(fignum, bounds1, color1, '-')
|
|
1111
|
-
if
|
|
1174
|
+
if is_block:
|
|
1112
1175
|
Y2, y = pmagplotlib.plot_cdf(fignum, Y2, "Y component", color2, "")
|
|
1113
1176
|
bounds2 = [Y2[minimum], Y2[maximum]]
|
|
1114
1177
|
pmagplotlib.plot_vs(fignum, bounds2, color2, '--')
|
|
1178
|
+
y_overlap = pmag.interval_overlap(bounds1, bounds2)
|
|
1115
1179
|
else:
|
|
1116
|
-
|
|
1180
|
+
y_in_bounds = Y1[minimum] <= Y2 <= Y1[maximum]
|
|
1181
|
+
pmagplotlib.plot_vs(fignum, [Y2], color2, ':')
|
|
1117
1182
|
plt.ylim(0, 1)
|
|
1118
|
-
|
|
1119
|
-
|
|
1183
|
+
|
|
1120
1184
|
plt.subplot(1, 3, 3)
|
|
1121
1185
|
Z1, y = pmagplotlib.plot_cdf(fignum, Z1, "Z component", color1, "")
|
|
1122
1186
|
bounds1 = [Z1[minimum], Z1[maximum]]
|
|
1123
1187
|
pmagplotlib.plot_vs(fignum, bounds1, color1, '-')
|
|
1124
|
-
|
|
1125
|
-
if np.array(Data2).shape[0] > 2:
|
|
1188
|
+
if is_block:
|
|
1126
1189
|
Z2, y = pmagplotlib.plot_cdf(fignum, Z2, "Z component", color2, "")
|
|
1127
1190
|
bounds2 = [Z2[minimum], Z2[maximum]]
|
|
1128
1191
|
pmagplotlib.plot_vs(fignum, bounds2, color2, '--')
|
|
1192
|
+
z_overlap = pmag.interval_overlap(bounds1, bounds2)
|
|
1129
1193
|
else:
|
|
1130
|
-
|
|
1194
|
+
z_in_bounds = Z1[minimum] <= Z2 <= Z1[maximum]
|
|
1195
|
+
pmagplotlib.plot_vs(fignum, [Z2], color2, ':')
|
|
1131
1196
|
plt.ylim(0, 1)
|
|
1132
1197
|
plt.locator_params(nbins=x_tick_bins)
|
|
1133
|
-
z_overlap = pmag.interval_overlap(bounds1,bounds2)
|
|
1134
1198
|
|
|
1135
1199
|
plt.tight_layout()
|
|
1136
1200
|
if save:
|
|
@@ -1138,39 +1202,83 @@ def common_mean_bootstrap(Data1, Data2, NumSims=1000,
|
|
|
1138
1202
|
save_folder, 'common_mean_bootstrap') + '.' + fmt,
|
|
1139
1203
|
dpi=300,bbox_inches='tight')
|
|
1140
1204
|
plt.show()
|
|
1141
|
-
|
|
1142
|
-
if
|
|
1143
|
-
if
|
|
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
|
-
|
|
1205
|
+
|
|
1206
|
+
if is_block:
|
|
1207
|
+
if ((x_overlap != 0) and (y_overlap != 0) and (z_overlap != 0)):
|
|
1208
|
+
if verbose:
|
|
1209
|
+
print('Pass')
|
|
1210
|
+
result = 1
|
|
1211
|
+
return result
|
|
1212
|
+
elif ((x_overlap == 0) and (y_overlap != 0) and (z_overlap != 0)):
|
|
1213
|
+
if verbose:
|
|
1214
|
+
print('Fail, distinct in x')
|
|
1215
|
+
result = 0
|
|
1216
|
+
return result
|
|
1217
|
+
elif ((x_overlap != 0) and (y_overlap == 0) and (z_overlap != 0)):
|
|
1218
|
+
if verbose:
|
|
1219
|
+
print('Fail, distinct in y')
|
|
1220
|
+
result = 0
|
|
1221
|
+
return result
|
|
1222
|
+
elif ((x_overlap != 0) and (y_overlap != 0) and (z_overlap == 0)):
|
|
1223
|
+
if verbose:
|
|
1224
|
+
print('Fail, distinct in z')
|
|
1225
|
+
result = 0
|
|
1226
|
+
return result
|
|
1227
|
+
elif ((x_overlap == 0) and (y_overlap == 0) and (z_overlap != 0)):
|
|
1228
|
+
if verbose:
|
|
1229
|
+
print('Fail, distinct in x and y')
|
|
1230
|
+
result = 0
|
|
1231
|
+
return result
|
|
1232
|
+
elif ((x_overlap == 0) and (y_overlap != 0) and (z_overlap == 0)):
|
|
1233
|
+
if verbose:
|
|
1234
|
+
print('Fail, distinct in x and z')
|
|
1235
|
+
result = 0
|
|
1236
|
+
return result
|
|
1237
|
+
elif ((x_overlap != 0) and (y_overlap == 0) and (z_overlap == 0)):
|
|
1238
|
+
if verbose:
|
|
1239
|
+
print('Fail, distinct in y and z')
|
|
1240
|
+
result = 0
|
|
1241
|
+
return result
|
|
1242
|
+
elif ((x_overlap == 0) and (y_overlap == 0) and (z_overlap == 0)):
|
|
1243
|
+
if verbose:
|
|
1244
|
+
print('Fail, distinct in x, y and z')
|
|
1245
|
+
result = 0
|
|
1246
|
+
return result
|
|
1247
|
+
|
|
1248
|
+
else:
|
|
1249
|
+
if x_in_bounds and y_in_bounds and z_in_bounds:
|
|
1250
|
+
if verbose:
|
|
1251
|
+
print('Pass')
|
|
1252
|
+
return 1
|
|
1253
|
+
elif (not x_in_bounds) and y_in_bounds and z_in_bounds:
|
|
1254
|
+
if verbose:
|
|
1255
|
+
print('Fail, distinct in x')
|
|
1256
|
+
return 0
|
|
1257
|
+
elif x_in_bounds and (not y_in_bounds) and z_in_bounds:
|
|
1258
|
+
if verbose:
|
|
1259
|
+
print('Fail, distinct in y')
|
|
1260
|
+
return 0
|
|
1261
|
+
elif x_in_bounds and y_in_bounds and (not z_in_bounds):
|
|
1262
|
+
if verbose:
|
|
1263
|
+
print('Fail, distinct in z')
|
|
1264
|
+
return 0
|
|
1265
|
+
elif (not x_in_bounds) and (not y_in_bounds) and z_in_bounds:
|
|
1266
|
+
if verbose:
|
|
1267
|
+
print('Fail, distinct in x and y')
|
|
1268
|
+
return 0
|
|
1269
|
+
elif (not x_in_bounds) and y_in_bounds and (not z_in_bounds):
|
|
1270
|
+
if verbose:
|
|
1271
|
+
print('Fail, distinct in x and z')
|
|
1272
|
+
return 0
|
|
1273
|
+
elif x_in_bounds and (not y_in_bounds) and (not z_in_bounds):
|
|
1274
|
+
if verbose:
|
|
1275
|
+
print('Fail, distinct in y and z')
|
|
1276
|
+
return 0
|
|
1277
|
+
else:
|
|
1278
|
+
# all three out of bounds
|
|
1279
|
+
if verbose:
|
|
1280
|
+
print('Fail, distinct in x, y and z')
|
|
1281
|
+
return 0
|
|
1174
1282
|
|
|
1175
1283
|
|
|
1176
1284
|
def common_mean_bootstrap_H23(Data1, Data2, num_sims=10000, alpha=0.05, plot=True, reversal=False,
|
|
@@ -1285,25 +1393,31 @@ def common_mean_bootstrap_H23(Data1, Data2, num_sims=10000, alpha=0.05, plot=Tru
|
|
|
1285
1393
|
Lmin_c = np.quantile(Lmin_b,1-alpha) #test critical value
|
|
1286
1394
|
# (n.b., if Lmin > Lmin_c reject null of common means at alpha significance level)
|
|
1287
1395
|
|
|
1288
|
-
if verbose:
|
|
1289
|
-
|
|
1290
|
-
if verbose:
|
|
1396
|
+
if verbose:
|
|
1397
|
+
print("Heslop et al. (2023) test statistic value = {:.2f}".format(Lmin))
|
|
1398
|
+
if verbose:
|
|
1399
|
+
print("Heslop et al. (2023) critical test statistic value = {:.2f}".format(Lmin_c))
|
|
1400
|
+
if verbose:
|
|
1401
|
+
print("Estimated p-value = {:.2f}".format(p))
|
|
1291
1402
|
if p < alpha:
|
|
1292
|
-
if verbose:
|
|
1403
|
+
if verbose:
|
|
1404
|
+
print("Reject null of common means at alpha = {:.2f} confidence level".format(alpha))
|
|
1293
1405
|
result = 0
|
|
1294
1406
|
else:
|
|
1295
|
-
if verbose:
|
|
1407
|
+
if verbose:
|
|
1408
|
+
print("Cannot reject null of common means at alpha = {:.2f} confidence level".format(alpha))
|
|
1296
1409
|
result = 1
|
|
1297
1410
|
|
|
1298
|
-
if plot
|
|
1411
|
+
if plot:
|
|
1299
1412
|
fig=plt.figure()
|
|
1300
1413
|
ax1=fig.add_subplot(111)
|
|
1301
|
-
plt.hist(Lmin_b,bins=int(np.sqrt(num_sims)),color = "0.6", ec="0.6")
|
|
1414
|
+
plt.hist(Lmin_b,bins=int(np.sqrt(num_sims)),color = "0.6", ec="0.6")
|
|
1302
1415
|
#axes = plt.gca()
|
|
1303
1416
|
y_min, y_max = ax1.get_ylim()
|
|
1304
1417
|
plt.plot([Lmin,Lmin],[y_min,y_max],'--r',label='Test statistic:')
|
|
1305
1418
|
plt.plot([Lmin_c,Lmin_c],[y_min,y_max],'-k',label='Critical value')
|
|
1306
|
-
if y_max<Lmin:
|
|
1419
|
+
if y_max<Lmin:
|
|
1420
|
+
y_max=Lmin+5
|
|
1307
1421
|
plt.ylim([y_min,y_max])
|
|
1308
1422
|
plt.xlim(np.min(Lmin_b),np.max(Lmin_b)+10)
|
|
1309
1423
|
plt.xlabel(r'$\lambda_{\rm{min}}^{(b)}$')
|
|
@@ -1376,7 +1490,6 @@ def common_mean_watson(Data1, Data2, NumSims=5000, print_result=True, plot='no',
|
|
|
1376
1490
|
|
|
1377
1491
|
# do monte carlo simulation of datasets with same kappas as data,
|
|
1378
1492
|
# but a common mean
|
|
1379
|
-
counter = 0
|
|
1380
1493
|
Vp = [] # set of Vs from simulations
|
|
1381
1494
|
for k in range(NumSims):
|
|
1382
1495
|
|
|
@@ -1513,7 +1626,7 @@ def common_mean_bayes(Data1, Data2, reversal_test=False):
|
|
|
1513
1626
|
X1=pmag.dir2cart(Data1)
|
|
1514
1627
|
X2=pmag.dir2cart(Data2)
|
|
1515
1628
|
|
|
1516
|
-
if reversal_test
|
|
1629
|
+
if reversal_test:
|
|
1517
1630
|
X12=np.concatenate((X1,-X2), axis=0) #pool site directions
|
|
1518
1631
|
else:
|
|
1519
1632
|
X12=np.concatenate((X1,X2), axis=0) #pool site directions
|
|
@@ -1778,7 +1891,7 @@ def reversal_test_MM1990(dec=None, inc=None, di_block=None, plot_CDF=False,
|
|
|
1778
1891
|
plot_di(di_block=directions1, color='b'),
|
|
1779
1892
|
plot_di(di_block=do_flip(di_block=directions2), color='r')
|
|
1780
1893
|
|
|
1781
|
-
if plot_CDF
|
|
1894
|
+
if not plot_CDF:
|
|
1782
1895
|
result, angle, critical_angle, classification=common_mean_watson(directions1, directions2,
|
|
1783
1896
|
save=save, save_folder=save_folder, fmt=fmt)
|
|
1784
1897
|
else:
|
|
@@ -2195,24 +2308,24 @@ def plot_di(dec=None, inc=None, di_block=None, color='k', marker='o', markersize
|
|
|
2195
2308
|
if len(di_lists) == 2:
|
|
2196
2309
|
dec, inc = di_lists
|
|
2197
2310
|
try:
|
|
2198
|
-
length = len(dec)
|
|
2199
2311
|
for n in range(len(dec)):
|
|
2200
2312
|
XY = pmag.dimap(dec[n], inc[n])
|
|
2201
2313
|
if inc[n] >= 0:
|
|
2202
2314
|
X_down.append(XY[0])
|
|
2203
2315
|
Y_down.append(XY[1])
|
|
2204
|
-
if
|
|
2316
|
+
if isinstance(color, list):
|
|
2205
2317
|
color_down.append(color[n])
|
|
2206
2318
|
else:
|
|
2207
2319
|
color_down.append(color)
|
|
2208
2320
|
else:
|
|
2209
2321
|
X_up.append(XY[0])
|
|
2210
2322
|
Y_up.append(XY[1])
|
|
2211
|
-
if
|
|
2323
|
+
if isinstance(color, list):
|
|
2212
2324
|
color_up.append(color[n])
|
|
2213
2325
|
else:
|
|
2214
2326
|
color_up.append(color)
|
|
2215
|
-
except:
|
|
2327
|
+
except TypeError as e:
|
|
2328
|
+
print("TypeError caught:", e)
|
|
2216
2329
|
XY = pmag.dimap(dec, inc)
|
|
2217
2330
|
if inc >= 0:
|
|
2218
2331
|
X_down.append(XY[0])
|
|
@@ -2236,7 +2349,7 @@ def plot_di(dec=None, inc=None, di_block=None, color='k', marker='o', markersize
|
|
|
2236
2349
|
if legend == 'yes':
|
|
2237
2350
|
plt.legend(loc=2)
|
|
2238
2351
|
plt.tight_layout()
|
|
2239
|
-
if title
|
|
2352
|
+
if title is not None:
|
|
2240
2353
|
plt.title(title)
|
|
2241
2354
|
|
|
2242
2355
|
|
|
@@ -2483,6 +2596,7 @@ def make_robinson_map(central_longitude=0, figsize=(8, 8),
|
|
|
2483
2596
|
ax.gridlines(xlocs=lon_grid, ylocs=lat_grid)
|
|
2484
2597
|
return ax
|
|
2485
2598
|
|
|
2599
|
+
|
|
2486
2600
|
def plot_pole(map_axis, plon, plat, A95, label='', color='k', edgecolor='k',
|
|
2487
2601
|
marker='o', markersize=20, legend='no',outline=True,
|
|
2488
2602
|
filled_pole=False, fill_color='k', fill_alpha=1.0,
|
|
@@ -2523,9 +2637,9 @@ def plot_pole(map_axis, plon, plat, A95, label='', color='k', edgecolor='k',
|
|
|
2523
2637
|
map_axis.scatter(plon, plat, marker=marker,
|
|
2524
2638
|
color=color, edgecolors=edgecolor, s=markersize,
|
|
2525
2639
|
label=label, zorder=zorder, transform=ccrs.PlateCarree(), alpha = mean_alpha)
|
|
2526
|
-
if filled_pole
|
|
2640
|
+
if not filled_pole:
|
|
2527
2641
|
equi(map_axis, plon, plat, A95_km, color, alpha=A95_alpha)
|
|
2528
|
-
elif filled_pole
|
|
2642
|
+
elif filled_pole:
|
|
2529
2643
|
equi(map_axis, plon, plat, A95_km, fill_color, alpha=fill_alpha, outline=outline,fill=True)
|
|
2530
2644
|
if legend == 'yes':
|
|
2531
2645
|
plt.legend(loc=2)
|
|
@@ -2573,12 +2687,14 @@ def plot_poles(map_axis, plon, plat, A95, label='', color='k', edgecolor='k',
|
|
|
2573
2687
|
>>> ipmag.plot_poles(map_axis, plons, plats, A95s, color=colors, markersize=40)
|
|
2574
2688
|
|
|
2575
2689
|
"""
|
|
2576
|
-
|
|
2690
|
+
if not has_cartopy:
|
|
2691
|
+
print('-W- cartopy must be installed to run ipmag.plot_poles')
|
|
2692
|
+
return
|
|
2577
2693
|
map_axis.scatter(plon, plat, marker=marker,
|
|
2578
2694
|
color=color, edgecolors=edgecolor, s=markersize,
|
|
2579
2695
|
label=label, zorder=zorder, transform=ccrs.PlateCarree(), alpha=alpha)
|
|
2580
|
-
if filled_pole
|
|
2581
|
-
if isinstance(color,str)
|
|
2696
|
+
if not filled_pole:
|
|
2697
|
+
if isinstance(color,str):
|
|
2582
2698
|
for n in range(0,len(A95)):
|
|
2583
2699
|
A95_km = A95[n] * 111.32
|
|
2584
2700
|
equi(map_axis, plon[n], plat[n], A95_km, color, alpha=alpha, lw=lw)
|
|
@@ -2586,8 +2702,8 @@ def plot_poles(map_axis, plon, plat, A95, label='', color='k', edgecolor='k',
|
|
|
2586
2702
|
for n in range(0,len(A95)):
|
|
2587
2703
|
A95_km = A95[n] * 111.32
|
|
2588
2704
|
equi(map_axis, plon[n], plat[n], A95_km, color[n], alpha=alpha, lw=lw)
|
|
2589
|
-
elif filled_pole
|
|
2590
|
-
if isinstance(fill_color,str)
|
|
2705
|
+
elif filled_pole:
|
|
2706
|
+
if isinstance(fill_color,str):
|
|
2591
2707
|
for n in range(0,len(A95)):
|
|
2592
2708
|
A95_km = A95[n] * 111.32
|
|
2593
2709
|
equi(map_axis, plon[n], plat[n], A95_km, fill_color, alpha=fill_alpha, outline=outline, fill=True, lw=lw)
|
|
@@ -2599,6 +2715,7 @@ def plot_poles(map_axis, plon, plat, A95, label='', color='k', edgecolor='k',
|
|
|
2599
2715
|
if legend == 'yes':
|
|
2600
2716
|
plt.legend(loc=2)
|
|
2601
2717
|
|
|
2718
|
+
|
|
2602
2719
|
def plot_pole_ellipse(map_axis, dictionary,
|
|
2603
2720
|
color='k', edgecolor='k', marker='s',
|
|
2604
2721
|
markersize=20, label='', alpha=1.0, lw=1, lower=True, zorder=100):
|
|
@@ -2634,6 +2751,9 @@ def plot_pole_ellipse(map_axis, dictionary,
|
|
|
2634
2751
|
>>> map_axis = ipmag.make_orthographic_map(central_longitude=200,central_latitude=90)
|
|
2635
2752
|
>>> ipmag.plot_pole_ellipse(map_axis,kent_dict, color='red',markersize=40)
|
|
2636
2753
|
"""
|
|
2754
|
+
if not has_cartopy:
|
|
2755
|
+
print('-W- cartopy must be installed to run ipmag.plot_pole_ellipse')
|
|
2756
|
+
return
|
|
2637
2757
|
pars = []
|
|
2638
2758
|
pars.append(dictionary['dec'])
|
|
2639
2759
|
pars.append(dictionary['inc'])
|
|
@@ -2660,7 +2780,7 @@ def plot_pole_ellipse(map_axis, dictionary,
|
|
|
2660
2780
|
def plot_pole_dp_dm(map_axis, plon, plat, slon, slat, dp, dm, pole_label='pole', site_label='site',
|
|
2661
2781
|
pole_color='k', pole_edgecolor='k', pole_marker='o',
|
|
2662
2782
|
site_color='r', site_edgecolor='r', site_marker='s',
|
|
2663
|
-
markersize=20, legend=True, transform=
|
|
2783
|
+
markersize=20, legend=True, transform="PlateCarree"):
|
|
2664
2784
|
"""
|
|
2665
2785
|
This function plots a paleomagnetic pole and a dp/dm confidence ellipse on a cartopy map axis.
|
|
2666
2786
|
|
|
@@ -2683,11 +2803,12 @@ def plot_pole_dp_dm(map_axis, plon, plat, slon, slat, dp, dm, pole_label='pole',
|
|
|
2683
2803
|
pole_label : string that labels the pole.
|
|
2684
2804
|
site_label : string that labels the site
|
|
2685
2805
|
legend : the default is a legend (True). Putting False will suppress legend plotting.
|
|
2686
|
-
transform :
|
|
2687
|
-
|
|
2688
|
-
|
|
2689
|
-
|
|
2690
|
-
|
|
2806
|
+
transform : str or cartopy.crs.Projection, default "PlateCarree"
|
|
2807
|
+
The coordinate reference system used to interpret input coordinates.
|
|
2808
|
+
Can be a string ("PlateCarree" or "Geodetic") or a Cartopy CRS object
|
|
2809
|
+
(e.g., ccrs.PlateCarree()). If a string is provided, it will be
|
|
2810
|
+
internally mapped to the appropriate Cartopy transform. This parameter
|
|
2811
|
+
rarely needs to be changed, but "Geodetic" may help in certain projections.
|
|
2691
2812
|
|
|
2692
2813
|
Examples:
|
|
2693
2814
|
>>> dec = 280
|
|
@@ -2707,14 +2828,43 @@ def plot_pole_dp_dm(map_axis, plon, plat, slon, slat, dp, dm, pole_label='pole',
|
|
|
2707
2828
|
if not has_cartopy:
|
|
2708
2829
|
print('-W- cartopy must be installed to run ipmag.plot_pole_dp_dm')
|
|
2709
2830
|
return
|
|
2831
|
+
|
|
2832
|
+
transform_map = {
|
|
2833
|
+
"PlateCarree": ccrs.PlateCarree(),
|
|
2834
|
+
"Geodetic": ccrs.Geodetic(),
|
|
2835
|
+
}
|
|
2836
|
+
|
|
2837
|
+
if isinstance(transform, str):
|
|
2838
|
+
if transform not in transform_map:
|
|
2839
|
+
raise ValueError(f"Invalid transform '{transform}'. Choose from {list(transform_map)}.")
|
|
2840
|
+
transform_obj = transform_map[transform]
|
|
2841
|
+
else:
|
|
2842
|
+
transform_obj = transform
|
|
2843
|
+
|
|
2710
2844
|
dp_km = dp*111.32
|
|
2711
2845
|
dm_km = dm*111.32
|
|
2712
|
-
map_axis.scatter(
|
|
2713
|
-
|
|
2714
|
-
|
|
2715
|
-
|
|
2716
|
-
|
|
2717
|
-
|
|
2846
|
+
map_axis.scatter(
|
|
2847
|
+
plon,
|
|
2848
|
+
plat,
|
|
2849
|
+
marker=pole_marker,
|
|
2850
|
+
color=pole_color,
|
|
2851
|
+
edgecolors=pole_edgecolor,
|
|
2852
|
+
s=markersize,
|
|
2853
|
+
label=pole_label,
|
|
2854
|
+
zorder=101,
|
|
2855
|
+
transform=transform_obj,
|
|
2856
|
+
)
|
|
2857
|
+
map_axis.scatter(
|
|
2858
|
+
slon,
|
|
2859
|
+
slat,
|
|
2860
|
+
marker=site_marker,
|
|
2861
|
+
color=site_color,
|
|
2862
|
+
edgecolors=site_edgecolor,
|
|
2863
|
+
s=markersize,
|
|
2864
|
+
label=site_label,
|
|
2865
|
+
zorder=101,
|
|
2866
|
+
transform=transform_obj,
|
|
2867
|
+
)
|
|
2718
2868
|
# the orientation of the ellipse needs to be determined using the
|
|
2719
2869
|
# two laws of cosines for spherical triangles where the triangle is
|
|
2720
2870
|
# A: site, B: north pole, C: paleomagnetic pole (see Fig. A.2 of Butler)
|
|
@@ -2757,7 +2907,7 @@ def plot_pole_dp_dm(map_axis, plon, plat, slon, slat, dp, dm, pole_label='pole',
|
|
|
2757
2907
|
C_deg = np.abs(np.rad2deg(C_rad))
|
|
2758
2908
|
|
|
2759
2909
|
# print(C_deg)
|
|
2760
|
-
ellipse(map_axis, plon, plat, dp_km, dm_km, C_deg, color=pole_color, transform=
|
|
2910
|
+
ellipse(map_axis, plon, plat, dp_km, dm_km, C_deg, color=pole_color, transform=transform_obj)
|
|
2761
2911
|
|
|
2762
2912
|
if legend:
|
|
2763
2913
|
plt.legend(loc=2)
|
|
@@ -2816,7 +2966,7 @@ def plot_poles_colorbar(map_axis, plons, plats, A95s, colorvalues, vmin, vmax,
|
|
|
2816
2966
|
cmap=colormap, norm=plt.Normalize(vmin=vmin, vmax=vmax))
|
|
2817
2967
|
sm._A = []
|
|
2818
2968
|
plt.colorbar(sm, orientation='horizontal', shrink=0.8,
|
|
2819
|
-
pad=0.05, label=colorbar_label)
|
|
2969
|
+
pad=0.05, label=colorbar_label, ax=map_axis)
|
|
2820
2970
|
|
|
2821
2971
|
|
|
2822
2972
|
def plot_vgp(map_axis, vgp_lon=None, vgp_lat=None, di_block=None, label='', color='k', marker='o',
|
|
@@ -2850,13 +3000,13 @@ def plot_vgp(map_axis, vgp_lon=None, vgp_lat=None, di_block=None, label='', colo
|
|
|
2850
3000
|
if not has_cartopy:
|
|
2851
3001
|
print('-W- cartopy must be installed to run ipmag.plot_vgp')
|
|
2852
3002
|
return
|
|
2853
|
-
if di_block
|
|
3003
|
+
if di_block is not None:
|
|
2854
3004
|
di_lists = unpack_di_block(di_block)
|
|
2855
3005
|
if len(di_lists) == 3:
|
|
2856
3006
|
vgp_lon, vgp_lat, intensity = di_lists
|
|
2857
3007
|
if len(di_lists) == 2:
|
|
2858
3008
|
vgp_lon, vgp_lat = di_lists
|
|
2859
|
-
if edge
|
|
3009
|
+
if edge is None:
|
|
2860
3010
|
map_axis.scatter(vgp_lon, vgp_lat, marker=marker, edgecolors=None,
|
|
2861
3011
|
s=markersize, color=color, label=label, zorder=zorder,
|
|
2862
3012
|
alpha=alpha, transform=ccrs.PlateCarree())
|
|
@@ -3155,6 +3305,9 @@ def plot_distributions(ax, lon_samples, lat_samples, to_plot='d', resolution=100
|
|
|
3155
3305
|
resolution: the resolution at which to plot the distributions
|
|
3156
3306
|
kwargs: other keyword arguments inherited from matplotlib
|
|
3157
3307
|
'''
|
|
3308
|
+
if not has_cartopy:
|
|
3309
|
+
print('-W- cartopy must be installed to run ipmag.plot_distributions')
|
|
3310
|
+
return
|
|
3158
3311
|
cmap=kwargs.get('cmap', 'viridis')
|
|
3159
3312
|
|
|
3160
3313
|
artists = []
|
|
@@ -3204,10 +3357,10 @@ def make_di_block(dec, inc, unit_vector=True):
|
|
|
3204
3357
|
[[180.3, 12.1, 1.0], [179.2, 13.7, 1.0], [177.2, 11.9, 1.0]]
|
|
3205
3358
|
"""
|
|
3206
3359
|
di_block = []
|
|
3207
|
-
if unit_vector
|
|
3360
|
+
if unit_vector:
|
|
3208
3361
|
for n in range(0, len(dec)):
|
|
3209
3362
|
di_block.append([dec[n], inc[n], 1.0])
|
|
3210
|
-
if unit_vector
|
|
3363
|
+
if not unit_vector:
|
|
3211
3364
|
for n in range(0, len(dec)):
|
|
3212
3365
|
di_block.append([dec[n], inc[n]])
|
|
3213
3366
|
return di_block
|
|
@@ -3401,14 +3554,14 @@ def equi(map_axis, centerlon, centerlat, radius, color, alpha=1.0, outline=True,
|
|
|
3401
3554
|
Y = Y[::-1]
|
|
3402
3555
|
|
|
3403
3556
|
# for non-filled ellipses
|
|
3404
|
-
if fill
|
|
3557
|
+
if not fill:
|
|
3405
3558
|
plt.plot(X, Y, color=color,
|
|
3406
3559
|
transform=ccrs.Geodetic(), alpha=alpha, lw=lw)
|
|
3407
3560
|
|
|
3408
3561
|
# for filled ellipses
|
|
3409
3562
|
else:
|
|
3410
3563
|
XY = np.stack([X,Y],axis=1)
|
|
3411
|
-
if outline
|
|
3564
|
+
if outline:
|
|
3412
3565
|
circle_edge = Polygon(XY,
|
|
3413
3566
|
edgecolor=color,facecolor='none',
|
|
3414
3567
|
transform=ccrs.Geodetic())
|
|
@@ -3442,7 +3595,7 @@ def ellipse(map_axis, centerlon, centerlat, major_axis, minor_axis, angle, n=360
|
|
|
3442
3595
|
The map object with the ellipse plotted on it
|
|
3443
3596
|
|
|
3444
3597
|
"""
|
|
3445
|
-
if transform
|
|
3598
|
+
if transform is None:
|
|
3446
3599
|
transform=ccrs.PlateCarree()
|
|
3447
3600
|
if not has_cartopy:
|
|
3448
3601
|
print('-W- cartopy must be installed to run ipmag.ellipse')
|
|
@@ -3470,8 +3623,10 @@ def ellipse(map_axis, centerlon, centerlat, major_axis, minor_axis, angle, n=360
|
|
|
3470
3623
|
map_axis.add_patch(poly)
|
|
3471
3624
|
else:
|
|
3472
3625
|
try:
|
|
3473
|
-
if "facecolor" in kwargs:
|
|
3474
|
-
|
|
3626
|
+
if "facecolor" in kwargs:
|
|
3627
|
+
kwargs["color"] = kwargs.pop("facecolor")
|
|
3628
|
+
if "edgecolor" in kwargs:
|
|
3629
|
+
kwargs["color"] = kwargs.pop("edgecolor")
|
|
3475
3630
|
map_axis.plot(X, Y, transform=transform, **kwargs)
|
|
3476
3631
|
return True
|
|
3477
3632
|
except ValueError:
|
|
@@ -3511,7 +3666,7 @@ def combine_magic(filenames, outfile='measurements.txt', data_model=3, magic_tab
|
|
|
3511
3666
|
magic_table))
|
|
3512
3667
|
return False
|
|
3513
3668
|
# figure out file type from first of files to join
|
|
3514
|
-
with open(filenames[0]) as f:
|
|
3669
|
+
with open(filenames[0], encoding="utf-8") as f:
|
|
3515
3670
|
file_type = f.readline().split()[1]
|
|
3516
3671
|
if file_type in ['er_specimens', 'er_samples', 'er_sites',
|
|
3517
3672
|
'er_locations', 'er_ages', 'pmag_specimens',
|
|
@@ -4051,8 +4206,10 @@ def ani_depthplot(spec_file='specimens.txt', samp_file='samples.txt',
|
|
|
4051
4206
|
for depth in depths:
|
|
4052
4207
|
if depth >= dmin and depth < dmax:
|
|
4053
4208
|
plt.axhline(depth,color='blue',linestyle='dotted')
|
|
4054
|
-
if tau_min>.3:
|
|
4055
|
-
|
|
4209
|
+
if tau_min>.3:
|
|
4210
|
+
tau_min=.3
|
|
4211
|
+
if tau_max<.36:
|
|
4212
|
+
tau_max=.36
|
|
4056
4213
|
ax.axis([tau_min, tau_max, dmax, dmin])
|
|
4057
4214
|
ax.set_xlabel('Eigenvalues')
|
|
4058
4215
|
if depth_scale == 'core_depth':
|
|
@@ -4238,7 +4395,8 @@ def core_depthplot(input_dir_path='.', meas_file='measurements.txt', spc_file=''
|
|
|
4238
4395
|
if spc_size:
|
|
4239
4396
|
spc_size = int(spc_size)
|
|
4240
4397
|
title = ""
|
|
4241
|
-
if location:
|
|
4398
|
+
if location:
|
|
4399
|
+
title=location
|
|
4242
4400
|
|
|
4243
4401
|
# file formats not supported for the moment
|
|
4244
4402
|
ngr_file = "" # nothing needed, not implemented fully in original script
|
|
@@ -4428,7 +4586,7 @@ def core_depthplot(input_dir_path='.', meas_file='measurements.txt', spc_file=''
|
|
|
4428
4586
|
if sum_file:
|
|
4429
4587
|
# os.path.join(input_dir_path, sum_file)
|
|
4430
4588
|
sum_file = pmag.resolve_file_name(sum_file, input_dir_path)
|
|
4431
|
-
with open(sum_file, 'r') as fin:
|
|
4589
|
+
with open(sum_file, 'r', encoding="utf-8") as fin:
|
|
4432
4590
|
indat = fin.readlines()
|
|
4433
4591
|
if "Core Summary" in indat[0]:
|
|
4434
4592
|
headline = 1
|
|
@@ -4992,8 +5150,8 @@ def download_magic(infile=None, dir_path='.', input_dir_path='',
|
|
|
4992
5150
|
table_dicts=table.to_dict('records')
|
|
4993
5151
|
outfile = os.path.join(dir_path, sheet + '.txt')
|
|
4994
5152
|
pmag.magic_write(outfile,table_dicts,sheet)
|
|
4995
|
-
except:
|
|
4996
|
-
print ('sheet not found '
|
|
5153
|
+
except Exception as ex:
|
|
5154
|
+
print (f'sheet not found {sheet}: {ex}')
|
|
4997
5155
|
return
|
|
4998
5156
|
|
|
4999
5157
|
# try to deal reasonably with unicode errors
|
|
@@ -5146,7 +5304,7 @@ def download_magic(infile=None, dir_path='.', input_dir_path='',
|
|
|
5146
5304
|
locnum += 1
|
|
5147
5305
|
try:
|
|
5148
5306
|
os.mkdir(lpath)
|
|
5149
|
-
except:
|
|
5307
|
+
except FileExistsError:
|
|
5150
5308
|
print('directory ', lpath,
|
|
5151
5309
|
' already exists - overwriting everything: {}'.format(overwrite))
|
|
5152
5310
|
if not overwrite:
|
|
@@ -5195,7 +5353,7 @@ def download_magic_from_id(magic_id, directory='.', share_key=""):
|
|
|
5195
5353
|
out_path = os.path.join(directory, file_name)
|
|
5196
5354
|
|
|
5197
5355
|
# Define API endpoint
|
|
5198
|
-
api =
|
|
5356
|
+
api = 'https://api.earthref.org/v1/MagIC/data'
|
|
5199
5357
|
params = {'id': magic_id, 'key': share_key} if share_key else {'id': magic_id}
|
|
5200
5358
|
|
|
5201
5359
|
# Perform the request
|
|
@@ -5203,7 +5361,7 @@ def download_magic_from_id(magic_id, directory='.', share_key=""):
|
|
|
5203
5361
|
|
|
5204
5362
|
if response.status_code == 200 and response.text:
|
|
5205
5363
|
# Write the content to the file only if the request was successful and the content is not empty
|
|
5206
|
-
with open(out_path, 'w') as file:
|
|
5364
|
+
with open(out_path, 'w', encoding="utf-8") as file:
|
|
5207
5365
|
file.write(response.text)
|
|
5208
5366
|
print("Download successful. File saved to:", out_path)
|
|
5209
5367
|
return True, file_name
|
|
@@ -5245,7 +5403,7 @@ def download_magic_from_doi(doi):
|
|
|
5245
5403
|
for filename in contribution_zip.namelist():
|
|
5246
5404
|
if (re.match(r'^\d+\/magic_contribution_\d+\.txt', filename)):
|
|
5247
5405
|
contribution_text = io.TextIOWrapper(contribution_zip.open(filename)).read()
|
|
5248
|
-
with open('magic_contribution.txt', 'wt') as fh:
|
|
5406
|
+
with open('magic_contribution.txt', 'wt', encoding="utf-8") as fh:
|
|
5249
5407
|
fh.write(contribution_text)
|
|
5250
5408
|
print(filename, 'extracted to magic_contribution.txt', '\n')
|
|
5251
5409
|
return True, ""
|
|
@@ -5373,7 +5531,7 @@ def upload_magic2(concat=0, dir_path='.', data_model=None):
|
|
|
5373
5531
|
# (this causes validation errors, elsewise)
|
|
5374
5532
|
ignore = True
|
|
5375
5533
|
for rec in Data:
|
|
5376
|
-
if ignore
|
|
5534
|
+
if not ignore:
|
|
5377
5535
|
break
|
|
5378
5536
|
keys = list(rec.keys())
|
|
5379
5537
|
exclude_keys = ['er_citation_names', 'er_site_name', 'er_sample_name',
|
|
@@ -5772,7 +5930,8 @@ def create_private_contribution(username="",password=""):
|
|
|
5772
5930
|
response['url']=create_response.request.url
|
|
5773
5931
|
response['id']='None'
|
|
5774
5932
|
response['errors']=create_response.json()['errors'][0]['message']
|
|
5775
|
-
except:
|
|
5933
|
+
except Exception as e:
|
|
5934
|
+
print("Error creating private contribution:", e)
|
|
5776
5935
|
pass
|
|
5777
5936
|
return response
|
|
5778
5937
|
|
|
@@ -5821,7 +5980,8 @@ def delete_private_contribution(contribution_id,username="",password=""):
|
|
|
5821
5980
|
response['url']=delete_response.request.url
|
|
5822
5981
|
response['id']='None'
|
|
5823
5982
|
response['errors']=delete_response.json()['errors'][0]['message']
|
|
5824
|
-
except:
|
|
5983
|
+
except Exception as e:
|
|
5984
|
+
print("Error deleting private contribution:", e)
|
|
5825
5985
|
pass
|
|
5826
5986
|
return response
|
|
5827
5987
|
|
|
@@ -5859,7 +6019,7 @@ def upload_to_private_contribution(contribution_id, upload_file,username="",pass
|
|
|
5859
6019
|
response['method']='PUT'
|
|
5860
6020
|
response['upload_file']=upload_file
|
|
5861
6021
|
try:
|
|
5862
|
-
with open(upload_file, 'rb') as f:
|
|
6022
|
+
with open(upload_file, 'rb', encoding="utf-8") as f:
|
|
5863
6023
|
upload_response = requests.put(api.format('private'),
|
|
5864
6024
|
params={'id':contribution_id},
|
|
5865
6025
|
auth=(username, password),
|
|
@@ -5873,8 +6033,8 @@ def upload_to_private_contribution(contribution_id, upload_file,username="",pass
|
|
|
5873
6033
|
response['status_code']=False
|
|
5874
6034
|
response['url']=upload_response.request.url
|
|
5875
6035
|
#response['errors']=upload_response.json()['errors'][0]['message']
|
|
5876
|
-
except:
|
|
5877
|
-
print ('trouble uploading:')
|
|
6036
|
+
except Exception as e:
|
|
6037
|
+
print ('trouble uploading:', e)
|
|
5878
6038
|
print (upload_response.json()['errors'])
|
|
5879
6039
|
return response
|
|
5880
6040
|
|
|
@@ -5923,7 +6083,8 @@ def validate_private_contribution(contribution_id,username="",password="",verbos
|
|
|
5923
6083
|
response['errors']='None'
|
|
5924
6084
|
errors_dict=json.loads(create_response.text)
|
|
5925
6085
|
response['validation_results']=errors_dict['validation']['errors']
|
|
5926
|
-
if verbose:
|
|
6086
|
+
if verbose:
|
|
6087
|
+
print('Validated contribution with ID', contribution_id, ':\n', response['validation_results'])
|
|
5927
6088
|
else:
|
|
5928
6089
|
response['status_code']=False
|
|
5929
6090
|
response['url']=create_response.request.url
|
|
@@ -5931,8 +6092,8 @@ def validate_private_contribution(contribution_id,username="",password="",verbos
|
|
|
5931
6092
|
response['validation_results']='None'
|
|
5932
6093
|
print('A private contribution with ID', contribution_id,
|
|
5933
6094
|
' could not be found in your private workspace for validation\n')
|
|
5934
|
-
except:
|
|
5935
|
-
print ('trouble validating:')
|
|
6095
|
+
except Exception as e:
|
|
6096
|
+
print ('trouble validating:', e)
|
|
5936
6097
|
return response
|
|
5937
6098
|
|
|
5938
6099
|
|
|
@@ -5991,7 +6152,7 @@ def specimens_results_magic(infile='pmag_specimens.txt', measfile='magic_measure
|
|
|
5991
6152
|
else:
|
|
5992
6153
|
nositeints = 1
|
|
5993
6154
|
|
|
5994
|
-
#
|
|
6155
|
+
# change these all to True/False instead of 1/0
|
|
5995
6156
|
|
|
5996
6157
|
if not skip_intensities:
|
|
5997
6158
|
# set model lat and
|
|
@@ -6016,7 +6177,7 @@ def specimens_results_magic(infile='pmag_specimens.txt', measfile='magic_measure
|
|
|
6016
6177
|
ModelLat["sample_lat"] = tmp[1]
|
|
6017
6178
|
ModelLats.append(ModelLat)
|
|
6018
6179
|
mlat.clos()
|
|
6019
|
-
except:
|
|
6180
|
+
except FileNotFoundError:
|
|
6020
6181
|
print("use_paleolatitude option requires a valid paleolatitude file")
|
|
6021
6182
|
else:
|
|
6022
6183
|
get_model_lat = 0 # skips VADM calculation entirely
|
|
@@ -6912,8 +7073,8 @@ def orientation_magic(or_con=1, dec_correction_con=1, dec_correction=0, bed_corr
|
|
|
6912
7073
|
ImageRecs.append(map_magic.mapping(
|
|
6913
7074
|
image_rec, map_magic.image_magic3_2_magic2_map))
|
|
6914
7075
|
print('image data to be appended to: ', image_file)
|
|
6915
|
-
except:
|
|
6916
|
-
print('problem with existing file: ',
|
|
7076
|
+
except Exception as e:
|
|
7077
|
+
print('problem', e, ' with existing file: ',
|
|
6917
7078
|
image_file, ' will create new.')
|
|
6918
7079
|
#
|
|
6919
7080
|
# read in file to convert
|
|
@@ -7494,8 +7655,8 @@ def azdip_magic(orient_file='orient.txt', samp_file="samples.txt", samp_con="1",
|
|
|
7494
7655
|
try:
|
|
7495
7656
|
SampRecs, file_type = pmag.magic_read(samp_file)
|
|
7496
7657
|
print("sample data to be appended to: ", samp_file)
|
|
7497
|
-
except:
|
|
7498
|
-
print('problem with existing samp file
|
|
7658
|
+
except Exception as e:
|
|
7659
|
+
print('problem: ', e, ' with existing samp file',
|
|
7499
7660
|
samp_file, ' will create new')
|
|
7500
7661
|
#
|
|
7501
7662
|
# read in file to convert
|
|
@@ -7631,7 +7792,7 @@ class Site(object):
|
|
|
7631
7792
|
os.path.join
|
|
7632
7793
|
self.file_names = []
|
|
7633
7794
|
for file_name in self.all_file_names:
|
|
7634
|
-
if re.match('.*txt', file_name)
|
|
7795
|
+
if re.match('.*txt', file_name) is not None:
|
|
7635
7796
|
self.file_names.append(file_name)
|
|
7636
7797
|
for i in self.file_names:
|
|
7637
7798
|
path_to_open = os.path.join(dir_name, i)
|
|
@@ -7651,9 +7812,9 @@ class Site(object):
|
|
|
7651
7812
|
#self.er_sites_path = er_sites_path
|
|
7652
7813
|
if self.data_format == "MagIC":
|
|
7653
7814
|
self.fits = pd.read_csv(self.data_path, sep="\t", skiprows=1)
|
|
7654
|
-
if self.mean_path
|
|
7815
|
+
if self.mean_path is not None:
|
|
7655
7816
|
self.means = pd.read_csv(self.mean_path, sep="\t", skiprows=1)
|
|
7656
|
-
if self.er_sites_path
|
|
7817
|
+
if self.er_sites_path is not None:
|
|
7657
7818
|
self.location = pd.read_csv(
|
|
7658
7819
|
self.er_sites_path, sep="\t", skiprows=1)
|
|
7659
7820
|
else:
|
|
@@ -7663,7 +7824,7 @@ class Site(object):
|
|
|
7663
7824
|
self.lon = float(self.location.site_lon)
|
|
7664
7825
|
# the following exception won't be necessary if parse_all_fits is
|
|
7665
7826
|
# working properly
|
|
7666
|
-
if self.mean_path
|
|
7827
|
+
if self.mean_path is None:
|
|
7667
7828
|
raise Exception(
|
|
7668
7829
|
'Make fisher means within the demag GUI - functionality for handling this is in progress')
|
|
7669
7830
|
|
|
@@ -7695,7 +7856,7 @@ class Site(object):
|
|
|
7695
7856
|
|
|
7696
7857
|
def get_fisher_mean(self, fit_name):
|
|
7697
7858
|
mean_name = str(fit_name) + "_mean"
|
|
7698
|
-
if self.mean_path
|
|
7859
|
+
if self.mean_path is not None:
|
|
7699
7860
|
self.fisher_dict = {'dec': float(getattr(self, mean_name).site_dec),
|
|
7700
7861
|
'inc': float(getattr(self, mean_name).site_inc),
|
|
7701
7862
|
'alpha95': float(getattr(self, mean_name).site_alpha95),
|
|
@@ -7757,7 +7918,7 @@ class Site(object):
|
|
|
7757
7918
|
float(getattr(self, mean_code).site_alpha95),
|
|
7758
7919
|
color=self.random_color, marker='s', label=fits + ' mean')
|
|
7759
7920
|
plt.legend(**kwargs)
|
|
7760
|
-
if title
|
|
7921
|
+
if title is not None:
|
|
7761
7922
|
plt.title(title)
|
|
7762
7923
|
plt.show()
|
|
7763
7924
|
|
|
@@ -7777,7 +7938,7 @@ class Site(object):
|
|
|
7777
7938
|
float(getattr(self, mean_code).site_inc),
|
|
7778
7939
|
float(getattr(self, mean_code).site_alpha95), marker='s', label=fit_name + ' mean')
|
|
7779
7940
|
plt.legend(**kwargs)
|
|
7780
|
-
if title
|
|
7941
|
+
if title is not None:
|
|
7781
7942
|
plt.title(title)
|
|
7782
7943
|
plt.show()
|
|
7783
7944
|
|
|
@@ -8026,7 +8187,7 @@ def smooth(x, window_len, window='bartlett'):
|
|
|
8026
8187
|
return x
|
|
8027
8188
|
|
|
8028
8189
|
# numpy available windows
|
|
8029
|
-
if not
|
|
8190
|
+
if window not in ['flat', 'hanning', 'hamming', 'bartlett', 'blackman']:
|
|
8030
8191
|
raise ValueError(
|
|
8031
8192
|
"Window is on of 'flat', 'hanning', 'hamming', 'bartlett', 'blackman'")
|
|
8032
8193
|
|
|
@@ -8216,8 +8377,8 @@ def curie(path_to_file='.', file_name='', magic=False,
|
|
|
8216
8377
|
try:
|
|
8217
8378
|
plt.figure(num=PLT[key])
|
|
8218
8379
|
plt.savefig(save_folder + '/' + files[key].replace('/', '-'))
|
|
8219
|
-
except:
|
|
8220
|
-
print('could not save: ', PLT[key], files[key])
|
|
8380
|
+
except Exception as e:
|
|
8381
|
+
print('could not save: ', PLT[key], files[key], ' because', e)
|
|
8221
8382
|
print("output file format not supported ")
|
|
8222
8383
|
plt.show()
|
|
8223
8384
|
|
|
@@ -8255,8 +8416,8 @@ def chi_magic2(path_to_file='.', file_name='magic_measurements.txt',
|
|
|
8255
8416
|
if EXP != "":
|
|
8256
8417
|
try:
|
|
8257
8418
|
k = experiment_names.index(EXP)
|
|
8258
|
-
except:
|
|
8259
|
-
print("Bad experiment name")
|
|
8419
|
+
except Exception as e:
|
|
8420
|
+
print("Bad experiment name:", e)
|
|
8260
8421
|
sys.exit()
|
|
8261
8422
|
while k < len(experiment_names):
|
|
8262
8423
|
e = experiment_names[k]
|
|
@@ -8343,8 +8504,8 @@ def chi_magic2(path_to_file='.', file_name='magic_measurements.txt',
|
|
|
8343
8504
|
plt.figure(num=PLTS[key])
|
|
8344
8505
|
plt.savefig(save_folder + '/' +
|
|
8345
8506
|
files[key].replace('/', '-'))
|
|
8346
|
-
except:
|
|
8347
|
-
print('could not save: ', PLTS[key], files[key])
|
|
8507
|
+
except Exception as e:
|
|
8508
|
+
print('could not save: ', PLTS[key], files[key], ' because', e)
|
|
8348
8509
|
print("output file format not supported ")
|
|
8349
8510
|
|
|
8350
8511
|
|
|
@@ -8764,7 +8925,7 @@ def demag_magic(path_to_file='.', file_name='magic_measurements.txt',
|
|
|
8764
8925
|
elif plot_by == 'spc':
|
|
8765
8926
|
plot_key = 'er_specimen_name'
|
|
8766
8927
|
|
|
8767
|
-
if treat
|
|
8928
|
+
if treat is not None:
|
|
8768
8929
|
LT = 'LT-' + treat + '-Z' # get lab treatment for plotting
|
|
8769
8930
|
if LT == 'LT-T-Z':
|
|
8770
8931
|
units, dmag_key = 'K', 'treatment_temp'
|
|
@@ -8815,7 +8976,7 @@ def demag_magic(path_to_file='.', file_name='magic_measurements.txt',
|
|
|
8815
8976
|
int_key = IntMeths[0]
|
|
8816
8977
|
# print plotlist
|
|
8817
8978
|
if individual is not None:
|
|
8818
|
-
if
|
|
8979
|
+
if isinstance(individual, (list, tuple)):
|
|
8819
8980
|
plotlist = list(individual)
|
|
8820
8981
|
else:
|
|
8821
8982
|
plotlist = []
|
|
@@ -8979,7 +9140,8 @@ def iplot_hys(fignum, B, M, s):
|
|
|
8979
9140
|
poly = polyfit(Baz, Maz, 1)
|
|
8980
9141
|
Bac = -poly[1]/poly[0] # x intercept
|
|
8981
9142
|
hpars['hysteresis_bc'] = '%8.3e' % (0.5 * (abs(Bc) + abs(Bac)))
|
|
8982
|
-
except:
|
|
9143
|
+
except Exception as e:
|
|
9144
|
+
print("cannot compute Bc:", e)
|
|
8983
9145
|
hpars['hysteresis_bc'] = '0'
|
|
8984
9146
|
return hpars, deltaM, Bdm, B, Mnorm, MadjN
|
|
8985
9147
|
|
|
@@ -9163,8 +9325,8 @@ def hysteresis_magic2(path_to_file='.', hyst_file="rmag_hysteresis.txt",
|
|
|
9163
9325
|
ax4.axvline(0, color='k')
|
|
9164
9326
|
ax4.set_xlabel('B (T)')
|
|
9165
9327
|
ax4.set_ylabel('M/Mr')
|
|
9166
|
-
except:
|
|
9167
|
-
print("
|
|
9328
|
+
except Exception as e:
|
|
9329
|
+
print("Processing skipped because:", e)
|
|
9168
9330
|
hpars['hysteresis_bcr'] = '0'
|
|
9169
9331
|
hpars['magic_method_codes'] = ""
|
|
9170
9332
|
plt.gcf()
|
|
@@ -9214,10 +9376,10 @@ def find_ei(data, nb=1000, save=False, save_folder='.', fmt='svg',
|
|
|
9214
9376
|
|
|
9215
9377
|
Returns:
|
|
9216
9378
|
- equal area plot of original directions
|
|
9217
|
-
- Elongation/inclination pairs as a function of f, data plus
|
|
9379
|
+
- Elongation/inclination pairs as a function of f, data plus num_resample_to_plot bootstrap samples
|
|
9218
9380
|
- Cumulative distribution of bootstrapped optimal inclinations plus uncertainties.
|
|
9219
9381
|
Estimate from original data set plotted as solid line
|
|
9220
|
-
- Orientation of
|
|
9382
|
+
- Orientation of principal direction through unflattening
|
|
9221
9383
|
|
|
9222
9384
|
NOTE:
|
|
9223
9385
|
If distribution does not have a solution, plot labeled: Pathological. Some bootstrap samples may have
|
|
@@ -9227,7 +9389,6 @@ def find_ei(data, nb=1000, save=False, save_folder='.', fmt='svg',
|
|
|
9227
9389
|
print("")
|
|
9228
9390
|
sys.stdout.flush()
|
|
9229
9391
|
|
|
9230
|
-
upper, lower = int(round(.975 * nb)), int(round(.025 * nb))
|
|
9231
9392
|
E, I = [], []
|
|
9232
9393
|
plt.figure(num=1, figsize=(4, 4))
|
|
9233
9394
|
plot_net(1)
|
|
@@ -9278,19 +9439,19 @@ def find_ei(data, nb=1000, save=False, save_folder='.', fmt='svg',
|
|
|
9278
9439
|
for i in I:
|
|
9279
9440
|
Eexp.append(pmag.EI(i))
|
|
9280
9441
|
plt.plot(I, Eexp, 'k')
|
|
9442
|
+
|
|
9443
|
+
i_lo, i_hi = np.quantile(I, [0.025, 0.975])
|
|
9281
9444
|
if Inc == 0:
|
|
9282
|
-
title = 'Pathological Distribution: ' + \
|
|
9283
|
-
'[%7.1f, %7.1f]' % (I[lower], I[upper])
|
|
9284
9445
|
title = 'Pathological Distribution: '
|
|
9285
9446
|
else:
|
|
9286
|
-
title = '%7.1f [%7.1f, %7.1f]' % (Inc,
|
|
9447
|
+
title = '%7.1f [%7.1f, %7.1f]' % (Inc, i_lo, i_hi)
|
|
9287
9448
|
if save:
|
|
9288
9449
|
plt.savefig(save_folder+'/'+figprefix+'_EI_bootstraps'+'.'+fmt, bbox_inches='tight', dpi=300)
|
|
9289
9450
|
|
|
9290
9451
|
cdf_fig_num = 3
|
|
9291
9452
|
plt.figure(num=cdf_fig_num, figsize=(4, 4))
|
|
9292
9453
|
pmagplotlib.plot_cdf(cdf_fig_num, I, r'inclination ($^\circ$)', 'r', title)
|
|
9293
|
-
pmagplotlib.plot_vs(cdf_fig_num, [
|
|
9454
|
+
pmagplotlib.plot_vs(cdf_fig_num, [i_lo, i_hi], 'b', '--')
|
|
9294
9455
|
pmagplotlib.plot_vs(cdf_fig_num, [Inc], 'g', '-')
|
|
9295
9456
|
pmagplotlib.plot_vs(cdf_fig_num, [Io], 'k', '-')
|
|
9296
9457
|
if save:
|
|
@@ -9323,11 +9484,11 @@ def find_ei(data, nb=1000, save=False, save_folder='.', fmt='svg',
|
|
|
9323
9484
|
print("")
|
|
9324
9485
|
print("The corrected inclination is: " + str(np.round(Inc,2)))
|
|
9325
9486
|
print("with bootstrapped confidence bounds of: " +
|
|
9326
|
-
str(np.round(
|
|
9487
|
+
str(np.round(i_lo,2)) + ' to ' + str(np.round(i_hi,2)))
|
|
9327
9488
|
print("and elongation parameter of: " + str(np.round(Elong,2)))
|
|
9328
9489
|
print("The flattening factor is: " + str(np.round(flat_f,2)))
|
|
9329
|
-
f_lower = np.tan(np.deg2rad(Io))/np.tan(np.deg2rad(
|
|
9330
|
-
f_upper = np.tan(np.deg2rad(Io))/np.tan(np.deg2rad(
|
|
9490
|
+
f_lower = np.tan(np.deg2rad(Io))/np.tan(np.deg2rad(i_lo))
|
|
9491
|
+
f_upper = np.tan(np.deg2rad(Io))/np.tan(np.deg2rad(i_hi))
|
|
9331
9492
|
print("with bootstrapped confidence bounds of: " +
|
|
9332
9493
|
str(np.round(f_lower,2)) + ' to ' + str(np.round(f_upper,2)))
|
|
9333
9494
|
|
|
@@ -9343,6 +9504,7 @@ def find_ei(data, nb=1000, save=False, save_folder='.', fmt='svg',
|
|
|
9343
9504
|
else:
|
|
9344
9505
|
return
|
|
9345
9506
|
|
|
9507
|
+
|
|
9346
9508
|
def find_ei_kent(data, site_latitude, site_longitude, kent_color='k', nb=1000, save=False, save_folder='.', fmt='svg',
|
|
9347
9509
|
return_new_dirs=False, return_values=False, figprefix='EI',
|
|
9348
9510
|
num_resample_to_plot=1000, EI_color='r', resample_EI_color='grey', resample_EI_alpha=0.05,
|
|
@@ -9399,7 +9561,6 @@ def find_ei_kent(data, site_latitude, site_longitude, kent_color='k', nb=1000, s
|
|
|
9399
9561
|
print("")
|
|
9400
9562
|
sys.stdout.flush()
|
|
9401
9563
|
|
|
9402
|
-
upper, lower = int(round(.975 * nb)), int(round(.025 * nb))
|
|
9403
9564
|
E, I = [], []
|
|
9404
9565
|
|
|
9405
9566
|
ppars = pmag.doprinc(data)
|
|
@@ -9438,17 +9599,19 @@ def find_ei_kent(data, site_latitude, site_longitude, kent_color='k', nb=1000, s
|
|
|
9438
9599
|
for i in I:
|
|
9439
9600
|
Eexp.append(pmag.EI(i))
|
|
9440
9601
|
plt.plot(I, Eexp, 'k')
|
|
9602
|
+
|
|
9603
|
+
i_lo, i_hi = np.quantile(I, [0.025, 0.975])
|
|
9441
9604
|
if Inc == 0:
|
|
9442
9605
|
title = 'Pathological Distribution: ' + \
|
|
9443
|
-
'[%7.1f, %7.1f]' % (
|
|
9606
|
+
'[%7.1f, %7.1f]' % (i_lo, i_hi)
|
|
9444
9607
|
else:
|
|
9445
|
-
title = '%7.1f [%7.1f, %7.1f]' % (Inc,
|
|
9608
|
+
title = '%7.1f [%7.1f, %7.1f]' % (Inc, i_lo, i_hi)
|
|
9446
9609
|
if save:
|
|
9447
9610
|
plt.savefig(save_folder+'/'+figprefix+'_bootstraps'+'.'+fmt, bbox_inches='tight', dpi=300)
|
|
9448
9611
|
|
|
9449
9612
|
plt.figure(figsize=(4, 4))
|
|
9450
9613
|
pmagplotlib.plot_cdf(2, I, r'inclination ($^\circ$)', 'r', title)
|
|
9451
|
-
pmagplotlib.plot_vs(2, [
|
|
9614
|
+
pmagplotlib.plot_vs(2, [i_lo, i_hi], 'b', '--')
|
|
9452
9615
|
pmagplotlib.plot_vs(2, [Inc], 'g', '-')
|
|
9453
9616
|
pmagplotlib.plot_vs(2, [Io], 'k', '-')
|
|
9454
9617
|
if save:
|
|
@@ -9532,11 +9695,11 @@ def find_ei_kent(data, site_latitude, site_longitude, kent_color='k', nb=1000, s
|
|
|
9532
9695
|
print("")
|
|
9533
9696
|
print("The corrected inclination is: " + str(np.round(Inc,2)))
|
|
9534
9697
|
print("with bootstrapped confidence bounds of: " +
|
|
9535
|
-
str(np.round(
|
|
9698
|
+
str(np.round(i_lo,2)) + ' to ' + str(np.round(i_hi,2)))
|
|
9536
9699
|
print("and elongation parameter of: " + str(np.round(Elong,2)))
|
|
9537
9700
|
print("The flattening factor is: " + str(np.round(flat_f,2)))
|
|
9538
|
-
f_lower = np.tan(np.deg2rad(Io))/np.tan(np.deg2rad(
|
|
9539
|
-
f_upper = np.tan(np.deg2rad(Io))/np.tan(np.deg2rad(
|
|
9701
|
+
f_lower = np.tan(np.deg2rad(Io))/np.tan(np.deg2rad(i_lo))
|
|
9702
|
+
f_upper = np.tan(np.deg2rad(Io))/np.tan(np.deg2rad(i_hi))
|
|
9540
9703
|
print("with bootstrapped confidence bounds of: " +
|
|
9541
9704
|
str(np.round(f_lower,2)) + ' to ' + str(np.round(f_upper,2)))
|
|
9542
9705
|
print("")
|
|
@@ -9685,6 +9848,194 @@ def find_compilation_kent(plon, plat, A95, slon, slat,
|
|
|
9685
9848
|
if len(results) == 1:
|
|
9686
9849
|
return results[0]
|
|
9687
9850
|
return tuple(results)
|
|
9851
|
+
|
|
9852
|
+
|
|
9853
|
+
def find_svei_kent(
|
|
9854
|
+
di_block,
|
|
9855
|
+
site_latitude,
|
|
9856
|
+
site_longitude,
|
|
9857
|
+
f_low,
|
|
9858
|
+
f_high,
|
|
9859
|
+
kent_color="k",
|
|
9860
|
+
n=1000,
|
|
9861
|
+
save=False,
|
|
9862
|
+
save_folder=".",
|
|
9863
|
+
figprefix="SVEI",
|
|
9864
|
+
fmt="svg",
|
|
9865
|
+
return_poles=False,
|
|
9866
|
+
return_kent_stats=True,
|
|
9867
|
+
return_paleolats=False,
|
|
9868
|
+
vgp_nb=100,
|
|
9869
|
+
cmap="viridis_r",
|
|
9870
|
+
central_longitude=0,
|
|
9871
|
+
central_latitude=0,
|
|
9872
|
+
):
|
|
9873
|
+
"""
|
|
9874
|
+
Uses a uniform distribution of flattening factors (f) derived from the SVEI analysis
|
|
9875
|
+
of Tauxe et al. (2024) to correct inclination shallowing in sedimentary paleomagnetic
|
|
9876
|
+
data and quantify uncertainty in the resulting mean pole using a Kent distribution.
|
|
9877
|
+
|
|
9878
|
+
The f values are sampled uniformly from a user-defined interval (`f_low`, `f_high`)
|
|
9879
|
+
that should be determined in advance using the `find_flat` function of the SVEI
|
|
9880
|
+
module (Tauxe et al., 2024), which identifies the range of flattening factors
|
|
9881
|
+
consistent with the THG24 geomagnetic field model.
|
|
9882
|
+
|
|
9883
|
+
For each sampled f, the directions are "unflattened" using the tangent transformation,
|
|
9884
|
+
converted to VGPs, and resampled with a Fisher distribution. The resulting distribution
|
|
9885
|
+
of mean poles is summarized with a Kent distribution. Plots of corrected directions,
|
|
9886
|
+
paleolatitudes, and resampled poles are optionally generated and saved.
|
|
9887
|
+
|
|
9888
|
+
Parameters:
|
|
9889
|
+
di_block : list or array-like (a di block)
|
|
9890
|
+
Nested list or array of [dec, inc] or [dec, inc, intensity] directional data.
|
|
9891
|
+
site_latitude : float
|
|
9892
|
+
Latitude of the paleomagnetic sampling site.
|
|
9893
|
+
site_longitude : float
|
|
9894
|
+
Longitude of the paleomagnetic sampling site.
|
|
9895
|
+
f_low : float
|
|
9896
|
+
Lower bound for flattening factor, as determined from SVEI analysis (e.g. 0.51).
|
|
9897
|
+
f_high : float
|
|
9898
|
+
Upper bound for flattening factor, as determined from SVEI analysis (e.g. 0.89).
|
|
9899
|
+
kent_color : str, optional
|
|
9900
|
+
Color of the plotted Kent ellipse (default is 'k').
|
|
9901
|
+
n : int, optional
|
|
9902
|
+
Number of flattening factors to sample (default is 1000).
|
|
9903
|
+
save : bool, optional
|
|
9904
|
+
If True, saves figures to the specified folder (default is False).
|
|
9905
|
+
save_folder : str, optional
|
|
9906
|
+
Directory to save plots (default is current directory).
|
|
9907
|
+
figprefix : str, optional
|
|
9908
|
+
Prefix for saved figure filenames (default is 'SVEI').
|
|
9909
|
+
fmt : str, optional
|
|
9910
|
+
Format for saved figures (e.g., 'svg', 'png') (default is 'svg').
|
|
9911
|
+
return_poles : bool, optional
|
|
9912
|
+
If True, returns the resampled mean pole positions (default is False).
|
|
9913
|
+
return_kent_stats : bool, optional
|
|
9914
|
+
If True, returns the Kent distribution statistics (default is True).
|
|
9915
|
+
return_paleolats : bool, optional
|
|
9916
|
+
If True, returns the distribution of calculated paleolatitudes (default is False).
|
|
9917
|
+
vgp_nb : int, optional
|
|
9918
|
+
Number of Fisher resamples per unflattened mean pole (default is 100).
|
|
9919
|
+
cmap : str, optional
|
|
9920
|
+
Colormap used to indicate f value in directional plots (default is 'viridis_r').
|
|
9921
|
+
central_longitude : float, optional
|
|
9922
|
+
Central longitude of the orthographic projection (default is 0).
|
|
9923
|
+
central_latitude : float, optional
|
|
9924
|
+
Central latitude of the orthographic projection (default is 0).
|
|
9925
|
+
|
|
9926
|
+
Returns:
|
|
9927
|
+
Depending on flags, returns one or more of:
|
|
9928
|
+
- kent_stats : dict
|
|
9929
|
+
Kent distribution parameters summarizing the resampled mean poles.
|
|
9930
|
+
- mean_lons, mean_lats : list of float
|
|
9931
|
+
Longitudes and latitudes of resampled mean poles.
|
|
9932
|
+
- paleolats : list of float
|
|
9933
|
+
Paleolatitudes calculated from resampled mean poles.
|
|
9934
|
+
|
|
9935
|
+
Notes:
|
|
9936
|
+
This function assumes the user has previously run the SVEI `find_flat` function
|
|
9937
|
+
(Tauxe et al., 2024) to determine the range of flattening factors (`f_low`, `f_high`)
|
|
9938
|
+
that are consistent with the THG24 GGP model for the dataset under consideration.
|
|
9939
|
+
"""
|
|
9940
|
+
f_resample = np.random.uniform(f_low,f_high,n)
|
|
9941
|
+
|
|
9942
|
+
plt.figure(figsize=(4,4))
|
|
9943
|
+
plot_net()
|
|
9944
|
+
cNorm = colors.Normalize(vmin=min(f_resample), vmax=max(f_resample))
|
|
9945
|
+
f_scalarMap = cm.ScalarMappable(norm=cNorm, cmap=cmap)
|
|
9946
|
+
|
|
9947
|
+
di_lists = unpack_di_block(di_block)
|
|
9948
|
+
if len(di_lists) == 3:
|
|
9949
|
+
decs, incs, intensity = di_lists
|
|
9950
|
+
if len(di_lists) == 2:
|
|
9951
|
+
decs, incs = di_lists
|
|
9952
|
+
|
|
9953
|
+
mean_lons = []
|
|
9954
|
+
mean_lats = []
|
|
9955
|
+
paleolats=[]
|
|
9956
|
+
|
|
9957
|
+
VGPs = pmag.dia_vgp(np.array([decs, incs, np.zeros(len(decs)), np.full(len(decs), site_latitude), np.full(len(decs),site_longitude)]).T)
|
|
9958
|
+
VGPs_lons, VGPs_lats = VGPs[0], VGPs[1]
|
|
9959
|
+
uncorrected_pole = fisher_mean(VGPs_lons, VGPs_lats)
|
|
9960
|
+
plon = uncorrected_pole['dec']
|
|
9961
|
+
plat = uncorrected_pole['inc']
|
|
9962
|
+
A95 = uncorrected_pole['alpha95']
|
|
9963
|
+
|
|
9964
|
+
for f in f_resample:
|
|
9965
|
+
unsquish_incs = unsquish(incs, f)
|
|
9966
|
+
#unsquish_mean_dir=fisher_mean(dec=decs,inc=unsquish_incs)
|
|
9967
|
+
unsquish_VGPs = pmag.dia_vgp(np.array([decs, unsquish_incs, np.zeros(len(decs)), np.full(len(decs), site_latitude), np.full(len(decs),site_longitude)]).T)
|
|
9968
|
+
unsquish_lons, unsquish_lats = unsquish_VGPs[0], unsquish_VGPs[1]
|
|
9969
|
+
unsquish_VGPs_mean = fisher_mean(unsquish_lons, unsquish_lats)
|
|
9970
|
+
resampled_lons, resampled_lats = fisher_mean_resample(alpha95=unsquish_VGPs_mean['alpha95'], n=vgp_nb,
|
|
9971
|
+
dec=unsquish_VGPs_mean['dec'], inc=unsquish_VGPs_mean['inc'], di_block=0)
|
|
9972
|
+
resampled_poles = np.column_stack((resampled_lons, resampled_lats))
|
|
9973
|
+
N = resampled_poles.shape[0] # Number of rows
|
|
9974
|
+
site_array = np.tile([site_longitude,site_latitude], (N, 1))
|
|
9975
|
+
mean_lons.extend(resampled_lons)
|
|
9976
|
+
mean_lats.extend(resampled_lats)
|
|
9977
|
+
plats = 90 - pmag.angle(resampled_poles, site_array)
|
|
9978
|
+
paleolats.extend(plats.tolist())
|
|
9979
|
+
rgba = f_scalarMap.to_rgba(f)
|
|
9980
|
+
hex_color = colors.rgb2hex(rgba)
|
|
9981
|
+
plot_di(decs, unsquish_incs, color = hex_color, alpha=0.02)
|
|
9982
|
+
cb = plt.colorbar(f_scalarMap, ax=plt.gca(),orientation='horizontal',fraction=0.05, pad=0.05)
|
|
9983
|
+
cb.ax.tick_params(labelsize=14)
|
|
9984
|
+
cb.ax.set_title(label='$f$ values', fontsize=14)
|
|
9985
|
+
|
|
9986
|
+
if save:
|
|
9987
|
+
plt.savefig(save_folder+'/'+figprefix+'_corrected_directions'+'.'+fmt, bbox_inches='tight', dpi=300)
|
|
9988
|
+
|
|
9989
|
+
plat_med=np.median(paleolats)
|
|
9990
|
+
plat_lower, plat_upper = np.round(np.percentile(paleolats, [2.5, 97.5]), 1)
|
|
9991
|
+
mu, std = stats.norm.fit(paleolats)
|
|
9992
|
+
x = np.linspace(min(paleolats), max(paleolats), 100)
|
|
9993
|
+
p = stats.norm.pdf(x, mu, std)
|
|
9994
|
+
|
|
9995
|
+
plt.figure(figsize=(4, 4))
|
|
9996
|
+
plt.hist(paleolats, bins=15, alpha=0.6, density=1)
|
|
9997
|
+
plt.plot(x, p, 'k', linewidth=1)
|
|
9998
|
+
|
|
9999
|
+
plt.axvline(x=plat_lower, color = 'gray', ls='--')
|
|
10000
|
+
plt.axvline(x=plat_upper, color = 'gray', ls='--')
|
|
10001
|
+
|
|
10002
|
+
plt.title('%7.1f [%7.1f, %7.1f]' % (plat_med, plat_lower, plat_upper) + '\nFit result: mu='+str(round(mu,2))+'\nstd='+str(round(std, 2)), fontsize=14)
|
|
10003
|
+
plt.xticks(fontsize=14)
|
|
10004
|
+
plt.yticks(fontsize=14)
|
|
10005
|
+
plt.xlabel(r'paleolatitude ($^\circ$)', fontsize=16)
|
|
10006
|
+
plt.ylabel('density', fontsize=16)
|
|
10007
|
+
|
|
10008
|
+
if save:
|
|
10009
|
+
plt.savefig(save_folder+'/'+figprefix+'_paleolatitudes'+'.'+fmt, bbox_inches='tight', dpi=300)
|
|
10010
|
+
|
|
10011
|
+
plt.show()
|
|
10012
|
+
|
|
10013
|
+
# plot resampled mean poles
|
|
10014
|
+
m = make_orthographic_map(central_longitude, central_latitude)
|
|
10015
|
+
plot_vgp(m, mean_lons, mean_lats, color='lightgrey', edge='none', markersize=5, alpha=0.02)
|
|
10016
|
+
|
|
10017
|
+
kent_stats = kent_distribution_95(dec=mean_lons,inc=mean_lats)
|
|
10018
|
+
print_kent_mean(kent_stats)
|
|
10019
|
+
plot_pole_ellipse(m,kent_stats, color=kent_color,label="Kent mean pole")
|
|
10020
|
+
plot_pole(m, plon, plat, A95, label="uncorrected pole position", color="C0")
|
|
10021
|
+
plt.legend(loc=8, fontsize=14)
|
|
10022
|
+
|
|
10023
|
+
if save:
|
|
10024
|
+
plt.savefig(save_folder+'/'+figprefix+'_paleolatitudes'+'.'+fmt, bbox_inches='tight', dpi=300)
|
|
10025
|
+
|
|
10026
|
+
plt.show()
|
|
10027
|
+
|
|
10028
|
+
results = []
|
|
10029
|
+
if return_kent_stats:
|
|
10030
|
+
results.append(kent_stats)
|
|
10031
|
+
if return_poles:
|
|
10032
|
+
results.extend([mean_lons, mean_lats])
|
|
10033
|
+
if return_paleolats:
|
|
10034
|
+
results.append(paleolats)
|
|
10035
|
+
|
|
10036
|
+
if len(results) == 1:
|
|
10037
|
+
return results[0]
|
|
10038
|
+
return tuple(results)
|
|
9688
10039
|
|
|
9689
10040
|
|
|
9690
10041
|
def pole_comparison_H2019(lon_1,lat_1,k_1,r_1,lon_2,lat_2,k_2,r_2):
|
|
@@ -9799,7 +10150,7 @@ def plate_rate_mc(pole1_plon, pole1_plat, pole1_kappa, pole1_N, pole1_age, pole1
|
|
|
9799
10150
|
100000)/((pole1_age - pole2_age) * 1000000)
|
|
9800
10151
|
print("The rate of paleolatitudinal change implied by the poles pairs in cm/yr is:" + str(rate))
|
|
9801
10152
|
|
|
9802
|
-
if random_seed
|
|
10153
|
+
if random_seed is not None:
|
|
9803
10154
|
np.random.seed(random_seed)
|
|
9804
10155
|
pole1_MCages = np.random.normal(pole1_age, pole1_age_error, samplesize)
|
|
9805
10156
|
pole2_MCages = np.random.normal(pole2_age, pole2_age_error, samplesize)
|
|
@@ -10001,9 +10352,9 @@ def zeq(path_to_file='.', file='', data="", units='U', calculation_type="DE-BFL"
|
|
|
10001
10352
|
if make_plots:
|
|
10002
10353
|
ZED = {}
|
|
10003
10354
|
ZED['eqarea'], ZED['zijd'], ZED['demag'] = 2, 1, 3
|
|
10004
|
-
plt.figure(num=ZED['zijd'], figsize=(5, 5))
|
|
10005
|
-
plt.figure(num=ZED['eqarea'], figsize=(5, 5))
|
|
10006
|
-
plt.figure(num=ZED['demag'], figsize=(5, 5))
|
|
10355
|
+
plt.figure(num=ZED['zijd'], figsize=(5, 5))
|
|
10356
|
+
plt.figure(num=ZED['eqarea'], figsize=(5, 5))
|
|
10357
|
+
plt.figure(num=ZED['demag'], figsize=(5, 5))
|
|
10007
10358
|
#
|
|
10008
10359
|
#
|
|
10009
10360
|
pmagplotlib.plot_zed(ZED, datablock, angle, s, SIunits) # plot the data
|
|
@@ -10026,12 +10377,13 @@ def zeq(path_to_file='.', file='', data="", units='U', calculation_type="DE-BFL"
|
|
|
10026
10377
|
recnum += 1
|
|
10027
10378
|
#pmagplotlib.draw_figs(ZED)
|
|
10028
10379
|
if begin_pca != "" and end_pca != "" and calculation_type != "":
|
|
10029
|
-
if make_plots:
|
|
10030
|
-
|
|
10380
|
+
if make_plots:
|
|
10381
|
+
pmagplotlib.plot_zed(ZED, datablock, angle, s, SIunits) # plot the data
|
|
10031
10382
|
# get best-fit direction/great circle
|
|
10032
10383
|
mpars = pmag.domean(datablock, begin_pca, end_pca, calculation_type)
|
|
10033
10384
|
# plot the best-fit direction/great circle
|
|
10034
|
-
if make_plots:
|
|
10385
|
+
if make_plots:
|
|
10386
|
+
pmagplotlib.plot_dir(ZED, mpars, datablock, angle)
|
|
10035
10387
|
print('Specimen, calc_type, N, min, max, MAD, dec, inc')
|
|
10036
10388
|
if units == 'mT':
|
|
10037
10389
|
print('%s %s %i %6.2f %6.2f %6.1f %7.1f %7.1f' % (s, calculation_type,
|
|
@@ -10616,20 +10968,18 @@ def aniso_magic_old(infile='specimens.txt', samp_file='samples.txt', site_file='
|
|
|
10616
10968
|
PDir.append(float(di[0]))
|
|
10617
10969
|
PDir.append(float(di[1]))
|
|
10618
10970
|
con = 0
|
|
10619
|
-
except:
|
|
10971
|
+
except Exception as e:
|
|
10620
10972
|
cnt += 1
|
|
10621
10973
|
if cnt < 10:
|
|
10622
10974
|
print(
|
|
10623
10975
|
" enter the dec and inc of the pole on one line ")
|
|
10624
10976
|
else:
|
|
10625
|
-
print(
|
|
10626
|
-
"ummm - you are doing something wrong - i give up")
|
|
10977
|
+
print("Error parsing input, please reconsider: ", e)
|
|
10627
10978
|
sys.exit()
|
|
10628
10979
|
if set_env.IS_WIN:
|
|
10629
10980
|
# if windows, must re-draw everything
|
|
10630
10981
|
pmagplotlib.plot_anis(ANIS, Ss, iboot, ihext, ivec, ipar,
|
|
10631
10982
|
title, iplot, comp, vec, Dir, num_bootstraps)
|
|
10632
|
-
|
|
10633
10983
|
pmagplotlib.plot_circ(ANIS['data'], PDir, 90., 'g')
|
|
10634
10984
|
pmagplotlib.plot_circ(ANIS['conf'], PDir, 90., 'g')
|
|
10635
10985
|
if verbose and not plots:
|
|
@@ -10647,7 +10997,8 @@ def aniso_magic_old(infile='specimens.txt', samp_file='samples.txt', site_file='
|
|
|
10647
10997
|
try:
|
|
10648
10998
|
k = sitelist.index(site)
|
|
10649
10999
|
keepon = 0
|
|
10650
|
-
except:
|
|
11000
|
+
except Exception as e:
|
|
11001
|
+
print("Error finding site:", e)
|
|
10651
11002
|
tmplist = []
|
|
10652
11003
|
for qq in range(len(sitelist)):
|
|
10653
11004
|
if site in sitelist[qq]:
|
|
@@ -10865,7 +11216,7 @@ def aniso_magic(infile='specimens.txt', samp_file='samples.txt', site_file='site
|
|
|
10865
11216
|
ivec=ivec, iboot=iboot, vec=vec, num_bootstraps=num_bootstraps)
|
|
10866
11217
|
try:
|
|
10867
11218
|
locs = cs_df['location'].unique()
|
|
10868
|
-
except:
|
|
11219
|
+
except KeyError:
|
|
10869
11220
|
locs = [""]
|
|
10870
11221
|
locs = "-".join(locs)
|
|
10871
11222
|
files = {key: locs + "_" + crd + "_aniso-" + key + ".png" for (key, value) in figs.items()}
|
|
@@ -10931,12 +11282,18 @@ def plot_dmag(data="", title="", fignum=1, norm=1,dmag_key='treat_ac_field',inte
|
|
|
10931
11282
|
data = data[data[int_key].notnull()] # fish out all data with this key
|
|
10932
11283
|
units = "U" # this sets the units for plotting to undefined
|
|
10933
11284
|
if not dmag_key:
|
|
10934
|
-
if 'treat_temp' in data.columns:
|
|
10935
|
-
|
|
10936
|
-
elif '
|
|
10937
|
-
|
|
10938
|
-
|
|
10939
|
-
|
|
11285
|
+
if 'treat_temp' in data.columns:
|
|
11286
|
+
units = "K" # kelvin
|
|
11287
|
+
elif 'treat_ac_field' in data.columns:
|
|
11288
|
+
units = "T" # tesla
|
|
11289
|
+
elif 'treat_mw_energy' in data.columns:
|
|
11290
|
+
units = "J" # joules
|
|
11291
|
+
if dmag_key=='treat_temp':
|
|
11292
|
+
units='K'
|
|
11293
|
+
if dmag_key=='treat_ac_field':
|
|
11294
|
+
units='T'
|
|
11295
|
+
if dmag_key=='treat_mw_energy':
|
|
11296
|
+
units='J'
|
|
10940
11297
|
spcs = data.specimen.unique() # get a list of all specimens in DataFrame data
|
|
10941
11298
|
if len(spcs)==0:
|
|
10942
11299
|
print('no data for plotting')
|
|
@@ -11323,7 +11680,7 @@ def aarm_magic_dm2(infile, dir_path=".", input_dir_path="",
|
|
|
11323
11680
|
RmagSpecRec["er_location_name"] = data[0].get(
|
|
11324
11681
|
"er_location_name", "")
|
|
11325
11682
|
RmagSpecRec["er_specimen_name"] = data[0]["er_specimen_name"]
|
|
11326
|
-
if
|
|
11683
|
+
if "er_sample_name" not in RmagSpecRec:
|
|
11327
11684
|
RmagSpecRec["er_sample_name"] = data[0].get(
|
|
11328
11685
|
"er_sample_name", "")
|
|
11329
11686
|
RmagSpecRec["er_site_name"] = data[0].get("er_site_name", "")
|
|
@@ -11707,7 +12064,8 @@ def aarm_magic(meas_file, dir_path=".", input_dir_path="",
|
|
|
11707
12064
|
old_spec_df=pd.DataFrame.from_dict(old_spec_recs)
|
|
11708
12065
|
# check format of output specimens table
|
|
11709
12066
|
for col in aniso_spec_columns:
|
|
11710
|
-
if col not in old_spec_df.columns:
|
|
12067
|
+
if col not in old_spec_df.columns:
|
|
12068
|
+
old_spec_df[col]=""
|
|
11711
12069
|
df=pd.DataFrame.from_dict(meas_data)
|
|
11712
12070
|
df=df[df['method_codes'].str.contains('LP-AN-ARM')]
|
|
11713
12071
|
if not len(df):
|
|
@@ -11764,13 +12122,13 @@ def aarm_magic(meas_file, dir_path=".", input_dir_path="",
|
|
|
11764
12122
|
new_spec_df['aniso_type']='AARM'
|
|
11765
12123
|
new_spec_df['software_packages']=pmag.get_version()
|
|
11766
12124
|
new_spec_df['citations']='This study'
|
|
11767
|
-
if old_specs and 'aniso_s' in old_spec_df.columns and old_spec_df.loc[(old_spec_df['specimen']==spec)&
|
|
11768
|
-
(old_spec_df['aniso_type']=='AARM')].empty
|
|
12125
|
+
if old_specs and 'aniso_s' in old_spec_df.columns and not old_spec_df.loc[(old_spec_df['specimen']==spec)&
|
|
12126
|
+
(old_spec_df['aniso_type']=='AARM')].empty: # there is a previous record of AARM for this specimen
|
|
11769
12127
|
print ('replacing existing AARM data for ',spec)
|
|
11770
12128
|
for col in ['aniso_ftest','aniso_ftest12','aniso_ftest23','aniso_p','aniso_s','aniso_s_n_measurements','aniso_s_sigma','aniso_type','aniso_v1','aniso_v2','aniso_v3','aniso_ftest_quality','aniso_tilt_correction','description','software_packages','citations']:
|
|
11771
12129
|
old_spec_df.loc[(old_spec_df['specimen']==spec)&(old_spec_df['aniso_type']=='AARM')&
|
|
11772
12130
|
(old_spec_df[col].notnull()),col]=new_spec_df[col].values[0] # replace existing AARM data for this specimen
|
|
11773
|
-
elif old_specs and 'aniso_s' in old_spec_df.columns and old_spec_df.loc[old_spec_df['specimen']==spec].empty
|
|
12131
|
+
elif old_specs and 'aniso_s' in old_spec_df.columns and not old_spec_df.loc[old_spec_df['specimen']==spec].empty: # there is a no previous record of AARM for this specimen
|
|
11774
12132
|
print ('adding AARM data for ',spec)
|
|
11775
12133
|
for col in ['aniso_ftest','aniso_ftest12','aniso_ftest23','aniso_p','aniso_s','aniso_s_n_measurements','aniso_s_sigma','aniso_type','aniso_v1','aniso_v2','aniso_v3','aniso_ftest_quality','aniso_tilt_correction','description','software_packages','citations']:
|
|
11776
12134
|
old_spec_df.loc[old_spec_df['specimen']==spec,col]=new_spec_df[col].values[0] # add AARM data for this specimen
|
|
@@ -11898,7 +12256,7 @@ def atrm_magic_dm2(meas_file, dir_path=".", input_dir_path="",
|
|
|
11898
12256
|
RmagSpecRec["er_location_name"] = data[0].get(
|
|
11899
12257
|
"er_location_name", "")
|
|
11900
12258
|
RmagSpecRec["er_specimen_name"] = data[0]["er_specimen_name"]
|
|
11901
|
-
if
|
|
12259
|
+
if "er_sample_name" not in RmagSpecRec:
|
|
11902
12260
|
RmagSpecRec["er_sample_name"] = data[0].get(
|
|
11903
12261
|
"er_sample_name", "")
|
|
11904
12262
|
RmagSpecRec["er_site_name"] = data[0].get("er_site_name", "")
|
|
@@ -12302,7 +12660,8 @@ def atrm_magic(meas_file, dir_path=".", input_dir_path="",
|
|
|
12302
12660
|
old_spec_df=pd.DataFrame.from_dict(old_spec_recs)
|
|
12303
12661
|
# check format of output specimens table
|
|
12304
12662
|
for col in aniso_spec_columns:
|
|
12305
|
-
if col not in old_spec_df.columns:
|
|
12663
|
+
if col not in old_spec_df.columns:
|
|
12664
|
+
old_spec_df[col]=""
|
|
12306
12665
|
df=pd.DataFrame.from_dict(meas_data)
|
|
12307
12666
|
df=df[df['method_codes'].str.contains('LP-AN-TRM')]
|
|
12308
12667
|
if not len(df):
|
|
@@ -12366,13 +12725,13 @@ def atrm_magic(meas_file, dir_path=".", input_dir_path="",
|
|
|
12366
12725
|
new_spec_df['software_packages']=pmag.get_version()
|
|
12367
12726
|
new_spec_df['citations']='This study'
|
|
12368
12727
|
new_spec_df['aniso_type']='ATRM'
|
|
12369
|
-
if old_specs and 'aniso_s' in old_spec_df.columns and old_spec_df.loc[(old_spec_df['specimen']==spec)&
|
|
12370
|
-
(old_spec_df['aniso_type']=='ATRM')].empty
|
|
12728
|
+
if old_specs and 'aniso_s' in old_spec_df.columns and not old_spec_df.loc[(old_spec_df['specimen']==spec)&
|
|
12729
|
+
(old_spec_df['aniso_type']=='ATRM')].empty: # there is a previous record of ATRM for this specimen
|
|
12371
12730
|
print ('replacing existing ATRM data for ',spec)
|
|
12372
12731
|
for col in ['aniso_alt','aniso_ftest','aniso_ftest12','aniso_ftest23','aniso_p','aniso_s','aniso_s_n_measurements','aniso_s_sigma','aniso_type','aniso_v1','aniso_v2','aniso_v3','aniso_ftest_quality','aniso_tilt_correction','description','method_codes','software_packages','citations']:
|
|
12373
12732
|
old_spec_df.loc[(old_spec_df['specimen']==spec)&(old_spec_df['aniso_type']=='ATRM')&
|
|
12374
12733
|
(old_spec_df[col].notnull()),col]=new_spec_df[col].values[0] # replace existing ATRM data for this specimen
|
|
12375
|
-
elif old_specs and 'aniso_s' in old_spec_df.columns and old_spec_df.loc[old_spec_df['specimen']==spec].empty
|
|
12734
|
+
elif old_specs and 'aniso_s' in old_spec_df.columns and not old_spec_df.loc[old_spec_df['specimen']==spec].empty: # there is a no previous record of ATRM for this specimen
|
|
12376
12735
|
print ('adding ATRM data for ',spec)
|
|
12377
12736
|
for col in ['aniso_alt','aniso_ftest','aniso_ftest12','aniso_ftest23','aniso_p','aniso_s','aniso_s_n_measurements','aniso_s_sigma','aniso_type','aniso_v1','aniso_v2','aniso_v3','aniso_ftest_quality','aniso_tilt_correction','description','method_codes','software_packages','citations']:
|
|
12378
12737
|
old_spec_df.loc[old_spec_df['specimen']==spec,col]=new_spec_df[col].values[0] # add ATRM data for this specimen
|
|
@@ -12601,7 +12960,7 @@ def zeq_magic(meas_file='measurements.txt', spec_file='',crd='s', dir_path = "."
|
|
|
12601
12960
|
try:
|
|
12602
12961
|
this_spec_meas_df['magn_moment'] = this_spec_meas_df['magn_moment'].astype(float)
|
|
12603
12962
|
this_spec_meas_df['treat_temp'] = this_spec_meas_df['treat_temp'].astype(float)
|
|
12604
|
-
except:
|
|
12963
|
+
except (ValueError, KeyError):
|
|
12605
12964
|
print('-W- There are malformed or missing data for specimen {}, skipping'.format(spec))
|
|
12606
12965
|
return False, False
|
|
12607
12966
|
datablock = this_spec_meas_df[['treat_temp', 'dir_dec', 'dir_inc',
|
|
@@ -12621,7 +12980,7 @@ def zeq_magic(meas_file='measurements.txt', spec_file='',crd='s', dir_path = "."
|
|
|
12621
12980
|
try:
|
|
12622
12981
|
this_spec_meas_df['magn_moment'] = this_spec_meas_df['magn_moment'].astype(float)
|
|
12623
12982
|
this_spec_meas_df['treat_ac_field'] = this_spec_meas_df['treat_ac_field'].astype(float)
|
|
12624
|
-
except:
|
|
12983
|
+
except Exception:
|
|
12625
12984
|
print('-W- There are malformed or missing data for specimen {}, skipping'.format(spec))
|
|
12626
12985
|
return False, False
|
|
12627
12986
|
datablock = this_spec_meas_df[['treat_ac_field', 'dir_dec', 'dir_inc',
|
|
@@ -13125,7 +13484,8 @@ def hysteresis_magic(output_dir_path=".", input_dir_path="", spec_file="specimen
|
|
|
13125
13484
|
elif n_specs != "all":
|
|
13126
13485
|
try:
|
|
13127
13486
|
sids = sids[:n_specs]
|
|
13128
|
-
except:
|
|
13487
|
+
except Exception as e:
|
|
13488
|
+
print("Error selecting n_specs:", e)
|
|
13129
13489
|
pass
|
|
13130
13490
|
cnt = 0
|
|
13131
13491
|
while k < len(sids):
|
|
@@ -13298,7 +13658,8 @@ def hysteresis_magic(output_dir_path=".", input_dir_path="", spec_file="specimen
|
|
|
13298
13658
|
try:
|
|
13299
13659
|
k = sids.index(specimen)
|
|
13300
13660
|
keepon = 0
|
|
13301
|
-
except:
|
|
13661
|
+
except Exception as e:
|
|
13662
|
+
print("Error:", e)
|
|
13302
13663
|
tmplist = []
|
|
13303
13664
|
for qq in range(len(sids)):
|
|
13304
13665
|
if specimen in sids[qq]:
|
|
@@ -14345,7 +14706,8 @@ def polemap_magic(loc_file="locations.txt", dir_path=".", interactive=False, crd
|
|
|
14345
14706
|
pmagplotlib.plot_map(FIG['map'], [90.], [0.], Opts)
|
|
14346
14707
|
|
|
14347
14708
|
#Opts['pltgrid'] = -1
|
|
14348
|
-
if proj=='merc':
|
|
14709
|
+
if proj=='merc':
|
|
14710
|
+
Opts['pltgrid']=1
|
|
14349
14711
|
Opts['sym'] = sym
|
|
14350
14712
|
Opts['symsize'] = symsize
|
|
14351
14713
|
if len(dates) > 0:
|
|
@@ -15658,3 +16020,191 @@ def rand_correlation_prob(sec_var, delta1, delta2, alpha, trials=10000, print_re
|
|
|
15658
16020
|
print ('The probability (average of P1 and P2) that directions represent random samples of the geomagnetic field is: {0:5.3f}'.format((prand1+prand2)/2))
|
|
15659
16021
|
|
|
15660
16022
|
return rand_prob
|
|
16023
|
+
|
|
16024
|
+
|
|
16025
|
+
def MADcrit(N,alpha,niter=int(1E8)):
|
|
16026
|
+
"""
|
|
16027
|
+
Estimate the MAD critical value at a given significance level to
|
|
16028
|
+
test a null hypothesis of random demagnetization behavior.
|
|
16029
|
+
function from Heslop and Roberts, 2025, Establishing a Statistical Framework for Assessing Paleomagnetic Data Quality: A Significance Test Based on Maximum Angular Deviation doi: https://doi.org/10.1029/ 2025JB031417
|
|
16030
|
+
|
|
16031
|
+
Parameters
|
|
16032
|
+
----------
|
|
16033
|
+
N : integer
|
|
16034
|
+
Number of demagnetization points in the unanchored PCA fit.
|
|
16035
|
+
alpha : float
|
|
16036
|
+
Array of significance values for which the critical MAD values should be estimated.
|
|
16037
|
+
niter: integer
|
|
16038
|
+
Number of Monte Carlo iterations (default is 1E8).
|
|
16039
|
+
Because α values of interest are in the lower tail of the MAD distribution, it is important to ensure that B is sufficiently large to sample the distribution extremes accurately.
|
|
16040
|
+
Returns
|
|
16041
|
+
-------
|
|
16042
|
+
float
|
|
16043
|
+
Array of estimated critical MAD values.
|
|
16044
|
+
|
|
16045
|
+
Examples
|
|
16046
|
+
--------
|
|
16047
|
+
>>> N = 10
|
|
16048
|
+
>>> alpha = np.array([0.0001,0.001,0.01,0.05,0.1])
|
|
16049
|
+
>>> MADcrit(N, alpha)
|
|
16050
|
+
[19.5, 23.1, 27.6, 31.7, 33.9]
|
|
16051
|
+
"""
|
|
16052
|
+
|
|
16053
|
+
df = N-1 #degrees of freedom of the Wishart distribution
|
|
16054
|
+
X = stats.wishart.rvs(df, scale=np.ones(3),size=niter) #Generate samples from the Wishart distribution
|
|
16055
|
+
X = np.sort(np.linalg.eig(X)[0],axis=1) #find and sort the eigenvalues of each case
|
|
16056
|
+
#find the MAD values and estimate critical values based on the percentiles corresponding to alpha
|
|
16057
|
+
MAD_prc = np.nanpercentile(np.arctan(np.sqrt((X[:,0]+X[:,1])/X[:,2])),alpha*100)
|
|
16058
|
+
|
|
16059
|
+
return np.rad2deg(MAD_prc) #return critical values in degrees
|
|
16060
|
+
|
|
16061
|
+
def MADcrit_95_filter(N, MAD):
|
|
16062
|
+
'''
|
|
16063
|
+
A convenience function to quickly filter for MADcrit values at the 95% significance level.
|
|
16064
|
+
'''
|
|
16065
|
+
if N < 3:
|
|
16066
|
+
raise ValueError("N must be greater than 2 for MADcrit_95_filter")
|
|
16067
|
+
if N > 50:
|
|
16068
|
+
raise ValueError("N must be less than 51 for MADcrit_95_filter")
|
|
16069
|
+
Ns = np.arange(3, 51)
|
|
16070
|
+
MADcrit_95 = np.array([6.5, 14.8, 20.13, 23.8, 26.54, 28.64, 30.34,
|
|
16071
|
+
31.74, 32.93, 33.96, 34.86, 35.63,
|
|
16072
|
+
36.34, 36.95, 37.53, 38.04, 38.51,
|
|
16073
|
+
38.94, 39.34, 39.72, 40.08, 40.39,
|
|
16074
|
+
40.7, 40.99, 41.25, 41.51, 41.75,
|
|
16075
|
+
41.98, 42.18, 42.4, 42.6, 42.77,
|
|
16076
|
+
42.96, 43.13, 43.29, 43.44, 43.59,
|
|
16077
|
+
43.74, 43.87, 44.01, 44.14, 44.26,
|
|
16078
|
+
44.38, 44.5, 44.61, 44.72, 44.83,
|
|
16079
|
+
44.92])
|
|
16080
|
+
MADcrit_table = pd.Series(MADcrit_95, index=Ns, name='MADcrit_95')
|
|
16081
|
+
# compare a given MAD to the critical value for the given N
|
|
16082
|
+
MADcrit = MADcrit_table.loc[N]
|
|
16083
|
+
|
|
16084
|
+
if MAD < MADcrit:
|
|
16085
|
+
return True
|
|
16086
|
+
else:
|
|
16087
|
+
return False
|
|
16088
|
+
|
|
16089
|
+
def mad_to_a95(mad, n_steps, anchored=False):
|
|
16090
|
+
"""
|
|
16091
|
+
Convert MAD (or aMAD) to α95 using the scaling factors of
|
|
16092
|
+
Khokhlov & Hulot (2016), Table 8.
|
|
16093
|
+
|
|
16094
|
+
Parameters
|
|
16095
|
+
----------
|
|
16096
|
+
mad : float or array-like
|
|
16097
|
+
MAD (for standard PCA) or aMAD (for anchored PCA), in degrees.
|
|
16098
|
+
n_steps : int or array-like of int
|
|
16099
|
+
Number of vector measurements (demagnetization steps) used in the line
|
|
16100
|
+
fit. Can be a scalar (applied to all MAD values) or an array with the
|
|
16101
|
+
same shape as `mad` to allow different n_steps for different specimens.
|
|
16102
|
+
Table 8 of Khokhlov & Hulot (2016) is defined for 3 <= n_steps <= 16.
|
|
16103
|
+
For n_steps > 16, the large-N asymptotic scaling factor is applied.
|
|
16104
|
+
anchored : bool, default False
|
|
16105
|
+
If False, use CMAD factors for standard (unanchored) PCA MAD.
|
|
16106
|
+
If True, use CaMAD factors for anchored PCA aMAD.
|
|
16107
|
+
If an array of bool is provided, it must have the same shape as `mad`.
|
|
16108
|
+
|
|
16109
|
+
Returns
|
|
16110
|
+
-------
|
|
16111
|
+
a95 : float or array-like
|
|
16112
|
+
Estimated α95 in degrees, with the same shape as `mad`.
|
|
16113
|
+
|
|
16114
|
+
Notes
|
|
16115
|
+
-----
|
|
16116
|
+
For n_steps < 3, this function raises a ValueError because Table 8 is not
|
|
16117
|
+
defined for fewer than three measurements. For n_steps > 16, the asymptotic
|
|
16118
|
+
large-N scaling factor tabulated at n = 100 in Khokhlov & Hulot (2016) is used.
|
|
16119
|
+
|
|
16120
|
+
Examples
|
|
16121
|
+
--------
|
|
16122
|
+
Convert a MAD value of 4.2 determined from an anchored line fit with 7 steps
|
|
16123
|
+
to α95:
|
|
16124
|
+
>>> ipmag.mad_to_a95(4.2, n_steps=7, anchored=True)
|
|
16125
|
+
>>> 18.102
|
|
16126
|
+
|
|
16127
|
+
Convert arrays of MAD values with different n_steps for each specimen:
|
|
16128
|
+
>>> mads = np.array([2.0, 3.0, 4.0])
|
|
16129
|
+
>>> steps = np.array([5, 7, 10])
|
|
16130
|
+
>>> ipmag.mad_to_a95(mads, n_steps=steps, anchored=False)
|
|
16131
|
+
array([ 6.36 , 8.13 , 10.16 ])
|
|
16132
|
+
"""
|
|
16133
|
+
|
|
16134
|
+
# Table 8 from Khokhlov & Hulot (2016)
|
|
16135
|
+
CMAD = {
|
|
16136
|
+
3: 7.69,
|
|
16137
|
+
4: 3.90,
|
|
16138
|
+
5: 3.18,
|
|
16139
|
+
6: 2.88,
|
|
16140
|
+
7: 2.71,
|
|
16141
|
+
8: 2.63,
|
|
16142
|
+
9: 2.57,
|
|
16143
|
+
10: 2.54,
|
|
16144
|
+
11: 2.51,
|
|
16145
|
+
12: 2.48,
|
|
16146
|
+
13: 2.46,
|
|
16147
|
+
14: 2.44,
|
|
16148
|
+
15: 2.43,
|
|
16149
|
+
16: 2.43,
|
|
16150
|
+
100: 2.37,
|
|
16151
|
+
}
|
|
16152
|
+
|
|
16153
|
+
CaMAD = {
|
|
16154
|
+
3: 6.00,
|
|
16155
|
+
4: 5.00,
|
|
16156
|
+
5: 4.63,
|
|
16157
|
+
6: 4.43,
|
|
16158
|
+
7: 4.31,
|
|
16159
|
+
8: 4.24,
|
|
16160
|
+
9: 4.18,
|
|
16161
|
+
10: 4.14,
|
|
16162
|
+
11: 4.12,
|
|
16163
|
+
12: 4.11,
|
|
16164
|
+
13: 4.08,
|
|
16165
|
+
14: 4.08,
|
|
16166
|
+
15: 4.06,
|
|
16167
|
+
16: 4.05,
|
|
16168
|
+
100: 3.99,
|
|
16169
|
+
}
|
|
16170
|
+
|
|
16171
|
+
if np.isscalar(n_steps):
|
|
16172
|
+
table = CaMAD if anchored else CMAD
|
|
16173
|
+
|
|
16174
|
+
n = int(n_steps)
|
|
16175
|
+
if n < 3:
|
|
16176
|
+
raise ValueError(
|
|
16177
|
+
f"n_steps={n} is too small; Table 8 is defined for n>=3.")
|
|
16178
|
+
elif n > 16:
|
|
16179
|
+
factor = table[100] # large-N asymptotic factor
|
|
16180
|
+
else:
|
|
16181
|
+
factor = table[n]
|
|
16182
|
+
# works for scalars, numpy arrays, pandas Series, etc.
|
|
16183
|
+
return mad * factor
|
|
16184
|
+
|
|
16185
|
+
else:
|
|
16186
|
+
# Array-like n_steps → elementwise mapping, same shape as mad
|
|
16187
|
+
mad_arr = np.asarray(mad, dtype=float)
|
|
16188
|
+
n_arr = np.asarray(n_steps)
|
|
16189
|
+
anchored = np.asarray(anchored)
|
|
16190
|
+
|
|
16191
|
+
if mad_arr.shape != n_arr.shape:
|
|
16192
|
+
raise ValueError(
|
|
16193
|
+
"When n_steps is array-like, it must have the same shape as mad."
|
|
16194
|
+
)
|
|
16195
|
+
|
|
16196
|
+
def _factor_for_n(n, anchored):
|
|
16197
|
+
n = int(n)
|
|
16198
|
+
table = CaMAD if anchored else CMAD
|
|
16199
|
+
if n < 3:
|
|
16200
|
+
raise ValueError(
|
|
16201
|
+
f"n_steps={n} is too small; Table 8 is defined for n>=3."
|
|
16202
|
+
)
|
|
16203
|
+
if n > 16:
|
|
16204
|
+
return table[100]
|
|
16205
|
+
return table[n]
|
|
16206
|
+
|
|
16207
|
+
vec_factor = np.vectorize(_factor_for_n, otypes=[float])
|
|
16208
|
+
factors = vec_factor(n_arr, anchored)
|
|
16209
|
+
|
|
16210
|
+
return mad_arr * factors
|