|
1 | 1 | # Code, Data and Workflow Quality |
2 | 2 |
|
3 | 3 | ## Applying and maintaining FAIR Principles |
4 | | -Guidelines on how to implement FAIR principles within your research workflow, data management, and publication process. |
5 | 4 |
|
6 | | -Ensuring all research outputs, including code, data, and documentation, are compliant with FAIR (Findable, Accessible, Interoperable, and Reusable) principles. |
| 5 | +The checklist below provides practical guidance for applying the FAIR principles in EarthCODE projects. |
| 6 | + |
| 7 | +- 1. Planning Phase |
| 8 | + - Choose FAIR-compliant data formats, metadata standards and tools (e.g., STAC, JSON for metadata, Zarr for data). |
| 9 | + - Select an open license (e.g., CC-BY) to ensure data accessibility and reusability. |
| 10 | + - Define roles and permissions for team members to control access to data and resources. |
| 11 | + - Check the available EarthCODE platforms and try to identify the one that best suits your needs. |
| 12 | +- 2. Kicking Off |
| 13 | + - Whenever possible, choose an EarthCODE platform to make publishing in EarthCODE easier |
| 14 | + - Create and add metadata to datasets as data is collected to ensure findability. |
| 15 | + - Document project goals and Open Science practices: Share with the team and ensure alignment with FAIR principles. |
| 16 | + - Ensure data accessibility: Make sure datasets are stored in a location where they can be easily accessed by the team (e.g., cloud storage, data repository). |
| 17 | +- 3. Ongoing |
| 18 | + - Monitor data and metadata quality regularly to ensure accessibility and correctness. |
| 19 | + - Ensure interoperability: Check that datasets are compatible with community standards and formats (e.g., Zarr, GeoTIFF, GeoJSON, NetCDF). |
| 20 | + - Foster collaboration: Encourage sharing and cross-team cooperation, including sharing links to datasets stored externally if not yet in EarthCODE. |
| 21 | + - Implement version control for datasets, ensuring that the latest versions are clearly documented. |
| 22 | +- 4. Publishing in EarthCODE (End of Project) |
| 23 | + - Upload datasets and metadata to EarthCODE for long-term storage and publishing. |
| 24 | + - Link datasets to related resources (e.g., other datasets, publications) through metadata to facilitate further exploration and reuse. |
| 25 | + - Verify open licenses: Ensure datasets are published with open licenses for broad reuse (e.g., CC-BY). |
| 26 | + - Ensure the metadata is up-to-date and complete before publishing in EarthCODE. |
| 27 | +- 5. Completed |
| 28 | + - Finalize and publish datasets in EarthCODE, ensuring they are accessible, findable, and reusable. |
| 29 | + - Encourage data reuse: Ensure datasets are easy to find, access, and understand for reuse by others. |
7 | 30 |
|
8 | 31 | ## Best Practices for high-quality Code, Data and Workflows |
9 | 32 |
|
10 | | -Tips and guidelines for maintaining high-quality code and data, including automated testing and validation. |
| 33 | +Maintaining high-quality code and data throughout your project ensures that your outputs are reusable, trustworthy, and easier to publish. Below are tips and recommended practices to support quality assurance and reproducibility: |
11 | 34 |
|
| 35 | +- Code Quality |
| 36 | + - Use Version Control: Track your development using Git and a shared repository (e.g., GitHub or GitLab). |
| 37 | + - Automate Testing: Implement unit tests and integration tests using tools like pytest, unittest, or CI/CD workflows. |
| 38 | + - Follow Coding Standards: Adopt a consistent style (e.g., PEP8 for Python) and use linters (e.g., flake8, black) to maintain code clarity. |
| 39 | + - Write Documentation: Provide clear usage instructions and inline comments. Consider using Jupyter Notebooks or Markdown README files to explain workflows. |
| 40 | +- Data Quality |
| 41 | + - Validate Your Data: Apply automated checks for data formats, missing values, and schema consistency. |
| 42 | + - Document Your Data: Create or maintain metadata alongside your datasets, including descriptions of variables, units, and collection methods. |
| 43 | + - Use Standard Formats: Choose interoperable, machine-readable formats (e.g., NetCDF, GeoTIFF, Zarr) and community-agreed standards (such as CF-Conventions). |
| 44 | + - Track Data Changes: when needed, version datasets as they evolve and log processing steps to support reproducibility. |
| 45 | +- Integration with EarthCODE |
| 46 | + - Use EarthCODE-Compatible Tools: When possible, rely on tools and environments that are natively supported within EarthCODE platforms. |
| 47 | + - Test Workflows in EarthCODE Early: Validate your workflows in the target platform before final publication to avoid integration issues. |
| 48 | + - Publish Intermediate Outputs: Store and document intermediate results to help others understand and reuse your work incrementally. |
| 49 | + - Regularly revisiting these practices during the project lifecycle will reduce last-minute issues and make your results easier to share and build upon. |
12 | 50 |
|
0 commit comments