Basis set exploration

15/06/21

Version with packaged setup routines.

05/06/21

Basis set section from dev code for docs.

03/06/21

Tidy version for docs, derived from http://127.0.0.1:8888/lab/tree/dev/PEMtk/fitting/fitting_routines_class-demo_v1_110521-tidy-StimpyTest_020621.ipynb

11/05/21

First version of class test/demo.

See dev notebook for background.

Outline of this notebook:

  • Repeat basic notebook for setup:

    • Load required packages.

    • Setup pemtkFit object.

      • Set various parameters, either from existing data or new values.

      • Data is handled as a set of dictionaries within the class, self.data[key][dataType], where key is an arbitrary label for, e.g. a specific experiment, calculation etc, and dataType contains a set of values, parameters etc. (Should become clear below!)

      • Methods operate on all self.data items in general, with some special cases: self.data['subset'] contains data to be used in fitting.

    • Simulate data

      • Use ePSproc to simulated aligned-frame measurements.

(Note the above is all identical to the basic fitting demo notebook… but instead of fitting, we’ll explore the basis functions.) - Explore basis functions.

Prerequisities

  • Working installation of ePSproc + PEMtk (or local copies of the Git repos, which can be pointed at for setup below).

  • Test/demo data, from ePSproc Github repo.


Setup

Use setup_fit_demo.py script to load data and setup fitting environment. This is a script that runs through the setup routines shown in the basic demo doc.

(Full path may need to be set to the setup file, under demos/fitting.)

[1]:
# Load demo fitting workspace

# Run defaults - may need to set full path here
%run 'setup_fit_demo.py'

*** Setting up demo fitting workspace and main `data` class object...
For more details see https://pemtk.readthedocs.io/en/latest/fitting/PEMtk_fitting_basic_demo_030621-full.html


* Loading packages...

* Importing local packages from root D:\code\github. Pass search path to the script if this fails.

* Loading demo matrix element data from D:\code\github\ePSproc\data\photoionization\n2_multiorb...

*** Job orb6 details
Key: orb6
Dir D:\code\github\ePSproc\data\photoionization\n2_multiorb, 1 file(s).
{   'batch': 'ePS n2, batch n2_1pu_0.1-50.1eV, orbital A2',
    'event': ' N2 A-state (1piu-1)',
    'orbE': -17.096913836366,
    'orbLabel': '1piu-1'}

*** Job orb5 details
Key: orb5
Dir D:\code\github\ePSproc\data\photoionization\n2_multiorb, 1 file(s).
{   'batch': 'ePS n2, batch n2_3sg_0.1-50.1eV, orbital A2',
    'event': ' N2 X-state (3sg-1)',
    'orbE': -17.341816310545997,
    'orbLabel': '3sg-1'}


* Loading demo ADM data from D:\code\github\ePSproc\data\alignment\N2_ADM_VM_290816.mat...

* Subselecting data...
Subselected from dataset 'orb5', dataType 'matE': 36 from 11016 points (0.33%)
Subselected from dataset 'pol', dataType 'pol': 1 from 3 points (33.33%)
Subselected from dataset 'ADM', dataType 'ADM': 52 from 14764 points (0.35%)

* Calculating MF-BLMs...
Subselected from dataset 'sim', dataType 'AFBLM': 195 from 195 points (100.00%)

*Setting  up fit parameters (with constraints)...
Set 6 complex matrix elements to 12 fitting params, see self.params for details.
name value initial value min max vary expression
m_PU_SG_PU_1_n1_1 1.78461575 1.784615753610107 1.0000e-04 5.00000000 False m_PU_SG_PU_1_1_n1
m_PU_SG_PU_1_1_n1 1.78461575 1.784615753610107 1.0000e-04 5.00000000 True
m_PU_SG_PU_3_n1_1 0.80290495 0.802904951323892 1.0000e-04 5.00000000 False m_PU_SG_PU_3_1_n1
m_PU_SG_PU_3_1_n1 0.80290495 0.802904951323892 1.0000e-04 5.00000000 True
m_SU_SG_SU_1_0_0 2.68606212 2.686062120382649 1.0000e-04 5.00000000 True
m_SU_SG_SU_3_0_0 1.10915311 1.109153108617096 1.0000e-04 5.00000000 True
p_PU_SG_PU_1_n1_1 -0.86104140 -0.8610414024232179 -3.14159265 3.14159265 False p_PU_SG_PU_1_1_n1
p_PU_SG_PU_1_1_n1 -0.86104140 -0.8610414024232179 -3.14159265 3.14159265 True
p_PU_SG_PU_3_n1_1 -3.12044446 -3.1204444620772467 -3.14159265 3.14159265 False p_PU_SG_PU_3_1_n1
p_PU_SG_PU_3_1_n1 -3.12044446 -3.1204444620772467 -3.14159265 3.14159265 True
p_SU_SG_SU_1_0_0 2.61122920 2.611229196458127 -3.14159265 3.14159265 True
p_SU_SG_SU_3_0_0 -0.07867828 -0.07867827542158025 -3.14159265 3.14159265 True


*** Setup demo fitting workspace OK.

Explore the basis functions

The current code formulates the computation as a tensor product over, effectively, basis['BLMtableResort'] * basis['polProd'] * matE * conj(matE), which matches the formalism given below (and can be further broken down into component coupling tensors).

The various basis items can, therefore, be inspected to illustrate the sensitivity of different (L,M) terms to the matrix element products.

TODO: check and illustrate formalism here, rename term!

See dev notes for details: https://epsproc.readthedocs.io/en/dev/methods/geometric_method_dev_pt3_AFBLM_090620_010920_dev_bk100920.html#:nbsphinx-math:beta_{L,M}^{AF}-rewrite

And book: https://epsproc.readthedocs.io/en/dev/methods/geometric_method_dev_pt2_170320_v140420.html#:nbsphinx-math:beta_{L,M}^{MF}-rewrite

Matrix element geometric coupling term \(B_{L,M}\)

The item BLMtableResort can be inspected to illustrate the sensitivity of different (L,M) terms to the matrix element products….

This term incorporates the coupling of the partial wave pairs, \(|l,m\rangle\) and \(|l',m'\rangle\), into the term \(B_{L,M}\), where \(\{L,M\}\) are observable total angular momenta, and \(M = S-R_{p}\) (full definition here), hence indicates which terms are allowed for a given set of partial waves - in the current test case, \(l=1,3\).

TODO: check and illustrate formalism here, rename term!

See dev notes for details: https://epsproc.readthedocs.io/en/dev/methods/geometric_method_dev_pt3_AFBLM_090620_010920_dev_bk100920.html#:nbsphinx-math:beta_{L,M}^{AF}-rewrite

[28]:
basis['BLMtableResort']
[28]:
Show/Hide data repr Show/Hide attributes
xarray.DataArray
'w3jStacked'
  • l: 2
  • lp: 2
  • L: 5
  • m: 3
  • mp: 3
  • S-Rp: 5
  • nan nan nan nan nan nan nan nan ... nan nan -0.2429 nan nan nan nan
    array([[[[[[            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,  2.82094792e-01,
                            nan,             nan]],
    
              [[            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,  2.82094792e-01,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan]],
    
              [[            nan,             nan,  2.82094792e-01,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan]]],
    
    
             [[[            nan,             nan,             nan,
                            nan, -3.09019362e-01],
               [            nan,             nan,             nan,
                 2.18509686e-01,             nan],
               [            nan,             nan, -1.26156626e-01,
                            nan,             nan]],
    
              [[            nan,             nan,             nan,
                -2.18509686e-01,             nan],
               [            nan,             nan,  2.52313252e-01,
                            nan,             nan],
               [            nan, -2.18509686e-01,             nan,
                            nan,             nan]],
    
              [[            nan,             nan, -1.26156626e-01,
                            nan,             nan],
               [            nan,  2.18509686e-01,             nan,
                            nan,             nan],
               [-3.09019362e-01,             nan,             nan,
                            nan,             nan]]],
    
    
             [[[            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan]],
    
              [[            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan]],
    
              [[            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan]]],
    
    
             [[[            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan]],
    
              [[            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan]],
    
              [[            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan]]],
    
    
             [[[            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan]],
    
              [[            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan]],
    
              [[            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan]]]],
    
    
    
            [[[[            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan]],
    
              [[            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan]],
    
              [[            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan]]],
    
    
             [[[            nan,             nan,             nan,
                            nan,  8.25888984e-02],
               [            nan,             nan,             nan,
                -1.43048168e-01,             nan],
               [            nan,             nan,  2.02300659e-01,
                            nan,             nan]],
    
              [[            nan,             nan,             nan,
                -2.33596680e-01,             nan],
               [            nan,             nan,  2.47766695e-01,
                            nan,             nan],
               [            nan, -2.33596680e-01,             nan,
                            nan,             nan]],
    
              [[            nan,             nan,  2.02300659e-01,
                            nan,             nan],
               [            nan, -1.43048168e-01,             nan,
                            nan,             nan],
               [ 8.25888984e-02,             nan,             nan,
                            nan,             nan]]],
    
    
             [[[            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan]],
    
              [[            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan]],
    
              [[            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan]]],
    
    
             [[[            nan,             nan,             nan,
                            nan, -2.38413614e-01],
               [            nan,             nan,             nan,
                 1.94663900e-01,             nan],
               [            nan,             nan, -1.50786009e-01,
                            nan,             nan]],
    
              [[            nan,             nan,             nan,
                -2.38413614e-01,             nan],
               [            nan,             nan,  2.46232521e-01,
                            nan,             nan],
               [            nan, -2.38413614e-01,             nan,
                            nan,             nan]],
    
              [[            nan,             nan, -1.50786009e-01,
                            nan,             nan],
               [            nan,  1.94663900e-01,             nan,
                            nan,             nan],
               [-2.38413614e-01,             nan,             nan,
                            nan,             nan]]],
    
    
             [[[            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan]],
    
              [[            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan]],
    
              [[            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan]]]]],
    
    
    
    
           [[[[[            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan]],
    
              [[            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan]],
    
              [[            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan]]],
    
    
             [[[            nan,             nan,             nan,
                            nan,  8.25888984e-02],
               [            nan,             nan,             nan,
                 2.33596680e-01,             nan],
               [            nan,             nan,  2.02300659e-01,
                            nan,             nan]],
    
              [[            nan,             nan,             nan,
                 1.43048168e-01,             nan],
               [            nan,             nan,  2.47766695e-01,
                            nan,             nan],
               [            nan,  1.43048168e-01,             nan,
                            nan,             nan]],
    
              [[            nan,             nan,  2.02300659e-01,
                            nan,             nan],
               [            nan,  2.33596680e-01,             nan,
                            nan,             nan],
               [ 8.25888984e-02,             nan,             nan,
                            nan,             nan]]],
    
    
             [[[            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan]],
    
              [[            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan]],
    
              [[            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan]]],
    
    
             [[[            nan,             nan,             nan,
                            nan, -2.38413614e-01],
               [            nan,             nan,             nan,
                 2.38413614e-01,             nan],
               [            nan,             nan, -1.50786009e-01,
                            nan,             nan]],
    
              [[            nan,             nan,             nan,
                -1.94663900e-01,             nan],
               [            nan,             nan,  2.46232521e-01,
                            nan,             nan],
               [            nan, -1.94663900e-01,             nan,
                            nan,             nan]],
    
              [[            nan,             nan, -1.50786009e-01,
                            nan,             nan],
               [            nan,  2.38413614e-01,             nan,
                            nan,             nan],
               [-2.38413614e-01,             nan,             nan,
                            nan,             nan]]],
    
    
             [[[            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan]],
    
              [[            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan]],
    
              [[            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan]]]],
    
    
    
            [[[[            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,  2.82094792e-01,
                            nan,             nan]],
    
              [[            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,  2.82094792e-01,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan]],
    
              [[            nan,             nan,  2.82094792e-01,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan]]],
    
    
             [[[            nan,             nan,             nan,
                            nan, -2.06012908e-01],
               [            nan,             nan,             nan,
                 5.94708039e-02,             nan],
               [            nan,             nan,  1.26156626e-01,
                            nan,             nan]],
    
              [[            nan,             nan,             nan,
                -5.94708039e-02,             nan],
               [            nan,             nan,  1.68208835e-01,
                            nan,             nan],
               [            nan, -5.94708039e-02,             nan,
                            nan,             nan]],
    
              [[            nan,             nan,  1.26156626e-01,
                            nan,             nan],
               [            nan,  5.94708039e-02,             nan,
                            nan,             nan],
               [-2.06012908e-01,             nan,             nan,
                            nan,             nan]]],
    
    
             [[[            nan,             nan,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                -9.32195153e-18,             nan],
               [            nan,             nan,  9.32195153e-18,
                            nan,             nan]],
    
              [[            nan,             nan,             nan,
                -9.32195153e-18,             nan],
               [            nan,             nan,  6.98587552e-34,
                            nan,             nan],
               [            nan,  9.32195153e-18,             nan,
                            nan,             nan]],
    
              [[            nan,             nan, -9.32195153e-18,
                            nan,             nan],
               [            nan,  9.32195153e-18,             nan,
                            nan,             nan],
               [            nan,             nan,             nan,
                            nan,             nan]]],
    
    
             [[[            nan,             nan,             nan,
                            nan, -1.62193101e-01],
               [            nan,             nan,             nan,
                 9.93225846e-02,             nan],
               [            nan,             nan,  2.56449811e-02,
                            nan,             nan]],
    
              [[            nan,             nan,             nan,
                -9.93225846e-02,             nan],
               [            nan,             nan,  1.53869886e-01,
                            nan,             nan],
               [            nan, -9.93225846e-02,             nan,
                            nan,             nan]],
    
              [[            nan,             nan,  2.56449811e-02,
                            nan,             nan],
               [            nan,  9.93225846e-02,             nan,
                            nan,             nan],
               [-1.62193101e-01,             nan,             nan,
                            nan,             nan]]],
    
    
             [[[            nan,             nan,             nan,
                            nan, -2.42942839e-01],
               [            nan,             nan,             nan,
                 2.21775455e-01,             nan],
               [            nan,             nan, -1.77815950e-01,
                            nan,             nan]],
    
              [[            nan,             nan,             nan,
                -2.21775455e-01,             nan],
               [            nan,             nan,  2.37087934e-01,
                            nan,             nan],
               [            nan, -2.21775455e-01,             nan,
                            nan,             nan]],
    
              [[            nan,             nan, -1.77815950e-01,
                            nan,             nan],
               [            nan,  2.21775455e-01,             nan,
                            nan,             nan],
               [-2.42942839e-01,             nan,             nan,
                            nan,             nan]]]]]])
    • L
      (L)
      int64
      0 2 3 4 6
      array([0, 2, 3, 4, 6], dtype=int64)
    • l
      (l)
      int64
      1 3
      array([1, 3], dtype=int64)
    • lp
      (lp)
      int64
      1 3
      array([1, 3], dtype=int64)
    • m
      (m)
      int64
      -1 0 1
      array([-1,  0,  1], dtype=int64)
    • mp
      (mp)
      int64
      -1 0 1
      array([-1,  0,  1], dtype=int64)
    • S-Rp
      (S-Rp)
      int64
      -2 -1 0 1 2
      array([-2, -1,  0,  1,  2], dtype=int64)
  • dataType :
    betaTerm
    phaseCons :
    {'phaseConvention': 'E', 'genMatEcons': {'negm': False}, 'EPR': {'Rphase': True, 'negR': True, 'negRlabel': False, 'negRcoordSwap': False}, 'lambdaCons': {'negMup': True, 'negRp': True, 'phaseNegR': True, 'conjFlag': True, 'RpPhase': True}, 'betaCons': {'negM': False, 'mPhase': True}, 'mfblmCons': {'negRcoordSwap': False, 'negMcoordSwap': False, 'Mphase': False, 'negmCoordSwap': False, 'mPhase': False, 'mupPhase': True, 'BLMmPhase': False}, 'afblmCons': {'negM': False, 'negQ': True, 'negS': True, 'llpPhase': True}, 'lfblmCGCons': {'negmp': False, 'negM': True, 'negmup': False, 'negMP': False}}
[29]:
# ep.lmPlot(basis['BLMtableResort'], xDim='L');  # Native version
ep.lmPlot(basis['BLMtableResort'].rename({'S-Rp':'M'}).stack({'LM':['L','M']}), xDim={'LM':['L','M']});  # Plot with restack to standard LM terms
Plotting data (No filename), pType=a, thres=0.01, with Seaborn
No handles with labels found to put in legend.
../_images/fitting_PEMtk_fitting_basis-set_demo_050621-full_11_2.png

This is a nice way to visualize the general selection rules into the observable: for instance, only terms \(l=l'\) and \(m=-m'\) contribute to the overall photoinoization cross-section term (\(L=0, M=0\)). However, since these terms are fairly simply followed algebraically in this case, via the rules inherent in the 3j product, this is not particularly insightful. These visualizations will become more useful when dealing with real sets of matrix elements, and specific polarization geometries, which will further modulate the \(B_{L,M}\) terms.

Polarisation & ADM product term

The other product basis returned, polProd, is more complicated, and contains the tensor product \(\Lambda_{R}\otimes E_{PR}(\hat{e})\otimes \Delta_{L,M}(K,Q,S)\otimes A^{K}_{Q,S}(t)\), expanded over all quantum numbers (see full definition here). This term, therefore, incorporates all of the dependence (or response) of the AF-\(\beta_{LM}\)s on the polarisation state, and the axis distribution.

[30]:
ep.lmPlot(basis['polProd'].sel(Labels='z'), xDim='t'); # , cmap='vlag');  # Subselect on pol state
# ep.lmPlot(basis['polProd'], xDim='t', cmap='vlag');  # Full results
Set dataType (No dataType)
Plotting data (No filename), pType=a, thres=0.01, with Seaborn
../_images/fitting_PEMtk_fitting_basis-set_demo_050621-full_14_1.png

In this case, it’s clear that there’s a significant response to the alignment in the \(L=0,2\) terms, some response in \(L=4\) and - for the most part - no significant contribution from higher-order terms (at least at the current threshold of 0.01), for the selected set of ADMs.

Full response function

Finally, we can look at the overall response function, which is essentially the complete geometric basis set (give or take a phase term or two), hence equivalent to the AF-\(\beta_{LM}\) if the ionization matrix elements were set to unity. This illustrates not only the coupling of the geometric terms into the observable \(L,M\), but also how the partial wave \(|l,m\rangle\) terms map to the observables.

[31]:
# And with pol sensitivity...
# TODO: fix issue with LM plot here, seem to mess up key? Might be issue with dropping some l terms? FIXED.
ep.lmPlot((basis['BLMtableResort'] * basis['polProd']).sel(Labels='z'), xDim='t', cmap='vlag');
# ep.lmPlot((basis['BLMtableResort'] * basis['polProd']), xDim='t', cmap='vlag');
Set dataType (No dataType)
Plotting data (No filename), pType=a, thres=0.01, with Seaborn
../_images/fitting_PEMtk_fitting_basis-set_demo_050621-full_17_1.png

There’s a lot of information here. A few observations in this case:

  • The largest reponse is in the total cross-section (\(\beta_{0,0}\)), which is ~2 times larger than any other term;

  • this response is similar for both the \(l=1\) and \(l=3\) contributions, hence we expect similar sensitivity to both partial cross-sections in this case.

  • For \(L=2\) and \(S-Rp = 0\), there is only a significant (above threshold) response around the centre of the selected time window, hence the main dip in the ADMs, corresponding to anti-alignment in this case.

TODO: More to say on terms \(S-Rp != 0\)? Check formalism - may have some inconsistency in \(M\) definition here too?

Versions

[32]:
import scooby
scooby.Report(additional=['epsproc', 'pemtk', 'xarray', 'jupyter'])
[32]:
Sat Jun 05 12:53:57 2021 Eastern Daylight Time
OS Windows CPU(s) 32 Machine AMD64
Architecture 64bit RAM 63.9 GB Environment Jupyter
Python 3.7.3 (default, Apr 24 2019, 15:29:51) [MSC v.1915 64 bit (AMD64)]
epsproc 1.3.0-dev pemtk 0.0.1 xarray 0.15.0
jupyter Version unknown numpy 1.19.2 scipy 1.3.0
IPython 7.12.0 matplotlib 3.3.1 scooby 0.5.6
Intel(R) Math Kernel Library Version 2020.0.0 Product Build 20191125 for Intel(R) 64 architecture applications
[33]:
# Check current Git commit for local ePSproc version
!git -C {Path(ep.__file__).parent} branch
!git -C {Path(ep.__file__).parent} log --format="%H" -n 1
* dev
  master
  numba-tests
da12376cc36f640d8974f5ce2c121be3d391caab
[34]:
# Check current remote commits
!git ls-remote --heads git://github.com/phockett/ePSproc
# !git ls-remote --heads git://github.com/phockett/epsman
da12376cc36f640d8974f5ce2c121be3d391caab        refs/heads/dev
82d12cf35b19882d4e9a2cde3d4009fe679cfaee        refs/heads/master
69cd89ce5bc0ad6d465a4bd8df6fba15d3fd1aee        refs/heads/numba-tests
ea30878c842f09d525fbf39fa269fa2302a13b57        refs/heads/revert-9-master
[35]:
# Check current Git commit for local PEMtk version
import pemtk
!git -C {Path(pemtk.__file__).parent} branch
!git -C {Path(pemtk.__file__).parent} log --format="%H" -n 1
* master
fca744ca18b98ecd49fbf17fc79247ebee6b9c3a
[36]:
# Check current remote commits
!git ls-remote --heads git://github.com/phockett/PEMtk
# !git ls-remote --heads git://github.com/phockett/epsman
fca744ca18b98ecd49fbf17fc79247ebee6b9c3a        refs/heads/master