Can you help us write software for simple climate models?

13»

Comments

  • 101.
    nad
    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.
  • 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.
  • 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
  • 104.
    nad
    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.
  • 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)!
  • 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.
  • 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.
  • 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.
  • 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.
  • 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!)
  • 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)
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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?
  • 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.
  • 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.
  • 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?
  • 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 ?
  • 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
  • 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).
  • 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)
  • 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!
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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
  • 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.
  • 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

    Curtis: I'll holler on the carbon threads about javascript help !

    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 !
  • 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.
  • 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.
  • 138.

    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.

    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.
  • 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?
  • 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 :-)
  • 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. :)
  • 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.
  • 143.
    edited December 2011

    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?

    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?
  • 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.
  • 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!
  • 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/)
  • 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()
  • 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 -?
  • 149.
    nad
    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?
  • 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 :-)
Sign In or Register to comment.