anchor.diff:          integer,intent(in)::timestep
           character(len=*),intent(in),optional :: inputfilename
           integer :: year, month, day, hour, minute, second
  +        integer :: output_shape(3), zlast(3)
           logical :: output_rain_rate
           
           output_rain_rate=.True.
  
positive.code:         surface_io_only = options%surface_io_only
          
          ! these are module level variables
          nx=size(domain%qv,1)
          nz=size(domain%qv,2)
          ny=size(domain%qv,3)
          if (.not.allocated(last_rain)) then
              output_rain_rate=.False.
              allocate(last_rain(nx,ny))
  
negative.code:             varid(29)=temp_id
              call check( nf90_inq_varid(ncid, "hfgs",  temp_id), trim(err)//"hfgs" )
              varid(25)=temp_id
              call check( nf90_inq_varid(ncid, "soil_w", temp_id), trim(err)//"soil_w" )
              varid(26)=temp_id
              call check( nf90_inq_varid(ncid, "soil_t", temp_id), trim(err)//"soil_t" )
  