-
Notifications
You must be signed in to change notification settings - Fork 33
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
Errors around coast lines on SST plots with v1-HR model output #411
Comments
I can reproduce the problem with:
Could be a regridding issue when taking the difference between model and obs. I'm looking into it. |
I tracked back to an old issue which is not being addressed: #175 I'm going to run through all variables to see what fields will be affected. |
I ran two cases: one uses bilinear interpolation the other uses conservative. Checking the difference between ANN table: https://web.lcrc.anl.gov/public/e3sm/diagnostic_output/zhang40/tests/full_bilinear_low-res/viewer/table/index.html |
@chengzhuzhang : thanks for the nice detective work here! I think we can assume that the CDAT issue #175 is not going to get fixed anytime soon, likely ever. Switching (temporarily) to bi-linear is probably the best option we have, even though it makes me a little uncomfortable. This brings into question again the future of CDAT in E3SM Diags, and whether we should transition to something else. |
Thank you, @golaz . I am exploring using |
@chengzhuzhang , we use nco for remapping in zppy. You may want to use nco or TempestRemap to fix this issue. The advantages are that these are tools supported by E3SM and easy to use. Just a thought. |
Hi @tangq, thanks for the suggestion. A solution that uses a Python interface would be more straightforward to implement in this case. @golaz, I experimented more with To implement, we will need to add additional dependencies, also a full test run is needed to find out the difference between the new regridding and current cdms2 regridding method. |
@chengzhuzhang , I made the suggestion of using nco or TempestRemap mainly echoing @golaz's comment "This brings into question again the future of CDAT in E3SM Diags". I was experiencing a similar dependency issue when I saw this discussion. Another frustrating case is the cdscan dependency when creating nudging files (You were in that conversation too). If we have to add dependencies, why not depend on something E3SM supports when possible? It should be straightforward to implement it. You call the following ncremap command with python before calculating the model-obs differences. Then the python code uses regridded out.nc for the differencing. Just a suggestion. Feel free to proceed either way. But I'd advocate E3SM supported tools. |
Yeah, we should use E3SM supported tools as much as it is practicable (I'm HUGE fan of NCO and Tempest). The regridding operation is one of the example to operate a variable object extracted from netcdf files, in e3sm-diags, we also do regional subsetting, vertical interpolation, statistical computation... In this particular use case, using cdms/xarray or their equivalent will be more suitable... |
@chengzhuzhang and @golaz Large model/obs SST differences along coastlines (or land model/obs differences along coastlines) are an almost fool-proof indication that the regridding weights are being applied with a global mean-preserving, not a local mean-preserving, algorithm, as described here.
This is usually only an issue when using weights generated with a flux-preserving conservative method rather than bilinear interpolation. Let me know if I can be of any help. |
I ran e3sm_diags on output from v1-HR, regridded using
map_ne120np4_to_cmip6_720x1440_nco.20190601.nc
.The SST plots show erroneous values near the coastlines, leading to a very large RMSE error:
Full E3SM Diags output: https://web.lcrc.anl.gov/public/e3sm/diagnostic_output/ac.golaz/E3SM/v1-HR/20210112.A_WCYCL1950S_CMIP6_HR.ne120_oRRS18v3_ICG.unc06/e3sm_diags/720x1440_nco/model_vs_obs_0137-0155/viewer/
Here is my configuration to reproduce on chrysalis using zppy:
The text was updated successfully, but these errors were encountered: