def apply_quantile_mapping_by_month(input_data, data_to_match, **kwargs):
'''apply quantile mapping by month
'''
obs_groups = data_to_match.groupby('time.month')
input_groups = input_data.groupby('time.month')
results = []
for (key_obs, group_obs), (key_input, group_input) in zip(obs_groups,
input_groups):
results.append(quantile_mapping(group_input, group_obs, **kwargs))
# put the groups back together
new_concat = xr.concat(results, dim='time')
# Now sort the time dimension again
sort_inds = np.argsort(new_concat.time.values)
new_concat = new_concat.isel(time=sort_inds)
return new_concat
评论列表
文章目录