It is time to stop quivering in our boots in pointless fear of the future and just roll up our sleeves and build it.
- Ray Pierrehumbert

Monday, January 7, 2008

Staying Geeky

Most scientists, especially climate scientists, know next to nothing about what is actually happening in computing.

Most computer people, even academics, know next to nothing about what climate people consider standard practice.

The gap is enormous. You'd think someone who speaks both languages might be able to get some steady work... The trouble is that the customer still has very little idea of what is possible and the vendor still has very little idea what is needed. I'm trying to occupy a middleman position that neither side perceives quite rightly. It's not at all certain that I'll get to do that in any official capacity.

Failing that I will have more time and less resources, but I'll probably have a climate modeling project anyway, probably with a more didactic spin.

Anyway I'm going to be starting to look to my readership for advice or assistance. How do I keep my science gig going (small inputs of reasonably relevant funding through academic channels in the near term would be hugely helpful) else how do I keep myself doing something useful if the science thing sputters out again. Any advice welcome here or in email.

See also related articles:

Excised Paragraphs
Why is Climate Modeling Stuck?

NCAR vs Google

18 comments:

Belette said...

How about starting an opensource GCM in C++ on sourceforge...?

Michael Tobis said...

At least the control layer has to be in something closely related to Python or just maybe Ruby, else I'm personally not interested in participating.

Building an open climate model in a conventional language with volunteer labor will probably not work for two reasons 1) it won't add enough value to matter and 2) working with it won't be enough fun to attract participants.

However, yes, I think the time has come to start over whether inside the scientific establishment or otherwise.

John Mashey said...

Do you know Guido? If you're keen to do this in Python, maybe you can get him interested, even slightly, which wouldn't hurt, and he might have good advice, and Google is into green stuff.

Michael Tobis said...

GVR and I have exchanged a couple of emails on subjects related to Python pedagogy and remarkably he shows up on my GTalk buddy list for some reason though I've never has an IM exchange with him. This has so much geek cachet that I'm never going to put it at risk by actually trying it.

I actually had the nerve to argue with him in the hallway at the last PyCon (something about an analogy with medieval education, nothing very crucial really). My second finest hour as an iconoclast, topped only in the good old days of arguing climate change with John McCarthy on sci.environment. I think Guido is dimly aware of my existence. I'm sort of reluctant to bug him about things not directly on his turf, though. His job isn't to be the conduit between Python fans and Google.

My attempts to interest Google mostly amounted to an informal conversation with the Chicago engineering group and a subsequent application for employment at google.org . I really didn't want the job, I just wanted to meet them. I was disappointed not to make the cut.

Recently some new hire in their recruiting group called me out of the blue, and I haven't yet been officially flushed again, so for all I know I am being reconsidered even as I type. The ways of the Great Google are mysterious, though. Of course I'd be thrilled to talk to their engineers about these things.

I think I might do a lightning talk at the Chicago PyCon, now that you mention it.

The ideal outcome would be foundation money of some sort, channeled through a university, but with some experienced for-profit technical management involved/imposed.

Anonymous said...

their has to be a benefit to changing languages..
maybe check out a file from
http://www.giss.nasa.gov/tools/modelE/modelEsrc/
and translate it into python and explain why it's better in python

something small
hope this helps
jacob l

Anna said...

"Google is into green stuff"?
Then why are they running disinformation textads for global warming denialism sites?


---------
CO2 Science
No alarmism. Get global warming facts from peer-reviewed science
www.co2science.org
---------


They don't take ads for tobacco, they don't take ads for miracule cures, but global warming denialism is ok?


(sorry about the comment hijack, Michael)

Michael Tobis said...

Anna, more likely than not they haven't thought about it.

An irony about Google is that they really have poor channels for inbound information, though. It's hard to know whom to ask about this.

Michael Tobis said...

Anonymous, thanks for the example. It will help the software professionals to understand the nature of the problem.

It is commonly said that it's possible to write Fortran in any language. Clearly directly translating this impenetrable tangle into some other language would still leave it an impenetrable tangle.

This is the main loop of the code. At first glance it is much cleaner than CCSM's, but it still looks awfully fragile and hard to work with.

This is in fact a place where OOP has a big potential win. You have here a tangle of instantiation, control, reporting, conditionals (apparently hidden behind build time ifdefs that we don't see) and crude exception handling.

However, it will require moving a lot of functionality out of the present module and into lower levels where it belongs.

On the other hand, nextarg and readoptions are actually pretty funny.

restart, ifile = False,None
import getopt,sys
def readoptions():
...opts = getopt.getopt(sys.argv[1:],"ri:)
...for opt in opts:
......restart = restart or opt[0] =='-r'
......if opt[0] == '-i': ifile = opt[1]

John Mashey said...

Anna: thanks for the reminder; I'm so used to ignoring ads I hadn't even noticed.

But: what queries elicited the co2science ad? or some other examples? Other than an arguable Chevron site (which at least says some of the right words, and I've heard their CTO say similar things), everything I got was OK, from:
global warming
global climate
climate change

So it seems like they were already doing what you ask [or else, they saw your post and fixed it in last few hours. :-)


Anyway, find some examples, and I'll pass them along.

Anna Haynes said...

> what queries elicited the co2science ad?

Gmail. It appeared next to our emails, re climate change, so I don't know exactly what they were cuing off of.

FYI, here are Google's advertising policies, and I understand that this is where we can provide feedback to Google directly.

...which I have not yet done; figured it was wise to wait until Google was in a good mood, or we had a large and terrifying enough crowd raising the issue.

(by myself I am not exactly terrifying, and we only have one chance to make a first impression...)

Anna said...

(p.s. FYI, no matter what I say in emails to myself tonight, it isn't popping up for me either.)

John Mashey said...

Anna: thanks.
I don't use gmail, so I've never seen it.
I'd suggest going ahead and using the Google site to comment.

I'm pursuing another route.

Michael Tobis said...

John, while you're pursuing it, why not send whomever you're pursuing to this article and kill two birds with one stone?

:-)

James Annan said...

Michael,

After reading all these posts and the comments, I can't help but be reminded of the smile of the walrus - not in that I've had a great thought, but in that I don't know what it means!

Are you simply saying we should be using Python for programing, or is your idea something much more nebulous and sophisticated than that?

FWIW, a bunch of Japanese programmers just spent the last 5 years or so writing a climate model from the ground up, so as to be as efficient as possible on the Earth Simulator. It is indeed faster than the preexisting GCM it was based on, but it doesn't yet actually work as a GCM. Perhaps that was a missed opportunity for python there...

AdamW said...

This lot build scientific software and are running an OS python development project:

http://code.enthought.com/

Without wishing to suggest them explicitly (BTW I have no connection to them - they're linked to from the Python site), it shows there may be *some* commercial companies out there willing to help out? You probably already know of them though.

Michael Tobis said...

Thanks, Adam. I know and admire the Enthought people. (I'm going to a Python User Group meeting at their office this evening, in fact.)

They are in business though; traditional funding mechanisms allow for business-academic partnerships in theory but it doesn't seem to work out in practice in the fields I'm familiar with.

Michael Tobis said...

James, half and half. I do have a cost effective approach in mind, and there's more to it than I've detailed here. I'll let NSF reject it a few times before I spell it out for everybody else.

That said, there's a lot of details that I don't know about how it will play out.

James Annan said...

Ah, thanks - that makes sense. I've no problem with you being a bit coy - it was the thought that you might have considered that you had already explained everything fully that worried me!