MODULO: A software for Multiscale Proper Orthogonal Decomposition of data
MMODULO: A software for Multiscale Proper Orthogonal Decomposition of data
Davide Ninni , Miguel A. Mendez ∗ von Karman Institute for Fluid Dynamics, EA Department, 1640 Sint-Genesius-Rode, Belgium Abstract
In the era of the Big Data revolution, methods for the automatic discovery of regularities in large datasets are becoming essentialtools in applied sciences. This article presents an open software package, named MODULO (MODal mULtiscale pOd), to performthe Multiscale Proper Orthogonal Decomposition (mPOD) of numerical and experimental data. This novel decomposition combinesMulti-resolution Analysis (MRA) and standard Proper Orthogonal Decomposition (POD) to allow for the optimal compromisebetween decomposition convergence and spectral purity of its modes. The software is equipped with a Graphical User Interface(GUI) and enriched by numerous examples and video tutorials (see Youtube channel MODULO mPOD).
Keywords:
Data-Driven Modal Decomposition, Multiresolution Analysis, Multiscale Proper Orthogonal Decomposition
1. Motivation and significance
Data driven modal analysis aims at decomposing a dataset asa linear combination of elementary contributions called modes .This provides the fundamental framework for many areas ofapplied mathematics and related applications, including patternrecognition, machine learning, data compression, filtering andmodel order reduction [1, 2]. Every linear decomposition repre-sents a projection of the dataset onto a suitable space, spannedby a basis that is, hopefully, better capable of capturing the es-sential features of the data.A mode is computed by projecting the data onto a certainelement of a basis. In most of the engineering applications,the data results from the discretization, or sampling of a realquantity (e.g. grayscale entries in images, pressure fields in afluid flow simulation or stress fields in solid mechanics) over aspatial discretization x i and a temporal discretization t k . Eachof the modes produced by a decomposition has its own spatialand temporal structure.In pattern recognition, one aims at linking modes to spe-cific patterns of interest [3, 4]. In filtering or data compres-sion, one aims at removing modes that describe unwanted fea-tures or modes that do not significantly contribute to the data[5, 6]. In machine learning, this is often a fundamental pre-processing step for many supervised or unsupervised problems[7]. In model order reduction, one aims at projecting partialdi ff erential equations onto the space spanned by a few of theleading modes [8, 9], thus significantly reducing the computa-tional complexity of a problem and eventually enabling systemidentification methods and control [10, 11].Contrary to classical tools such as the Discrete Fourier Trans-form (DFT) or Discrete Wavelet Transform (DWT), data-driven ∗ Corresponding author
Email address: [email protected] (Miguel A. Mendez) Currently at Politecnico di Bari, Dipartimento di Meccanica, Matematica& Management, 70125 Bari, Italy. decompositions tailor their bases to the data investigated. TheProper Orthogonal Decomposition (POD, [12, 13]), also knownas Principal Component Analysis (PCA, [14]) or Karhunen-Lo´eve transform [15] depending on the field, is the most clas-sic example. This decomposition is often implemented usingthe well known Singular Value Decomposition (SVD) and con-structs its bases such that the error produced by truncating thedecomposition to any r < R is minimized (see also [16]).The convergence optimality comes at the cost of setting noconstraints on the frequency content of the structures constitut-ing its modes. In many applications, however, it is of interestto have harmonic decompositions to facilitate physical inter-pretability. In fluid mechanics, this need has motivated the de-velopment of an alternative decomposition known as DynamicMode Decomposition (DMD, [17]), which extends the Fourierdecomposition to the data-driven paradigm: frequencies are de-fined from the dataset and not imposed a priori.There exist nevertheless cases for which both convergenceoptimality and spectral purity yields poor feature detection ca-pabilities [18]. The lack of frequency constraints in the PODoccasionally results in modes that capture phenomena occur-ring at very di ff erent scales. On the other hand, the constraintof purely harmonic modes prevents time-frequency localiza-tion and yields convergence problems for datasets that are notstrictly periodic.The Multiscale Proper Orthogonal Decomposition proposedin [18] allows for overcoming the limitations of the two with ahybrid method that combines their advantages. This decompo-sition has already been successfully used in various experimen-tal [19, 20, 21, 22] and numerical works [23, 18]. The softwarepackage MODal mULtiscale pOd (MODULO) described in thiswork is a Matlab-based software developed at the von KarmanInstitute for Fluid Dynamics to perform mPOD, POD and DFTon numerical and experimental data. Equipped with a GraphicalUser Interface (GUI), an executable, and a set of exercises and
Preprint submitted to SoftwareX April 28, 2020 a r X i v : . [ phy s i c s . d a t a - a n ] A p r ideo tutorials, the use of this software does not require directinteraction with the source code and can thus facilitate appliedscientists that are unwilling to enter into technicalities linked toprogramming. In what follows, we refer the reader to each ofthe eight video tutorials in MODULO’s youtube channel for amore detailed review of the software features.
2. Software Description
A brief description of the theoretical background of the codeis here proposed; for more details, the reader is referred to [18]and to the first three video tutorials in the channel. As describedin the first video, all the modal decompositions implemented arematrix factorizations of the form D ( x i , t k ) = Φ ( x i ) Σ Ψ ( t k ) T (1)where D is the data matrix to decompose, here assumed to befunction of space and time. We here assume that, regardless ofthe dimensionality (e.g. 2D or 3D) and the nature (e.g. scalar orvector) of the data, every temporal realization is flattened intoa vector and stored as a column of D . This matrix is henceof size n s × n t , with n s the number of spatial points and n t isthe number of temporal realizations (snapshot), and has rank R = rank ( D ) ≤ N = min ( n s , n t ).The matrices Φ ∈ C n s × R and Ψ ∈ C n t × R collect the spatial andthe temporal structures (bases) and Σ = diag [ σ , σ , . . . , σ R ] ∈ R R × R is the diagonal matrix collecting their importance (ampli-tude). More generally, if other independent variables are con-sidered instead of space and time, Φ and Ψ contain a basis forthe columns and the rows of D respectively.The bold notation used for index or discretization of the spa-tial domain ( x i or i ) denotes linear matrix indices and recallthat the data might have more than one dimension in space. Inthe current version of the code, it is assumed that the data hasuniform sampling both in space and in time, although the latterconstraint can be released for the POD. Consider, for example, a2D velocity field from planar Particle Image Velocimetry (PIV)sampled over a grid x i = [ x i , y j ] containing 128x128 points.Flattening the entire velocity field into the columns of D , thenumber of spatial points if n s = × × = D is constructed by assigning every k th snapshot d k [ i ] to a column of the matrix D . Here k is the index overthe time discretization t k = ( k − ∆ t , sampled at a frequency f s = / ∆ t with k = [1 , n t ]. As the spatial structures φ r [ i ] arecolumns of Φ , and the temporal structures ψ r [ k ] are columns of Ψ , eq.(1) can be written as a dyadic expansion: D [ i , k ] = N (cid:88) r = σ r φ r [ i ] ψ Tr [ k ] . (2)If the summation is truncated at r < N , an approximation of theoriginal data is obtained.Since Σ is a diagonal matrix, and both the spatial and tempo-ral structures have unitary norm || φ r || = || ψ r || = ∀ r ∈ [1 , R ], it is easy to see that the decomposition can be completed onceeither Φ or Ψ are given.The decompositions implemented in MODULO are thePOD, the DFT, and the mPOD, computing first the temporalstructures Ψ . While for the POD this distinction is irrelevant,this is not the case for the DFT and the mPOD. All these decom-positions have an orthonormal temporal basis ( Ψ − = Ψ † , with † denoting Hermitian transpose). Hence, the spatial structurescan be easily computed as Φ = D Ψ Σ − , (3)where the calculation of the diagonal matrix Σ is done from thenormalization of the spatial structures, that is σ r = || D ψ r || .The theoretical background for DFT and POD is provided inthe second video tutorial while the third video tutorial is dedi-cated to the mPOD. The computation of the temporal structuresfor these three decompositions proceeds as follows. -DFT. The temporal basis is the well known Fourier matrix,which can be written as Ψ F ( i , j ) = w ( i −
1) ( j − , with w = e π i / n t with i = √−
1. Since this decomposition is not data-driven ,this matrix is prepared a priori, regardless of the data, once thesampling frequency and the number of snapshots are given. -POD.
The temporal basis is computed from the eigenvalue de-composition of K = D T D : Ψ P : → K = Ψ P Λ Ψ TP . (4)This matris is known as temporal correlation matrix in the fluidmechanics community and the approach implemented is knownas Sirovinch’s snapshot method [24]. -mPOD. The temporal basis is computed via a combination ofMulti-resolution analysis and eigenvalue decomposition. Thefundamental idea of the mPOD is to perform POD at di ff er-ent scales, each retaining non-overlapping portions of the fre-quency spectra. For example, assuming that the dataset is sam-pled at f s = Hz , one might decide to separate phenomenaoccurring in the range [0 − Hz , [100 − Hz and [300 − Hz and perform a POD on each of these independently.As described in [18], this could be done by using a filter bank,defined by a frequency splitting vector F V = [100 , Hz , tobreak the dataset into three contributions, and perform the PODin each of these separately. However, to reduce the computa-tional cost of this operation, the mPOD performs this opera-tion on the temporal correlation matrix K = D T D . Given a setof suitable transfer functions {H m } Mm = , with M the number ofscales to identify, the mPOD breaks the correlation matrix as: K = M (cid:88) m = K m = M (cid:88) m = Ψ F (cid:104)(cid:98) K (cid:12) H m (cid:105) Ψ F (5)where (cid:98) K = Ψ F K Ψ F is the 2D Fourier transform of the cor-relation matrix and (cid:12) is the shur product, that is the entry byentry multiplication between two matrices.2he filtering operation is designed to preserve the key prop-erties of K : each contribution K m is symmetric and positive def-inite and thus equipped with a set of orthonormal eigenvectors(POD modes) and non-negative real eigenvalues: K m = Ψ P m Λ m Ψ T P m = n m (cid:88) j = λ m ψ P m j ψ T P m j , (6)where n m is the number of non-null eigenvalues at each scale.These spectral constraints imposes that a mode (eigenvector)having frequency content in one scale has no frequency contentin the others. Therefore, it is possible to show that the eigen-vectors of all the scale are orthogonal complements that spanthe entire R n t space, that is (cid:80) Mm = n m ≈ n t .The mPOD basis is then constructed by collecting the PODbases of all the scales, sorted by amplitude: Ψ M = [ Ψ , Ψ . . . Ψ M ] P Σ (7)with P Σ a permutation matrix to rank the structures in decreas-ing order of energy contribution.This decomposition generalizes POD and DFT: for M → M → n t , the mPODis a DFT. MODULO has a minimal Graphical User Interface (GUI),shown in figure 1, that opens after launching the executable.The decomposition process can be followed from the toolbar inthe upper part of the main menu. An overview of MODULO’sGUI is given in the fourth video tutorial.
Figure 1: Main menu of MODULO. Here the user sets the exporting folder andproceeds through the decomposition from the upper toolbar.
In this first version of the software, the data is assumed to be1D or 2D: the first raw of non-editable tabs shows the numberof points along the x-axis ( Nx ), the y-axis ( Ny ), the total numberof spatial points ( Ns) and the number of time steps ( Nt ). In a 1Dtest case, it is assumed that Ns=Nx (Ny=0) ; in a 2D scalar testcase one has
Ns=Nx × Ny while a 2D vectorial test case yields Ns=2 × Nx × Ny .The dataset can be imported from the menu Import Data ,which allows for two options: embedded mesh or separatedmesh . The first option should be used if the mesh grid is storedin each of the data files; the second option should be used if themesh is stored in another file. Before importing the data, the user can mean-center all thesnapshots, i.e., remove the average column (time average if therow domain is linked to time) from the snapshot matrix D . Thisoption can be useful for plotting purposes in the DFT and isgenerally recommended for POD and mPOD of statistically sta-tionary datasets.Once the files are loaded, the Region of Interest (RoI) GUIshown in figure 2 opens.
Figure 2: Region of Interest window, to visualize the imported snapshots, selectthe portion of the domain that will be analized and several plotting parameters.
This GUI allows for setting the portion of the spatial domainthat will be used in the decomposition. By default, MOD-ULO considers the entire domain, but the user can introducethe ranges along the horizontal ( x_L, x_R ) and the vertical( x_L, x_R ) axes. The upper left menu pop-up menu allows forselecting and preview any of the imported snapshots. In caseof vector datasets, the parameters on the left allow for adjustingthe quiver plot in terms of spacing ( delta_x, delta_y ) andarrow length (
Scale ) while the bottom tick boxes can be usedto flip the axes or adjust the axis aspect ratio to 1 : 1. The set-tings used at the step will be used in the exporting of the spatialstructures of the decomposition.Once these parameters are set, the user can either use the
RESET button, to restore default values or the button
DONE , toproceed with the importing of the data and the preparation ofthe matrix D . The Memory saving option is described in thesection 2.3.1.
From the
Process menu, the user can select which of thethree decompositions described in section 2, is to be performed.By choosing POD or DFT algorithms, the user is asked to in-troduce the sampling frequency f s and the extreme of the rangeof the modes to be exported, as shown in figure ?? . For all thedecompositions, this indexing assumes that the modes are al-ways exported in decreasing order of amplitude, even if DFTand mPOD are not energy-based. Nevertheless, for DFT andmPOD, the need for ordering the modes requires the calcula-tion of the complete basis regardless of the number of exportedmodes, while for the POD only the modes to be exported arecomputed.MODULO is a dimensionless software, hence the units in thesampling frequency needs not to be specified: digital frequency3ins are computed as ∆ f = f s / n t and the frequency domainis f n ∈ [ − f s / , f s / Fs and the number of scales excluding the largest .Assuming, for example, that one is interested in four scales, say[0 − Hz , [100 − Hz , [200 − Hz , and [300 − F s / Hz ,the number to introduce here is 3. The reason for excluding thefirst (largest) scale from the counting is that this scale is alwayskept by default in MODULO while the other scales can be re-moved if the software is used as a low-pass filter, as describedshortly.The parameters C-axis and
Frequency axis limit canbe modified for plotting purposes; the first changes the upperlimit in the color axis of the contour plot, the second sets thefrequency limits in the axes of both figures.The last input parameter in the figure is the
Modes cut-off ,which controls the number of modes computed as indicated inthe non-editable text box below. A red line also indicates thispercentage in the normalized spectrum (right plot). This num-ber controls the number of modes, in each scale, that will beconsidered in the final mPOD basis: if this is set to, e.g., 10%,then only the modes that have at least 10% of the leading PODmode energy in each scale will be taken. Observe that this esti-mation is made before computing the decomposition based onthe transfer function of the filters that will isolate the scales,and is thus only an estimation. This estimation is availableonly after the settings of the filters in each scale are introduced,from the
SET button. The first parameter is the frequency split-ting vector: its entries collect the cut-o ff frequencies on eachscale. In the previous example this is F V = [100 , , Hz (units are customary). The second input is a vector contain-ing the length of the filter kernels that will be used to computeeach scale. These are FIR filters with a Hamming window. Fi-nally, the last input allows for introducing the keep vector . Thisindicates the intermediate scales that will be kept and allowsfor using the mPOD also as a filter. In the previous exam-ple, if the keep vector is set to [1 , , − F s / Hz is removed from the decomposition. If the keepvector is set to [0 , ,
0] then the mPOD will be equivalent to per-forming the POD of the dataset obtained by low-pass filteringto keep only the portion [0 − Hz .Once the frequency splitting vector , the length of the kernels and the keep vector are set, the RUN button to start the compu-tation is enabled. As for the DFT, the user inputs the range ofmodes to be exported only at the end of the decomposition.
The largest matrix in every decompositions is the snapshotmatrix D ∈ R n s × n t . Depending on the computational resourcesavailable, this matrix can be prohibitively large, and the cost ofmatrix products such as the correlation matrix in (4) or the pro-jection in (3) might exceed the available RAM. To cope withthis limitation, MODULO o ff ers a ‘Memory Saving’ option,from the RoI GUI shown in Figure 2. This option is describedin the eighth video tutorial.When this option is active, all decompositions are performedwithout loading the snapshot matrix D in memory, but only afew partitions of it at a time. Therefore, the calculation of thetime correlation matrix K = D T D , needed for POD and mPOD,is computed from n P ‘column-wise’ partitions of D . Each par-tition D ci is of size n s × n C with n C = n t / n P . These partitionsare saved as temporary .mat files and loaded one at a time dur-ing the calculation of the correlation, which is performed inblocks. This allows for limiting the number of stored entries to n s × n C × / writing operations. The calculation steps for thismatrix using three blocks is illustrated in Figure 5. To limit thecost of the memory saving feature, MODULO takes advantageof the symmetry of the correlation, computing only the uppertriangular part of it while the remaining portion is mirrored. Figure 4: GUI for introducing the mPOD parameters. During the setting definition, the user can monitor a contour of power spectral density matrix and its diagonal. igure 5: Calculation of the temporal correlation matrix in (4) using three par-titions to limit memory requirements. Only half of the blocks needed are com-puted; the remaining portion being symmetric. A similar approach is pursued in computing (3), namely thelast projection step of every decomposition. In this case, D issplit into n P ‘row-wise’ partitions D r , of size n R × n t , and theprojection is carried out independently in each portions. Thecalculation steps for this matrix using three blocks is illustratedin Figure 6. The resulting projection is then assembled back tocolumn-wise partition to compute the amplitude of each modevia column normalization of the matrix ΦΣ . Figure 6: Calculation of the final projection in (4) using three partitions to limitmemory requirements. The final ’row-wise’ blocks of ΦΣ must be regroupedinto ’column-wise’ blocks for the normalization step. In all the analyzed exercises, the increased computationalcost of the memory saving option is of the order of a minute,depending on the decomposition and the size of each snap-shot. Table 1 collects the computational time (in seconds) re-quired to perform POD, DFT and mPOD without memory sav-ing ( n p =
1) and with memory saving with n p = n p = . GHz and 16 GB RAM.The timing is given in output by MODULO. Hence the tim-ing to prepare the dataset is excluded (since this step is donebefore selecting the decomposition), while for the mPOD thistiming also excludes the preparation of the correlation matrix(since this is done before the mPOD setting GUI opens). Thescope of Table 1 is thus not that of comparing the decomposi-tion time but comparing how the partitioning influences the tim-ing. For the mPOD, four scales are chosen with kernel widthsof 100 and all scales being kept.The most expensive operation appears to be the final projec-tion with normalization and sorting steps: since the DFT always Time Steps n p = n p = n p = Table 1: Computational time (in seconds) of POD,DFT, and mPOD with nomemory saving option ( n p =
1) and with memory saving with di ff erent par-titions. The test case considered is the one from Exercise 4 in MODULO’sGithub repository, with each snapshot consisting of a 2D velocity field on a n s = K . requires computing n t modes, this decomposition is more sen-sitive to the increase of the snapshots. On the other hand, asthe POD requires no normalization, the computational costs aremuch reduced. In general, the computational time increaseswith the number of partitions due to the increased time spent inreading / writing operations. The price to pay to maintain a lim-ited memory usage appears nevertheless acceptable. Finally, itis worth observing that in case the memory saving is not se-lected, but the computational resources are not su ffi cient for thecalculation, a warning dialog appears. In this case, the useris strongly advised to either hit “Activate Memory Saving” (inwhich case the memory saving will be activated with the defaultnumber of partitions), either close the warning box and selectone of the proposed partitions. Through the menu
Export , the exporting folder can be cho-sen. In this folder (which is created if not already available), themodes are saved as .png and .xlsx files. In particular, the excelfiles are always saved (for the mesh, for the sigmas, for thespatial structures and for the temporal structures) while the pic-tures are saved only if the tick (checkbox) in the menu
Export is signed. In the case of DFT, the temporal structures are notsaved since these are sinusoidal with fixed frequencies ( Ψ F isknown a priori as recalled in section 1). More information onthe exported data is discussed in the video tutorials of each de-composition.
3. Illustrative Examples
The code repository currently includes five exercises that al-low for testing all the features of MODULO and, at the sametime, explore the limitations and strengths of each decomposi-tion. These exercises are also solved using various commented
Matlab files (sorted from ‘A to ‘D’) in order to let the userfollow the decomposition procedures using the source codes.The first exercise presents the analysis of a 1D scalar dataset,5hich collects the time-dependent velocity profile of a pulsat-ing Poiseuille Flow. As described in the second video tutorial,this dataset can be analytically decomposed in eigenfunctionand hence o ff ers a comparison between data-driven and ana-lytical decompositions. Moreover, being the flow sustained bytwo known source terms, the exercise allows for exploring theconvergence and the time-frequency analysis capabilities of allthe methods. The second and third exercises present the anal-ysis of 2D scalar datasets. These were described in [19]. Bothare useful to analyze the problem of uniqueness of the POD,which occurs when modes have similar energy content. Thesecond exercise consists of a simple superposition of knownmodes while the third features the numerical solution of thenonlinear advection-di ff usion of prescribed source terms. Thefourth exercise, also presented in [19], presents the decomposi-tion of the experimental data, which is velocity fields obtainedvia Time-Resolved Particle Image Velocimetry (TR-PIV). Thisallows for practice with modern experimental data. Figure 7shows an exemplary mPOD mode obtained in MODULO forthis test case, which consists of a planar gas jet impinging on aflat wall. The top figure shows the spatial structure of the mode;the bottom one shows the frequency content of the associatedtemporal structure. This mode captures the turbulent structuresevolving from the shear layer instability in the jet. Figure 7: Spatial structure and frequency content of the fourth mPOD mode inthe TR-PIV velocity field of exercise four, consisting of a planar gas jet flowimpinging on a flat wall.
As described in the video tutorials three and seven, neitherthe POD nor the DFT can clearly isolate these structures. ThePOD is limited by the constraint of optimal convergence, whichforces the decomposition to put multiple features in the samemodes. The second is limited by the constraint of harmonictemporal structures, which does not let the DFT mode capturecoherent patterns composed of multiple frequencies. Finally,the fifth exercise considers the velocity field obtained via TR- PIV of the flow past a cylinder in transient conditions. Thedataset is described in [21]. This test case consists of a muchlarger number of snapshots, which forces most laptop comput-ers to use the memory saving features of MODULO.
4. Impact and Conclusions
We have presented the functionalities of the open source soft-ware package MODULO, starting from the theoretical back-ground. The software allows for performing classical modal de-composition such as POD and DFT as well as the novel mPOD.Moreover, thanks to its memory saving feature, MODULO iswell suited to analyze relatively large data sets while keepingmoderate memory requirements. While these decompositionare nowadays essential tools in fluid mechanics, their generalframework is certainly of great interest to any applied scientist.Finally, the complete set of exercises available can also servedidactic purposes and encourage the novice to enter this impor-tant discipline.
ReferencesReferences [1] G. Strang, Linear Algebra and Learning from Data, Wellesley-CambridgePress,U.S., 2019.[2] S. L. Brunton, J. N. Kutz, Data-Driven Science and Engineering, Cam-bridge University Press, 2019. doi:10.1017/9781108380690 .[3] C. M. Bishop, Pattern Recognition and Machine Learning, Springer-Verlag New York Inc., 2006.[4] T. Bouwmans, A. Sobral, S. Javed, S. K. Jung, E.-H. Zahzah, Decomposi-tion into low-rank plus additive matrices for background / foreground sep-aration: A review for a comparative evaluation with a large-scale dataset,Computer Science Review 23 (2017) 1–71. doi:10.1016/j.cosrev.2016.11.001 .[5] J. Lu, R. T. Kerns, S. D. Peddada, P. R. Bushel, Principal componentanalysis-based filtering improves detection for a ff ymetrix gene expressionarrays, Nucleic Acids Research 39 (13) (2011) e86–e86. doi:10.1093/nar/gkr241 .[6] A. Y. Davydenko, A. V. Grayver, Principal component analysis for filter-ing and leveling of geophysical data, Journal of Applied Geophysics 109(2014) 266–280. doi:10.1016/j.jappgeo.2014.08.006 .[7] E. Alpaydin, Introduction to Machine Learning, The MIT Press, 2014.[8] W. Keiper, A. Milde, S. Volkwein (Eds.), Reduced-Order Modeling(ROM) for Simulation and Optimization, Springer International Publish-ing, 2018. doi:10.1007/978-3-319-75319-5 .[9] A. Quarteroni, A. Manzoni, F. Negri, Reduced Basis Methods for PartialDi ff erential Equations, Springer International Publishing, 2016. doi:10.1007/978-3-319-15431-2 .[10] E. Reynders, System identification methods for (operational) modal anal-ysis: Review and comparison, Archives of Computational Methods in En-gineering 19 (1) (2012) 51–124. doi:10.1007/s11831-012-9069-x .[11] B. R. Noack, M. Morzy´nski, G. Tadmor (Eds.), Reduced-Order Mod-elling for Flow Control, Springer Vienna, 2011. doi:10.1007/978-3-7091-0758-4 .[12] P. Holmes, J. L. Lumley, G. Berkooz, Turbulence, Coherent Structures,Dynamical Systems and Symmetry, Cambridge University Press, 1996. doi:10.1017/cbo9780511622700 .[13] A. Chatterjee, An introduction to the proper orthogonal decomposition,Current Science 78 (7) (2000) 808–817.[14] J. E. Jackson, A User’s Guide to Principal Components, Wiley-Interscience, 2003.[15] R. Wang, Introduction to Orthogonal Transforms: With Applications inData Processing, Cambridge University Press (1888), 2012.
16] J. Weiss, A tutorial on the proper orthogonal decomposition, in: AIAAAviation 2019 Forum, American Institute of Aeronautics and Astronau-tics, 2019. doi:10.2514/6.2019-3333 .[17] J. H. Tu, C. W. Rowley, D. M. Luchtenburg, S. L. Brunton, J. N. Kutz,On dynamic mode decomposition: Theory and applications, Journal ofComputational Dynamics 1 (2) (2014) 391–421. doi:10.3934/jcd.2014.1.391 .[18] M. A. Mendez, M. Balabane, J.-M. Buchlin, Multi-scale proper orthog-onal decomposition of complex fluid flows, Journal of Fluid Mechanics870 (2019) 988–1036. Preprint available at https://arxiv.org/abs/1804.09646 . doi:10.1017/jfm.2019.212 .[19] M. A. Mendez, M. Scelzo, J.-M. Buchlin, Multiscale modal analysis of anoscillating impinging gas jet, Experimental Thermal and Fluid Science 91(2018) 256–276. doi:10.1016/j.expthermflusci.2017.10.032 .[20] M. Mendez, A. Gosset, J.-M. Buchlin, Experimental analysis of the sta-bility of the jet wiping process, part II: Multiscale modal analysis of thegas jet-liquid film interaction, Experimental Thermal and Fluid Science106 (2019) 48–67. doi:10.1016/j.expthermflusci.2019.03.004 .[21] M. A. Mendez, D. Hess, B. B. Watz, J.-M. Buchlin, Multiscale proper or-thogonal decomposition (mpod) of tr-piv data- a case study on stationaryand transient cylinder wake flows, Meas. Sci. Technol XX (2020) XX. doi:10.1088/1361-6501/ab82be .[22] C. Esposito, M. Mendez, J. Gouriet, J. Steelant, M. Vetrano, Experimen-tal modal analysis of cavitating flows, Experimental Thermal and FluidScience XX (2020) XX–XX.[23] C. Amor, J. M. P´erez, P. Schlatter, R. Vinuesa, S. L. Clainche, Softcomputing techniques to analyze the turbulent wake of a wall-mountedsquare cylinder, in: Advances in Intelligent Systems and Computing,Springer International Publishing, 2019, pp. 577–586. doi:10.1007/978-3-030-20055-8_55 .[24] L. Sirovich, Analysis of turbulent flows by means of the empirical eigen-functions, Fluid Dyn. Res. 8 (1991) 85–100. doi:https://doi.org/10.1016/0169-5983(91)90033-F . equired MetadataCurrent code versionNr. Code metadata description Please fill in this column C1 Current code version v1.1.0C2 Permanent link to code / repository used for thiscode version github.com / mendezVKI / MODULOC3 Legal Code License GNU General Public License v3.0C4 Code versioning system used NoneC5 Software code languages, tools, and servicesused Matlab and PythonC6 Compilation requirements, operating environ-ments & dependencies NoneC7 If available Link to developer documentation / -manual github.com / mendezVKI / MODULOC8 Support email for questions [email protected], [email protected]
Table 2: Code metadata
Current executable software versionNr. (Executable) software metadata description Please fill in this column
S1 Current software version v1.1.0S2 Permanent link to executables of this version github.com / mendezVKI / MODULOS3 Legal Software License GNU General Public License v3.0S4 Computing platforms / Operating Systems Microsoft WindowsS5 Installation requirements & dependencies NoneS6 If available, link to user manual - if formallypublished include a reference to the publica-tion in the reference list github.com / mendezVKI / MODULOS7 Support email for questions [email protected], [email protected]