diff --git a/mapies/mapies.py b/mapies/mapies.py index 65737f87d852b993391deffc9f20e96baa47ec32..b3f82cdb4418c273835cb126d49ff079525bddaf 100644 --- a/mapies/mapies.py +++ b/mapies/mapies.py @@ -7,27 +7,24 @@ from mapies.util.func_tools import * from mapies.util.plotting import MapiesPlotter from mapies.grids.rotated import RotatedGrid, IrregularRotatedGrid, CAMSGrid, BDRCGrid from mapies.grids.regular import RegularGrid -import time + + import numpy as np import pandas as pd import xarray as xr -import matplotlib.pyplot as plt -import cartopy.crs as ccrs -from collections import defaultdict + import os import sys import yaml import json -import matplotlib.cm as cm -from matplotlib.colors import ListedColormap -import matplotlib.colors as mcolors + from mapies.util.variables_names import VARS_ATTRIBUTES from numpy.typing import DTypeLike, NDArray from loguru import logger from tqdm import tqdm -from scipy.interpolate import griddata + logger.remove() logger.add(sys.stderr, level="INFO") @@ -521,26 +518,23 @@ class MAPIES: ) return elif months == [1]: - try: - for i, (date, lon_values, lat_values, obs_values, count_obs) in enumerate(self.avg_results): - # if obs_values is None or len(obs_values) == 0: - # continue - print(f"Plotting date: {date}, average {i}") - date_obj = datetime.strptime(date, "%Y%m%d%H%M") - title = f"Observation 2D plot - {date_obj}, average {i}" - filename = f"{self.datatype}_2D_obs_from_{self.start_date}_to_{self.end_date}_{date}_average_{i}.png" - - self.plotter.plot_2D_obs_custom( - lon_values=lon_values, - lat_values=lat_values, - obs_values=obs_values, - outdir=outdir, - title=title, - filename=filename, - ) - except Exception as e: - logger.error(f"Error plotting all data: {e}") - return + for i, (date, lon_values, lat_values, obs_values, count_obs) in enumerate(self.avg_results): + # if obs_values is None or len(obs_values) == 0: + # continue + logger.debug(f"Plotting date: {date}, average {i}") + date_obj = datetime.strptime(date, "%Y%m%d%H%M") + title = f"Observation 2D plot - {date_obj}, average {i}" + filename = f"{self.datatype}_2D_obs_from_{self.start_date}_to_{self.end_date}_{date}_average_{i}.png" + + self.plotter.plot_2D_obs_custom( + lon_values=lon_values, + lat_values=lat_values, + obs_values=obs_values, + obs_var=self.obs_var, + outdir=outdir, + title=title, + filename=filename, + ) else: logger.error("Error: months can be either [0] for all data, [1] for averages by frequency.") return @@ -578,22 +572,18 @@ class MAPIES: return elif months == [1]: - try: - for i, (date, lon_values, lat_values, obs_values, count_obs) in enumerate(self.avg_results): - date_obj = datetime.strptime(date, "%Y%m%d%H%M") - title = f"Plot of the number of valid observations - {date_obj}, average {i}" - filename = filename or f"{self.datatype}_2D_obs_count_from_{self.start_date}_to_{self.end_date}_{date}_average_{i}.png" - self.plotter.plot_2D_num_obs_custom( - lon_values=lon_values, - lat_values=lat_values, - num_obs=count_obs, - outdir=outdir, - title=title, - filename=filename, - ) - except Exception as e: - logger.error(f"Error plotting all data: {e}") - return + for i, (date, lon_values, lat_values, obs_values, count_obs) in enumerate(self.avg_results): + date_obj = datetime.strptime(date, "%Y%m%d%H%M") + title = f"Plot of the number of valid observations - {date_obj}, average {i}" + filename = filename or f"{self.datatype}_2D_obs_count_from_{self.start_date}_to_{self.end_date}_{date}_average_{i}.png" + self.plotter.plot_2D_num_obs_custom( + lon_values=lon_values, + lat_values=lat_values, + num_obs=count_obs, + outdir=outdir, + title=title, + filename=filename, + ) else: logger.error("Error: months can be either [0] for all data, [1] for averages by frequency.") diff --git a/run/run_viirs.py b/run/run_viirs.py index d987768edcd2cf9fbb9895c62c936f6ca3a5109e..129a81af496a885ac33b09d31795699015d25e22 100644 --- a/run/run_viirs.py +++ b/run/run_viirs.py @@ -11,8 +11,8 @@ if __name__ == "__main__": - outdir="/home/cgile/Documents/mapies/figures/averages/10062025" - indir="/home/cgile/Documents/mapies/VIIRS" + outdir="/home/cmeikle/Projects/data/" + indir="/home/cmeikle/Projects/data/VIIRS" start_time = time.time() @@ -25,11 +25,11 @@ if __name__ == "__main__": frequency_avg = "D" min_num_obs = 0 - c.process_avg_data(frequency_avg=None, min_num_obs = min_num_obs, batch_size = 100, save=True, apply_qa = False, geospatial_crop = geospatial_crop) - c.plot_2D_observations(months=[0], filename="plot_10062025.png", outdir=outdir) - # c.plot_2D_observations(months=[1], outdir=outdir) + c.process_avg_data(frequency_avg=frequency_avg, min_num_obs = min_num_obs, batch_size = 100, save=False, apply_qa = False, geospatial_crop = geospatial_crop) + #c.plot_2D_observations(months=[0], filename="plot_10062025.png", outdir=outdir) + c.plot_2D_observations(months=[1], outdir=outdir) - # c.plot_2D_num_obs(months=[0], outdir=outdir) + c.plot_2D_num_obs(months=[1], outdir=outdir) # c.process_lazy_data(apply_qa=True, save=True)