I maintain a moderately successful open source project called mpi4jax that s useful in its small niche of people abusing JAX to do scientific computing. mpi4jax lets you run JAX code across multiple machines by calling MPI under the hood, without leaving the compiled execution graph. It s really a …
Some people talk about how life has seasons. I prefer the term phase transitions. Ice melts and turns into liquid – boom! The same substance suddenly feels completely different. That choice of words is no accident. To me, it feels different is the most poignant, perhaps only truly correct, description of …
I ve seen other people write about their personal philosophies, and I thought it would be fun to write mine down too. I don t have a grand unifying theory of life, and I don t really think it s possible to have one (which I guess is a philosophical …
This post has originally been published on Pasteur Labs Insights . At Pasteur Labs, we work every day to uplift simulation workflows to the machine age. Concretely, this means we turn bleeding-edge research and technology ( Simulation Intelligence ) into real-world capabilities: We implement and modify recently published AI methods to work at …
Our Python ocean model Veros (which I maintain) now fully supports JAX as its computational backend. As a result, Veros has much better performance than before on both CPU and GPU , while all model code is still written in Python. In fact, we can now do high-resolution ocean simulations on …
Contents Extreme events call for extreme measures The problem with histograms for rare events Bayes to the rescue Significant bins only! It works™ Bayesian histograms are a stupidly fast, simple, and nonparametric way to find how rare event probabilities depend on a variable (with uncertainties!). My implementation of Bayesian histograms …
My recent posters that I describe in this blog post. (click for higher resolution) Good and bad posters ¶ By far the most popular post on this blog is this one: Creating a Science Conference Poster with Inkscape . I have had mixed feelings about this for a while, because by now …
By Roman Nuterman, Dion Häfner , and Markus Jochum. (Niels Bohr Institute, Copenhagen, Denmark) This post is the display material for the vEGU 2021 abstract Higher-level geophysical modelling in session AS1 .1 (Recent Developments in Numerical Earth System Modelling). Therefore, it is a bit more technical than my usual blog posts …
My in-laws are really into the dice game Yatzy (the Scandinavian version of Yahtzee). If you re unfamiliar with the game, here s a brief summary of the rules from Wikipedia : Players take turns rolling five dice. After each roll, the player chooses which dice to keep, and which to …
In this example, we explore how evolution models can be implemented efficiently. An example of an evolution model is given in Botero et al., 2015 , but many are found throughout literature. In those models, some individuals (in this example animals) form a population, and each individual randomly adjusts its genome (i.e., mutates). Depending on how well the individuals fit into their environment,…
This example shows how simple Fortran-style loops over arrays can be implemented efficiently in Python. Since many Python operations carry a significant overhead compared to a low-level language as e.g. C or Fortran, Python is often generally classified as slow. However, satisfying speeds can be achieved if the Python code makes use of packages like Cython, Numba, or NumPy. Also, it is important…
Preface This series of posts is based on a talk I held for the TS - CCES group at the Institute of Environmental Physics, Heidelberg in November 2016. I presented this Jupyter notebook directly using RISE , a Reveal.js plugin for Jupyter. This allowed me to demonstrate my code in action, and play around with it to clarify things or answer questions.
Introduction In this post, I want to show you how to create the diagrams I made for my post on terrorism . I used Python 3.4 with the following packages: IPython Notebook (Jupyter) Matplotlib Pandas Seaborn (you can install all of this via PyPi s package manager pip ) Actually, this post itself is an IPython notebook. You can download the source code at the bottom of this page, and play around…
Introduction ¶ In the wake of the recent terror attacks in Western Europe (Jan 2015 and Nov 2015 in Paris; Mar 2016 in Brussels), I started observing the dynamics of the European society s reaction to events of this kind. I find it remarkable how impactful these events seem on both …
Update (Sep 2021): There is now an updated version of this blog post with more recent advice on how I would design a poster today. Make sure to check it out if this post appeals to you! First things first ¶ This poster design is heavily based on the poster template …