Friday, December 02, 2005


This is the tag that flipped the flag that clobberred the makefile and caused it to break while it set the mode to load the node that made the stack get overflowed so it set the caching that caused the thrashing that crashed the node that loaded the code that lay in the job that Jack hacked.

Thursday, October 06, 2005

Kuhnian revolution

From sci.environment:

If this were usenet 1995 I could probably start an interesting and non-polarized digression by musing about when the last actual instance of a Kuhnian paradigm shift occurred.

The rise of physical climatology and its uneasy relationship to the established field of observational/statistical climatology actually has something in common with a Kuhninan shift.

Certainly Bill Gray is the very model of the old guard in that regard, and Reid Bryson also is a good exemplar. But really that story is more about the rise of a wholly new discipline, and the capacity of some but not all parts of a related discipline to adapt to it. I think it would make a nice history of science project to examine this. I'd venture that the critical moments in the transition were around 1980 and that many of the crucial players are around to interview.

But it's a marginal case; not really a revolution so much as coming to terms with an invasion.

dboh suggests that discovery of a new forcing may be discovered which would amount to a revolution in climatology. It might rock the boat, but it's hard to imagine it amounting to a paradigm shift. Snowball earth rocked the boat, but it didn't change the paradigm.

What profound new discoveries in the past 50 years really changed the way of thinking of *any* quantitative science?

Tuesday, February 01, 2005

New Month's Day

A new month is always a good time to turn over a new leaf. Today I announced PyNSol:


a Language Oriented Programming approach to finite differences

PyNSol is yet another PDE description language, implemented entirely as extensions to Python. Among its design goals are

To express FD and FV models tersely and in a cognitively accessible manner

To facilitate experiments in time differencing schemes and coupling

To inherit as much as possible from the interactive python environment

To facilitate high performance integration of physics modules (especially column physics)

To facilitate code-introspection tools such as testing, performance prediction, automatic parallelization, and automatic differentiation.

So far it's much less than all that, but it does manage to turn this little Python object into a model, and execute it:

shallow = {
"u_t": "- csq * p_x",
"v_t": "- csq * p_y",
"p_t": "- u_x - v_y"

Monday, January 31, 2005

programming as black art

Why settle for snake oil?

This is the sort of thing that makes me want to take up carpentry. Or languages with latent typing.

program gfftest

include 'mpif.h'
real t,es

print *,"Before **: t=",t
es = 10.0**t
print *,"After **: t=",t,"es=",es


Compiled with: % mpif77 -L/usr/lib64/ -132 -o gfftest gfftest.F -lm

(MPI is MVAPICH 0.9.4, compiler is Intel Fortran for EMT64, version 8.1.)

This hangs between the two print statements. Execution is successful if you do one of the
1) Remove "include 'mpif.h'" from the source code
2) Remove -lm from the link flags

Rob says, "I know the -lm is not needed but for some reason I had it on the Linux FOAM compile for a while"

Jace says, "What's the -L/usr/lib64 doing? Isn't that a 32bit compile?"

Rob says, "He has the opteron's set to 64-bit mode"

Jace [to Rob]: Does mpif77 know that?

Rob shrugs

Jace [to Rob]: You shouldn't need that. You're possibly picking up some 64bit real/integer (ie: double precision) libraries in addition to the 64bit pointer stuff. I think that flag is dubious.

Rob says, "the -L flag?"

Jace [to Rob]: Yeah. A 64bit compile would use some flag to tell the compiler *AND* the linker, not just the linker.


uh-huh. This is supposed to mean more to me than it does to you, but alas, it doesn't,

hello blog world

I intend to have more interesting things to say than this.