2024-02-14
To access links or follow on your own device these slides can be found at:
https://jackatkinson.net/slides
Except where otherwise noted, these presentation materials are licensed under the Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0) License.
Weather and climate disclaimer
Arrhenius (1896) attempted to predict the impact of CO2 on global temperature using:
and combining them in a series of tabulated calculations.
In ~1916 Lewis Fry Richardson1 attemted2 to compute a 1 day forecast by hand using partial differential equations3.
He went on to publish Weather Prediction by Numerical Process (Richardson 1922)
Since 1950 forecasting and modelling has advanced with computational power.
Climate models are large, complex, many-part systems.
Subgrid processes are largest source of uncertainty
Microphysics by Sisi Chen Public Domain
Stagdered grid by NOAA under Public Domain
Globe grid with box by Caltech under Fair use
We typically think of Deep Learning as an end-to-end process;
a black box with an input and an output1.
Who’s that Pokémon?
\[\begin{bmatrix}\vdots\\a_{23}\\a_{24}\\a_{25}\\a_{26}\\a_{27}\\\vdots\\\end{bmatrix}=\begin{bmatrix}\vdots\\0\\0\\1\\0\\0\\\vdots\\\end{bmatrix}\] It’s Pikachu!
Neural Net by 3Blue1Brown under fair dealing.
Pikachu © The Pokemon Company, used under fair dealing.
Neural Net by 3Blue1Brown under fair dealing.
Pikachu © The Pokemon Company, used under fair dealing.
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)
Many large scientific models are written in Fortran (or C, or C++).
Much machine learning is conducted in Python.
Mathematical Bridge by cmglee used under CC BY-SA 3.0
PyTorch, the PyTorch logo and any related marks are trademarks of The Linux Foundation.”
TensorFlow, the TensorFlow logo and any related marks are trademarks of Google Inc.
RSE expertise:
FAIR
Educating on:
Applications:
Equation discovery for prediction of precipitation in the tropics
Bayesian Optimisation image from (Zhang, Apley, and Chen 2020)
Functional programming language
Radiation belts by BAS SWA under Fair Use
Volcano by Abet Llacer under CC
Hurricane Isabel from the ISS by NASA
Engineering -> Fluid Mechanics -> Research -> RSE/HPC
Physics -> HPC SysAdmin -> RSE
CompSci -> Numerical Methods -> RSE
Physics -> SE/Industry -> Materials -> Research -> RSE
Mathematics -> ML -> Industry/Startup -> Research
CompSci -> Research
CompSci -> RSE -> Research
Directors:
Early Career Fellows:
Research Software Engineers:
Operations:
Get in touch: