Due to the COVID-19 pandemic, Unidata's 2020 summer interns did not travel to Boulder to work on their projects in person. Instead, they interacted with Unidata developers through Slack, Zoom, and other electronic means.
During the beginning of my internship, I devoted a great deal of time learning how to use Git and Github to collaborate on software development projects. After gaining this experience, I began improving documentation for a variety of Unidata remote repositories. I started with the netCDF-C repository and then moved on to the MetPy, Siphon, and Python Training remote repositories. This work was significant as it ensured that software users were able to locate resources, properly download software, and learn how to operate the software via informational materials.
I also provided feedback regarding the installation process for NetCDF and its various libraries. This led me to investigate how users access and work with NetCDF data using tools such as MATLAB and AWS S3. From this work, I found that there are several resources available for users who wish to use NetCDF data and AWS S3 buckets including AWS S3’s Developer Guide and MATLAB’s Getting Started Guide. In mentioning these great resources, I would like to take the opportunity to mention a Unidata resource that provides tutorials and resources concerning python skills and atmospheric science education. Though I may be slightly biased after working on this website, Unidata’s Python Training website is a wonderful resource for people wishing to gain more coding experience while using real-word atmospheric science data.
While working on these projects, I simultaneously participated in educational courses that broadened my knowledge of software development, data stewardship, and scientific research methods. In addition to completing a software development mini-course with my institution, I also completed a Structured Query Language (SQL) course offered by UCAR. I had frequently heard of SQL in my engineering courses, but I never actually took the time to explore this language until this summer. Because my internship was remote, I was also able to attend virtual conferences such as EarthCube, ESIP, and PEARC. These conferences were a great way to network with users of Unidata software and to learn of new developments within the fields of scientific data storage and sharing. The flexibility of my internship position allowed me to take advantage of countless opportunities, which helped me gain invaluable knowledge that I will continue to use as a scientific researcher.
This internship was such a rewarding experience because I actually applied what I learned, in my computer science courses, to fix real-world problems. The moment when my first pull request — a software documentation correction in which I replaced a few broken web links — was merged onto a Unidata repository’s master branch felt amazing. When I successfully revised the script to include the proper links, my changes were approved and are now included in the official documentation for the netCDF Github repository. What made this accomplishment even sweeter was the way that my coworkers celebrated my progress. I am so appreciative for the Unidata and greater NCAR community because they provided a supportive, engaging, and fun environment despite the remote setting of this internship. It is because of this, that I look forward to working with NCAR and Unidata in the future. Additionally, I would highly recommend the Unidata Summer Internship program to any student seeking to bridge the gap between their environmental science coursework and their computer science skills.