Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • aaron.spring/s2s-ai-challenge-template
  • anthonypv_97/s2s-ai-challenge-template
  • anthonypv_97/s2s-ai-challenge-predictia
  • sandeep.sukumaran/s2s-ai-challenge-template
  • lucasdmarten/s2s-ai-challenge-template
  • otaviomf123/s2s-ai-challenge-template
  • utkuunalan/s2s-ai-challenge-template
  • utkuunalan/s2s-ai-challenge-envai
  • glabolhumar/s2s-ai-challenge-enveai
  • glabolhumar/s2s-ai-challenge-envai
  • 1557684138/s2s-ai-challenge-template
  • janer0/s2s-ai-challenge-template
  • luweispark/s2s-ai-challenge-template
  • luweispark/s2s-ai-challenge-tianing
  • 444375642/s2s-ai-challenge-onthego
  • rok.roskar/s2s-ai-challenge-template
  • wanwb1224/s2s-ai-challenge-template
  • 834586573/s2s-ai-challenge-template
  • suryadev/s2s-ai-challenge-template
  • suryadev/s2s-sps
  • rhkdgns322/s2s-ai-challenge-template
  • lorenzo.cavazzi.tech/s2s-ai-challenge-template-test
  • chprsandeep/s2s-ai-challenge-template
  • chprsandeep/s2s-ai-challenge-template-deeplearners
  • chprsandeep/s2s-ai-challenge-deeplearners
  • adam.bienkowski/s2s-ai-challenge-uconn
  • tasko.olevski/s2s-ai-challenge-template-test1
  • 605483660/s2s-ai-challenge-template-1
  • dattranoptimuss/s2s-ai-challenge-template
  • declan.finney/s2s-ai-challenge-template
  • hilla.gerstman/s2s-ai-challenge-template
  • maria.pyrina/s2s-ai-challenge-template
  • weiriche/s2s-ai-challenge-s2s-eth
  • lxywn96/s2s-ai-challenge-template
  • ken.takahashi.guevara/s2s-ai-challenge-senamhi
  • manpreet.phy/s2s-ai-challenge-template
  • rahul.s8396/s2s-ai-challenge-template
  • manmeet.singh/s2s-ai-challenge-template
  • manmeet.singh/s2s-ai-challenge-template-iitm-ut-austin
  • xiangyanfei212/s2s-ai-challenge-template
  • cheikhnoreyni.fall/s2s-ai-challenge-template
  • 1843402075/s2s-ai-challenge-template
  • priyanka.yadav/s2s-ai-challenge-template
  • priyanka.yadav/s2s-ai-challenge-s2s-eth
  • wanedahirou/s2s-ai-challenge-template
  • r08h19/s2s-ai-challenge-template
  • xueqy_666/s2s-ai-challenge-template
  • r08h19/s2s-ai-challenge-pink
  • 1727072371/s2s-ai-challenge-template
  • 1727072371/s2s-ai-challenge-templateandy
  • 1727072371/s2s-ai-challenge-templateandy1
  • jiehongx/s2s-ai-challenge-template
  • kwmski7/s2s-ai-challenge-template
  • lo.riches/s2s-ai-challenge-template
  • thmamouka/s2s-ai-challenge-agroapps
  • vvourlioti/s2s-ai-challenge-agroapps
  • dolkong400/s2s-ai-challenge-template
  • 1843402075/s2s-ai-challenge-123
  • daniel.steinfeld87/s2s-ai-challenge-kit-eth-ubern
  • jehangir_awan/s2s-ai-challenge-template
  • muhammad.haider/s2s-ai-challenge-template
  • rahul.s8396/s2s-ai-challenge-sa-india
  • mudithnirmala/s2s-ai-challenge-template
  • tao.sun/s2s-ai-challenge-template
  • rayjohnbell0/s2s-ai-challenge-template
  • lluis.palma/s2s-ai-challenge-bsc-es
  • daniel.janke/s2s-ai-challenge-daniel-janke
  • daniel.janke/s2s-ai-challenge-danieljanke
  • jordan.gierschendorf/s2s-ai-challenge-template
  • declan.finney/s2s-ai-challenge-swan
  • 1843402075/s2s-ai-challenge-1234
  • yixisi1505/s2s-ai-challenge-ylabaiers
  • hayakawa-gen1010/s2s-ai-challenge-template-ylabaiers
  • adounkpep/s2s-ai-challenge-pyaj
  • molina/s2s-ai-challenge-ncar-team1
  • molina/s2s-ai-challenge-ncar-team2
  • rmcsqrd/s2s-ai-challenge-explore
  • lxywn96/s2s-ai-challenge-template-new
  • lxywn96/s2s-ai-challenge-nuister-f1
  • b1gdaniel/s2s-ai-challenge-nuister-f2
  • xueqy_666/s2s-ai-challenge-xqy
  • xueqy_666/s2s-ai-challenge-nuister-f4
  • 1727072371/s2s-ai-challenge-nuister-f3
  • 1727072371/s2s-ai-challenge-nuister-f5
  • panglin0912/s2s-ai-challenge-nuister-f5
  • 1342071344/s2s-ai-challenge-template
  • 931072922/s2s-ai-challenge-test
  • 931072922/s2s-ai-challenge-test2
  • 931072922/s2s-ai-challenge-piesat
  • jaareval/s2s-ai-challenge-uatest
  • tasko.olevski/s2s-ai-challenge-template-test2
  • medakramzaytar/s2s-ai-challenge-tabola
  • kwibukabertrand/s2s-ai-challenge-template
  • roberto.garcia/s2s-ai-challenge
  • roberto.garcia/s2s-ai-challenge-mnt-cptec-inpe
  • tamer.shoubaki/s2s-ai-challenge-rssai
  • 1342071344/s2s-ai-challenge-teamname
  • 1342071344/s2s-ai-challenge-template0
  • thabangline/s2s-ai-challenge-template
  • 2101110593/s2s-ai-challenge-piesat
  • info2/s2s-ai-challenge-template
  • jordan.gierschendorf1/s2s-ai-challenge-template
  • deepkneko/s2s-ai-challenge-ylabaiers
  • gyin/s2s-ai-challenge-new
  • pmartineau.work/s2s-ai-challenge-template
  • awr/s2s-ai-challenge-template-awr
  • awr/s2s-ai-challenge-temp
  • tasko.olevski/s2s-ai-challenge-template-test3
  • awr/s2s-ai-challenge-template3
  • lluis.palma/s2s-ai-challenge-bsc
  • cheikhnoreyni.fall/s2s-ai-challenge-template-noreyni
  • cheikhnoreyni.fall/s2s-ai-challenge-template-noreynidioum
  • tamerthamoqa/s2s-ai-challenge-template
  • cheikhnoreyni.fall/s2s-ai-challenge-template-noreynilpa
  • damien.specq/s2s-ai-challenge-template
  • kjhall01/s2s-ai-challenge-kjhall01
  • bjoern.mayer92/s2s-ai-challenge-template-zmaw2
  • zhoushanglin100/s2s-ai-challenge-template
  • samguo_321/s2s-ai-challenge-bsc
  • samguo_321/s2s-ai-challenge-guoshan
  • medakramzaytar/s2s-ai-challenge-bb
  • ejiro.chiomaa/s2s-ai-challenge-ejiro
  • mayur/s2s-ai-challenge-template-mayur
  • btickell/s2s-ai-challenge-template-mayur
  • junjie.liu.china/s2s-ai-challenge-template
  • zhanglang/s2s-ai-challenge-template
  • adjebbar83/s2s-ai-challenge-template
  • 1765007740/s2s-ai-challenge-template
128 results
Show changes
Commits on Source (51)
Showing
with 1804 additions and 9077 deletions
...@@ -437,3 +437,91 @@ data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/0.0.8.0.0 f ...@@ -437,3 +437,91 @@ data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/0.0.8.0.0 f
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/0.0.7.0.0 filter=lfs diff=lfs merge=lfs -text data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/0.0.7.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/0.0.3.0.0 filter=lfs diff=lfs merge=lfs -text data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/0.0.3.0.0 filter=lfs diff=lfs merge=lfs -text
data/ecmwf_recalibrated_benchmark_2020_biweekly_terciled.nc filter=lfs diff=lfs merge=lfs -text data/ecmwf_recalibrated_benchmark_2020_biweekly_terciled.nc filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/2.0.2.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/1.0.3.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/2.0.3.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/1.0.0.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/2.0.0.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/1.1.3.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/1.1.0.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/1.1.2.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/2.1.0.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/2.0.3.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/2.0.2.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/1.0.3.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/2.1.2.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/0.0.2.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/0.0.3.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/2.1.1.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/1.0.2.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/0.1.1.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/2.0.3.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/0.1.0.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/2.1.0.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/0.1.2.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/2.0.2.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/1.1.3.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/0.1.1.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/2.1.3.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/2.1.2.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/0.1.3.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/0.0.0.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/2.1.3.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/1.0.1.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/2.0.0.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/1.0.2.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/1.1.0.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/2.0.1.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/1.1.1.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/2.0.0.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/2.1.1.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/1.0.2.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/0.1.1.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/1.1.0.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/1.1.2.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/0.1.2.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/0.1.3.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/1.1.1.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/0.1.2.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/2.1.1.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/2.1.2.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/1.1.2.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/1.1.0.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/1.1.1.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/1.1.3.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/1.0.1.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/2.1.3.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/0.1.0.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/0.0.0.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/0.1.0.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/2.0.3.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/2.1.0.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/2.0.2.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/0.0.1.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/0.0.2.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/1.0.0.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/1.0.1.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/0.1.3.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/1.0.0.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/1.0.3.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/0.1.2.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/0.1.0.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/1.0.2.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/2.1.0.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/1.0.3.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/2.1.1.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/2.1.3.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/1.1.3.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/1.1.2.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/2.0.0.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/0.1.3.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/1.0.0.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/2.0.1.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/t2m/2.0.1.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/0.0.1.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/1.0.1.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/1.1.1.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/0.1.1.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/2.0.1.0.0 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/0.0.3.0.1 filter=lfs diff=lfs merge=lfs -text
data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr/tp/2.1.2.0.1 filter=lfs diff=lfs merge=lfs -text
...@@ -5,13 +5,55 @@ variables: ...@@ -5,13 +5,55 @@ variables:
stages: stages:
- build - build
- test
image_build: image_build:
stage: build stage: build
image: docker:stable image: docker:stable
except:
- merge_requests
before_script: before_script:
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN http://$CI_REGISTRY - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN http://$CI_REGISTRY
script: | script: |
CI_COMMIT_SHA_7=$(echo $CI_COMMIT_SHA | cut -c1-7) CI_COMMIT_SHA_7=$(echo $CI_COMMIT_SHA | cut -c1-7)
docker build --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA_7 . docker build --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA_7 .
docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA_7 docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA_7
\ No newline at end of file
merge_request_build:
stage: build
image: docker:stable
only:
- merge_requests
before_script:
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN http://$CI_REGISTRY
script: |
docker build --tag ${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHORT_SHA}-MR .
docker push ${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHORT_SHA}-MR
merge_request_test:
stage: test
image:
name: ${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHORT_SHA}-MR
entrypoint: ['']
only:
- merge_requests
except:
# shouldnt run on forks automatically
- $PWD != /builds/gitlab/aaron.spring/s2s-ai-challenge-template/
before_script:
# install
- pip install pytest nbmake
# clone the project
- cd /tmp
- renku clone ${CI_REPOSITORY_URL}
- cd ${CI_PROJECT_NAME}
- echo "Source branch = ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME}, Target branch = ${CI_MERGE_REQUEST_TARGET_BRANCH_NAME}"
# checkout to the source branch
- git checkout ${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME}
# pull lfs
- renku storage pull data/forecast-like-observations_2020_biweekly_terciled.nc
- renku storage pull submissions/ML_prediction_2020.nc
- renku storage pull data/ecmwf_recalibrated_benchmark_2020_biweekly_terciled.nc
script:
# testing notebook
- pytest --nbmake notebooks/RPSS_verification.ipynb
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
'@type': '@type':
- http://schema.org/Project - http://schema.org/Project
- http://www.w3.org/ns/prov#Location - http://www.w3.org/ns/prov#Location
http://schema.org/agent: 0.15.1 http://schema.org/agent: 0.16.0
http://schema.org/creator: http://schema.org/creator:
'@id': mailto:aaron.spring@mpimet.mpg.de '@id': mailto:aaron.spring@mpimet.mpg.de
'@type': '@type':
......
<!-- Please fill in your team name, your members names and email ids -->
# Team `your GROUPNAME` members
- Aaron Spring, aaron.spring@mpimet.mpg.de <!-- delete -->
# CHANGELOG # CHANGELOG
### 2021-05-26 !4 ### 2021-10-22: `v0.4.1` *release*
- update `README` how to join competition - After last minute community feedback (thank you [Sergi Bech Sala](https://renkulab.io/gitlab/sbechsal7) and [Llorenç Lledó](https://renkulab.io/gitlab/llledo)), we decided to modify the way we average the RPS for RPSS. Following [Weigel et al. 2007](https://doi.org/10.1175/MWR3280.1) [#50](https://renkulab.io/gitlab/aaron.spring/s2s-ai-challenge/-/issues/50), [!23](https://renkulab.io/gitlab/aaron.spring/s2s-ai-challenge-template/-/merge_requests/23) implements `RPSS=1-<RPS_ML>/<RPS_clim>`, whereas before we had `RPSS=<1-RPS_ML/RPS_clim>`, where angle brackets `<>` denote the average of the scores over a given number of forecast–observation pairs. Furthermore, we now penalize `NaNs` where numerical values where expected by `RPS=2`.
- git lfs track zarr: `git lfs track "**/*.zarr/**"` - We restart the [`s2saichallengescorer`](https://renkulab.io/gitlab/tasko.olevski/s2s-ai-competition-scoring-image/-/tree/master), which automatically fetches the new scores of previous submissions, so your old submissions are re-evaluated. If you want to evaluate your score yourself, please use the updated [`skill_by_year`](https://renkulab.io/gitlab/aaron.spring/s2s-ai-challenge-template/-/blob/master/notebooks/scripts.py#L200).
- add notebooks:
### 2021-07-27: `v0.4` *release*
---
**NOTE**
After community feedback, we changed the ground truth observations files. Please update these files into your training pipeline if you used them before:
- [hindcast-like-observations_2000-2019_biweekly_tercile-edges.nc](https://renkulab.io/gitlab/aaron.spring/s2s-ai-challenge-template/-/blob/master/data/hindcast-like-observations_2000-2019_biweekly_tercile-edges.nc)
- [hindcast-like-observations_2000-2019_biweekly_deterministic.zarr](https://renkulab.io/gitlab/aaron.spring/s2s-ai-challenge-template/-/tree/master/data/hindcast-like-observations_2000-2019_biweekly_deterministic.zarr)
- [hindcast-like-observations_2000-2019_biweekly_terciled.zarr](https://renkulab.io/gitlab/aaron.spring/s2s-ai-challenge-template/-/tree/master/data/hindcast-like-observations_2000-2019_biweekly_terciled.zarr)
---
- add `eccodes` to [`environment.yml`](https://renkulab.io/gitlab/aaron.spring/s2s-ai-challenge-template/-/blob/master/environment.yml) to resolve `cfgrib` `ImportError` (https://renkulab.io/gitlab/aaron.spring/s2s-ai-challenge/-/issues/26, !15, [Aaron Spring](https://renkulab.io/gitlab/aaron.spring))
- Create categories by `groupby('week')`. (https://renkulab.io/gitlab/aaron.spring/s2s-ai-challenge/-/issues/29, !18 [Aaron Spring](https://renkulab.io/gitlab/aaron.spring) with help from [Sergi Bech Sala](https://renkulab.io/gitlab/sbechsal7) and [Llorenç Lledó](https://renkulab.io/gitlab/llledo))
- Regrid observations `conservative`ly with [xesmf](https://pangeo-xesmf.readthedocs.io/) (https://renkulab.io/gitlab/aaron.spring/s2s-ai-challenge/-/issues/32, !18, [Aaron Spring](https://renkulab.io/gitlab/aaron.spring) with help from [Arlan Dirkson](https://renkulab.io/gitlab/arlan.dirkson))
- Observations now have data at `longitude=0` (https://renkulab.io/gitlab/aaron.spring/s2s-ai-challenge/-/issues/35, !18, [Aaron Spring](https://renkulab.io/gitlab/aaron.spring) with help from [Sergi Bech Sala](https://renkulab.io/gitlab/sbechsal7))
- Missing `tp` observations after leap days added (https://renkulab.io/gitlab/aaron.spring/s2s-ai-challenge/-/issues/31, !18, [Aaron Spring](https://renkulab.io/gitlab/aaron.spring) with help from [David Landry](https://renkulab.io/gitlab/david.landry))
- `conservative`ly regridded and `groupby('week')` observations are now also used by `s2saichallengescorer` (https://renkulab.io/gitlab/tasko.olevski/s2s-ai-competition-scoring-image/-/merge_requests/4, [Aaron Spring](https://renkulab.io/gitlab/aaron.spring))
### 2021-06-19: `v0.3.1` *release*
- Fix `sortby('forecast_time')` for renku datasets (as before). `renku dataset s2s-ai-challenge` tag equals repo tag (!15, [Aaron Spring](https://renkulab.io/gitlab/aaron.spring))
### 2021-06-19: `v0.3.0` *release*
- Recreate biweekly renku datasets with `float32` single precision and newly uploaded data to [`climetlab_s2s_ai_challenge`](https://github.com/ecmwf-lab/climetlab-s2s-ai-challenge/releases/tag/0.7.0). Before `lead_time` in `tp` had a one day shift. These new renku datasets will be used by the [`s2saichallengescorer`](https://renkulab.io/gitlab/tasko.olevski/s2s-ai-competition-scoring-image/-/merge_requests/3). (#3, #5, !14, https://renkulab.io/gitlab/aaron.spring/s2s-ai-challenge/-/issues/22, [Aaron Spring](https://renkulab.io/gitlab/aaron.spring)). Averaged recalibrated ECMWF RPSS skill value to beat at least: `RPSS = -0.043`, see [`RPSS_verification.ipynb`](https://renkulab.io/gitlab/aaron.spring/s2s-ai-challenge-template/-/blob/master/notebooks/RPSS_verification.ipynb). You should also beat `climatology`, i.e. `RPSS = 0`.
- Order of processing gridded `RPSS` to final score: (#7, !9, [s2s-ai-competition-scoring-image!2](https://renkulab.io/gitlab/tasko.olevski/s2s-ai-competition-scoring-image/-/merge_requests/2), [Aaron Spring](https://renkulab.io/gitlab/aaron.spring))
1. `RPSS`
2. penalize where `NaN` submitted but value expected #7
3. `clip(-10,1)`: prevent too negative values
4. mean over `forecast_time`
5. spatially weighted mean [90N-60S]
6. mean over `lead_time` and `data_vars`
- Dont forget to `git add current_notebook.ipynb` also to ensure that consistent training pipeline and submission file are tagged, added to notebooks. (!9, [Aaron Spring](https://renkulab.io/gitlab/aaron.spring))
- Rerun [`ML_train_and_predict.ipynb`](https://renkulab.io/gitlab/aaron.spring/s2s-ai-challenge-template/-/blob/master/notebooks/ML_train_and_predict.ipynb) (!9, [Aaron Spring](https://renkulab.io/gitlab/aaron.spring))
- Fix typo in safeguards in [ML_forecast_template.ipynb](https://renkulab.io/gitlab/aaron.spring/s2s-ai-challenge-template/-/blob/master/notebooks/ML_forecast_template.ipynb): "We did NOT use `test` explicitly in training or implicitly in incrementally adjusting parameters." (!8, [Aaron Spring](https://renkulab.io/gitlab/aaron.spring))
- Add notebooks showcasing accessing output of different models from different sources: (!2, [Aaron Spring](https://renkulab.io/gitlab/aaron.spring))
- S2S-Project models:
- from from European Weather Cloud:
- [`climetlab-s2s-ai-challenge`](https://github.com/ecmwf-lab/climetlab-s2s-ai-challenge/) [recommended], see [`climetlab-s2s-ai-challenge` notebooks](https://github.com/ecmwf-lab/climetlab-s2s-ai-challenge/tree/main/notebooks)
- `curl` & `wget`, see [wget_curl.ipynb](https://renkulab.io/gitlab/aaron.spring/s2s-ai-challenge-template/-/blob/master/notebooks/data_access/wget_curl.ipynb)
- `intake`, see [intake.ipynb](https://renkulab.io/gitlab/aaron.spring/s2s-ai-challenge-template/-/blob/master/notebooks/data_access/intake.ipynb)
- `IRIDL` including overview, see [IRIDL.ipynb](https://renkulab.io/gitlab/aaron.spring/s2s-ai-challenge-template/-/blob/master/notebooks/data_access/IRIDL.ipynb)
- `intake` catalogs for `IRIDL` [`SubX`](https://renkulab.io/gitlab/aaron.spring/s2s-ai-challenge-template/-/blob/master/notebooks/data_access/SubX_catalog.yml) and [`S2S`](https://renkulab.io/gitlab/aaron.spring/s2s-ai-challenge-template/-/blob/master/notebooks/data_access/S2S_catalog.yml) see [IRIDL.ipynb](https://renkulab.io/gitlab/aaron.spring/s2s-ai-challenge-template/-/blob/master/notebooks/data_access/IRIDL.ipynb) (#9 !10, [Aaron Spring](https://renkulab.io/gitlab/aaron.spring))
- SubX-Project models: `IRIDL` including overview, see [IRIDL.ipynb](https://renkulab.io/gitlab/aaron.spring/s2s-ai-challenge-template/-/blob/master/notebooks/data_access/IRIDL.ipynb)
- How to access password-protected S2S-Project output from `IRIDL` with `xarray`? see [IRIDL.ipynb](https://renkulab.io/gitlab/aaron.spring/s2s-ai-challenge-template/-/blob/master/notebooks/data_access/IRIDL.ipynb)
- Access NOAA CPC observations via opendap from `IRIDL`, see [IRIDL.ipynb](https://renkulab.io/gitlab/aaron.spring/s2s-ai-challenge-template/-/blob/master/notebooks/data_access/IRIDL.ipynb) (#9 !10, [Aaron Spring](https://renkulab.io/gitlab/aaron.spring))
- fix `netcdf4` version to `1.5.4` for `opendap` to work lazily with `xarray` (!2, !7, [Aaron Spring](https://renkulab.io/gitlab/aaron.spring))
### 2021-05-31: `v0.2` *release*
After this `v0.2` release, this `CHANGELOG.md` will describe all changes made in this template repository.
- update `README` how to join competition, please `git pull` if you forked before
- find status of your submission in `s2s-ai-competition-scoring-image` https://renkulab.io/gitlab/tasko.olevski/s2s-ai-competition-scoring-image/-/blob/master/README.md
- calculate `RPSS` with respect to climatology (not ECMWF anymore) ([Aaron Spring](https://renkulab.io/gitlab/aaron.spring))
- update `RPSS_verification.ipynb`
- update `scorer`: https://renkulab.io/gitlab/tasko.olevski/s2s-ai-competition-scoring-image ([Tasko Olevski](https://renkulab.io/gitlab/tasko.olevski), [Aaron Spring](https://renkulab.io/gitlab/aaron.spring))
- Averaged ECMWF RPSS skill value to beat at least: `-0.0070`
### 2021-05-26: `v0.1` *pre-release*
- update `README` how to join competition (!4, [Aaron Spring](https://renkulab.io/gitlab/aaron.spring))
- git lfs track zarr: `git lfs track "**/*.zarr/**"` (!4, [Aaron Spring](https://renkulab.io/gitlab/aaron.spring))
- add notebooks: (!4, [Aaron Spring](https://renkulab.io/gitlab/aaron.spring))
- create renku datasets: `renku_datasets_biweekly.ipynb` - create renku datasets: `renku_datasets_biweekly.ipynb`
- RPSS verification: `RPSS_verification.ipynb` - RPSS verification: `RPSS_verification.ipynb`
- ML train and predict based on weatherbench: `ML_train_and_predict.ipynb` - ML train and predict based on weatherbench: `ML_train_and_predict.ipynb`
- mean bias reduction: `mean_bias_reduction.ipynb` - mean bias reduction: `mean_bias_reduction.ipynb`
- template for training and predictions: `ML_forecast_template.ipynb` - template for training and predictions: `ML_forecast_template.ipynb`
- add renku dataset `s2s-ai-challenge` with files: - add renku dataset `s2s-ai-challenge` with files: (!4, [Aaron Spring](https://renkulab.io/gitlab/aaron.spring))
- `hindcast-like-observations_2000-2019_biweekly_deterministic.zarr` - `hindcast-like-observations_2000-2019_biweekly_deterministic.zarr`
- `forecast-like-observations_2020_biweekly_deterministic.zarr` - `forecast-like-observations_2020_biweekly_deterministic.zarr`
- `hindcast-like-observations_2000-2019_biweekly_tercile-edges.nc` - `hindcast-like-observations_2000-2019_biweekly_tercile-edges.nc`
...@@ -19,10 +90,10 @@ ...@@ -19,10 +90,10 @@
- `ecmwf_forecast-input_2020_biweekly_deterministic.zarr` - `ecmwf_forecast-input_2020_biweekly_deterministic.zarr`
- `ecmwf_hindcast-input_2000-2019_biweekly_deterministic.zarr` - `ecmwf_hindcast-input_2000-2019_biweekly_deterministic.zarr`
- `ecmwf_recalibrated_benchmark_2020_biweekly_terciled.nc` - `ecmwf_recalibrated_benchmark_2020_biweekly_terciled.nc`
- add reproducibility section below in training - add reproducibility section below in training (!4, [Aaron Spring](https://renkulab.io/gitlab/aaron.spring))
- how to deal with this dry mask? provide as renku dataset? now implicitly masked in categorized observations `obs_p` - how to deal with this dry mask? provide as renku dataset? now implicitly masked in categorized observations `obs_p`
- justify if training takes more than a week - justify if training takes more than a week (!4, [Aaron Spring](https://renkulab.io/gitlab/aaron.spring))
- show RPS for all years ToDo: take RPSS - show RPS for all years. ~~ToDo: take RPSS~~ (!4, [Aaron Spring](https://renkulab.io/gitlab/aaron.spring))
......
...@@ -27,14 +27,24 @@ RUN conda env update -q -f /tmp/environment.yml && \ ...@@ -27,14 +27,24 @@ RUN conda env update -q -f /tmp/environment.yml && \
# RENKU_VERSION determines the version of the renku CLI # RENKU_VERSION determines the version of the renku CLI
# that will be used in this image. To find the latest version, # that will be used in this image. To find the latest version,
# visit https://pypi.org/project/renku/#history. # visit https://pypi.org/project/renku/#history.
ARG RENKU_VERSION=0.15.1 ARG RENKU_VERSION=0.16.2
######################################################## ########################################################
# Do not edit this section and do not add anything below # Do not edit this section and do not add anything below
# Install renku from pypi or from github if it's a dev version
RUN if [ -n "$RENKU_VERSION" ] ; then \ RUN if [ -n "$RENKU_VERSION" ] ; then \
pipx uninstall renku && \ source .renku/venv/bin/activate ; \
pipx install --force renku==${RENKU_VERSION} \ currentversion=$(renku --version) ; \
; fi if [ "$RENKU_VERSION" != "$currentversion" ] ; then \
pip uninstall renku ; \
gitversion=$(echo "$RENKU_VERSION" | sed -n "s/^[[:digit:]]\+\.[[:digit:]]\+\.[[:digit:]]\+\(\.dev[[:digit:]]\+\)*\(+g\([a-f0-9]\+\)\)*\(+dirty\)*$/\3/p") ; \
if [ -n "$gitversion" ] ; then \
pip install --force "git+https://github.com/SwissDataScienceCenter/renku-python.git@$gitversion" ;\
else \
pip install --force renku==${RENKU_VERSION} pyshacl==0.17.0.post1 ;\
fi \
fi \
fi
######################################################## ########################################################
\ No newline at end of file
...@@ -5,12 +5,16 @@ the `s2s-ai-challenge`. ...@@ -5,12 +5,16 @@ the `s2s-ai-challenge`.
You were likely referred here from the [public website](https://s2s-ai-challenge.github.io/). You were likely referred here from the [public website](https://s2s-ai-challenge.github.io/).
If you have already forked this project before June 1st 2021, please fork again or pull recent changes. The submission period for the `s2s-ai-challenge` ended. Please find the steps to join the competition for documentation purposes below.
Major changes will be also announced on the [challenge website](https://s2s-ai-challenge.github.io/#announcements). The template will have release tags. However, the `s2saichallengescorer` still remains active. So you can still verify your 2020 predictions in the future and they will show up in the [RPSS leaderboard](https://renkulab.io/gitlab/aaron.spring/s2s-ai-challenge-leaderboard), but do not qualify for prizes.
Find an overview of [repositories and websites](https://renkulab.io/gitlab/aaron.spring/s2s-ai-challenge/-/wikis/Flow-of-information:-Where-do-I-find-what%3F) ---
If you have already forked this project before June 1st 2021, please fork again or pull recent changes. If you have already forked this project, please fork again or pull recent changes.
Major changes will be also announced on the [challenge website](https://s2s-ai-challenge.github.io/#announcements).
This template repository will have release tags to track changes.
Find an overview of [repositories and websites](https://renkulab.io/gitlab/aaron.spring/s2s-ai-challenge/-/wikis/Flow-of-information:-Where-do-I-find-what%3F).
## Introduction ## Introduction
...@@ -33,22 +37,17 @@ Fork this template renku project from https://renkulab.io/projects/aaron.spring/ ...@@ -33,22 +37,17 @@ Fork this template renku project from https://renkulab.io/projects/aaron.spring/
Name your fork `s2s-ai-challenge-$TEAMNAME`. Name your fork `s2s-ai-challenge-$TEAMNAME`.
Please add the project/repository tag `s2s-ai-challenge`, which is needed for the `scorer` bot to find your repo.
Under "Settings" in the renku project, please add `s2s-ai-challenge`:
<img src="docs/screenshots/s2s-ai-challenge-tag.png" width="300">
When cloning this repository and you do not want to immediately download the `git lfs`-backed [renku datasets](https://renku.readthedocs.io/projects/renku-python/en/v0.4.0/cli.html#module-renku.cli.dataset), please use: When cloning this repository and you do not want to immediately download the `git lfs`-backed [renku datasets](https://renku.readthedocs.io/projects/renku-python/en/v0.4.0/cli.html#module-renku.cli.dataset), please use:
```bash ```bash
GIT_LFS_SKIP_SMUDGE=1 renku/git clone https://renkulab.io/projects/$YOURNAME/s2s-ai-challenge-$TEAMNAME GIT_LFS_SKIP_SMUDGE=1 renku/git clone https://renkulab.io/projects/$YOURNAME/s2s-ai-challenge-$TEAMNAME.git
``` ```
To be able to pull future changes from the [template](https://renkulab.io/gitlab/aaron.spring/s2s-ai-challenge-template) into your repository, add an `upstream`: To be able to pull future changes from the [template](https://renkulab.io/gitlab/aaron.spring/s2s-ai-challenge-template) into your repository, add an `upstream`:
```bash ```bash
# in your fork locally # in your fork locally
git remote add upstream git@gitlab.com:aaron.spring/s2s-ai-challenge-template.git git remote add upstream https://renkulab.io/gitlab/aaron.spring/s2s-ai-challenge-template.git
git pull upstream master git pull upstream master
``` ```
...@@ -70,7 +69,7 @@ description of your method. ...@@ -70,7 +69,7 @@ description of your method.
### 4. Add the `scorer` user to your repo with Reporter permissions ### 4. Add the `s2saichallengescorer` user to your repo with Reporter permissions
The scorer follows the code shown in the [verification notebook](https://renkulab.io/gitlab/aaron.spring/s2s-ai-challenge-template/-/blob/master/notebooks/verification_RPSS.ipynb). The scorer's username on gitlab is `s2saichallengescorer`. You should add it to your project with `Reporter` permissions. Under "Members" - "Invite Members" - "GitLab member or Email address", add `s2saichallengescorer`. The scorer will only ever clone your repository and evaluate your submission. It will never make any changes to your code. The scorer follows the code shown in the [verification notebook](https://renkulab.io/gitlab/aaron.spring/s2s-ai-challenge-template/-/blob/master/notebooks/verification_RPSS.ipynb). The scorer's username on gitlab is `s2saichallengescorer`. You should add it to your project with `Reporter` permissions. Under "Members" - "Invite Members" - "GitLab member or Email address", add `s2saichallengescorer`. The scorer will only ever clone your repository and evaluate your submission. It will never make any changes to your code.
### 5. Add the `s2s-ai-challenge` topic to your repository ### 5. Add the `s2s-ai-challenge` topic to your repository
...@@ -133,10 +132,11 @@ at the root of each competitor's repository. ...@@ -133,10 +132,11 @@ at the root of each competitor's repository.
Here is an example of a set of commands that would commit the results and add the scorer tag. Here is an example of a set of commands that would commit the results and add the scorer tag.
```bash ```bash
# run your training and create file ../submissions/ML_prediction_2020.nc # run your training and create file ../submissions/ML_prediction_2020.nc
git lfs track "*.nc" # this will ensure that all *nc files are using lfs and needs to be done only once git lfs track "*.nc" # this will ensure that all *nc files are using lfs and needs to be done only once, already done in https://renkulab.io/gitlab/aaron.spring/s2s-ai-challenge-template
git add submissions/ML_prediction_2020.nc git add submissions/ML_prediction_2020.nc # submission file to be fetched by s2saichallengescorer
git add notebooks/current_notebook.ipynb # training and prediction notebook
git commit -m "commit submission for my_method_name" # whatever message you want git commit -m "commit submission for my_method_name" # whatever message you want
git tag "submission-my_method_name-0.0.1" # add this tag if this is to be evaluated by the scorer git tag "submission-my_method_name-0.0.1" # add this tag if this is to be evaluated by the s2saichallengescorer
git push --tags git push --tags
``` ```
...@@ -144,11 +144,11 @@ Please note that only submitted/tagged commits will be considered for the compet ...@@ -144,11 +144,11 @@ Please note that only submitted/tagged commits will be considered for the compet
If you have code that produces better results after the competition ends and it has If you have code that produces better results after the competition ends and it has
not been tagged or is tagged after the competition closed then this will not be considered. not been tagged or is tagged after the competition closed then this will not be considered.
### 10. RPSS scoring by `scorer` bot ### 10. RPSS scoring by `s2saichallengescorer` bot
The `scorer` will fetch your tagged submissions, score them with RPSS against recalibrated ECMWF real-time forecasts. The `s2saichallengescorer` will fetch your tagged submissions, score them with RPSS against recalibrated ECMWF real-time forecasts.
Your score will be added to the private leaderboard, which will be made public in early November 2021. Your score will be added to the private leaderboard, which will be made public in early November 2021.
The `scorer` is not active for the competition yet. The `s2saichallengescorer` is not active for the competition yet.
## More information ## More information
......
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type