anchor.diff:      allocate(tempf3(1:theta%n))
       
       !Vapour
  -    allocate(vapourf0(1:Qv%n))
  -    allocate(vapourf1(1:Qv%n))
  -    allocate(vapourf2(1:Qv%n))
  -    allocate(vapourf3(1:Qv%n))
  +    allocate(vapourf0(1:qv%n))
  +    allocate(vapourf1(1:qv%n))
  +    allocate(vapourf2(1:qv%n))
  +    allocate(vapourf3(1:qv%n))
   
       !Cloud
  -    allocate(cloudf0(1:Qc%n))
  -    allocate(cloudf1(1:Qc%n))
  -    allocate(cloudf2(1:Qc%n))
  -    allocate(cloudf3(1:Qc%n))
  +    allocate(cloudf0(1:qc%n))
  +    allocate(cloudf1(1:qc%n))
  +    allocate(cloudf2(1:qc%n))
  +    allocate(cloudf3(1:qc%n))
   
       !Rain
  -    allocate(rainf0(1:Qr%n))
  -    allocate(rainf1(1:Qr%n))
  -    allocate(rainf2(1:Qr%n))
  -    allocate(rainf3(1:Qr%n))
  +    allocate(rainf0(1:qr%n))
  +    allocate(rainf1(1:qr%n))
  +    allocate(rainf2(1:qr%n))
  +    allocate(rainf3(1:qr%n))
   
       !Tracer
       allocate(tracerf0(1:tracer%n))
  
positive.code:     allocate(theta_error%f(1:theta%n), stat=ist)
  
      !Vapour
      Qv%n=mesh%nv
      Qv%name="vapour"
      Qv%pos=0
      allocate(Qv%f(1:Qv%n), stat=ist)
      allocate(hQv_old%f(1:Qv%n), stat=ist)
      allocate(hQv%f(1:Qv%n), stat=ist)
      allocate(hSQv%f(1:Qv%n), stat=ist)
      allocate(delta_Qv%f(1:Qv%n), stat=ist)
      allocate(Qv_exact%f(1:Qv%n), stat=ist)
      allocate(Qv_error%f(1:Qv%n), stat=ist)
  
      !Cloud
      Qc%n=mesh%nv
      Qc%name="cloud"
      Qc%pos=0
      allocate(Qc%f(1:Qc%n), stat=ist)
      allocate(hQc%f(1:Qc%n), stat=ist)
      allocate(hQc_old%f(1:Qc%n), stat=ist)
      allocate(hSQc%f(1:Qc%n), stat=ist)
      allocate(delta_Qc%f(1:Qc%n), stat=ist)
      allocate(Qc_exact%f(1:Qc%n), stat=ist)
      allocate(Qc_error%f(1:Qc%n), stat=ist)
  
      !Rain
      Qr%n=mesh%nv
      Qr%name="rain"
      Qr%pos=0
      allocate(Qr%f(1:Qr%n), stat=ist)
      allocate(hQr%f(1:Qr%n), stat=ist)
      allocate(hQr_old%f(1:Qr%n), stat=ist)
      allocate(hSQr%f(1:Qr%n), stat=ist)
      allocate(delta_Qr%f(1:Qr%n), stat=ist)
      allocate(Qr_exact%f(1:Qr%n), stat=ist)
      allocate(Qr_error%f(1:Qr%n), stat=ist)
  
      !Tracer
      tracer%n=mesh%nv
  
negative.code:     type(scalar_field):: hwater
  
      !Vapour state variables (defined on voronoi centers)
      type(scalar_field):: qv          !vapour   - diagnostic variable
      type(scalar_field):: hqv         !h*vapour - prognostic variable
      type(scalar_field):: hqv_old     !h*vapour - prognostic variable
      type(scalar_field):: hSqv        !Source for vapour equation
      type(scalar_field):: delta_qv    !Used in source computation 
      type(scalar_field):: qv_exact    !Only for test cases 2 and 3
      type(scalar_field):: qv_error    !Only for test cases 2 and 3
  
      !Cloud state variables  (defined on voronoi centers)
      type(scalar_field):: qc          !cloud   - diagnostic variable
      type(scalar_field):: hqc         !h*cloud - prognostic variable
      type(scalar_field):: hqc_old     !h*cloud - prognostic variable
      type(scalar_field):: hSqc        !Source for cloud equation
      type(scalar_field):: delta_qc    !used in source computation 
      type(scalar_field):: qc_exact    !Only for test cases 2 and 3
      type(scalar_field):: qc_error    !Only for test cases 2 and 3
  
      !Rain state variables  (defined on voronoi centers)
      type(scalar_field):: qr          !rain   - diagnostic variable
      type(scalar_field):: hqr         !h*rain - prognostic variable
      type(scalar_field):: hqr_old     !h*rain - prognostic variable
      type(scalar_field):: hSqr        !Source for rain equation
      type(scalar_field):: delta_qr    !used in source computation 
      type(scalar_field):: qr_exact    !Only for test cases 2 and 3
      type(scalar_field):: qr_error    !Only for test cases 2 and 3
  
      !Tracer state variables  (defined on voronoi centers)
      type(scalar_field):: tracer          !tracer   - diagnostic variable
  