Plans, conducts, and coordinates scientific programming application activities in support of research, engineering, and other related technical activities. Analyzes scientific applications and writes computer programs that contain logical and mathematical solutions to scientific problems or questions. Develops statements of problems and codes into computer language for solution by means of data processing equipment. Applies knowledge of computer processes, scientific subject matter to be programmed, and input from various users to develop and test programs. Corrects program errors, prepares operating instructions, compiles documentation of program development, and analyzes system capabilities to resolve questions of program intent, output requirements, input data acquisition, programming techniques, and controls.