vtk — C ++ vtknetCDFCFReader для чтения переменных с различными размерами

Я пытался прочитать мой файл nc. В нем есть 3 переменные:

zonalWind (высота, долгота, широта)

meridionalWind (высота, долгота, широта)

вертикальная скорость (высота_2, долгота, широта)

Ниже мой код, читающий массивы:

vtkNetCDFCFReader *reader = vtkNetCDFCFReader::New();
reader->SetFileName(fileName);
reader->SetOutputTypeToStructured();
reader->UpdateMetaData();
reader->Update();
reader->Print(std::cout);

reader->SetVariableArrayStatus("verticalVelocity", 1);
reader->SetVariableArrayStatus("zonalWind", 1);
reader->SetVariableArrayStatus("meridionalWind", 1);

Но затем я получил следующую ошибку в termianl, пропустив массив verticalVelocity из-за проблемы с размерами:

vtkNetCDFCFReader (0x7fb1f1517350): Variable verticalVelocity dimensions (height_2 lat lon) are different than the other variable dimensions (height lat lon).  Skipping

Есть ли какой-нибудь метод, который я могу прочитать во всех 3 переменных данных вместо «пропуска» и выполнить некоторую обработку после этого?

ТИА

0

Решение

Нет. Вы должны создать 2 экземпляра vtkNetCDFCFReader и читать переменные с одинаковыми измерениями для каждого.

Если вы хотите извлечь только часть более крупной сетки и использовать эти значения в меньшей сетке, то присоедините фильтр vtkExtractGrid к одному или обоим выходным данным средства чтения, чтобы получить наборы данных одинакового размера. Наконец, запустите фильтр vtkMergeArrays для результатов, чтобы сгенерировать один набор данных со всеми значениями массива.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]