Skip to content

feat: climate risk from cmip cordex#18

Open
jdroenner wants to merge 14 commits into
mainfrom
cmip_cordex
Open

feat: climate risk from cmip cordex#18
jdroenner wants to merge 14 commits into
mainfrom
cmip_cordex

Conversation

@jdroenner

Copy link
Copy Markdown
Member

No description provided.

@coveralls

coveralls commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

Coverage Status

coverage: 82.65% (+2.2%) from 80.475% — cmip_cordex into main

@jdroenner jdroenner changed the title feat: climeate rist from cmip cordex feat: climate risk from cmip cordex Jul 8, 2026

@ChristianBeilschmidt ChristianBeilschmidt left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Konnte das aus Gründen (Karte) nicht anwenden. Aber hier schon mal meine Kommentare.

Comment thread k8s/pod.yaml
volumeMounts:
- name: pgdata
mountPath: /var/lib/postgresql/data
mountPath: /var/lib/postgresql/18/docker

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Warum ist das anders, obwohl sich sonst nichts an der Container-Config geändert hat?

Comment thread rust-toolchain.toml
@@ -0,0 +1 @@
./backend/rust-toolchain.toml No newline at end of file

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Datei löschen?

Comment thread backend/Cargo.toml
Comment on lines +87 to +88
strum = "0.28"
strum_macros = "0.28"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wieso brauchen wir das? Geht das nicht auch ohne? Das Projekt ist auch nur semi-aktiv.

Hash,
)]
#[schema(title = "ClimateVariable")]
#[strum(serialize_all = "camelCase")]

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Das kann serde ja auch.


/// Calculates climate-risk indicators from CORDEX/CMIP5 climate data for a given point and time window.
#[derive(Debug, Clone)]
pub struct ClimateCordex5Process;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Vielleicht mehr User-facing benennen. Was macht der User damit?

Cordex sagt ja mehr über die Quelldaten.

Comment on lines +1023 to +1042
let wfl_ids =
try_join_all(variable_workflows.map(|wfl| register_workflow_handler(configuration, wfl)))
.await;

let wfl_ids = match wfl_ids {
Ok(id) => id,
Err(e) => {
if let Some(error) = error_response(&e) {
anyhow::bail!("Failed to register a workflow `{e}`: {error:?}");
}
anyhow::bail!("Failed to register a workflow `{e}`");
}
};

let wfl_id_str = wfl_ids
.iter()
.map(|workflow_id| workflow_id.id.to_string())
.collect::<Vec<_>>();

for (wf_id, v) in wfl_id_str.iter().zip(var_props.iter()) {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Die Variablen-Namen werden in einem Monat kryptisch sein. Ist nicht so gebräuchlich, also ausschreiben?

Comment thread rust-toolchain.toml
@@ -0,0 +1 @@
./backend/rust-toolchain.toml No newline at end of file

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Coverage am besten > 80% lassen.

pub year_begin: Year,
#[schema(minimum = 2014, maximum = 2100)]
pub year_end: Year,
pub scenario: ClimateScenario,

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hier sollte es auch einen Default geben.
User sollten einfach sagen können: Gib mir Klimaprognose für X und wir geben etwas an mit Begründung.
Bei vorhandenem Expertenwissen kann man das dann umkonfigurieren.

}

impl ClimateVariable {
pub fn variable_to_props(self) -> ClimateVariableProperties {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wir sollten für jede Variable noch die Auftrittswahrscheinlichkeit nach ISO berechnen:
https://docs.google.com/presentation/d/1aDRa7fUudMx5I0p3UxvJybBJfbuv41O1b4dUdJbl3gE/edit?slide=id.g39a92f5c5c2_0_15#slide=id.g39a92f5c5c2_0_15

Evtl. kann man das so kodieren, dass man das dann im UI schön darstellen kann.

import { FieldType } from './create-new-auto.component';
import { MatCheckboxModule } from '@angular/material/checkbox';
import { MatInput, MatInputModule } from '@angular/material/input';

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Im UI:

Wir sollten die Ergebnisse nicht als JSON darstellen.

Entweder als Tabelle, siehe https://datapackage.org/standard/data-resource/ bei biodiversity-sensitive-areas, oder, evtl. noch besser, als farbkodierte Risikofelder.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants