Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

First working implementation of plugin #6

Merged
merged 33 commits into from
Aug 9, 2022
Merged

First working implementation of plugin #6

merged 33 commits into from
Aug 9, 2022

Conversation

lorisercole
Copy link
Collaborator

@lorisercole lorisercole commented Aug 9, 2022

CC: @ramirezfranciscof
This PR implements the first tested working version of aiida-aurora.

  • Data nodes: BatterySample, BatteryState, CyclingSpecs, TomatoSettings.
    The data schemas of aiidalab-aurora are used.
  • Calculation nodes: BatteryCyclerExperiment, BatteryFakeExperiment (obsolete).
  • Parser: TomatoParser
  • Scheduler: TomatoScheduler (works with tomato<=0.2a1)

Note: tests are not yet implemented (#1).

in data node and calculation, instead of voluptuous
(to be fully tested)
NOTE: in payload v0.1 the 'tomato' and 'sample/method' parts are in the
same file. But the instructions for the scheduler should be separated.
- rename exp specs as CyclingSpecs
- fix problem with pandas datetime type used in
BatterySample.metadata.creation_datetime. TODO: We should integrate this
fix into the data schema.
- BatterySample.label is automatically set with the name from metadata,
if present.
The tomato scheduler will create a simple bash script that is supposed
to execute `ketchup submit {payload_file}` directly with bash.
Such calculation simply runs ketchup submit (whose output will be parsed
by the Tomato scheduler immediately.
The calculation seems to work, as well as the scheduler, but the data
schemas have to be uniformated with tomato's ones.
The `BatteryCycler` CalcJob now uses `aurora.schemas.tomato_0p1`
module and the convertion functions therein to prepare the payload file
that is copied and submitted to tomato.
Now it is read correctly by tomato.
- some exit codes defined
- use `retrieve_temporary_list` instead of `retrieve_singlefile_list`
- add `--jobtitle $JOB_TITLE` to cmdline parameters
Tested with the dummy driver.
Now it can read both dictionaries (n, s, u) and scalars.
If transport type is 'sshtowin', use `_aiidasubmit.ps1`, otherwise keep
the default `_aiidasubmit.sh`.
Requires: lorisercole/aiida-core:2c840a4b97be985d72354d64c673b19f68b4b95f
The type of shell (bash or powershell) is set within the job template
beforehand (according to the computer's transport type), making this code
compatible with both bash & powershell.
If applicable. you must configure the computer to load the appropriate
virtual environment, to make the `ketchup` command available.
If transport type is 'sshtowin', add a '.ps1' extension to the submit
script filename.
- Move package setup to `pyproject.toml`
- Update pre-commit, format everything with `black`
- Fix GitHub workflows
- Bump version to 0.2.0
@lorisercole lorisercole merged commit 319b948 into master Aug 9, 2022
@lorisercole lorisercole deleted the windows branch August 9, 2022 16:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant