IN11C-1792
A Python Implementation of an Intermediate-Level Tropical Circulation Model and Implications for How Modeling Science is Done

Monday, 14 December 2015
Poster Hall (Moscone South)
Johnny Wei-Bing Lin, University of Washington Bothell Campus, Computing and Software Systems Division, Bothell, WA, United States; North Park University, Physics and Engineering Department, Chicago, IL, United States
Abstract:
Historically, climate models have been developed incrementally and in compiled languages like Fortran. While the use of legacy compiled
languages results in fast, time-tested code, the resulting model is limited in its modularity and cannot take advantage of functionality
available with modern computer languages. Here we describe an effort at using the open-source, object-oriented language Python
to create more flexible climate models: the package qtcm, a Python implementation of the intermediate-level Neelin-Zeng Quasi-Equilibrium Tropical Circulation model (QTCM1) of the atmosphere. The qtcm package retains the core numerics of QTCM1, written in Fortran, to optimize model performance but uses Python structures and utilities to wrap the QTCM1 Fortran routines and manage model execution. The resulting "mixed language" modeling package allows order and choice of subroutine execution to be altered at run time, and model analysis and visualization to be integrated in interactively with model execution at run time. This flexibility facilitates more complex scientific analysis using less complex code than would be possible using traditional languages alone and provides tools to transform the traditional "formulate hypothesis → write and test code → run model → analyze results" sequence into a feedback loop that can be executed automatically by the computer.