This repository contains DFT and spindynamics data computed at Uppsala university as part of MaMMoS.
All simulation data is stored in the data/ directory. The content of each
dataset must follow the schema defined in dataset-schema.yaml.
Schema compliance is ensured via CI and mammos-parser.
Comments:
- The directory name should be a reduced chemical formula and can optionally
contain a description. Examples:
Nd2Fe14BNd2Fe14B_commentNd2Fe14B_method1Nd2Fe14B_method2-
$(Nd_{1-x} Ce_x)_2 Fe_{14}B$ with x=0.25 ->Nd1.5Ce0.5Fe14B
-
RSPt/common_inputcontains input files required for all RSPt runs. Together with data and optionally one green.inp-* it is sufficient to rerun the DFT calculations. - Only
gs_xandgs_zare required. The directories contain eitherhistORout_MFdepending on howMAEis calculated. - Optional README.md files should be human readable and will not be parsed when validating a dataset.
-
intrinsic_properties.yamlandMC_*/thermal.csvhave a defined structure and are best creating with withmammos-parser. - If Tc is derived from Binder cumulants, two directories
MC_1andMC_2need to be present (optionally a thirdMC_3may also be present), otherwise a singleMC_1is sufficient. If multiple directories are present,MC_1should contain the largest system size, so that the most accurate simulation can always be found inMC_1(this rule is not enforced by the parser). -
green.inp-*andout-*are present in pairs; no further constraints are applied to the suffixes.
To add a new dataset (or update an existing one) please follow the following steps:
-
[First time only] Clone repository (most convenient with an SSH key as explain in the GitHub documentation).
git clone git@github.com:MaMMoS-project/uppsala-data.gitAlternatively, use
git clone https://github.com/MaMMoS-project/uppsala-data.gitNote: you cannot push over https using your username+password. Instead, you have to create a personal access token.Install pixi, which is used to managed dependencies.
Then go into the new directory:
cd uppsala-data -
Switch to the correct branch:
If you are adding a new dataset create a new branch with
git checkout -b BRANCH_NAME. Pick a suitable BRANCH_NAME, e.g.new-dataset-<chemical-composition>.If you want to contribute to an open PR switch to that branch:
git checkout BRANCH_NAME. The BRANCH_NAME is displayed in the PR page on GitHub. Example: to contribute to #3 rungit checkout new-dataset. -
Add new/updated files: copy files/directories into the
data/<chemical_composition>subdirectory, rename files/directories, delete files/directories as needed.For a new dataset you need to create that directory first. You can also add additional information to the subdirectory name, e.g.
<chemical_composition>_<other_information>, which can e.g. be useful if the multiple datasets exist for the same chemical composition.Once you have all raw data, use
mammos-parserto check for consistency:pixi run mammos-parser uppsala-data validate-dataset data/<chemical_composition>This will inform you about wrong/missing data. Fix all issues until you are left with just complaints about the files
intrinsic_properties.yaml,thermal.csvandmetadata.yaml. These three files can (and should) be auto-generated with the following command:pixi run mammos-parser uppsala-data generate-derived-files data/<chemical_composition>Once that has finished, re-run the validation, which should now pass:
pixi run mammos-parser uppsala-data validate-dataset data/<chemical_composition>Once you have all data add and commit it:
git add data/<chemical_composition> git commit -m "<put your commit message here>" # example: git commit -m "New dataset <chemical composition>" -
Push the changes:
git push; for a new branch the push will fail, copy the right push command displayed in the error message. -
Create a new pull request (PR) on GitHub if it does not exist yet.
If you have pushed recently, GitHub will show a message to create a new PR, just click on that button and follow the instructions. Otherwise, go to the repository -> Pull requests -> New pull requests -> choose your branch for
compareand create the PR. -
A few CI jobs will automatically run after each push and check that the dataset follows the required format. Check the pipeline summary displayed in the PR overview page. If any job is failing look at the job log to see where the problem is coming from.
Note for new PRs: Each PR should have a file describing the changes introduced in tha PR in the
changes/subdirectory, the changes/README.md explains more details. One CI job checks for the presence of that file and will fail if it is missing or does not have the correct name. So for new PRs that typically don't have the file yet this job will fail. -
Repeat steps 3 – 6 until all tests pass, then select a reviewer on the PR overview page.
This software has been supported by the European Union’s Horizon Europe research and innovation programme under grant agreement No 101135546 MaMMoS.