Climate model code is so outdated, MIT starts from scratch

I found no mention of Edelman in the article, so I don’t see how this is relevant.

Finding students willing to work with Fortran may well be a real problem. Recently, I was in touch with a few developers of SeisSol, a code for seismic wave propagation, and recipient of the ACM Gordon Bell Prize in 2014 for performing the largest earthquake simulation at the time. SeisSol is a hybrid-code written in C++ and Fortran but the developers are working to phase out Fortran, since they aren’t able to find new students interested in working with the Fortran parts of the code.

Concerning the following issue,

…he’s realized that “traditional climate models are in a language [MIT] students can’t even read.”

my first reaction mirrored some of the commentators at the original site who pointed out that students who know Julia (or any other programming language) should be able to work their way through some Fortran code. But coming to think of F77, I guess it’s really not that easy. Things such as arithmetic if’s, computed go to’s, cryptic format statements, lack of dynamic arrays, etc. can make legacy Fortran code quite hard to read for the untrained eye. Consider the refactoring problem I posted recently, where I was thrown off track by an astray if construct, which was there only as a safety measure against F66 trip count semantics. As @everythingfunctional said in that thread, it’s not just about refurbishing, but also about knowledge recovery.

Rewriting a complex model from scratch (potentially in a different language) can hold many benefits 1) uncover bugs in the original, 2) use better algorithms, language constructs, or simply programming practices, 3) improve performance on new hardware, 4) serve as verification of the original model and hence provide further trust in the results obtained to this day, and so forth. If we care about reproducible computational science, doing a full rewrite is very welcome IMO. At the end of the day, it’s also about the model, and not just which programming language was used to express it.