示例#1
0
    def load_data(self):
        current_case = str(self.cb_wec_t1.currentText()).replace(' ', '_')
        file_name = os.path.join(self._wec_db_folder, current_case,
                                 '{}_results.hdf5'.format(current_case))
        description_file = os.path.join(
            self._wec_db_folder, current_case,
            '{}_description.html'.format(current_case)).replace("\\", "/")
        data_db = h5i.load_dict_from_hdf5(file_name)

        data_db['prj_filename'] = self._data['prj_filename']
        data_db['prj_folder'] = self._data['prj_folder']
        data_db['prj_name'] = self._data['prj_name']
        data_db['inputs_hydrodynamic']['general_input'][
            'data_folder'] = os.path.join(self._wec_db_folder, current_case)
        print(os.path.join(self._wec_db_folder, current_case))
        stat = check_wec_db_data(data_db)
        self.save_project()
        if stat[0]:
            self._data = data_db
            self.ww_wec.load(QUrl("file:///" + description_file))
            print("Data loaded. It is possible to plot the data.")
            self.trigger_save.emit(self._data['inputs_hydrodynamic'])
            self.trigger_results.emit(self._data)
        else:
            print(stat[1])
示例#2
0
    def load_project(self):
        self.mdi_area.closeAllSubWindows()
        self.clear_project_data()
        project_folder = QFileDialog.getExistingDirectory(
            self, "Select a project folder")
        project_folder = str(project_folder)
        prj_name = os.path.basename(os.path.normpath(project_folder))
        prj_filename = "".join([prj_name, '_data_collection.hdf5'])
        project = os.path.join(project_folder, prj_filename)

        if os.path.isfile(project):
            dictionary = h5i.load_dict_from_hdf5(project)
            dictionary['prj_folder'] = project_folder
            dictionary['prj_filename'] = prj_filename
            dictionary['prj_name'] = prj_name
            self._data = dictionary
            self.populate_project()
        else:
            choice = QMessageBox().question(
                self, 'Wrong Project Folder',
                'The selected folder does not contains a valid project data collection.\n Do you want to select another folder?',
                QMessageBox.Yes | QMessageBox.No)
            if choice == QMessageBox.Yes:
                self.load_project()
            else:
                return -1
示例#3
0
 def load_fitting_data(self, caseID):
     f_n = os.path.join(self.db_folder,
                        'case{}'.format(caseID),
                        'case{}_pmfit.h5'.format(caseID))
     dic = h5i.load_dict_from_hdf5(f_n)
     self.c_ext = dic['c_ext']
     self.k_ext = dic['k_ext']
     self.c_fit = dic['c_fit']
     self.k_fit = dic['k_fit']
     self.c_pto = dic['c_pto']
     self.k_mooring = dic['k_mooring']
     self._te = dic['te']
     self.tp = convert_te2tp(self._te.copy())
     self.hm0 = dic['hm0']
     self.wave_dir = convert_angle(dic['wave_dir'].copy())
     self.scatter_diagram = dic['scatter_diagram']
 def load_data(self):
     f_n = os.path.join(self.db_folder, 'case{}'.format(self.wec_ID),
                        'case{}_hyd.h5'.format(self.wec_ID))
     dic = h5i.load_dict_from_hdf5(f_n)
     self.m_m = dic['m_m']
     self.m_add = dic['m_add']
     self.c_rad = dic['c_rad']
     self.f_ex = dic['f_ex']
     self.periods = dic['periods']
     self.directions = dic['directions']
     self.k_hst = dic['k_hst']
     self.diffraction_tr_mat = dic['diffraction_tr_mat']
     self.force_tr_mat = dic['force_tr_mat']
     self.amplitude_coefficient_radiation = dic[
         'amplitude_coefficient_radiation']
     self.water_depth = dic['water_depth']
     self.cyl_radius = dic['cyl_radius']
     self.modes = dic['modes']
     self.order = dic['max_order']
     self.truncation_order = dic['truncation_order']
     self.pto_dof = dic['pto_dof']
     self.moor_dof = dic['mooring_dof']
示例#5
0
# -*- coding: utf-8 -*-
"""
Created on Fri May 27 16:41:27 2016

@author: francesco
"""
import utils.hdf5_interface as h5i
import os

path = r'C:\Users\francesco\Desktop'
filename = 'test_rm3_sterling_data_collection.hdf5'

dic = h5i.load_dict_from_hdf5(os.path.join(path, filename))

# h5i.save_dict_to_hdf5(dic, os.path.join(path, filename))
示例#6
0
        }

        h5i.save_dict_to_hdf5(
            temp_dic, os.path.join(self.project_folder, 'wec_solution.h5'))
        # h5pi.save_dict_to_pandas_and_hdf5(temp_dic, os.path.join(self.project_folder, 'test2.h5'))
        # pkli.save_dict_to_pickle(temp_dic, os.path.join(self.project_folder, 'test3.pkl'))

if __name__ == "__main__":
    # usage of the external wave module
    import sys
    sys.path.append(r"C:\Users\francesco\Desktop\test_gui\utils")

    from data_interface import DataStructure
    import hdf5_interface as h5i
    data = h5i.load_dict_from_hdf5(
        r"C:\Users\francesco\Desktop\test_gui\test_prj\test_prj_data_collection.hdf5"
    )
    data['inputs_hydrodynamic']['general_input'][
        'data_folder'] = r"C:\Users\francesco\Desktop\test_gui\mtatest\hydrodynamic"
    dataobj = DataStructure(data)
    if dataobj.check_inputs():
        wec_obj = BemSolution(dataobj, debug=False)
        wec_obj.call_module()

    additional_stiffness = None
    additional_damping = None

    site_spec = {'spec_shape': 'Jonswap'}
    site_spec['spec_gamma'] = 1.0
    site_spec['spec_spreading'] = -1
    site_spec['te'] = np.linspace(3, 10, 1)