def _compute_heating_rates(self):
(ncol, nlay, icld, permuteseed, irng, idrv, cp,<EOL>play, plev, tlay, tlev, tsfc,<EOL>h2ovmr, o3vmr, co2vmr, ch4vmr, n2ovmr, o2vmr,<EOL>cfc11vmr, cfc12vmr, cfc22vmr, ccl4vmr, emis,<EOL>inflglw, iceflglw, liqflglw,<EOL>cldfrac, ciwp, clwp, reic, relq, tauc, tauaer,) = self._prepare_lw_arguments()<EOL>if icld == <NUM_LIT:0>:  <EOL><INDENT>cldfmcl = np.zeros((ngptlw,ncol,nlay))<EOL>ciwpmcl = np.zeros((ngptlw,ncol,nlay))<EOL>clwpmcl = np.zeros((ngptlw,ncol,nlay))<EOL>reicmcl = np.zeros((ncol,nlay))<EOL>relqmcl = np.zeros((ncol,nlay))<EOL>taucmcl = np.zeros((ngptlw,ncol,nlay))<EOL><DEDENT>else:<EOL><INDENT>(cldfmcl, ciwpmcl, clwpmcl, reicmcl, relqmcl, taucmcl) =_rrtmg_lw.climlab_mcica_subcol_lw(<EOL>ncol, nlay, icld,<EOL>permuteseed, irng, play,<EOL>cldfrac, ciwp, clwp, reic, relq, tauc)<EOL><DEDENT>(uflx, dflx, hr, uflxc, dflxc, hrc, duflx_dt, duflxc_dt) =_rrtmg_lw.climlab_rrtmg_lw(ncol, nlay, icld, idrv,<EOL>play, plev, tlay, tlev, tsfc,<EOL>h2ovmr, o3vmr, co2vmr, ch4vmr, n2ovmr, o2vmr,<EOL>cfc11vmr, cfc12vmr, cfc22vmr, ccl4vmr, emis,<EOL>inflglw, iceflglw, liqflglw, cldfmcl,<EOL>taucmcl, ciwpmcl, clwpmcl, reicmcl, relqmcl,<EOL>tauaer)<EOL>self.LW_flux_up = _rrtm_to_climlab(uflx) + <NUM_LIT:0.>*self.LW_flux_up<EOL>self.LW_flux_down = _rrtm_to_climlab(dflx) + <NUM_LIT:0.>*self.LW_flux_down<EOL>self.LW_flux_up_clr = _rrtm_to_climlab(uflxc) + <NUM_LIT:0.>*self.LW_flux_up_clr<EOL>self.LW_flux_down_clr = _rrtm_to_climlab(dflxc) + <NUM_LIT:0.>*self.LW_flux_down_clr<EOL>self._compute_LW_flux_diagnostics()<EOL>LWheating_Wm2 = np.array(np.diff(self.LW_flux_net, axis=-<NUM_LIT:1>)) + <NUM_LIT:0.>*self.Tatm<EOL>LWheating_clr_Wm2 = np.array(np.diff(self.LW_flux_net_clr, axis=-<NUM_LIT:1>)) + <NUM_LIT:0.>*self.Tatm<EOL>self.heating_rate['<STR_LIT>'] = np.array(-self.LW_flux_net[..., -<NUM_LIT:1>, np.newaxis]) + <NUM_LIT:0.>*self.Ts<EOL>self.heating_rate['<STR_LIT>'] = LWheating_Wm2<EOL>Catm = self.Tatm.domain.heat_capacity<EOL>self.TdotLW = LWheating_Wm2 / Catm * const.seconds_per_day<EOL>self.TdotLW_clr = LWheating_clr_Wm2 / Catm * const.seconds_per_day<EOL>
Prepare arguments and call the RRTGM_LW driver to calculate
        radiative fluxes and heating rates