<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://plas4sci.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://plas4sci.github.io/" rel="alternate" type="text/html" /><updated>2026-01-27T16:28:48+00:00</updated><id>https://plas4sci.github.io/feed.xml</id><title type="html">Programming Languages and Systems for Science laboratory</title><subtitle>This is the home of the Programming Language and Systems for Science laboratory at the University of Kent. We are a group of researchers who applies PL techniques to support the work of computational scientists.
</subtitle><author><name>Dominic Orchard</name><email>d.a.orchard@kent.ac.uk</email></author><entry><title type="html">New group member: Chinmayi Baramashetru</title><link href="https://plas4sci.github.io/misc/2025/03/10/new-group-member.html" rel="alternate" type="text/html" title="New group member: Chinmayi Baramashetru" /><published>2025-03-10T00:00:00+00:00</published><updated>2025-03-10T00:00:00+00:00</updated><id>https://plas4sci.github.io/misc/2025/03/10/new-group-member</id><content type="html" xml:base="https://plas4sci.github.io/misc/2025/03/10/new-group-member.html"><![CDATA[<p>We are excited to have <a href="https://chinmayiprabhu.com/">Chinmayi Baramashetru</a> joining the group at Kent as a postdoctoral research associate 
to work on targetting programming language theory techniques to climate modelling problems. Chinmayi has a background
in formal methods and verification, having recently finished her doctoral studies at the Department of Informatics, University of Oslo, Norway.</p>]]></content><author><name>Dominic Orchard</name><email>d.a.orchard@kent.ac.uk</email></author><category term="misc" /><summary type="html"><![CDATA[We are excited to have Chinmayi Baramashetru joining the group at Kent as a postdoctoral research associate to work on targetting programming language theory techniques to climate modelling problems. Chinmayi has a background in formal methods and verification, having recently finished her doctoral studies at the Department of Informatics, University of Oslo, Norway.]]></summary></entry><entry><title type="html">Artifact Evaluation at Climate Informatics 2024</title><link href="https://plas4sci.github.io/misc/2025/01/02/ci2024-ae.html" rel="alternate" type="text/html" title="Artifact Evaluation at Climate Informatics 2024" /><published>2025-01-02T00:00:00+00:00</published><updated>2025-01-02T00:00:00+00:00</updated><id>https://plas4sci.github.io/misc/2025/01/02/ci2024-ae</id><content type="html" xml:base="https://plas4sci.github.io/misc/2025/01/02/ci2024-ae.html"><![CDATA[<p>I am cross-posting a blog post that <a href="https://iccs.cam.ac.uk/news/artifact-evaluation-years-climate-informatics-2024">I wrote on the ICCS blog</a> about the Artifcat Evaluation process we put in place at Climate Informatics 2024 this year.</p>

<quote>
  In 2024, the Climate Informatics conference embarked, for the first time, on adding an Artifact Evaluation (AE) process following the standard peer review process. This provided an opportunity to embed the values of reproducibility into the publication process in a lightweight opt-in fashion, thus encouraging authors to make software available and the results of the paper reproducible.  The submitted artifacts were evaluated by a team of reviewers who provided feedback to the authors to help develop their artifacts towards a higher standard of computational reproducibility.

This blog post reports on the background motivation for this endeavour and some details of the process this year.
</quote>

<p>The full blog post can be <a href="https://iccs.cam.ac.uk/news/artifact-evaluation-years-climate-informatics-2024">found here, on the ICCS blog</a>.</p>]]></content><author><name>Dominic Orchard</name><email>d.a.orchard@kent.ac.uk</email></author><category term="misc" /><summary type="html"><![CDATA[I am cross-posting a blog post that I wrote on the ICCS blog about the Artifcat Evaluation process we put in place at Climate Informatics 2024 this year.]]></summary></entry><entry><title type="html">An autumn of my talks on programming languages and software engineering for climate modelling</title><link href="https://plas4sci.github.io/conference/2024/11/11/talks.html" rel="alternate" type="text/html" title="An autumn of my talks on programming languages and software engineering for climate modelling" /><published>2024-11-11T00:00:00+00:00</published><updated>2024-11-11T00:00:00+00:00</updated><id>https://plas4sci.github.io/conference/2024/11/11/talks</id><content type="html" xml:base="https://plas4sci.github.io/conference/2024/11/11/talks.html"><![CDATA[<p>It has been an autumn (and November) where I (Dominic) have given quite a few talks about my work in this area.</p>

<ul>
  <li>In September, “<a href="https://drive.google.com/file/d/1D5yguvyIL_ZERBzEioW92OXKdttFuyWA/view?usp=sharing"><strong>From C to Comonads to Climate - A Functional Programmer’s Journey in Array Programming</strong></a>”  as the keynote at the <a href="https://icfp24.sigplan.org/home/fproper-2024">1st ACM SIGPLAN Workshop on Functional Programming for Productivity and Performance (FProPer’24)</a>, co-located with ICFP 2024 in Milan, Italy.</li>
  <li>In November, “<a href="https://drive.google.com/file/d/12CRPiaChoKZ6sfPZoYGvlYnlyQB06P1g/view"><strong>Computing for Climate Science and Programming for the Planet</strong></a>” at the departmental seminar of the Department of Computer Science and Technology at Cambridge, where I spend half my time, and in short form at Queens’ college at the Monday night SCR talks.</li>
  <li>Also in November, “<strong>Writing Computational Models that are FAIR and VRAI</strong>” (slides on request) at the Centre for Atmospheric Science, Yusuf Hamied Department of Chemistry, University of Cambridge.</li>
  <li>And again in November (busy month!), “<a href="https://drive.google.com/file/d/1-HT9nRjlaU-Y6Kgj_sGteZ3-DCn6tprj/view?usp=sharing"><strong>Taming the Black Box - Effectively Leveraging ML Sub-Models (some thoughts and case studies)</strong></a>” at the Cambridge Centre for Climate Science (CCfCS) Winter Symposium 2024, University of Cambridge.</li>
</ul>

<p>Some of the content of these talks is currently in draft stages of a paper I hope to submit in the early new year.</p>]]></content><author><name>Dominic Orchard</name><email>d.a.orchard@kent.ac.uk</email></author><category term="conference" /><summary type="html"><![CDATA[It has been an autumn (and November) where I (Dominic) have given quite a few talks about my work in this area.]]></summary></entry><entry><title type="html">Summer School 2024 training: Typing for Python, Abstract mathematics for Climate Modelling, and some Julia</title><link href="https://plas4sci.github.io/videos/2024/09/10/training.html" rel="alternate" type="text/html" title="Summer School 2024 training: Typing for Python, Abstract mathematics for Climate Modelling, and some Julia" /><published>2024-09-10T00:00:00+00:00</published><updated>2024-09-10T00:00:00+00:00</updated><id>https://plas4sci.github.io/videos/2024/09/10/training</id><content type="html" xml:base="https://plas4sci.github.io/videos/2024/09/10/training.html"><![CDATA[<p>July brought with it the third annual ICCS summer school on software engineering and programming for climate modelling. The <a href="https://iccs.cam.ac.uk/events/institute-computing-climate-science-annual-summer-school-2024">full programme of talks is now on YouTube</a> including my talks/training on:</p>

<ol>
  <li><a href="https://www.youtube.com/watch?v=8EiFw47blZs&amp;list=PL3PByZO-B6dM4pw2AwLepEBsfDrly9L0w&amp;index=11">Typing Python with mypy</a></li>
</ol>

<p><strong>Typing Python with mypy</strong>
Many compiled languages include a ‘type checker’ as part of their compilation process which applies automated checks to source code to rule out potential runtime errors due to mismatches in the format of data (‘type errors’). The Python language does not include such a check: its types are ‘dynamic’, with type errors occurring only if encountered at runtime. Python however supports type annotations (since Python 3.0) which allows a programmer to insert optional type information into code which external tools can then use to type check a program. This session will teach how to use Python types alongside the mypy tool for ruling out program bugs and better documenting source code. We will also talk about some fundamental concepts in typing and program verification.</p>

<ol>
  <li><a href="https://www.youtube.com/watch?v=6JRfIOMwEWI&amp;list=PL3PByZO-B6dM4pw2AwLepEBsfDrly9L0w&amp;index=15">What can abstract mathematics tell us about programming climate models</a></li>
</ol>

<p><strong>What can abstract mathematics tell us about programming climate models?</strong></p>

<p>Category theory is a subfield of mathematics that seeks to expose common underlying structure in other areas of mathematics. It has since also became a foundational technique for understanding logic and programming, with its use both in semantics of formal languages and as a tool for structuring programs. Many concepts in computer programming can be explained from a category theoretic perspective, yielding new insights about how to reason about programs and generalise their definitions. In this session, I will give an overview of a few key ideas that have applications to numerical programming tasks familiar in earth systems modelling. This will provide some fresh perspectives about how to structure and reason about programs both for correctness and efficiency.</p>

<ol>
  <li>And a contributed a bit to a training/tutorial session on <a href="https://www.youtube.com/watch?v=IL672h9pTxk&amp;list=PL3PByZO-B6dM4pw2AwLepEBsfDrly9L0w&amp;index=17">Introduction to Computational Science in Julia </a>.</li>
</ol>

<p>I was particularly happy to deliver the second talk here which was a lot of fun, using ideas from category theory to think about how we specify the behaviour of key patterns in numerical modelling and also uses the ideas to motivate optimisations. This was all done in Python, including generating tests from categorical laws. The <a href="https://github.com/Cambridge-ICCS/training-cats-for-programming">material is online</a>.</p>]]></content><author><name>Dominic Orchard</name><email>d.a.orchard@kent.ac.uk</email></author><category term="videos" /><summary type="html"><![CDATA[July brought with it the third annual ICCS summer school on software engineering and programming for climate modelling. The full programme of talks is now on YouTube including my talks/training on:]]></summary></entry><entry><title type="html">Hiring: 33-month postdoc position opportunity on Programming Languages and Systems for Climate Science</title><link href="https://plas4sci.github.io/jobs/2024/07/10/hiring.html" rel="alternate" type="text/html" title="Hiring: 33-month postdoc position opportunity on Programming Languages and Systems for Climate Science" /><published>2024-07-10T00:00:00+00:00</published><updated>2024-07-10T00:00:00+00:00</updated><id>https://plas4sci.github.io/jobs/2024/07/10/hiring</id><content type="html" xml:base="https://plas4sci.github.io/jobs/2024/07/10/hiring.html"><![CDATA[<p>I’m hiring a postdoc to work with me at the University of Kent on programming languages, tools, and systems for 
climate science in partnership with the <a href="https://iccs.cam.ac.uk/">Institute of Computing For Climate Science</a> at Cambrige.</p>

<p>Details can be found <a href="https://jobs.kent.ac.uk/Vacancy.aspx?ref=CEMS-264-24">here</a>. <strong>Closing date 9th September 2024</strong></p>

<p>Here’s a video about the position and potential ideas that a succesful candidate could explore:</p>

<iframe width="560" height="315" src="https://www.youtube.com/embed/dJ6I2NO_VeU?si=PjaO5mubHgAZIIam" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen=""></iframe>

<p>Potential topics include:</p>

<ul>
  <li>Static analysis tooling for numerical models</li>
  <li>Verification of critical libraries used by scientists</li>
  <li>Novel language ideas for future computational models</li>
  <li>Extending existing languages with novel features to support science</li>
  <li>Developing new tools to support climate scientists</li>
</ul>

<p>Other ideas possible that I’d love to hear. I’m looking for someone who is excited about applying PL ideas into the climate modelling domain. There will be a chance to work alongside scientists to try out ideas ‘in the field’ through my network.</p>]]></content><author><name>Dominic Orchard</name><email>d.a.orchard@kent.ac.uk</email></author><category term="jobs" /><summary type="html"><![CDATA[I’m hiring a postdoc to work with me at the University of Kent on programming languages, tools, and systems for climate science in partnership with the Institute of Computing For Climate Science at Cambrige.]]></summary></entry><entry><title type="html">Dominic co-chairs the 1st ACM Workshop on Programming for the Planet in London</title><link href="https://plas4sci.github.io/conference/2024/01/22/propl.html" rel="alternate" type="text/html" title="Dominic co-chairs the 1st ACM Workshop on Programming for the Planet in London" /><published>2024-01-22T00:00:00+00:00</published><updated>2024-01-22T00:00:00+00:00</updated><id>https://plas4sci.github.io/conference/2024/01/22/propl</id><content type="html" xml:base="https://plas4sci.github.io/conference/2024/01/22/propl.html"><![CDATA[<p>The <a href="https://popl24.sigplan.org/home/propl-2024">1st ACM Workshop on Programming for the Planet</a> brought together researchers from computer science to discuss how to close the gap between state-of-the-art programming methods being developed in academia and the use of programming in climate analysis, modelling, forecasting, policy, and diplomacy.</p>

<p>The event was co-located with the <a href="https://popl24.sigplan.org/">51st ACM SIGPLAN Symposium on Principles of Programming Languages (POPL 2024)</a> which gave an excellent opportunity for this community to consider how its research could be targetted and leveraged to address the multiple overlapping planetary crises facing us. The workshop had two keynotes: from <a href="https://www.cfse.cam.ac.uk/directory/drew_purves">Drew Purves</a> of Google DeepMind on ‘<em>Setting the stage for AI biodiversity</em>’ and <a href="https://www.lisarennels.com/">Lisa Rennels</a> of UC Berkley on ‘<em>Building Open Source Software for Climate Change Research - Lessons Learned from Mimi.jl</em>’. The contributed talks were grouped into four tracks on ‘Modelling and analysis’, ‘Energy and efficiency’, ‘Software engineering and ecosystems’ and ‘Policy and decision making’. This demonstrated the many angles from which programming languages research could help address our current planetary challenges. <a href="https://popl24.sigplan.org/home/propl-2024#event-overview"><strong>See the list of talks here</strong></a>.</p>

<p>The event highlighted many exciting works already coming from the Programming Language community but also many opportunities for further cross-disciplinary work. Two discussion session highlighted the need for thinking more broadly and stepping outside the core discipline to look for opportunities where expertise could be applied or where general assistance was given. Co-organisers <a href="https://dorchard.github.io/">Dr Dominic Orchard</a> and <a href="https://anil.recoil.org/">Prof Anil Madhavapeddy</a> are now working to synthesise lessons and a way forward for the community to have transformative change in this area.</p>

<p>Dominic noted that “<em>it was particularly exciting to see how engaged the students and early-career scientists were with the issues, and the energy and enthusiasm for leveraging their skills to address the significant challenges facing humanity</em>”.</p>

<p><img src="/assets/images/propl1.jpg" style="max-width:500px;width:25vw;margin:10px;" />
<img src="/assets/images/propl2.png" style="max-width:500px;width:25vw;margin:10px;" /></p>]]></content><author><name>Dominic Orchard</name><email>d.a.orchard@kent.ac.uk</email></author><category term="conference" /><summary type="html"><![CDATA[The 1st ACM Workshop on Programming for the Planet brought together researchers from computer science to discuss how to close the gap between state-of-the-art programming methods being developed in academia and the use of programming in climate analysis, modelling, forecasting, policy, and diplomacy.]]></summary></entry><entry><title type="html">Training at AIMS Kigali and attending WCRP OSC 2023</title><link href="https://plas4sci.github.io/misc/2023/10/29/kigali.html" rel="alternate" type="text/html" title="Training at AIMS Kigali and attending WCRP OSC 2023" /><published>2023-10-29T00:00:00+00:00</published><updated>2023-10-29T00:00:00+00:00</updated><id>https://plas4sci.github.io/misc/2023/10/29/kigali</id><content type="html" xml:base="https://plas4sci.github.io/misc/2023/10/29/kigali.html"><![CDATA[<p>Dominic attended the <a href="https://wcrp-osc2023.org/">World Climate Research Programme - Open Science Conference 2023</a> in Kigali, Rwanda in October 2023.</p>

<p>Alongside this, he helped deliver a one-day training workshop at the African Institute for Mathematics on software engineering good practice and programming in the context of climate science. Particularly, Dominic gave a session on using <a href="https://drive.google.com/file/d/1tuXnrbbND_cHmE5xpgIJ6u--CUaCiX2J/view">Using types to rule out bugs - Python vs Fortran perspective</a>, giving an overview of concepts in verification and correctness, and giving practical examples of how to leverage type systems for correctness.</p>

<p>At the conference, Dominic gave a talk on <a href="https://drive.google.com/file/d/1ahKWPL3g9lRk4eh8wXzbi0_0DXKpPt9G/view?usp=sharing">Research Software Engineering for the New Generation of Climate Models</a> giving an overview of the work of the Institute of Computing for Climate Science and a spotlight on some of
the interesting challenges going forwards.</p>

<p><em><a href="https://iccs.cam.ac.uk/news/iccs-provides-essential-training-software-engineering-ahead-open-science-conference-rwanda">Read more on the ICCS blog</a></em></p>

<p><img alt="Photo from AIMS" src="https://dorchard.github.io/images/kigali/photo1.jpg" style="width:50%;margin: 0 auto;margin-bottom:10px;" /><br />
<img alt="Photo from AIMS" src="https://dorchard.github.io/images/kigali/photo2.jpg" style="width:50%;margin: 0 auto;margin-bottom:10px;" /><br />
<img alt="Photo from AIMS" src="https://dorchard.github.io/images/kigali/photo3.jpg" style="width:50%;margin: 0 auto;margin-bottom:10px;" /><br /></p>]]></content><author><name>Dominic Orchard</name><email>d.a.orchard@kent.ac.uk</email></author><category term="misc" /><summary type="html"><![CDATA[Dominic attended the World Climate Research Programme - Open Science Conference 2023 in Kigali, Rwanda in October 2023.]]></summary></entry><entry><title type="html">Presentations at EGU23</title><link href="https://plas4sci.github.io/misc/2023/05/04/egu.html" rel="alternate" type="text/html" title="Presentations at EGU23" /><published>2023-05-04T00:00:00+00:00</published><updated>2023-05-04T00:00:00+00:00</updated><id>https://plas4sci.github.io/misc/2023/05/04/egu</id><content type="html" xml:base="https://plas4sci.github.io/misc/2023/05/04/egu.html"><![CDATA[<p>Dominic attended the <a href="https://egu23.eu/">European Geosciences Union, EGU23</a> in Vienna, which provided a great
opportunity to catch-up with many of our scientific collaborators, especially in the <a href="https://datawaveproject.github.io/">DataWave</a>
and <a href="https://sasip-climate.github.io/">SASIP</a> teams. There were a number of presentations of our work during the week:</p>

<ul>
  <li>
    <p><a href="https://crd.lbl.gov/divisions/scidata/uds/staff/gilberto-pastorello/">Gilberto Pastorello</a> from the Lawrence Berkeley
National Laboratory presented our collaboration on the <a href="https://github.com/fluxnet/ONEFlux">ONEFlux</a> data processing
tool for land-atmopshere cabord flux, with a poster presentation (<a href="https://meetingorganizer.copernicus.org/EGU23/EGU23-11187.html?pdf">corresponding abstract</a>).</p>
  </li>
  <li>
    <p>At the DataWave side meeting, Jack Atkinson from <a href="https://cambridge-iccs.github.io/">ICCS</a> presented <a href="https://cambridge-iccs.github.io/climate-informatics-2023/assets/pdfs/Reducing_the_overhead_of_coupled_ML_models.pdf">our work</a>
on improving interoperation between Fortran and pythonic machine learning libaries, applied to the Gravity Wave Drag parameterizations in atmospheric models.</p>
  </li>
  <li>
    <p>At the DataWave side meeting, I presented a short talk about <a href="https://dorchard.github.io/slides/egu-datawave-camfort.pdf">Analysis and lightweight verification of Fortran code</a> using
the CamFort tool and demonstrated some of its lightweight static analysis tooling by running it live on the MiMA moist atmospheric
model.</p>
  </li>
</ul>]]></content><author><name>Dominic Orchard</name><email>d.a.orchard@kent.ac.uk</email></author><category term="misc" /><summary type="html"><![CDATA[Dominic attended the European Geosciences Union, EGU23 in Vienna, which provided a great opportunity to catch-up with many of our scientific collaborators, especially in the DataWave and SASIP teams. There were a number of presentations of our work during the week:]]></summary></entry><entry><title type="html">Presentation and extended abstract at Climate Informatics 2023</title><link href="https://plas4sci.github.io/misc/2023/04/21/ci2023.html" rel="alternate" type="text/html" title="Presentation and extended abstract at Climate Informatics 2023" /><published>2023-04-21T00:00:00+00:00</published><updated>2023-04-21T00:00:00+00:00</updated><id>https://plas4sci.github.io/misc/2023/04/21/ci2023</id><content type="html" xml:base="https://plas4sci.github.io/misc/2023/04/21/ci2023.html"><![CDATA[<p>Dominic was local organizer for the <a href="https://cambridge-iccs.github.io/climate-informatics-2023/">Climate Informatics 2023</a> conference
in Cambridge, 19-21st April, where Simon Clifford presented our work in progress on
<a href="https://cambridge-iccs.github.io/climate-informatics-2023/assets/pdfs/Reducing_the_overhead_of_coupled_ML_models.pdf">improving interoperation between Fortran and pythonic machine learning libaries</a>
applied to the Gravity Wave Drag parameterizations in atmospheric models.</p>

<p><img src="https://pbs.twimg.com/media/FuFdrrLWcAYCCZa?format=jpg&amp;name=4096x4096" alt="Dominic talking" style="max-width:900px;width:50vw;" /></p>]]></content><author><name>Dominic Orchard</name><email>d.a.orchard@kent.ac.uk</email></author><category term="misc" /><summary type="html"><![CDATA[Dominic was local organizer for the Climate Informatics 2023 conference in Cambridge, 19-21st April, where Simon Clifford presented our work in progress on improving interoperation between Fortran and pythonic machine learning libaries applied to the Gravity Wave Drag parameterizations in atmospheric models.]]></summary></entry><entry><title type="html">Hello world</title><link href="https://plas4sci.github.io/misc/2022/10/12/hello-world.html" rel="alternate" type="text/html" title="Hello world" /><published>2022-10-12T00:00:00+00:00</published><updated>2022-10-12T00:00:00+00:00</updated><id>https://plas4sci.github.io/misc/2022/10/12/hello-world</id><content type="html" xml:base="https://plas4sci.github.io/misc/2022/10/12/hello-world.html"><![CDATA[<p>We have launched this new research “laboratory” as a sub-group of Kent’s well-reknowned <a href="https://research.kent.ac.uk/programming-languages-systems/">Programming Languages and Systems</a> group to focus
on activities related to the application of our research to the sciences.</p>]]></content><author><name>Dominic Orchard</name><email>d.a.orchard@kent.ac.uk</email></author><category term="misc" /><summary type="html"><![CDATA[We have launched this new research “laboratory” as a sub-group of Kent’s well-reknowned Programming Languages and Systems group to focus on activities related to the application of our research to the sciences.]]></summary></entry></feed>