Error running MgO tutorial for atomate

Error running the atomate MgO tutorial
Hello,
I’ve recently tried to run the MgO tutorial for atomate. However, pymatgen cannot get the electron DOS from MongoDB.
When mgdb query is used, the following result is returned:


The task is added to the database
The OUTCAR seems to be normal

When I use the database in Mongodb and try to find the file by task_id, the following is returned
“schema” : {
“code” : “atomate”,
“version” : “0.9.5”
},
“state” : “successful”,
“task_id” : 6,
“task_label” : “structure optimization”,
“transformations” : {

It is found that the task_label is ‘structure optimization’ while in the python code for band structure analysis (bs-analysis.py in the tutorial) the task_label should be ‘nscf uniform’ in the database.
I’m wondering is there any change I can make to let the code work?
Also I’m not sure if the work is correctly done and all results added to the database. The outputs seem to be normal. But when I run lpad get_wflows.
It returns that the work is still running
{
“state”: “RUNNING”,
“name”: “MgO–8”,
“created_on”: “2020-09-23T12:02:44.240000”,
“states_list”: “W-W-REA-C”
}
However, when I use top to see the processes, there is no vasp process.

Here is the my_ fworker.yaml
name: simw
category: ‘’
query: “{}”
env:
db_file: /home/admin123/atomate/config/db.json
vasp_cmd: mpirun --allow-run-as-root -np 48 /opt/vasp.5.4.1/build/std/vasp
scratch_dir: null

my_launchpad.yaml
authsource: atomate_db
host: master
logdir: null
mongoclient_kwargs: {}
name: atomate_db
password: null
port: 27017
ssl: false
ssl_ca_certs: null
ssl_certfile: null
ssl_keyfile: null
ssl_pem_passphrase: null
strm_lvl: INFO
uri_mode: false
user_indices: []
username: null
wf_user_indices: []

db.json
{
“admin_password”: “”,
“admin_user”: “”,
“aliases”: {},
“collection”: “tasks”,
“database”: “atomate_db”,
“host”: “master”,
“port”: 27017,
“readonly_password”: “”,
“readonly_user”: “”
}

my_qadapter.yaml
_fw_name: CommonAdapter
_fw_q_type: SLURM
rocket_launch: rlaunch -c /home/admin123/atomate/config singleshot
nodes: 1
walltime: 24:00:00
queue: simw
account: null
job_name: null
pre_rocket: null
post_rocket: null
logdir: /home/admin123/atomate/logs

Many thanks!
Bosang

Hi Bosang,

You are running rlaunch in “singleshot” mode, which means that only one FireWork will be executed for each job submitted to the queue. The MgO workflow in the tutorial is composed of multiple FireWorks:

  • structure optimisation
  • static
  • nscf uniform
  • nscf line mode

Depending on the qlaunch command you ran to add the jobs to the queue, it is possible that you only submitted a single job and therefore only the structure optimisation FireWork was completed. Can you provide more information on the qlaunch command you used?

There is an option in qlaunch to submit as many jobs to the queue as there are jobs in the database. This might be useful for you:

qlaunch rapidfire --nlaunches 0

Alternatively, you can set up a script that will automatically submit a job to the queue at regular intervals using CRON.

There is a comprehensive discussion available here: https://materialsproject.github.io/fireworks/queue_tutorial.html

Oh, thank you so much! :smile: Everything works fine now. I used qlaunch singleshot which indeed only submitted one FireWork. I’ve changed the rocker launcher in my_qadapter file from singleshot mode to rapidfire mode. {rlaunch -c /home/admin123/atomate/config rapidfire} .Then qlaunch rapidfire --nlaunches 0 completed the workflow!