-
Notifications
You must be signed in to change notification settings - Fork 1
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_lonvslongitude). 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!