Skip to content

CMIP data #17

@briochemc

Description

@briochemc

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!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions