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:
- Episodes "1. Course introduction", "2. FAIR research software" and "3. Tools and practices for FAIR RS development" are not making changes to the software
- branch 04-version-control matches the code at the start of episode "4. Version control"
- branch 05-code-environment matches the code at the start of episode "5. Reproducible development environment"
- branch 06-code-readability matches the code at the start of episode "6. Code readability"
- branch 07-code-structure matches the code at the start of episode "7. Code structure"
- branch 08-code-correctness matches the code at the start of episode "8. Code correctness"
- branch 09-code-documentation matches the code at the start of episode "9. Code documentation"
- branch 10-open-collaboration matches the code at the start of episode "10. Open code & collaboration"
- 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).