Me and aiida go way back, but sadly, I never got the opportunity to use it extensively until now. Lately, as I got more exposure, I feel the same as the first time I started experimenting with it: Lost!
I decided to do this post, not to do criticism – if anything, I am the last person to do it, as I have one or two repos that I need to find the time to finish documenting. I just like the idea and its purpose and would like to talk about it as a user, so that you don’t feel alone. Since it’s changing versions fast, it’s quite possible the issues I point out here will be solved soon.
If someone doesn’t know of what aiida is, it is an automation software than lets you run multiple simulations, read the outputs, adjust, re-run and basically it is like a little robot that does a lot of the boring work for you, while it’s fairly updated on new methods and algorithms (check this example).
And now on to my experience. First, the things I like about it:
Automation (obviously). When everything is set-up, I can just leave it running and then go read and write papers until it finishes.
Organised documentation: Even though I used multiple versions of it, I always found it easy to find the right version and compatibility, which happens when you do a good versioning job with git.
Responsive forum: There is a google group where I found most of the answers I wanted and was responsive to questions.
Future possibilities: While for now this software allows some tasks to become easier, what I love about aiida is the new directions it opens, like in high-throughput techniques, connections to language processing, machine learning etc.
And now to the parts that made me quit it for a while:
The versions hell!: Like all academic software not all of its parts where updated, so I run into some non-updated parts of the latest versions. So, if you use it, be prepared to contribute to reporting.
The version disappointment: Some modules only work with earlier versions of the software. I learnt this the hard way, as I has to re-install aiida including all codes and databases so that I can make the module versions compatible. Just note that I did this because I still had no significant data in the base and had no patience to go through the documentation for downgrading/upgrading.
The hidden insides: The examples given don’t always cover what you want to do. To change them, you need to get into coding in a level a bit more advanced than that of a user.
The pending dangers: Like it would be expected with any automation software, there are some things that are over-automated (if again you are following the examples). This is particularly dangerous in terms of pseudopotentials. My opinion is, if you are going to use it, be sure of what your pseudopotential does and don’t forget to test and compare your results. I am just scared of the idea of having papers coming out with the wrong pseudopotentials for what you examine, because it takes a lot of time to categorize and list when we are doing literature reviews!
That’s all from me, if you are looking forward to the idea of having a software like that around, you can go follow the instructions here to install it: aiida
Pingback: Automating device data analysis | The nanoelectronics buff