Join our Talent Network >

Application Programmer - NOAA

This job posting is no longer active.

Job ID: 1923471
Location: PRINCETON, NJ, United States
Date Posted: Dec 16, 2019
Category: Software
Subcategory: SW Engineer
Schedule: Full-time
Shift: Day Job
Travel: No
Minimum Clearance Required: None
Clearance Level Must Be Able to Obtain: Public Trust
Potential for Teleworking: No

Share: mail

Job Description


SAIC is recruiting for an FMS Engineer for our NOAA GFDL program. This individual will be supporting climate code and algorithm transitions to new computing architectures and paradigms, in a structured team environment. The programmer will also participate in various algorithm improvements and code optimization initiatives, as well as serving as a Model Support liaison between Scientists and the Modeling Services team for the purposes of scientific code development. Attending code reviews, planning development meetings, Running Computer Climate Models for the purposes of regression testing and Documentation of production software are other roles included in this position. 

The Flexible Modeling System (FMS) is the Earth System Modeling (ESM) framework used at GFDL. The framework supports the multi-physics model components (e.g. atmosphere dynamical core, atmospheric physics, ocean dynamical core and physics, land model, ice model, etc). The FMS core is written primarily in modern Fortran with some elements in C and C++. The core supplies various services that enable grid based domain decomposition, MPI and OpenMP based inter-processor communication, parallel I/O, model diagnostics generation, etc. Importantly, various grids are employed within a single model across the model component space (e.g. “cubed-sphere” for the atmosphere and “tripolar” for the ocean). Ongoing development of the core infrastructure is essential to meet the ever increasing demands for model fidelity.

This position requires writing, editing, and maintaining computer programs that solve scientific problems. Gathering requirements from scientists, preparing flow charts, developing/writing code, testing and debugging programs, and writing associated documentation.

Such current developments include:

·  Support for moving, nested grids (i.e. moving subdomains of enhanced resolution)

·  Enhancing support for ensembles (e.g. running concurrent instances of the atmosphere and/or ocean with slightly varying initial conditions within a single model execution)

·  Adding various in-line techniques for writing out reduced resolution model diagnostics


Specific responsibilities :

·         Support Modeling Systems FMS outreach activities to the User Community

o    Repository management on GitHub

o    Respond to and manage pull requests

o    Track bugs and issues

·         Develop robust unit tests to be used in a continuous integration environment

·         Provide software documentation, preferably using UMLs

·         Explore cloud computing for Continuous Integration

·         Work collaboratively to design and develop enhancements to FMS infrastructure

·         Support integration of source code developed by scientific teams for periodic modeling software releases

o    Participate in comprehensive software release testing

o    Support efforts required for community software development of the GFDL model components (e.g. the FV3 atmosphere dynamical core, the MOM6 ocean modeling framework, etc)

·         Work collaboratively to design and develop enhancements to FMS infrastructure

o    Focus on infrastructure details such as gridding, the component coupling and boundary exchange, domain decomposition techniques, support for parallel and concurrent runtime techniques, etc

o    Focus on modeling infrastructure support for exascale class technologies (e.g. GPUs, enhanced threading, etc)

o    Develop higher-order interpolation algorithms


  • B.S. in Math, Computer Science, Engineering or Physical Science e.g. (Meteorology, Physics) and 2+ years of related experience (advanced degree can be substituted for degree)
  • Proficiency in Linux and basic Linux administration - Proficiency in Modern Programming Languages e.g. (C, C++)
  • Candidate must be willing to learn other languages e.g. FORTRAN - Demonstrated ability to learn new programming languages and technical skills
  • Professional knowledge in one or more physical science fields
  • Technical Writing Experience
  • Good communication skills
  • Independent self-starter
  • US Citizenship required with the ability to obtain and maintain a clearance

Desired Qualifications

  • M.S. / PhD in Physical Sciences, Engineering, Computer Science
  • FORTRAN Experience is highly desiredShell, PERL Scripting - Experience with Massively Parallel Programming concepts and tools e.g. OpenMP - Experience in Interactive Debugger e.g. TotalView, Allinea
  • Experience with source code control systems i.e. code repositories e.g. SVN, GIT


SAIC is a premier technology integrator, solving our nation's most complex modernization and systems engineering challenges across the defense, space, federal civilian, and intelligence markets. Our robust portfolio of offerings includes high-end solutions in systems engineering and integration; enterprise IT, including cloud services; cyber; software; advanced analytics and simulation; and training. We are a team of 23,000 strong driven by mission, united purpose, and inspired by opportunity. Headquartered in Reston, Virginia, SAIC has annual revenues of approximately $6.5 billion. For more information, visit For information on the benefits SAIC offers, see Working at SAIC. EOE AA M/F/Vet/Disability

Share: mail

Similar Jobs

Migration Scrum Master

United States

Scientific Programmer - NOAA

PRINCETON, NJ, United States