Skip to content

Commit

Permalink
Merge remote
Browse files Browse the repository at this point in the history
  • Loading branch information
blokhin committed Sep 23, 2022
2 parents af161bb + 71e71f2 commit a727000
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 6 deletions.
4 changes: 2 additions & 2 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -632,7 +632,7 @@ <h3 id="Overview-1">&sect;1.1. MPDS data structure</h3>

<p class="view">The standard unit of the MPDS data is an <strong>entry</strong>. All the MPDS entries are subdivided into three kinds: <strong>crystalline structures</strong>, <strong>physical properties</strong>, and <strong>phase diagrams</strong>. They are called S-, P- or C-entries, correspondingly. Entries have persistent identifiers (similar to DOIs), <i>e.g.</i> <span class="t">S377634</span>, <span class="t">P600028</span>, <span class="t">C100027</span>.</p>

<p class="view">Another dimension of the MPDS data is the <strong>distinct phases</strong>. The three kinds of entries are interlinked via the distinct materials phases they belong. A tremendous work was done by the PAULING FILE team in the past 20 years to manually distinguish about 200&nbsp;000 inorganic materials phases, appearing in the literature. Each phase has a unique combination of (<i>a</i>) chemical formula, (<i>b</i>) space group, (<i>c</i>) Pearson symbol. Each phase has an integer identifier called <span class="t">phase_id</span>.</p>
<p class="view">Another dimension of the MPDS data is the <strong>distinct phases</strong>. The three kinds of entries are interlinked via the distinct materials phases they belong. A tremendous work was done by the PAULING FILE team in the past 20 years to manually distinguish about 200&nbsp;000 inorganic materials phases, appearing in the literature. Each phase has a unique combination of (<i>a</i>) chemical formula, (<i>b</i>) space group, (<i>c</i>) Pearson symbol. Each phase has the permanent integer identifier called <span class="t">phase_id</span>.</p>

<p class="view">Consider the following example of the <strong>entries</strong> and <strong>distinct phases</strong>. There can be the following distinct phases for the titanium dioxide: rutile with the space group <i>136</i> (let us say, <span class="t">phase_id&nbsp;1</span>), anatase with the space group <i>141</i> (<span class="t">phase_id&nbsp;2</span>), and brookite with the space group <i>61</i> (<span class="t">phase_id&nbsp;3</span>). Then the S- and P-entries for the titanium dioxide must refer to either <span class="t">1</span>, or <span class="t">2</span>, or <span class="t">3</span>, and the C-entries must refer to <span class="t">1</span>, <span class="t">2</span>, and <span class="t">3</span> simultaneously.</p>

Expand Down Expand Up @@ -1339,7 +1339,7 @@ <h3 id="Visualizations">&sect;2.6. Visualizations</h3>

<p class="view">Although the reader is encouraged to visualize the data using his habitual tools, we provide a set of helper utilities. Using a simple exporting toolbox in our Python client library each of the exercises considered above may output two files for the further plotting: <strong>CSV</strong> and <strong>JSON</strong>.</p>

<p class="view">By default these two files are written in a system-wide temporary directory <span class="t">/tmp</span> (subdirectory <span class="t">_MPDS</span>). <strong>CSV</strong> is commonly used in the electronic sheets (such as OpenOffice Calc or Excel), and <strong>JSON</strong> has a custom self-explanatory layout suitable for <a href="/visavis">Vis-&agrave;-vis web-viewer</a>. This is quite unsophisticated browser-based JavaScript application, heavily used inside the MPDS GUI. It employs <a href="https://plot.ly">Plotly</a> and <a href="https://d3js.org">D3</a> visualization libraries. <strong>JSON</strong> produced with the exporting toolbox may be simply drag-n-dropped in the browser window with the loaded <a href="/visavis">Vis-&agrave;-vis</a>.</p>
<p class="view">By default these two files are written in a system-wide temporary directory <span class="t">/tmp</span> (subdirectory <span class="t">_MPDS</span>). <strong>CSV</strong> is commonly used in the electronic sheets (such as OpenOffice Calc), and <strong>JSON</strong> has a custom self-explanatory layout suitable for <a href="/visavis">Vis-&agrave;-vis web-viewer</a>. This is quite unsophisticated browser-based JavaScript application, heavily used inside the MPDS GUI. It employs <a href="https://plot.ly">Plotly</a> and <a href="https://d3js.org">D3</a> visualization libraries. <strong>JSON</strong> produced with the exporting toolbox may be simply drag-n-dropped in the browser window with the loaded <a href="/visavis">Vis-&agrave;-vis</a>.</p>

<p style="background:#f4fbff;">We thank the reader for the time and interest! Any questions or feedback is <a href="mailto:[email protected]">very welcomed and greatly appreciated</a>.</p>
</div>
Expand Down
8 changes: 4 additions & 4 deletions kickoff/miner_ab_etransport.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

from etransport_raw import analyze_raw # this is given in the supplied file "etransport_raw.py"

# the raw data on the MPDS are in 7z format
# the raw simulation data on the MPDS are in 7z format
# so we need the latest dev version of pylzma
# pip install git+https://github.com/fancycode/pylzma
# then py7zlib is available
Expand All @@ -19,7 +19,7 @@

for entry in mpds_api.get_data({'props': 'electrical conductivity'}, fields={}):

archive_url = entry['sample']['measurement'][0]['raw_data'] # this is the raw data archive location
archive_url = entry['sample']['measurement'][0]['raw_data'] # this is the raw data archive field in the MPDS JSON P-entries

p = requests.get(archive_url)
if p.status_code != 200:
Expand All @@ -31,7 +31,7 @@
archive = Archive7z(io.BytesIO(p.content))
for virtual_path in archive.files:

if virtual_path.filename != 'TRANSPORT/SIGMA.DAT':
if virtual_path.filename != 'TRANSPORT/SIGMA.DAT': # raw simulation output log file
continue

# this is how we extract data from the 7z-archive
Expand All @@ -40,4 +40,4 @@
result = analyze_raw(rawdata)
rawdata.seek(0)

print(entry['sample']['material']['phase'], result)
print(entry['sample']['material']['phase'], result)

0 comments on commit a727000

Please sign in to comment.