# Suitable platform for large climate risk modeling project

**URL:** <https://discourse.pangeo.io/t/suitable-platform-for-large-climate-risk-modeling-project/5754>\
**Category:** Data\
**Created:** [June 18, 2026, 7:05am UTC](https://discourse.pangeo.io/t/suitable-platform-for-large-climate-risk-modeling-project/5754 "2026-06-18T07:05:03Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![gisborne](https://avatars.discourse-cdn.com/v4/letter/g/dc4da7/32.png) [@gisborne](https://discourse.pangeo.io/u/gisborne)\
**Post date:** [June 18, 2026, 7:05am UTC](https://discourse.pangeo.io/t/suitable-platform-for-large-climate-risk-modeling-project/5754/1 "2026-06-18T07:05:03Z")

</div>

Hello,

I am trying to determine the suitability of Postgres, ClickHouse or the likes of Zaar for a significant  
climate risk modelling project.

We are batch processing a large (500 million) collection of  
geographical points. For each point, we store ~6 dimensions of various  
risks (total cardinality of several millions of floats per  
geographical point).

We need to perform various ad-hoc aggregations on geographical subsets  
of the values associated with these points. These aggregations could  
require median/percentiles, so they won’t be as simple as mean/sum,  
and we expect we may have to write custom aggregations for some cases.

Because we may want to run computations that would use GIS  
features (certainly polygon containment; potentially others), and  
because our existing applications already use Postgres, we have some  
degree of preference to do this in Postgres.

I’d like to know if anyone here has successfully built a system to run  
this sort of computation at this scale in Postgres, ClickHouse or elsewhere. If so, what sort  
of schema design did you use? Columnar stores referencing spatially  
indexed row stores that contain the spatial references, sharded by  
geographical region? What sort of throughput did you achieve?

I’m also interested in any general observations folks may have about  
this project. Perhaps we should use ClickHouse (for the main data)  
together with Postgres (for the GIS computations)? Perhaps our float  
dataset should live outside any kind of oltp/olap database at all?  
Something else?

---

<div class="post-metadata">

**Author:** ![rabernat](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.pangeo.io/rabernat/32/22_2.png) [@rabernat](https://discourse.pangeo.io/u/rabernat)\
**Post date:** [June 18, 2026, 2:17pm UTC](https://discourse.pangeo.io/t/suitable-platform-for-large-climate-risk-modeling-project/5754/2 "2026-06-18T14:17:11Z")

</div>

Are you trying to join these points with any raster (i.e. gridded) data? Or is it all vector (point-based) data?

---

<div class="post-metadata">

**Author:** ![gisborne](https://avatars.discourse-cdn.com/v4/letter/g/dc4da7/32.png) [@gisborne](https://discourse.pangeo.io/u/gisborne)\
**Post date:** [June 19, 2026, 1:15am UTC](https://discourse.pangeo.io/t/suitable-platform-for-large-climate-risk-modeling-project/5754/3 "2026-06-19T01:15:19Z")

</div>

Raster, at least currently.

---

<div class="post-metadata">

**Author:** ![rabernat](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.pangeo.io/rabernat/32/22_2.png) [@rabernat](https://discourse.pangeo.io/u/rabernat)\
**Post date:** [June 25, 2026, 2:52pm UTC](https://discourse.pangeo.io/t/suitable-platform-for-large-climate-risk-modeling-project/5754/4 "2026-06-25T14:52:08Z")

</div>

Have you looked into [Apache Sedona](https://sedona.apache.org/latest/) (open source) / [Wherobots](https://wherobots.com/)? It seems to check most of your boxes.

How are your raster data currently stored?

---

<div class="post-metadata">

**Author:** ![norlandrhagen](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.pangeo.io/norlandrhagen/32/1966_2.png) [@norlandrhagen](https://discourse.pangeo.io/u/norlandrhagen)\
**Post date:** [June 26, 2026, 4:16pm UTC](https://discourse.pangeo.io/t/suitable-platform-for-large-climate-risk-modeling-project/5754/5 "2026-06-26T16:16:06Z")

</div>

Hey there @gisborne,

It’s not quite identical, but we did a similar sounding project here: [GitHub - carbonplan/ocr: Open Climate Risk Platform · GitHub](https://github.com/carbonplan/ocr) / [Open Climate Risk – CarbonPlan](https://carbonplan.org/research/climate-risk).

We used duckdb spatial for the building polygons and sampled 30 meter raster data from Icehunk over CONUS.
