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.
Files changed (979) hide show
  1. pmagpy/continents.py +9 -65
  2. pmagpy/find_pmag_dir.py +14 -23
  3. pmagpy/frp.py +34 -17
  4. pmagpy/gufm.py +1 -1
  5. pmagpy/ipmag.py +782 -232
  6. pmagpy/nlt.py +17 -9
  7. pmagpy/pmag.py +494 -596
  8. pmagpy/pmagplotlib.py +313 -180
  9. pmagpy/rockmag.py +739 -126
  10. pmagpy/spline.py +4 -4
  11. pmagpy/version.py +2 -2
  12. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/PmagPy_plots_analysis.ipynb +20 -14
  13. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/aarm_magic/specimens.txt +7 -7
  14. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/atrm_magic/specimens.txt +30 -30
  15. {pmagpy-4.3.7.dist-info → pmagpy-4.3.9.dist-info}/METADATA +1 -1
  16. {pmagpy-4.3.7.dist-info → pmagpy-4.3.9.dist-info}/RECORD +979 -979
  17. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/ages.txt +0 -0
  18. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/er_ages.txt +0 -0
  19. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/er_citations.txt +0 -0
  20. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/er_images.txt +0 -0
  21. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/er_locations.txt +0 -0
  22. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/er_mailinglist.txt +0 -0
  23. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/er_samples.txt +0 -0
  24. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/er_sites.txt +0 -0
  25. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/er_specimens.txt +0 -0
  26. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/magic_measurements.txt +0 -0
  27. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/magic_methods.txt +0 -0
  28. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/pmag_criteria.txt +0 -0
  29. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/pmag_results.txt +0 -0
  30. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/pmag_sites.txt +0 -0
  31. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/pmag_specimens.txt +0 -0
  32. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/rmag_anisotropy.txt +0 -0
  33. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/rmag_hysteresis.txt +0 -0
  34. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/rmag_results.txt +0 -0
  35. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/2_5/McMurdo/zmab0100049tmp03.txt +0 -0
  36. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/.ipynb_checkpoints/Parsing_data_model-checkpoint.ipynb +0 -0
  37. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/McMurdo/ages.txt +0 -0
  38. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/McMurdo/contribution.txt +0 -0
  39. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/McMurdo/criteria.txt +0 -0
  40. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/McMurdo/extra_specimens.txt +0 -0
  41. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/McMurdo/images.txt +0 -0
  42. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/McMurdo/locations.txt +0 -0
  43. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/McMurdo/measurements.txt +0 -0
  44. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/McMurdo/new_locations.txt +0 -0
  45. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/McMurdo/samples.txt +0 -0
  46. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/McMurdo/sites.txt +0 -0
  47. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/McMurdo/specimens.txt +0 -0
  48. {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
  49. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/Location_1/ages.txt +0 -0
  50. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/Location_1/locations.txt +0 -0
  51. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/Location_1/measurements.txt +0 -0
  52. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/Location_1/samples.txt +0 -0
  53. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/Location_1/sites.txt +0 -0
  54. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/Location_1/specimens.txt +0 -0
  55. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/Location_2/ages.txt +0 -0
  56. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/Location_2/locations.txt +0 -0
  57. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/Location_2/measurements.txt +0 -0
  58. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/Location_2/samples.txt +0 -0
  59. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/Location_2/sites.txt +0 -0
  60. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/Location_2/specimens.txt +0 -0
  61. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/ages.txt +0 -0
  62. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/ages_from_samples_to_sites.ipynb +0 -0
  63. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/contribution.txt +0 -0
  64. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/criteria.txt +0 -0
  65. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/locations.txt +0 -0
  66. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/magic_contribution.txt +0 -0
  67. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/measurements.txt +0 -0
  68. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/samples.txt +0 -0
  69. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/sites.txt +0 -0
  70. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/specimens.txt +0 -0
  71. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Megiddo/test_spec.txt +0 -0
  72. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Osler/contribution.txt +0 -0
  73. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Osler/contribution_11087_v2.5.txt +0 -0
  74. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Osler/contribution_11087_v3.0.txt +0 -0
  75. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Osler/er_citations.txt +0 -0
  76. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Osler/er_locations.txt +0 -0
  77. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Osler/er_sites.txt +0 -0
  78. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Osler/locations.txt +0 -0
  79. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Osler/pmag_results.txt +0 -0
  80. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Osler/pmag_sites.txt +0 -0
  81. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Osler/sites.txt +0 -0
  82. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/3_0/Osler/stored.json +0 -0
  83. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/Cont_rot.svg +0 -0
  84. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/FRPTMP/aus_saf.frp +0 -0
  85. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/FRPTMP/col_saf.frp +0 -0
  86. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/FRPTMP/eant_saf.frp +0 -0
  87. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/FRPTMP/eur_saf.frp +0 -0
  88. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/FRPTMP/grn_saf.frp +0 -0
  89. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/FRPTMP/ind_saf.frp +0 -0
  90. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/FRPTMP/mad_saf.frp +0 -0
  91. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/FRPTMP/nam_saf.frp +0 -0
  92. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/FRPTMP/neaf_saf.frp +0 -0
  93. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/FRPTMP/nwaf_saf.frp +0 -0
  94. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/FRPTMP/par_saf.frp +0 -0
  95. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/FRPTMP/sac_saf.frp +0 -0
  96. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/af.asc +0 -0
  97. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/ages.tmp +0 -0
  98. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/ant.asc +0 -0
  99. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/aus.asc +0 -0
  100. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/aus_saf.frp +0 -0
  101. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/balt.asc +0 -0
  102. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/col_saf.frp +0 -0
  103. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/congo.asc +0 -0
  104. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/continents.py +0 -0
  105. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/eant_saf.frp +0 -0
  106. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/eur.asc +0 -0
  107. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/eur_saf.frp +0 -0
  108. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/finrot_saf.txt +0 -0
  109. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/globalapwps.txt +0 -0
  110. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/gond.asc +0 -0
  111. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/grn.asc +0 -0
  112. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/grn_saf.frp +0 -0
  113. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/ib_eur.frp +0 -0
  114. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/ind.asc +0 -0
  115. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/ind.bak +0 -0
  116. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/ind_saf.frp +0 -0
  117. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/kala.asc +0 -0
  118. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/lau.asc +0 -0
  119. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/mad_saf.frp +0 -0
  120. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/mkcont.py +0 -0
  121. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/mkfrp.py +0 -0
  122. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/nam.asc +0 -0
  123. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/nam_saf.frp +0 -0
  124. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/neaf_saf.frp +0 -0
  125. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/nwaf_saf.frp +0 -0
  126. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/par_saf.frp +0 -0
  127. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/plates.asc +0 -0
  128. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/sac_saf.frp +0 -0
  129. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/saf.frp +0 -0
  130. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/sam.asc +0 -0
  131. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Continents/waf.asc +0 -0
  132. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ErMagicBuilder/Z35.sam.magic +0 -0
  133. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ErMagicBuilder/Z35_er_samples.txt +0 -0
  134. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ErMagicBuilder/Z35_er_sites.txt +0 -0
  135. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ErMagicBuilder/Z35_er_specimens.txt +0 -0
  136. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ErMagicBuilder/er_ages.txt +0 -0
  137. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ErMagicBuilder/er_locations.txt +0 -0
  138. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ErMagicBuilder/er_samples.txt +0 -0
  139. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ErMagicBuilder/er_sites.txt +0 -0
  140. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ErMagicBuilder/er_specimens.txt +0 -0
  141. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ErMagicBuilder/magic_measurements.txt +0 -0
  142. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Figures/atrm_meas.png +0 -0
  143. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Figures/chartmaker.png +0 -0
  144. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Figures/meas15.png +0 -0
  145. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Figures/samples.png +0 -0
  146. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/PmagPy-cli.ipynb +0 -0
  147. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/PmagPy_MagIC.ipynb +0 -0
  148. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/PmagPy_calculations.ipynb +0 -0
  149. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/PmagPy_introduction.ipynb +0 -0
  150. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/PmagPy_online.ipynb +0 -0
  151. {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
  152. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/3_0/ages.txt +0 -0
  153. {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
  154. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/3_0/contribution.txt +0 -0
  155. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/3_0/criteria.txt +0 -0
  156. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/3_0/demag_orient.txt +0 -0
  157. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/3_0/locations.txt +0 -0
  158. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/3_0/measurements.txt +0 -0
  159. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/3_0/new_samples.txt +0 -0
  160. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/3_0/new_sites.txt +0 -0
  161. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/3_0/new_specimens.txt +0 -0
  162. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/3_0/samples.bak +0 -0
  163. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/3_0/samples.txt +0 -0
  164. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/3_0/sites.bak +0 -0
  165. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/3_0/sites.txt +0 -0
  166. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/3_0/specimens.bak +0 -0
  167. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/3_0/specimens.txt +0 -0
  168. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/3_0/thellier_GUI.log +0 -0
  169. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/SIOfiles/na_sw.atrm +0 -0
  170. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/SIOfiles/na_sw.cool +0 -0
  171. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/SIOfiles/na_sw.thel +0 -0
  172. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/SIOfiles.zip +0 -0
  173. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/ThisProject/SrExample_AF.txt +0 -0
  174. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/ThisProject/SrExample_orient.txt +0 -0
  175. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/ThisProject/SrExample_thellier.txt +0 -0
  176. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/ThisProject/SrExample_thermal.txt +0 -0
  177. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/Pmag_GUI/zmab0083201tmp03.txt +0 -0
  178. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/SVEI_demo.ipynb +0 -0
  179. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/.ipynb_checkpoints/Editing-checkpoint.ipynb +0 -0
  180. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/.ipynb_checkpoints/U1456A-checkpoint.ipynb +0 -0
  181. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/.ipynb_checkpoints/discretes-checkpoint.ipynb +0 -0
  182. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/Core_depthplot.py +0 -0
  183. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/JR6_data/UTESTA.jr6 +0 -0
  184. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/JR6_data/UTESTA_fixed.jr6 +0 -0
  185. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/KLY4S_data/UTESTA.kly4s +0 -0
  186. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/SRM_data/srmdiscrete-XXX-UTEST-A.csv +0 -0
  187. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/SRM_data/srmsection-XXX-UTEST-A.csv +0 -0
  188. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC/CoreSummary_XXX_UTESTA.csv +0 -0
  189. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC/UTESTA.kly4s.magic +0 -0
  190. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC/UTESTA_er_specimens.txt +0 -0
  191. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC/UTESTA_fixed.jr6.magic +0 -0
  192. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC/UTESTA_rmag_anisotropy.txt +0 -0
  193. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC/er_samples.txt +0 -0
  194. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC/er_sites.txt +0 -0
  195. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC/er_specimens.txt +0 -0
  196. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC/magic_measurements.txt +0 -0
  197. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC/pmag_specimens.txt +0 -0
  198. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC/rmag_anisotropy.txt +0 -0
  199. {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
  200. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC/srmdiscrete-XXX-UTEST-A.csv.magic +0 -0
  201. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC/srmsection-XXX-UTEST-A.csv.magic +0 -0
  202. {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
  203. {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
  204. {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
  205. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC3/CoreSummary_XXX_UTESTA.csv +0 -0
  206. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC3/measurements.txt +0 -0
  207. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC3/samples.txt +0 -0
  208. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC3/sites.txt +0 -0
  209. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/UTESTA_MagIC3/specimens.txt +0 -0
  210. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/UTESTA/samples-XXX-UTEST-A.csv +0 -0
  211. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/aarm_magic/aarm_measurements.txt +0 -0
  212. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/aarm_magic/arm_magic_example.dat +0 -0
  213. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/aarm_magic/locations.txt +0 -0
  214. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/aarm_magic/samples.txt +0 -0
  215. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/aarm_magic/sites.txt +0 -0
  216. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/angle/angle.dat +0 -0
  217. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/angle/tmp.out +0 -0
  218. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ani_depthplot/ages.txt +0 -0
  219. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ani_depthplot/er_ages.txt +0 -0
  220. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ani_depthplot/er_locations.txt +0 -0
  221. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ani_depthplot/er_samples.txt +0 -0
  222. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ani_depthplot/er_sites.txt +0 -0
  223. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ani_depthplot/er_specimens.txt +0 -0
  224. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ani_depthplot/magic_contribution_12152.txt +0 -0
  225. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ani_depthplot/magic_measurements.txt +0 -0
  226. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ani_depthplot/magic_methods.txt +0 -0
  227. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ani_depthplot/measurements.txt +0 -0
  228. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ani_depthplot/pmag_specimens.txt +0 -0
  229. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ani_depthplot/rmag_anisotropy.txt +0 -0
  230. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ani_depthplot/samples.txt +0 -0
  231. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ani_depthplot/sites.txt +0 -0
  232. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/ani_depthplot/specimens.txt +0 -0
  233. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/aniso_magic/dike_anisotropy.txt +0 -0
  234. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/aniso_magic/dike_specimens.txt +0 -0
  235. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/aniso_magic/sed_anisotropy.txt +0 -0
  236. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/aniso_magic/sed_specimens.txt +0 -0
  237. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/apwp/apwp_example.dat +0 -0
  238. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/atrm_magic/atrm_magic_example.dat +0 -0
  239. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/atrm_magic/atrm_measurements.txt +0 -0
  240. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/atrm_magic/atrm_measurements3.txt +0 -0
  241. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/atrm_magic/atrm_results.txt +0 -0
  242. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/atrm_magic/locations.txt +0 -0
  243. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/atrm_magic/measurements.txt +0 -0
  244. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/atrm_magic/orig_specimens.txt +0 -0
  245. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/atrm_magic/samples.txt +0 -0
  246. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/atrm_magic/sites.txt +0 -0
  247. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/azdip_magic/azdip_magic_example.dat +0 -0
  248. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/b_vdm/b_vdm_example.dat +0 -0
  249. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/basemap_magic/basemap_example.txt +0 -0
  250. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/biplot_magic/biplot_magic_example.dat +0 -0
  251. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/biplot_magic/contribution.txt +0 -0
  252. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/biplot_magic/locations.txt +0 -0
  253. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/biplot_magic/measurements.txt +0 -0
  254. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/biplot_magic/samples.txt +0 -0
  255. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/biplot_magic/sites.txt +0 -0
  256. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/biplot_magic/specimens.txt +0 -0
  257. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/bootams/bootams_example.dat +0 -0
  258. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/cart_dir/cart_dir_example.dat +0 -0
  259. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/chi_magic/chi_magic_example.dat +0 -0
  260. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/chi_magic/chi_magic_example.txt +0 -0
  261. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/chi_magic/contribution.txt +0 -0
  262. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/chi_magic/locations.txt +0 -0
  263. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/chi_magic/measurements.txt +0 -0
  264. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/chi_magic/samples.txt +0 -0
  265. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/chi_magic/sites.txt +0 -0
  266. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/chi_magic/specimens.txt +0 -0
  267. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/combine_magic/af_measurements.txt +0 -0
  268. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/combine_magic/measurements.txt +0 -0
  269. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/combine_magic/ns_a.mag +0 -0
  270. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/combine_magic/ns_t.mag +0 -0
  271. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/combine_magic/therm_measurements.txt +0 -0
  272. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/common_mean/common_mean_ex_file1.dat +0 -0
  273. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/common_mean/common_mean_ex_file2.dat +0 -0
  274. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_asc_magic/README +0 -0
  275. {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
  276. {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
  277. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_asc_magic/_2g_asc/README +0 -0
  278. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/KodamaFiles/165A.dat +0 -0
  279. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/KodamaFiles/165B.dat +0 -0
  280. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/KodamaFiles/165C.dat +0 -0
  281. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/KodamaFiles/60A.dat +0 -0
  282. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/KodamaFiles/60B.dat +0 -0
  283. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/KodamaFiles/60C.dat +0 -0
  284. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/KodamaFiles/70A.dat +0 -0
  285. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/KodamaFiles/70C.dat +0 -0
  286. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/KodamaFiles/70D.dat +0 -0
  287. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton1ab.dat +0 -0
  288. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton1bb.dat +0 -0
  289. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton1c.dat +0 -0
  290. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton1db.dat +0 -0
  291. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton1e.dat +0 -0
  292. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton1f.dat +0 -0
  293. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton1ga.dat +0 -0
  294. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton1ha.dat +0 -0
  295. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton1ib.dat +0 -0
  296. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton1jb.dat +0 -0
  297. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton1kb.dat +0 -0
  298. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton1la.dat +0 -0
  299. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton1ma.dat +0 -0
  300. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton29ab.dat +0 -0
  301. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton29bb.dat +0 -0
  302. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton29cb.dat +0 -0
  303. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton29da.dat +0 -0
  304. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton29db.dat +0 -0
  305. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton29e.dat +0 -0
  306. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton29eb.dat +0 -0
  307. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton29f.dat +0 -0
  308. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton29ga.dat +0 -0
  309. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton29gc.dat +0 -0
  310. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton29h.dat +0 -0
  311. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton29ib.dat +0 -0
  312. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton29j.dat +0 -0
  313. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton2a.dat +0 -0
  314. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton2b.dat +0 -0
  315. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton2c.dat +0 -0
  316. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton2d.dat +0 -0
  317. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton2e.dat +0 -0
  318. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton2f.dat +0 -0
  319. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton2g.dat +0 -0
  320. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton2h.dat +0 -0
  321. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton2i.dat +0 -0
  322. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton3aa.dat +0 -0
  323. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton3ba.dat +0 -0
  324. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton3ca.dat +0 -0
  325. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton3da.dat +0 -0
  326. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton3ea.dat +0 -0
  327. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton3fb.dat +0 -0
  328. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton3ga.dat +0 -0
  329. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton3ha.dat +0 -0
  330. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton4ab.dat +0 -0
  331. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton4bb.dat +0 -0
  332. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton4c.dat +0 -0
  333. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton4d.dat +0 -0
  334. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton4eb.dat +0 -0
  335. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton4fb.dat +0 -0
  336. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton4gb.dat +0 -0
  337. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton4ha.dat +0 -0
  338. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/MolinaFiles/ton4ia.dat +0 -0
  339. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/README +0 -0
  340. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/MN1.CSV +0 -0
  341. {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
  342. {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
  343. {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
  344. {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
  345. {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
  346. {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
  347. {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
  348. {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
  349. {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
  350. {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
  351. {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
  352. {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
  353. {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
  354. {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
  355. {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
  356. {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
  357. {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
  358. {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
  359. {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
  360. {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
  361. {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
  362. {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
  363. {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
  364. {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
  365. {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
  366. {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
  367. {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
  368. {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
  369. {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
  370. {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
  371. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn1.saf +0 -0
  372. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/2g_bin_magic/mn1/mn1.txt +0 -0
  373. {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
  374. {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
  375. {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
  376. {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
  377. {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
  378. {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
  379. {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
  380. {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
  381. {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
  382. {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
  383. {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
  384. {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
  385. {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
  386. {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
  387. {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
  388. {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
  389. {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
  390. {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
  391. {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
  392. {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
  393. {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
  394. {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
  395. {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
  396. {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
  397. {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
  398. {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
  399. {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
  400. {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
  401. {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
  402. {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
  403. {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
  404. {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
  405. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/agm_magic/agm_magic_example.agm +0 -0
  406. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/agm_magic/agm_magic_example.irm +0 -0
  407. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/bgc_magic/15HHA1-2A +0 -0
  408. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/bgc_magic/15JC4-1A +0 -0
  409. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/bgc_magic/96MT.05.01 +0 -0
  410. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/bgc_magic/96MT.05.01.txt +0 -0
  411. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/bgc_magic/BC0-3A +0 -0
  412. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/bgc_magic/BC0-3A.txt +0 -0
  413. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/bgc_magic/CA14-TA02.05'a +0 -0
  414. {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
  415. {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
  416. {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
  417. {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
  418. {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
  419. {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
  420. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/MIT/7325B/7325B.LSQ +0 -0
  421. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/MIT/7325B/7325B.sam +0 -0
  422. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/MIT/7325B/7325B71 +0 -0
  423. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/MIT/7325B/7325B72 +0 -0
  424. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/MIT/7325B/7325B73 +0 -0
  425. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/MIT/7325B/7325B74 +0 -0
  426. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/MIT/7325B/7325B75 +0 -0
  427. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/MIT/7325B/7325B76 +0 -0
  428. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/MIT/7325B/7325B77 +0 -0
  429. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/MIT/7325B/7325B78 +0 -0
  430. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/MIT/7325B/7325B79 +0 -0
  431. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/PI47/PI47-.sam +0 -0
  432. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/PI47/PI47-1a +0 -0
  433. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/PI47/PI47-2a +0 -0
  434. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/PI47/PI47-3a +0 -0
  435. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/PI47/PI47-4a +0 -0
  436. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/PI47/PI47-5a +0 -0
  437. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/PI47/PI47-6a +0 -0
  438. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/PI47/PI47-7a +0 -0
  439. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/PI47/PI47-8a +0 -0
  440. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/PI47/PI47-9a +0 -0
  441. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/PI47/locations.txt +0 -0
  442. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/PI47/measurements.txt +0 -0
  443. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/PI47/samples.txt +0 -0
  444. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/PI47/sites.txt +0 -0
  445. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/PI47/specimens.txt +0 -0
  446. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/README +0 -0
  447. {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
  448. {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
  449. {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
  450. {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
  451. {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
  452. {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
  453. {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
  454. {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
  455. {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
  456. {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
  457. {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
  458. {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
  459. {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
  460. {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
  461. {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
  462. {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
  463. {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
  464. {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
  465. {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
  466. {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
  467. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/USGS/bl9-1/command +0 -0
  468. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/cit_magic/sample_formats.pdf +0 -0
  469. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/fla_magic/README +0 -0
  470. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/fla_magic/mejia04.pdf +0 -0
  471. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/fla_magic/pa_thermal.fla +0 -0
  472. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/fla_magic/pt_af.fla +0 -0
  473. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/generic_magic/generic_magic_example.txt +0 -0
  474. {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
  475. {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
  476. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/huji_magic/README +0 -0
  477. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/huji_magic/magdelkrum.txt +0 -0
  478. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/huji_magic/magdelkrum_datafile.txt +0 -0
  479. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/iodp_jr6_magic/er_samples.txt +0 -0
  480. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/iodp_jr6_magic/test.jr6 +0 -0
  481. {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
  482. {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
  483. {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
  484. {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
  485. {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
  486. {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
  487. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/AF.jr6 +0 -0
  488. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/AF.txt +0 -0
  489. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/AF_samples.txt +0 -0
  490. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/AF_sites.txt +0 -0
  491. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/AF_specimens.txt +0 -0
  492. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/AP12.jr6 +0 -0
  493. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/AP12.tmp +0 -0
  494. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/AP12.txt +0 -0
  495. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/README +0 -0
  496. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/SML01.JR6 +0 -0
  497. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/SML02.JR6 +0 -0
  498. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/SML03.JR6 +0 -0
  499. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/SML04.JR6 +0 -0
  500. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/SML05.JR6 +0 -0
  501. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/SML06.JR6 +0 -0
  502. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/SML07.JR6 +0 -0
  503. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/TRM.jr6 +0 -0
  504. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/TRM.txt +0 -0
  505. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/TRM_samples.txt +0 -0
  506. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/TRM_sites.txt +0 -0
  507. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/TRM_specimens.txt +0 -0
  508. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/locations.txt +0 -0
  509. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/measurements.txt +0 -0
  510. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/samples.txt +0 -0
  511. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/sites.txt +0 -0
  512. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/jr6_magic/specimens.txt +0 -0
  513. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/k15_magic/k15_example.dat +0 -0
  514. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/kly4s_magic/KLY4S_magic_example.dat +0 -0
  515. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/ldeo_magic/ldeo_magic_example.dat +0 -0
  516. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_C+/CHEV.livdb +0 -0
  517. {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
  518. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_C+/measurements.txt +0 -0
  519. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_C+/samples.txt +0 -0
  520. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_C+/sites.txt +0 -0
  521. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_C+/specimens.txt +0 -0
  522. {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
  523. {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
  524. {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
  525. {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
  526. {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
  527. {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
  528. {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
  529. {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
  530. {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
  531. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_OT+/measurements.txt +0 -0
  532. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_OT+/samples.txt +0 -0
  533. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_OT+/sites.txt +0 -0
  534. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_OT+/specimens.txt +0 -0
  535. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_P/measurements.txt +0 -0
  536. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_P/perp.csv +0 -0
  537. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_P/samples.txt +0 -0
  538. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_P/sites.txt +0 -0
  539. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/MW_P/specimens.txt +0 -0
  540. {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
  541. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/TH_IZZI+/measurements.txt +0 -0
  542. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/TH_IZZI+/samples.txt +0 -0
  543. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/TH_IZZI+/sites.txt +0 -0
  544. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/livdb_magic/TH_IZZI+/specimens.txt +0 -0
  545. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/mini_magic/Peru_rev1.txt +0 -0
  546. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/mini_magic/Peru_rev1_description.rtf +0 -0
  547. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/mst_magic/curie_example.dat +0 -0
  548. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/IPGP/0110C.PMD +0 -0
  549. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/IPGP/0210C.pmd +0 -0
  550. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/README +0 -0
  551. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/UCSC/PMD/ss0101a.pmd +0 -0
  552. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/UCSC/PMD/ss0102a.pmd +0 -0
  553. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/UCSC/PMD/ss0103a.pmd +0 -0
  554. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/UCSC/PMD/ss0104a.pmd +0 -0
  555. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/UCSC/PMD/ss0105a.pmd +0 -0
  556. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/UCSC/PMD/ss0106a.pmd +0 -0
  557. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/UCSC/PMD/ss0107a.pmd +0 -0
  558. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/UCSC/PMD/ss0108a.pmd +0 -0
  559. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/UCSC/PMD/ss0201a.pmd +0 -0
  560. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/UCSC/PMD/ss0202a.pmd +0 -0
  561. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/UCSC/PMD/ss0203a.pmd +0 -0
  562. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/UCSC/PMD/ss0204a.pmd +0 -0
  563. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/UCSC/PMD/ss0205a.pmd +0 -0
  564. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/UCSC/PMD/ss0206a.pmd +0 -0
  565. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/UCSC/PMD/ss0207a.pmd +0 -0
  566. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/UCSC/PMD/ss0208c.pmd +0 -0
  567. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/pmd_magic/UCSC/ssDirAll.pmm +0 -0
  568. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/s_magic/s_magic_example.dat +0 -0
  569. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/SantaRosa2006.scz +0 -0
  570. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/cy01.pmm +0 -0
  571. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/cy02.pmm +0 -0
  572. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/cy03.pmm +0 -0
  573. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/cy04.pmm +0 -0
  574. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/cy05.pmm +0 -0
  575. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/cy06.pmm +0 -0
  576. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/cy07.pmm +0 -0
  577. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/cy08.pmm +0 -0
  578. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/cy09.pmm +0 -0
  579. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/cy10.pmm +0 -0
  580. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/cy11.pmm +0 -0
  581. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/cy12.pmm +0 -0
  582. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/cy13.pmm +0 -0
  583. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/cy13A.pmm +0 -0
  584. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/cy13B.pmm +0 -0
  585. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/cy14.pmm +0 -0
  586. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/cy15.pmm +0 -0
  587. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/scz_magic/CanyonCreek/santaRosa.pmm +0 -0
  588. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/sio_magic/locations.txt +0 -0
  589. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/sio_magic/samples.txt +0 -0
  590. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/sio_magic/sio_af_example.dat +0 -0
  591. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/sio_magic/sio_thermal_example.dat +0 -0
  592. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/sio_magic/sites.txt +0 -0
  593. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/sio_magic/specimens.txt +0 -0
  594. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/sufar_asc_magic/measurements.txt +0 -0
  595. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/sufar_asc_magic/samples.txt +0 -0
  596. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/sufar_asc_magic/sites.txt +0 -0
  597. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/sufar_asc_magic/specimens.txt +0 -0
  598. {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
  599. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/tdt_magic/Krasa_MGH1.tdt +0 -0
  600. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/tdt_magic/Krasa_MGH1_noAC.tdt +0 -0
  601. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/utrecht_magic/Utrecht_Example.af +0 -0
  602. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/utrecht_magic/locations.txt +0 -0
  603. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/utrecht_magic/measurements.txt +0 -0
  604. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/utrecht_magic/samples.txt +0 -0
  605. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/utrecht_magic/sites.txt +0 -0
  606. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_2_magic/utrecht_magic/specimens.txt +0 -0
  607. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_ages/magic_downloaded_rows.txt +0 -0
  608. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_samples/Iceland_orient.txt_Northern_Iceland.txt +0 -0
  609. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_samples/README +0 -0
  610. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_samples/convert_samples_example.dat +0 -0
  611. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/convert_samples/orient_Northern_Iceland.txt +0 -0
  612. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/copy_ErMagicBuilder/Z35.sam.magic +0 -0
  613. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/copy_ErMagicBuilder/Z35_er_samples.txt +0 -0
  614. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/copy_ErMagicBuilder/Z35_er_sites.txt +0 -0
  615. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/copy_ErMagicBuilder/Z35_er_specimens.txt +0 -0
  616. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/copy_ErMagicBuilder/copy_er_ages.txt +0 -0
  617. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/copy_ErMagicBuilder/er_ages.txt +0 -0
  618. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/copy_ErMagicBuilder/er_locations.txt +0 -0
  619. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/copy_ErMagicBuilder/er_samples.txt +0 -0
  620. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/copy_ErMagicBuilder/er_sites.txt +0 -0
  621. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/copy_ErMagicBuilder/er_specimens.txt +0 -0
  622. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/copy_ErMagicBuilder/magic_measurements.txt +0 -0
  623. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/copy_ErMagicBuilder/pmag_samples.txt +0 -0
  624. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/copy_ErMagicBuilder/pmag_sites.txt +0 -0
  625. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/copy_ErMagicBuilder/pmag_specimens.txt +0 -0
  626. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/copy_ErMagicBuilder/weird_er_ages.txt +0 -0
  627. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/core_depthplot/ages.txt +0 -0
  628. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/core_depthplot/core_depthplot_fixed.txt +0 -0
  629. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/core_depthplot/er_ages.txt +0 -0
  630. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/core_depthplot/er_citations.txt +0 -0
  631. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/core_depthplot/er_locations.txt +0 -0
  632. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/core_depthplot/er_samples.txt +0 -0
  633. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/core_depthplot/er_sites.txt +0 -0
  634. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/core_depthplot/er_specimens.txt +0 -0
  635. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/core_depthplot/locations.txt +0 -0
  636. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/core_depthplot/magic_measurements.txt +0 -0
  637. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/core_depthplot/measurements.txt +0 -0
  638. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/core_depthplot/pmag_results.txt +0 -0
  639. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/core_depthplot/pmag_specimens.txt +0 -0
  640. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/core_depthplot/samples.txt +0 -0
  641. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/core_depthplot/sites.txt +0 -0
  642. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/core_depthplot/specimens.txt +0 -0
  643. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/curie/curie_example.dat +0 -0
  644. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/dayplot_magic/dayplot_magic_example.dat +0 -0
  645. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/dayplot_magic/specimens.txt +0 -0
  646. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/di_eq/di_eq_example.dat +0 -0
  647. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/di_eq/tmp +0 -0
  648. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/di_eq/tmp1 +0 -0
  649. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/di_geo/di_geo.out +0 -0
  650. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/di_geo/di_geo_example.dat +0 -0
  651. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/di_rot/di_rot.out +0 -0
  652. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/di_rot/di_rot_example.txt +0 -0
  653. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/di_rot/fishrot.out +0 -0
  654. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/di_tilt/di_tilt.out +0 -0
  655. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/di_tilt/di_tilt_example.dat +0 -0
  656. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/di_vgp/di_vgp_example.dat +0 -0
  657. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/dipole_pinc/dipole_pinc_example.dat +0 -0
  658. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/dipole_plat/dipole_plat_example.dat +0 -0
  659. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/dir_cart/dir_cart_example.dat +0 -0
  660. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/dmag_magic/contribution.txt +0 -0
  661. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/dmag_magic/dmag_magic_example.dat +0 -0
  662. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/dmag_magic/locations.txt +0 -0
  663. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/dmag_magic/magic_contribution_16338.txt +0 -0
  664. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/dmag_magic/measurements.txt +0 -0
  665. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/dmag_magic/samples.txt +0 -0
  666. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/dmag_magic/sites.txt +0 -0
  667. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/dmag_magic/specimens.txt +0 -0
  668. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/eigs_s/eigs_s_example.dat +0 -0
  669. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/eq_di/eq_di_example.dat +0 -0
  670. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/eq_di/tmp +0 -0
  671. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/eqarea/fishrot.out +0 -0
  672. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/eqarea_ell/eqarea_ell_example.txt +0 -0
  673. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/eqarea_ell/tk03.out +0 -0
  674. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/eqarea_magic/measurements.txt +0 -0
  675. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/eqarea_magic/pmag_results.txt +0 -0
  676. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/eqarea_magic/samples.txt +0 -0
  677. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/eqarea_magic/site_results.txt +0 -0
  678. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/eqarea_magic/sites.txt +0 -0
  679. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/eqarea_magic/specimens.txt +0 -0
  680. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/etopo20/etopo20data.gz +0 -0
  681. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/etopo20/etopo20lats.gz +0 -0
  682. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/etopo20/etopo20lons.gz +0 -0
  683. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/find_EI/find_EI_example.dat +0 -0
  684. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/find_EI/tmp +0 -0
  685. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/fishqq/fishqq_example.txt +0 -0
  686. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/fishrot/fishrot.out +0 -0
  687. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/foldtest/foldtest_example.dat +0 -0
  688. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/foldtest_magic/er_citations.txt +0 -0
  689. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/foldtest_magic/er_locations.txt +0 -0
  690. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/foldtest_magic/er_sites.txt +0 -0
  691. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/foldtest_magic/magic_contribution_11087.txt +0 -0
  692. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/foldtest_magic/magic_methods.txt +0 -0
  693. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/foldtest_magic/pmag_results.txt +0 -0
  694. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/foldtest_magic/pmag_sites.txt +0 -0
  695. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/foldtest_magic/sites.txt +0 -0
  696. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/forc_diagram/.ipynb_checkpoints/forc_diagram-checkpoint.ipynb +0 -0
  697. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/forc_diagram/conventional_example.forc +0 -0
  698. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/forc_diagram/irforc_exmaple.irforc +0 -0
  699. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/gaussian/gauss.out +0 -0
  700. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/generic_magic/ATRM/README +0 -0
  701. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/generic_magic/ATRM/generic_ATRM.txt +0 -0
  702. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/generic_magic/ATRM/generic_ATRM.txt.magic +0 -0
  703. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/generic_magic/CR/README +0 -0
  704. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/generic_magic/CR/generic_CR.magic +0 -0
  705. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/generic_magic/CR/generic_CR.txt +0 -0
  706. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/generic_magic/Demag/README.txt +0 -0
  707. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/generic_magic/Demag/generic_demag.txt +0 -0
  708. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/generic_magic/PI/README +0 -0
  709. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/generic_magic/PI/generic_izzi.txt +0 -0
  710. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/geomagia/geomagia_sel.txt +0 -0
  711. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/gobing/gobing_example.txt +0 -0
  712. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/gofish/fishrot.out +0 -0
  713. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/gokent/gokent_example.txt +0 -0
  714. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/gokent/tk03.out +0 -0
  715. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/goprinc/goprinc_example.txt +0 -0
  716. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/goprinc/tk03.out +0 -0
  717. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/grab_magic_key/lats +0 -0
  718. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/hysteresis_magic/hysteresis_magic_example.dat +0 -0
  719. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/hysteresis_magic/measurements.txt +0 -0
  720. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/igrf/igrf.out +0 -0
  721. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/igrf/igrf_example.dat +0 -0
  722. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/incfish/incfish_example_di.dat +0 -0
  723. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/incfish/incfish_example_inc.dat +0 -0
  724. {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
  725. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/.ipynb_checkpoints/U999A-checkpoint.ipynb +0 -0
  726. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/Figures/U999A_1.pdf +0 -0
  727. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/Figures/U999A_anisotropy_xmastree.pdf +0 -0
  728. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/ProcessingPmagData.docx +0 -0
  729. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/Core Summary_18_5_2019.csv +0 -0
  730. {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
  731. {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
  732. {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
  733. {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
  734. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/Section Summary_17_5_2019.csv +0 -0
  735. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/U1999A_xray_disturbance.xlsx +0 -0
  736. {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
  737. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/U999A_MagIC/dscr_measurements.txt +0 -0
  738. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/U999A_MagIC/jr6_measurements.txt +0 -0
  739. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/U999A_MagIC/kly4s_measurements.txt +0 -0
  740. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/U999A_MagIC/kly4s_specimens.txt +0 -0
  741. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/U999A_MagIC/lims_samples.txt +0 -0
  742. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/U999A_MagIC/lims_sites.txt +0 -0
  743. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/U999A_MagIC/lims_specimens.txt +0 -0
  744. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/U999A_MagIC/locations.txt +0 -0
  745. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/U999A_MagIC/samples.txt +0 -0
  746. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/U999A_MagIC/sites.txt +0 -0
  747. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/U999A_MagIC/specimens.txt +0 -0
  748. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/U999A_MagIC/srm_arch_measurements.txt +0 -0
  749. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/U999A_MagIC/srm_arch_samples.txt +0 -0
  750. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/U999A_MagIC/srm_arch_sites.txt +0 -0
  751. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/U999A_MagIC/srm_arch_specimens.txt +0 -0
  752. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/U999A_MagIC/srm_dscr_measurements.txt +0 -0
  753. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/U999A_disturbances.xlsx +0 -0
  754. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A/samples_17_5_2019.csv +0 -0
  755. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/iodp_magic/U999A.ipynb +0 -0
  756. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/irm_unmix/irm_unmix_example.dat +0 -0
  757. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/irm_unmix/irm_unmix_example_fit.csv +0 -0
  758. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/irmaq_magic/U1359A_IRM_coil2.txt +0 -0
  759. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/irmaq_magic/U1359A_IRM_coil3.txt +0 -0
  760. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/irmaq_magic/measurements.txt +0 -0
  761. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/k15_magic/k15_example.dat +0 -0
  762. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/k15_s/k15_example.dat +0 -0
  763. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/kly4s_magic/KLY4S_magic_example.dat +0 -0
  764. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/lnp_magic/ages.txt +0 -0
  765. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/lnp_magic/criteria.txt +0 -0
  766. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/lnp_magic/locations.txt +0 -0
  767. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/lnp_magic/measurements.txt +0 -0
  768. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/lnp_magic/samples.txt +0 -0
  769. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/lnp_magic/sites.txt +0 -0
  770. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/lnp_magic/specimens.txt +0 -0
  771. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/lnp_magic/zmab0001193tmp02.txt +0 -0
  772. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/lowrie/lowrie_example.dat +0 -0
  773. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/lowrie/lowrie_magic_example.dat +0 -0
  774. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/lowrie_magic/lowrie_example.dat +0 -0
  775. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/lowrie_magic/lowrie_magic_example.dat +0 -0
  776. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/lowrie_magic/measurements.txt +0 -0
  777. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/magic_gui/3_0/SrExample_AF.txt.magic +0 -0
  778. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/magic_gui/3_0/SrExample_AF_er_samples.txt +0 -0
  779. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/magic_gui/3_0/SrExample_thellier.txt.magic +0 -0
  780. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/magic_gui/3_0/SrExample_thellier_er_samples.txt +0 -0
  781. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/magic_gui/3_0/SrExample_thermal.txt.magic +0 -0
  782. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/magic_gui/3_0/SrExample_thermal_er_samples.txt +0 -0
  783. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/magic_gui/3_0/er_samples.txt +0 -0
  784. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/magic_gui/3_0/magic_measurements.txt +0 -0
  785. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/magic_gui/3_0/measurements.txt +0 -0
  786. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/magic_gui/3_0/samples.txt +0 -0
  787. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/magic_gui/3_0/specimens.txt +0 -0
  788. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/magic_select/AF_BFL_specimens.txt +0 -0
  789. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/magic_select/AF_specimens.txt +0 -0
  790. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/magic_select/pmag_specimens.txt +0 -0
  791. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/magic_select/specimens.txt +0 -0
  792. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/measurements_normalize/irm_measurements.txt +0 -0
  793. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/measurements_normalize/specimens_weight.txt +0 -0
  794. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/misc_files/er_specimens.txt +0 -0
  795. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/misc_files/pmag_specimens.txt +0 -0
  796. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/mk_redo/er_ages.txt +0 -0
  797. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/mk_redo/er_citations.txt +0 -0
  798. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/mk_redo/er_locations.txt +0 -0
  799. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/mk_redo/er_samples.txt +0 -0
  800. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/mk_redo/er_sites.txt +0 -0
  801. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/mk_redo/er_specimens.txt +0 -0
  802. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/mk_redo/magic_measurements.txt +0 -0
  803. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/mk_redo/magic_methods.txt +0 -0
  804. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/mk_redo/pmag_criteria.txt +0 -0
  805. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/mk_redo/pmag_results.txt +0 -0
  806. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/mk_redo/pmag_samples.txt +0 -0
  807. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/mk_redo/pmag_sites.txt +0 -0
  808. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/mk_redo/pmag_specimens.txt +0 -0
  809. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/mk_redo/specimens.txt +0 -0
  810. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/mk_redo/zmab0083201tmp03.txt +0 -0
  811. {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
  812. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/notebooks/Intro to MagIC Contributions.ipynb +0 -0
  813. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/notebooks/Intro to MagicDataFrames.ipynb +0 -0
  814. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/notebooks/Uploading contributions (with validations).ipynb +0 -0
  815. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/notebooks/Validate Quoted Strings.ipynb +0 -0
  816. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/notebooks/data_model_conversion.ipynb +0 -0
  817. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/notebooks/thellier_gui3_0_tester.ipynb +0 -0
  818. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/nrm_specimens_magic/magic_contribution_15143.txt +0 -0
  819. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/nrm_specimens_magic/nrm_specimens.txt +0 -0
  820. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/orientation_magic/orient_example.txt +0 -0
  821. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/parse_measurements/magic_measurements.txt +0 -0
  822. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pca/pca_example.txt +0 -0
  823. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pca/zeq_example.dat +0 -0
  824. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/plotXY/plotXY.png +0 -0
  825. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/plotXY/plotXY.svg +0 -0
  826. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/plotXY/plotxy_example.txt +0 -0
  827. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/plotXY/tmp +0 -0
  828. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/plot_cdf/gaussian.out +0 -0
  829. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/plot_map_pts/Map_PTS.png +0 -0
  830. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/plot_map_pts/uniform.out +0 -0
  831. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/plotdi_a/plotdi_a_example.dat +0 -0
  832. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pmag_results_extract/Directions.tex +0 -0
  833. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pmag_results_extract/Directions.txt +0 -0
  834. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pmag_results_extract/Intensities.tex +0 -0
  835. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pmag_results_extract/Intensities.txt +0 -0
  836. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pmag_results_extract/SiteNfo.tex +0 -0
  837. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pmag_results_extract/SiteNfo.txt +0 -0
  838. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pmag_results_extract/pmag_results.txt +0 -0
  839. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pmag_results_extract/pmag_specimens.txt +0 -0
  840. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/polemap_magic/locations.txt +0 -0
  841. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pt_rot/Map_PTS.pdf +0 -0
  842. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pt_rot/lon_lat +0 -0
  843. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pt_rot/nam_180-200.txt +0 -0
  844. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pt_rot/nam_panA.frp +0 -0
  845. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pt_rot/panA.out +0 -0
  846. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pt_rot/pt_rot.input +0 -0
  847. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pt_rot/pt_rot.out +0 -0
  848. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pt_rot/pt_rot_example.dat +0 -0
  849. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/pt_rot/pt_rot_panA.out +0 -0
  850. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/qqplot/gauss.out +0 -0
  851. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/quick_hyst/hysteresis_magic_example3.dat +0 -0
  852. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/quick_hyst2/hysteresis_magic_example.dat +0 -0
  853. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/remanence_anisotropy_magic/README +0 -0
  854. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/revtest/revtest_example.txt +0 -0
  855. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/revtest_magic/criteria.txt +0 -0
  856. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/revtest_magic/revtest_magic_example.txt +0 -0
  857. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/revtest_magic/sites.txt +0 -0
  858. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/s_eigs/s_eigs_example.dat +0 -0
  859. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/s_geo/s_geo_example.dat +0 -0
  860. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/s_hext/s_geo_example.dat +0 -0
  861. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/s_magic/s_magic_example.dat +0 -0
  862. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/s_magic/specimens.txt +0 -0
  863. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/s_tilt/s_tilt_example.dat +0 -0
  864. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/scalc/scalc_example.txt +0 -0
  865. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/scalc_magic/pmag_results.txt +0 -0
  866. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/scalc_magic/sites.txt +0 -0
  867. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/scalc_magic/vgp_lat +0 -0
  868. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/site_edit_magic/thellier_redo +0 -0
  869. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/site_edit_magic/zeq_redo +0 -0
  870. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/site_edit_magic/zmab0083201tmp03.txt +0 -0
  871. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/squish/squish_example.dat +0 -0
  872. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/stats/gaussian.out +0 -0
  873. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/strip_magic/pmag_results.txt +0 -0
  874. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/strip_magic/sites.txt +0 -0
  875. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/strip_magic/sites_with_vgps.txt +0 -0
  876. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/sundec/sundec_example.dat +0 -0
  877. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/__init__.py +0 -0
  878. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/empty_dir/blank.txt +0 -0
  879. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/methods/er_ages.txt +0 -0
  880. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/methods/er_locations.txt +0 -0
  881. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/methods/er_samples.txt +0 -0
  882. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/methods/er_sites.txt +0 -0
  883. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/methods/er_specimens.txt +0 -0
  884. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/methods/location_09.Oct.2015.txt +0 -0
  885. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/methods/location_14.Oct.2015.txt +0 -0
  886. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/methods/location_16.Aug.2015.txt +0 -0
  887. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/methods/location_16.Aug.2015_1.txt +0 -0
  888. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/methods/pmag_specimens.txt +0 -0
  889. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project/__init__.py +0 -0
  890. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project/er_ages.txt +0 -0
  891. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project/er_locations.txt +0 -0
  892. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project/er_samples.txt +0 -0
  893. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project/er_samples_orient.txt +0 -0
  894. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project/er_sites.txt +0 -0
  895. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project/er_sites_orient.txt +0 -0
  896. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project/er_specimens.txt +0 -0
  897. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project/magic_measurements.txt +0 -0
  898. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project/thellier_GUI.log +0 -0
  899. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project/thellier_interpreter/thellier_interpreter.log +0 -0
  900. {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
  901. {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
  902. {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
  903. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project/thellier_interpreter/thellier_interpreter_all.txt +0 -0
  904. {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
  905. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project_with_errors/__init__.py +0 -0
  906. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project_with_errors/er_ages.txt +0 -0
  907. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project_with_errors/er_locations.txt +0 -0
  908. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project_with_errors/er_samples.txt +0 -0
  909. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project_with_errors/er_samples_orient.txt +0 -0
  910. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project_with_errors/er_sites.txt +0 -0
  911. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project_with_errors/er_sites_orient.txt +0 -0
  912. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project_with_errors/er_specimens.txt +0 -0
  913. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project_with_errors/magic_measurements.txt +0 -0
  914. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/my_project_with_errors/something.py +0 -0
  915. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/odp_magic/odp_magic_er_samples.txt +0 -0
  916. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/validation/Jack-Hills_19.Apr.2020_4.txt +0 -0
  917. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/validation/Jack-Hills_19.Apr.2020_5.txt +0 -0
  918. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/validation/er_locations.txt +0 -0
  919. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/validation/er_sites.txt +0 -0
  920. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/validation/location1_30.Dec.2015.txt +0 -0
  921. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/testing/validation/location1_30.Dec.2015_1.txt +0 -0
  922. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/Megiddo_unpublished_example/er_ages.txt +0 -0
  923. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/Megiddo_unpublished_example/er_locations.txt +0 -0
  924. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/SU1_example/er_ages.txt +0 -0
  925. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/SU1_example/er_locations.txt +0 -0
  926. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/SU1_example/optimizer_test_groups.txt +0 -0
  927. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/Tauxe_2006_example/er_ages.txt +0 -0
  928. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/Tauxe_2006_example/er_citations.txt +0 -0
  929. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/Tauxe_2006_example/er_expeditions.txt +0 -0
  930. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/Tauxe_2006_example/er_locations.txt +0 -0
  931. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/Tauxe_2006_example/er_test_groups.txt +0 -0
  932. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/Tauxe_2006_example/magic_methods.txt +0 -0
  933. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/Tauxe_2006_example/pmag_results.txt +0 -0
  934. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/Tauxe_2006_example/pmag_samples.txt +0 -0
  935. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/Tauxe_2006_example/pmag_sites.txt +0 -0
  936. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/Tauxe_2006_example/pmag_specimens.txt +0 -0
  937. {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
  938. {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
  939. {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
  940. {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
  941. {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
  942. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/Tauxe_2006_example/thellier_redo +0 -0
  943. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/Tauxe_2006_example/thellier_specimens.txt +0 -0
  944. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/Tauxe_2006_example/zmab0094380tmp01.txt +0 -0
  945. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_GUI/thellier_GUI_full_manual_1_0.pdf +0 -0
  946. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_magic/measurements.txt +0 -0
  947. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/thellier_magic/zmab0100159tmp01.txt +0 -0
  948. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/tk03/tk03.out +0 -0
  949. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/tsunakawa_shaw/raw_data/mc120c-SA4.d +0 -0
  950. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/uniform/uniform.out +0 -0
  951. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/unsquish/unsquish_example.dat +0 -0
  952. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/upload_magic/er_ages.txt +0 -0
  953. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/upload_magic/er_citations.txt +0 -0
  954. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/upload_magic/er_locations.txt +0 -0
  955. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/upload_magic/magic_methods.txt +0 -0
  956. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/upload_magic/pmag_results.txt +0 -0
  957. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/upload_magic/pmag_samples.txt +0 -0
  958. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/upload_magic/pmag_sites.txt +0 -0
  959. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/upload_magic/pmag_specimens.txt +0 -0
  960. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/upload_magic/thellier_specimens.txt +0 -0
  961. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/upload_magic/upload.txt +0 -0
  962. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/upload_magic/upload_dos.txt +0 -0
  963. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/upload_magic/zeq_specimens.txt +0 -0
  964. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/vdm_b/vdm_b_example.dat +0 -0
  965. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/vector_mean/vector_mean_example.dat +0 -0
  966. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/vgp_di/vgp_di_example.dat +0 -0
  967. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/vgpmap_magic/pmag_results.txt +0 -0
  968. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/vgpmap_magic/sites.txt +0 -0
  969. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/watsons_f/watsons_f_example_file1.dat +0 -0
  970. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/watsons_f/watsons_f_example_file2.dat +0 -0
  971. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/xpeem_magic/Bryson2019_PVA01-r1.txt +0 -0
  972. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/xpeem_magic/Maurel2020_TeA01Comma-r1onL.txt +0 -0
  973. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/xpeem_magic/Maurel2020_TeA01TwoSpace-r1onL.txt +0 -0
  974. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/zeq/zeq_example.dat +0 -0
  975. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/zeq_magic/measurements.txt +0 -0
  976. {pmagpy-4.3.7.data → pmagpy-4.3.9.data}/data/data_files/zeq_magic/zmab0083201tmp03.txt +0 -0
  977. {pmagpy-4.3.7.dist-info → pmagpy-4.3.9.dist-info}/WHEEL +0 -0
  978. {pmagpy-4.3.7.dist-info → pmagpy-4.3.9.dist-info}/entry_points.txt +0 -0
  979. {pmagpy-4.3.7.dist-info → pmagpy-4.3.9.dist-info}/top_level.txt +0 -0
pmagpy/rockmag.py CHANGED
@@ -22,10 +22,9 @@ except ImportError:
22
22
  try:
23
23
  from bokeh.plotting import figure, show
24
24
  from bokeh.layouts import gridplot
25
- from bokeh.models import HoverTool, Label
25
+ from bokeh.models import HoverTool, ColumnDataSource, PointDrawTool, CustomJS, Div
26
26
  from bokeh.embed import components
27
27
  from bokeh.palettes import Category10
28
- from bokeh.models import ColumnDataSource
29
28
  from bokeh.models.widgets import DataTable, TableColumn
30
29
  from bokeh.layouts import column
31
30
  _HAS_BOKEH = True
@@ -284,7 +283,7 @@ def clean_out_na(dataframe):
284
283
  return cleaned_df
285
284
 
286
285
 
287
- def ms_t_plot(
286
+ def plot_ms_t(
288
287
  data,
289
288
  temperature_column="meas_temp",
290
289
  magnetization_column="magn_mass",
@@ -586,7 +585,8 @@ def plot_mpms_dc(
586
585
  figs.append(p3)
587
586
 
588
587
  layout = gridplot([figs[:2], figs[2:]], sizing_mode="stretch_width")
589
- if show_plot: show(layout)
588
+ if show_plot:
589
+ show(layout)
590
590
  return layout if return_figure else None
591
591
 
592
592
  # Matplotlib branch
@@ -597,37 +597,64 @@ def plot_mpms_dc(
597
597
 
598
598
  if not fc_zfc_present:
599
599
  axes[0,0].set_visible(False)
600
- if plot_derivative: axes[1,0].set_visible(False)
600
+ if plot_derivative:
601
+ axes[1,0].set_visible(False)
601
602
  if not rtsirm_present:
602
603
  axes[0,1].set_visible(False)
603
- if plot_derivative: axes[1,1].set_visible(False)
604
+ if plot_derivative:
605
+ axes[1,1].set_visible(False)
604
606
 
605
607
  if fc_zfc_present:
606
608
  ax = axes[0,0]
607
- if fc is not None: ax.plot(fc["meas_temp"], fc["magn_mass"], color=fc_color, marker=fc_marker, label="FC")
608
- if zfc is not None: ax.plot(zfc["meas_temp"], zfc["magn_mass"], color=zfc_color, marker=zfc_marker, label="ZFC")
609
- ax.set_title("LTSIRM Data"); ax.set_xlabel("Temperature (K)"); ax.set_ylabel("Magnetization"); ax.legend(); ax.grid(True)
609
+ if fc is not None:
610
+ ax.plot(fc["meas_temp"], fc["magn_mass"], color=fc_color, marker=fc_marker, label="FC")
611
+ if zfc is not None:
612
+ ax.plot(zfc["meas_temp"], zfc["magn_mass"], color=zfc_color, marker=zfc_marker, label="ZFC")
613
+ ax.set_title("LTSIRM Data")
614
+ ax.set_xlabel("Temperature (K)")
615
+ ax.set_ylabel("Magnetization")
616
+ ax.legend()
617
+ ax.grid(True)
610
618
 
611
619
  if rtsirm_present:
612
620
  ax = axes[0,1]
613
- if rc is not None: ax.plot(rc["meas_temp"], rc["magn_mass"], color=rtsirm_cool_color, marker=rtsirm_cool_marker, label="cool")
614
- if rw is not None: ax.plot(rw["meas_temp"], rw["magn_mass"], color=rtsirm_warm_color, marker=rtsirm_warm_marker, label="warm")
615
- ax.set_title("RTSIRM Data"); ax.set_xlabel("Temperature (K)"); ax.set_ylabel("Magnetization"); ax.legend(); ax.grid(True)
616
-
617
- if plot_derivative and fc_zfc_present:
618
- ax = axes[1,0]
619
- if fcd is not None: ax.plot(fcd["T"], fcd["dM_dT"], color=fc_color, marker=fc_marker, label="FC dM/dT")
620
- if zfcd is not None: ax.plot(zfcd["T"], zfcd["dM_dT"], color=zfc_color, marker=zfc_marker, label="ZFC dM/dT")
621
- ax.set_title("LTSIRM Derivative"); ax.set_xlabel("Temperature (K)"); ax.set_ylabel("dM/dT"); ax.legend(); ax.grid(True)
621
+ if rc is not None:
622
+ ax.plot(rc["meas_temp"], rc["magn_mass"], color=rtsirm_cool_color, marker=rtsirm_cool_marker, label="cool")
623
+ if rw is not None:
624
+ ax.plot(rw["meas_temp"], rw["magn_mass"], color=rtsirm_warm_color, marker=rtsirm_warm_marker, label="warm")
625
+ ax.set_title("RTSIRM Data")
626
+ ax.set_xlabel("Temperature (K)")
627
+ ax.set_ylabel("Magnetization")
628
+ ax.legend()
629
+ ax.grid(True)
630
+
631
+ if plot_derivative and fc_zfc_present:
632
+ ax = axes[1,0]
633
+ if fcd is not None:
634
+ ax.plot(fcd["T"], fcd["dM_dT"], color=fc_color, marker=fc_marker, label="FC dM/dT")
635
+ if zfcd is not None:
636
+ ax.plot(zfcd["T"], zfcd["dM_dT"], color=zfc_color, marker=zfc_marker, label="ZFC dM/dT")
637
+ ax.set_title("LTSIRM Derivative")
638
+ ax.set_xlabel("Temperature (K)")
639
+ ax.set_ylabel("dM/dT")
640
+ ax.legend()
641
+ ax.grid(True)
622
642
 
623
643
  if plot_derivative and rtsirm_present:
624
644
  ax = axes[1,1]
625
- if rcd is not None: ax.plot(rcd["T"], rcd["dM_dT"], color=rtsirm_cool_color, marker=rtsirm_cool_marker, label="cool dM/dT")
626
- if rwd is not None: ax.plot(rwd["T"], rwd["dM_dT"], color=rtsirm_warm_color, marker=rtsirm_warm_marker, label="warm dM/dT")
627
- ax.set_title("RTSIRM Derivative"); ax.set_xlabel("Temperature (K)"); ax.set_ylabel("dM/dT"); ax.legend(); ax.grid(True)
645
+ if rcd is not None:
646
+ ax.plot(rcd["T"], rcd["dM_dT"], color=rtsirm_cool_color, marker=rtsirm_cool_marker, label="cool dM/dT")
647
+ if rwd is not None:
648
+ ax.plot(rwd["T"], rwd["dM_dT"], color=rtsirm_warm_color, marker=rtsirm_warm_marker, label="warm dM/dT")
649
+ ax.set_title("RTSIRM Derivative")
650
+ ax.set_xlabel("Temperature (K)")
651
+ ax.set_ylabel("dM/dT")
652
+ ax.legend()
653
+ ax.grid(True)
628
654
 
629
655
  fig.tight_layout()
630
- if show_plot: plt.show()
656
+ if show_plot:
657
+ plt.show()
631
658
  return fig if return_figure else None
632
659
 
633
660
 
@@ -913,7 +940,44 @@ def verwey_estimate(temps, mags,
913
940
 
914
941
 
915
942
  def interactive_verwey_estimate(measurements, specimen_dropdown, method_dropdown, figsize=(11, 5)):
916
-
943
+ """
944
+ Create an interactive widget for estimating the Verwey transition temperature from low temperature remanence measurements.
945
+
946
+ This function displays interactive sliders and controls for adjusting background fitting parameters
947
+ and temperature ranges, allowing the user to visually estimate the Verwey transition temperature (T_v)
948
+ for a selected specimen and measurement method. The function updates plots in real-time according to user input,
949
+ enabling exploration of parameter effects on the calculated transition.
950
+
951
+ Parameters
952
+ ----------
953
+ measurements : pandas.DataFrame
954
+ low temperature remanence measurement data containing temperature and magnetization columns for multiple specimens.
955
+ specimen_dropdown : ipywidgets.Dropdown
956
+ Dropdown widget for selecting the specimen to analyze.
957
+ method_dropdown : ipywidgets.Dropdown
958
+ Dropdown widget for selecting the measurement method ('LP-FC' or 'LP-ZFC').
959
+ figsize : tuple of (float, float), optional
960
+ Size of the matplotlib figure, by default (11, 5).
961
+
962
+ Notes
963
+ -----
964
+ - The function uses `ipywidgets` for interactive controls and `matplotlib` for visualization.
965
+ - The background fit and excluded temperature ranges can be adjusted using sliders.
966
+ - The polynomial degree of the background fit is also adjustable.
967
+ - A reset button restores the default slider values.
968
+ - The function relies on supporting functions such as `extract_mpms_data_dc`, `thermomag_derivative`, and `calc_verwey_estimate`.
969
+
970
+ Returns
971
+ -------
972
+ None
973
+ This function is intended for use in Jupyter notebooks or environments that support interactive widgets and inline plotting.
974
+ It displays interactive sliders and plots but does not return a value.
975
+
976
+ Examples
977
+ --------
978
+ >>> interactive_verwey_estimate(measurements_df, specimen_dropdown, method_dropdown)
979
+ Displays an interactive interface for estimating the Verwey transition temperature.
980
+ """
917
981
  selected_specimen_name = specimen_dropdown.value
918
982
  selected_method = method_dropdown.value
919
983
 
@@ -1481,8 +1545,39 @@ def goethite_removal(rtsirm_warm_data,
1481
1545
  return rtsirm_warm_adjusted, rtsirm_cool_adjusted
1482
1546
 
1483
1547
 
1484
- def interactive_goethite_removal(measurements, specimen_dropdown):
1485
-
1548
+ def goethite_removal_interactive(measurements, specimen_dropdown):
1549
+ """
1550
+ Display an interactive widget for fitting and visualizing goethite removal from low temperature remanence data.
1551
+
1552
+ This function creates an interactive interface that allows the user to select a specimen and adjust parameters
1553
+ (temperature range and polynomial degree) for fitting the goethite component in RTSIRM (Room Temperature Saturation Isothermal Remanent Magnetization) warming and cooling curves.
1554
+ The user can visually explore the effect of these parameters on the fit and resulting goethite removal, with real-time updated plots.
1555
+
1556
+ Parameters
1557
+ ----------
1558
+ measurements : pandas.DataFrame
1559
+ Low temperature remanence measurement data containing temperature and magnetization information for multiple specimens.
1560
+ specimen_dropdown : ipywidgets.Dropdown
1561
+ Dropdown widget for selecting the specimen to analyze.
1562
+
1563
+ Notes
1564
+ -----
1565
+ - Uses `ipywidgets` for interactive controls and `matplotlib` for plotting.
1566
+ - The temperature range for the goethite fit and the polynomial degree of the fit can be adjusted via sliders.
1567
+ - A reset button allows restoration of default parameter values.
1568
+ - Supporting functions such as `extract_mpms_data_dc` and `goethite_removal` are required for this function to operate.
1569
+ - This function is intended to be used in a Jupyter notebook or similar interactive environment.
1570
+
1571
+ Returns
1572
+ -------
1573
+ None
1574
+ The function displays interactive widgets and plots for goethite removal but does not return a value.
1575
+
1576
+ Examples
1577
+ --------
1578
+ >>> interactive_goethite_removal(measurements_df, specimen_dropdown)
1579
+ Displays interactive sliders and plots for fitting goethite removal to the selected specimen's data.
1580
+ """
1486
1581
  selected_specimen_name = specimen_dropdown.value
1487
1582
 
1488
1583
  fc_data, zfc_data, rtsirm_cool_data, rtsirm_warm_data = extract_mpms_data_dc(measurements, selected_specimen_name)
@@ -1721,7 +1816,7 @@ def plot_mpms_ac(
1721
1816
  return fig, (ax1, ax2)
1722
1817
 
1723
1818
 
1724
- def MPMS_signal_blender(measurement_1, measurement_2,
1819
+ def mpms_signal_blender(measurement_1, measurement_2,
1725
1820
  spec_1, spec_2,
1726
1821
  experiments=['LP-ZFC', 'LP-FC', 'LP-CW-SIRM:LP-MC', 'LP-CW-SIRM:LP-MW'],
1727
1822
  temp_col='meas_temp', moment_col='magn_mass',
@@ -1791,7 +1886,7 @@ def MPMS_signal_blender(measurement_1, measurement_2,
1791
1886
  return output_dict
1792
1887
 
1793
1888
 
1794
- def MPMS_signal_blender_interactive(measurement_1, measurement_2,
1889
+ def mpms_signal_blender_interactive(measurement_1, measurement_2,
1795
1890
  experiments=['LP-ZFC', 'LP-FC', 'LP-CW-SIRM:LP-MC', 'LP-CW-SIRM:LP-MW'],
1796
1891
  temp_col='meas_temp', moment_col='magn_mass',
1797
1892
  figsize=(12, 6)):
@@ -1841,7 +1936,7 @@ def MPMS_signal_blender_interactive(measurement_1, measurement_2,
1841
1936
  def update(*args):
1842
1937
  ax[0].clear()
1843
1938
  ax[1].clear()
1844
- blender_result = MPMS_signal_blender(
1939
+ blender_result = mpms_signal_blender(
1845
1940
  measurement_1, measurement_2,
1846
1941
  spec_1_dropdown.value, spec_2_dropdown.value,
1847
1942
  experiments=experiments,
@@ -1912,7 +2007,7 @@ def extract_hysteresis_data(df, specimen_name):
1912
2007
 
1913
2008
  return hyst_data
1914
2009
 
1915
- def plot_hysteresis_loop(field, magnetization, specimen_name, p=None, line_color='grey', line_width=1, label='', legend_location='bottom_right'):
2010
+ def plot_hysteresis_loop(field, magnetization, specimen_name, p=None, interactive=True, show_plot=True, return_figure=False, line_color='grey', line_width=1, label='', legend_location='bottom_right'):
1916
2011
  '''
1917
2012
  function to plot a hysteresis loop
1918
2013
 
@@ -1926,31 +2021,51 @@ def plot_hysteresis_loop(field, magnetization, specimen_name, p=None, line_color
1926
2021
  Returns
1927
2022
  -------
1928
2023
  p : bokeh.plotting.figure
2024
+
1929
2025
  '''
1930
2026
  if not _HAS_BOKEH:
1931
2027
  print("Bokeh is not installed. Please install it to enable hysteresis data processing.")
1932
2028
  return
1933
2029
 
1934
2030
  assert len(field) == len(magnetization), 'Field and magnetization arrays must be the same length'
1935
- if p is None:
1936
- p = figure(title=f'{specimen_name} hysteresis loop',
1937
- x_axis_label='Field (T)',
1938
- y_axis_label='Magnetization (Am\u00B2/kg)',
1939
- width=600,
1940
- height=600, aspect_ratio=1)
1941
- p.axis.axis_label_text_font_size = '12pt'
1942
- p.axis.axis_label_text_font_style = 'normal'
1943
- p.title.text_font_size = '14pt'
1944
- p.title.text_font_style = 'bold'
1945
- p.title.align = 'center'
1946
- p.line(field, magnetization, line_width=line_width, color=line_color, legend_label=label)
1947
- p.legend.click_policy="hide"
1948
- p.legend.location = legend_location
1949
- else:
1950
- p.line(field, magnetization, line_width=line_width, color=line_color, legend_label=label)
1951
- p.legend.location = legend_location
1952
-
1953
- return p
2031
+ if interactive:
2032
+ if p is None:
2033
+ p = figure(title=f'{specimen_name} hysteresis loop',
2034
+ x_axis_label='Field (T)',
2035
+ y_axis_label='Magnetization (Am\u00B2/kg)',
2036
+ width=600,
2037
+ height=600, aspect_ratio=1)
2038
+ p.axis.axis_label_text_font_size = '12pt'
2039
+ p.axis.axis_label_text_font_style = 'normal'
2040
+ p.title.text_font_size = '14pt'
2041
+ p.title.text_font_style = 'bold'
2042
+ p.title.align = 'center'
2043
+ p.line(field, magnetization, line_width=line_width, color=line_color, legend_label=label)
2044
+ p.legend.click_policy="hide"
2045
+ p.legend.location = legend_location
2046
+ else:
2047
+ p.line(field, magnetization, line_width=line_width, color=line_color, legend_label=label)
2048
+ p.legend.location = legend_location
2049
+
2050
+ if show_plot:
2051
+ show(p)
2052
+ if return_figure:
2053
+ return p
2054
+ return None
2055
+
2056
+ # static Matplotlib
2057
+ fig, ax = plt.subplots(figsize=(6, 6))
2058
+ ax.plot(field, magnetization, color=line_color, linewidth=line_width, label=label)
2059
+ ax.set_title(f'{specimen_name} hysteresis loop')
2060
+ ax.set_xlabel('Field (T)')
2061
+ ax.set_ylabel('Magnetization (Am²/kg)')
2062
+ ax.legend(loc=legend_location)
2063
+ ax.grid(True)
2064
+ if show_plot:
2065
+ plt.show()
2066
+ if return_figure:
2067
+ return fig, ax
2068
+ return None
1954
2069
 
1955
2070
  def split_hysteresis_loop(field, magnetization):
1956
2071
  '''
@@ -2159,8 +2274,32 @@ def hyst_linearity_test(grid_field, grid_magnetization):
2159
2274
 
2160
2275
  def linefit(xarr, yarr):
2161
2276
  """
2162
- Linear regression fit: y = intercept + slope * x
2163
- Returns: intercept, slope, R^2
2277
+ Perform a simple linear regression (least squares fit) on two arrays.
2278
+
2279
+ Parameters
2280
+ ----------
2281
+ xarr : array_like
2282
+ Array of x-values (independent variable).
2283
+ yarr : array_like
2284
+ Array of y-values (dependent variable), must be the same shape as `xarr`.
2285
+
2286
+ Returns
2287
+ -------
2288
+ intercept : float
2289
+ The intercept of the best-fit line.
2290
+ slope : float
2291
+ The slope of the best-fit line.
2292
+ r2 : float
2293
+ The coefficient of determination (R²), a measure of how well the regression line fits the data.
2294
+ R² = 1 indicates a perfect fit, lower values indicate a poorer fit.
2295
+
2296
+ Examples
2297
+ --------
2298
+ >>> x = [0, 1, 2, 3, 4]
2299
+ >>> y = [1, 3, 5, 7, 9]
2300
+ >>> intercept, slope, r2 = linefit(x, y)
2301
+ >>> print(f"Intercept: {intercept:.2f}, Slope: {slope:.2f}, R^2: {r2:.2f}")
2302
+ Intercept: 1.00, Slope: 2.00, R^2: 1.00
2164
2303
  """
2165
2304
  xarr = np.asarray(xarr)
2166
2305
  yarr = np.asarray(yarr)
@@ -2184,18 +2323,39 @@ def linefit(xarr, yarr):
2184
2323
 
2185
2324
  def loop_H_off(loop_fields, loop_moments, H_shift):
2186
2325
  """
2187
- Estimates a vertical shift (V_shift) and returns R² of a reflected loop.
2188
-
2189
- Arguments:
2190
- - loop_fields: List or array of magnetic field values.
2191
- - loop_moments: Corresponding list or array of magnetic moments.
2192
- - H_shift: Horizontal shift to apply to loop_fields.
2193
-
2194
- Returns:
2195
- - r2: R-squared value from linear regression between original and reflected data.
2196
- - V_shift: Estimated vertical shift (mean of linear fit x-intercept).
2197
- """
2326
+ Estimate the vertical shift (M_shift) and symmetry () of a magnetic hysteresis loop after applying a horizontal field shift.
2327
+
2328
+ This function shifts the field data by a specified amount, finds symmetrically equivalent points in the second half of the loop,
2329
+ and performs a linear regression between the original and reflected/negated data. It then estimates the vertical offset (M_shift)
2330
+ based on the intercept of the regression and returns additional regression results.
2331
+
2332
+ Parameters
2333
+ ----------
2334
+ loop_fields : array_like
2335
+ Array of magnetic field values for the hysteresis loop.
2336
+ loop_moments : array_like
2337
+ Array of corresponding magnetic moment values.
2338
+ H_shift : float
2339
+ Horizontal (field) shift to apply to the loop_fields before symmetry calculation.
2340
+
2341
+ Returns
2342
+ -------
2343
+ result : dict
2344
+ Dictionary containing:
2345
+ - 'slope': float, slope of the linear regression between the original and reflected moments.
2346
+ - 'M_shift': float, estimated vertical shift (half the regression intercept).
2347
+ - 'r2': float, coefficient of determination (R²) for the regression, indicating symmetry.
2198
2348
 
2349
+ Notes
2350
+ -----
2351
+ - The function is typically used to estimate vertical offsets and assess symmetry in magnetic hysteresis loops.
2352
+ - Returns zeros if not enough symmetrical points are found for regression.
2353
+
2354
+ Examples
2355
+ --------
2356
+ >>> res = loop_H_off(fields, moments, H_shift=10)
2357
+ >>> print(res['M_shift'], res['r2'])
2358
+ """
2199
2359
  n = len(loop_fields)
2200
2360
 
2201
2361
  # Apply horizontal shift
@@ -2234,6 +2394,42 @@ def loop_H_off(loop_fields, loop_moments, H_shift):
2234
2394
  return result
2235
2395
 
2236
2396
  def loop_Hshift_brent(loop_fields, loop_moments):
2397
+ """
2398
+ Optimize the horizontal (field) shift of a magnetic hysteresis loop using Brent's method to maximize symmetry.
2399
+
2400
+ This function determines the optimal horizontal field shift (H_shift) to apply to a hysteresis loop,
2401
+ such that the R² value (symmetry) of the loop, as calculated by `loop_H_off`, is maximized.
2402
+ It uses the Brent optimization algorithm to efficiently search for the H_shift that gives the highest R².
2403
+ The function returns the optimal R², the corresponding field shift, and the vertical offset (M_shift) at this position.
2404
+
2405
+ Parameters
2406
+ ----------
2407
+ loop_fields : array_like
2408
+ Array of magnetic field values for the hysteresis loop.
2409
+ loop_moments : array_like
2410
+ Array of corresponding magnetic moment values.
2411
+
2412
+ Returns
2413
+ -------
2414
+ opt_r2 : float
2415
+ The maximum R² value achieved by shifting the loop.
2416
+ opt_H_off : float
2417
+ The optimal horizontal (field) shift applied to maximize symmetry.
2418
+ opt_M_off : float
2419
+ The estimated vertical shift (M_shift) at the optimal field shift.
2420
+
2421
+ Notes
2422
+ -----
2423
+ - Uses Brent's method for optimization via `scipy.optimize.minimize_scalar` with a bracket based on the loop field range.
2424
+ - Calls `loop_H_off` to compute symmetry and vertical shift for each candidate field shift.
2425
+ - Useful for correcting field and moment offsets in hysteresis loop analysis.
2426
+
2427
+ Examples
2428
+ --------
2429
+ >>> r2, H_off, M_off = loop_Hshift_brent(fields, moments)
2430
+ >>> print(f"Optimal field shift: {H_off:.2f}, R²: {r2:.3f}, M_shift: {M_off:.3e}")
2431
+ """
2432
+
2237
2433
  def objective(H_shift):
2238
2434
  result = loop_H_off(loop_fields, loop_moments, H_shift)
2239
2435
  return -result['r2']
@@ -2251,13 +2447,46 @@ def loop_Hshift_brent(loop_fields, loop_moments):
2251
2447
  return opt_r2, opt_H_off, opt_M_off
2252
2448
 
2253
2449
  def calc_Q(H, M, type='Q'):
2254
- '''
2255
- function for calculating quality factor Q for a hysteresis loop
2256
- Q factor is defined by the log10 of the signal to noise ratio
2257
- where signal is the sum of the square of the data
2258
- which is the averaged sum over the upper and lower branches for Q
2259
- and is the sum of the square of the upper branch for Qf
2260
- '''
2450
+ """
2451
+ Calculate the quality factor (Q) for a magnetic hysteresis loop.
2452
+
2453
+ The Q factor is a logarithmic measure (base 10) of the signal-to-noise ratio for a hysteresis loop.
2454
+ The calculation can be performed in two modes:
2455
+ - 'Q': Uses the mean squared magnetization of both the upper and lower branches.
2456
+ - 'Qf': Uses only the upper branch.
2457
+
2458
+ Parameters
2459
+ ----------
2460
+ H : array_like
2461
+ Array of applied magnetic field values.
2462
+ M : array_like
2463
+ Array of measured magnetization (moment) values, corresponding to `H`.
2464
+ type : {'Q', 'Qf'}, optional
2465
+ Type of Q calculation to perform:
2466
+ - 'Q' (default): Uses both upper and lower branches of the loop.
2467
+ - 'Qf': Uses only the upper branch.
2468
+
2469
+ Returns
2470
+ -------
2471
+ M_sn : float
2472
+ The calculated signal-to-noise ratio (before applying the logarithm).
2473
+ Q : float
2474
+ The quality factor, defined as log10(M_sn).
2475
+
2476
+ Notes
2477
+ -----
2478
+ - The function splits the hysteresis loop into upper and lower branches using `split_hysteresis_loop`.
2479
+ - For type 'Q', the numerator is the average of the sum of squares of the upper and lower branches; for 'Qf', only the upper branch is used.
2480
+ - The denominator is always the sum of squares of the combined (averaged) upper and reversed lower branches.
2481
+ - Higher Q values indicate a higher signal-to-noise ratio in the hysteresis loop data.
2482
+
2483
+ Examples
2484
+ --------
2485
+ >>> H = np.linspace(-1, 1, 200)
2486
+ >>> M = np.tanh(3 * H) + 0.05 * np.random.randn(200)
2487
+ >>> M_sn, Q = calc_Q(H, M, type='Q')
2488
+ >>> print(f"Signal-to-noise ratio: {M_sn:.3f}, Q: {Q:.2f}")
2489
+ """
2261
2490
  assert type in ['Q', 'Qf'], 'type must be either Q or Qf'
2262
2491
  H = np.array(H)
2263
2492
  M = np.array(M)
@@ -2560,10 +2789,48 @@ def loop_saturation_stats(field, magnetization, HF_cutoff=0.8, max_field_cutoff=
2560
2789
 
2561
2790
 
2562
2791
  def hyst_loop_saturation_test(grid_field, grid_magnetization, max_field_cutoff=0.97):
2563
- '''
2564
- function for testing the saturation of a hysteresis loop
2565
- which is based on the testing of linearity of the loop in field ranges of 60%, 70%, and 80% of the maximum field (<97%)
2566
- '''
2792
+ """
2793
+ Assess the saturation state of a magnetic hysteresis loop based on linearity at high-field segments.
2794
+
2795
+ This function evaluates the degree of saturation in a hysteresis loop by calculating the first normalized linearity (FNL)
2796
+ at 60%, 70%, and 80% of the maximum field (up to a specified cutoff). The FNL values are analyzed to determine the field
2797
+ fraction at which the loop can be considered saturated, based on whether FNL exceeds a threshold (typically 2.5).
2798
+ The result helps determine if the sample reached magnetic saturation during measurement.
2799
+
2800
+ Parameters
2801
+ ----------
2802
+ grid_field : array_like
2803
+ Array of applied magnetic field values for the hysteresis loop.
2804
+ grid_magnetization : array_like
2805
+ Array of magnetization (moment) values corresponding to `grid_field`.
2806
+ max_field_cutoff : float, optional
2807
+ Fraction of the maximum field to use as an upper cutoff for the analysis (default is 0.97).
2808
+
2809
+ Returns
2810
+ -------
2811
+ results_dict : dict
2812
+ Dictionary containing:
2813
+ - 'FNL60': float, FNL at 60% of the maximum field.
2814
+ - 'FNL70': float, FNL at 70% of the maximum field.
2815
+ - 'FNL80': float, FNL at 80% of the maximum field.
2816
+ - 'saturation_cutoff': float, field fraction (0.6, 0.7, 0.8, or 0.92) at which the loop is considered saturated.
2817
+ - 'loop_is_saturated': bool, True if the loop is not saturated at 80%, 70%, or 60%.
2818
+ (False means the loop is considered saturated at one of those field fractions.)
2819
+
2820
+ Notes
2821
+ -----
2822
+ - The function uses `loop_saturation_stats` to compute FNL values for each field fraction.
2823
+ - FNL values above 2.5 indicate linear (unsaturated) behavior; values below suggest saturation.
2824
+ - The 'saturation_cutoff' indicates the lowest field fraction where the loop is still considered saturated;
2825
+ 0.92 is returned if the loop does not saturate at any tested fraction (typical for IRM measurements).
2826
+ - The result is converted to standard Python types using `dict_in_native_python`.
2827
+
2828
+ Examples
2829
+ --------
2830
+ >>> results = hyst_loop_saturation_test(fields, magnetizations)
2831
+ >>> print(results['saturation_cutoff'], results['loop_is_saturated'])
2832
+ 0.8 False
2833
+ """
2567
2834
 
2568
2835
  FNL60 = loop_saturation_stats(grid_field, grid_magnetization, HF_cutoff=0.6, max_field_cutoff = max_field_cutoff)['FNL']
2569
2836
  FNL70 = loop_saturation_stats(grid_field, grid_magnetization, HF_cutoff=0.7, max_field_cutoff = max_field_cutoff)['FNL']
@@ -2647,16 +2914,34 @@ def loop_closure_test(H, Mrh, HF_cutoff=0.8):
2647
2914
 
2648
2915
 
2649
2916
  def drift_correction_Me(H, M):
2650
- '''
2651
- default IRM drift correction algorithm based on Me
2917
+ """
2918
+ Perform default IRM drift correction for a hysteresis loop based on the Me method.
2919
+
2920
+ This function applies a drift correction algorithm to magnetization data (M) measured as a function of applied field (H),
2921
+ commonly used for IRM (Isothermal Remanent Magnetization) experiments. The correction is based on the Me signal,
2922
+ which is the sum of the upper and reversed lower branches of the hysteresis loop.
2923
+ The correction method adapts depending on whether significant drift is detected in the high-field region.
2652
2924
 
2653
2925
  Parameters
2654
2926
  ----------
2655
- H : numpy array
2656
- field values
2657
- M : numpy array
2658
- magnetization values
2659
- '''
2927
+ H : numpy.ndarray
2928
+ Array of magnetic field values.
2929
+ M : numpy.ndarray
2930
+ Array of measured magnetization values corresponding to `H`.
2931
+
2932
+ Returns
2933
+ -------
2934
+ M_cor : numpy.ndarray
2935
+ Corrected magnetization values after drift correction.
2936
+
2937
+ Examples
2938
+ --------
2939
+ >>> H = np.linspace(-1, 1, 200)
2940
+ >>> M = measure_hysteresis(H)
2941
+ >>> M_cor = drift_correction_Me(H, M)
2942
+ >>> plot(H, M, label='Original')
2943
+ >>> plot(H, M_cor, label='Drift Corrected')
2944
+ """
2660
2945
  # split loop branches
2661
2946
  upper_branch, lower_branch = split_hysteresis_loop(H, M)
2662
2947
  # calculate Me
@@ -2731,7 +3016,32 @@ def prorated_drift_correction(field, magnetization):
2731
3016
  return np.array(corrected_magnetization)
2732
3017
 
2733
3018
  def symmetric_averaging_drift_corr(field, magnetization):
2734
-
3019
+ """
3020
+ Apply symmetric averaging drift correction to a hysteresis loop.
3021
+
3022
+ This function corrects drift in magnetic hysteresis loop data by averaging the upper branch and
3023
+ the inverted lower branch of the magnetization curve, then adjusting for tip-to-tip separation.
3024
+ The corrected magnetization is constructed by concatenating the reversed, drift-corrected upper branch
3025
+ and its inverted counterpart, restoring symmetry to the loop.
3026
+
3027
+ Parameters
3028
+ ----------
3029
+ field : array_like
3030
+ Array of applied magnetic field values for the hysteresis loop.
3031
+ magnetization : array_like
3032
+ Array of measured magnetization values corresponding to `field`.
3033
+
3034
+ Returns
3035
+ -------
3036
+ corrected_magnetization : numpy.ndarray
3037
+ Array of drift-corrected magnetization values, symmetrically constructed for the full loop.
3038
+
3039
+ Examples
3040
+ --------
3041
+ >>> field = np.linspace(-1, 1, 200)
3042
+ >>> magnetization = some_hysteresis_measurement(field)
3043
+ >>> corrected = symmetric_averaging_drift_corr(field, magnetization)
3044
+ """
2735
3045
  field = np.array(field)
2736
3046
  magnetization = np.array(magnetization)
2737
3047
 
@@ -2751,29 +3061,49 @@ def symmetric_averaging_drift_corr(field, magnetization):
2751
3061
  return corrected_magnetization
2752
3062
 
2753
3063
  def IRM_nonlinear_fit(H, chi_HF, Ms, a_1, a_2):
2754
- '''
2755
- function for calculating the IRM non-linear fit
3064
+ """
3065
+ Calculate the non-linear fit for Isothermal Remanent Magnetization (IRM) as a function of applied field.
3066
+
3067
+ This function models the IRM signal as a sum of high-field linear susceptibility,
3068
+ saturation magnetization, and non-linear correction terms with inverse field dependence.
3069
+ The model is commonly used for fitting high-field IRM data, especially for extracting
3070
+ parameters such as high-field susceptibility (chi_HF) and saturation magnetization (Ms).
2756
3071
 
2757
3072
  Parameters
2758
3073
  ----------
2759
- H : numpy array
2760
- field values
3074
+ H : numpy.ndarray
3075
+ Array of applied magnetic field values (in Tesla).
2761
3076
  chi_HF : float
2762
- high field susceptibility, converted to Tesla to match the unit of the field
3077
+ High-field magnetic susceptibility.Cconverted to Tesla to match the unit of the field.
2763
3078
  Ms : float
2764
- saturation magnetization
3079
+ Saturation magnetization (in the same units as IRM).
2765
3080
  a_1 : float
2766
- coefficient for H^(-1), needs to be negative
3081
+ Coefficient for the H^(-1) non-linear correction term. Should be negative.
2767
3082
  a_2 : float
2768
- coefficient for H^(-2), needs to be negative
3083
+ Coefficient for the H^(-2) non-linear correction term. Should be negative.
2769
3084
 
2770
- '''
3085
+ Returns
3086
+ -------
3087
+ IRM_fit : numpy.ndarray
3088
+ Array of fitted IRM values corresponding to each field value in `H`.
3089
+
3090
+ Examples
3091
+ --------
3092
+ >>> H = np.linspace(0.1, 3, 100) # field in Tesla, avoid zero for stability
3093
+ >>> fit = IRM_nonlinear_fit(H, chi_HF=0.02, Ms=1.2, a_1=-0.03, a_2=-0.01)
3094
+ >>> import matplotlib.pyplot as plt
3095
+ >>> plt.plot(H, fit)
3096
+ >>> plt.xlabel('Field (T)')
3097
+ >>> plt.ylabel('IRM fit')
3098
+ >>> plt.show()
3099
+ """
3100
+
2771
3101
  chi_HF = chi_HF/(4*np.pi/1e7)
2772
3102
  return chi_HF * H + Ms + a_1 * H**(-1) + a_2 * H**(-2)
2773
3103
 
2774
3104
  def IRM_nonlinear_fit_cost_function(params, H, M_obs):
2775
3105
  '''
2776
- cost function for the IRM non-linear least squares fit optimization
3106
+ Cost function for the IRM non-linear least squares fit optimization
2777
3107
 
2778
3108
  Parameters
2779
3109
  ----------
@@ -2811,6 +3141,11 @@ def Fabian_nonlinear_fit(H, chi_HF, Ms, alpha, beta):
2811
3141
  beta : float
2812
3142
  coefficient for H^(beta), needs to be negative
2813
3143
 
3144
+ Returns
3145
+ -----------
3146
+
3147
+ numpy array of the same shape as H, giving the fitted magnetization values for each field value provided
3148
+
2814
3149
  '''
2815
3150
  chi_HF = chi_HF/(4*np.pi/1e7) # convert to Tesla
2816
3151
  return chi_HF * H + Ms + alpha * H**beta
@@ -2950,20 +3285,53 @@ def hyst_HF_nonlinear_optimization(H, M, HF_cutoff, fit_type, initial_guess=[1,
2950
3285
 
2951
3286
 
2952
3287
  def process_hyst_loop(field, magnetization, specimen_name, show_results_table=True):
2953
- '''
2954
- function to process a hysteresis loop following the IRM decision tree
3288
+ """
3289
+ Process a magnetic hysteresis loop using the IRM decision tree workflow.
3290
+
3291
+ This function performs a complete analysis of a hysteresis loop, including gridding, centering, drift correction,
3292
+ high-field correction, and extraction of key magnetic parameters. The workflow follows best practices in rock magnetism
3293
+ and outputs both a summary of results and a Bokeh plot visualizing the various processing steps.
3294
+
2955
3295
  Parameters
2956
3296
  ----------
2957
- field : array
2958
- array of field values
2959
- magnetization : array
2960
- array of magnetization values
2961
-
3297
+ field : array_like
3298
+ Array of applied magnetic field values (typically in Tesla).
3299
+ magnetization : array_like
3300
+ Array of magnetization values (same length as `field`).
3301
+ specimen_name : str
3302
+ Identifier for the specimen, used for labeling plots.
3303
+ show_results_table : bool, optional
3304
+ If True (default), display a summary table of key parameters using Bokeh.
3305
+
2962
3306
  Returns
2963
3307
  -------
2964
3308
  results : dict
2965
- dictionary with the hysteresis processing results and a Bokeh plot
2966
- '''
3309
+ Dictionary containing the following keys:
3310
+ - 'gridded_H': gridded field values
3311
+ - 'gridded_M': gridded magnetization values
3312
+ - 'linearity_test_results': results of the initial linearity test
3313
+ - 'loop_is_linear': whether the loop passes the linearity test
3314
+ - 'FNL': first normalized linearity value
3315
+ - 'loop_centering_results': results of centering optimization
3316
+ - 'centered_H': centered field values
3317
+ - 'centered_M': centered magnetization values
3318
+ - 'drift_corrected_M': drift-corrected magnetization
3319
+ - 'slope_corrected_M': slope-corrected magnetization
3320
+ - 'loop_closure_test_results': results of closure test
3321
+ - 'loop_is_closed': whether the loop is closed
3322
+ - 'loop_saturation_stats': saturation test results
3323
+ - 'loop_is_saturated': whether the loop is saturated
3324
+ - 'M_sn', 'Q': quality metrics from centering
3325
+ - 'H', 'Mr', 'Mrh', 'Mih', 'Me', 'Brh': characteristic field and moment parameters
3326
+ - 'sigma': shape parameter (Fabian, 2003)
3327
+ - 'chi_HF': high-field susceptibility
3328
+ - 'FNL60', 'FNL70', 'FNL80': FNL at 60%, 70%, and 80% field
3329
+ - 'Ms': saturation magnetization
3330
+ - 'Bc': coercive field
3331
+ - 'M_sn_f', 'Qf': quality metrics for ferromagnetic component
3332
+ - 'Fnl_lin': FNL from linear fit (None if saturated)
3333
+ - 'plot': Bokeh figure with overlaid processing steps
3334
+ """
2967
3335
  # first grid the data into symmetric field values
2968
3336
  grid_fields, grid_magnetizations = grid_hysteresis_loop(field, magnetization)
2969
3337
 
@@ -3015,13 +3383,13 @@ def process_hyst_loop(field, magnetization, specimen_name, show_results_table=Tr
3015
3383
  sigma = np.log(E_hyst / 2 / Bc / Ms)
3016
3384
 
3017
3385
  # plot original loop
3018
- p = plot_hysteresis_loop(grid_fields, grid_magnetizations, specimen_name, line_color='orange', label='raw loop')
3386
+ p = plot_hysteresis_loop(grid_fields, grid_magnetizations, specimen_name, line_color='orange', label='raw loop', return_figure=True)
3019
3387
  # plot centered loop
3020
- p_centered = plot_hysteresis_loop(centered_H, centered_M, specimen_name, p=p, line_color='red', label=specimen_name+' offset corrected')
3388
+ p_centered = plot_hysteresis_loop(centered_H, centered_M, specimen_name, p=p, line_color='red', label=specimen_name+' offset corrected', return_figure=True)
3021
3389
  # plot drift corrected loop
3022
- p_drift_corr = plot_hysteresis_loop(centered_H, drift_corr_M, specimen_name, p=p_centered, line_color='pink', label=specimen_name+' drift corrected')
3390
+ p_drift_corr = plot_hysteresis_loop(centered_H, drift_corr_M, specimen_name, p=p_centered, line_color='pink', label=specimen_name+' drift corrected', return_figure=True)
3023
3391
  # plot slope corrected loop
3024
- p_slope_corr = plot_hysteresis_loop(centered_H, slope_corr_M, specimen_name, p=p_drift_corr, line_color='blue', label=specimen_name+' slope corrected')
3392
+ p_slope_corr = plot_hysteresis_loop(centered_H, slope_corr_M, specimen_name, p=p_drift_corr, line_color='blue', label=specimen_name+' slope corrected', return_figure=True)
3025
3393
  # plot Mrh
3026
3394
  p_slope_corr.line(H, Mrh, line_color='green', legend_label='Mrh', line_width=1)
3027
3395
  p_slope_corr.line(H, Mih, line_color='purple', legend_label='Mih', line_width=1)
@@ -3258,7 +3626,7 @@ def plot_X_T(
3258
3626
  temperature_column (str): Name of temperature column.
3259
3627
  magnetic_column (str): Name of susceptibility column.
3260
3628
  temp_unit (str): "C" for Celsius.
3261
- smooth_window (int): Window for smoothing.
3629
+ smooth_window (int): Window for smoothing, if 0, no smoothing is applied.
3262
3630
  remove_holder (bool): Subtract holder signal.
3263
3631
  plot_derivative (bool): Plot derivative.
3264
3632
  plot_inverse (bool): Plot inverse.
@@ -3492,6 +3860,174 @@ def plot_X_T(
3492
3860
  return tuple(figs)
3493
3861
  return None
3494
3862
 
3863
+ def estimate_curie_temperature(
3864
+ experiment,
3865
+ temperature_column="meas_temp",
3866
+ magnetic_column="susc_chi_mass",
3867
+ temp_unit="C",
3868
+ smooth_window=0,
3869
+ remove_holder=True,
3870
+ figsize=(6, 6),
3871
+ inverse_method=False,
3872
+ print_estimates=True
3873
+ ):
3874
+ """
3875
+ Estimate the Curie temperature from high temperature susceptibility curves in multiple ways. Automatically calculates first derivative minimum, second derivative maximum, and
3876
+ second derivative zero-crossing. Also has option to estimate Curie temperature from inverse susceptibility (E. Petrovsky and A. Kapicka, 2006). Uses Bokeh for the interactive plot.
3877
+
3878
+ Parameters:
3879
+ experiment (pandas.DataFrame): MagIC-formatted experiment DataFrame.
3880
+ temperature_column (str): Name of temperature column.
3881
+ magnetic_column (str): Name of susceptibility column.
3882
+ temp_unit (str): "C" for Celsius.
3883
+ smooth_window (int): Window for smoothing, if 0, no smoothing is applied.
3884
+ remove_holder (bool): Subtracts holder signal to better isolate specimen signal.
3885
+ figsize (tuple): (width, height) in inches.
3886
+ inverse_method (bool): Use inverse susceptibility method.
3887
+ print_estimates (bool): Print estimated Curie temperatures.
3888
+
3889
+ Returns
3890
+ -------
3891
+
3892
+ temp_of_first_derivative_min_heating : float
3893
+ temperature of first derivative minimum for heating cycle
3894
+ temp_of_first_derivative_min_cooling : float
3895
+ temperature of first derivative minimum for cooling cycle
3896
+ temp_of_second_derivative_max_heating : float
3897
+ temperature of second derivative maximum for heating cycle
3898
+ temp_of_second_derivative_max_cooling : float
3899
+ temperature of second derivative maximum for cooling cycle
3900
+ heating_zero : list of float or None
3901
+ temperatures of second derivative zero-crossings for heating cycle, or None if none found
3902
+ cooling_zero : list of float or None
3903
+ temperatures of second derivative zero-crossings for cooling cycle, or None if none found
3904
+ """
3905
+
3906
+ warm_T, warm_X, cool_T, cool_X = split_warm_cool(
3907
+ experiment,
3908
+ temperature_column=temperature_column,
3909
+ magnetic_column=magnetic_column
3910
+ )
3911
+
3912
+ if temp_unit == "C":
3913
+ warm_T = [T - 273.15 for T in warm_T]
3914
+ cool_T = [T - 273.15 for T in cool_T]
3915
+ else:
3916
+ raise ValueError('temp_unit must be "C"')
3917
+
3918
+ if remove_holder:
3919
+ holder_w = min(warm_X)
3920
+ holder_c = min(cool_X)
3921
+ warm_X = [X - holder_w for X in warm_X]
3922
+ cool_X = [X - holder_c for X in cool_X]
3923
+
3924
+ swT, swX = smooth_moving_avg(warm_T, warm_X, smooth_window)
3925
+ scT, scX = smooth_moving_avg(cool_T, cool_X, smooth_window)
3926
+
3927
+ dx_w = np.gradient(swX, swT)
3928
+ dx_c = np.gradient(scX, scT)
3929
+
3930
+ temp_of_first_derivative_min_heating = swT[np.argmin(dx_w)]
3931
+ temp_of_first_derivative_min_cooling = scT[np.argmin(dx_c)]
3932
+
3933
+ dx_2_w = np.gradient(dx_w, swT)
3934
+ dx_2_c = np.gradient(dx_c, scT)
3935
+
3936
+ temp_of_second_derivative_max_heating = swT[np.argmax(dx_2_w)]
3937
+ temp_of_second_derivative_max_cooling = scT[np.argmax(dx_2_c)]
3938
+
3939
+ # Physically consistent zero-crossing logic for heating
3940
+ min_idx_w = np.argmin(dx_2_w)
3941
+ max_idx_w = np.argmax(dx_2_w)
3942
+ lower_w, upper_w = sorted([min_idx_w, max_idx_w])
3943
+ dx2_slice_w = dx_2_w[lower_w:upper_w]
3944
+ temp_slice_w = swT[lower_w:upper_w]
3945
+ crossings_w = np.where(np.diff(np.sign(dx2_slice_w)))[0]
3946
+ temp_of_zero_crossing_heating = [temp_slice_w[i] for i in crossings_w]
3947
+
3948
+ # Physically consistent zero-crossing logic for cooling
3949
+ min_idx_c = np.argmin(dx_2_c)
3950
+ max_idx_c = np.argmax(dx_2_c)
3951
+ lower_c, upper_c = sorted([min_idx_c, max_idx_c])
3952
+ dx2_slice_c = dx_2_c[lower_c:upper_c]
3953
+ temp_slice_c = scT[lower_c:upper_c]
3954
+ crossings_c = np.where(np.diff(np.sign(dx2_slice_c)))[0]
3955
+ temp_of_zero_crossing_cooling = [temp_slice_c[i] for i in crossings_c]
3956
+
3957
+ if inverse_method:
3958
+ if not _HAS_BOKEH:
3959
+ raise ImportError("Bokeh is required for inverse_method=True")
3960
+ bokeh_height = int(figsize[1] * 96)
3961
+ title = experiment["specimen"].unique()[0]
3962
+ swX_arr = np.array(swX)
3963
+ inv_w = np.divide(1.0, swX_arr, out=np.full_like(swX_arr, np.nan), where=swX_arr != 0.0)
3964
+ mask_w = np.isfinite(inv_w)
3965
+ T = np.array(swT)[mask_w]
3966
+ inv_chi = inv_w[mask_w]
3967
+
3968
+ # Creates initial fit endpoints (choose two points in the linear region)
3969
+ # 0.7 is Magic Number which places initial fit near expected linear region
3970
+ fit_x = [T[int(len(T)*0.7)], T[-1]]
3971
+ fit_y = [inv_chi[int(len(inv_chi)*0.7)], inv_chi[-1]]
3972
+ fit_source = ColumnDataSource(data=dict(x=fit_x, y=fit_y))
3973
+ # scatter and line for data
3974
+ data_source = ColumnDataSource(data=dict(x=T, y=inv_chi))
3975
+ p_inv = figure(title=f"{title} – 1/χ",
3976
+ height=bokeh_height,
3977
+ x_axis_label=f"Temperature (°{temp_unit})",
3978
+ y_axis_label="1/χ",
3979
+ tools="pan,wheel_zoom,box_zoom,reset,save",
3980
+ )
3981
+ p_inv.scatter('x', 'y', source=data_source, size=8, color="red", legend_label="Heating – 1/χ")
3982
+ renderer = p_inv.scatter('x', 'y', source=fit_source, size=12, color="blue", legend_label="Fit Endpoints")
3983
+ p_inv.line('x', 'y', source=fit_source, line_width=2, color="blue", legend_label="Fit Line")
3984
+ # PointDrawTool for dragging endpoints
3985
+ draw_tool = PointDrawTool(renderers=[renderer], add=False)
3986
+ p_inv.add_tools(draw_tool)
3987
+ p_inv.toolbar.active_tap = draw_tool
3988
+ p_inv.legend.location = "top_left"
3989
+ # Div to display Curie temperature
3990
+ curie_estimate = Div(text="Curie temperature: --", styles={'font-size': '16px', 'color': 'darkred'})
3991
+ # JS callback to update fit line and Curie temperature estimate
3992
+ callback = CustomJS(args=dict(source=fit_source, div=curie_estimate), code="""
3993
+ var x = source.data.x;
3994
+ var y = source.data.y;
3995
+ if (x.length == 2) {
3996
+ var slope = (y[1] - y[0]) / (x[1] - x[0]);
3997
+ var intercept = y[0] - slope * x[0];
3998
+ // Estimate Curie temperature: x where y=0
3999
+ var Tc = -intercept / slope;
4000
+ div.text = "Curie temperature estimate: " + Tc.toFixed(2) + " °C";
4001
+ }
4002
+ """)
4003
+ fit_source.js_on_change('data', callback)
4004
+ show(column(p_inv, curie_estimate))
4005
+
4006
+ if print_estimates:
4007
+ print(f'First derivative minimum is at T={int(temp_of_first_derivative_min_heating)} for heating')
4008
+ print(f'First derivative minimum is at T={int(temp_of_first_derivative_min_cooling)} for cooling')
4009
+ print(f'Second derivative maximum is at T={int(temp_of_second_derivative_max_heating)} for heating')
4010
+ print(f'Second derivative maximum is at T={int(temp_of_second_derivative_max_cooling)} for cooling')
4011
+ if temp_of_zero_crossing_heating:
4012
+ print(f'The second derivative of the heating curve crosses zero at T = {int(temp_of_zero_crossing_heating[0])}')
4013
+ else:
4014
+ print('No zero crossing found for the second derivative of the heating curve.')
4015
+ if temp_of_zero_crossing_cooling:
4016
+ print(f'The second derivative of the cooling curve crosses zero at T = {int(temp_of_zero_crossing_cooling[0])}')
4017
+ else:
4018
+ print('No zero crossing found for the second derivative of the cooling curve.')
4019
+
4020
+ heating_zero = temp_of_zero_crossing_heating[0] if temp_of_zero_crossing_heating else None
4021
+ cooling_zero = temp_of_zero_crossing_cooling[0] if temp_of_zero_crossing_cooling else None
4022
+
4023
+ return (
4024
+ temp_of_first_derivative_min_heating,
4025
+ temp_of_first_derivative_min_cooling,
4026
+ temp_of_second_derivative_max_heating,
4027
+ temp_of_second_derivative_max_cooling,
4028
+ heating_zero,
4029
+ cooling_zero
4030
+ )
3495
4031
 
3496
4032
  def smooth_moving_avg(
3497
4033
  x,
@@ -3657,6 +4193,41 @@ def X_T_running_average(temp_list, chi_list, temp_window):
3657
4193
 
3658
4194
 
3659
4195
  def optimize_moving_average_window(experiment, min_temp_window=0, max_temp_window=50, steps=50, colormapwarm='tab20b', colormapcool='tab20c'):
4196
+ """
4197
+ Visualize and optimize the moving average window size for smoothing experimental temperature-dependent data.
4198
+
4199
+ This function evaluates the effect of different moving average window sizes on the smoothing of both the warm and cool cycles
4200
+ of an experiment (such as low temperature remanence or thermal demagnetization data). It iterates over a range of window sizes,
4201
+ applies smoothing, and computes the average variance and root mean square (RMS) for each window. These metrics are plotted
4202
+ to help the user visually identify the optimal window size for minimizing variance and RMS, balancing noise reduction and signal fidelity.
4203
+
4204
+ Parameters
4205
+ ----------
4206
+ experiment : object or structured array
4207
+ Experimental data containing temperature and measurement values. It must be compatible with the `split_warm_cool` function.
4208
+ min_temp_window : float, optional
4209
+ Minimum window size (in degrees Celsius) for the moving average. Default is 0.
4210
+ max_temp_window : float, optional
4211
+ Maximum window size (in degrees Celsius) for the moving average. Default is 50.
4212
+ steps : int, optional
4213
+ Number of window size steps to evaluate between the minimum and maximum. Default is 50.
4214
+ colormapwarm : str, optional
4215
+ Matplotlib colormap name for the warm cycle plot. Default is 'tab20b'.
4216
+ colormapcool : str, optional
4217
+ Matplotlib colormap name for the cool cycle plot. Default is 'tab20c'.
4218
+
4219
+ Returns
4220
+ -------
4221
+ fig : matplotlib.figure.Figure
4222
+ The matplotlib Figure object containing the optimization plots.
4223
+ axs : numpy.ndarray of matplotlib.axes.Axes
4224
+ Array of Axes objects (one for the warm cycle, one for the cool cycle).
4225
+
4226
+ Examples
4227
+ --------
4228
+ >>> fig, axs = optimize_moving_average_window(my_experiment, min_temp_window=5, max_temp_window=30, steps=20)
4229
+ >>> fig.show()
4230
+ """
3660
4231
  warm_T, warm_X, cool_T, cool_X = split_warm_cool(experiment)
3661
4232
  windows = np.linspace(min_temp_window, max_temp_window, steps)
3662
4233
  fig, axs = plt.subplots(ncols=2, nrows=1, figsize=(12, 6))
@@ -3689,6 +4260,38 @@ def optimize_moving_average_window(experiment, min_temp_window=0, max_temp_windo
3689
4260
 
3690
4261
 
3691
4262
  def calculate_avg_variance_and_rms(chi_list, avg_chis, chi_vars):
4263
+ """
4264
+ Calculate the average root mean square (RMS) deviation and average variance for a set of measurements.
4265
+
4266
+ This function computes two statistical metrics for a given list of measurement values and their corresponding
4267
+ moving averages and variances:
4268
+ 1. The average RMS deviation, which quantifies the typical deviation between each measurement and its local average.
4269
+ 2. The average variance, representing the mean of the provided variances for the measurements.
4270
+
4271
+ Parameters
4272
+ ----------
4273
+ chi_list : array-like
4274
+ List or array of measurement values (e.g., susceptibility, magnetization).
4275
+ avg_chis : array-like
4276
+ List or array of moving average values corresponding to `chi_list`.
4277
+ chi_vars : array-like
4278
+ List or array of variance values for each measurement.
4279
+
4280
+ Returns
4281
+ -------
4282
+ avg_rms : float
4283
+ The average root mean square deviation between each value in `chi_list` and its corresponding `avg_chis`.
4284
+ avg_variance : float
4285
+ The average of all values in `chi_vars`.
4286
+
4287
+ Examples
4288
+ --------
4289
+ >>> chi = [1.0, 2.0, 3.0]
4290
+ >>> avg_chi = [0.9, 2.1, 2.9]
4291
+ >>> vars = [0.01, 0.02, 0.03]
4292
+ >>> avg_rms, avg_var = calculate_avg_variance_and_rms(chi, avg_chi, vars)
4293
+ >>> print(f"Average RMS: {avg_rms:.3f}, Average Variance: {avg_var:.3f}")
4294
+ """
3692
4295
  rms_list = np.sqrt([(chi - avg_chi)**2 for chi, avg_chi in zip(chi_list, avg_chis)])
3693
4296
  total_rms = np.sum(rms_list)
3694
4297
  avg_rms = total_rms / len(rms_list)
@@ -3921,7 +4524,7 @@ def plot_backfield_data(
3921
4524
  p2 = figure(
3922
4525
  title="Coercivity spectrum",
3923
4526
  x_axis_label="Field (mT)",
3924
- y_axis_label="dM/dB",
4527
+ y_axis_label="dM/dlog(B)",
3925
4528
  x_axis_type="log",
3926
4529
  tools=tools,
3927
4530
  sizing_mode="stretch_width",
@@ -4011,7 +4614,7 @@ def plot_backfield_data(
4011
4614
  ax.plot(smooth_dx_log, smooth_dy, c="k", label="smoothed spectrum")
4012
4615
  ticks = ax.get_xticks()
4013
4616
  ax.set_xticklabels([f"{round(10**t, 1)}" for t in ticks])
4014
- ax.set(title="spectrum", xlabel="field (mT)", ylabel="dM/dB")
4617
+ ax.set(title="spectrum", xlabel="field (mT)", ylabel="dM/dlog(B)")
4015
4618
  ax.legend(loc=legend_location)
4016
4619
 
4017
4620
  fig.tight_layout()
@@ -4100,7 +4703,7 @@ def backfield_unmixing(field, magnetization, n_comps=1, parameters=None, iter=Tr
4100
4703
  params[f'{prefix}sigma'].max = np.max(field)-np.min(field) # Bounds for sigma parameters
4101
4704
 
4102
4705
  # restrict to normal distribution if skewed is False
4103
- if skewed == False:
4706
+ if not skewed:
4104
4707
  params[f'{prefix}gamma'].set(value=0, vary=False)
4105
4708
 
4106
4709
  if composite_model is None:
@@ -4191,7 +4794,7 @@ def plot_backfield_unmixing_result(experiment, result, sigma=2, figsize=(8,6), n
4191
4794
  ax.legend()
4192
4795
  ax.set_title('coercivity unmixing results')
4193
4796
  ax.set_xlabel('treatment field (mT)', fontsize=14)
4194
- ax.set_ylabel('dM/dB', fontsize=14)
4797
+ ax.set_ylabel('dM/dlog(B)', fontsize=14)
4195
4798
  return fig, ax
4196
4799
 
4197
4800
  def interactive_backfield_fit(field, magnetization, n_components, skewed=True, figsize=(10, 6)):
@@ -4295,7 +4898,7 @@ def interactive_backfield_fit(field, magnetization, n_components, skewed=True, f
4295
4898
  ax.clear()
4296
4899
  ax.scatter(smoothed_derivatives_x, smoothed_derivatives_y, marker='o', s=5, alpha=0.5, color='grey', label='original data')
4297
4900
  ax.set_xlabel('Field', fontsize=12)
4298
- ax.set_ylabel('dM/dB', fontsize=12)
4901
+ ax.set_ylabel('dM/dlog(B)', fontsize=12)
4299
4902
 
4300
4903
  # Get values from sliders
4301
4904
  amp = [amp_slidebars[f'amplitude_{i}'].value for i in range(n_components)]
@@ -4424,7 +5027,7 @@ def backfield_MaxUnmix(field, magnetization, n_comps=1, parameters=None, skewed=
4424
5027
  params[f'{prefix}sigma'].max = np.max(B)-np.min(B) # Bounds for sigma parameters
4425
5028
 
4426
5029
  # restrict to normal distribution if skewed is False
4427
- if skewed == False:
5030
+ if not skewed:
4428
5031
  params[f'{prefix}gamma'].set(value=0, vary=False)
4429
5032
 
4430
5033
  if composite_model is None:
@@ -4482,7 +5085,7 @@ def backfield_MaxUnmix(field, magnetization, n_comps=1, parameters=None, skewed=
4482
5085
  ax.plot(B_high_resolution, dMdB_50_components[k], c=f'C{k}', label=f'component #{k+1}')
4483
5086
  ax.fill_between(B_high_resolution, dMdB_2_5_components[k], dMdB_97_5_components[k], color=f'C{k}', alpha=0.2, label=f'component #{k+1} 95% CI')
4484
5087
  ax.set_xlabel('Field (mT)', fontsize=12)
4485
- ax.set_ylabel('dM/dB', fontsize=12)
5088
+ ax.set_ylabel('dM/dlog(B)', fontsize=12)
4486
5089
  ax.set_xticklabels([f'{int(10**i)}' for i in ax.get_xticks()])
4487
5090
  ax.legend()
4488
5091
  fig.canvas.header_visible = False
@@ -4555,9 +5158,9 @@ def add_Bcr_to_specimens_table(specimens_df, experiment_name, Bcr):
4555
5158
  return
4556
5159
 
4557
5160
 
4558
- # Day plot function
5161
+ # Day plot functions
4559
5162
  # ------------------------------------------------------------------------------------------------------------------
4560
- def day_plot_MagIC(specimen_data,
5163
+ def plot_day_plot_MagIC(specimen_data,
4561
5164
  by ='specimen',
4562
5165
  Mr = 'hyst_mr_mass',
4563
5166
  Ms = 'hyst_ms_mass',
@@ -4592,14 +5195,14 @@ def day_plot_MagIC(specimen_data,
4592
5195
  summary_sats = specimen_data.groupby(by).agg({Mr: 'mean', Ms: 'mean', Bcr: 'mean', Bc: 'mean'}).reset_index()
4593
5196
  summary_sats = summary_sats.dropna()
4594
5197
 
4595
- ax = day_plot(Mr = summary_sats[Mr],
5198
+ fig, ax = plot_day_plot(Mr = summary_sats[Mr],
4596
5199
  Ms = summary_sats[Ms],
4597
5200
  Bcr = summary_sats[Bcr],
4598
5201
  Bc = summary_sats[Bc],
4599
5202
  **kwargs)
4600
- return ax
5203
+ return fig, ax
4601
5204
 
4602
- def day_plot(Mr, Ms, Bcr, Bc,
5205
+ def plot_day_plot(Mr, Ms, Bcr, Bc,
4603
5206
  Mr_Ms_lower=0.05, Mr_Ms_upper=0.5, Bc_Bcr_lower=1.5, Bc_Bcr_upper=4,
4604
5207
  plot_day_lines = True,
4605
5208
  plot_MD_slope=True,
@@ -4608,7 +5211,8 @@ def day_plot(Mr, Ms, Bcr, Bc,
4608
5211
  color='black', marker='o',
4609
5212
  label = 'sample', alpha=1,
4610
5213
  lc='black', lw=0.5,
4611
- legend=True, figsize=(8,6)):
5214
+ legend=True, figsize=(8,6),
5215
+ show_plot=True, return_figure=True):
4612
5216
  '''
4613
5217
  function to plot given Ms, Mr, Bc, Bcr values either as single values or list/array of values
4614
5218
  plots Mr/Ms vs Bc/Bcr.
@@ -4639,11 +5243,16 @@ def day_plot(Mr, Ms, Bcr, Bc,
4639
5243
  whether to show the legend. The default is True.
4640
5244
  figsize : tuple, optional
4641
5245
  size of the figure. The default is (6,6).
5246
+ show_plot : bool, optional
5247
+ whether to show the plot. The default is True.
5248
+ return_figure : bool, optional
5249
+ whether to return the figure and axes objects. The default is True, so that a different function (plot_day_MagIC) can use it.
4642
5250
 
4643
5251
  Returns
4644
5252
  -------
4645
- ax : matplotlib.axes._axes.Axes
4646
- the axes object of the plot.
5253
+ tuple or None
5254
+ - If return_figure is True (default), returns (fig, ax).
5255
+ - Otherwise, returns None.
4647
5256
 
4648
5257
  '''
4649
5258
  # force numpy arrays
@@ -4653,7 +5262,7 @@ def day_plot(Mr, Ms, Bcr, Bc,
4653
5262
  Bcr = np.asarray(Bcr)
4654
5263
  Bcr_Bc = Bcr/Bc
4655
5264
  Mr_Ms = Mr/Ms
4656
- _, ax = plt.subplots(figsize = figsize)
5265
+ fig, ax = plt.subplots(figsize = figsize)
4657
5266
  # plotting SD, PSD, MD regions
4658
5267
  if plot_day_lines:
4659
5268
  ax.axhline(Mr_Ms_lower, color = lc, lw = lw)
@@ -4689,9 +5298,9 @@ def day_plot(Mr, Ms, Bcr, Bc,
4689
5298
  mixing_Bcr_Bc = mixing_Bcr_Bc[mask]
4690
5299
  mixing_Mr_Ms = mixing_Mr_Ms[mask]
4691
5300
  ax.plot(mixing_Bcr_Bc, mixing_Mr_Ms, color = 'k', lw = lw, ls='-.', label = 'SD/MD mixture')
5301
+
4692
5302
  # plot the data
4693
5303
  ax.scatter(Bcr_Bc, Mr_Ms, color = color, marker = marker, label = label, alpha=alpha)
4694
-
4695
5304
  ax.set_xlim(1, 100)
4696
5305
  ax.set_ylim(0.005, 1)
4697
5306
  ax.set_xscale('log')
@@ -4704,10 +5313,14 @@ def day_plot(Mr, Ms, Bcr, Bc,
4704
5313
 
4705
5314
  if legend:
4706
5315
  ax.legend(loc='lower right', fontsize=10)
4707
- return ax
5316
+ if show_plot:
5317
+ plt.show()
5318
+ if return_figure:
5319
+ return fig, ax
5320
+ return None
4708
5321
 
4709
5322
 
4710
- def neel_plot_magic(specimen_data,
5323
+ def plot_neel_magic(specimen_data,
4711
5324
  by ='specimen',
4712
5325
  Mr = 'hyst_mr_mass',
4713
5326
  Ms = 'hyst_ms_mass',
@@ -4742,14 +5355,14 @@ def neel_plot_magic(specimen_data,
4742
5355
  summary_stats = specimen_data.groupby(by).agg({Mr: 'mean', Ms: 'mean', Bcr: 'mean', Bc: 'mean'}).reset_index()
4743
5356
  summary_stats = summary_stats.dropna()
4744
5357
 
4745
- ax = neel_plot(Mr = summary_stats[Mr],
5358
+ ax = plot_neel(Mr = summary_stats[Mr],
4746
5359
  Ms = summary_stats[Ms],
4747
5360
  Bc = summary_stats[Bc],
4748
5361
  **kwargs)
4749
5362
  return ax
4750
5363
 
4751
5364
 
4752
- def neel_plot(Mr, Ms, Bc, color='black', marker = 'o', label = 'sample', alpha=1, lc = 'black', lw=0.5, legend=True, axis_scale='linear', figsize = (5, 5)):
5365
+ def plot_neel(Mr, Ms, Bc, color='black', marker = 'o', label = 'sample', alpha=1, lc = 'black', lw=0.5, legend=True, axis_scale='linear', figsize = (5, 5)):
4753
5366
  """
4754
5367
  Generate a Néel plot (squareness-coercivity) of Mr/Ms versus Bc from hysteresis data.
4755
5368
 
@@ -4994,4 +5607,4 @@ def SD_MD_mixture(Mr_Ms_SD = 0.5, Mr_Ms_MD = 0.019,
4994
5607
  Bc = (f_sd * X_sd * Bc_SD + f_md * X_MD * Bc_MD) / (f_sd * X_sd + f_md * X_MD)
4995
5608
  Bcr = (f_sd * Xr_SD * Bcr_SD + f_md * Xr_MD * Bcr_MD) / (f_sd * Xr_SD + f_md * Xr_MD)
4996
5609
  Bcr_Bc = Bcr / Bc
4997
- return Bcr_Bc, Mrs_Ms
5610
+ return Bcr_Bc, Mrs_Ms