JuliaClimate / JuliaClimate/meta

CMIP data

Open
#17 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
No language data
Stars
7
Forks
1
PR merge metrics
No merged PRs in 30d

Description

Any recommended workflow for processing/analyzing CMIP data in Julia?

I thought I'd ask here for tips, which will undoubtedly be useful to me, and maybe help others too :)

  • cloud compute/download. I've been using Zarr.jl and AWS.jl (using code found in notebooks by @gaelforget, Ryan Abernathey, and others) with some success, but I thought I'd ask here if you'd recommend anything else? I usually go

     # Some config I don't really understand
     AWS.global_aws_config(AWSConfig(creds=nothing, region=""))
     # table with all the URLs to the data on google cloud
     CMIP6_stores = CSV.read(download("https://storage.googleapis.com/cmip6/cmip6-zarr-consolidated-stores.csv"), DataFrame)
     # Some filtering of the DataFrame to pinpoint whatever data I need...
     store = filter(..., CMIP6_stores)
     # Then use Zarr to open it lazily
     data = zopen(store) 
     # Do some (hopefully lazy) computations on the data
     output = f(data)
    
  • dealing with inconsistencies between models (e.g., different coordinate names like nav_lon vs longitude). The Python xmip package by Julius Busecke is specifically designed to address a lot of these issues. Is there anyone planning to port its functionality to Julia somewhere in this org? Or is it easy enough to use PyCall? Or do you do this all manually?

  • xarray-like package. Which of the many packages do/would you use to manipulate gridded data from CMIP? For example, if I want to make some tracer budgets, I can deal with the different model grids (e.g., staggered or not) by hand (doing some tedious checks, interpolations/extrapolations, and so on), but surely there is a better way that leverages existing code?

Maybe this is all already answered somewhere and I just missed it, in which case sorry for the noise!

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the referenced notebooks and the Julia workflow using Zarr.jl, AWS.jl, CSV, and DataFrame, then review the linked xMIP and xarray projects. Done would require a concrete Julia workflow or package direction covering cloud access, model inconsistencies, and gridded-data manipulation.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, google-cloud, julia, python
Domain
cloud, data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.