Jonathan Thielen is an undergraduate researcher and meteorology/math graduate with a decade of hands-on experience building scientific Python tools and web applications. Based in Fort Collins, he contributes to prominent open-source projects like Unidata/MetPy—where he refactored kinematic functions and added hypsometric thickness calculations—and improved core functionality and test coverage for the pint units library. He blends domain expertise in mesoscale convective systems and machine learning with practical software engineering, from backend development and test automation to Linux server management. A passionate Pythonist and educator, he also tutors math through the Earth, Wind, and Fire learning community and has produced instructional materials and workshops for the meteorology community.
10 years of coding experience
5 years of employment as a software developer
Bachelor of Science (B.S.), Meteorology and Mathematics, Bachelor of Science (B.S.), Meteorology and Mathematics at Iowa State University
Operate and manipulate physical quantities in Python
Role in this project:
Back-end Developer & Test Automation Engineer
Contributions:62 commits, 22 PRs, 165 comments in 10 months
Contributions summary:Jonathan primarily contributed to improving the functionality and reliability of the `pint` library. Their commits involved reimplementing the `__iter__` method, patching the `matplotlib.py` file to handle non-iterable arguments, and implementing a registry-based string preprocessor. Moreover, they added significant test coverage by merging and modifying existing testing files, including adding tests for new functionalities like `astype` and `item` methods.
MetPy is a collection of tools in Python for reading, visualizing and performing calculations with weather data.
Role in this project:
Back-end Developer
Contributions:52 reviews, 175 commits, 92 PRs in 4 years 4 months
Contributions summary:Jonathan's primary contribution involved refactoring and renaming kinematic functions within the MetPy library, changing function names to more accurately reflect the calculations performed. This included renaming "convergence" functions to "divergence," updating tests, and correcting comments. Furthermore, the user added a thickness calculation using the hypsometric equation with virtual temperature adjustment and wrote two corresponding tests. Finally, further refinements were made to the optional mixing ratio and depth code to enhance functionality.
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.