<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article" dtd-version="3.0" xml:lang="en">
<front>
<journal-meta>
<journal-id journal-id-type="publisher">GMD</journal-id>
<journal-title-group>
<journal-title>Geoscientific Model Development</journal-title>
<abbrev-journal-title abbrev-type="publisher">GMD</abbrev-journal-title>
</journal-title-group>
<issn pub-type="epub">1991-9603</issn>
<publisher><publisher-name>Copernicus GmbH</publisher-name>
<publisher-loc>Göttingen, Germany</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.5194/gmd-2-1-2009</article-id>
<title-group>
<article-title>qtcm 0.1.2:  a Python implementation of the Neelin-Zeng Quasi-Equilibrium Tropical Circulation Model</article-title>
</title-group>
<contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Lin</surname>
<given-names>J. W.-B.</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
</contrib>
</contrib-group><aff id="aff1">
<label>1</label>
<addr-line>Physics Department, North Park University, 3225 W. Foster Ave., Chicago, Illinois 60625, USA</addr-line>
</aff>
<pub-date pub-type="epub">
<day>11</day>
<month>02</month>
<year>2009</year>
</pub-date>
<volume>2</volume>
<issue>1</issue>
<fpage>1</fpage>
<lpage>11</lpage>
<permissions>
<license xlink:type="simple">
<license-p>This is an open-access article ditributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.</license-p>
</license>
</permissions>
<self-uri xlink:href="http://www.geosci-model-dev.net/2/1/2009/gmd-2-1-2009.html">This article is available from http://www.geosci-model-dev.net/2/1/2009/gmd-2-1-2009.html</self-uri>
<self-uri xlink:href="http://www.geosci-model-dev.net/2/1/2009/gmd-2-1-2009.pdf">The full text article is available as a PDF file from http://www.geosci-model-dev.net/2/1/2009/gmd-2-1-2009.pdf</self-uri>
<abstract>
<p>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.</p>
</abstract>
<counts><page-count count="11"/></counts>
</article-meta>
</front>
<body/>
<back>
<ref-list>
<title>References</title>
<ref id="ref1">
<label>1</label><mixed-citation publication-type="other" xlink:type="simple"> Beazley, D M.: SWIG 1.1 Users Manual, http://www.swig.org/Doc1.1/HTML/Contents.html, 1997. </mixed-citation>
</ref>
<ref id="ref2">
<label>2</label><mixed-citation publication-type="other" xlink:type="simple"> 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. </mixed-citation>
</ref>
<ref id="ref3">
<label>3</label><mixed-citation publication-type="other" xlink:type="simple"> 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. </mixed-citation>
</ref>
<ref id="ref4">
<label>4</label><mixed-citation publication-type="other" xlink:type="simple"> Hunter, J. and Dale, D.: The Matplotlib User&apos;s Guide, http://matplotlib.sourceforge.net/users_guide_0.98.1.pdf, 2007. </mixed-citation>
</ref>
<ref id="ref5">
<label>5</label><mixed-citation publication-type="other" xlink:type="simple"> Johnson, R A.: Object-oriented analysis and design – What does the research say?, J. Comput. Inform. Syst., 42, 11–15, 2002. </mixed-citation>
</ref>
<ref id="ref6">
<label>6</label><mixed-citation publication-type="other" xlink:type="simple"> Lin, J. W.-B.: qtcm User&apos;s Guide, http://www.johnny-lin.com/py_pkgs/qtcm/doc/manual.pdf, 2008. </mixed-citation>
</ref>
<ref id="ref7">
<label>7</label><mixed-citation publication-type="other" xlink:type="simple"> 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. </mixed-citation>
</ref>
<ref id="ref8">
<label>8</label><mixed-citation publication-type="other" xlink:type="simple"> Lin, J. W.-B. and Neelin, J D.: Considerations for stochastic convective parameterization, J. Atmos. Sci., 59, 959–975, 2002. </mixed-citation>
</ref>
<ref id="ref9">
<label>9</label><mixed-citation publication-type="other" xlink:type="simple"> 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. </mixed-citation>
</ref>
<ref id="ref10">
<label>10</label><mixed-citation publication-type="other" xlink:type="simple"> Mesinger, F. and Arakawa, A.: Numerical Methods Used in Atmospheric Models, Vol. 1, GARP Publications Series No. 17, World Meteorological Organization, 1976. </mixed-citation>
</ref>
<ref id="ref11">
<label>11</label><mixed-citation publication-type="other" xlink:type="simple"> Neelin, J D. and Zeng, N.: A quasi-equilibrium tropical circulation model – formulation, J. Atmos. Sci., 57, 1741–1766, 2000. </mixed-citation>
</ref>
<ref id="ref12">
<label>12</label><mixed-citation publication-type="other" xlink:type="simple"> 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. </mixed-citation>
</ref>
<ref id="ref13">
<label>13</label><mixed-citation publication-type="other" xlink:type="simple"> Oliphant, T E.: Python for scientific computing, Comput. Sci. Eng., 9, 10–20, 2007. </mixed-citation>
</ref>
<ref id="ref14">
<label>14</label><mixed-citation publication-type="other" xlink:type="simple"> PCMDI: Climate Data Analysis Tools, http://cdat.sf.net, 2006. </mixed-citation>
</ref>
<ref id="ref15">
<label>15</label><mixed-citation publication-type="other" xlink:type="simple"> 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. </mixed-citation>
</ref>
<ref id="ref16">
<label>16</label><mixed-citation publication-type="other" xlink:type="simple"> Peterson, P.: F2PY Users Guide and Reference Manual, http://cens.ioc.ee/projects/f2py2e/usersguide/index.html, 2005. </mixed-citation>
</ref>
<ref id="ref17">
<label>17</label><mixed-citation publication-type="other" xlink:type="simple"> PyCCSM: pyccsm: A Python version of the CCSM coupler, http://code.google.com/p/pyccsm/, 2008. </mixed-citation>
</ref>
<ref id="ref18">
<label>18</label><mixed-citation publication-type="other" xlink:type="simple"> Unidata: The NetCDF Tutorial, Boulder, CO, http://www.unidata.ucar.edu/software/netcdf/docs/netcdf-tutorial.html, 2007. </mixed-citation>
</ref>
<ref id="ref19">
<label>19</label><mixed-citation publication-type="other" xlink:type="simple"> van~der Walt, S.: Documentation: NumPy and SciPy, http://www.scipy.org/Documentation, 2008. </mixed-citation>
</ref>
<ref id="ref20">
<label>20</label><mixed-citation publication-type="other" xlink:type="simple"> van Rossum, G.: Python Tutorial: Release 2.5.2, Python Software Foundation, http://www.python.org/doc/2.5.2/tut/tut.html, 2008. </mixed-citation>
</ref>
<ref id="ref21">
<label>21</label><mixed-citation publication-type="other" xlink:type="simple"> 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. </mixed-citation>
</ref>
<ref id="ref22">
<label>22</label><mixed-citation publication-type="other" xlink:type="simple"> Zeng, N., Neelin, J D., and Chou, C.: A quasi-equilibrium tropical circulation model–-implementation and simulation, J. Atmos. Sci., 57, 1767–1796, 2000. </mixed-citation>
</ref>
</ref-list>
</back>
</article>