#!/usr/bin/env python

#
# Set up realistic tropical temperature and moisture profiles
# and compute radiative fluxes
#

import climt
import Numeric

#--- instantiate radiation module
r = climt.radiation()

#--- initialise T,q to moist adiabat with 70% RH
ps   = 1020.                                # Surface pressure
T0   = 273.15 + 30.                         # Surface temperature
Tst  = 273.15 - 80.                         # Strospheric temp
p    = ( Numeric.arrayrange(r.levs, typecode='d')+ 0.5 ) * ps/r.levs 
T,q = climt.thermodyn.moistadiabat(p, T0, Tst, 0.7)

#--- compute radiative fluxes and heating rates
r(p, ps, T, T0, q)

#--- print out
print "lev    p     T       q        lwflx   lwhr     swflx    swhr"
for i in range(r.levs):
    print "%3i %6.1f %6.1f %6.2f %10.2f %6.2f %10.2f %6.2f" % \
          (i, p[i], T[i]-273.15, q[i], r.lwflx[i], r.lwhr[i]*86400., r.swflx[i], r.swhr[i]*86400.)