-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add BCSD spatial disaggregation functionality #31
Comments
@dgergel - Would you mind sharing your prototype concept? The BCSD disaggregator I was thinking of in the roadmap was a temporal disaggregator BUT I'm sure there are some interesting spatial methods to consider here as well. I think the criteria I'd put on accepting something like this fall as below:
|
@jhamman a question from the criteria you listed: would The spatial disaggregator I have in mind would be implementing the NASA-NEX daily method, which applied bias correction at the native model resolution and then spatial disagg to move from the native model resolution to the finer obs resolution. The rough steps are:
I've been thinking about how to adapt my prototype to use a similar fit/predict API. What I roughly have in mind is the |
I'd like to avoid a dependency on xESMF (esmf really). For the workflow you've highlighted here, I think we can think of the a set of recipes that implement end-to-end downscaling patterns (like NASA-NEX). I don't think there is any problem adding xESMF to the doc build but I think we can stick to the principle that regridding is out of scope as built-in functionality in scikit-downscale. Ideally, all the regridding stuff can be made plug-and-play such that arbitrary workflows can be composed using a combination of tools (xarray/scikit-downscale/xesmf/etc.). |
@jhamman fair enough. By adding xESMF to the doc build, do you mean a recipe for using xESMF as an intermediate step external to the workflow, or something beyond that? Two options I'm thinking of that would accomplish this:
|
Yes. I'm just thinking a recipe (notebook or script of some kind) that we can include in the documentation showing how to use scikit-downscale with xesmf. (your options 1). I'm having a bit of a hard time visualizing your second option. Can you provide an example (pseudocode or notebook if available)? |
@jhamman what I had meant in my second option was that I was directly using source code from xesmf to apply regridding weights on dask workers, as I'd had trouble getting xesmf to work with dask distributed. Since then I've gotten it up and running, so I think a recipe in the docs would work well. I'm in the process of updating my prototype notebook and also adapting it to the |
Circling back on this - what I have in mind is a recipe like this:
The steps in scikit-downscale would call a Let me know your thoughts on this @jhamman - if this all sounds reasonable, I'll put together a PR. |
@jhamman (and any others who might want to weigh in on this) I was wondering what your plan is for adding functionality for spatial disaggregation? Are you still thinking about something along the lines of
bcsd_disaggregator
as mentioned in the readthedocs? I have a prototype version of spatial disagg that I put together a few months ago that I could put into a PR in the next few weeks. Would be great to hear what you already have in mind for this piece so that I can make sure that my prototype would be along those lines.The text was updated successfully, but these errors were encountered: