NASA Goddard Space Flight Center Internships

NASA Goddard Space Flight Center Internships
NASA Goddard Space Flight Center Internships

NASA Goddard Space Flight Center Internships

The NASA Goddard Space Flight Center in the Global Modeling and Assimilation Office (GMAO) is trying to attract an intern to work with Dr. William Jamison and Dr. Thomas Clune over the Summer 2021 term. There are two projects available for this summer:

Testing Earth System Model Software – Virtual

Description:
Although the accuracy of Earth system models (e.g., weather and climate models) is of extreme importance to society, our ability to test the software implementations of these complex codes is generally quite limited. To date, most testing is almost exclusively at the full system level in which model output is compared against output of previous versions. Identical results provide a strong indication that no new defects have been introduced. (Comparison of model output against observational data is known as "validation" and is a vital, but separate process of model development.) While system level testing is very robust in that it can detect many types of defects almost anywhere in the code base, it is very limited in that it typically cannot indicate where those defects are. Further, this approach is expensive in terms of time and computing resources, reducing the frequency at which such testing is employed. A useful next step would be to create the ability to test the individual software components that implement specific physical processes (precipitation, radiation, dynamics, etc.). Such tests would bracket the location of defects, and will generally run faster and on fewer computing resources than the full model. The challenge is that these components generally lack standalone drivers as well as suitable sets of input/output data. This project is to develop the tools that would simplify the creation of standalone drivers for model components that are use the Earth System Modeling Framework (ESMF). The abstract interfaces provided by ESMF allow the development of a generic ESMF wrapper layer that can instrument a running model to capture all inputs and outputs of a targeted component. A single driver can then likewise be written that drives a targeted component through the generic wrapper using the captured input data and flagging differences in the output. This work will performed using the Goddard Earth Observing System (GEOS) model.

Computer Skills:
While this project involves significant use of advanced Fortran, experience with any advanced programming language is sufficient. Familiarity with ESMF and/or NetCDF would be useful.

Ref Number: 19992

Testing Parallel Software Using Mocks - VIRTUAL

Description:
Many large and important scientific models (e.g., weather and climate models) rely on using the Message Passing Interface (MPI) to enable parallelism. However, MPI introduces an a complex external dependency which greatly complicates the testing of model components which use MPI. Existing approaches tend to use large amounts of computing resources which inhibit the use of testing. One intriguing approach to testing software with complex external dependencies is to use software "mocks". A software mock is a configurable layer that replaces a complex dependency and thereby make a software component much easier to test. This project will explore the possibility of creating Fortran mocks for MPI to further our ability to test parallel scientific software with pFUnit.

Computer Skills:
The project will largely involve developing a Python layer that ingests a description of MPI interfaces (in YAML) and produces a skeleton Fortran procedure with the same interface. Experience with Python is essential, but the necessary aspects of MPI and Fortran can be learned during the course of the project. Experience with software testing frameworks and/or YAML/JSON will be useful.

Ref Number: 19991

Note that all NASA internships will be virtual this year (this may change at a later date). Students can apply via the website: https://intern.nasa.gov/ by March 5, 2021.

Students should know that internship mentors can make an offer/fill an internship at any time from when the internship is posted to after the application deadline. This means that the sooner a student applies to a NASA internship, the more likely they are to be offered it (i.e. you should not wait until the deadline to apply to any NASA internship).