This repository contains a helper software project with some code to be used for the FAIR research software course.
This repository is an example of "not so FAIR" software that is meant to be improved over the course to show examples of better and more FAIR software practices.
Various branches of this repository represent the state of the code as it should be at the start of each of the course episodes:
- branch 01-introduction matches the code at the start of episode "1. Course introduction"
- branch 02-fair-rs matches the code at the start of episode "2. FAIR research software"
- branch 03-tools matches the code at the start of episode "3. Tools and practices for FAIR RS development"
- branch 04-version-control matches the code at the start of episode "4. Version control"
- branch 05-code-readability matches the code at the start of episode "5. Code readability"
- branch 06-code-testing matches the code at the start of episode "6. Code testing"
- branch 07-documenting-code matches the code at the start of episode "7. Documenting code"
- branch 08-open-collaboration matches the code at the start of episode "8. Open project collaboration & management"
- branch 09-code-ethics matches the code at the start of episode "9. Ethical considerations for research software"
- Finally, repository astronaut-data-analysis-fair repository contains the code that participants should have at the end of the course (an example of a good software project structure and code)
The code uses the NASA data on human space walks (Extravehicular activities - EVAs), exported/downloaded in JSON format, does some analysis over this data, plots a few graphs and saves the data in CSV format.
There is a number of things that are wrong or not so FAIR with this code and that can be improved. We maintain that list at issue #2.
An example of better and more FAIR code that participants should strive to achieve when writing their reseach software can be found at the astronaut-data-analysis-fair repository, to be used in conjuction with this repository during the course - this is the code that participants should have at the end of the course.
The data used on in this project was obtained from NASA as follows.
Data source: https://data.nasa.gov/Raw-Data/Extra-vehicular-Activity-EVA-US-and-Russia/9kcy-zwvn/about_data.
Either export data from the above page using the Export
button or download in JSON format from command line as:
curl https://data.nasa.gov/resource/eva.json --output eva-data.json
Note: the original data has been modified for the purposes of this tutorial by inserting a semicolon separator after each name in the crew
field.
The idea for this software has been borrowed from the "Astronaut analysis" workshop material by Helmholtz Federated IT Services (HIFIS).
This work has been supported by the UK's Software Sustainability Institute via the EPSRC, BBSRC, ESRC, NERC, AHRC, STFC and MRC grant EP/S021779/1 and UK Reproducibility Network (UKRN).
This work has been supported by the UK's Software Sustainability Institute via the EPSRC, BBSRC, ESRC, NERC, AHRC, STFC and MRC grant EP/S021779/1 and UK Reproducibility Network (UKRN).