#### Howdy, Stranger!

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

Options

# Can you help us write software for simple climate models?

13»

• Options
101.
edited November 2011

I put JSXGraph onto the Open Visualisation page.

Source Text:I put JSXGraph onto the [Open Visualisation](http://wiki.okfn.org/OpenVisualisation) page.
• Options
102.

The Java Climate Model ran fine on my computer, and will probably run on any reasonably modern Macintosh, which all have Java runtimes installed.

As for local apps vs. web apps, there's a tradeoff. While local apps have advantages, I think fewer people are likely to download and install one, rather than run something in a browser window.

Source Text:The Java Climate Model ran fine on my computer, and will probably run on any reasonably modern Macintosh, which all have Java runtimes installed. As for local apps vs. web apps, there's a tradeoff. While local apps have advantages, I think fewer people are likely to download and install one, rather than run something in a browser window.
• Options
103.
edited November 2011

Cool nad ! maybe you should put d3 as well which is a tremendous package for client-side visualization

John: did u say CC-SA 3.0 ? that would be good but i cant se your post as im reading and writing this on p.3

Nathan: I agree. I tend to use a lot of Google apps, for writing and more as they are realtime collaborative and i can write anywhere, but for graphics, i use a mixed bag of Inkscape and GIMP

Source Text:Cool nad ! maybe you should put [d3](http://mbostock.github.com/d3/) as well which is a tremendous package for client-side visualization John: did u say CC-SA 3.0 ? that would be good but i cant se your post as im reading and writing this on p.3 Nathan: I agree. I tend to use a lot of Google apps, for writing and more as they are realtime collaborative and i can write anywhere, but for graphics, i use a mixed bag of Inkscape and GIMP
• Options
104.
edited November 2011

staffan,

i had actually mentioned d3, however i felt a bit uneasy about putting it on the page. That is Mike Bostock claims his software is free and by reading the licence I understood it as being free in the usual sense, but I am no lawyer and it seems he uses no standard free licence. So I wasn't sure what to write into the table.

Source Text:staffan, i had actually [mentioned](http://www.math.ntnu.no/~stacey/Mathforge/Azimuth/comments.php?DiscussionID=856&page=1) d3, however i felt a bit uneasy about putting it on the page. That is Mike Bostock claims his software is free and by reading the [licence](https://raw.github.com/mbostock/d3/master/LICENSE) I understood it as being free in the usual sense, but I am no lawyer and it seems he uses no standard free licence. So I wasn't sure what to write into the table.
• Options
105.

Talking of d3 check out this cool example of a quantum anharmonic oscillator which +Dan Piponi just posted on his Google+ stream.

Pretty slick -- looks like Dan Piponi isn't as reticent as I am when it comes to writing numerical solvers in JavaScript (a fft solver in this case)!

Source Text:Talking of [d3](http://mbostock.github.com/d3/) check out [this cool example of a quantum anharmonic oscillator](http://homepage.mac.com/sigfpe/Harmonic/anharmonic.html) which +Dan Piponi just posted on his Google+ stream. Pretty slick -- looks like Dan Piponi isn't as reticent as I am when it comes to writing numerical solvers in JavaScript (a fft solver in this case)!
• Options
106.
edited November 2011

I'm sorry, I've been feeling depressed about my (in)ability to do anything really useful to help save the environment, so I've been avoiding this forum for the last week. That's sort of childish; I apologize. I'm back.

Staffan wrote:

I've just found an example which should be near and dear to your hearts involving predator/prey relationships between Carp and Pike populations:

I'd say this qualifies as fun! (Or am I just easily amused??)

I think that's fun! The cute graphics make it more fun than a mere graph of populations would be.

Source Text:I'm sorry, I've been feeling depressed about my (in)ability to do anything really useful to help save the environment, so I've been avoiding this forum for the last week. That's sort of childish; I apologize. I'm back. Staffan wrote: > I've just found an example which should be near and dear to your hearts involving [predator/prey relationships between Carp and Pike populations](http://jsxgraph.uni-bayreuth.de/showcase/carpsandpikes.html): > I'd say this qualifies as fun! (Or am I just easily amused??) I think that's fun! The cute graphics make it more fun than a mere graph of populations would be.
• Options
107.
edited December 2011

All that aside, an equation and some hints should be enough to get me going!

I hope Allan E. and/or you can do a simple model of the sort George Musser described:

$$C \frac{d T}{d t} = - A - B T + Q(t) \, a_p(T(t))$$

where

$$a_p(T) = a_i + \frac{1}{2} (a_f-a_i) (1 + \tanh(\gamma T))$$

and

$$a_i=0.35, \qquad a_f=0.7$$

and

• $A=218$ watts per square meter,

• $B=1.90$ watts per square meter per degree Celsius,

• $C = 5 \times 10^6$ per degree Celsius,

and most importantly:

$$Q(t) = 342.5 + f(t)$$

where $f$ is a function that's zero outside some interval, and takes a positive constant value inside that interval. The user should be able to choose this constant value, choose when the interval ends, and maybe when it starts too, though in a way that's no so important.

Unfortunately I doubt this differential equation can be solved in closed form. So, it will require some numerical computation.

Source Text:> All that aside, an equation and some hints should be enough to get me going! I hope Allan E. and/or you can do a simple model of the sort George Musser described: $$C \frac{d T}{d t} = - A - B T + Q(t) \, a_p(T(t))$$ where $$a_p(T) = a_i + \frac{1}{2} (a_f-a_i) (1 + \tanh(\gamma T))$$ and $$a_i=0.35, \qquad a_f=0.7$$ and * $A=218$ watts per square meter, * $B=1.90$ watts per square meter per degree Celsius, * $C = 5 \times 10^6$ per degree Celsius, and most importantly: $$Q(t) = 342.5 + f(t)$$ where $f$ is a function that's zero outside some interval, and takes a positive constant value inside that interval. The user should be able to choose this constant value, choose when the interval ends, and maybe when it starts too, though in a way that's no so important. Unfortunately I doubt this differential equation can be solved in closed form. So, it _will_ require some numerical computation.
• Options
108.

John wrote:

Unfortunately I doubt this differential equation can be solved in closed form. So, it will require some numerical computation.

I've got a metaphysical allergy with respect to JavaScript (my soul gets pimples when I have to write this stuff), however Runge-Kutta solvers for systems of ODE are probably one of the simplest excercises modern numerical math has to offer, especially if we don't need error control and/or adaptive step size control.

If someone else cares to set up the web page, I could try to talk myself into writing a solver in JavaScript.

Source Text:John wrote: <blockquote> <p> Unfortunately I doubt this differential equation can be solved in closed form. So, it will require some numerical computation. </p> </blockquote> I've got a metaphysical allergy with respect to JavaScript (my soul gets pimples when I have to write this stuff), however Runge-Kutta solvers for systems of ODE are probably one of the simplest excercises modern numerical math has to offer, especially if we don't need error control and/or adaptive step size control. If someone else cares to set up the web page, I could try to talk myself into writing a solver in JavaScript.
• Options
109.

I hope Allan E. and/or you can do a simple model of the sort George Musser described:

$$C \frac{d T}{d t} = - A - B T + Q(T) \, a_p(T(t))$$

Should be easy enough! I assume that's $Q(t)$ above not $Q(T)$?

To show this new time dependence I imagine we could now animate the graph in a loop, eg covering a time interval $I$ every 15 seconds or so and allowing the user to choose a sub-interval $[t_0, t_1]$ with sliders.

Source Text:> I hope Allan E. and/or you can do a simple model of the sort George Musser described: > > $$C \frac{d T}{d t} = - A - B T + Q(T) \, a_p(T(t))$$ Should be easy enough! I assume that's $Q(t)$ above not $Q(T)$? To show this new time dependence I imagine we could now animate the graph in a loop, eg covering a time interval $I$ every 15 seconds or so and allowing the user to choose a sub-interval $[t_0, t_1]$ with sliders.
• Options
110.
edited November 2011

Tim van Beek wrote:

Runge-Kutta solvers for systems of ODE are probably one of the simplest excercises modern numerical math has to offer

The JSXGraph library Staffan suggested already has a Runge-Kutta solver built-in, so I was planning to give that a try.

I share your allergy to JavaScript btw -- although hadn't realized it was metaphysical (until now!)

Source Text:Tim van Beek wrote: > Runge-Kutta solvers for systems of ODE are probably one of the simplest excercises modern numerical math has to offer The JSXGraph library Staffan suggested already has a Runge-Kutta solver built-in, so I was planning to give that a try. I share your allergy to JavaScript btw -- although hadn't realized it was metaphysical (until now!)
• Options
111.

John wrote:

I've been feeling depressed about my (in)ability to do anything really useful to help save the environment

This couldn't be further from where I imagined you to be -- I had envisioned you energetically working on Network Theory Part N (a network of people which actually DOES save the environment)

Source Text:John wrote: > I've been feeling depressed about my (in)ability to do anything really useful to help save the environment This couldn't be further from where I imagined you to be -- I had envisioned you energetically working on Network Theory Part N (a network of people which actually DOES save the environment)
• Options
112.

John you quoted me as saying something about the pred-prey example in jsxgrtaph but it was allan.

anyway i think we should rely on Sage for all math/numerical computation and then use things like jsxgraph, processing.js or what have you.js when needed to visualize things on the client-side and it is not supported by Sage notebook. i saw jsxgraph had runge-kutta solvers but right now i am building box models with system of ODE and that has been straightforward.

Allan and Tim i used to dislike javascript as well , please remind me why :-) I like GWT too Tim but it might be to heavy weight for these simple examples.

Eric: How can we add js libraries to the wiki? Instiki is built on Rails which has support for adding more js-libraries but I don't have the rights to do that. but it should be easy for the person with the right authority.

Source Text:John you quoted me as saying something about the pred-prey example in jsxgrtaph but it was allan. anyway i think we should rely on Sage for all math/numerical computation and then use things like jsxgraph, processing.js or what have you.js when needed to visualize things on the client-side and it is not supported by Sage notebook. i saw jsxgraph had runge-kutta solvers but right now i am building box models with system of ODE and that has been straightforward. Allan and Tim i used to dislike javascript as well , please remind me why :-) I like GWT too Tim but it might be to heavy weight for these simple examples. Eric: How can we add js libraries to the wiki? Instiki is built on Rails which has support for adding more js-libraries but I don't have the rights to do that. but it should be easy for the person with the right authority.
• Options
113.
edited November 2011

Allan and Tim i used to dislike javascript as well , please remind me why :-)

It is not typesafe, there is no decent IDE and no decent debugger, it does not have any decent utility library, and none of the modern concepts of modularization (classes, namespaces). All "industrial strength" frameworks rely on generating it, not writing it (I'm thinking about GWT and JSF).

Anyway, I too found the example with the Runge-Kutta solver in the JSXGraph wiki here:

http://jsxgraph.uni-bayreuth.de/wiki/index.php/Category:Examples

But I agree with Staffan that one should use JavaScript at most for the generation of graphics. So, Allan, Staffan, what is the state of affairs? I've started to play around with JSXGraph and would be ready to make an exception and use their Runge-Kutta solver, just in order to get the stuff that John needs on the web in time.

Source Text:<blockquote> <p> Allan and Tim i used to dislike javascript as well , please remind me why :-) </p> </blockquote> It is not typesafe, there is no decent IDE and no decent debugger, it does not have any decent utility library, and none of the modern concepts of modularization (classes, namespaces). All "industrial strength" frameworks rely on generating it, not writing it (I'm thinking about GWT and JSF). Anyway, I too found the example with the Runge-Kutta solver in the JSXGraph wiki here: http://jsxgraph.uni-bayreuth.de/wiki/index.php/Category:Examples But I agree with Staffan that one should use JavaScript at most for the generation of graphics. So, Allan, Staffan, what is the state of affairs? I've started to play around with JSXGraph and would be ready to make an exception and use their Runge-Kutta solver, just in order to get the stuff that John needs on the web in time.
• Options
114.
edited November 2011

Allan wrote:

Should be easy enough! I assume that's $Q(t)$ above not $Q(T)$?

Yes. I'll fix that in my original comment so we have it correct there.

This couldn't be further from where I imagined you to be -- I had envisioned you energetically working on Network Theory Part N (a network of people which actually DOES save the environment).

I'm almost always energetically doing something these days - I'm busy with the network theory project, and also busy on Google+ trying to foment revolution (passing on news and strategies for Occupy Wall Street) and attract attention to the Azimuth Blog (with articles about Lynn Margulis and 'liquid light'). But I feel very unsure about what to do that'll really have an impact on the environmental crisis I see looming, and I don't think I'll ever be very good at climate science (in part because I don't see that as being enough to save the day). So I've been a bit depressed, and somehow that's manifested itself in me shirking our project here.

But if I relax a bit, I can enjoy it.

Source Text:Allan wrote: > Should be easy enough! I assume that's $Q(t)$ above not $Q(T)$? Yes. I'll fix that in my original comment so we have it correct there. > This couldn't be further from where I imagined you to be -- I had envisioned you energetically working on Network Theory Part N (a network of people which actually DOES save the environment). I'm almost always energetically doing _something_ these days - I'm busy with the network theory project, and also busy on Google+ trying to foment revolution (passing on news and strategies for Occupy Wall Street) and attract attention to the Azimuth Blog (with articles about Lynn Margulis and 'liquid light'). But I feel very unsure about what to do that'll really have an impact on the environmental crisis I see looming, and I don't think I'll ever be very good at climate science (in part because I don't see that as being enough to save the day). So I've been a bit depressed, and somehow that's manifested itself in me shirking our project here. But if I relax a bit, I can enjoy it.
• Options
115.
edited November 2011

In fact, reading the comments of Allan, Staffan and Tim, I'm actually getting excited. I like working as part of a team. I'm glad you're all eager to try this project.

I want to figure out a way to take the simpler model Allan already programmed, here, and publicize it. Probably having it appear as part of a This Week's Finds is the easiest way. Unfortunately I'm not sure I can get it to work on my blog. But I can get it to work on my website, and that's probably good enough.

Source Text:In fact, reading the comments of Allan, Staffan and Tim, I'm actually getting excited. I like working as part of a team. I'm glad you're all eager to try this project. I want to figure out a way to take the simpler model Allan already programmed, [here](http://math.ucr.edu/home/baez/coalbedo/coalbedo.html), and publicize it. Probably having it appear as part of a This Week's Finds is the easiest way. Unfortunately I'm not sure I can get it to work on my blog. But I can get it to work on my website, and that's probably good enough.
• Options
116.

Unfortunately I'm not sure I can get it to work on my blog.

You would need to be able to add two statements to the header node, and a div-node and JavaScript in the body of the HTML-Page for each graphic, which is probably beyond the kind of control that Wordpress offers its users.

Source Text:<blockquote> <p> Unfortunately I'm not sure I can get it to work on my blog. </p> </blockquote> You would need to be able to add two statements to the header node, and a div-node and JavaScript in the body of the HTML-Page for each graphic, which is probably beyond the kind of control that Wordpress offers its users.
• Options
117.
edited November 2011

Reading the very simple model of Snowball Earth page now. I like the word coalbedo. Coal, being black, should have a high value of it.

Source Text:Reading the [very simple model of Snowball Earth](http://math.ucr.edu/home/baez/coalbedo/coalbedo.html) page now. I like the word _coalbedo._ Coal, being black, should have a high value of it.
• Options
118.
edited November 2011

Hi all! Maybe this can also be of use. It's a fourth order Runge-Kutta integrator implemented in JavaScript. More importantly, it comes with some tests that can serve as a starting point for an implementation.

Edit: Oops, sorry for pointing you to that undocumented file, the actual documentation is of more use.

Source Text:Hi all! Maybe [this](http://cpansearch.perl.org/src/PJB/Math-RungeKutta-1.07/js/) can also be of use. It's a fourth order Runge-Kutta integrator implemented in JavaScript. More importantly, it comes with some [tests](http://cpansearch.perl.org/src/PJB/Math-RungeKutta-1.07/js/test.html) that can serve as a starting point for an implementation. Edit: Oops, sorry for pointing you to that undocumented file, [the actual documentation](http://search.cpan.org/~pjb/Math-RungeKutta-1.07/RungeKutta.pm) is of more use.
• Options
119.
edited December 2011

Thanks for the tip!

Sigh, no meaningful variable names, no comments, no explanation of what a method does, no indication of what methods are supposed to be part of the API and what are for internal use only...

Anyway, programming a Runge-Kutta solver should not be the problem here. My problem right now is to find 2 hours of time where I still have enough energy to program anything. But I think it should be possible for us to expand Allan's page with hand coded JavaScript and JQuery-UI-Tools so that it will suffice for an Azimuth blog post.

I'll play around a little bit with the Runge–Kutta solver of JXSGraph next.

@Allen: Did you intend to do anything with the processing graphical language since processing-1.3.6.min.js is in the js folder?

Source Text:Thanks for the tip! Sigh, no meaningful variable names, no comments, no explanation of what a method does, no indication of what methods are supposed to be part of the API and what are for internal use only... Anyway, programming a Runge-Kutta solver should not be the problem here. My problem right now is to find 2 hours of time where I still have enough energy to program anything. But I think it should be possible for us to expand Allan's page with hand coded JavaScript and JQuery-UI-Tools so that it will suffice for an Azimuth blog post. I'll play around a little bit with the Runge&ndash;Kutta solver of JXSGraph next. @Allen: Did you intend to do anything with the processing graphical language since processing-1.3.6.min.js is in the js folder?
• Options
120.

@Tim: I stopped using Processing after Staffan pointed out JSXGraph, and had removed it from my repo. (We could return to it if we wanted better 3D support.)

You asked what the state of affairs was: I'm currently pondering the new equation with dynamic Q(t).

What would be the best way to chart/animate it and make it fun? (Presumably fire-breathing lizards and dancing polar bears could easily be swapped in for pike/carp).

More mundanely, I'm also trying to decide if considering initial values perturbed away from the equilibrium could make the graphs more interesting -- eg by changing the lengths of some little vector arrows showing how unstable points in the unstable regime are.

Source Text:@Tim: I stopped using Processing after Staffan pointed out JSXGraph, and had removed it from my repo. (We could return to it if we wanted better 3D support.) You asked what the state of affairs was: I'm currently pondering the new equation with dynamic Q(t). What would be the best way to chart/animate it and make it fun? (Presumably fire-breathing lizards and dancing polar bears could easily be swapped in for pike/carp). More mundanely, I'm also trying to decide if considering initial values perturbed away from the equilibrium could make the graphs more interesting -- eg by changing the lengths of some little vector arrows showing *how* unstable points in the unstable regime are.
• Options
121.

Staffan, you asked about JavaScript -- it's actually enjoyable enough in small doses. I just have pained memories of some critical size (not much larger than Chaitin's Lisp L constant if you've been following these posts, around 2000 bytes) above which it stops being fun and starts beating you in the head. This is mostly for the reasons Tim gave, although support is much better today than a few years back.

Source Text:Staffan, you asked about JavaScript -- it's actually enjoyable enough in small doses. I just have pained memories of some critical size (not much larger than Chaitin's Lisp L constant if you've been following these posts, around 2000 bytes) above which it stops being fun and starts beating you in the head. This is mostly for the reasons Tim gave, although support is much better today than a few years back.
• Options
122.

John wrote:

I don't think I'll ever be very good at climate science (in part because I don't see that as being enough to save the day)

I don't think I'll ever be very good at JavaScript (and don't see it saving the day either.. at least, not all on its own). What I liked about this project was that it seemed self-contained (hence 'do-able'), and a good way to meet/interact with the Azimuth forum which I had been shirking even in my mere capacity as lurker! That, and "simple climate science" is an attractive idea given what an unapproachably complex subject I perceived it to be.

I want to figure out a way to take the simpler model Allan already programmed, here

Don't you want to wait for something based on your time-dependent Q model?

Source Text:John wrote: > I don't think I'll ever be very good at climate science (in part because I don't see that as being enough to save the day) I don't think I'll ever be very good at JavaScript (and don't see it saving the day either.. at least, not all on its own). What I liked about this project was that it seemed self-contained (hence 'do-able'), and a good way to meet/interact with the Azimuth forum which I had been shirking even in my mere capacity as lurker! That, and "simple climate science" is an attractive idea given what an unapproachably complex subject I perceived it to be. > I want to figure out a way to take the simpler model Allan already programmed, [here](http://math.ucr.edu/home/baez/coalbedo/coalbedo.html) Don't you want to wait for something based on your time-dependent Q model?
• Options
123.

Sage has ODE solvers en masse so I must state again: use Sage and Sage interact - this is for DE go up to see more as a first choice and the if you need to use any web2.0 ajax js technology to clarify things to visualize things for Azimuth do so but put the code. on our google code page which Tim mentioned.

Allan JS question . so its Firebug to debug Javascript ?

Source Text:Sage has ODE solvers en masse so I must state again: use Sage and [Sage interact - this is for DE go up to see more](http://wiki.sagemath.org/interact/diffeq) as a first choice and the if you need to use any web2.0 ajax js technology to clarify things to visualize things for Azimuth do so but put the code. on our google code page which Tim mentioned. Allan JS question . so its Firebug to debug Javascript ?
• Options
124.

So John B and Tim why don't you help me on the other threads on carbon cycle? I intend to do a small Sage-based framework for box models. I'll add some of my intentions there

Source Text:So John B and Tim why don't you help me on the other threads on carbon cycle? I intend to do a small Sage-based framework for box models. I'll add some of my intentions there
• Options
125.

so its Firebug to debug Javascript ?

Firebug is the best tool that I know of, Microsoft has made a copy of it (as they often do) for their IE in version 8 which you will find under tools -> F12 developer tools

So John B and Tim why don't you help me on the other threads on carbon cycle?

I'm exhausted by the job I currently have to do...(lead developer for a project that handles software for car electronics).

Source Text:<blockquote> <p> so its Firebug to debug Javascript ? </p> </blockquote> Firebug is the best tool that I know of, Microsoft has made a copy of it (as they often do) for their IE in version 8 which you will find under tools -> F12 developer tools <blockquote> <p> So John B and Tim why don't you help me on the other threads on carbon cycle? </p> </blockquote> I'm exhausted by the job I currently have to do...(lead developer for a project that handles software for car electronics).
• Options
126.

@Staffan - Firebug, but more recently the JS console in Chrome.. it's full featured and quite responsive (Eg on Dan Piponi's example I posted earlier, you can watch d3 updating the DOM live)

Source Text:@Staffan - Firebug, but more recently the JS console in Chrome.. it's full featured and quite responsive (Eg on Dan Piponi's example I posted earlier, you can watch d3 updating the DOM live)
• Options
127.

Allan wrote:

Don't you want to wait for something based on your time-dependent Q model?

I don't mind waiting; I just don't want that earlier work to go to waste. I'll have to see what George Musser wants: if we can use both bits of software in the same article, that would be great. (The only reason why not is that it might somehow tire or distract the readers.) If not, I'll use your first program in a separate article of its own... which should logically show up first, somewhere.

Staffan wrote:

So John B and Tim why don't you help me on the other threads on carbon cycle?

I will!

Source Text:Allan wrote: > Don't you want to wait for something based on your time-dependent Q model? I don't mind waiting; I just don't want that earlier work to go to waste. I'll have to see what George Musser wants: if we can use _both_ bits of software in the same article, that would be great. (The only reason why not is that it might somehow tire or distract the readers.) If not, I'll use your first program in a separate article of its own... which should logically show up _first_, somewhere. Staffan wrote: > So John B and Tim why don't you help me on the other threads on carbon cycle? I will!
• Options
128.

Am I correct in analyzing the above thread to assume that no one is actively working on doing a javascript web-based slider control dynamic version of the ODE solution for the equation John described in #108 above? Tim, it looks like you've done some investigation but are very busy at the moment.

I happen to be very interested in coming up to speed with Javascript graphics for some other projects I'm working on, and I have connections to some hardcore javascript experts for assistance. So this would be a good challenge for me.

I also don't mind converting from any other languages. Does anyone have a solution to the equation in another language (Python or C++ preferred) that I might model?

Of course, I'll put the code into the Google Code page, as per Staffan's suggestion, if I do this.

Source Text:Am I correct in analyzing the above thread to assume that no one is actively working on doing a javascript web-based slider control dynamic version of the ODE solution for the equation John described in #108 above? Tim, it looks like you've done some investigation but are very busy at the moment. I happen to be very interested in coming up to speed with Javascript graphics for some other projects I'm working on, and I have connections to some hardcore javascript experts for assistance. So this would be a good challenge for me. I also don't mind converting from any other languages. Does anyone have a solution to the equation in another language (Python or C++ preferred) that I might model? Of course, I'll put the code into the Google Code page, as per Staffan's suggestion, if I do this.
• Options
129.

Curtis wrote:

Am I correct in analyzing the above thread to assume that no one is actively working on doing a javascript web-based slider control dynamic version of the ODE solution for the equation John described in #108 above?

Hi Curtis. I'm working on it -- just haven't found an evening to push forward much. I think you should still feel free to jump in mind you! We could compare notes.

Source Text:Curtis wrote: > Am I correct in analyzing the above thread to assume that no one is actively working on doing a javascript web-based slider control dynamic version of the ODE solution for the equation John described in #108 above? Hi Curtis. I'm working on it -- just haven't found an evening to push forward much. I think you should still feel free to jump in mind you! We could compare notes.
• Options
130.

Hi, Curtis!

I'd love to work our way toward a system where we can put a bunch of simple interactive climate models on the web, together with explanations, for educational purposes. I think this could be a way to help hundreds or even tens of thousands of people around the world learn more climate science. This seems like a better use of my time than trying to become a full-fledged climate scientist myself.

I can easily write the explanations and try to lure people into reading them. This is what I'm good at.

I can imagine writing the math code if I have some templates to copy. I don't want to do it, but it would probably be good for me. And I don't want to constantly annoying people by saying "oh, you know, that ODE we coded up, I decided we need an extra term". If I get stuck I could ask for help.

What I can't imagine is putting together the web-based interface. I know nothing about that sort of stuff.

Jacob Biamonte suggested that ultimately we should do the math with one programming language and the interface with another, like Javascript. It sounds like Staffan was suggesting the same thing. It makes sense to me but again, writing a piece of software with different pieces in different languages communicating to each other goes way beyond my pathetically limited programming skills.

Source Text:Hi, Curtis! I'd love to work our way toward a system where we can put a bunch of simple interactive climate models on the web, together with explanations, for educational purposes. I think this could be a way to help hundreds or even tens of thousands of people around the world learn more climate science. This seems like a better use of my time than trying to become a full-fledged climate scientist myself. I can easily write the explanations and try to lure people into reading them. This is what I'm good at. I can _imagine_ writing the math code if I have some templates to copy. I don't want to do it, but it would probably be good for me. And I don't want to constantly annoying people by saying "oh, you know, that ODE we coded up, I decided we need an extra term". If I get stuck I could ask for help. What I _can't_ imagine is putting together the web-based interface. I know nothing about that sort of stuff. Jacob Biamonte suggested that ultimately we should do the math with one programming language and the interface with another, like Javascript. It sounds like [Staffan](http://www.math.ntnu.no/~stacey/Mathforge/Azimuth/comments.php?DiscussionID=856&Focus=5980#Comment_5980) was suggesting the same thing. It makes sense to me but again, writing a piece of software with different pieces in different languages communicating to each other goes way beyond my pathetically limited programming skills.
• Options
131.

I'm pretty sure that we can come up with some ways of making this process work for everyone, especially those who want to learn more about climate science.

There are conflicting needs when you look at serious science programming when compared with that designed for educational purposes. This thread is interesting in that it hits on a real concrete way that many people might learn about climate science who are not capable of understanding the science through equations.

We could certainly walk people through the parts of a very complex climate model, piece by piece, without forcing people to understand the equations by showing the math interactively and visually.

As I work on this, I'll work with the others to see if we can come up with a way of isolating the ODE sections so that you'd have to learn only a minimum of programming to implement changes to an ODE. Still too early for me to say how successful this will be.

We ought to be able to do things in such a way that the graphics coding is abstracted so you won't have to worry about that complexity.

As far as language, we're really going to have to stick with javascript if we want a modern-looking presentation accessible to most people throughout the world. It certainly has it's shortcomings as a language, but it is pretty easy to learn, so you'll find that part nice.

Source Text:I'm pretty sure that we can come up with some ways of making this process work for everyone, especially those who want to learn more about climate science. There are conflicting needs when you look at serious science programming when compared with that designed for educational purposes. This thread is interesting in that it hits on a real concrete way that many people might learn about climate science who are not capable of understanding the science through equations. We could certainly walk people through the parts of a very complex climate model, piece by piece, without forcing people to understand the equations by showing the math interactively and visually. As I work on this, I'll work with the others to see if we can come up with a way of isolating the ODE sections so that you'd have to learn only a minimum of programming to implement changes to an ODE. Still too early for me to say how successful this will be. We ought to be able to do things in such a way that the graphics coding is abstracted so you won't have to worry about that complexity. As far as language, we're really going to have to stick with javascript if we want a modern-looking presentation accessible to most people throughout the world. It certainly has it's shortcomings as a language, but it is pretty easy to learn, so you'll find that part nice.
• Options
132.
edited December 2011

Curtis wrote:

Tim, it looks like you've done some investigation but are very busy at the moment.

Yes, but Allan works on it and I'll certainly try to do it during the next week. Since this part is easy, we could all try to solve it in parallel and compare notes later, there is no need to cooperate here :-)

Allan and I will try to use JSXGraph (for the math, and jQuery for GUI functionality) to get a pure JavaScript version (details can be found in this thread).

As far as language, we're really going to have to stick with javascript if we want a modern-looking presentation accessible to most people throughout the world.

The question really is if we go for a Web interface (HTML+CSS+JavaScript) or a rich client which could be anything. I agree with Staffan and you that probably a Web interface is the way to go, because it is most easily accessible. This would mean that we'd need to include server calls via Ajax later (with maybe the server running Sage or something), for the sophisticated stuff that you don't want to program in JavaScript. But the stuff that John is interested in, in this thread, can be done with a simple Runge-Kutta solver which can be- and has been - written in JavaScript, so we could dodge this topic and go for a pure Web solution in this case.

Source Text:Curtis wrote: <blockquote> <p> Tim, it looks like you've done some investigation but are very busy at the moment. </p> </blockquote> Yes, but Allan works on it and I'll certainly try to do it during the next week. Since this part is easy, we could all try to solve it in parallel and compare notes later, there is no need to cooperate here :-) Allan and I will try to use JSXGraph (for the math, and jQuery for GUI functionality) to get a pure JavaScript version (details can be found in this thread). <blockquote> <p> As far as language, we're really going to have to stick with javascript if we want a modern-looking presentation accessible to most people throughout the world. </p> </blockquote> The question really is if we go for a Web interface (HTML+CSS+JavaScript) or a rich client which could be anything. I agree with Staffan and you that probably a Web interface is the way to go, because it is most easily accessible. This would mean that we'd need to include server calls via Ajax later (with maybe the server running Sage or something), for the sophisticated stuff that you don't want to program in JavaScript. But the stuff that John is interested in, in this thread, can be done with a simple Runge-Kutta solver which can be- and has been - written in JavaScript, so we could dodge this topic and go for a pure Web solution in this case.
• Options
133.
edited December 2011

Here's the simplest web service form slider I've come across. It's in html5 with javascript value display. http://bit.ly/a2Vs0u

hth

Source Text:Here's the simplest web service form slider I've come across. It's in html5 with javascript value display. http://bit.ly/a2Vs0u hth
• Options
134.

Curtis wrote:

There are conflicting needs when you look at serious science programming when compared with that designed for educational purposes. This thread is interesting in that it hits on a real concrete way that many people might learn about climate science who are not capable of understanding the science through equations.

We could certainly walk people through the parts of a very complex climate model, piece by piece, without forcing people to understand the equations by showing the math interactively and visually.

I should probably use a "layered" explanation, or what my uncle called "the spiral approach". In other words. something like this: first a very quick explanation, then a longer one without equations, then one with equations. If they're clearly separated, different audiences can focus on different parts.

I'd been planning to focus on the audience who can understand equations, because even here the number of people who understand climate physics is much smaller than it should be. But you're making me want to be more ambitious about reaching out to a larger crowd.

Source Text:Curtis wrote: > There are conflicting needs when you look at serious science programming when compared with that designed for educational purposes. This thread is interesting in that it hits on a real concrete way that many people might learn about climate science who are not capable of understanding the science through equations. > We could certainly walk people through the parts of a very complex climate model, piece by piece, without forcing people to understand the equations by showing the math interactively and visually. I should probably use a "layered" explanation, or what my uncle called "the spiral approach". In other words. something like this: first a very quick explanation, then a longer one without equations, then one with equations. If they're clearly separated, different audiences can focus on different parts. I'd been planning to focus on the audience who _can_ understand equations, because even here the number of people who understand climate physics is much smaller than it should be. But you're making me want to be more ambitious about reaching out to a larger crowd.
• Options
135.

john concluded:

because even here the number of people who understand climate physics is much smaller than it should be. But you're making me want to be more ambitious about reaching out to a larger crowd.

I like that and I think its good to try to have more animations and ajax on our pages- Sage uses a bunch of js libraries for implementing its notebook and they always try to keep track of what's out there. and I think we need to also consider having more visual info on Sage wiki. Curtis and I talked about this a long time ago, but maybe we should start now

Source Text:john concluded: > because even here the number of people who understand climate physics is much smaller than it should > be. But you're making me want to be more ambitious about reaching out to a larger crowd. I like that and I think its good to try to have more animations and ajax on our pages- Sage uses a bunch of js libraries for implementing its notebook and they always try to keep track of what's [out there](http://wiki.sagemath.org/devel/JavascriptResources). and I think we need to also consider having more visual info on Sage wiki. Curtis and I talked about this a long time ago, but maybe we should start now Curtis: I'll holler on the carbon threads about javascript help !
• Options
136.

John wrote:

But you're making me want to be more ambitious about reaching out to a larger crowd.

Isaac Asimov was my hero growing up. Especially his two books on organic and inorganic chemistry. You've got the same knack for taking complex ideas into a place where nonscientists can understand them.

This is what climate science is missing. In all the complexity, there are some fairly basic scientific principles that if more widely understood would change the global conversation. People are being misled because they can be. They simply don't understand enough of the basic principles to be able to think for themselves and draw their own conclusions.

It has always been my hope that the Azimuth Project can change that.

Source Text:John wrote: >But you're making me want to be more ambitious about reaching out to a larger crowd. <img src = "http://math.ucr.edu/home/baez/emoticons/thumbsup.gif" alt = ""/> Isaac Asimov was my hero growing up. Especially his two books on organic and inorganic chemistry. You've got the same knack for taking complex ideas into a place where nonscientists can understand them. **This is what climate science is missing.** In all the complexity, there are some fairly basic scientific principles that if more widely understood would change the global conversation. People are being misled because they can be. They simply don't understand enough of the basic principles to be able to think for themselves and draw their own conclusions. It has always been my hope that the Azimuth Project can change that.
• Options
137.

Tim van Beek wrote:

"Firebug is the best tool that I know of, Microsoft has made a copy of it (as they often do) for their IE in version 8 which you will find under tools -> F12 developer tools"

Aptana, or Aptana as a plugin for Eclipse is also useful for development.

Staffan Liljegren wrote:

"Allan and Tim i used to dislike javascript as well , please remind me why :-) I like GWT too Tim but it might be to heavy weight for these simple examples."

Side remark: it seems not so clear how the future of the Google Web Toolkit (I assume that is what you mean that bei GWT) will look like due to Dart

By the way I couldnt find a list of editing options for the comment section.

Source Text:Tim van Beek wrote: "Firebug is the best tool that I know of, Microsoft has made a copy of it (as they often do) for their IE in version 8 which you will find under tools -> F12 developer tools" [Aptana](http://en.wikipedia.org/wiki/Aptana), or Aptana as a plugin for Eclipse is also useful for development. Staffan Liljegren wrote: "Allan and Tim i used to dislike javascript as well , please remind me why :-) I like GWT too Tim but it might be to heavy weight for these simple examples." Side remark: it seems not so clear how the future of the Google Web Toolkit (I assume that is what you mean that bei GWT) will look like due to [Dart](http://en.wikipedia.org/wiki/Dart_%28programming_language%29) By the way I couldnt find a list of editing options for the comment section.
• Options
138.

By the way I couldnt find a list of editing options for the comment section.

I'm not sure what you're talking about. At the top of each comment you write, there should be a little list of choices:

"edit delete Source PermaLink blog this"

If you click edit, you can edit it. I can edit everybody's, and I do - just to improve spelling, grammar and formatting.

Source Text:nad wrote: > By the way I couldnt find a list of editing options for the comment section. I'm not sure what you're talking about. At the top of each comment you write, there should be a little list of choices: "edit delete Source PermaLink blog this" If you click edit, you can edit it. I can edit everybody's, and I do - just to improve spelling, grammar and formatting.
• Options
139.

John wrote: "I'm not sure what you're talking about. At the top of each comment you write, there should be a little list of choices: "edit delete Source PermaLink blog this" If you click edit, you can edit it. I can edit everybody's, and I do - just to improve spelling, grammar and formatting."

With editing options I mean something like which one gets if one follows the "help link" of the "Markdown and Itex (Help)" , but first I find the link is hard to find (because one could assume that the (Help) in brackets refers to a general help to understand what Markdown and Itex is, rather than that there is a list of Markdown editing options behind it) and then it seems not fully complete (or may be I missed here something?) - like how do you do the green blockquote bars?

Source Text:John wrote: **"I'm not sure what you're talking about. At the top of each comment you write, there should be a little list of choices: "edit delete Source PermaLink blog this" If you click edit, you can edit it. I can edit everybody's, and I do - just to improve spelling, grammar and formatting."** With editing options I mean something like which one gets if one follows the "help link" of the "Markdown and Itex (Help)" , but first I find the link is hard to find (because one could assume that the (Help) in brackets refers to a general help to understand what Markdown and Itex is, rather than that there is a list of Markdown editing options behind it) and then it seems not fully complete (or may be I missed here something?) - like how do you do the green blockquote bars?
• Options
140.
Nad: I like Aptana to a lot but its been a while since I used it. When I write sage stuff, i actually use the sage notebook, which allows you to edit sage/python/latex/html/fortran/cython/r and more so its y new scientific software lab :-)
Source Text:Nad: I like Aptana to a lot but its been a while since I used it. When I write sage stuff, i actually use the sage notebook, which allows you to edit sage/python/latex/html/fortran/cython/r and more so its y new scientific software lab :-)
• Options
141.

staffan: what is r? Aptana is also useful for javascript (thats actually why i mentioned it)

concerning sage: I sofar postponed to use a sage notebook. i tried the online sage version, which was so against my internal intuition that i know that i would need a giantly huge amount of patience to learn to use sage, but there is only a limited amount of patience per day. :)

Source Text:staffan: what is r? Aptana is also useful for javascript (thats actually why i mentioned it) concerning sage: I sofar postponed to use a sage notebook. i tried the online sage version, which was so against my internal intuition that i know that i would need a giantly huge amount of patience to learn to use sage, but there is only a limited amount of patience per day. :)
• Options
142.

@ Nadja: I guess it's simply R. What Staffan writes is usually not case-sensitive.

Source Text:@ Nadja: I guess it's simply [R](http://en.wikipedia.org/wiki/R_%28programming_language%29). What Staffan writes is usually not case-sensitive.
• Options
143.
edited December 2011

With editing options I mean something like which one gets if one follows the "help link" of the "Markdown and Itex (Help)"

Oh, I see. I've never tried to learn something from that help system. I learned this stuff by watching other people use it on the n-Category Cafe.

like how do you do the green blockquote bars?

For blockquote you do a > symbol and then a space at the beginning of a paragraph without carriage returns. So

> With editing options I mean something like which one gets if one follows the "help link" of the "Markdown and Itex (Help)" , but first I find the link is hard to find (because one could assume that the (Help) in brackets refers to a general help to understand what Markdown and Itex is, rather than that there is a list of Markdown editing options behind it) and then it seems not fully complete (or may be I missed here something?) - like how do you do the green blockquote bars?

gives

With editing options I mean something like which one gets if one follows the "help link" of the "Markdown and Itex (Help)" , but first I find the link is hard to find (because one could assume that the (Help) in brackets refers to a general help to understand what Markdown and Itex is, rather than that there is a list of Markdown editing options behind it) and then it seems not fully complete (or may be I missed here something?) - like how do you do the green blockquote bars?

Source Text:Nad wrote: > With editing options I mean something like which one gets if one follows the "help link" of the "Markdown and Itex (Help)" Oh, I see. I've never tried to learn something from that help system. I learned this stuff by watching other people use it on the n-Category Cafe. > like how do you do the green blockquote bars? For blockquote you do a > symbol and then a space at the beginning of a paragraph without carriage returns. So > With editing options I mean something like which one gets if one follows the "help link" of the "Markdown and Itex (Help)" , but first I find the link is hard to find (because one could assume that the (Help) in brackets refers to a general help to understand what Markdown and Itex is, rather than that there is a list of Markdown editing options behind it) and then it seems not fully complete (or may be I missed here something?) - like how do you do the green blockquote bars? gives > With editing options I mean something like which one gets if one follows the "help link" of the "Markdown and Itex (Help)" , but first I find the link is hard to find (because one could assume that the (Help) in brackets refers to a general help to understand what Markdown and Itex is, rather than that there is a list of Markdown editing options behind it) and then it seems not fully complete (or may be I missed here something?) - like how do you do the green blockquote bars?
• Options
144.
edited December 2011

Paul Clark has an interactive climate time-series application with a fair number of data sets from GISSTEMP, HADCRUT3, UAH, BEST etc. which seems to be along the lines suggested for azimuth.

WoodForTrees

It's written in C++ so he obviously has an ISP account with shell access which might be something to consider.

Source Text:Paul Clark has an interactive climate time-series application with a fair number of data sets from GISSTEMP, HADCRUT3, UAH, BEST etc. which seems to be along the lines suggested for azimuth. [WoodForTrees](http://www.woodfortrees.org) It's written in C++ so he obviously has an ISP account with shell access which might be something to consider.
• Options
145.

Jim - nice! I should advertise this and various other bits of online software on the blog.

(Your link didn't work, because you left out "http://". I fixed that.)

My website is on a UNIX machine so if someone can write anything that takes advantage of that, great!

Source Text:Jim - nice! I should advertise this and various other bits of online software on the blog. (Your link didn't work, because you left out "http://". I fixed that.) My website is on a UNIX machine so if someone can write anything that takes advantage of that, great!
• Options
146.

the Sage interact works now without login to the latest 4.7.2 Sage notebook server. try moving the gamma slider :-)

Hooray and now more interacts and less animations to "cover up" (emulate maybe)

http://demo.sagenb.org/home/pub/238/

Source Text:the Sage interact works now **without login** to the latest 4.7.2 Sage notebook server. try moving the gamma slider :-) Hooray and now more interacts and less animations to "cover up" (emulate maybe) [http://demo.sagenb.org/home/pub/238/](http://demo.sagenb.org/home/pub/238/)
• Options
147.

Staffan,

it may also be that I have a sagedocumentation incompatibility - using the notebook at http://demo.sagenb.org/home/pub/238/ I could plot a sin within a minute: %auto

var('T gamma')

B = 1.9

ap(T) = sin(BgammaT)

@interact def coalbedo(gamma_value=(0,1,.1)): plot(ap.substitute(gamma=gamma_value),(T,-50,50),legend_label='$a_p$').show()

Source Text:Staffan, it may also be that I have a sagedocumentation incompatibility - using the notebook at http://demo.sagenb.org/home/pub/238/ I could plot a sin within a minute: %auto var('T gamma') B = 1.9 ap(T) = sin(B*gamma*T) @interact def coalbedo(gamma_value=(0,1,.1)): plot(ap.substitute(gamma=gamma_value),(T,-50,50),legend_label='$a_p$').show()
• Options
148.

so u edited my public sheet without login and got a changed interact to work -?

Source Text:so u edited my public sheet without login and got a changed interact to work -?
• Options
149.
edited January 2012

Staffan wrote

"so u edited my public sheet without login and got a changed interact to work -?"

I opened up my own account took some of your code, pasted it together and changed it a bit and then it almost worked. That is luckily someone passed by and saw that I missed the indentation (in the def coalbedo), which resulted in an error message. Since I don't know Python (this identation seems to be a Python feature) I probably never would have found that error.

By the way do you know wether it is possible to get this notebook code as a Javascript export, which one could use in any html document?

Source Text:Staffan wrote > "so u edited my public sheet without login and got a changed interact to work -?" I opened up my own account took some of your code, pasted it together and changed it a bit and then it almost worked. That is luckily someone passed by and saw that I missed the indentation (in the def coalbedo), which resulted in an error message. Since I don't know Python (this identation seems to be a Python feature) I probably never would have found that error. By the way do you know wether it is possible to get this notebook code as a Javascript export, which one could use in any html document?
• Options
150.

Ah I get it. Sometimes when you copy/paste between browser windows the indentation - which is mandatory in Python - gets lost. I actually added one free book on the [[Python]] page ....for newbies "how to think like a Computer Scientist" its very good, short and free :-)

Source Text:Ah I get it. Sometimes when you copy/paste between browser windows the indentation - which is mandatory in Python - gets lost. I actually added one free book on the [[Python]] page ....for newbies "how to think like a Computer Scientist" its very good, short and free :-)