About the role

  • Scientific Applications Programmer supporting the Environmental Modeling Center for weather prediction. Developing workflows and tools for mission-critical weather prediction systems with a collaborative team environment.

Responsibilities

  • support the Environmental Modeling Center (EMC) of the National Centers for Environmental Prediction (NCEP)
  • carry out research, development, and operational transition of ingest, processing, quality control, and handling of environmental observations
  • develop, maintain, modernize, and expand workflows for mission-critical weather prediction systems
  • work with a team of other software developers and physical scientists to develop cross-application tools
  • contribute to the development of critical workflow infrastructure for major modeling systems
  • comprehending and adhering to operational computing standards in support of operational code deliveries
  • port workflows to new high-performance computing and/or cloud platforms
  • develop user interfaces that allow scientists to easily set up experiments
  • conduct profiling of performance-critical model code and identify and implement performance improvements
  • maintain documentation standards that support community model development
  • incorporate modern software management practices including unit testing, continuous integration, and agile development techniques
  • maintain and modernize the CMake-based build systems

Requirements

  • Candidates must be a U.S. Citizen or U.S. Permanent Resident (Green Card Holder)
  • must have lived in the U.S. for 3-5 years prior to application
  • must have the ability to obtain a Public Trust security clearance
  • background in meteorology/NWP, physical sciences, mathematics, or closely related field with demonstrated numerical modeling and related scientific computing experience
  • experience with data assimilation (JEDI, SOCA) is strongly preferred
  • experience with ocean and sea ice models, coupled frameworks, and scientific data formats (HDF5, NetCDF, GRIB/2) are beneficial
  • proficiency in shell scripting, automation (including templated approaches), version control systems (Git), and developing software in a Linux or similar environment
  • expertise and demonstrated proficiency in Python and Fortran (including F95+)
  • demonstrated working knowledge of modern software engineering practices (requirements gathering, design, prototyping, version control, integration, testing, and documentation)
  • demonstrated experience in developing, working with, and running Earth system models or technically similar workflows on high-performance computing platforms including distributed-memory (MPI) and preferably also shared-memory (OpenMP, pthreads) parallelization
  • experience with using parallel job schedulers (SLURM, PBS) is strongly preferred
  • experience with using workflow managers (Rocoto, ecFlow, Cylc)
  • GPU experience is a plus
  • familiarity with cross-platform package management, build, and test systems, especially CMake/CTest and pip
  • experience with using and developing environment modules (Tcl modules, Lmod) is strongly preferred
  • experience with package managers (EasyBuild, Spack) and containers (Docker, Apptainer/Singularity, Charliecloud) is a plus
  • good verbal and written communication skills in English
  • ability to work effectively and professionally as part of a diverse, customer-focused team and collaborate with software engineers and scientists across different teams and agencies
  • experience working in Agile/Scrum environments is preferred.

Benefits

  • full benefits package including paid time off
  • 401k match
  • health care benefits

Job title

Scientific Applications Programmer

Job type

Experience level

Mid levelSenior

Salary

Not specified

Degree requirement

Bachelor's Degree

Location requirements

Report this job

See something inaccurate? Let us know and we'll update the listing.

Report job