anchor.diff:      enddo
            ! compute sigma coordinate quantities (bottom to top).
       do k=1,nlevs+1
  -        si(nlevs+2-k)= ak(k)/101300.0+bk(k) ! si are now sigmas
  +        si(nlevs+2-k)= (ak(k) - model_top_pressure)/(py_pdryini - model_top_pressure)+bk(k) ! si are now sigmas
       enddo
       do k=1,nlevs
           sl(k) = 0.5*(si(k)+si(k+1))
  
positive.code:        nn = nn + 2
      enddo
   end subroutine copyspecout
   
  
   subroutine twodtooned(data2,data1)
     real(r_kind), intent(in) :: data2(nlons,nlats)
  
negative.code:     !call spectogrd(grav*topospec, phis)
      !print *,'min/max surface geopotential',minval(phis),maxval(phis)
      !call spectogrd(lnpsspec, psg)
      !psg = exp(psg)
      !print *,'min/max sfc pressure (hPa)',minval(psg/100.),maxval(psg/100.)
      ! initialize model interface and level pressures, related variables.
      !call calc_pressdata(lnpsg)
      ! compute gradient of surface orography
      !call getgrad(grav*topospec, dphisdx, dphisdy, rerth)
      ! hyper-diffusion operator (plus rayleigh damping in upper stratosphere)
  
      call setdampspec(ndiss,efold,hdif_fac,hdif_fac2,fshk,disspec,diff_prof,dmp_prof)
  
      ! initialize arrays for semi-implicit adjustments.
      if (.not. explicit) call init_semimpdata()
      ! initialize stochastic data.
      ! JOY removing stochastic routines
      !call init_stochdata()
   end subroutine init_dyn
  
  