AGU Learning Workshop: Technical Skills for Publishing and Sharing Data and Code
Abstract
Version 2: AGU Learning Workshop given at AGU25 on Thursday, Dec 18 by Kimberlee Wong, Tony Castronova, and Kristina Vrouwenvelder. Title: Technical Skills for Publishing and Sharing Data and Code Brief intro to open science Setting up your reproducible workflows getting started with data (management) getting your software and data ready complying with publication requirements Version 1: AGU Learning Workshop given at AGU24 on Wednesday, Dec 10 by Lindsay Platt and Kristina Vrouwenvelder. Title: Technical Skills for Publishing and Sharing Data and Code Brief intro to open science Setting up your reproducible workflows getting started with data (management) getting your software and data ready complying with publication requirements
Full text
Thursday, December 18th 12:00 - 1:00 PM AGU Central Technical Skills for Publishing and Sharing Data and Code Kristina Vrouwenvelder, PhD Assistant Director, Publications, AGU Kimberlee Wong Environmental Data Science Fellow, CUAHSI Tony Castranova, PhD Lead of Research, CUAHSI Brian Sedora Senior Program Manager, Publications and Open Science, AGU
Open Science in the Research Ecosystem Publication Open peer review; pre-prints Discovery, Dissemination, and Access Open access articles, open education Reuse Open data, open source software Funding and Evaluation Open metrics; funder policies on sharing Research Open methodology; open practices on teams
Why Practice Open Science? It’s not just AGU: Papers citing data are 25% more likely to be cited.1 Open access articles get up to 5x more page views, more media coverage, and more citations.1 1: Colavizza et al, (2020) PLoS ONE 15(4): e0230416. https://doi.org/10.1371/journal.pone.0230416; McKiernan et al. eLife 2016;5:e16800. DOI: 10.7554/eLife.16800.
Research Data Lifecycle “Data Lifecycle model” by University of Wisconsin Data Governance Program. Updated Aug 9, 2022. License: CC-BY-NC 4.0.
Technical Skills for Publishing Data and Code ●Setting up your reproducible workflows ●Getting data and code ready for publication ●Sharing and publishing your software and data ●Q&A! Find these slides: https://doi.org/10.5281/zenodo.14270999
Setting up your reproducible workflows
What does reproducibility mean? methods can be easily rebuilt using the same data to recreate results or new data to update an analysis
Organizing files and folders for reuse Key takeaways Think like a future user (even future you) Name files clearly and consistently Group logically
Activity 1 What if the only improvement we made was renaming files to fit the project workflow? Take a minute and discuss with your neighbor.
Getting data and code ready for publication
What data should I share? Data underlying your publication Data that your research produces
What if I used someone else’s data? Your data Other’s data Cite in your publication! Share it as openly as possible! Sharing & openness not under your control If I have seen further than others, it is by standing upon the shoulders of giants” –Sir Isaac Newton
What if I used someone else’s data? Your data Other’s data Cite in your publication! If I have seen further than others, it is by standing upon the shoulders of giants” –Sir Isaac Newton
Get your data ready Sharing your data enables reuse and collaboration (more impact!) Documentation: •Include good metadata –the data about the data •Create standardized, logical file structures and file names •Include README files with your datasets •Define abbreviations, leave notes about methodologies, … Storage •Use non-proprietary file formats designed for long-term use. •Set up automatic backups! •Archive your data in a repository with a persistent identifier (DOI) and metadata appropriate for your discipline/domain Discovery •Cite your data in your papers! •Add your data to web, as appropriate See also: https://www.usgs.gov/data-management/why-share-your-data For these resources & more:
Preparing your code/software for publication Follow common code styling best practices ●Use consistent variable naming conventions, function names, indentation, and spacing ●Adhere to common standards to improve readability for others Resources The Turing Way Guidelines for Code Styling For an example of extensive documentation, see: doi.org/10.1029/2020EA001584 and associated notebook. Johns Hopkins library guide for code documentation Provide helpful in-line comments ●Guide users by explaining what the code does ●Focus on commenting clever or complex lines for clarity ●Reminds you what is going on in the code (“Love letters to your future self” - Jon Peirce) Include a README file to provide higher-level context, such as: ●Instructions for running the code ●Required external packages and their versions ●Scenarios when your model can be applied or conditions for initial parameters Test the usability of your code with a colleague ●Have someone else try running your code ●Use their feedback to improve instructions and usability
Advanced software publication techniques Version control collaborate and track how your code changes through time Dependency management link components of your workflow to trigger rebuilds upon changes Containerization package your code and libraries to provide crossplatform support Tests and tutorials expand the resilience and usability of your code by asserting conditions and offering additional user docs Additional resources & more
What Might This Look Like? Other’s Data Produced Data Data and Software References Data Repository
Sharing and publishing your software and data (alongside your paper)
Thank you Questions? Email [email protected]