def test_kz_equal(self): kz_array_desired = pf.my_vtk_to_numpy( pf.my_vtk( std.shemat_suite_models_dir + '/fw_basc_SaltFlow_small' + std.result_dir + '', 'salt_small_final.vtk', 'kz')) kz_array_actual = pf.my_vtk_to_numpy( pf.my_vtk(std.shemat_suite_models_dir + '/fw_basc_SaltFlow_small', 'salt_small_final.vtk', 'kz')) npt.assert_allclose(kz_array_actual, kz_array_desired, rtol=1e-5)
def test_kz_equal(self): kz_array_desired = pf.my_vtk_to_numpy( pf.my_vtk( std.shemat_suite_models_dir + '/fw_const_TheisProblem' + std.result_dir + '', 'THEIS_final.vtk', 'kz')) kz_array_actual = pf.my_vtk_to_numpy( pf.my_vtk(std.shemat_suite_models_dir + '/fw_const_TheisProblem', 'THEIS_final.vtk', 'kz')) npt.assert_allclose(kz_array_actual, kz_array_desired, rtol=1e-5)
def test_pres_equal(self): pres_array_desired = pf.my_vtk_to_numpy( pf.my_vtk( std.shemat_suite_models_dir + '/fw_basc_SaltFlow' + std.result_dir + '', 'salt_final.vtk', 'pres')) pres_array_actual = pf.my_vtk_to_numpy( pf.my_vtk(std.shemat_suite_models_dir + '/fw_basc_SaltFlow', 'salt_final.vtk', 'pres')) npt.assert_allclose(pres_array_actual, pres_array_desired, rtol=1e-5)
def read( model_name, dat, let, fdir=None, fname=None, varname='uindex', nt=0, ): """ Reading variable array from SHEMAT-Suite vtk-file. Parameters ---------- model_name : string String of model name. dat : string String with date of model run. let : string String of letter of model run. varname : string Variable name for array to be read. Possibilities: 'uindex' 'head','temp','kz', 'v' nt : string Number of time step output. Returns ------- numpy_array : array Array containing the variable array numpy_array_name : string Containing proposed saving location for Array. """ # Dirs if fdir is None: # samples_output_dir fdir = rm.make_output_dirs(model_name, dat, let)[1] if fname is None: # time_out_file fname = rm.make_file_dir_names(model_name, nt)[17] # Get filetype ############################################################ if fname[-3:] == 'vtk': ftype = 'vtk' elif fname[-2:] == 'h5' or fname[-3:] == 'hdf': ftype = 'hdf' else: print(fname) raise RuntimeError('Wrong filetype.') # Get reader ############################################################## if ftype == 'vtk': reader = pf.my_vtk(fdir, fname, varname) elif ftype == 'hdf': reader = pf.my_hdf(fdir+'/'+fname, varname) # Numpy Array ############################################################ if ftype == 'vtk': numpy_array = pf.my_vtk_to_numpy(reader) elif ftype == 'hdf': numpy_array = reader # Numpy Array Name ######################################################## numpy_array_name = pm.py_output_filename( fa.tag, varname, sc.specl(model_name, dat, let)+'_'+str(nt), "npy", ) return numpy_array, numpy_array_name
def read( model_name, dat, let, varname='kz_mean', befaft='aft', fdir=None, fname=None, nt=10, ): """ Reading variable arrays from SHEMAT-Suite. Parameters ---------- model_name : string String of model name. dat : string String with date of model run. let : string String of letter of model run. varname : string Variable name for array to be read. Possibilities: 'kz_mean' 'kz_std','head_mean','lz_mean', 'temp_mean' befaft : string Specifies whether the output is read in from before ('bef') or after ('aft') the EnKF update. nt : integer Number inside file name. fdir : string Full directory of vtk file. fname : string Full name of vtk file. Returns ------- numpy_array : array Array containing the variable array numpy_array_name : string Containing proposed saving location for Array. """ # Automatic file name generation if (not fdir and not fname): # enkf_output_dir fdir = rm.make_output_dirs(model_name, dat, let)[2] if befaft == 'aft': # assim_out_file_aft fname = rm.make_file_dir_names(model_name, nt)[19] elif befaft == 'bef': # assim_out_file_bef fname = rm.make_file_dir_names(model_name, nt)[18] # Get vtk_reader ########################################################## vtk_reader = pf.my_vtk(fdir, fname, varname) # Debug ################################################################### print(varname, vtk_reader.GetOutput().GetCellData().GetArray(0).GetValueRange()) # Numpy Array ############################################################ numpy_array = pf.my_vtk_to_numpy(vtk_reader) # Numpy Array Name ######################################################## numpy_array_name = pm.py_output_filename( aa.tag, varname + '_' + str(nt).zfill(4) + '_' + befaft, sc.specl(model_name, dat, let), "npy") return numpy_array, numpy_array_name