It looks like you're new here. If you want to get involved, click one of these buttons!

- All Categories 1.4K
- General 29
- Azimuth Project 14
- - Latest Changes 269
- News and Information 122
- - Strategy 92
- - Questions 39
- Azimuth Forum 22
- - Conventions and Policies 20
- Chat 165
- Azimuth Blog 132
- - - Action 13
- - - Biodiversity 7
- - - Books 1
- - - Carbon 7
- - - Climate 41
- - - Computational methods 34
- - - Earth science 21
- - - Ecology 40
- - - Energy 28
- - - Geoengineering 0
- - - Mathematical methods 62
- - - Oceans 4
- - - Methodology 16
- - - Organizations 33
- - - People 6
- - - Reports 3
- - - Software 19
- - - Statistical methods 1
- - - Things to do 1
- - - Visualisation 1
- - - Meta 7
- - - Natural resources 4
- Azimuth Wiki 6
- - - Experiments 23
- - - Sustainability 4
- - - Publishing 3
- Azimuth Code Project 69
- - Spam 1

Dear Paul

Could you help out in making a list of all the diff EQ related to El Nino and related topics, related papers and solving methods. IF somehow we have a place here or anywhere we could use as a reference.

Thanx

Dara

## Comments

Excellent idea, I will place a header on each subtopic

## LIBRARY ROUTINES for DiffEq

So far, I have used two techniques for solving non-linear differential equations.

My primary tool is Mathematica, where I use the general NDSolve routine, which stands for Numerical ordinary DifferentialEquation Solver.

Another one I use and which acts as a verification is the R routine called ode in the deSolve package which stands for Ordinary Differential Equation solver.

These two routines give identical results for the same non-linear equations, but with the Mathematica having a considerable speed advantage.

`Excellent idea, I will place a header on each subtopic ## LIBRARY ROUTINES for DiffEq ## So far, I have used two techniques for solving non-linear differential equations. My primary tool is Mathematica, where I use the general [NDSolve](http://reference.wolfram.com/language/ref/NDSolve.html) routine, which stands for Numerical ordinary DifferentialEquation Solver. Another one I use and which acts as a verification is the R routine called [ode](http://www.inside-r.org/packages/cran/deSolve/docs/ode) in the deSolve package which stands for Ordinary Differential Equation solver. These two routines give identical results for the same non-linear equations, but with the Mathematica having a considerable speed advantage.`

Thanx Paul, I meant the literature on solving diff eq not generally know.

I use Mathematica I think that is pretty much cover what is known, but there are fringe methods which we could add our own code

D

`Thanx Paul, I meant the literature on solving diff eq not generally know. I use Mathematica I think that is pretty much cover what is known, but there are fringe methods which we could add our own code D`

## Alpha for DiffEq

In a pinch one can also use Wolfram Alpha for quick evaluation, http://wolframalpha.com

As an example, here is an interactive input of a Mathieu equation: Interactive Alpha

This solves this equation, and also graphs a portion of the solution

`## Alpha for DiffEq ## In a pinch one can also use Wolfram Alpha for quick evaluation, <http://wolframalpha.com> As an example, here is an interactive input of a Mathieu equation: [Interactive Alpha](http://www.wolframalpha.com/input/?i=x%27%27%28t%29%2B%283-2*cos%28t%29%29*x%28t%29%3D0) This solves this equation, and also graphs a portion of the solution x''(t)+(3-2*cos(t))*x(t)=0 ![Alpha](http://imageshack.com/a/img908/6889/4ScoZX.gif)`

Ok great!

Let's get some standard data, the equations you know well and let's build some code in mathematica fit against the data + a global maximizer which for now the NMINIMIZE in Mathematica could do a great job(that is Diff Evolution but on on cpu)

D

`Ok great! Let's get some standard data, the equations you know well and let's build some code in mathematica fit against the data + a global maximizer which for now the NMINIMIZE in Mathematica could do a great job(that is Diff Evolution but on on cpu) D`

## Parametric Search for Solving Differential Equations Minimizing Error wrt Data Set

Mathematica has a parametric solver called ParametricNDSolve

I am not enthused about how well this works as it seems to get stuck in local minimum too easily, but here is an example that I have tried. The data is in the table SOI, which is a set of (year,value) pairs in monthly increments

All the parameters are set as range constraints. In this case, I started to tighten the constraints as the solution started to converge.

`## Parametric Search for Solving Differential Equations Minimizing Error wrt Data Set ## Mathematica has a parametric solver called [ParametricNDSolve](http://reference.wolfram.com/language/ref/ParametricNDSolve.html) I am not enthused about how well this works as it seems to get stuck in local minimum too easily, but here is an example that I have tried. The data is in the table SOI, which is a set of (year,value) pairs in monthly increments DECADES=4; YEAR=1973; START = (YEAR-1880)*12; StYr = START/12; END = START + 120*DECADES; EndYr = END/12; ST = Table[{N[i/12], -N[SOI[[i,2]]]*0.03}, {i, START, END}]; sol = ParametricNDSolve[{ y''[x]+(A-B*Sin[Omega*x+Theta])*y[x]==QB*Sin[Q*x+Phi]+CW*Sin[W*x+Psi], y'[StYr]==Der, y[StYr]==Init }, y, {x,StYr,EndYr}, {A, B, Omega, Theta, QB, Q, Phi, CW, W, Psi, Der, Init} ]; model = y /. sol; fit = NonlinearModelFit[ST, {model[A, B, Omega, Theta, QB, Q, Phi, CW, W, Psi, Der, Init][x], {1.6<A<2.5, 0.5<B<1.55, 0.9<Omega<1.2, 0.0<Theta<2*Pi, 0.005<QB<0.1, 2.4<Q<2.8, 0.0<Phi<2*Pi, 0.002<CW<0.05, 0.80<W<1.1, 0.0<Psi<2*Pi, -0.1<Der<0.1, -0.1<Init<0.1 }}, {A, B, Omega, Theta, QB, Q, Phi, CW, W, Psi, Der, Init},x, Method -> NMinimize, MaxIterations -> 200, AccuracyGoal -> 3, PrecisionGoal -> 4]; Print[fit["ParameterTable"]] fit["RSquared"] fit[x] Plot[%,{x,StYr,EndYr}, Epilog -> Point[ST],PlotRange->{-0.1,0.1}, PlotStyle->{Red}] All the parameters are set as range constraints. In this case, I started to tighten the constraints as the solution started to converge.`

Ok I look at it tonight, where is the data? and how you read it ?

`Ok I look at it tonight, where is the data? and how you read it ?`

## Reading ENSO Data

I typically use data that is in (Time, Value) pairs, separated by tabs, spaces, or commas

I use Mathematica's Import routine to read this into a tabular format

One place to get ready-to-use SOI data is the Climate Explorer

SOI page : http://climexp.knmi.nl/getindices.cgi?WMO=CRUData/soi&STATION=SOI&TYPE=i&id=someone@somewhere

SOI data : http://climexp.knmi.nl/data/isoia.txt

`## Reading ENSO Data ## I typically use data that is in (Time, Value) pairs, separated by tabs, spaces, or commas ... 1970 0.080 1971 -1.517 1972 -0.501 1973 0.918 1974 -1.501 ... I use Mathematica's Import routine to read this into a tabular format SOI=Import["/users/pp/data/ENSO/soi.txt", "table"]; One place to get ready-to-use SOI data is the Climate Explorer SOI page : <http://climexp.knmi.nl/getindices.cgi?WMO=CRUData/soi&STATION=SOI&TYPE=i&id=someone@somewhere> SOI data : <http://climexp.knmi.nl/data/isoia.txt>`

thanx I play... get back to you soon

`thanx I play... get back to you soon`

## DiffEq Approximations

This is an interesting recent paper and supplementary material about approximating non-linear Mathieu equations

[1]J. A. Rial, J. Oh, and E. Reischmann, “Synchronization of the climate system to eccentricity forcing and the 100,000-year problem,” Nature Geoscience, vol. 6, no. 4, pp. 289–293, 2013.

paper: http://www.dynamicpaleoclimate.org/uploads/2/3/5/4/23543390/__________ngeo1756.pdf

supplement: http://www.nature.com/ngeo/journal/v6/n4/extref/ngeo1756-s1.pdf

After reading this, now I understand how naive formula-finding tools such as Eureqa select modulated sinusoidal terms such as

$$ sin(\omega t + k \cdot sin(\nu t +\phi) .. $$ as they try to map the first order solution of the Mathieu equation --- without actually solving the DiffEq. See this thread and comment for evidence http://azimuth.mathforge.org/discussion/1451/enso-proxy-records/?Focus=12194#Comment_12194

Fascinating, and obvious now that someone pointed it out explicitly. BTW, the way I found this reference was to search for "Mathieu Differential Equation" on Google Scholar, as opposed to just "Mathieu Equation"

`## DiffEq Approximations ## This is an interesting recent paper and supplementary material about approximating non-linear Mathieu equations [1]J. A. Rial, J. Oh, and E. Reischmann, “Synchronization of the climate system to eccentricity forcing and the 100,000-year problem,” Nature Geoscience, vol. 6, no. 4, pp. 289–293, 2013. * paper: <http://www.dynamicpaleoclimate.org/uploads/2/3/5/4/23543390/__________ngeo1756.pdf> * supplement: <http://www.nature.com/ngeo/journal/v6/n4/extref/ngeo1756-s1.pdf> ![rial](http://imageshack.com/a/img905/9914/dKorWq.gif) After reading this, now I understand how naive formula-finding tools such as Eureqa select modulated sinusoidal terms such as $$ sin(\omega t + k \cdot sin(\nu t +\phi) .. $$ as they try to map the first order solution of the Mathieu equation --- without actually solving the DiffEq. See this thread and comment for evidence <http://azimuth.mathforge.org/discussion/1451/enso-proxy-records/?Focus=12194#Comment_12194> Fascinating, and obvious now that someone pointed it out explicitly. BTW, the way I found this reference was to search for "Mathieu Differential Equation" on Google Scholar, as opposed to just "Mathieu Equation"`

But hm(t) has an ABS in it, this is not the same as Eureqa

`But hm(t) has an ABS in it, this is not the same as Eureqa`

Paul while this seems to be a well-written paper, it has too much English. We need to show the data, analysis of the data, algorithms performing on data, plots and equations acting or derived from data, in an engineering specified manner. once that is done and debugged and reviewed, then another group of investigators start the verbose explanation.

I find it dangerous that the same people who analyze the data are the same people forming theories. There is danger of preconceived biases and institutional prejudice.

The papers, IMHO, should be written by people in separate fields of endeavour and organizations. I see this helping the integrity of scientific processes.

IMHO the papers should be code-centric i.e. DONT TELL ME SHOW ME how the code runs on the data

Dara

`Paul while this seems to be a well-written paper, it has too much English. We need to show the data, analysis of the data, algorithms performing on data, plots and equations acting or derived from data, in an engineering specified manner. once that is done and debugged and reviewed, then another group of investigators start the verbose explanation. I find it dangerous that the same people who analyze the data are the same people forming theories. There is danger of preconceived biases and institutional prejudice. The papers, IMHO, should be written by people in separate fields of endeavour and organizations. I see this helping the integrity of scientific processes. IMHO the papers should be code-centric i.e. DONT TELL ME SHOW ME how the code runs on the data Dara`

Dara said:

"But hm(t) has an ABS in it, this is not the same as Eureqa"The Absolute Value on the sine wave will add higher-frequency harmonics to the modulation. The fundamental frequency is still there though. That is what is emerging from Eureqa, not the harmonics, as those will be further down in the noise.

But you are right in that observation. Why are they putting an absolute value in the equation? In their supplementary paper, where they go through a quick derivation, there is no absolute value.

It is entirely possible that they want to see a "full-wave" rectified waveform emerge. Very curious.

[edit]

This is the difference between the abs value and un-rectified -- faster phase shifts depending on where on the curve it is.

`Dara said: *"But hm(t) has an ABS in it, this is not the same as Eureqa"* The Absolute Value on the sine wave will add higher-frequency harmonics to the modulation. The fundamental frequency is still there though. That is what is emerging from Eureqa, not the harmonics, as those will be further down in the noise. But you are right in that observation. Why are they putting an absolute value in the equation? In their supplementary paper, where they go through a quick derivation, there is no absolute value. It is entirely possible that they want to see a "full-wave" rectified waveform emerge. Very curious. [edit] This is the difference between the abs value and un-rectified -- faster phase shifts depending on where on the curve it is. ![abs](http://imageshack.com/a/img537/2765/ETJDBo.gif)`

The problem with absolute value is that the derivative is not well behaved and therefore the differential equation is far more complicated to solve!

`The problem with absolute value is that the derivative is not well behaved and therefore the differential equation is far more complicated to solve!`

Dara, But they are using that as an approximation to the solution, not the Mathieu differential equation itself. That is, if you consider the version without the ABS value.

I will see if I can generate an example.

`Dara, But they are using that as an approximation to the solution, not the Mathieu differential equation itself. That is, if you consider the version without the ABS value. I will see if I can generate an example.`

I understand but there is a huge difference in the family of solutions with or without ABS. I know this from similar situation forSVR.

But let's code and experiement, I do not think theoretical thinking will do, we just have to code and produce many many solutions and compare

D

`I understand but there is a huge difference in the family of solutions with or without ABS. I know this from similar situation forSVR. But let's code and experiement, I do not think theoretical thinking will do, we just have to code and produce many many solutions and compare D`

Dara, I mulled over what you said. Yes, that certainly goes in to the category of what Feynman calls "fooling oneself", entering with preconceived notions.

## Rationale for Mathieu-type differential equations

I started the analysis approach of focusing on Mathieu-type equations because of constantly hearing that ENSO was a "sloshing" of Pacific ocean waters. So I looked into what the mathematical basis for sloshing was -- and it turns out to be forced excitation of Mathieu-like formulations. Here are two highly cited refs:

[1] J. B. Frandsen, “Sloshing motions in excited tanks,” Journal of Computational Physics, vol. 196, no. 1, pp. 53–87, 2004.

[2] O. M. Faltinsen and A. N. Timokha, “Sloshing,” 2009.

But since I realized that the frequency spectra arising from these non-linear interactions was going to be difficult to extract from Fourier analysis, some other approach would be necessary.

And that is why I am pursuing this line of DiffEq solution analysis. It may or may not lead anywhere in the long run, but when the evidence starts pointing one in a certain direction, it makes sense to pursue it. I think that is what machine learning does as well -- the machine learning program is only as good as the quality of objectives that are programmed into it.

This is a nice project overall in that if the science does not succeed, we still may have a nice set of heuristics in predicting El Ninos.

`Dara, I mulled over what you said. Yes, that certainly goes in to the category of what Feynman calls "fooling oneself", entering with preconceived notions. ## Rationale for Mathieu-type differential equations ## I started the analysis approach of focusing on Mathieu-type equations because of constantly hearing that ENSO was a "sloshing" of Pacific ocean waters. So I looked into what the mathematical basis for sloshing was -- and it turns out to be forced excitation of Mathieu-like formulations. Here are two highly cited refs: [1] J. B. Frandsen, “Sloshing motions in excited tanks,” Journal of Computational Physics, vol. 196, no. 1, pp. 53–87, 2004. [2] O. M. Faltinsen and A. N. Timokha, “Sloshing,” 2009. But since I realized that the frequency spectra arising from these non-linear interactions was going to be difficult to extract from Fourier analysis, some other approach would be necessary. And that is why I am pursuing this line of DiffEq solution analysis. It may or may not lead anywhere in the long run, but when the evidence starts pointing one in a certain direction, it makes sense to pursue it. I think that is what machine learning does as well -- the machine learning program is only as good as the quality of objectives that are programmed into it. This is a nice project overall in that if the science does not succeed, we still may have a nice set of heuristics in predicting El Ninos.`

Dear Paul

None of these people know what equations to use! So I suggest you feed me the papers and equations and I hack a lot of solver type of code and then we see which one works best. Then We show the results to John and he knows best which way to push the math and dynamical modelling of the underlying data.

I like to focus on the code and solvers, you obviously have a lot other talents to mode the dynamical systems, but at this point of time I just see thru code

Dara

`>And that is why I am pursuing this line of DiffEq solution analysis. It may or may not lead anywhere in the long run Dear Paul None of these people know what equations to use! So I suggest you feed me the papers and equations and I hack a lot of solver type of code and then we see which one works best. Then We show the results to John and he knows best which way to push the math and dynamical modelling of the underlying data. I like to focus on the code and solvers, you obviously have a lot other talents to mode the dynamical systems, but at this point of time I just see thru code Dara`

Paul

John had some writings on these diff eq:

Noisy Hopf Bifurcation

Delay equations

In all honesty I think John's direction might be more fruitful, the addition of noise by itself is really key. I want to make sure we use John's approach.

Dara

`Paul John had some writings on these diff eq: [Noisy Hopf Bifurcation](http://mathematica.lossofgenerality.com/2014/06/24/noisy-hopf-bifurcation/) [Delay equations](http://mathematica.lossofgenerality.com/2014/06/24/delay-differential-equation-el-nino/) In all honesty I think John's direction might be more fruitful, the addition of noise by itself is really key. I want to make sure we use John's approach. Dara`