Sign in

Programming for the Planet

@propl.dev
47 followers 12 following 53 posts

The 3rd Programming for the Planet (PROPL) workshop will be co-located with PLDI in Boulder, Colorado (in hybrid mode) on 15th June 2026.

PostsRepliesMedia
Programming for the Planet @propl.dev · 15/06/2026
BMI has about thirty functions that range from controlling how the model runs, how its initialised/finalised, how timesteps works, extracting and sampling values. But not all functions need to be implemented and are fairly easy to write. It's being widely used in the community now!
010
Programming for the Planet @propl.dev · 15/06/2026
Mark Piper works with @csdms.bsky.social to do atmospheric science and promote open source software. They focus on model coupling which is crucial to building ensembles of climate predictions. The BMI is a language agnostic, self-describing and extensible method to use for this
130
Programming for the Planet @propl.dev · 15/06/2026
@f.luid.org language moves beyond notebooks to explain itself via literate execution. CamFORT tries to bring units of measure to code. But many of these are partial solutions; what would a complete language solution look like? Fortl is @dorchard.bsky.social's new language! github.com/plas4sci/fortl
142
Programming for the Planet @propl.dev · 15/06/2026
"Mind the gap" applies to science says @dorchard.bsky.social: code has an abstract model that's lost on the way to getting results. Why don't we communicate via the code? Programming languages are *too* general purpose to help here. Names have no intrinsic meaning in PLs but are helpful to humans.
100
Programming for the Planet @propl.dev · 15/06/2026
@dorchard.bsky.social then makes the case that general purpose programming languages are impeding our scientific communication! That's because complexity often obscures meaning in our source code. For example, fluid simulations often need to be rewritten for a different hardware architecture
100
Programming for the Planet @propl.dev · 15/06/2026
@dorchard.bsky.social advertises the @iccs.bsky.social 'hacktoberfest' to collaborate with people on climate science projects; sign up later this year!
222
Programming for the Planet @propl.dev · 15/06/2026
Enzyme is full of optimisations like communications fusion and low precision arithmetic towards order of magnitude speedup when running on large deployments. Compilers are a promising route to avoid earth scientists to become domain scientists in high performance computing!
110
Programming for the Planet @propl.dev · 15/06/2026
Enzyme is useful in real climate problems like the shallow water equations. It saves both execution time and storage costs by smart checkpointing in the compiler pipeline and can run for large tasks. Scientists don't write TPU code typically, but code can be compiled using a parallel.for in Enzyme
110
Programming for the Planet @propl.dev · 15/06/2026
Enzyme works at the LLVM layer so it works on any language and also takes advantage of LLVMs optimisation passes! Avoids derivates of values that don't make sense, and then allocates shadow memory for every differentiable instruction and calculates the derivate from the partial. Performance is good!
100
Programming for the Planet @propl.dev · 15/06/2026
Next William S. Moses talks about an enormously ambitious compiler-first planetary compute engine! How can we automatically differentiate in a performance portable Earth System Modeling engine? agupubs.onlinelibrary.wiley.com/doi/10.1029/... - Core problem is differentiation is compute intensive
100
Programming for the Planet @propl.dev · 15/06/2026
@deepakcherian.bsky.social notes that Icechunk requires a level of homogeneity which doesn't work well for some data. Need cross-language FFIs (something @neurocy.bsky.social also observed). Earth sciences is missing database ideas like incremental view/streaming compute and derived fields
100
Programming for the Planet @propl.dev · 15/06/2026
Since it's a big storage system, stability is super important for a cloud-native weather format. Public providers are moving to it, for example for weather forecasts and cloud data. It supports 'virtual' datasets built from piles of other data so you can compose vast datasets via 'symlinking'
100
Programming for the Planet @propl.dev · 15/06/2026
Icechunk is a cloud-native Rust-based chunked, compressed storage format for ndarray. It's got a hierarchical data model which cherrypicks from the best ideas in netCDF and so on and crucially promotes rigor via version control, isolated transactions and snapshots, says @deepakcherian.bsky.social
110
Programming for the Planet @propl.dev · 15/06/2026
Oceanography has an inspiring history of open source from the 90s zenodo.org/records/1061... but more sophisticated ideas and services never built a network effect and so we've ended up with 'standard compliant self-describing metadata-rich piles of files'
110
Programming for the Planet @propl.dev · 15/06/2026
Each of these massive storage arrays is bespoke, and each consumer repeats huge amounts of computation without any sharing or peer verification. Updates and ingest are also invisible, and so users are exposed to raw filenames and how its partitioned. This is happening with data from NASA, JPL etc!
000
Programming for the Planet @propl.dev · 15/06/2026
Deepak's a great example of someone who wouldn't ordinarily attend @sigplan-pldi.bsky.social; he's a 'professional scientist' who has worked on terabyte scale oceanic models, and now maintains important scientific infrastructure like xarray
242
Programming for the Planet @propl.dev · 15/06/2026
Next up, @deepakcherian.bsky.social presents Icechunk, a storage system that scales with the whole planet!
100
Programming for the Planet @propl.dev · 15/06/2026
We need to get out into the wider world and consider the incentive structures for who will actually use these systems. The benefits of this new structure cannot just go towards those regions that don't need it help.
100
Programming for the Planet @propl.dev · 15/06/2026
By FAIR, we mean good support for findability, accessibiilty, interoperability, reproducibility, while supporting liveness at scale.
100
Programming for the Planet @propl.dev · 15/06/2026
While there are many digital commons out there for scientific data, the future digital commons must also *compute* using FAIR principles, says @neurocy.bsky.social doi.org/10.1145/3759...
100
Programming for the Planet @propl.dev · 15/06/2026
There'll be a split PROPL this year; a morning set of position papers (including climate modeling), and then a working group where we'll put concrete action items together for what the PL/systems community can work on together on!
110
Programming for the Planet @propl.dev · 15/06/2026
There are clear roles for computer scientists to have a role in managing planetary health, and we can win! #propl26
101
Programming for the Planet @propl.dev · 15/06/2026
Opening with @neurocy.bsky.social explaining the 'working group' model we're doing for the 3rd PROPL
1122
Programming for the Planet @propl.dev · 13/10/2025
That’s a wrap for PROPL25 at @icfp-conference.bsky.social! Here’s the tired but happy organising team @anil.recoil.org @dorchard.bsky.social @kcsrk.info with @neurocy.bsky.social celebrating! Stay tuned for a writeup and enjoy our proceedings in the meantime dl.acm.org/doi/proceedi...
0125
Programming for the Planet @propl.dev · 13/10/2025
Andrés describes the 3 30 300 rule and how he counted every tree in the UK! #icfpsplash25
000
Programming for the Planet @propl.dev · 13/10/2025
Michael Dales is up speaking about Yirgacheffe, a declarative library for geospatial python dl.acm.org/doi/abs/10.1... #icfpsplash25
100
Programming for the Planet @propl.dev · 13/10/2025
@ryan.freumh.org discussing spatial programming: how can we program actions based on physical actions? Enter bigraphs! #icfpslash25
012
Programming for the Planet @propl.dev · 13/10/2025
Aadi Seth is back on stage demonstrating the STACD dataflow pipeline for resource planning #icfpsplash25
100
Programming for the Planet @propl.dev · 13/10/2025
Our lightning talks session opens with @sadiq.toao.com demonstrating TESSERA, their new geospatial foundation model that is FAIR and global #icfpsplash25
131
Programming for the Planet @propl.dev · 13/10/2025
Lots of languages in Chinmayi’s talk; climate models in Fortran, with an OCaml static analyser for C to bridge these worlds without losing model fidelity #icfpsplash25
200
Programming for the Planet @propl.dev · 13/10/2025
Chinmayi breaks down the couplers in climate models to figure out behavioural invariants across them #icfpsplash25
110
Programming for the Planet @propl.dev · 13/10/2025
Chinmayi Baramashetru on the diverging architectures of climate models and how they could interoperate #icfpsplash25
100
Programming for the Planet @propl.dev · 13/10/2025
@neurocy.bsky.social arguing for the digital commons as a massive single live program that’s collaboratively edited by thousands of contributors and live updated! A Wikipedia-meets-GitHub-meets-Jupyter #icfpsplash25
131
Programming for the Planet @propl.dev · 13/10/2025
@neurocy.bsky.social defines the core problem as bad defaults in scientific code tools like Jupyter that make it hard to be FAIR without lots of work #icfpsplash25
142
Programming for the Planet @propl.dev · 13/10/2025
@neurocy.bsky.social discussed large-scale collaborative workflows and the importance of them being FAIR dl.acm.org/doi/abs/10.1... #icfpsplash25
110
Programming for the Planet @propl.dev · 13/10/2025
@patrick.sirref.org shows us a sneak preview of his new “shelter” shell that permits reuse and replay of command fragments to go back and forward in time! #icfpsplash25
110
Programming for the Planet @propl.dev · 13/10/2025
@patrick.sirref.org asks “if the data changes [the results] what about the published conclusions?” (In his case, for forestry data but this applies to any policy questions driven by the results of code running) #icfpsplash25
100
Programming for the Planet @propl.dev · 13/10/2025
@patrick.sirref.org up next discussing the essence of scientific programming: what does it even mean? #icfpsplash25
100
Programming for the Planet @propl.dev · 13/10/2025
@f.luid.org has self explanatory, transparent text as part of its program execution to help justify claims in prose with supporting data #icfpsplash25
111
Programming for the Planet @propl.dev · 13/10/2025
Roly Perera telling us about @f.luid.org which tracks data provenance and enriches web outputs with this richer context #icfpsplash25
111
Programming for the Planet @propl.dev · 13/10/2025
Aadi Seth from IIT-D now telling us about the CoRE stack for rural resilience core-stack.org #icfpsplash25
100
Programming for the Planet @propl.dev · 13/10/2025
The first session had an overview of programming challenges in biodiversity, climate science and data management! #icfpsplash25
100