Queens’ College
SCR Talk

Jack Atkinson

Queens’ PDRA - ICCS - Cambridge

2023-11-13

Precursors

Slides

To access links or follow on your own device these slides can be found at:
https://jackatkinson.net/slides

Licensing

Except where otherwise noted, these presentation materials are licensed under the Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0) License.

Vectors and icons by SVG Repo used under CC0(1.0)

Radiation belts by BAS SWA under Fair Use
Volcano by Abet Llacer under CC
Hurricane Isabel from the ISS by NASA

The ICCS

The Institute of Computing for Climate Science

  • Domain-specific group based at the University of Cambridge
  • Embedded support to several international climate science projects

What is Research Software?

Major Computational Programs

 

 

 

Data processing

 

 

Experiment support

 

 

 

Bathymetry by NOAA under public domain
CTD Bottles by WHOI under public domain
Keeling Curve by Scripps under public domain
Climate simulation by Los Alamos National Laboratory under CC BY-NC-ND
Dawn HPC by Joe Bishop with permission

Why does this matter?

def calc_p(n,t):
    return n*1.380649e-23*t
data = np.genfromtxt("mydata.csv")
p = calc_p(data[0,:],data[1,:]+273.15)
print(np.sum(p)/len(p))

What does this code do?

# Boltzmann Constant and 0 Kelvin
Kb = 1.380649e-23
T0 = 273.15

def calc_pres(n, t):
    """
    Calculate pressure using ideal gas law p = nkT

    Parameters:
        n : array of number densities of molecules [N m-3]
        t : array of temperatures in [K]
    Returns:
         array of pressures [Pa]
    """
    return n * Kb * t


# Read in data from file and convert T from [oC] to [K]
data = np.genfromtxt("mydata.csv")
n = data[0, :]
temp = data[1, :] + T0

# Calculate pressure, average, and print
pres = calc_pres(n, temp)
pres_av = np.sum(pres) / len(pres)
print(pres_av)

The Scientific Method

  • Question
  • Hypothesis
  • Test
  • Report
  • ???
  • Reproducibility
  • Peer review
  • Building on work – “standing on the shoulders of giants”

  • Open Science, Open Source, and the concept of FAIR

Climate Modelling

Climate models are large, complex, many-part systems.

Parameterisations

Microphysics by Sisi Chen Public Domain
Stagered grid by NOAA under Public Domain
Globe grid with box by Caltech under Fair use

Teaching

or Evangelism?

  • Educating on best practices in research software
    • Version Control
    • Formatting
  • Educating on tooling
    • git, GitHub
    • Machine Learning - PyTorch
    • Languages
  • Writing software
    • Using HPC systems
    • Scaling code

Whatever a particular project/researcher needs – There is a lot of variety!

Other Activities

  • Archery
  • Open-source projects
  • Music