Сохранение двух файлов netCDF в виде одного текстового файла с использованием словаря - PullRequest
0 голосов
/ 25 июня 2019

Я пытаюсь сохранить два файла netCDF в один текстовый файл, используя словари. Я могу определить массив нулей numy, но в настоящее время я получаю ошибку, когда я заполняю его переменными, которые я определил в словаре.

Я думаю, что это связано с использованием [], как было сказано в некоторых предыдущих вопросах, но я пробовал это, и у меня все еще есть эта проблема. Я имею ввиду во втором для кода

Ошибка, я получаю это: «Ошибка типа: объект dict_keys не может быть вызван»

Это ссылка с 2 файлами nc: Температура файлов netCDF

#Script for reading .nc temperature files (max and minimum) for calculation of PHU
#Last modification: 22.6.19

import numpy as np
import netCDF4 as nc
import os

#Defining working directory
os. chdir('/mnt/lustre02/work/ch0636/g260150/sims/validation/selectedmodelRCPs/RCP2.6/Model1/')


#Defining each temperature nc. files through a dictionary

dictionary={'tempmax':['/mnt/lustre02/work/ch0636/g260150/sims/validation/selectedmodelRCPs/RCP2.6/Model1/tmax.nc','tasmax'],
'tempmin':['/mnt/lustre02/work/ch0636/g260150/sims/validation/selectedmodelRCPs/RCP2.6/Model1/tmin.nc','tasmin']}

acum={}

for var in dictionary.keys():
    defi=dictionary[var]    
    temp1=nc.Dataset(defi[0],'r').variables[defi[1]][:,0,0]
    acum[var]=temp1

texto=np.zeros((acum['tempmax'].size, len(acum.keys())))

for i in range(len(acum.keys())):
      texto[:,i]=(acum[acum.keys()(i)])

texto[:,0]=nc.Dataset(dictionary['tempmax'][0],'r').variables[dictionary['tempmax'][1][:]]

np.savetxt('temperatures.txt',texto,fmt='%8d')
...