Как импортировать файл netCDF4 с xarray, если имена индексов имеют несколько измерений? - PullRequest
1 голос
/ 11 марта 2019

Когда я пытаюсь импортировать файлы netCDF4 с помощью xarray, я получаю следующую ошибку:

MissingDimensionsError: у 'name' больше одного измерения и то же имя, что и у одного из его измерений ('time', 'название').xarray запрещает такие переменные, потому что они конфликтуют с координатами, используемыми для маркировки измерений.

Однако я могу успешно импортировать эти данные с помощью библиотеки Python netCDF4 и получить необходимые данные из нее.Проблема в том, что этот метод очень медленный, поэтому я искал что-то более быстрое и хотел попробовать xarray. Вот файл примера, и код, который дает мне указанную ошибку.

from netCDF4 import Dataset
#import matplotlib
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np         
#import seaborn as sns
from tkinter import Tk

from tkinter.filedialog import askdirectory
import os
import xarray as xr

#use this function to get a directory name where the files are
def get_dat():
    root = Tk()
    root.withdraw()
    root.focus_force()
    root.attributes("-topmost", True)      #makes the dialog appear on top
    filename = askdirectory()      # Open single file
    root.destroy()
    root.quit()
    return filename

directory=get_dat()

#loop through files in directory and read the netCDF4 files
for filename in os.listdir(directory):     #loop through files in user's dir
    if filename.endswith(".nc"):     #all my files are .nc not .nc4
        runstart=pd.datetime.now()
        #I get the error right here
        rootgrp3 = xr.open_dataset(directory+'/'+filename)
        #more stuff happens here with the data, but this stuff works
...