<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE article SYSTEM "http://www.geosci-model-dev.net/inc/gmd/copernicus.dtd">
<article language="en">
	<journal>
		<journal_title>Geoscientific Model Development</journal_title>
		<journal_url>www.geosci-model-dev.net</journal_url>
		<issn>1991-959X</issn>
		<eissn>1991-9603</eissn>
		<volume_number>2</volume_number>
		<issue_number>1</issue_number>
		<publication_year>2009</publication_year>
	</journal>
	<doi>10.5194/gmd-2-1-2009</doi>
	<article_url>http://www.geosci-model-dev.net/2/1/2009/</article_url>
	<abstract_html>http://www.geosci-model-dev.net/2/1/2009/gmd-2-1-2009.html</abstract_html>
	<fulltext_pdf>http://www.geosci-model-dev.net/2/1/2009/gmd-2-1-2009.pdf</fulltext_pdf>
	<start_page>1</start_page>
	<end_page>11</end_page>
	<publication_date>2009-02-11</publication_date>
	<article_title content_type="html">qtcm 0.1.2:  a Python implementation of the Neelin-Zeng Quasi-Equilibrium Tropical Circulation Model</article_title>
	<authors>
		<author numeration="1" affiliations="1">
			<name>J. W.-B. Lin</name>
			<email>jlin@northpark.edu</email>
		</author>
	</authors>
	<affiliations>
		<affiliation numeration="1" content_type="html">Physics Department, North Park University, 3225 W. Foster Ave., Chicago, Illinois 60625, USA</affiliation>
	</affiliations>
	<abstract content_type="html">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 &quot;mixed language&quot; 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 &quot;formulate hypothesis →
write and test code → run model → analyze
results&quot; sequence into a feedback loop that can be executed
automatically by the computer.</abstract>
	<references>
		<reference numeration="1" content_type="text"> Beazley, D M.: SWIG 1.1 Users Manual, http://www.swig.org/Doc1.1/HTML/Contents.html, 1997. </reference>
		<reference numeration="2" content_type="text"> Edwards, P N.: A brief history of atmospheric general circulation modeling, in: General Circulation Development, Past Present and Future: The Proceedings of a Symposium in Honor of Akio Arakawa, edited by: Randall, D A., Academic Press, New York, 67–90, 2000. </reference>
		<reference numeration="3" content_type="text"> Gushchina, D., Dewitte, B., and Illig, S.: Remote ENSO forcing versus local air-sea interaction in QTCM: A sensitivity study to intraseasonal variability, Adv. Geosci., 6, 289–297, 2006. </reference>
		<reference numeration="4" content_type="text"> Hunter, J. and Dale, D.: The Matplotlib User&apos;s Guide, http://matplotlib.sourceforge.net/users_guide_0.98.1.pdf, 2007. </reference>
		<reference numeration="5" content_type="text"> Johnson, R A.: Object-oriented analysis and design – What does the research say?, J. Comput. Inform. Syst., 42, 11–15, 2002. </reference>
		<reference numeration="6" content_type="text"> Lin, J. W.-B.: qtcm User&apos;s Guide, http://www.johnny-lin.com/py_pkgs/qtcm/doc/manual.pdf, 2008. </reference>
		<reference numeration="7" content_type="text"> Lin, J. W.-B. and Neelin, J D.: Influence of a stochastic moist convective parameterization on tropical climate variability, Geophys. Res. Lett., 27, 3691–3694, 2000. </reference>
		<reference numeration="8" content_type="text"> Lin, J. W.-B. and Neelin, J D.: Considerations for stochastic convective parameterization, J. Atmos. Sci., 59, 959–975, 2002. </reference>
		<reference numeration="9" content_type="text"> Lin, J. W.-B., Neelin, J D., and Zeng, N.: Maintenance of tropical intraseasonal variability: Impact of evaporation-wind feedback and midlatitude storms, J. Atmos. Sci., 57, 2793–2823, 2000. </reference>
		<reference numeration="10" content_type="text"> Mesinger, F. and Arakawa, A.: Numerical Methods Used in Atmospheric Models, Vol. 1, GARP Publications Series No. 17, World Meteorological Organization, 1976. </reference>
		<reference numeration="11" content_type="text"> Neelin, J D. and Zeng, N.: A quasi-equilibrium tropical circulation model – formulation, J. Atmos. Sci., 57, 1741–1766, 2000. </reference>
		<reference numeration="12" content_type="text"> Neelin, J D., Zeng, N., Chou, C., Lin, J., Su, H., Munnich, M., Hales, K., and Meyerson, J.: The Neelin-Zeng Quasi-Equilibrium Tropical Circulation Model (QTCM1), Version 2.3, UCLA Department of Atmospheric Sciences, Los Angeles, http://www.atmos.ucla.edu/~csi/qtcm_man/v2.3/qtcm_manv2.3.pdf, 2002. </reference>
		<reference numeration="13" content_type="text"> Oliphant, T E.: Python for scientific computing, Comput. Sci. Eng., 9, 10–20, 2007. </reference>
		<reference numeration="14" content_type="text"> PCMDI: Climate Data Analysis Tools, http://cdat.sf.net, 2006. </reference>
		<reference numeration="15" content_type="text"> Pennington, N., Lee, A Y., and Rehder, B.: Cognitive activities and levels of abstraction in procedural and object-oriented design, Hum.-Comput. Interact., 10, 171–226, 1995. </reference>
		<reference numeration="16" content_type="text"> Peterson, P.: F2PY Users Guide and Reference Manual, http://cens.ioc.ee/projects/f2py2e/usersguide/index.html, 2005. </reference>
		<reference numeration="17" content_type="text"> PyCCSM: pyccsm: A Python version of the CCSM coupler, http://code.google.com/p/pyccsm/, 2008. </reference>
		<reference numeration="18" content_type="text"> Unidata: The NetCDF Tutorial, Boulder, CO, http://www.unidata.ucar.edu/software/netcdf/docs/netcdf-tutorial.html, 2007. </reference>
		<reference numeration="19" content_type="text"> van~der Walt, S.: Documentation: NumPy and SciPy, http://www.scipy.org/Documentation, 2008. </reference>
		<reference numeration="20" content_type="text"> van Rossum, G.: Python Tutorial: Release 2.5.2, Python Software Foundation, http://www.python.org/doc/2.5.2/tut/tut.html, 2008. </reference>
		<reference numeration="21" content_type="text"> Zeng, N., Neelin, J D., Lau, K.-M., and Tucker, C J.: Enhancement of interdecadal climate variability in the Sahel by vegetation interaction, Science, 286, 1537–1540, 1999. </reference>
		<reference numeration="22" content_type="text"> Zeng, N., Neelin, J D., and Chou, C.: A quasi-equilibrium tropical circulation model–-implementation and simulation, J. Atmos. Sci., 57, 1767–1796, 2000. </reference>
	</references>
</article>

