Software Developer

Job title: Software Developer

Company: Berkeley Lab

Job description: Berkeley Lab’s Energy Geosciences Division has an opening for a Software Developer.

The Energy Geosciences Division at Lawrence Berkeley National Lab is seeking to hire a dedicated scientific programmer for the widely licensed software suite known as the TOUGH codes ( ). The Energy Geosciences Division (EGD) is multifaceted with expertise in theoretical subsurface flow and transport and related applied mathematics, hydrology, geochemistry, and geomechanics in both laboratory and large-scale field settings. The EGD staff conduct research to meet the needs of various projects for the Department of Energy in the areas of geologic carbon sequestration, geothermal and fossil energy resource development, nuclear waste disposal, subsurface energy storage, contaminant transport/remediation, groundwater hydrology, and basic energy sciences. Many staff members are involved in the application and development of numerical simulation capabilities (e.g., the TOUGH family of codes) that combine hydrogeology or reservoir engineering with geomechanics, geochemistry, and geophysics. These include the major codes actively under development: TOUGH3, TOUGH+, TOUGH+Hydrate, iTOUGH2, TOUGHREACT, and TReactMech. The TOUGH family of codes are used in universities, government institutions, and commercial entities throughout the world, and have a large and growing user base.

This position is part of the EGD for which the incumbent will serve as a dedicated scientific programmer for the widely licensed software suite known as the TOUGH codes ( Responsibilities will include code integration, maintenance (updating libraries, fixing bugs), and unit testing, as well as coding (in FORTRAN) new methods for new capabilities as proposed by scientific colleagues. The incumbent in this position will assist TOUGH users both internally and externally in code transfer, installation, and compilation.

What You Will Do:

  • Modify the TOUGH codes as needed in response to requests from the TOUGH Steering Committee (TSC). This could include parallelization of existing serial codes (e.g., T2WELL and TOGA), changes to existing codes, and bug fixes.
  • Test the TOUGH codes following modifications and maintain a record of testing and bug fixing.
  • Maintain and update the TOUGH codes and scripts used to compile the codes.
  • Carry out scientific programming to add methods, capabilities, and wrappers to the TOUGH codes in FORTRAN as new capabilities and/or I/O approaches are suggested by the TSC.
  • Assist with installation and compilation of the TOUGH codes on high-performance computer (HPC) systems in support of internal and external users.
  • Monitor the TOUGH user forum ( and respond to the forum and to user questions from other sources to answer questions directly or to direct questions to other knowledgeable people.
  • Assist EGD staff with programming, installing, compiling, and using the TOUGH codes.
  • Participate as a member of a multi-disciplinary team to be the go-to person for all questions regarding development, use, licensing, version control, etc. of the TOUGH codes.

Additional Responsibilities as needed:

  • Assist in preparing reports and giving briefings as needed on usage and income generated by the TOUGH codes.

What is Required:

  • A Bachelor’s degree in Civil Engineering, Petroleum Engineering, Computer Science, Geosciences, or related majors (PhD or Master’s degree preferred).
  • Minimum of five years of experience in FORTRAN programming.
  • Experience with HPC systems.
  • Experience in scientific computing and applied math as it relates to numerical solution of nonlinear partial differential equations.
  • Extensive knowledge of and coding experience with FORTRAN and object-oriented computing using FORTRAN, C++, C, and Python.
  • Extensive knowledge of and code experience with parallel computing (MPI, OpenMPI, and GPU) in high-performance clusters and computers.
  • Strong knowledge of and experience with numerical solution of nonlinear partial differential equations, advanced solver libraries, and other advanced numerical algorithms.
  • Ability to bring most recent advances in modern computing (e.g., GPU) into the TOUGH family of codes
  • Ability and willingness to interact with a variety of people at different levels of knowledge in computing with the TOUGH codes.
  • Solid verbal and written communication skills, including demonstrated ability to write reports and code documentation.

Desired Qualifications:

  • Expertise in inverse methods as applied to hydrogeology and reservoir engineering.
  • Deep expertise in one or more of the following topics:
  • Numerical modeling code applications and development
  • HPC for subsurface flow and transport, reactive transport, and geomechanics
  • Background in Earth Sciences, Hydrology, Civil/ Environmental Engineering, or Fluid dynamics
  • Strong experience in subsurface flow and transport modeling and coding in FORTRAN.
  • Experience with the TOUGH family of codes (TOUGH3, TOUGHREACT, TOUGH+), both parallel and serial.
  • A clear understanding of how to integrate and upgrade the TOUGH family of codes.

For full consideration, please apply by June 1, 2021.


  • This is a full-time, one-year, term appointment with the possibility of extension or conversion to Career appointment based upon satisfactory job performance, continuing availability of funds and ongoing operational needs.
  • This position may be subject to a background check. Any convictions will be evaluated to determine if they directly relate to the responsibilities and requirements of the position. Having a conviction history will not automatically disqualify an applicant from being considered for employment.
  • Diversity, equity, and inclusion are core values at Berkeley Lab. Our excellence can only be fully realized by faculty, students, and staff who share our commitment to these values. Successful candidates for our faculty positions will demonstrate evidence of a commitment to advancing equity and inclusion.
  • Work will be primarily performed at Lawrence Berkeley National Lab, 1 Cyclotron Road, Berkeley, CA.

Berkeley Lab is an Equal Opportunity/Affirmative Action Employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, age, or protected veteran status. Berkeley Lab is in compliance with the Pay Transparency Nondiscrimination Provision under 41 CFR 60-1.4. Click here to view the poster and supplement: “Equal Employment Opportunity is the Law.”

Lawrence Berkeley National Laboratory encourages applications from women, minorities, veterans, and other underrepresented groups presently considering scientific research careers.

Expected salary:

Location: California

Job date: Tue, 04 May 2021 23:42:19 GMT

Apply for the job now!

Leave a Comment

%d bloggers like this: