Getting raw files from NOMAD

Hi,

I am trying to get raw files for a calculation result. I have found that the button “Get raw files from NOMAD” works for some mp-IDs, but for some cases, it gives an error saying that “You are trying to access information that does not exist. Please try again and let us know, if this error keeps happening”.

The specific entry that I am trying to get is the task-ID 1388408 of the material MPID mp-559441.
" https://materialsproject.org/tasks/mp-559441#mp-1388408".
Among multiple task IDs that calculate this material, this task-ID of mp-1388408 is the lowest energy and is used in the calculation of E above hull in MP website, so that’s why I wanted to check its raw files.

Could you provide help on this issue? Thanks!

Best,
KyuJung

Hi KyuJung,

as you rightly discovered, we’ve unfortunately not been able to catch up with uploading all our raw calculations to NOMAD. Thus, the (admittedly obscure) error message you’re seeing. Thanks for letting me know which specific calculation you’re looking for. I’ll try to get this one up on NOMAD as soon as I can and keep you posted. If you haven’t heard back from me by early next week, please ping me again here.

thanks,
Patrick

1 Like

Hi KyuJung,
Sorry for the late reply. We finally got the upload to NOMAD going and it is uploading all our data as we speak.

Specifically to address your issue:
You may visit Nomad URL to get the raw data

I wanted to write further about
A. How would you get any data manually
B. How would you get it via our API

Regardless of those two methods, I wanted to make a note that the data upload might take a while (as in months) and therefore the data you query might not be online yet. If you do see one that is not online, feel free to post them in this forum or email us.

A. How to find raw data on NOMAD

B. How to do it via our API

Use the api like this:

from pymatgen.ext.matproj import MPRester, TaskType

material_ids = ["mvc-2970"]
task_types = [TaskType.GGA_OPT, TaskType.GGAU_UNIFORM]
file_patterns = ["vasprun*", "OUTCAR*"]
with MPRester("SECRET_KEY_HERE") as mpr:
    meta, urls = mpr.get_download_info(material_ids, task_types, file_patterns)

print(urls)

Note that the material_ids here is the Material ID is NOT the Task ID. There is a distinction between a Task (or a calculation) versus a Material. In method A, you want to put in Task ID. In method B, you want to put in Material ID.

Also note that you may find your secret key on the materialsproject.org/open under the API keys section.

Hi Thanks for the instruction.
However, I am reading this from 2021 and I find myself unable to connect to the URLs through the pymatgen API.
I tried the exact case from this thread and I got the error
“Resolving labdev-nomad.esc.rzg.mpg.de (labdev-nomad.esc.rzg.mpg.de)… 130.183.207.77
Connecting to labdev-nomad.esc.rzg.mpg.de (labdev-nomad.esc.rzg.mpg.de)|130.183.207.77|:80… failed: Connection refused.”
May I please get some help here?
Thanks!

Hi Weike,

the NOMAD URL used in mpr.get_download_info() is unfortunately outdated. This has been fixed in this PR and recently merged into pymatgen. Until the next pymatgen version is released sometime this month, you can install pymatgen from main branch in its GitHub repository.

HTH
Patrick

@tschaume How does this get done now with the new MPRester client API? I tried to using

from mp_api.client import MPRester

with MPRester(API_KEY) as mpr:
    docs = mpr.tasks.get_data_by_id(MP-TASK-ID)
    ....
    ....

but I couldn’t figure out how to get the NOMAD URL from available fields. Furthermore how does one specify the TaskType and file_patterns?

@StefanBringuier thanks for bringing this up! @munrojm is working on porting this functionality to the new client. As for how to use it, there’s an example in this previous comment. Does that help?

@StefanBringuier you should be able to use the method in the latest client release.

@tschaume so the steps in the previous comment work well for me using the legacy MPRester for the task types listed in the legacy MPRester documentation. The one thing that is still not clear to me is how to grab the files associated with property calculations, for example, equation of state or elastic constants calculations. My hope was that the new API will provide a way to grab these? Appreciate the response!

@munrojm great, will test it out. Thank you.