Linear regression slopes are read from numpy arrays, which have unity values over land. Models don't have the same land mask, so at grid points near continental boundaries, regression coefficients are used from a smaller subset of models, which may introduce biases in spatial projections.
|
slope_files = glob.glob(cmip6_dir + f'/*/zos_regression_{scenario}_*.npy') |
|
slopes = np.zeros((len(slope_files), 180, 360), dtype=np.float32) |
|
for i, slope_file in enumerate(slope_files): |
|
slopes[i, :, :] = np.load(slope_file) |
I suggest the following to ensure projections at every grid point are based on all models
- Read model mask along with slopes.
- Compute mean over mask data from all models.
- Then consider slopes at grid points where ocean is present in all models.
Greg Munday (@gregrmunday) What are your thoughts on this?
Linear regression slopes are read from numpy arrays, which have unity values over land. Models don't have the same land mask, so at grid points near continental boundaries, regression coefficients are used from a smaller subset of models, which may introduce biases in spatial projections.
ProFSea-tool/profsea/spatial_projections.py
Lines 396 to 399 in 9a1d097
I suggest the following to ensure projections at every grid point are based on all models
Greg Munday (@gregrmunday) What are your thoughts on this?