Determining filtration performance based on sensor data analysis

By transforming and normalizing sensor data for filtration systems, the system addresses data format and sparse data issues, enabling precise performance prediction and maintenance scheduling, thus enhancing filtration efficiency and industrial process optimization.

WO2026112470A1PCT designated stage Publication Date: 2026-05-28GRANT PRIDECO LP +5
View PDF 7 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
GRANT PRIDECO LP
Filing Date
2025-11-21
Publication Date
2026-05-28

Smart Images

  • Figure US2025056632_28052026_PF_FP_ABST
    Figure US2025056632_28052026_PF_FP_ABST
Patent Text Reader

Abstract

The systems and processes described herein can be used to determine pressures and flowrates in a filter system that includes one or more filters. The systems and processes described herein can be used to determine a performance of the one or more filters. In one or more examples, machine learning computational models can be generated that determine when maintenance is to be performed with respect to the one or more filters. Additionally, machine learning computational models can simulate the operation of the filter system based on input obtained via one or more user interfaces.
Need to check novelty before this filing date? Find Prior Art

Description

DETERMINING FILTRATION PERFORMANCE BASED ON SENSOR DATA ANALYSISPRIORITY CLAIM

[0001] This application claims the benefit of priority to U.S. Provisional Patent Application Serial No. 63 / 723,833, filed November 22, 2024, and entitled “Determining Filtration Performance Based on Sensor Data Analysis,” which is incorporated by reference herein in its entirety.TECHNOLOGICAL FIELD

[0002] The present disclosure relates to implementations of systems and processes to determine one or more indicators related to the performance of filters. More particularly, the present disclosure relates to systems and processes that analyze sensor data to predict filtration performance based on at least one of pressure or flowrate predictions and that implement a simulator showing the performance of a filtration system under a given set of conditions.BACKGROUND

[0003] The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventor(s), to the extent it is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.

[0004] Filtration systems can include a number of filters that remove substances from a carrier of the substances. In some cases, filters can remove substances from a gas. In other situations, filters can remove substances from a liquid. In one or more examples, filters can remove substances from a carrier based on pores of the filters having a size that is smaller than the size of the substances being filtered. In scenarios where a fluid is passing through a filter, substances present in the fluid may not pass through the filter causing the substances to be present on an inlet side of the filter, but not on an outlet side. In this way, the amount of the substances on the outlet side of the filter is less than the amount on the inlet side of the filter. Additionally, filters can remove substances from a carrier based on the filter including materials that have apositive charge or a negative charge. In these scenarios, a filter including positively charged materials can remove negatively charged substances from a carrier and a filter including negatively charged materials can remove positively charged substances from a carrier.SUMMARY

[0005] The following presents a simplified summary of one or more implementations of the present disclosure in order to provide a basic understanding of such implementations. This summary is not an extensive overview of all contemplated implementations and is intended to neither identify key or critical elements of all implementations, nor delineate the scope of any or all implementations.

[0006] In one or more implementations, processes, methods, or computing apparatuses can obtain data including time series data indicating pressures of a filter system and flowrates of one or more fluids through one or more filters of the filter system. The time series data can undergo one or more preprocessing operations that produce discrete sections of the time series data with individual sections of the discrete sections indicating a change in one or more pressures that is at least a threshold change over a period of time. In addition, training data can be generated for one or more computational models. The training data can include at least a portion of the pressure data over the period of time for at least a portion of the individual discrete sections. Further, a training process can be performed for a computational model of the one or more computational models using at least a portion of the training data to produce a trained version of the computational model. The computational model can determine at least one pressure of the filter system at a subsequent time..

[0007] While multiple implementations are disclosed, still other implementations of the present disclosure will become apparent to those skilled in the art from the following detailed description, which shows and describes illustrative implementations of the invention. As will be realized, the various implementations of the present disclosure are capable of modifications in various obvious aspects, all without departing from the spirit and scope of the present disclosure. Accordingly, the drawings and detailed description are to be regarded as illustrative in nature and not restrictive.BRIEF DESCRIPTION OF THE DRAWINGS

[0008] While the specification concludes with claims particularly pointing out and distinctly claiming the subject matter that is regarded as forming the various implementations of the present disclosure, it is believed that the invention will be better understood from the followingdescription taken in conjunction with the accompanying figures. In the figures, the depicted structural elements are not to scale, and certain components may be enlarged relative to the other components for purposes of emphasis and understanding.

[0009] Figure l is a diagram of a framework to determine performance of one or more filters based on at least one of pressure data or flowrate data, according to one or more example implementations.

[0010] Figure 2 is a diagram of a framework to modify continuous time series data to produce discrete sections of data for analysis to determine filtration performance, according to one or more example implementations.

[0011] Figure 3 is a diagram of a framework to analyze normalized pressure data to predict pressures and flowrates of a filter system, according to one or more example implementations.

[0012] Figure 4 is a diagram of a framework to determine a time for filter cleaning to be performed and to determine filter cleaning efficiency, according to one or more example implementations.

[0013] Figure 5 is a diagram of a computational framework to implement a simulator that predicts at least one of flowrates or pressures of a filter system based on input data, in accordance with one or more example implementations.

[0014] Figure 6 is a flow diagram of a process to determine performance of one or more filters, according to one or more example implementations.

[0015] Figure 7 is a block diagram illustrating components of a machine, in the form of a computer system, that may read and execute instructions from one or more machine-readable media to perform any one or more methodologies described herein, in accordance with one or more example implementations.

[0016] Figure 8 is a block diagram illustrating a representative software architecture that may be used in conjunction with one or more hardware architectures described herein, in accordance with one or more example implementations.DETAILED DESCRIPTION

[0017] The present disclosure, in one or more implementations, relates to systems and processes to determine filtration performance of one or more filters of a filter system. Filter performance can degrade over time as the substances being captured by the filters become adhered to and / or disposed within the filters. Filter performance can degrade by removing lesser amounts of one or more target substances from a carrier. Filter performance can be improved by performing maintenance on the filters. The filter maintenance can includecontacting the filters with at least one of one or more basic solutions, one or more acidic solutions, or one or more surfactants. In various examples, the type of maintenance performed with respect to a filter can be based on a type of fouling that has taken place on or within the filter. In at least some examples, filters can be included in industrial processes. In one or more examples, the industrial facilities that include the filters may be unmanned. In these instances, accurately predicting when to perform filter maintenance can impact the efficiency of the facility in performing filtration processes. In situations where filtering processes are being performed inefficiently, the downstream and / or upstream industrial processes can also be detrimentally impacted.

[0018] Additionally, in at least some examples, the filters can include one or more membranes. In various examples, the membranes can be comprised of pores that can have dimensions that vary over time. To illustrate, the membranes can be comprised of one or more materials that cause the pores of the membranes to expand or contract based on the conditions of the environment in which the membranes are located. In one or more illustrative examples, temperature and / or pH of one or more fluids traveling through the membranes can change the pore size of the membranes. In scenarios where the filters include membranes having pore sizes that change over time, predicting pressures and / or flowrates in relation to the inlets and outlets of the membranes can present challenges that are not present in situations where the filters are comprised of materials that cause the pores to have minimal or no change in size in response to the features of the fluid flowing through these filters.

[0019] In various examples, the data generated with respect to filtration systems can be unsuitable as input to computational models that can be used to determine filter performance or to determine filter efficiency. In at least some situations, at least one of the format, structure, schema, or type of data captured in relation to a filtration system is not conducive for being able to predict filter performance. Additionally, the amount of data available to train computational models to determine filter performance or efficiency can be sparse. Implementations herein are directed to modifying available sensor data to be available in a form and amount that is suitable for training and implementing computational models to determine filter performance and / or filter efficiency. In various examples, the implementations described herein can modify sensor data obtained from a filter system to generate synthetic ground truth data that is not available from the raw sensor data. Additionally, one or more normalization procedures can be performed with respect to the raw sensor data to identify the data being produced by the sensors that is most indicative of the performance of a filter. Bymodifying the raw sensor data to produce modified data that can be processed by one or more computational models and that is predictive of filter performance, implementations described herein can accurately determine when maintenance is to be performed on a filter system and can accurately simulate the operating conditions of the filter system.

[0020] Figure 1 is a diagram of a framework 100 to determine performance of one or more filters based on at least one of pressure data or flowrate data, according to one or more example implementations. The framework 100 can include a filter system 102. An inlet flow 104 can be provided to the filter system 102. The filter system 102 can remove one or more substances included in the inlet flow 104 to produce an outlet flow 106. In one or more examples, the inlet flow 104 can include water including one or more substances to minimize degradation of one or more components of the filter system 102. The inlet flow 104 can also include a number of dissolved salts. For example, the inlet flow 104 can include at least one of sodium chloride, calcium chloride, or magnesium sulfate. In one or more illustrative examples, the inlet flow 104 can be comprised of seawater. In at least some examples, the seawater can be injected into a hydrocarbon reservoir to extract hydrocarbons from the reservoir.

[0021] In various examples, the inlet flow 104 can have a flowrate of at least about 100 cubic meters per hour (m3 / hr.), at least about 150 m3 / hr., at least about 200 m3 / hr., at least about 250 m3 / hr., at least about 300 m3 / hr., at least about 350 m3 / hr., or at least about 400 m3 / hr. In one or mor examples, a flowrate of the inlet flow 104 can be from 100 m3 / hr. to about 500 m3 / hr., from about 200 m3 / hr. to about 450 m3 / hr., or from about 200 m3 / hr. to about 400 m3 / hr.

[0022] The filter system 102 can capture one or more substance included in the inlet flow 104 such that a concentration of the one or more substances included in the outlet flow 106 is less than the concentration of the one or more substances in the inlet flow 104. For example, the filter system 102 can capture at least 10%, at least 20%, at least 30%, at least 40%, at least 50%, at least 60%, at least 70%, at least 80%, at least 90%, or at least 95% of one or more substances included in the inlet flow 104. In one or more illustrative examples, the filter system 102 can capture at least 50% of an amount of sulfate compounds included in the inlet flow 104. In one or more additional illustrative examples, the filter system 102 can capture an amount of sulfate compounds included in the inlet flow 104 such that the outlet flow 106 has a concentration of one or more sulfate compounds that is no greater than about 10,000 parts per million (ppm), no greater than about 8000 ppm, no greater than about 5000 ppm, no greater than about 2000 ppm, no greater than about 1000 ppm, no greater than about 800 ppm, nogreater than about 500 ppm, no greater than about 200 ppm, no greater than about 100 ppm, or no greater than about 50 ppm.

[0023] The filter system 102 can include one or more filter banks 108. Individual filter banks 108 can include one or more filtration apparatuses. The one or more filtration apparatuses can include one or more nanofiltration devices. The one or more nanofiltration devices can include pores having dimensions on the order of tens of nanometers, on the order of hundreds of nanometers, or on the order of thousands of nanometers. In still other examples, the nanofiltration devices can have dimensions on the order of angstroms. To illustrate, the nanofiltration devices can have dimensions no greater than 50 angstroms, no greater than 40 angstroms, no greater than 30 angstroms, no greater than 20 angstroms, no greater than 10 angstroms, no greater than 8 angstroms, no greater than 6 angstroms, no greater than 4 angstroms, no greater than 2 angstroms, or no greater than 1 angstrom. In one or more additional examples, the one or more nanofiltration devices can have a charged surface. For example, the one or more nanofiltration devices can include one or more positively charged surfaces. Further, the one or more nanofiltration devices can include one or more negatively charged surfaces. In various examples, the one or more nanofiltration devices can have at least one of charge characteristics or pores with dimensions that are tailored to the size of the substances being captured by the one or more nanofiltration devices.

[0024] The one or more filter banks 108 can be arranged in stages. For example, the filter system 102 can include a number of filter banks arranged in a series of stages with individual stages including one or more filter banks. In various examples, individual stages of the filter system 102 can include a same number of filter banks. In one or more examples, individual stages of the filter system 102 can include a different number of filter banks with respect to one or more other stages of the filter system 102. In one or more additional examples, the filter system 102 can include at least a first stage and a second stage. In one or more illustrative examples, the filter system 102 can include a first stage having a first filter bank arranged in series with a second stage that includes a second filter bank and a third filter bank. In these scenarios, the second filter bank and the third filter bank can be arranged in parallel.

[0025] The filter system 102 can also produce a recycle flow 110. In one or more examples, the recycle flow 110 can be re-used in operations that are related to the inlet flow 104. For example, the inlet flow 104 can include fluid that has been used in one or more processes. To illustrate, the inlet flow 104 can include fluid that has been used in one or more industrial processes. In one or more illustrative examples, the inlet flow 104 can include fluid that hasbeen used in the extraction of hydrocarbons from one or more reservoirs. The outlet flow 106 can include a portion of the fluid of the inlet flow 104 that has been filtered such that the outlet flow 106 has no greater than a threshold concentration of one or more substances included in the inlet flow 104. The recycle flow 110 can include a portion of the inlet flow 104 that includes greater than the threshold concentration of one or more substances included in the inlet flow 104. The recycle flow 110 can be returned back to one or more of the filter banks 108 for further filtration. In one or more illustrative examples, individual filters of the one or more filter banks 108 can have a recovery from about 40% to about 60% or from about 45% to about 55%. An overall recovery of the filter system 102 can be from about 50% to about 90%, from about 60% to about 80%, from about 50% to about 60%, from about 55% to about 65%, from about 60% to about 70%, from about 65% to about 75%, from about 70% to about 80%, from about 75% to about 85%, from about 80% to about 90%, or from about 85% to about 95%.

[0026] In at least some examples, an arrangement of filter banks can be referred to herein as a train of filter banks. The filter system 102 can include multiple trains of filter banks. In these implementations, the inlet flow 104 can be switched from being directed from a first train of filter banks to one or more second trains of filter banks. For example, during maintenance of a first train of filter banks of the filter system 102, the inlet flow 104 can be diverted from the first train of filter banks to a second train of filter banks. In various examples, after maintenance of the first train of filter banks is completed, inlet flow 104 can be routed back to the first train of filter banks.

[0027] The filter system 102 can also include a sensor system 112. The sensor system 112 can include a number of sensors placed at a number of locations of the filter system 102. The sensor system 112 can include sensors that collect signals related to one or more pressures at one or more locations of the filter system 102. The sensor system 112 can also include sensors that collect signals related to one or more flowrates at one or more locations of the filter system 102. In addition, the sensor system 112 can include sensors that collect signals related to one or more temperatures at one or more locations of the filter system 102. In one or more examples, the sensor system 112 can include sensors that detect at least one of pressure, flowrate, or temperature at one or more inlets of one or more filter banks 108 of the filter system 102 and at one or more outlets of one or more filter banks 108 of the filter system 102. By including sensors at one or more inlets and one or more outlets of one or more filter banks 108, signals provided by the sensor system 112 can be used to determine at least one of differential pressures, differential flowrates, or differential temperatures for one or more filter banks 108.

[0028] The sensor system 112 can produce sensor data 114. The sensor data 114 can include pressure data 116 that corresponds to signals produced by pressure sensors located in the filter system 102 that are indicative of one or more pressures of the filter system 102. The sensor data 114 can also include temperature data 118 that corresponds to signals produced by temperature sensors located in the filter system 102 that are indicative of one or more temperatures of the filter system 102. Additionally, the sensor data 114 can include flowrate data 120 that corresponds to signals produced by flowrate sensors located in the filter system 102 that are indicative of one or more flowrates of the filter system 102.

[0029] In various examples, the sensor data 114 can include periods of continuous or nearly continuous data that is generated by the sensor system 112. For example, the sensor data 114 can include time series data that corresponds to signals produced at one or more time intervals by sensors of the sensor system 112. To illustrate, the sensor data 114 can include signals produced by at least one of one or more pressures sensors of the filter system 102, one or more temperature sensors of the filter system 102, or one or more flowrate sensors of the filter system 102 at intervals of at least 0.001 seconds, at least 0.005 seconds, at least 0.01 seconds, at least 0.05 seconds, at least 0.1 seconds, at least 0.5 seconds at least 1 second, at least 5 seconds, or at least 10 seconds.

[0030] The sensor data 114 can be provided to a computational system 122. In one or more examples, the sensor data 114 can be sent to the computational system 122 in response to requests by the computational system 122. Additionally, the sensor data 114 can be continuously or nearly continuously provided to the computational system 122 without being directly requested by the computational system 122. The computational system 122 can be implemented by one or more computing devices 124. The one or more computing devices 124 can include one or more server computing devices, one or more desktop computing devices, one or more laptop computing devices, one or more tablet computing devices, one or more mobile computing devices, or combinations thereof. In one or more implementations, at least a portion of the one or more computing devices 124 can be implemented in a distributed computing environment. For example, at least a portion of the one or more computing devices 124 can be implemented in a cloud computing architecture.

[0031] The computational system 122 can analyze the sensor data 114 to determine one or more conditions of the filter system 102. For example, the computational system 122 can analyze the pressure data 116 to determine one or more future pressures of the filter system 102. The computational system 122 can also analyze the temperature data 118 to determineone or more future temperatures of the filter system 102. In addition, the computational system 122 can analyze the flowrate data 120 to determine one or more future flowrates of the filter system 102. In at least some examples, the computational system 122 can predict at least one of future pressures of the filter system 102, future temperatures of the filter system 102, or future flowrates of the filter system 102 based on user input indicating one or more conditions of the filter system 102. Further, the computational system 122 can analyze at least one of the pressure data 116, the temperature data 118, or the flowrate data 120 to determine when maintenance, such as cleaning, is to be performed with respect to filters of the one or more filter banks 108. In still other examples, the computational system 122 can analyze at least one of the pressure data 116, the temperature data 118, or the flowrate data 120 to determine an efficiency of a maintenance process for filters of the one or more filter banks 108.

[0032] In one or more examples, in order for the computational system 122 to determine one or more conditions corresponding to the filter system 102, the computational system 122 transforms the sensor data 114 such that the transformed data can be analyzed by one or more computational models. For example, the pressure data 116 can indicate fluctuations in one or more pressures of the one or more filter banks 108. The fluctuations in the one or more pressures of the one or more filter banks can be caused by fluctuations in the inlet flow 104. To illustrate, the inlet flow 104 can fluctuate by at least 5%, at least 10%, at least 20%, at least 30% or more over time resulting in fluctuations in pressure values in the one or more filter banks 108. In at least some scenarios, the fluctuations in the pressure data 116 can also be caused by filters of the one or more filter banks 108 becoming less efficient in filtering one or more substances from the inlet flow 104. In various examples, as the filters of the one or more filter banks 108 capture one or more substances from the inlet flow 104, the amount of fluid processed through individual filters can be decreased due to some portion of the filters being occupied by the one or more substances being captured. As a result, operating conditions of the filter system 102 can change over time. Simply analyzing the time series of information included in the sensor data 114 by the computational system 122 may not provide accurate or useful information regarding the filter system 102. Thus, the computational system 122 can cause the sensor data 114 to be transformed such that a modified version of the sensor data 114 can be analyzed by one or more computational models of the computational system 122.

[0033] In various examples, at 126, the computational system 122 can generate computational model training data 128 from the sensor data 114. The training data 128 can be used by the computational system 122, at 130, to generate computational models to predict filterparameters of the filter system 102. In one or more illustrative examples, the computational system 122 can analyze the sensor data 114 to determine when maintenance is to be performed with respect to the one or more filter banks 108. In these scenarios, the computational system 122 can produce discrete sets of data from the time series data included in the sensor data 114. The discrete sets of data can include portions of at least one of the pressure data 116, the temperature data 118, or the flowrate data 120 that are captured between previous maintenance procedures for the one or more filter banks 108. For example, the computational system 122 can determine a first discrete set of data by determining a first portion of at least one of the pressure data 116, the temperature data 118, or the flowrate data 120 that is produced between a first maintenance procedure and a second maintenance procedure for the one or more filter banks 108. Additionally, the computational system 122 can determine a second discrete set of data by determining a second portion of at least one of the pressure data 116, the temperature data 118, or the flowrate data 120 that is produced between the second maintenance procedure and a third maintenance procedure for the one or more filter banks 108. The discrete sets of data produced by the computational system 122 can be included in the training data 128.

[0034] Additionally, at least one of the inlet flow 104 or one or more additional flowrates of the filter system 102 can change over time. In at least some examples, the changes in one or more flowrates related to the filter system 102 can impact one or more pressures of the filter system 102. The computational system 122 can normalize the pressure data 116 in relation to the flowrates of the filter system 102 to produce the training data 128 that includes normalized pressure data. Without normalizing the pressure data 116 with respect to flowrates related to the filter system 102, computational models produced by the computational system 122 can be less accurate and less efficient with respect to the use of computing and memory resources than computational models trained using normalized pressure data.

[0035] In one or more examples, the computational models produced by the computational system 122 based on the training data 128 can include one or more computational models to predict one or more pressures of the filter system 102. The computational models produced by the computational system 122 based on the training data 128 can also include one or more computational models to predict one or more flowrates of the filter system 102. In still other examples, the computational system 122 can produce one or more computational models based on the training data 128 to predict when maintenance is to be performed on the filter system 102. Further, the computational system 122 can produce one or more computational modelsbased on the training data 128 to determine an efficiency of a maintenance process for the filter system 102.

[0036] Further at 132, the computational model can generate a digital representation of the filter system 102 to simulate filter conditions based on user input. The digital representation of the filter system 102 can include at least a portion of the computational models generated by the computational system 122 at 130. For example, the digital representation of the filter system 102 can include at least one computational model to predict one or more pressures of the filter system 102. In addition, the digital representation of the filter system 102 can include at least one computational model to predict one or more flowrates of the filter system 102. In various examples, the computational system 122 can obtain input from one or more users that indicates one or more conditions of the filter system 102. To illustrate, the computational system 122 can obtain user input corresponding to at least one of one or more pressures of the filter system 102, one or more temperatures of the filter system 102, or one or more flowrates of the filter system 102. The computational system 122 can then implement one or more computational models comprising the digital representation of the filter system 102 based on the user input to predict conditions of the filter system 102.

[0037] Figure 2 is a diagram of a framework 200 to modify continuous time series data to produce discrete sections of data for analysis to determine filtration performance, according to one or more example implementations. The framework 200 can include a filter system 202 having an inlet flow 204 and an outlet flow 206. In one or more illustrative examples, the filter system 202 can correspond to one or more implementations of the filter system 102 described with respect to Figure 1, the inlet flow 204 can correspond to one or more examples of the inlet flow 104 described with respect to Figure 1, and the outlet flow 206 can correspond to one or more examples of the outlet flow 106 described with respect to Figure 1.

[0038] In the illustrative example of Figure 2, the filter system 202 can include a first stage including a first filter bank 208 and a second filter bank 210 configured in a parallel arrangement and a second stage including at least a third filter bank 212. In at least some examples, the inlet flow 204 can be provided in amounts from about 40% by volume to about 60% or from about 45% by volume to about 55% by volume to each of the first filter bank 208 and the second filter bank 210 of the first stage of the filter system 202. In one or more examples, a first outlet stream 214 of the first filter bank 208 and a second outlet stream 216 of the second filter bank 210 can comprise the outlet flow 206. In one or more illustrative examples, the first outlet stream 214 can comprise a first permeate stream output by the firstfilter bank 208 and the second outlet stream 216 can comprise a second permeate stream output by the second filter bank 210.

[0039] In at least some examples, a first additional outlet stream 218 of the first filter bank 208 and a second additional outlet stream 220 of the second filter bank 210 can be provided to the third filter bank 212. In one or more additional illustrative examples, the first additional outlet stream 218 can comprise a first retentate stream output by the first filter bank 208 and the second additional outlet stream 220 can comprise a second retentate stream output by the second filter bank 210. In various examples, a third outlet stream 222 of the first filter bank 208 can also comprise the outlet flow 206. In one or more further illustrative examples, the third outlet stream 222 can comprise a permeate stream output by the third filter bank 212. A third additional outlet stream 224 can also be output by the third filter bank 212. In one or more examples, the third additional outlet stream 224 can comprise a rejected flow 226 of the filter system 202. In one or more additional examples, the third additional outlet stream 224 can comprise a retentate stream output by the third filter bank 212.

[0040] Although the illustrative example of Figure 2 includes a first stage having the first filter bank 208 and the second filter bank 210, in one or more additional examples, the first stage can include a single filter or the first stage can include more than two filters. Additionally, although the illustrative example of Figure 2 includes a second stage having the third filter bank 212, in one or more additional examples, the second stage can include a greater number of filters. In situations where the first stage and / or the second stage include multiple filters, at least a portion of the multiple filters can be arranged in a parallel configuration.

[0041] Sensors included in the filter system 202 can produce time series data 228. The time series data 228 can include inlet data 230. The inlet data 230 can include at least one of pressure data, temperature data, or flowrate data prior to the inlet flow 204 entering at least one of the first filter bank 208 or the second filter bank 210. The time series data 228 can also include first stage data 232. The first stage data 232 can include at least one of pressure data, temperature data, or flowrate data related to fluid exiting at least one of the first filter bank 208 or the second filter bank 210. In one or more illustrative examples, the first stage data 232 can include at least one of pressure data, temperature data, or flowrate data corresponding to the first outlet stream 214, the second outlet stream 216, or the outlet flow 206. In at least some examples, the first stage data 232 can include at least one of pressure data, temperature data, or flowrate data related to the first additional outlet stream 218 and / or the second additional outlet stream 220. Additionally, the time series data 228 can include second stage data 234.The second stage data 234 can include at least one of pressure data, temperature data, or flowrate data related to the fluid exiting the third filter bank 212. In one or more additional illustrative examples, the second stage data 234 can include at least one of pressure data, temperature data, or flowrate data related to the third outlet stream 222 and / or the third additional outlet stream 224.

[0042] In one or more additional examples, the time series data 228 can include information derived from at least one of the inlet data 230, the first stage data 232, or the second stage data 234. To illustrate, the inlet data 230 and the first stage data 232 can be used to produce differential data for the first stage of the filter system 202. In one or more illustrative examples, the inlet data 230 and the first stage data 232 can be used to produce at least a portion of the time series data 228 that corresponds to a first differential pressure related to the first stage of the filter system 202. Additionally, the inlet data 230 and the first stage data 232 can be used to produce at least a portion of the time series data 228 that corresponds to a first differential flowrate related to the first stage of the filter system 202. In one or more additional illustrative examples, at least a portion of the first stage data 232 and at least a portion of the second stage data 234 can be used to produce at least a portion of the time series data 228 that corresponds to a second differential pressure related to the second stage of the filter system 202. Further, at least a portion of the first stage data 232 and at least a portion of the second stage data 234 can be used to produce at least a portion of the time series data 228 that corresponds to a second differential flowrate related to the second stage of the filter system 202. In one or more further illustrative examples, a portion of the first stage data 232 corresponding to the first additional outlet stream 218 and the second additional outlet stream 220 and a portion of the second stage data 234 corresponding to the third outlet stream 222 and / or the third additional outlet stream 224 can be used to determine at least one of the second differential pressure or the second differential flowrate related to the second stage of the filter system 202.

[0043] In still other examples, a first differential pressure can be determined for the first filter bank 208 that corresponds to a difference between a pressure related to the first outlet stream 214 and a pressure related to the first additional outlet stream 218. In addition, a second differential pressure can be determined for the second filter bank 210 that corresponds to a difference between a pressure related to the second outlet stream 216 and a pressure related to the second additional outlet stream 220. Further, a third differential pressure can be determined for the third filter bank 212 that corresponds to a difference between a pressure related to the third outlet stream 222 and a pressure related to the third additional outlet stream 224. Invarious examples, a first differential flowrate can be determined for the first filter bank 208 that corresponds to a difference between a flowrate related to the first outlet stream 214 and a flowrate related to the first additional outlet stream 218. In addition, a second differential flowrate can be determined for the second filter bank 210 that corresponds to a difference between a flowrate related to the second outlet stream 216 and a flowrate related to the second additional outlet stream 220. Further, a third differential flowrate can be determined for the third filter bank 212 that corresponds to a difference between a flowrate related to the third outlet stream 222 and a flowrate related to the third additional outlet stream 224.

[0044] The time series data 228 can be modified to produce preprocessed data 236. In one or more examples, the time series data 228 can include a data stream 238. The data stream 238 can be divided into a number of discrete sections. For example, the data stream 238 can be divided into a first discrete section 240, a second discrete section 242, up to an Nth discrete section 244. The data stream 238 can be divided into discrete sections based on the amounts of increase or decrease and / or rates of increase or decrease of a given parameter during a specified period of time. For example, a relatively steady rate of increase for the values of the data stream 238 followed by a relatively sharp decrease in the values of the data stream 238 can indicate a beginning and an end for a discrete section of the data stream 238. In at least some examples, the discrete sections 240, 242, 244 of the data stream 238 can correspond to increases in one or more pressures of the filter system 202 due to build up of substances being filtered on the surfaces of the filters of the filter system 202 and decreases in the one or more pressures of the filter system 202 in response to maintenance being performed on the filter system 202. In one or more illustrative examples, the discrete sections 240, 242, 244 of the data stream 238 can correspond to changes in inlet pressure due to accumulation of substances being filtered on the surfaces of the filters of the first filter bank 208 and decreases in the inlet pressure of filters of the first filter bank 208 in response to maintenance being performed on the first filter bank 208. In one or more additional illustrative examples, the discrete sections 240, 242, 244 of the data stream 238 can correspond to changes in differential pressure of at least one of the first filter bank 208 or the second filter bank 210 due to accumulation of substances being filtered on the surfaces of the filters of at least one of the first filter bank 208 or the second filter bank 210 and decreases in differential pressure of at least one of the first filter bank 208 or the second filter bank 210 in response to maintenance being performed on at least one of the first filter bank 208 or the second filter bank 210.

[0045] The preprocessed data 236 can be provided to one or more computational algorithms 246. The one or more computational algorithms 246 can include at least one of one or more machine learning models, or one or more deep learning models or one or more statistical models to determine one or more parameters of the filter system 202. For example, the one or more computational algorithms 246 can include at least one of one or more machine learning models, one or more deep learning models or one or more statistical models to determine one or more pressure conditions of the filter system 202. Additionally, the one or more computational algorithms 246 can include at least one of one or more machine learning models or one or more statistical models to determine one or more flowrate conditions of the filter system 202. Further, the one or more computational algorithms 246 can include at least one of one or more machine learning models or one or more statistical models to determine a time to perform maintenance with respect to one or more components of the filter system 202. In still other examples, the one or more computational algorithms 246 can include at least one of one or more machine learning models or one or more statistical models to determine an efficiency of one or more maintenance procedures performed with respect to the filter system 202. In various examples, the one or more computational algorithms 246 can include at least one of one or more machine learning models or one or more statistical models to perform simulations of one or more conditions of the filter system 202. To illustrate, the one or more computational algorithms 246 the one or more computational algorithms 246 can include at least one of one or more machine learning models or one or more statistical models to simulate at least one of one or more pressure conditions or one or more flowrate conditions of the filter system 202.

[0046] Figure 3 is a diagram of a framework 300 to analyze normalized pressure data to predict pressures and flowrates of a filter system 302, according to one or more example implementations. The filter system 302 can include one or more filter banks 304. The one or more filter banks 304 can separate one or more substances from seawater. In one or more illustrative examples, the filter system 302 can include at least one of the filter system 102 described with respect to Figure 1 or the filter system 202 described with respect to Figure 2.

[0047] The filter system 302 can include a sensor system that produces time series sensor data 306. The time series sensor data 306 can include at least one of pressure data, temperature data, or flowrate data produced by sensors of the filter system 302. In various examples, the time series sensor data 306 can include a data stream over a period of time produced by at least one of pressure sensors, temperature sensors, or flowrate sensors of the filter system 302. The time series sensor data 306 can undergo data preprocessing 308 to produce modified sensor data310. In one or more examples, the data preprocessing 308 can transform the time series sensor data 306 to produce the modified sensor data 310 that include discrete sections of the time series sensor data 306. In various examples, the data preprocessing 308 can include one or more of the operations performed with respect to the framework 200 described in relation to Figure 2.

[0048] The framework 300 can also include performing data normalization 312 with respect to the modified sensor data 310 to produce normalized pressure data 314. In one or more examples, the modified sensor data 310 can be normalized with respect to one or more flowrates of the filter system 302. In one or more illustrative examples, at least one of inlet pressure data or differential pressure data can be normalized with respect to one or more flowrates of the filter system 302. In one or more additional illustrative examples, the data normalization 312 can be performed with respect to at least one of inlet pressure data included in the modified sensor data 310 or differential pressure data included in the modified sensor data 310 with respect to one or more flowrates from about 300 m3 / hr. to about 400 m3 / hr. In various examples, the normalized pressure data 314 can include at least one of inlet pressures of the filter system 302 or differential pressures of the filter system 302 that take place at flowrates in the time series sensor data 306 from about from 300 m3 / hr. to about 400 m3 / hr., about 320 m3 / hr. to about 380 m3 / hr., from about 340 m3 / hr. to about 360 m3 / hr., from about 330 m3 / hr. to about 340 m3 / hr., from about 340 m3 / hr. to about 350 m3 / hr., from about 350 m3 / hr. to about 360 m3 / hr., from about 360 m3 / hr. to about 370 m3 / hr., or from about 370 m3 / hr. to about 380 m3 / hr. The data normalization 312 can be performed with respect to the modified sensor data 310 using one or more regression computational models. To illustrate, the data normalization 312 can be performed by implementing one or more polynomial regression computational models. In at least some examples, the normalized pressure data 314 can correspond to ground truth data to be used in relation to one or more subsequent machine learning or deep learning models. In various examples, the data normalization 312 can also be performed with respect to at least one of pH conditions of the fluid flowing through the filter system 302 or temperatures of the fluid flowing through the filter system 302.

[0049] The normalized pressure data 314 can be used to produce one or more pressure prediction computational models 316. The one or more pressure prediction computational models 316 can include one or more regression models. In one or more examples, the one or more pressure prediction computational models 316 can include one or more regression models using machine learning or deep learning techniques. In various examples, the one or morepressure prediction computational models 316 can include one or more machine learning or deep learning regression. In at least some examples, one or more regression models included in the one or more pressure prediction computational models 316 can be trained to minimize error of the one or more pressure prediction computational models 316 using one or more regression technique such as machine learning or deep learning. In one or more illustrative examples, the one or more pressure prediction computational models 316 can be executed with respect to at least one of inlet pressure data or differential pressure data related to the filter system 302.

[0050] The normalized pressure data 314 can be used as training data for one or more machine learning or deep learning regression models included in the one or more pressure prediction computational models 316. In one or more additional examples, the one or more pressure prediction computational models 314 can be trained using a first portion of the normalized pressure data 314 and validating using a second portion of the normalized pressure data 314. In still other examples, one or more outliers can be removed from the normalized pressure data 314 before using the normalized pressure data 314 to train and validate the one or more pressure prediction computational models 316. Outliers of the normalized pressure data 314 can be determined by analyzing individual instances of the normalized pressure data 314 with respect to one or more thresholds. In one or more further examples, the one or more thresholds can correspond to a number of standard deviations from a mean or median of the values included in normalized pressure data 314.

[0051] After the one or more pressure prediction computational models 316 have been trained and validated, the one or more pressure prediction computational models 316 can produce normalized pressure prediction data 318 using the time series sensor data 306. The normalized pressure prediction data 318 can include values of one or more pressures of the filter system 302 at one or more future points in time. In one or more examples, the one or more pressure prediction computational models 316 can be implemented to produce normalized pressure prediction data 318 indicating at least one of inlet pressures or one or more differential pressures of the filter system 302 in a future period of time having a duration from about 1 minute to about 10 years, from about 1 hour to about 8 years, from about 7 days to about 6 years, from about 30 days to about 4 years, from about 6 months to about 2 years, from about 1 year to about 5 years, from about 6 years to about 10 years, from about 2 years to about 5 years, from about 3 years to about 6 years, from about 4 years to about 7 years, from about 5years to about 8 years, from about 6 years to about 9 years, or from about 7 years to about 10 years.

[0052] The normalized pressure data 314 can also be used to generate one or more flowrate prediction computational models 320. The one or more flowrate prediction computational models 320 can be trained using flowrate data 322 obtained from the filter system 302 and using the normalized pressure data 314. The flowrate data 322 can include portions of the time series sensor data 306 generated by one or more flowrate sensors of the filter system 302. The flowrate prediction computational models 320 can include one or more regression models. In one or more examples, the one or more flowrate prediction computational models 320 can include one or more polynomial regression models. In various examples, the flowrate prediction computational models 320 can include one or more machine learning or deep learning regression models. In at least some examples, one or more machine learning or deep learning regression models included in the flowrate prediction computational models 320 can be trained to minimize error of the flowrate prediction computational models 320 using one or more machine learning or deep learning techniques.

[0053] After the one or more flowrate prediction computational models 320 have been trained and validated, the flowrate prediction computational models 320 can produce normalized flowrate prediction data 324. The normalized flowrate prediction data 324 can include values of one or more flowrates of the filter system 302 at one or more future points in time. In one or more examples, the one or more flowrate prediction computational models 320 can be implemented to produce normalized flowrate prediction data 324 indicating at least one of inlet flowrates or flowrates between filter banks of the filter system 302 in a future period of time having a duration from about 1 minute to about 10 years, from about 1 hour to about 8 years, from about 7 days to about 6 years, from about 30 days to about 4 years, from about 6 months to about 2 years, from about 1 year to about 5 years, from about 6 years to about 10 years, from about 2 years to about 5 years, from about 3 years to about 6 years, from about 4 years to about 7 years, from about 5 years to about 8 years, from about 6 years to about 9 years, or from about 7 years to about 10 years.

[0054] In one or more illustrative examples, at least one of the normalized pressure prediction data 318 or the normalized flowrate prediction data 324 can be used for filter characteristic prediction 326. The filter characteristic prediction 326 can include determining a remaining useful life of one or more filters of the filter system 302. The remaining useful life of a filter can indicate an amount of time before maintenance is to be performed on the filter and / or anamount of time before the filter is to be replaced. In various examples, the filter characteristic prediction 326 can also include determining an efficiency of maintenance performed on one or more filters of the filter system 302.

[0055] Figure 4 is a diagram of a framework 400 to determine a time for filter maintenance to be performed and to determine filter maintenance efficiency, according to one or more example implementations. The framework 400 can include data preprocessing 402 that is performed with respect to pre-maintenance sensor data 404 and post-maintenance sensor data 406 obtained from a sensor system of a filter system. In at least some examples, the filter system corresponding to the pre-maintenance sensor data 404 and the post-maintenance sensor data 406 can comprise at least one of the filter system 102 described with respect to Figure 1, the filter system 202 described with respect to Figure 2, or the filter system 302 described with respect to Figure 3.

[0056] In one or more examples, the pre-maintenance sensor data 404 can include one or more pressure values of a filter system that are generated before one or more maintenance procedures are performed with respect to the filter system. For example, the pre-maintenance sensor data 404 can include at least one of inlet pressure values of a filter system or one or more differential pressure values of a filter system. In various examples, the pre-maintenance sensor data 404 can include inlet pressure values of a filter system and differential pressure values for a first stage of a filter system that includes one or more filter banks. In addition, the post-maintenance sensor data 406 can include one or more pressure values of a filter system that are generated after one or more maintenance procedures are performed with respect to the filter system. To illustrate, the post-maintenance sensor data 404 can include at least one of inlet pressure values of a filter system or one or more differential pressure values of a filter system. In at least some examples, the post-maintenance sensor data 406 can include inlet pressure values of a filter system and differential pressure values for a first stage of a filter system that includes one or more filter banks.

[0057] The pre-maintenance sensor data 404 and the post-maintenance sensor data 406 can include data streams produced by one or more sensors of a filter system. The data preprocessing 402 can produce modified sensor data 408 that includes transforming the data streams produced by the one or more sensors to discrete sections of data. In one or more illustrative examples, the data preprocessing 402 can include implementing one or more portions of the framework 200 described with respect to Figure 2. Additionally, the data preprocessing 402 can include producing modified sensor data 408 by normalizing the data produced by one or more sensorsof a sensor system with respect to one or more flowrates. For example, the data preprocessing 402 can include determining at least one of inlet pressure values of a filter system or one or more differential pressure values of the filter system that correspond to one or more flowrates of the filter system. In at least some examples, the data preprocessing 402 can implement one or more portions of the framework 300 described with respect to Figure 3.

[0058] The modified sensor data 408 can be provided to a first normalized pressure prediction model 410. The first normalized pressure prediction model 410 can determine one or more pressure values of a filter system. In one or more examples, the first normalized pressure prediction model 410 can determine first pressure prediction data 412. For example, the first normalized pressure prediction model 410 can analyze the modified sensor data 408 obtained from a filter system to predict pressure values at future points in time. In one or more illustrative examples, the first normalized pressure prediction model 410 can determine first pressure prediction data 412 that corresponds to an inlet pressure of a filter system. In at least some examples, the first normalized pressure prediction model 410 can be produced by a training process that is used to produce the one or more pressure prediction computational models 316 described in relation to Figure 3.

[0059] At 414, the first pressure prediction data 412 can be used to determine a first filter performance metric. The first filter performance metric can be determined in relation to one or more first criteria 416. In one or more examples, the first criteria 416 can include one or more first pressure values that correspond to first pressure values that indicate that maintenance is to be performed with respect to one or more filters of a filter system. In one or more illustrative examples, the first criteria 416 can correspond to a first threshold inlet pressure of a filter system. The first threshold inlet pressure specified by the first criteria 416 can include 2500 kilopascals (kPa), 2600 kPa, 2700 kPa, 2800 kPa, 2900 kPa, 3000 kPa, 3100 kPa, 3200 kPa, 3300 kPa, 3400 kPa, or 3500 kPa. In still other examples, the first criteria 416 can correspond to a first range of pressures. To illustrate, the first threshold inlet pressure specified by the first criteria 416 can be from about 2000 kPa to about 4000 kPa, from about 2200 kPa to about 3800 kPa, from about 2500 kPa to about 3500 kPa, from about 2800 kPa to about 3200 kPa, from about 2600 kPa to about 2800 kPa, from about 2800 kPa to about 3000 kPa, from about 3000 kPa to about 3200 kPa, or from about 3200 kPa to about 3400 kPa.

[0060] In one or more additional examples, the first criteria 416 can include one or more additional first pressure values that correspond to first additional pressure values that indicate a cleaning efficiency of maintenance that is to be performed with respect to one or more filtersof a filter system. In one or more illustrative examples, the first criteria 416 can correspond to a first additional threshold inlet pressure of a filter system. The first additional threshold inlet pressure specified by the first criteria 416 can include 1800 kPa, 1900 kPa, 2000 kPa, 2100 kPa, 2200 kPa, 2300 kPa, 2400 kPa, 2500 kPa, 2600 kPa, 2700 kPa, or 2800 kPa. In still other examples, the first criteria 416 can correspond to a first additional range of pressures. To illustrate, the first additional threshold inlet pressure specified by the first criteria 416 can be from about 1500 kPa to about 3000 kPa, from about 1800 kPa to about 2800 kPa, from about 2000 kPa to about 2600 kPa, from about 1800 kPa to about 2200 kPa, from about 2000 kPa to about 2400 kPa, from about 2200 kPa to about 2600 kPa, from about 2400 kPa to about 2800 kPa.

[0061] Additionally, the modified sensor data 408 can be provided to a second normalized pressure prediction model 418. The second normalized pressure prediction model 418 can also determine one or more pressure values of a filter system. In one or more examples, the second normalized pressure prediction model 418 can determine second pressure prediction data 420. For example, the second normalized pressure prediction model 418 can analyze the modified sensor data 408 obtained from a filter system to predict pressure values at future points in time. In one or more illustrative examples, the second normalized pressure prediction model 418 can determine second pressure prediction data 420 that corresponds to a differential pressure of a filter system. To illustrate, the second normalized pressure prediction model 418 can determine the second pressure prediction data 420 that includes a differential pressure of a first stage or a second stage of a filter system. In at least some examples, the second normalized pressure prediction model 418 can be produced by a training process that is used to produce the one or more pressure prediction computational models 316 described in relation to Figure 3.

[0062] At 422, the second pressure prediction data 420 can be used to determine a second filter performance metric. The second filter performance metric can be determined in relation to one or more second criteria 424. In one or more examples, the second criteria 424 can include one or more second pressure values that correspond to second pressure values that indicate maintenance is to be performed with respect to one or more filters of a filter system. In one or more illustrative examples, the second criteria 424 can correspond to a second threshold inlet pressure of a filter system. The second threshold inlet pressure specified by the second criteria 424 can include 220 kPa, 230 kPa, 240 kPa, 250 kPa, 260 kPa, 270 kPa, 280 kPa, 290 kPa, 300 kPa, 310 kPa, 320 kPa, 330, kPa, 340 kPa, or 350 kPa. In various examples, the second criteria 424 can correspond to a second range of pressures. To illustrate, the second threshold inletpressure specified by the second criteria 424 can be from about 200 kPa to about 400 kPa, from about 220 kPa to about 380 kPa, from about 250 kPa to about 350 kPa, from about 280 kPa to about 320 kPa, from about 260 kPa to about 280 kPa, from about 280 kPa to about 300 kPa, from about 300 kPa to about 320 kPa, or from about 320 kPa to about 340 kPa.

[0063] In one or more further examples, the second criteria 424 can be related to a filter performance metric indicating an efficiency of one or more maintenance procedures performed with respect to one or more filters of a filter system. In various examples, the second criteria 424 can include one or more second additional pressure values that indicate an efficiency of one or more maintenance procedures performed with respect to one or more filters of a filter system. In one or more illustrative examples, the second criteria 424 can correspond to a second additional threshold differential pressure of a first stage or a second stage of a filter system. The additional second differential pressure specified by the second criteria 424 can include 100 kPa, 110 kPa, 120 kPa, 130 kPa, 140 kPa, 150 kPa, 160 kPa, 170 kPa, 180 kPa, 190 kPa, 200 kPa, 210 kPa, 220 kPa, 230 kPa, 240 kPa, or 250 kPa. In still other examples, the second criteria 424 can correspond to a second additional range of pressures. To illustrate, the second additional differential pressure specified by the second criteria 424 can be from about 100 kPa to about 250 kPa, from about 120 kPa to about 230 kPa, from about 150 kPa to about 200 kPa, from about 160 kPa to about 200 kPa, from about 180 kPa to about 220 kPa, or from about 200 kPa to about 240 kPa,.

[0064] At 426, the framework 400 can include analyzing the filter performance metrics. In one or more examples, analyzing the filter performance metrics at 426 can produce a filter maintenance estimate 428. For example, the first pressure prediction data 412 can be analyzed to determine a first period of time until a first threshold inlet pressure of a filter system specified by the first criteria 416 takes place. In addition, analyzing the filter performance metrics at 426 can include analyzing the second pressure prediction data 420 to determine a second period of time until a second threshold differential pressure of one or more stages of a filter system. In various examples, the first period of time can be analyzed with respect to the second period of time. In one or more illustrative examples, the filter maintenance estimate 428 can correspond to a lesser of the first period of time and the second period of time. To illustrate, the analysis of the filter performance metrics at 426 can determine that by analyzing feed inlet pressure values, maintenance of one or more filters of the filter system is to be performed in 3500 hours. Further, the analysis of the filter performance metrics at 426 can determine that by analyzing differential pressures of one or more stages of a filter system, maintenance of one or morefilters of the filter system is to be performed in 2800 hours. In these scenarios, the filter maintenance estimate 428 can indicate that maintenance is to be performed in 2800 hours.

[0065] In one or more further examples, analyzing the filter performance metrics at 426 can produce a filter maintenance efficiency indication 430. In at least some examples, the first pressure prediction data 412 can be analyzed to determine a first filter maintenance efficiency indication based on a first additional threshold inlet pressure of a filter system specified by the first criteria 416. In addition, analyzing the filter performance metrics at 426 can include analyzing the second pressure prediction data 420 to determine a second filter maintenance efficiency indication based on a second additional threshold differential pressure of one or more stages of a filter system. In various examples, the first filter maintenance efficiency indication can be analyzed with respect to the second filter maintenance efficiency. In one or more illustrative examples, the filter maintenance efficiency indication 430 can correspond to a lesser of the first filter maintenance efficiency indication and the second filter maintenance efficiency indication. To illustrate, the analysis of the filter performance metrics at 426 can determine that by analyzing feed inlet pressure values, a maintenance efficiency performed with respect to one or more filters of the filter system is 90%. Further, the analysis of the filter performance metrics at 426 can determine that by analyzing differential pressures of one or more stages of a filter system, maintenance efficiency performed with respect to one or more filters of the filter system is 85%. In these scenarios, the filter maintenance efficiency indication 430 can indicate that the maintenance efficiency performed with respect to one or more filters of the filter system is 85%. The filter maintenance efficiency indication 430 can be used to determine when one or more filters of a filter system are to be replaced. For examples, as the maintenance efficiency decreases below a threshold value, one or more filters of a filter system can be replaced.

[0066] In various examples, the analysis of filter performance metrics at 426 can incorporate sulfate analyzer data 432. The sulfate analyzer data 432 can indicate an amount of sulfate present in fluids being processed through a filter system. An increasing amount of sulfate present in fluids of the filter system increases can indicate a decrease in the efficiency of one or more filters of the filter system. As a result, the amount of sulfate detected in the sulfate analyzer data 432 can be used to determine a filter maintenance estimate 428. For example, as the amount of sulfate indicated in the sulfate analyzer data 432 increases, the amount of time before maintenance is to be performed with respect to one or more filters of the filter system can decrease. In this way, the amount of sulfate indicated in the sulfate analyzer data 432 canbe analyzed in conjunction with the first pressure prediction data 412 to determine the filter maintenance estimate 428.

[0067] Figure 5 is a diagram of a computational framework 500 to implement a simulator that predicts at least one of flowrates or pressures of a filter system 502 based on input data, in accordance with one or more example implementations. The filter system 502 can include one or more filter banks 504. The one or more filter banks 504 can separate one or more substances from seawater. In one or more illustrative examples, the filter system 502 can include at least one of the filter system 102 described with respect to Figure 1 or the filter system 202 described with respect to Figure 2.

[0068] The filter system 502 can include a sensor system that produces time series sensor data 506. The time series sensor data 506 can include at least one of pressure data, temperature data, or flowrate data produced by sensors of the filter system 502. In various examples, the time series sensor data 506 can include a data stream over a period of time produced by at least one of pressure sensors, temperature sensors, or flowrate sensors of the filter system 502. The time series sensor data 506 can undergo data preprocessing and normalization 508. In one or more examples, the data preprocessing and normalization 508 can transform the time series sensor data 506 to produce discrete sections of the time series sensor data 506. The data preprocessing and normalization 508 can include normalizing at least one of inlet pressure data or differential pressure data with respect to one or more flowrates of the filter system 502. In various examples, the data preprocessing and normalization 508 can include one or more of the operations performed with respect to the framework 200 described in relation to Figure 2 and / or one or more of the operations performed with respect to the framework 300 described in relation to Figure 3.

[0069] The framework 500 can also include, at 510, generating pressure prediction and flowrate prediction models 510. The pressure prediction and flowrate prediction models 510 can include one or more pressure prediction computational models that predict at least one of one or more feed pressures of the filter system 502 or one or more differential pressures of the filter system 502 using one or more statistical techniques or one or more machine learning techniques based on normalized pressure data produced at the data preprocessing and normalization at 508. The pressure prediction and flowrate prediction models 510 can include one or more flowrate prediction computational models that predict at least one of one or more feed flowrates or one or more filter stage flowrates using one or more statistical techniques ormachine learning techniques based on normalized flowrate data and / or normalized pressure data produced at the data preprocessing and normalization at 508.

[0070] At 512, the framework 500 can include producing a digital representation 514 that simulates conditions of the filter system 502. For example, the filter system digital representation 514 can predict at least one of pressures, flowrates, or temperatures of the filter system 502 based on a given set of input conditions. In one or more examples, the filter system digital representation 514 can include one or more pressure prediction computational models 516 and one or more flowrate prediction computational models 518. The one or more pressure prediction computational models 516 and the one or more flowrate prediction computational models 518 can include computational models produced at 510. In one or more illustrative examples, the one or more pressure prediction computational models 516 can correspond to the one or more pressure prediction computational models 316 described with respect to Figure 3 and the one or more flowrate prediction computational models 518 can correspond to the one or more flowrate prediction computational models 320 described with respect to Figure 3.

[0071] In one or more examples, the filter system digital representation 514 can include one or more machine learning regression models that obtain output provided by the one or more pressure prediction computational models 516 and / or the one or more flowrate prediction computational models 518. For example, for a given set of input conditions, the one or more pressure prediction computational models 516 can produce a number of predicted pressure values and the one or more flowrate prediction computational models 518 can produce a number of predicted flowrates. In various examples, the filter system digital representation 514 can analyze the output from the one or more pressure prediction computational models 516 and the output from the one or more flowrate prediction computational models 518 to simulate the operation of the filter system 502 and predict at least one of one or more pressure values or one or more flowrates of the filter system 502.

[0072] In at least some examples, the set of conditions used by the filter system digital representation 514 to predict at least one of one or more pressures or one or more flowrates of the filter system 502, can be obtained as user input data 520. In one or more examples, the user input data 520 can include at least one of temperature data 522 or flowrate data 524. In one or more additional examples, the user input data 520 can be obtained via a user interface 526. The user interface 526 can include a first user interface element 528 that can capture the temperature data 522. The user interface 526 can also include a second user interface element 530 that can capture the pressure data 524.

[0073] The user interface 526 can also display at least one of past operating conditions or future operating conditions of the filter system 502 based on the user input data 520. To illustrate, the user interface 526 can display past and predicted pressure values 532. The past and predicted pressure values 532 can correspond to feed pressures of the filter system 502. The past and predicted pressure values 532 can also correspond to one or more differential pressures of the filter system 502. Additionally, the user interface 526 can display at least one of past or predicted temperature values 534 of the filter system 502. In still other examples, the user interface 526 can display past and predicted flowrate values 536 of the filter system 502. In at least some examples, the past and predicted pressure values 532, the past temperature data 534, and / or the past and predicted flowrate values 536 can be generated by the filter system digital representation 514 based on the user input data 520 captured by the first user interface element 528 and / or the second user interface element 530.

[0074] In one or more illustrative examples, filter system digital representation 514 can include a gradient boosted machine learning or deep learning computational model. The gradient boosted machine learning model can include a number of decision trees to predict at least one of pressure values or flowrate values of the filter system 502. The gradient boosted machine learning computational model used to implement the filter system digital representation 514 can include an ensemble of a plurality of machine learning models. In one or more additional examples, information produced by the ensemble of models included in the filter system digital representation 514 can be aggregated according to a gradient descent algorithm. Error determined in one iteration of training one or more computational models of the filter system digital representation 514 can be used to fit a next computational model of the filter system digital representation 514 in a next iteration of the training process.

[0075] Figure 6 is a flow diagram of a process 600 to determine performance of one or more filters, according to one or more example implementations. The process 600 may be embodied in computer-readable instructions for execution by one or more processors such that the operations of the processes may be performed in part or in whole by the functional components of at least one of one or more user devices or one or more server systems. Accordingly, the processes described below are by way of example with reference thereto, in some situations. However, in other implementations, at least some of the operations of the processes described with respect to Figure 6 may be deployed on various other hardware configurations. The processes described with respect to Figure 6 are therefore not intended to be limited to the being performed by one or more server systems or one or more user device described hereinand can be implemented in whole, or in part, by one or more additional components. Although the described flowcharts can show operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed. A process may correspond to a method, a procedure, an algorithm, etc. The operations of methods may be performed in whole or in part, may be performed in conjunction with some or all of the operations in other methods, and may be performed by any number of different systems, such as the systems described herein, or any portion thereof, such as a processor included in any of the systems.

[0076] At 602, the process 600 can include obtaining data including time series data indicating pressures of a filter system and flowrates of one or more fluids through the one or more filters of the filter system. The one or more pressures of the filter system can include a feed pressure of a first filter stage of the filter system. The one or more pressures of the filter system can also include a first differential pressure between a feed pressure of the first filter stage and an outlet pressure of the first filter stage. Additionally, one or more pressures of the filter system can include a second differential pressure between a feed pressure of a second filter stage and an outlet pressure of the second filter stage. In one or more examples, the first filter stage can include a first filter bank having one or more first filters. Further, the second filter stage can include a second filter bank including one or more second filters and a third filter bank including one or more third filters. The second filter bank and the third filter bank can be disposed in a parallel arrangement.

[0077] The process 600 can also include, at 604, determining discrete sections of the time series data with individual sections of the discrete sections indicating a change in one or more pressures that is at least a threshold change over a period of time. For example, the discrete sections can correspond to rates of change of a filter parameter that are greater than a threshold amount of change in the parameter. In addition, the process 600 can include, at 606, generating training data for one or more computational models. The training data can include at least a portion of the pressure data over the period if time for at least a portion of the individual discrete sections.

[0078] Further, at 608, the process 600 can include performing a training process for a computational model of the one or more computational models using at least a portion of the training data. The training process can produce a trained version of the computational model that determines at least one pressure of the filter system at a subsequent time. In one or moreexamples, the one or more computational models can include a first computational model that includes a first machine learning or deep learning model that is trained to predict feed pressure of the filter system. Additionally, the one or more computational models can include a second computational model that is trained to predict a differential pressure of a first filter bank of the filter system. The differential pressure can correspond to a difference between the feed pressure of the filter system and an outlet pressure of the first filter bank. In scenarios where multiple filter banks are present in the filter system, additional computational models can be trained to predict additional differential pressures of additional filter banks included in the filter system.

[0079] In various examples, the first computational model can be implemented to determine a predicted feed pressure of the filter system over a period of time. Additionally, the predicted feed pressure of the filter system can be analyzed with respect to a threshold pressure. Further, one or more times that the predicted feed pressure is at least the threshold pressure can be determined. Based on the one or more times that the predicted feed pressure is at least the threshold pressure, a determination can be made that maintenance is to be performed with respect to one or more filters of the filter system at a time corresponding to the one or more times.

[0080] In one or more additional examples, the second computational model can be implemented to determine a predicted differential pressure of the filter system over the period of time. The predicted differential pressure of the filter system can be analyzed with respect to an additional threshold pressure and a determination can be made that one or more additional times that the predicted differential pressure is at least an additional threshold pressure. In response to determining that the predicted differential pressure is at least the additional threshold pressure, a determination can be made that maintenance is to be performed with respect to one or more filters of the filter system at an additional time corresponding to the one or more times.

[0081] In still other examples, the time and the additional time can be analyzed with respect to one another to determine a lesser time indicating one of the time or the additional time is less than another one of the time or the additional time. In various examples, a determination can be made that maintenance of one or more filters of the filter system is to be performed at the lesser time. In one or more examples, the additional threshold pressure can be less than the threshold pressure. The additional threshold pressure can be from 250 kilopascals (kPa) to 350 kPa, and the threshold pressure can be from 2800 kPa to 3400 kPa.

[0082] In one or more further examples, additional data can be obtained indicating an amount of sulfates present in one or more fluids flowing through the filter system. A determination can be made that maintenance of the one or more filters of the filter system is to be performed based on the amount of sulfates present in the one or more fluids flowing through the filter system.

[0083] The training data can also be analyzed to determine one or more first times that a change in the feed pressure of the filter system is at least a threshold pressure change. A determination can be made that the one or more first times correspond to maintenance having been performed with respect to one or more filters of the filter system. In addition, one or more subsequent feed pressure values can be determined that occur after at least one first time of the one or more first times. An analysis can then be performed of the one or more subsequent feed pressure values with respect to a specified feed pressure of one or more filters of the filter system. Based on the analysis an efficiency can be determined that maintenance is to be performed with respect to the one or more filters. The training data can also be analyzed to determine one or more second times that an additional change in the different pressure of the first stage of the filter system is at least an additional threshold pressure change. One or more second times can then be determined that correspond to maintenance having been performed with respect to the one or more filters. Additionally, one or more subsequent differential pressure values can be determined that occur after at least one second time of the one or more second times and an analysis of the one or more subsequent differential pressure values can be performed with respect to a specified differential pressure of one or more filters of the filter system. As a result of the analysis, an efficiency of maintenance performed with respect to the one or more filters can be determined.

[0084] In one or more illustrative examples, the pressure data obtained from one or more pressure sensors can be normalized with respect to one or more flowrates of the filter system. For example, a number of portions of the time series pressure data that are produced when a flowrate of the filter system is within a specified range of flowrates can be determined. In these implementations, the training data can be produced using the number of portions of the time series pressure data that are produced when the flowrate of the filter system is within the specified range of flowrates.

[0085] A third computational model can be generated that predicts, based on user input, one or more pressures of the filter system and one or more flowrates of the filter system. In various examples, a user interface can be displayed that includes a plurality of user interface elementsto obtain the user input. The plurality of user interface elements can include a first user interface element to capture first input corresponding to one or more pressures of the filter system. The user interface can also include a second user interface element to capture second input corresponding to one or more flowrates of the filter system. In addition, the user interface can include a third user interface element to display predicted pressures of the filter system based on the first input and to display predicted flowrates of the filter system based on the second input. In at least some examples, at least one of the first computational model or the second computational model provide input to the third computational model to generate the predicted pressures. In one or more examples, the third computational model can include a gradient boost regression machine learning or deep learning models.

[0086] Figure 7 is a block diagram illustrating components of a machine 700, according to some example implementations, able to read instructions from a machine-readable medium (e.g., a machine-readable storage medium) and perform any one or more of the methodologies discussed herein. Specifically, Figure 7 shows a diagrammatic representation of the machine 700 in the example form of a computer system, within which instructions 702 (e.g., software, a program, an application, an applet, an app, or other executable code) for causing the machine 700 to perform any one or more of the methodologies discussed herein may be executed. As such, the instructions 702 may be used to implement modules or components described herein. The instructions 702 transform the general, non-programmed machine 700 into a particular machine 700 programmed to carry out the described and illustrated functions in the manner described. In alternative implementations, the machine 700 operates as a standalone device or may be coupled (e.g., networked) to other machines. In a networked deployment, the machine 700 may operate in the capacity of a server machine or a client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine 700 may comprise, but not be limited to, a server computer (including cloud and on-premises), a client computer, a personal computer (PC), a tablet computer, a laptop computer, a netbook, a set-top box (STB), a personal digital assistant (PDA), an entertainment media system, a cellular telephone, a smart phone, a mobile device, a wearable device (e.g., a smart watch), a smart home device (e.g., a smart appliance), other smart devices, a web appliance, a network router, a network switch, a network bridge, or any machine capable of executing the instructions 702, sequentially or otherwise, that specify actions to be taken by machine 700. Further, while only a single machine 700 is illustrated, the term "machine" shall also be taken to include a collection of machines that individually orjointly execute the instructions 702 to perform any one or more of the methodologies discussed herein.

[0087] The machine 700 may include processors 704, memory / storage 706, and I / O components 708, which may be configured to communicate with each other such as via a bus 710. In an example implementation, the processors 704 (e.g., a central processing unit (CPU), a reduced instruction set computing (RISC) processor, a complex instruction set computing (CISC) processor, a graphics processing unit (GPU), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a radio-frequency integrated circuit (RFIC), another processor, or any suitable combination thereof) may include, for example, a processor 712 and a processor 714 that may execute the instructions 702. The term “processor” is intended to include multi-core processors 704 that may comprise two or more independent processors (sometimes referred to as “cores”) that may execute instructions 702 contemporaneously. Although Figure 6 shows multiple processors 704, the machine 700 may include a single processor 712 with a single core, a single processor 712 with multiple cores (e.g., a multi-core processor), multiple processors 712, 714 with a single core, multiple processors 712, 714 with multiple cores, or any combination thereof.

[0088] The memory / storage 706 may include memory, such as a main memory 716, or other memory storage, and a storage unit 718, both accessible to the processors 704 such as via the bus 710. The storage unit 718 and main memory 716 store the instructions 702 embodying any one or more of the methodologies or functions described herein. The instructions 702 may also reside, completely or partially, within the main memory 716, within the storage unit 718, within at least one of the processors 704 (e.g., within the processor’s cache memory), or any suitable combination thereof, during execution thereof by the machine 700. Accordingly, the main memory 716, the storage unit 718, and the memory of processors 704 are examples of machine- readable media.

[0089] The I / O components 708 may include a wide variety of components to receive input, provide output, produce output, transmit information, exchange information, capture measurements, and so on. The specific I / O components 708 that are included in a particular machine 700 will depend on the type of machine. For example, portable machines such as mobile phones will likely include a touch input device or other such input mechanisms, while a headless server machine will likely not include such a touch input device. It will be appreciated that the I / O components 708 may include many other components that are not shown in Figure 7. The VO components 708 are grouped according to functionality merely forsimplifying the following discussion and the grouping is in no way limiting. In various example implementations, the I / O components 708 may include user output components 720 and user input components 722. The user output components 720 may include visual components (e.g., a display such as a plasma display panel (PDP), a light emitting diode (LED) display, a liquid crystal display (LCD), a projector, or a cathode ray tube (CRT)), acoustic components (e.g., speakers), haptic components (e.g., a vibratory motor, resistance mechanisms), other signal generators, and so forth. The user input components 722 may include alphanumeric input components (e.g., a keyboard, a touch screen configured to receive alphanumeric input, a photo-optical keyboard, or other alphanumeric input components), pointbased input components (e.g., a mouse, a touchpad, a trackball, a joystick, a motion sensor, or other pointing instrument), tactile input components (e.g., a physical button, a touch screen that provides location or force of touches or touch gestures, or other tactile input components), audio input components (e.g., a microphone), and the like.

[0090] In further example implementations, the I / O components 708 may include biometric components 724, motion components 726, environmental components 728, or position components 730 among a wide array of other components. For example, the biometric components 724 may include components to detect expressions (e.g., hand expressions, facial expressions, vocal expressions, body gestures, or eye tracking), measure biosignals (e.g., blood pressure, heart rate, body temperature, perspiration, or brain waves), identify a person (e.g., voice identification, retinal identification, facial identification, fingerprint identification, or electroencephalogram based identification), and the like. The motion components 726 may include acceleration sensor components (e.g., accelerometer), gravitation sensor components, rotation sensor components (e.g., gyroscope), and so forth. The environmental components 728 may include, for example, illumination sensor components (e.g., photometer), temperature sensor components (e.g., one or more thermometer that detect ambient temperature), humidity sensor components, pressure sensor components (e.g., barometer), acoustic sensor components (e.g., one or more microphones that detect background noise), proximity sensor components (e.g., infrared sensors that detect nearby objects), gas sensors (e.g., gas detection sensors to detection concentrations of hazardous gases for safety or to measure pollutants in the atmosphere), or other components that may provide indications, measurements, or signals corresponding to a surrounding physical environment. The position components 730 may include location sensor components (e.g., a GPS receiver component), altitude sensorcomponents (e.g., altimeters or barometers that detect air pressure from which altitude may be derived), orientation sensor components (e.g., magnetometers), and the like.

[0091] Communication may be implemented using a wide variety of technologies. The I / O components 708 may include communication components 732 operable to couple the machine 700 to a network 734 or devices 736. For example, the communication components 732 may include a network interface component or other suitable device to interface with the network 734. In further examples, communication components 732 may include wired communication components, wireless communication components, cellular communication components, near field communication (NFC) components, Bluetooth® components (e.g., Bluetooth® Low Energy), Wi-Fi® components, and other communication components to provide communication via other modalities. The devices 736 may be another machine 700 or any of a wide variety of peripheral devices (e.g., a peripheral device coupled via a USB).

[0092] Moreover, the communication components 732 may detect identifiers or include components operable to detect identifiers. For example, the communication components 732 may include radio frequency identification (RFID) tag reader components, NFC smart tag detection components, optical reader components (e.g., an optical sensor to detect onedimensional bar codes such as Universal Product Code (UPC) bar code, multi-dimensional bar codes such as Quick Response (QR) code, Aztec code, Data Matrix, Dataglyph, MaxiCode, PDF417, Ultra Code, UCC RSS-2D bar code, and other optical codes), or acoustic detection components (e.g., microphones to identify tagged audio signals). In addition, a variety of information may be derived via the communication components 732, such as location via Internet Protocol (IP) geo-location, location via Wi-Fi® signal triangulation, location via detecting an NFC beacon signal that may indicate a particular location, and so forth.

[0093] As used herein, “component” refers to a device, physical entity, or logic having boundaries defined by function or subroutine calls, branch points, APIs, or other technologies that provide for the partitioning or modularization of particular processing or control functions. Components may be combined via their interfaces with other components to carry out a machine process. A component may be a packaged functional hardware unit designed for use with other components and a part of a program that usually performs a particular function of related functions. Components may constitute either software components (e.g., code embodied on a machine-readable medium) or hardware components. A "hardware component" is a tangible unit capable of performing certain operations and may be configured or arranged in a certain physical manner. In various example implementations, one or more computersystems (e.g., a standalone computer system, a client computer system, or a server computer system (cloud and on-premises)) or one or more hardware components of a computer system (e.g., a processor or a group of processors) may be configured by software (e.g., an application or application portion) as a hardware component that operates to perform certain operations as described herein.

[0094] A hardware component may also be implemented mechanically, electronically, or any suitable combination thereof. For example, a hardware component may include dedicated circuitry or logic that is permanently configured to perform certain operations. A hardware component may be a special-purpose processor, such as a field-programmable gate array (FPGA) or an ASIC. A hardware component may also include programmable logic or circuitry that is temporarily configured by software to perform certain operations. For example, a hardware component may include software executed by a general-purpose processor 704 or other programmable processor. Once configured by such software, hardware components become specific machines (or specific components of a machine 700) uniquely tailored to perform the configured functions and are no longer general-purpose processors 704. It will be appreciated that the decision to implement a hardware component mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (e.g., configured by software) may be driven by cost and time considerations. Accordingly, the phrase "hardware component"(or "hardware-implemented component") should be understood to encompass a tangible entity, be that an entity that is physically constructed, permanently configured (e.g., hardwired), or temporarily configured (e.g., programmed) to operate in a certain manner or to perform certain operations described herein. Considering implementations in which hardware components are temporarily configured (e.g., programmed), each of the hardware components need not be configured or instantiated at any one instance in time. For example, where a hardware component comprises a general-purpose processor 704 configured by software to become a special-purpose processor, the general-purpose processor 704 may be configured as respectively different special-purpose processors (e.g., comprising different hardware components) at different times. Software accordingly configures a particular processor 712, 714 or processors 704, for example, to constitute a particular hardware component at one instance of time and to constitute a different hardware component at a different instance of time.

[0095] Hardware components can provide information to, and receive information from, other hardware components. Accordingly, the described hardware components may be regarded asbeing communicatively coupled. Where multiple hardware components exist contemporaneously, communications may be achieved through signal transmission (e.g., over appropriate circuits and buses) between or among two or more of the hardware components. In implementations in which multiple hardware components are configured or instantiated at different times, communications between such hardware components may be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple hardware components have access. For example, one hardware component may perform an operation and store the output of that operation in a memory device to which it is communicatively coupled. A further hardware component may then, at a later time, access the memory device to retrieve and process the stored output.

[0096] Hardware components may also initiate communications with input or output devices, and can operate on a resource (e.g., a collection of information). The various operations of example methods described herein may be performed, at least partially, by one or more processors 704 that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors 704 may constitute processor-implemented components that operate to perform one or more operations or functions described herein. As used herein, "processor-implemented component" refers to a hardware component implemented using one or more processors 704. Similarly, the methods described herein may be at least partially processor-implemented, with a particular processor 712, 714 or processors 704 being an example of hardware. For example, at least some of the operations of a method may be performed by one or more processors 704 or processor-implemented components. Moreover, the one or more processors 704 may also operate to support performance of the relevant operations in a "cloud computing" environment or as a "software as a service" (SaaS). For example, at least some of the operations may be performed by a group of computers (as examples of machines 700 including processors 704), with these operations being accessible via a network 734 (e.g., the Internet) and via one or more appropriate interfaces (e.g., an API). The performance of certain of the operations may be distributed among the processors, not only residing within a single machine 700, but deployed across a number of machines. In some example implementations, the processors 704 or processor-implemented components may be located in a single geographic location (e.g., within a home environment, an office environment, or a server farm). In other example implementations, the processors 704 or processor-implemented components may be distributed across a number of geographic locations.

[0097] Figure 8 is a block diagram illustrating system 800 that includes an example software architecture 802, which may be used in conjunction with various hardware architectures herein described. Figure 8 is a non-limiting example of a software architecture, and it will be appreciated that many other architectures may be implemented to facilitate the functionality described herein. The software architecture 802 may execute on hardware such as machine 700 of Figure 7 that includes, among other things, processors 704, memory / storage 706, and input / output (I / O) components 708. A representative hardware layer 804 is illustrated and can represent, for example, the machine 700 of Figure 7. The representative hardware layer 804 includes a processing unit 806 having associated executable instructions 808. Executable instructions 808 represent the executable instructions of the software architecture 802, including implementation of the methods, components, and so forth described herein. The hardware layer 804 also includes at least one of memory or storage modules memory / storage 810, which also have executable instructions 808. The hardware layer 804 may also comprise other hardware 812.

[0098] In the example architecture of Figure 8, the software architecture 802 may be conceptualized as a stack of layers where each layer provides particular functionality. For example, the software architecture 802 may include layers such as an operating system 814, libraries 816, frameworks / middl eware 818, applications 820, and a presentation layer 822. Operationally, the applications 820 or other components within the layers may invoke API calls 824 through the software stack and receive messages 826 in response to the API calls 824. The layers illustrated are representative in nature and not all software architectures have all layers. For example, some mobile or special purpose operating systems may not provide a frameworks / middl eware 818, while others may provide such a layer. Other software architectures may include additional or different layers.

[0099] The operating system 814 may manage hardware resources and provide common services. The operating system 814 may include, for example, a kernel 828, services 830, and drivers 832. The kernel 828 may act as an abstraction layer between the hardware and the other software layers. For example, the kernel 828 may be responsible for memory management, processor management (e.g., scheduling), component management, networking, security settings, and so on. The services 830 may provide other common services for the other software layers. The drivers 832 are responsible for controlling or interfacing with the underlying hardware. For instance, the drivers 832 include display drivers, camera drivers, Bluetooth® drivers, flash memory drivers, serial communication drivers (e.g., Universal Serial Bus (USB)drivers), Wi-Fi® drivers, audio drivers, power management drivers, and so forth depending on the hardware configuration.

[0100] The libraries 816 provide a common infrastructure that is used by at least one of the applications 820, other components, or layers. The libraries 816 provide functionality that allows other software components to perform tasks in an easier fashion than to interface directly with the underlying operating system 814 functionality (e.g., kernel 828, services 830, drivers 832). The libraries 816 may include system libraries 834 (e.g., C standard library) that may provide functions such as memory allocation functions, string manipulation functions, mathematical functions, and the like. In addition, the libraries 816 may include API libraries 836 such as media libraries (e.g., libraries to support presentation and manipulation of various media format such as MPEG4, H.264, MP3, AAC, AMR, JPG, PNG), graphics libraries (e.g., an OpenGL framework that may be used to render two-dimensional and three-dimensional in a graphic content on a display), database libraries (e.g., SQLite that may provide various relational database functions), web libraries (e.g., WebKit that may provide web browsing functionality), and the like. The libraries 816 may also include a wide variety of other libraries 838 to provide many other APIs to the applications 820 and other software components / modules.

[0101] The frameworks / middl eware 818 (also sometimes referred to as middleware) provide a higher-level common infrastructure that may be used by the applications 820 or other software components / modules. For example, the frameworks / middleware 818 may provide various graphical user interface functions, high-level resource management, high-level location services, and so forth. The frameworks / middleware 818 may provide a broad spectrum of other APIs that may be utilized by the applications 820 or other software components / modules, some of which may be specific to a particular operating system 814 or platform.

[0102] The applications 820 include built-in applications 840 and third-party applications 842. Examples of representative built-in applications 840 may include, but are not limited to, a contacts application, a browser application, a book reader application, a location application, a media application, a messaging application, or a game application. Third-party applications 842 may include an application developed using the ANDROID™ or IOS™ software development kit (SDK) by an entity other than the vendor of the particular platform and may be mobile software running on a mobile operating system such as IOS™, ANDROID™, WINDOWS® Phone, or other mobile operating systems. The third-party applications 842 mayinvoke the API calls 824 provided by the mobile operating system (such as operating system 814) to facilitate functionality described herein.

[0103] The applications 820 may use built-in operating system functions (e.g., kernel 828, services 830, drivers 832), libraries 816, and frameworks / middleware 818 to create UIs to interact with users of the system. Alternatively, or additionally, in some systems, interactions with a user may occur through a presentation layer, such as presentation layer 822. In these systems, the application / component "logic" can be separated from the aspects of the application / component that interact with a user.

[0104] At least some of the processes described herein can be embodied in computer-readable instructions for execution by one or more processors such that the operations of the processes may be performed in part or in whole by the functional components of one or more computer systems. Accordingly, computer-implemented processes described herein are by way of example with reference thereto, in some situations. However, in other implementations, at least some of the operations of the computer-implemented processes described herein can be deployed on various other hardware configurations. The computer-implemented processes described herein are therefore not intended to be limited to the systems and configurations described with respect to Figures 6 and 7 and can be implemented in whole, or in part, by one or more additional system and / or components.

[0105] As used herein, the terms “substantially” or “generally” refer to the complete or nearly complete extent or degree of an action, characteristic, property, state, structure, item, or result. For example, an object that is “substantially” or “generally” enclosed would mean that the object is either completely enclosed or nearly completely enclosed. The exact allowable degree of deviation from absolute completeness may in some cases depend on the specific context. However, generally speaking, the nearness of completion will be so as to have generally the same overall result as if absolute and total completion were obtained. The use of “substantially” or “generally” is equally applicable when used in a negative connotation to refer to the complete or near complete lack of an action, characteristic, property, state, structure, item, or result. For example, an element, combination, implementation, or composition that is “substantially free of’ or “generally free of’ an element may still actually contain such element as long as there is generally no significant effect thereof.

[0106] In the foregoing description various implementations of the present disclosure have been presented for the purpose of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise form disclosed. Obvious modifications orvariations are possible in light of the above teachings. The various implementations were chosen and described to provide the best illustration of the principals of the disclosure and their practical application, and to enable one of ordinary skill in the art to utilize the various implementations with various modifications as are suited to the particular use contemplated. All such modifications and variations are within the scope of the present disclosure as determined by the appended claims when interpreted in accordance with the breadth they are fairly, legally, and equitably entitled.

[0107] A numbered non-limiting list of examples of the present subject matter is presented below.

[0108] Example 1. A method comprising: obtaining data including time series data indicating pressures of a filter system and flowrates of one or more fluids through one or more filters of the filter system; determining discrete sections of the time series data with individual discrete sections of the discrete sections indicating a change in one or more pressures of the filter system that is at least a threshold change over a period of time; generating training data for one or more computational models, wherein the training data includes at least a portion of pressure data included in the time series data over the period of time for at least a portion of the individual discrete sections; and performing a training process for a computational model of the one or more computational models using at least a portion of the training data to produce a trained version of the computational model, wherein the computational model determines at least one pressure of the filter system at a subsequent time.

[0109] Example 2. The method of example 1, wherein the one or more pressures of the filter system include a feed pressure of a first filter stage of the filter system, a first differential pressure between a feed pressure of the first filter stage and an outlet pressure of the first filter stage, or a second differential pressure between a feed pressure of a second filter stage and an outlet pressure of the second filter stage.

[0110] Example 3. The method of example 2, wherein the first filter stage includes a first filter bank including one or more first filters and the second filter stage includes a second filter bank including one or more second filters and a third filter bank including one or more third filters, wherein the second filter bank and the third filter bank are disposed in a parallel arrangement.

[0111] Example 4. The method of example 3, wherein: a first computational model of the one or more computational models includes a first machine learning or deep learning regression model that is trained to predict feed pressure of the filter system; and a second computational model of the one or more computational models includes a second machine learning or deeplearning regression model that is trained to predict a differential pressure of a first filter bank of the filter system, wherein the differential pressure corresponds to a difference between the feed pressure of the filter system and an outlet pressure of the first filter bank.

[0112] Example 5. The method of example 4, comprising: determining, using the first computational model, a predicted feed pressure of the filter system over a period of time; analyzing the predicted feed pressure of the filter system with respect to a threshold pressure; determining one or more times that the predicted feed pressure is at least the threshold pressure; and determining that maintenance is to be performed with respect to one or more filters of the filter system at a time corresponding to the one or more times.

[0113] Example 6. The method of example 5, comprising: determining, using the second computational model, a predicted differential pressure of the filter system over the period of time; analyzing the predicted differential pressure of the filter system with respect to an additional threshold pressure; determining one or more additional times that the predicted differential pressure is at least an additional threshold pressure; and determining that maintenance is to be performed with respect to one or more filters of the filter system at an additional time corresponding to the one or more times.

[0114] Example 7. The method of example 6, comprising: analyzing the time and the additional time with respect to one another to determine a lesser time indicating one of the time or the additional time is less than another one of the time or the additional time; and determining that maintenance of one or more filters of the filter system is to be determined at the lesser time.

[0115] Example 8. The method of example 7, wherein the additional threshold pressure is less than the threshold pressure, the additional threshold pressure is from 250 kilopascals (kPa) to 350 kPa, and the threshold pressure is from 2800 kPa to 3400 kPa.

[0116] Example 9. The method of example 8, comprising: obtaining additional data indicating an amount of sulfates present in one or more fluids flowing through the filter system; and determining that maintenance of the one or more filters of the filter system is to be performed based on the amount of sulfates present in the one or more fluids flowing through the filter system.

[0117] Example 10. The method of example 4, comprising: analyzing the training data to determine one or more first times that a change in the feed pressure of the filter system is at least a threshold pressure change; and determining that the one or more first times correspond to maintenance having been performed with respect to one or more filters of the filter system.

[0118] Example 11. The method of example 10, comprising: determining one or more subsequent feed pressure values that occur after at least one first time of the one or more first times; performing an analysis of the one or more subsequent feed pressure values with respect to a specified feed pressure of one or more filters of the filter system; and determining, based on the analysis, an efficiency of maintenance performed with respect to the one or more filters.

[0119] Example 12. The method of example 11, comprising: analyzing the training data to determine one or more second times that an additional change in the differential pressure of the first filter stage of the filter system is at least an additional threshold pressure change; and determining that the one or more second times correspond to maintenance having been performed with respect to the one or more filters.

[0120] Example 13. The method of example 12, comprising: determining one or more subsequent differential pressure values that occur after at least one second time of the one or more second times; performing an analysis of the one or more subsequent differential pressure values with respect to a specified differential pressure of one or more filters of the filter system; and determining, based on the analysis, an efficiency of maintenance performed with respect to the one or more filters.

[0121] Example 14. A computing apparatus comprising: one or more processors; and memory including computer-readable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising: obtaining data including time series data indicating pressures of a filter system and flowrates of one or more fluids through one or more filters of the filter system; determining discrete sections of the time series data with individual discrete sections of the discrete sections indicating a change in one or more pressures that is at least a threshold change over a period of time; generating training data for one or more computational models, wherein the training data includes at least a portion of pressure data included in the time series data over the period of time for at least a portion of the individual discrete sections; and performing a training process for a computational model of the one or more computational models using at least a portion of the training data to produce a trained version of the computational model, wherein the computational model determines at least one pressure of the filter system at a subsequent time.

[0122] Example 15. The computing apparatus of example 14, wherein the memory stores additional computer-readable instructions that, when executed by the one or more processors, perform additional operations comprising: determining a number of portions of the pressure data that are produced when a flowrate of the filter system is within a specified range offlowrates; and wherein the training data is produced using the number of portions of the pressure data that are produced when the flowrate of the filter system is within the specified range of flowrates.

[0123] Example 16. The computing apparatus of example 15, wherein: a first computational model of the one or more computational models includes a first machine learning or deep learning model that is trained using the training data to predict feed pressure of the filter system; and a second computational model of the one or more computational models includes a second machine learning or deep learning model that is trained using the training data to predict a differential pressure of a first filter bank of the filter system, wherein the differential pressure corresponds to a difference between the feed pressure of the filter system and an outlet pressure of the first filter bank.

[0124] Example 17. The computing apparatus of example 16, wherein the memory includes additional computer-readable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising: generating a third computational model that predicts, based on user input, one or more pressures of the filter system and one or more flowrates of the filter system.

[0125] Example 18. The computing apparatus of example 17, wherein the memory includes additional computer-readable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising: causing a user interface to be displayed that includes a plurality of user interface elements, the plurality of user interface elements including a first user interface element to capture first input corresponding to one or more pressures of the filter system, a second user interface element to capture second input corresponding to one or more flowrates of the filter system, and a third user interface element to display predicted pressures of the filter system based on the first input and to display predicted flowrates of the filter system based on the second input.

[0126] Example 19. The computing apparatus of example 17, wherein at least one of the first computational model or the second computational model provide input to the third computational model to generate the predicted pressures.

[0127] Example 20. The computing apparatus of example 17, wherein the third computational model includes a gradient boost or deep learning regression machine learning model.

Claims

CLAIMSWhat is claimed is:

1. A method comprising: obtaining data including time series data indicating pressures of a filter system and flowrates of one or more fluids through one or more filters of the filter system; determining discrete sections of the time series data with individual discrete sections of the discrete sections indicating a change in one or more pressures of the filter system that is at least a threshold change over a period of time; generating training data for one or more computational models, wherein the training data includes at least a portion of pressure data included in the time series data over the period of time for at least a portion of the individual discrete sections; and performing a training process for a computational model of the one or more computational models using at least a portion of the training data to produce a trained version of the computational model, wherein the computational model determines at least one pressure of the filter system at a subsequent time.

2. The method of claim 1, wherein the one or more pressures of the filter system include a feed pressure of a first filter stage of the filter system, a first differential pressure between a feed pressure of the first filter stage and an outlet pressure of the first filter stage, or a second differential pressure between a feed pressure of a second filter stage and an outlet pressure of the second filter stage.

3. The method of claim 2, wherein the first filter stage includes a first filter bank including one or more first filters and the second filter stage includes a second filter bank including one or more second filters and a third filter bank including one or more third filters, wherein the second filter bank and the third filter bank are disposed in a parallel arrangement.

4. The method of claim 3, wherein: a first computational model of the one or more computational models includes a first machine learning or deep learning regression model that is trained to predict feed pressure of the filter system; anda second computational model of the one or more computational models includes a second machine learning or deep learning regression model that is trained to predict a differential pressure of a first filter bank of the filter system, wherein the differential pressure corresponds to a difference between the feed pressure of the filter system and an outlet pressure of the first filter bank.

5. The method of claim 4, comprising: determining, using the first computational model, a predicted feed pressure of the filter system over a period of time; analyzing the predicted feed pressure of the filter system with respect to a threshold pressure; determining one or more times that the predicted feed pressure is at least the threshold pressure; and determining that maintenance is to be performed with respect to one or more filters of the filter system at a time corresponding to the one or more times.

6. The method of claim 5, comprising: determining, using the second computational model, a predicted differential pressure of the filter system over the period of time; analyzing the predicted differential pressure of the filter system with respect to an additional threshold pressure; determining one or more additional times that the predicted differential pressure is at least an additional threshold pressure; and determining that maintenance is to be performed with respect to one or more filters of the filter system at an additional time corresponding to the one or more times.

7. The method of claim 6, comprising: analyzing the time and the additional time with respect to one another to determine a lesser time indicating one of the time or the additional time is less than another one of the time or the additional time; and determining that maintenance of one or more filters of the filter system is to be determined at the lesser time.

8. The method of claim 7, wherein the additional threshold pressure is less than the threshold pressure, the additional threshold pressure is from 250 kilopascals (kPa) to 350 kPa, and the threshold pressure is from 2800 kPa to 3400 kPa.

9. The method of claim 8, comprising: obtaining additional data indicating an amount of sulfates present in one or more fluids flowing through the filter system; and determining that maintenance of the one or more filters of the filter system is to be performed based on the amount of sulfates present in the one or more fluids flowing through the filter system.

10. The method of claim 4, comprising: analyzing the training data to determine one or more first times that a change in the feed pressure of the filter system is at least a threshold pressure change; and determining that the one or more first times correspond to maintenance having been performed with respect to one or more filters of the filter system.

11. The method of claim 10, comprising: determining one or more subsequent feed pressure values that occur after at least one first time of the one or more first times; performing an analysis of the one or more subsequent feed pressure values with respect to a specified feed pressure of one or more filters of the filter system; and determining, based on the analysis, an efficiency of maintenance performed with respect to the one or more filters.

12. The method of claim 11, comprising: analyzing the training data to determine one or more second times that an additional change in the differential pressure of the first filter stage of the filter system is at least an additional threshold pressure change; and determining that the one or more second times correspond to maintenance having been performed with respect to the one or more filters.

13. The method of claim 12, comprising:determining one or more subsequent differential pressure values that occur after at least one second time of the one or more second times; performing an analysis of the one or more subsequent differential pressure values with respect to a specified differential pressure of one or more filters of the filter system; and determining, based on the analysis, an efficiency of maintenance performed with respect to the one or more filters.

14. A computing apparatus comprising: one or more processors; and memory including computer-readable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising: obtaining data including time series data indicating pressures of a filter system and flowrates of one or more fluids through one or more filters of the filter system; determining discrete sections of the time series data with individual discrete sections of the discrete sections indicating a change in one or more pressures that is at least a threshold change over a period of time; generating training data for one or more computational models, wherein the training data includes at least a portion of pressure data included in the time series data over the period of time for at least a portion of the individual discrete sections; and performing a training process for a computational model of the one or more computational models using at least a portion of the training data to produce a trained version of the computational model, wherein the computational model determines at least one pressure of the filter system at a subsequent time.

15. The computing apparatus of claim 14, wherein the memory stores additional computer-readable instructions that, when executed by the one or more processors, perform additional operations comprising: determining a number of portions of the pressure data that are produced when a flowrate of the filter system is within a specified range of flowrates; and wherein the training data is produced using the number of portions of the pressure data that are produced when the flowrate of the filter system is within the specified range of flowrates.

16. The computing apparatus of claim 15, wherein: a first computational model of the one or more computational models includes a first machine learning or deep learning model that is trained using the training data to predict feed pressure of the filter system; and a second computational model of the one or more computational models includes a second machine learning or deep learning model that is trained using the training data to predict a differential pressure of a first filter bank of the filter system, wherein the differential pressure corresponds to a difference between the feed pressure of the filter system and an outlet pressure of the first filter bank.

17. The computing apparatus of claim 16, wherein the memory includes additional computer-readable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising: generating a third computational model that predicts, based on user input, one or more pressures of the filter system and one or more flowrates of the filter system.

18. The computing apparatus of claim 17, wherein the memory includes additional computer-readable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising: causing a user interface to be displayed that includes a plurality of user interface elements, the plurality of user interface elements including a first user interface element to capture first input corresponding to one or more pressures of the filter system, a second user interface element to capture second input corresponding to one or more flowrates of the filter system, and a third user interface element to display predicted pressures of the filter system based on the first input and to display predicted flowrates of the filter system based on the second input.

19. The computing apparatus of claim 17, wherein at least one of the first computational model or the second computational model provide input to the third computational model to generate the predicted pressures.

20. The computing apparatus of claim 17, wherein the third computational model includes a gradient boost or deep learning regression machine learning model.

Citation Information

Patent Citations

  • CN113984124B

  • EP4461396A1

  • KR102562025B1

  • US11065568B2

  • US20230214714A1