diff --git a/pysatModels/utils/extract.py b/pysatModels/utils/extract.py index 32a4d3fc..51bcdb65 100644 --- a/pysatModels/utils/extract.py +++ b/pysatModels/utils/extract.py @@ -19,9 +19,9 @@ from __future__ import unicode_literals import numpy as np -import pandas as pds import scipy.interpolate as interpolate +import pandas as pds import pysat.utils as pyutils import pysatModels as ps_mod @@ -743,11 +743,12 @@ def extract_modelled_observations(inst, model, inst_name, mod_name, if i > 0] # Find relevent dimensions for cycling and slicing - ind_dims = [k for k, kk in enumerate(inst_name) - if kk in idim_names] + ind_dims = [k for k, iname in enumerate(inst_name) + if iname in idim_names] imod_dims = [k for k in ind_dims if mod_name[k] in dims] - ind_dims = [inst.data.coords.keys().index(inst_name[k]) + coord_keys = [ckey for ckey in inst.data.coords.keys()] + ind_dims = [coord_keys.index(inst_name[k]) for k in imod_dims] # Set the number of cycles diff --git a/pysatModels/utils/match.py b/pysatModels/utils/match.py index e9adcb30..2fe361c6 100644 --- a/pysatModels/utils/match.py +++ b/pysatModels/utils/match.py @@ -8,6 +8,7 @@ Routines -------- +load_model_xarray collect_inst_model_pairs """ @@ -16,12 +17,14 @@ from __future__ import unicode_literals import datetime as dt +import logging import numpy as np from os import path -from pandas import (DateOffset, date_range) +from pandas import (DateOffset, date_range) import pysat +import pysatModels from pysatModels.utils import extract @@ -208,7 +211,12 @@ def collect_inst_model_pairs(start, stop, tinc, inst, inst_download_kwargs={}, istart = start while start < stop: # Load the model data for each time - mdata = model_load_rout(start, **model_load_kwargs) + try: + mdata = model_load_rout(start, **model_load_kwargs) + except (IOError, ValueError) as err: + pysatModels.logger.info( + 'unable to load model data at {:}\n{:}'.format(start, err)) + mdata = None if mdata is not None: # Get the range for model longitude