Unified Workflow Software Developer

The Software Developer will help in the development and design of an interoperable set of workflow tools and a framework that supports the UFS efforts across NOAA and the UFS Community.

 

Date posted

Jan. 5, 2023 4:00 pm

Application deadline

Feb. 5, 2023 5:00 pm

Organization

CIRES/NOAA Global Systems Laboratory at the University of Colorado Boulder

Location

  • United States

Job description

Job Summary

The NOAA Global Systems Laboratory (GSL) is looking for a Software Developer to help build a workflow framework for the Unified Forecast System (UFS). The GSL is one of ten NOAA Research laboratories and is located in Boulder, Colorado. Our research improves environmental prediction models, develops state-of-the-science decision support tools and visualization systems, and uses high-performance computing technology to support a Weather-Ready Nation.

The Assimilation Scientific Computing and Evaluation Novel Division (ASCEND) works to improve analysis and forecast systems used operationally at NOAA. The ASCEND team was responsible for leading the development of the innovative Rapid Refresh (RAP) 13km and High-Resolution Rapid Refresh (HRRR) 3km hourly-updating high-impact weather prediction models. They now focus their efforts on developing a Rapid Refresh Forecast System (RRFS) as part of the UFS.

The Software Developer will help in the development and design of an interoperable set of workflow tools and a framework that supports the UFS efforts across NOAA and the UFS Community. The responsibilities of the Engineer will depend on the level at which they are hired.

This position will work as a member of the Unified Workflow (UW) Team. It is a multi-institution, agile team housed under the NOAA Earth Prediction Innovation Center (EPIC) program. The UW tools and framework are planned for use in UFS Applications for Seasonal to Subseasonal forecasts, Medium Range Weather, Short Range Weather, Hurricane Analysis and Forecast System, and the Reanalysis and Reforecast, supporting both research and operational needs and requirements.


The University of Colorado Boulder is committed to building a culturally diverse community of faculty, staff, and students dedicated to contributing to an inclusive campus environment. We are an Equal Opportunity employer, including veterans and individuals with disabilities.

Who We Are

The Cooperative Institute for Research in Environmental Sciences (CIRES) is an internationally recognized leader in innovative environmental science and research and is located at the University of Colorado Boulder. At CIRES, more than 800 environmental science professionals work to understand the dynamic Earth system, including people’s relationship with the planet. CIRES has partnered with NOAA since 1967, and our areas of expertise include weather and climate, changes at Earth’s poles, air quality and atmospheric chemistry, water resources, solid Earth sciences, and more. Our vision is to be instrumental in ensuring a sustainable future environment by advancing scientific and societal understanding of the Earth system.

What Your Key Responsibilities Will Be

Responsibilities expected of a software developer at any level of experience:

  • Apply modern software principles and techniques to design an interoperable, flexible, configurable framework for NOAA’s UFS. Develop code that meets the needs of the community.
  • Help plan for and prepare code for releases of UW tools and framework to the UFS Community.
  • Contribute code and participate in code reviews for a variety of NOAA GitHub repositories.
  • Craft tools and portions of the framework alongside team members.

Additional responsibilities for the mid-career-level Software Developer:

  • Implement released tools and framework components in the UFS Short Range Weather Application.
  • Supervise other CIRES employees working at NOAA GSL.
  • Work toward implementing the Unified tools and framework components in the UFS Short Range Weather Application, which requires an understanding of that system and its development requirements.

Additional responsibilities for the senior-level Software Developer:

  • Implement released tools and framework components in the UFS Short Range Weather Application
  • Supervise other CIRES employees working at NOAA GSL.
  • Work with the EPIC community to gather requirements, receive feedback, and iterate on design and implementation of code for maximum usability of software products.

What We Require

Entry-level Software Developer:

  • A Bachelor’s degree in Computer Science or related field and demonstrable experience in software development; OR a Bachelor’s degree in an unrelated field and at least 2 years of experience in the field of software development.
  • Experience with data management and movement across various platforms, including cloud and long-term storage systems.
  • Experience developing, optimizing, and/or testing object-oriented code at the appropriate level.

Mid-career-level Software Developer:

  • A degree in Computer Science, or related field, and at least 3 years of experience in software development; OR a Bachelor’s degree in an unrelated field and at least 5 years of experience in the field of software development.
  • Experience with data management and movement across various platforms, including cloud and long-term storage systems.
  • Experience developing, optimizing, and/or testing object-oriented code at the appropriate level.

Senior-level Software Developer:

  • A Bachelor’s degree in Computer Science, or related field, and at least 10 years of experience in software development; OR a Bachelor’s degree in an unrelated field and at least 14 years of experience in the field of software development; OR a Master of Science in Computer Science, or related field and at least 7 years of experience in software development in high-performance computing environments.
  • Experience with data management and movement across various platforms, including cloud and long-term storage systems.
  • Experience developing, optimizing, and/or testing object-oriented code at the appropriate level.

What You Will Need

  • Strong programming skills for performing a variety of types of tasks.
  • Proficiency with linux operating systems.
  • Familiarity with modern code management tools (e.g., git, git submodules, GitHub, BitBucket, etc.)
  • Demonstrated proficiency in programming in a scripting language (e.g. Python, shell, etc.)
  • Outstanding communication skills.
  • Strong ability to work in a collaborative team environment.
  • Desire and ability to contribute to an inclusive work environment.

What We would Like You To Have

Please note that while the position requirements are detailed in the What We Require and What You Will Need sections, we want applicants to be aware that they do not need to have all the skills and experience listed in this What We Would Like You To Have section to be considered for this position. If you meet the requirements and have passion for the work, you are encouraged to apply. We encourage on-the-job training for any additional skills or knowledge that become relevant to the position.

  • Experience designing and implementing workflows for research and production.
  • Experience packaging Python codes for release and dissemination.
  • Knowledge of and/or experience with various high-performance computing platforms, their batch systems, and their approach to environment management.
  • Experience working with UFS components (UFS weather model, UFS utils, Unified Post Processor, GSI, etc.) or UFS Apps (S2S, MRW, SRW, HAFS, etc.)
  • Knowledge of requirements set by NCEP Central Operations for operational implementation of NWP systems. 

For more details

https://jobs.colorado.edu/jobs/JobDetail/CIRES-NOAA-Global-Systems-Laboratory-Unified-Workflow-Software-Developer/44904