From 8d9143b0af973f26f96997424ccc342fdeafcd2e Mon Sep 17 00:00:00 2001 From: Paolo Veglio <paolo.veglio@ssec.wisc.edu> Date: Thu, 6 Feb 2025 16:08:57 +0000 Subject: [PATCH] fixed hires dimensions not being correct at night --- mvcm/main_prep_only.py | 2 +- mvcm/read_data.py | 78 ++++++++++++++++-------------------------- 2 files changed, 30 insertions(+), 50 deletions(-) diff --git a/mvcm/main_prep_only.py b/mvcm/main_prep_only.py index b505640..3517cb5 100644 --- a/mvcm/main_prep_only.py +++ b/mvcm/main_prep_only.py @@ -144,7 +144,7 @@ def main( viirs_m_bands = SensorConstants.VIIRS_VIS_BANDS + SensorConstants.VIIRS_IR_BANDS - with Dataset(file_names["MOD03"]) as f: + with Dataset(file_names["IMG03"]) as f: attrs = {attr: f.getncattr(attr) for attr in f.ncattrs()} lat_shape = f["geolocation_data/latitude"][:].shape diff --git a/mvcm/read_data.py b/mvcm/read_data.py index a3a33e9..84b29f3 100644 --- a/mvcm/read_data.py +++ b/mvcm/read_data.py @@ -814,56 +814,36 @@ def get_data( logger.info(f"read_data: Memory usage: {proc.memory_info().rss / 1e6} MB") viirs_data.to_netcdf("tmp_viirs_data.nc") - xdim = len(viirs_data.number_of_lines) - ydim = len(viirs_data.number_of_pixels) - - viirs_data = xr.open_dataset("tmp_viirs_data.nc", chunks="auto") - logger.info(f"pre_slicing: Memory usage: {proc.memory_info().rss / 1e6} MB") - scene_xr_1, pixels_flags_1 = scn.scene_id( - viirs_data.isel( - number_of_lines=slice(0, int(xdim / 2)), number_of_pixels=slice(0, int(ydim / 2)) - ), + # xdim = len(viirs_data.number_of_lines) + # # ydim = len(viirs_data.number_of_pixels) + # + # n_slices = 4 + # scene_xr, pixel_flags = scn.scene_id( + # viirs_data.isel( + # number_of_lines=slice(0, int(xdim / n_slices)), + # ), + # thresholds["Sun_Glint"]["bounds"][3], + # thresholds["Snow_Mask"], + # ) + # for i in range(1, n_slices): + # slice_start = int(xdim / n_slices) * i + # slice_end = int(xdim / n_slices) * (i + 1) + # scene_xr_tmp, pixel_flags_tmp = scn.scene_id( + # viirs_data.isel( + # number_of_lines=slice(slice_start, slice_end), + # ), + # thresholds["Sun_Glint"]["bounds"][3], + # thresholds["Snow_Mask"], + # ) + # logger.info(f"slice size: {scene_xr.Land_Day.shape}, {scene_xr_tmp.Land_Day.shape}") + # scene_xr = xr.concat([scene_xr, scene_xr_tmp], dim="number_of_lines") + # pixel_flags = xr.concat([pixel_flags, pixel_flags_tmp], dim="number_of_lines") + + scene_xr, pixel_flags = scn.scene_id( + viirs_data, thresholds["Sun_Glint"]["bounds"][3], thresholds["Snow_Mask"], ) - logger.info(f"slice 1: Memory usage: {proc.memory_info().rss / 1e6} MB") - scene_xr_2, pixels_flags_2 = scn.scene_id( - viirs_data.isel( - number_of_lines=slice(int(xdim / 2), xdim), number_of_pixels=slice(0, int(ydim / 2)) - ), - thresholds["Sun_Glint"]["bounds"][3], - thresholds["Snow_Mask"], - ) - logger.info(f"slice 2: Memory usage: {proc.memory_info().rss / 1e6} MB") - scene_xr_tmp_1 = xr.concat([scene_xr_1, scene_xr_2], dim="number_of_lines") - pixels_flags_tmp_1 = xr.concat([pixels_flags_1, pixels_flags_2], dim="number_of_lines") - logger.info(f"concat 1: Memory usage: {proc.memory_info().rss / 1e6} MB") - - scene_xr_1, pixels_flags_1 = scn.scene_id( - viirs_data.isel( - number_of_lines=slice(0, int(xdim / 2)), number_of_pixels=slice(int(ydim / 2), ydim) - ), - thresholds["Sun_Glint"]["bounds"][3], - thresholds["Snow_Mask"], - ) - logger.info(f"slice 3: Memory usage: {proc.memory_info().rss / 1e6} MB") - scene_xr_2, pixels_flags_2 = scn.scene_id( - viirs_data.isel( - number_of_lines=slice(int(xdim / 2), xdim), number_of_pixels=slice(int(ydim / 2), ydim) - ), - thresholds["Sun_Glint"]["bounds"][3], - thresholds["Snow_Mask"], - ) - logger.info(f"slice 4: Memory usage: {proc.memory_info().rss / 1e6} MB") - scene_xr_tmp_2 = xr.concat([scene_xr_1, scene_xr_2], dim="number_of_lines") - pixels_flags_tmp_2 = xr.concat([pixels_flags_1, pixels_flags_2], dim="number_of_lines") - logger.info(f"concat 2: Memory usage: {proc.memory_info().rss / 1e6} MB") - - scene_xr = xr.concat([scene_xr_tmp_1, scene_xr_tmp_2], dim="number_of_pixels") - pixels_flags = xr.concat([pixels_flags_tmp_1, pixels_flags_tmp_2], dim="number_of_pixels") - logger.info(f"concat 3: Memory usage: {proc.memory_info().rss / 1e6} MB") - - logger.info(f"read_data: Memory usage: {proc.memory_info().rss / 1e6} MB") input_data = xr.Dataset(viirs_data, coords=scene_xr).chunk() input_data.drop_vars(["latitude", "longitude"]) @@ -871,6 +851,6 @@ def get_data( logger.info(f"read_data: Memory usage: {proc.memory_info().rss / 1e6} MB") # input_data.to_netcdf("input_data.nc") - # pixels_flags.to_netcdf("pixels_flags.nc") + # pixel_flags.to_netcdf("pixels_flags.nc") - return input_data, pixels_flags + return input_data, pixel_flags -- GitLab