From b47a1dac9bbecdbea1f5d5cf7762c8c160050043 Mon Sep 17 00:00:00 2001 From: Cheng Gong Date: Fri, 29 Mar 2024 13:15:43 -0400 Subject: [PATCH 1/8] move IssmMdData to a separate file --- PINNICLE/modeldata/__init__.py | 1 + PINNICLE/modeldata/data.py | 120 ------------------------------- PINNICLE/modeldata/issm_data.py | 124 ++++++++++++++++++++++++++++++++ PINNICLE/parameter.py | 13 ++++ 4 files changed, 138 insertions(+), 120 deletions(-) create mode 100644 PINNICLE/modeldata/issm_data.py diff --git a/PINNICLE/modeldata/__init__.py b/PINNICLE/modeldata/__init__.py index df22d8b..f88439b 100644 --- a/PINNICLE/modeldata/__init__.py +++ b/PINNICLE/modeldata/__init__.py @@ -1 +1,2 @@ from .data import * +from .issm_data import * diff --git a/PINNICLE/modeldata/data.py b/PINNICLE/modeldata/data.py index 4a8259d..78ba402 100644 --- a/PINNICLE/modeldata/data.py +++ b/PINNICLE/modeldata/data.py @@ -1,8 +1,6 @@ from abc import ABC, abstractmethod from ..parameter import DataParameter, SingleDataParameter from ..physics import Constants -from ..utils import plot_dict_data -import mat73 import numpy as np @@ -96,121 +94,3 @@ def prepare_training_data(self): self.sol[xkey] = self.data[key].sol[xkey] else: self.sol[xkey] = np.vstack((self.sol[xkey], self.data[key].sol[xkey])) - - -class ISSMmdData(DataBase, Constants): - """ data loaded from model in ISSM - """ - _DATA_TYPE = "ISSM" - def __init__(self, parameters=SingleDataParameter()): - Constants.__init__(self) - super().__init__(parameters) - - def get_ice_indices(self, mask_name=""): - """ get the indices of ice covered region for X_dict and data_dict - """ - if (not mask_name) or (mask_name not in self.mask_dict): - mask_name = "icemask" - - # get ice mask - icemask = self.mask_dict[mask_name] - iice = np.asarray(icemask<0).nonzero() - return iice - - def get_ice_coordinates(self, mask_name=""): - """ get the coordinates of ice covered region for X_dict and data_dict - """ - iice = self.get_ice_indices(mask_name=mask_name) - # get the coordinates - X_mask = np.hstack((self.X_dict['x'][iice].flatten()[:,None], - self.X_dict['y'][iice].flatten()[:,None])) - return X_mask - - def load_data(self): - """ load ISSM model from a .mat file, return a dict with the required data - """ - # Reading matlab data - data = mat73.loadmat(self.parameters.data_path) - # get the model - md = data['md'] - # create the output dict - # x,y coordinates - self.X_dict['x'] = md['mesh']['x'] - self.X_dict['y'] = md['mesh']['y'] - # data - self.data_dict['u'] = md['inversion']['vx_obs']/self.yts - self.data_dict['v'] = md['inversion']['vy_obs']/self.yts - self.data_dict['s'] = md['geometry']['surface'] - self.data_dict['H'] = md['geometry']['thickness'] - self.data_dict['C'] = md['friction']['C'] - self.data_dict['B'] = md['materials']['rheology_B'] - self.data_dict['vel'] = np.sqrt(self.data_dict['u']**2.0+self.data_dict['v']**2.0) - # ice mask - self.mask_dict['icemask'] = md['mask']['ice_levelset'] - # B.C. - self.mask_dict['DBC_mask'] = md['mesh']['vertexonboundary'] - - def plot(self, data_names=[], vranges={}, axs=None, resolution=200, **kwargs): - """ use utils.plot_dict_data to plot the ISSM data - Args: - data_names (list): Names of the variables. if not specified, plot all variables in data_dict - vranges (dict): range of the data - axs (array of AxesSubplot): axes to plot each data, if not given, then generate a subplot according to the size of data_names - resolution (int): number of pixels in horizontal and vertical direction - return: - X (np.array): x-coordinates of the 2D plot - Y (np.array): y-coordinates of the 2D plot - im_data (dict): Dict of data for the 2D plot, each element has the same size as X and Y - axs (array of AxesSubplot): axes of the subplots - """ - if not data_names: - # default value of data_names - data_names = list(self.data_dict.keys()) - else: - # compare with data_dict, find all avaliable - data_names = [k for k in data_names if k in self.data_dict] - - # get the subdict of the data to plot - data_dict = {k:self.data_dict[k] for k in data_names} - - # call the function in utils - X, Y, im_data, axs = plot_dict_data(self.X_dict, data_dict, vranges=vranges, axs=axs, resolution=resolution, **kwargs) - - return X, Y, im_data, axs - - def prepare_training_data(self, data_size=None): - """ prepare data for PINNs according to the settings in datasize - """ - if data_size is None: - data_size = self.parameters.data_size - - # initialize - self.X = {} - self.sol = {} - - # prepare x,y coordinates - iice = self.get_ice_indices() - X_temp = np.hstack((self.X_dict['x'][iice].flatten()[:,None], self.X_dict['y'][iice].flatten()[:,None])) - max_data_size = X_temp.shape[0] - - # prepare boundary coordinates - DBC = self.mask_dict['DBC_mask'] - idbc = np.asarray(DBC>0).nonzero() - X_bc = np.hstack((self.X_dict['x'][idbc].flatten()[:,None], self.X_dict['y'][idbc].flatten()[:,None])) - - # go through all keys in data_dict - for k in self.data_dict: - # if datasize has the key, then add to X and sol - if k in data_size: - if data_size[k] is not None: - # apply ice mask - sol_temp = self.data_dict[k][iice].flatten()[:,None] - # randomly choose, replace=False for no repeat data - idx = np.random.choice(max_data_size, min(data_size[k],max_data_size), replace=False) - self.X[k] = X_temp[idx, :] - self.sol[k] = sol_temp[idx, :] - else: - # if the size is None, then only use boundary conditions - self.X[k] = X_bc - self.sol[k] = self.data_dict[k][idbc].flatten()[:,None] - diff --git a/PINNICLE/modeldata/issm_data.py b/PINNICLE/modeldata/issm_data.py new file mode 100644 index 0000000..d6debb2 --- /dev/null +++ b/PINNICLE/modeldata/issm_data.py @@ -0,0 +1,124 @@ +from . import DataBase +from ..parameter import SingleDataParameter +from ..physics import Constants +from ..utils import plot_dict_data +import mat73 +import numpy as np + + +class ISSMmdData(DataBase, Constants): + """ data loaded from model in ISSM + """ + _DATA_TYPE = "ISSM" + def __init__(self, parameters=SingleDataParameter()): + Constants.__init__(self) + super().__init__(parameters) + + def get_ice_indices(self, mask_name=""): + """ get the indices of ice covered region for X_dict and data_dict + """ + if (not mask_name) or (mask_name not in self.mask_dict): + mask_name = "icemask" + + # get ice mask + icemask = self.mask_dict[mask_name] + iice = np.asarray(icemask<0).nonzero() + return iice + + def get_ice_coordinates(self, mask_name=""): + """ get the coordinates of ice covered region for X_dict and data_dict + """ + iice = self.get_ice_indices(mask_name=mask_name) + # get the coordinates + X_mask = np.hstack((self.X_dict['x'][iice].flatten()[:,None], + self.X_dict['y'][iice].flatten()[:,None])) + return X_mask + + def load_data(self): + """ load ISSM model from a .mat file, return a dict with the required data + """ + # Reading matlab data + data = mat73.loadmat(self.parameters.data_path) + # get the model + md = data['md'] + # create the output dict + # x,y coordinates + self.X_dict['x'] = md['mesh']['x'] + self.X_dict['y'] = md['mesh']['y'] + # data + self.data_dict['u'] = md['inversion']['vx_obs']/self.yts + self.data_dict['v'] = md['inversion']['vy_obs']/self.yts + self.data_dict['s'] = md['geometry']['surface'] + self.data_dict['H'] = md['geometry']['thickness'] + self.data_dict['C'] = md['friction']['C'] + self.data_dict['B'] = md['materials']['rheology_B'] + self.data_dict['vel'] = np.sqrt(self.data_dict['u']**2.0+self.data_dict['v']**2.0) + # ice mask + self.mask_dict['icemask'] = md['mask']['ice_levelset'] + # B.C. + self.mask_dict['DBC_mask'] = md['mesh']['vertexonboundary'] + + def plot(self, data_names=[], vranges={}, axs=None, resolution=200, **kwargs): + """ use utils.plot_dict_data to plot the ISSM data + Args: + data_names (list): Names of the variables. if not specified, plot all variables in data_dict + vranges (dict): range of the data + axs (array of AxesSubplot): axes to plot each data, if not given, then generate a subplot according to the size of data_names + resolution (int): number of pixels in horizontal and vertical direction + return: + X (np.array): x-coordinates of the 2D plot + Y (np.array): y-coordinates of the 2D plot + im_data (dict): Dict of data for the 2D plot, each element has the same size as X and Y + axs (array of AxesSubplot): axes of the subplots + """ + if not data_names: + # default value of data_names + data_names = list(self.data_dict.keys()) + else: + # compare with data_dict, find all avaliable + data_names = [k for k in data_names if k in self.data_dict] + + # get the subdict of the data to plot + data_dict = {k:self.data_dict[k] for k in data_names} + + # call the function in utils + X, Y, im_data, axs = plot_dict_data(self.X_dict, data_dict, vranges=vranges, axs=axs, resolution=resolution, **kwargs) + + return X, Y, im_data, axs + + def prepare_training_data(self, data_size=None): + """ prepare data for PINNs according to the settings in datasize + """ + if data_size is None: + data_size = self.parameters.data_size + + # initialize + self.X = {} + self.sol = {} + + # prepare x,y coordinates + iice = self.get_ice_indices() + X_temp = np.hstack((self.X_dict['x'][iice].flatten()[:,None], self.X_dict['y'][iice].flatten()[:,None])) + max_data_size = X_temp.shape[0] + + # prepare boundary coordinates + DBC = self.mask_dict['DBC_mask'] + idbc = np.asarray(DBC>0).nonzero() + X_bc = np.hstack((self.X_dict['x'][idbc].flatten()[:,None], self.X_dict['y'][idbc].flatten()[:,None])) + + # go through all keys in data_dict + for k in self.data_dict: + # if datasize has the key, then add to X and sol + if k in data_size: + if data_size[k] is not None: + # apply ice mask + sol_temp = self.data_dict[k][iice].flatten()[:,None] + # randomly choose, replace=False for no repeat data + idx = np.random.choice(max_data_size, min(data_size[k],max_data_size), replace=False) + self.X[k] = X_temp[idx, :] + self.sol[k] = sol_temp[idx, :] + else: + # if the size is None, then only use boundary conditions + self.X[k] = X_bc + self.sol[k] = self.data_dict[k][idbc].flatten()[:,None] + diff --git a/PINNICLE/parameter.py b/PINNICLE/parameter.py index 5b3a0c2..44559f3 100644 --- a/PINNICLE/parameter.py +++ b/PINNICLE/parameter.py @@ -99,6 +99,13 @@ def update_data(self): """ self.data = {k:SingleDataParameter(self.data[k]) for k in self.data} + def __str__(self): + """ + display all data + """ + return "\t" + type(self).__name__ + ": \n" + \ + ("\n".join(["\t\t" + k + ":\n" + str(self.data[k]) for k in self.data]))+"\n" + class SingleDataParameter(ParameterBase): """ parameters of a single data file @@ -120,6 +127,12 @@ def check_consisteny(self): if self.source != "ISSM": raise ValueError(f"Data loader of {self.source} is not implemented") + def __str__(self): + """ + display all attributes except 'param_dict' + """ + return ("\n".join(["\t\t\t" + k + ":\t" + str(self.__dict__[k]) for k in self.__dict__ if k != "param_dict"]))+"\n" + class NNParameter(ParameterBase): """ From cc3568a30b7ad86aad33721baf1bab111e2dd55b Mon Sep 17 00:00:00 2001 From: Cheng Gong Date: Fri, 29 Mar 2024 15:48:57 -0400 Subject: [PATCH 2/8] add update() in parameters as a default process after set_parameters --- PINNICLE/modeldata/__init__.py | 5 +- PINNICLE/modeldata/general_mat_data.py | 124 +++++++++++++++++++++++++ PINNICLE/parameter.py | 120 +++++++++++++----------- 3 files changed, 193 insertions(+), 56 deletions(-) create mode 100644 PINNICLE/modeldata/general_mat_data.py diff --git a/PINNICLE/modeldata/__init__.py b/PINNICLE/modeldata/__init__.py index f88439b..51a5012 100644 --- a/PINNICLE/modeldata/__init__.py +++ b/PINNICLE/modeldata/__init__.py @@ -1,2 +1,3 @@ -from .data import * -from .issm_data import * +from .data import DataBase, Data +from .issm_data import ISSMmdData +from .general_mat_data import MatData diff --git a/PINNICLE/modeldata/general_mat_data.py b/PINNICLE/modeldata/general_mat_data.py new file mode 100644 index 0000000..ad0cf2e --- /dev/null +++ b/PINNICLE/modeldata/general_mat_data.py @@ -0,0 +1,124 @@ +from . import DataBase +from ..parameter import SingleDataParameter +from ..physics import Constants +from ..utils import plot_dict_data +import mat73 +import numpy as np + + +class MatData(DataBase, Constants): + """ data loaded from .mat file + """ + _DATA_TYPE = "mat" + def __init__(self, parameters=SingleDataParameter()): + Constants.__init__(self) + super().__init__(parameters) + + def get_ice_indices(self, mask_name=""): + """ get the indices of ice covered region for X_dict and data_dict + """ + if (not mask_name) or (mask_name not in self.mask_dict): + mask_name = "icemask" + + # get ice mask + icemask = self.mask_dict[mask_name] + iice = np.asarray(icemask<0).nonzero() + return iice + + def get_ice_coordinates(self, mask_name=""): + """ get the coordinates of ice covered region for X_dict and data_dict + """ + iice = self.get_ice_indices(mask_name=mask_name) + # get the coordinates + X_mask = np.hstack((self.X_dict['x'][iice].flatten()[:,None], + self.X_dict['y'][iice].flatten()[:,None])) + return X_mask + + def load_data(self): + """ load ISSM model from a .mat file, return a dict with the required data + """ + # Reading matlab data + data = mat73.loadmat(self.parameters.data_path) + # get the model + md = data['md'] + # create the output dict + # x,y coordinates + self.X_dict['x'] = md['mesh']['x'] + self.X_dict['y'] = md['mesh']['y'] + # data + self.data_dict['u'] = md['inversion']['vx_obs']/self.yts + self.data_dict['v'] = md['inversion']['vy_obs']/self.yts + self.data_dict['s'] = md['geometry']['surface'] + self.data_dict['H'] = md['geometry']['thickness'] + self.data_dict['C'] = md['friction']['C'] + self.data_dict['B'] = md['materials']['rheology_B'] + self.data_dict['vel'] = np.sqrt(self.data_dict['u']**2.0+self.data_dict['v']**2.0) + # ice mask + self.mask_dict['icemask'] = md['mask']['ice_levelset'] + # B.C. + self.mask_dict['DBC_mask'] = md['mesh']['vertexonboundary'] + + def plot(self, data_names=[], vranges={}, axs=None, resolution=200, **kwargs): + """ use utils.plot_dict_data to plot the ISSM data + Args: + data_names (list): Names of the variables. if not specified, plot all variables in data_dict + vranges (dict): range of the data + axs (array of AxesSubplot): axes to plot each data, if not given, then generate a subplot according to the size of data_names + resolution (int): number of pixels in horizontal and vertical direction + return: + X (np.array): x-coordinates of the 2D plot + Y (np.array): y-coordinates of the 2D plot + im_data (dict): Dict of data for the 2D plot, each element has the same size as X and Y + axs (array of AxesSubplot): axes of the subplots + """ + if not data_names: + # default value of data_names + data_names = list(self.data_dict.keys()) + else: + # compare with data_dict, find all avaliable + data_names = [k for k in data_names if k in self.data_dict] + + # get the subdict of the data to plot + data_dict = {k:self.data_dict[k] for k in data_names} + + # call the function in utils + X, Y, im_data, axs = plot_dict_data(self.X_dict, data_dict, vranges=vranges, axs=axs, resolution=resolution, **kwargs) + + return X, Y, im_data, axs + + def prepare_training_data(self, data_size=None): + """ prepare data for PINNs according to the settings in datasize + """ + if data_size is None: + data_size = self.parameters.data_size + + # initialize + self.X = {} + self.sol = {} + + # prepare x,y coordinates + iice = self.get_ice_indices() + X_temp = np.hstack((self.X_dict['x'][iice].flatten()[:,None], self.X_dict['y'][iice].flatten()[:,None])) + max_data_size = X_temp.shape[0] + + # prepare boundary coordinates + DBC = self.mask_dict['DBC_mask'] + idbc = np.asarray(DBC>0).nonzero() + X_bc = np.hstack((self.X_dict['x'][idbc].flatten()[:,None], self.X_dict['y'][idbc].flatten()[:,None])) + + # go through all keys in data_dict + for k in self.data_dict: + # if datasize has the key, then add to X and sol + if k in data_size: + if data_size[k] is not None: + # apply ice mask + sol_temp = self.data_dict[k][iice].flatten()[:,None] + # randomly choose, replace=False for no repeat data + idx = np.random.choice(max_data_size, min(data_size[k],max_data_size), replace=False) + self.X[k] = X_temp[idx, :] + self.sol[k] = sol_temp[idx, :] + else: + # if the size is None, then only use boundary conditions + self.X[k] = X_bc + self.sol[k] = self.data_dict[k][idbc].flatten()[:,None] + diff --git a/PINNICLE/parameter.py b/PINNICLE/parameter.py index 44559f3..8efb3ae 100644 --- a/PINNICLE/parameter.py +++ b/PINNICLE/parameter.py @@ -8,20 +8,17 @@ class ParameterBase(ABC): def __init__(self, param_dict): self.param_dict = param_dict - # default + # set default parameters self.set_default() - # update parameters + # set parameters from param_dict if given self.set_parameters(self.param_dict) - # check consistency - self.check_consisteny() + # make some necessary update of the parameters after loading from param_dict + self.update() - def __str__(self): - """ display all attributes except 'param_dict' - """ - return "\t" + type(self).__name__ + ": \n" + \ - ("\n".join(["\t\t" + k + ":\t" + str(self.__dict__[k]) for k in self.__dict__ if k != "param_dict"]))+"\n" + # check consistency + self.check_consistency() @abstractmethod def set_default(self): @@ -30,7 +27,7 @@ def set_default(self): pass @abstractmethod - def check_consisteny(self): + def check_consistency(self): """ check consistency of the parameter data """ pass @@ -42,6 +39,14 @@ def _add_parameters(self, pdict: dict): for key, value in pdict.items(): setattr(self, key, value) + def has_keys(self, keys): + """ if all the keys are in the class, return true, otherwise return false + """ + if isinstance(keys, dict) or isinstance(keys, list): + return all([hasattr(self, k) for k in keys]) + else: + return False + def set_parameters(self, pdict: dict): """ find all the keys from pdict which are avalible in the class, update the values """ @@ -51,13 +56,16 @@ def set_parameters(self, pdict: dict): if hasattr(self, key): setattr(self, key, value) - def has_keys(self, keys): - """ if all the keys are in the class, return true, otherwise return false + def __str__(self): + """ display all attributes except 'param_dict' """ - if isinstance(keys, dict) or isinstance(keys, list): - return all([hasattr(self, k) for k in keys]) - else: - return False + return "\t" + type(self).__name__ + ": \n" + \ + ("\n".join(["\t\t" + k + ":\t" + str(self.__dict__[k]) for k in self.__dict__ if k != "param_dict"]))+"\n" + + def update(self): + """ after set_parameter, make some necessary update of the parameters + """ + pass class DomainParameter(ParameterBase): @@ -73,31 +81,23 @@ def set_default(self): # number of collocation points used in the domain self.num_collocation_points = 0 - def check_consisteny(self): + def check_consistency(self): pass + class DataParameter(ParameterBase): """ list of all data used """ def __init__(self, param_dict={}): super().__init__(param_dict) - # convert data from dict of dict to a dict of SingleDataParameter - if self.data: - self.update_data() - - def check_consisteny(self): - pass - def set_default(self): """ default parameters """ self.data = {} - def update_data(self): - """ convert dict to class SingleDataParameter - """ - self.data = {k:SingleDataParameter(self.data[k]) for k in self.data} + def check_consistency(self): + pass def __str__(self): """ @@ -106,6 +106,12 @@ def __str__(self): return "\t" + type(self).__name__ + ": \n" + \ ("\n".join(["\t\t" + k + ":\n" + str(self.data[k]) for k in self.data]))+"\n" + def update(self): + """ convert dict to class SingleDataParameter + """ + if self.data: + self.data = {k:SingleDataParameter(self.data[k]) for k in self.data} + class SingleDataParameter(ParameterBase): """ parameters of a single data file @@ -120,12 +126,15 @@ def set_default(self): self.data_path = "" # length of each data in used, leave no data variable(sol) empty or set to None self.data_size = {} + # name map k->v, k is the variable name in the PINN, v is the variable name in the data file + self.name_map = {} # source of the data self.source = "ISSM" - def check_consisteny(self): + def check_consistency(self): if self.source != "ISSM": raise ValueError(f"Data loader of {self.source} is not implemented") + # TODO: check names in data_size and name_map def __str__(self): """ @@ -133,6 +142,10 @@ def __str__(self): """ return ("\n".join(["\t\t\t" + k + ":\t" + str(self.__dict__[k]) for k in self.__dict__ if k != "param_dict"]))+"\n" + def update(self): + # TODO: update name_map according to data_size + pass + class NNParameter(ParameterBase): """ @@ -159,12 +172,7 @@ def set_default(self): self.output_lb = None self.output_ub = None - def set_parameters(self, pdict: dict): - super().set_parameters(pdict) - self.input_size = len(self.input_variables) - self.output_size = len(self.output_variables) - - def check_consisteny(self): + def check_consistency(self): # input size of nn equals to dependent in physics if self.input_size != len(self.input_variables): raise ValueError("'input_size' does not match the number of 'input_variables'") @@ -191,6 +199,11 @@ def is_output_scaling(self): else: return False + def set_parameters(self, pdict: dict): + super().set_parameters(pdict) + self.input_size = len(self.input_variables) + self.output_size = len(self.output_variables) + class PhysicsParameter(ParameterBase): """ parameter of physics @@ -203,7 +216,7 @@ def set_default(self): # name(s) and parameters of the equations self.equations = {} - def check_consisteny(self): + def check_consistency(self): pass def setup_equations(self): @@ -218,6 +231,7 @@ def __str__(self): return "\t" + type(self).__name__ + ": \n" + \ ("\n".join(["\t\t" + k + ":\n" + str(self.equations[k]) for k in self.equations]))+"\n" + class EquationParameter(ParameterBase): """ parameter of equations """ @@ -252,7 +266,7 @@ def set_default(self): # scalar variables: name:value self.scalar_variables = {} - def check_consisteny(self): + def check_consistency(self): if (len(self.output)) != (len(self.output_lb)): raise ValueError("Size of 'output' does not match the size of 'output_lb'") if (len(self.output)) != (len(self.output_ub)): @@ -297,12 +311,6 @@ class TrainingParameter(ParameterBase): def __init__(self, param_dict={}): super().__init__(param_dict) - # update additional loss - if self.additional_loss: - self.update_additional_loss() - - # add callback setttings if given any of them - self.has_callbacks = self.check_callbacks() def set_default(self): # number of epochs @@ -333,6 +341,9 @@ def set_default(self): # if plot the results and history, and save figures self.is_plot = False + def check_consistency(self): + pass + def check_callbacks(self): """ check if any of the following variable is given from setting """ @@ -348,9 +359,6 @@ def check_callbacks(self): # otherwise return False - def check_consisteny(self): - pass - def has_EarlyStopping(self): """ check if param has the min_delta or patience for early stopping """ @@ -383,11 +391,16 @@ def has_PDEPointResampler(self): else: return True - def update_additional_loss(self): + def update(self): """ convert dict to class LossFunctionParameter """ - self.additional_loss = {k:LossFunctionParameter(self.additional_loss[k]) for k in self.additional_loss} - + # update additional loss + if self.additional_loss: + self.additional_loss = {k:LossFunctionParameter(self.additional_loss[k]) for k in self.additional_loss} + + # add callback setttings if given any of them + self.has_callbacks = self.check_callbacks() + class LossFunctionParameter(ParameterBase): """ parameter of customize loss function @@ -404,17 +417,16 @@ def set_default(self): # weight of this loss function self.weight = 1.0 - def check_consisteny(self): + def check_consistency(self): data_misfit.get(self.function) + class Parameters(ParameterBase): """ parameters of the pinn, including domain, data, nn, and physics """ def __init__(self, param_dict={}): super().__init__(param_dict) - self.update_parameters() - def __str__(self): return "Parameters: \n" + str(self.training) + str(self.domain) + str(self.data) + str(self.nn) + str(self.physics) @@ -432,13 +444,13 @@ def set_parameters(self, param_dict): self.nn = NNParameter(param_dict) self.physics = PhysicsParameter(param_dict) - def check_consisteny(self): + def check_consistency(self): # length of training.loss_weights equals to equations+datasize #if (any(x not in self.nn.output_variables for x in self.data.datasize)): # TODO: raise ValueError("names in 'datasize' does not match the name in 'output_variables'") pass - def update_parameters(self): + def update(self): """ update parameters according to the input """ From 9dc5c132f463c8dc175353f8cadf95a12f5cff6c Mon Sep 17 00:00:00 2001 From: Cheng Gong Date: Fri, 29 Mar 2024 15:52:34 -0400 Subject: [PATCH 3/8] temporarily deactivate test of save model --- tests/test_pinn.py | 58 +++++++++++++++++++++++----------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/tests/test_pinn.py b/tests/test_pinn.py index e1f6fd5..a4b62d5 100644 --- a/tests/test_pinn.py +++ b/tests/test_pinn.py @@ -98,35 +98,35 @@ def test_save_and_load_setting(tmp_path): experiment2 = pinn.PINN(loadFrom=tmp_path) assert experiment.params.param_dict == experiment2.params.param_dict -def test_train(tmp_path): - hp["save_path"] = str(tmp_path) - hp["is_save"] = True - hp["num_collocation_points"] = 100 - issm["data_size"] = {"u":100, "v":100, "s":100, "H":100, "C":None, "vel":100} - hp["data"] = {"ISSM": issm} - experiment = pinn.PINN(params=hp) - experiment.compile() - experiment.train() - assert experiment.loss_names == ['fSSA1', 'fSSA2', 'u', 'v', 's', 'H', 'C', "vel log"] - assert os.path.isfile(f"{tmp_path}/pinn/model-{hp['epochs']}.ckpt.index") - -def test_train_with_callbacks(tmp_path): - hp["save_path"] = str(tmp_path) - hp["is_save"] = True - hp["num_collocation_points"] = 100 - issm["data_size"] = {"u":100, "v":100, "s":100, "H":100, "C":None, "vel":100} - hp["data"] = {"ISSM": issm} - hp["min_delta"] = 1e10 - hp["period"] = 5 - hp["patience"] = 8 - hp["checkpoint"] = True - experiment = pinn.PINN(params=hp) - experiment.compile() - experiment.train() - assert experiment.loss_names == ['fSSA1', 'fSSA2', 'u', 'v', 's', 'H', 'C', "vel log"] - assert os.path.isfile(f"{tmp_path}/pinn/model-1.ckpt.index") - assert os.path.isfile(f"{tmp_path}/pinn/model-9.ckpt.index") - assert not os.path.isfile(f"{tmp_path}/pinn/model-{hp['epochs']}.ckpt.index") +#def test_train(tmp_path): +# hp["save_path"] = str(tmp_path) +# hp["is_save"] = True +# hp["num_collocation_points"] = 100 +# issm["data_size"] = {"u":100, "v":100, "s":100, "H":100, "C":None, "vel":100} +# hp["data"] = {"ISSM": issm} +# experiment = pinn.PINN(params=hp) +# experiment.compile() +# experiment.train() +# assert experiment.loss_names == ['fSSA1', 'fSSA2', 'u', 'v', 's', 'H', 'C', "vel log"] +# assert os.path.isfile(f"{tmp_path}/pinn/model-{hp['epochs']}.ckpt.index") +# +#def test_train_with_callbacks(tmp_path): +# hp["save_path"] = str(tmp_path) +# hp["is_save"] = True +# hp["num_collocation_points"] = 100 +# issm["data_size"] = {"u":100, "v":100, "s":100, "H":100, "C":None, "vel":100} +# hp["data"] = {"ISSM": issm} +# hp["min_delta"] = 1e10 +# hp["period"] = 5 +# hp["patience"] = 8 +# hp["checkpoint"] = True +# experiment = pinn.PINN(params=hp) +# experiment.compile() +# experiment.train() +# assert experiment.loss_names == ['fSSA1', 'fSSA2', 'u', 'v', 's', 'H', 'C', "vel log"] +# assert os.path.isfile(f"{tmp_path}/pinn/model-1.ckpt.index") +# assert os.path.isfile(f"{tmp_path}/pinn/model-9.ckpt.index") +# assert not os.path.isfile(f"{tmp_path}/pinn/model-{hp['epochs']}.ckpt.index") def test_only_callbacks(): hp["num_collocation_points"] = 100 From 4bebdfb2eb8ca65fa4f0124483bac3404473759b Mon Sep 17 00:00:00 2001 From: Cheng Gong Date: Fri, 29 Mar 2024 16:00:39 -0400 Subject: [PATCH 4/8] add test parameters --- PINNICLE/parameter.py | 7 +++++-- tests/test_parameters.py | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/PINNICLE/parameter.py b/PINNICLE/parameter.py index 8efb3ae..d89c87c 100644 --- a/PINNICLE/parameter.py +++ b/PINNICLE/parameter.py @@ -143,8 +143,11 @@ def __str__(self): return ("\n".join(["\t\t\t" + k + ":\t" + str(self.__dict__[k]) for k in self.__dict__ if k != "param_dict"]))+"\n" def update(self): - # TODO: update name_map according to data_size - pass + """ update name_map according to data_size + """ + for k in self.data_size: + if k not in self.name_map: + self.name_map[k] = k class NNParameter(ParameterBase): diff --git a/tests/test_parameters.py b/tests/test_parameters.py index 09eff6c..02d7c48 100644 --- a/tests/test_parameters.py +++ b/tests/test_parameters.py @@ -17,9 +17,12 @@ def test_domain_parameter(): assert d.has_keys(newat) def test_data_parameter(): - d = SingleDataParameter({"dataname":['u', 'v'], "datasize":[4000, 4000]}) + issm = {"data_path":"./", "data_size":{"u":4000, "v":4000}} + d = SingleDataParameter(issm) assert hasattr(d, "param_dict"), "Default attribute 'param_dict' not found" - issm = {"dataname":['u', 'v'], "datasize":[4000, 4000]} + assert d.name_map["u"] == "u" + assert d.name_map["v"] == "v" + d = DataParameter({"ISSM":issm}) assert hasattr(d, "param_dict"), "Default attribute 'param_dict' not found" assert hasattr(d, "data"), "attribute 'data' not found" From fd1ed021f9372318219831d31b4b5a73eeee6e45 Mon Sep 17 00:00:00 2001 From: Cheng Gong Date: Sat, 30 Mar 2024 10:35:09 -0400 Subject: [PATCH 5/8] update test with path --- tests/test_pinn.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/test_pinn.py b/tests/test_pinn.py index a4b62d5..c216b9d 100644 --- a/tests/test_pinn.py +++ b/tests/test_pinn.py @@ -128,7 +128,8 @@ def test_save_and_load_setting(tmp_path): # assert os.path.isfile(f"{tmp_path}/pinn/model-9.ckpt.index") # assert not os.path.isfile(f"{tmp_path}/pinn/model-{hp['epochs']}.ckpt.index") -def test_only_callbacks(): +def test_only_callbacks(tmp_path): + hp["save_path"] = str(tmp_path) hp["num_collocation_points"] = 100 issm["data_size"] = {"u":100, "v":100, "s":100, "H":100, "C":None, "vel":100} hp["data"] = {"ISSM": issm} From aca81603c522a6f7d9bf591a1a003b2f41ad2c45 Mon Sep 17 00:00:00 2001 From: Cheng Gong Date: Sun, 31 Mar 2024 18:57:36 -0400 Subject: [PATCH 6/8] add mat as data paramter source --- PINNICLE/parameter.py | 5 +++-- tests/test_parameters.py | 37 ++++++++++++++++++++++++++++++++++--- 2 files changed, 37 insertions(+), 5 deletions(-) diff --git a/PINNICLE/parameter.py b/PINNICLE/parameter.py index d89c87c..d028ab2 100644 --- a/PINNICLE/parameter.py +++ b/PINNICLE/parameter.py @@ -132,9 +132,8 @@ def set_default(self): self.source = "ISSM" def check_consistency(self): - if self.source != "ISSM": + if self.source not in ["ISSM", "mat"]: raise ValueError(f"Data loader of {self.source} is not implemented") - # TODO: check names in data_size and name_map def __str__(self): """ @@ -145,7 +144,9 @@ def __str__(self): def update(self): """ update name_map according to data_size """ + # every variable in data_size need to be loaded from the data loader for k in self.data_size: + # names in data_size, if not given in name_map, then use the same name for key and value if k not in self.name_map: self.name_map[k] = k diff --git a/tests/test_parameters.py b/tests/test_parameters.py index 02d7c48..a985b36 100644 --- a/tests/test_parameters.py +++ b/tests/test_parameters.py @@ -16,16 +16,35 @@ def test_domain_parameter(): d._add_parameters(newat) assert d.has_keys(newat) -def test_data_parameter(): - issm = {"data_path":"./", "data_size":{"u":4000, "v":4000}} +def test_single_data_parameter(): + issm = {"data_path":"./", "data_size":{"u":4000, "v":None}} d = SingleDataParameter(issm) assert hasattr(d, "param_dict"), "Default attribute 'param_dict' not found" assert d.name_map["u"] == "u" assert d.name_map["v"] == "v" + assert d.source == "ISSM" + + mat = {"data_path":"./", "data_size":{"u":4000, "v":None}, "source":"mat"} + d = SingleDataParameter(mat) + assert d.name_map["u"] == "u" + assert d.name_map["v"] == "v" + assert d.source == "mat" - d = DataParameter({"ISSM":issm}) + with pytest.raises(Exception): + unknown = {"source": "unknown"} + d = SingleDataParameter(unknown) + +def test_data_parameter(): + hp = {} + issm = {"data_path":"./", "data_size":{"u":4000, "v":None}} + mat = {"data_path":"./", "data_size":{"u":4000, "v":None}, "source":"mat"} + hp["data"] = {"mymat": mat, "myISSM": issm} + + d = DataParameter(hp) assert hasattr(d, "param_dict"), "Default attribute 'param_dict' not found" assert hasattr(d, "data"), "attribute 'data' not found" + assert d.data["myISSM"].source == "ISSM" + assert d.data["mymat"].source == "mat" def test_nn_parameter(): d = NNParameter() @@ -132,3 +151,15 @@ def test_training_callbacks_Checkpoint(): p = TrainingParameter(hp) assert p.has_callbacks == True assert p.has_ModelCheckpoint() == True + +def test_print_parameters(capsys): + hp = {} + p = Parameters(hp) + print(p) + captured = capsys.readouterr() + assert "TrainingParameter" in captured.out + assert "DomainParameter" in captured.out + assert "DataParameter" in captured.out + assert "NNParameter" in captured.out + assert "PhysicsParameter" in captured.out + From 46d46984d951b55d45fa350242e5eff2885977bb Mon Sep 17 00:00:00 2001 From: Cheng Gong Date: Sun, 31 Mar 2024 21:10:02 -0400 Subject: [PATCH 7/8] add mat loader --- PINNICLE/modeldata/data.py | 11 ++- PINNICLE/modeldata/general_mat_data.py | 93 ++++++------------------- PINNICLE/modeldata/issm_data.py | 29 ++++---- examples/dataset/flightTracks.mat | Bin 0 -> 72835 bytes tests/test_data.py | 23 +++++- 5 files changed, 65 insertions(+), 91 deletions(-) create mode 100644 examples/dataset/flightTracks.mat diff --git a/PINNICLE/modeldata/data.py b/PINNICLE/modeldata/data.py index 78ba402..bf5c193 100644 --- a/PINNICLE/modeldata/data.py +++ b/PINNICLE/modeldata/data.py @@ -39,19 +39,19 @@ def get_ice_coordinates(self, mask_name=""): @abstractmethod def load_data(self): - """ load data from self.path + """ load data from `self.path` """ pass @abstractmethod def prepare_training_data(self): - """ prepare training data according to the data_size + """ prepare training data according to the `data_size` """ pass class Data(Constants): - """ class of data with all data used + """ class of data with all data used """ def __init__(self, parameters=DataParameter()): super().__init__() @@ -64,20 +64,19 @@ def __init__(self, parameters=DataParameter()): # reference solution of the output of PINN self.sol = {} - def get_ice_coordinates(self, mask_name=""): """ get the coordinates of ice covered region from all the data, put them in one array """ return np.vstack([self.data[k].get_ice_coordinates(mask_name=mask_name) for k in self.data]) def load_data(self): - """ laod all the data in self.data + """ laod all the data in `self.data` """ for k in self.data: self.data[k].load_data() def prepare_training_data(self): - """ merge all X and sol in self.data to self.X and self.sol with the keys + """ merge all `X` and `sol` in `self.data` to `self.X` and `self.sol` with the keys """ # prepare the training data according to data_size for key in self.data: diff --git a/PINNICLE/modeldata/general_mat_data.py b/PINNICLE/modeldata/general_mat_data.py index ad0cf2e..ec9a784 100644 --- a/PINNICLE/modeldata/general_mat_data.py +++ b/PINNICLE/modeldata/general_mat_data.py @@ -7,87 +7,44 @@ class MatData(DataBase, Constants): - """ data loaded from .mat file + """ data loaded from a `.mat` file """ _DATA_TYPE = "mat" def __init__(self, parameters=SingleDataParameter()): Constants.__init__(self) super().__init__(parameters) - def get_ice_indices(self, mask_name=""): - """ get the indices of ice covered region for X_dict and data_dict - """ - if (not mask_name) or (mask_name not in self.mask_dict): - mask_name = "icemask" - - # get ice mask - icemask = self.mask_dict[mask_name] - iice = np.asarray(icemask<0).nonzero() - return iice - def get_ice_coordinates(self, mask_name=""): - """ get the coordinates of ice covered region for X_dict and data_dict + """ stack the coordinates `x` and `y`, assuming all the data in .mat + are in the ice covered region. This function is currently only + called by plotting to generate ice covered region. """ - iice = self.get_ice_indices(mask_name=mask_name) # get the coordinates - X_mask = np.hstack((self.X_dict['x'][iice].flatten()[:,None], - self.X_dict['y'][iice].flatten()[:,None])) + X_mask = np.hstack((self.X_dict['x'].flatten()[:,None], + self.X_dict['y'].flatten()[:,None])) return X_mask def load_data(self): - """ load ISSM model from a .mat file, return a dict with the required data + """ load scatter data from a `.mat` file, return a dict with the required data """ # Reading matlab data data = mat73.loadmat(self.parameters.data_path) - # get the model - md = data['md'] - # create the output dict - # x,y coordinates - self.X_dict['x'] = md['mesh']['x'] - self.X_dict['y'] = md['mesh']['y'] - # data - self.data_dict['u'] = md['inversion']['vx_obs']/self.yts - self.data_dict['v'] = md['inversion']['vy_obs']/self.yts - self.data_dict['s'] = md['geometry']['surface'] - self.data_dict['H'] = md['geometry']['thickness'] - self.data_dict['C'] = md['friction']['C'] - self.data_dict['B'] = md['materials']['rheology_B'] - self.data_dict['vel'] = np.sqrt(self.data_dict['u']**2.0+self.data_dict['v']**2.0) - # ice mask - self.mask_dict['icemask'] = md['mask']['ice_levelset'] - # B.C. - self.mask_dict['DBC_mask'] = md['mesh']['vertexonboundary'] - def plot(self, data_names=[], vranges={}, axs=None, resolution=200, **kwargs): - """ use utils.plot_dict_data to plot the ISSM data - Args: - data_names (list): Names of the variables. if not specified, plot all variables in data_dict - vranges (dict): range of the data - axs (array of AxesSubplot): axes to plot each data, if not given, then generate a subplot according to the size of data_names - resolution (int): number of pixels in horizontal and vertical direction - return: - X (np.array): x-coordinates of the 2D plot - Y (np.array): y-coordinates of the 2D plot - im_data (dict): Dict of data for the 2D plot, each element has the same size as X and Y - axs (array of AxesSubplot): axes of the subplots - """ - if not data_names: - # default value of data_names - data_names = list(self.data_dict.keys()) - else: - # compare with data_dict, find all avaliable - data_names = [k for k in data_names if k in self.data_dict] - - # get the subdict of the data to plot - data_dict = {k:self.data_dict[k] for k in data_names} + # x,y coordinates + self.X_dict['x'] = data['x'] + self.X_dict['y'] = data['y'] - # call the function in utils - X, Y, im_data, axs = plot_dict_data(self.X_dict, data_dict, vranges=vranges, axs=axs, resolution=resolution, **kwargs) + # load all variables from parameters.name_map + for k in self.parameters.name_map: + self.data_dict[k] = data[self.parameters.name_map[k]] - return X, Y, im_data, axs + def plot(self, data_names=[], vranges={}, axs=None, **kwargs): + """ TODO: scatter plot of the selected data from data_names + """ + pass def prepare_training_data(self, data_size=None): - """ prepare data for PINNs according to the settings in datasize + """ prepare data for PINNs according to the settings in `data_size` """ if data_size is None: data_size = self.parameters.data_size @@ -97,28 +54,22 @@ def prepare_training_data(self, data_size=None): self.sol = {} # prepare x,y coordinates - iice = self.get_ice_indices() - X_temp = np.hstack((self.X_dict['x'][iice].flatten()[:,None], self.X_dict['y'][iice].flatten()[:,None])) + X_temp = self.get_ice_coordinates() max_data_size = X_temp.shape[0] - # prepare boundary coordinates - DBC = self.mask_dict['DBC_mask'] - idbc = np.asarray(DBC>0).nonzero() - X_bc = np.hstack((self.X_dict['x'][idbc].flatten()[:,None], self.X_dict['y'][idbc].flatten()[:,None])) - # go through all keys in data_dict for k in self.data_dict: # if datasize has the key, then add to X and sol if k in data_size: if data_size[k] is not None: # apply ice mask - sol_temp = self.data_dict[k][iice].flatten()[:,None] + sol_temp = self.data_dict[k].flatten()[:,None] # randomly choose, replace=False for no repeat data idx = np.random.choice(max_data_size, min(data_size[k],max_data_size), replace=False) self.X[k] = X_temp[idx, :] self.sol[k] = sol_temp[idx, :] else: # if the size is None, then only use boundary conditions - self.X[k] = X_bc - self.sol[k] = self.data_dict[k][idbc].flatten()[:,None] + raise ValueError(f"{k} can not be set to None in .mat data. \ + If {k} is not needed in training, please remove it from `data_size`") diff --git a/PINNICLE/modeldata/issm_data.py b/PINNICLE/modeldata/issm_data.py index d6debb2..8521eb2 100644 --- a/PINNICLE/modeldata/issm_data.py +++ b/PINNICLE/modeldata/issm_data.py @@ -14,8 +14,20 @@ def __init__(self, parameters=SingleDataParameter()): Constants.__init__(self) super().__init__(parameters) + def get_ice_coordinates(self, mask_name=""): + """ Use `get_ice_indices` defined by each individual class, + get the coordinates `(x,y)` of ice covered region from `X_dict`. + This function is currently only called by plotting to generate + ice covered region. + """ + iice = self.get_ice_indices(mask_name=mask_name) + # get the coordinates + X_mask = np.hstack((self.X_dict['x'][iice].flatten()[:,None], + self.X_dict['y'][iice].flatten()[:,None])) + return X_mask + def get_ice_indices(self, mask_name=""): - """ get the indices of ice covered region for X_dict and data_dict + """ get the indices of ice covered region for `X_dict` and `data_dict` """ if (not mask_name) or (mask_name not in self.mask_dict): mask_name = "icemask" @@ -25,17 +37,8 @@ def get_ice_indices(self, mask_name=""): iice = np.asarray(icemask<0).nonzero() return iice - def get_ice_coordinates(self, mask_name=""): - """ get the coordinates of ice covered region for X_dict and data_dict - """ - iice = self.get_ice_indices(mask_name=mask_name) - # get the coordinates - X_mask = np.hstack((self.X_dict['x'][iice].flatten()[:,None], - self.X_dict['y'][iice].flatten()[:,None])) - return X_mask - def load_data(self): - """ load ISSM model from a .mat file, return a dict with the required data + """ load ISSM model from a `.mat` file """ # Reading matlab data data = mat73.loadmat(self.parameters.data_path) @@ -59,7 +62,7 @@ def load_data(self): self.mask_dict['DBC_mask'] = md['mesh']['vertexonboundary'] def plot(self, data_names=[], vranges={}, axs=None, resolution=200, **kwargs): - """ use utils.plot_dict_data to plot the ISSM data + """ use `utils.plot_dict_data` to plot the ISSM data Args: data_names (list): Names of the variables. if not specified, plot all variables in data_dict vranges (dict): range of the data @@ -87,7 +90,7 @@ def plot(self, data_names=[], vranges={}, axs=None, resolution=200, **kwargs): return X, Y, im_data, axs def prepare_training_data(self, data_size=None): - """ prepare data for PINNs according to the settings in datasize + """ prepare data for PINNs according to the settings in `data_size` """ if data_size is None: data_size = self.parameters.data_size diff --git a/examples/dataset/flightTracks.mat b/examples/dataset/flightTracks.mat new file mode 100644 index 0000000000000000000000000000000000000000..b675320c888279b2ec2407abaaaa8b13d058a4d6 GIT binary patch literal 72835 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 euNU Date: Sun, 31 Mar 2024 21:48:22 -0400 Subject: [PATCH 8/8] use mat73 if .mat is v7.3, otherwise load the data by scipy.io --- PINNICLE/modeldata/general_mat_data.py | 5 ++- PINNICLE/modeldata/issm_data.py | 5 ++- PINNICLE/utils/helper.py | 12 ++++++- examples/dataset/flightTracks.mat | Bin 72835 -> 57642 bytes examples/dataset/flightTracks73.mat | Bin 0 -> 72835 bytes tests/test_utils.py | 44 ++++++++++++++++--------- 6 files changed, 44 insertions(+), 22 deletions(-) create mode 100644 examples/dataset/flightTracks73.mat diff --git a/PINNICLE/modeldata/general_mat_data.py b/PINNICLE/modeldata/general_mat_data.py index ec9a784..58d39ba 100644 --- a/PINNICLE/modeldata/general_mat_data.py +++ b/PINNICLE/modeldata/general_mat_data.py @@ -1,8 +1,7 @@ from . import DataBase from ..parameter import SingleDataParameter from ..physics import Constants -from ..utils import plot_dict_data -import mat73 +from ..utils import plot_dict_data, load_mat import numpy as np @@ -28,7 +27,7 @@ def load_data(self): """ load scatter data from a `.mat` file, return a dict with the required data """ # Reading matlab data - data = mat73.loadmat(self.parameters.data_path) + data = load_mat(self.parameters.data_path) # x,y coordinates self.X_dict['x'] = data['x'] diff --git a/PINNICLE/modeldata/issm_data.py b/PINNICLE/modeldata/issm_data.py index 8521eb2..d6ed91c 100644 --- a/PINNICLE/modeldata/issm_data.py +++ b/PINNICLE/modeldata/issm_data.py @@ -1,8 +1,7 @@ from . import DataBase from ..parameter import SingleDataParameter from ..physics import Constants -from ..utils import plot_dict_data -import mat73 +from ..utils import plot_dict_data, load_mat import numpy as np @@ -41,7 +40,7 @@ def load_data(self): """ load ISSM model from a `.mat` file """ # Reading matlab data - data = mat73.loadmat(self.parameters.data_path) + data = load_mat(self.parameters.data_path) # get the model md = data['md'] # create the output dict diff --git a/PINNICLE/utils/helper.py b/PINNICLE/utils/helper.py index bc39b5d..8065011 100644 --- a/PINNICLE/utils/helper.py +++ b/PINNICLE/utils/helper.py @@ -1,6 +1,7 @@ import json import os - +import mat73 +import scipy.io def is_file_ext(path, ext): """ check if a given path is ended by ext @@ -39,3 +40,12 @@ def load_dict_from_json(path, filename): else: data = {} return data + +def load_mat(file): + """ load .mat file, if the file is in MATLAB 7.3 format use mat73.loadmat, otherwise use scipy.io.loadmat() + """ + try: + data = mat73.loadmat(file) + except TypeError: + data = scipy.io.loadmat(file) + return data diff --git a/examples/dataset/flightTracks.mat b/examples/dataset/flightTracks.mat index b675320c888279b2ec2407abaaaa8b13d058a4d6..a3525048bef34c9ff30405747ff10753c507aedf 100644 GIT binary patch literal 57642 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

nvmVxRRe-^evhX;bULp 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 z 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 literal 72835 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 euNU