anchor.diff:  
                   else
                       call interpolate_variable(var_to_interpolate%data_3d, input_data, forcing, &
  -                                            vert_interp=var_is_not_pressure)
  +                                    vert_interp=var_is_not_pressure, var_is_u=var_is_u, var_is_v=var_is_v)
                       if (.not.var_is_not_pressure) then
                           nz = size(this%geo%z, 2)
                           call update_pressure(var_to_interpolate%data_3d, forcing%geo%z(:,:nz,:), this%geo%z)
  
positive.code:             this%v_latitude%data_2d = temporary_data(this%v_grid%ims:this%v_grid%ime, this%v_grid%jms:this%v_grid%jme)
  
          else
              associate(vlat => this%v_latitude%data_2d, lat=>this%latitude%data_2d, ny=>this%grid%ny)
                  vlat(:,1)    = (1.5 * lat(:,1)  - 0.5 * lat(:,2))   ! extrapolate past the end
                  vlat(:,2:ny) = (lat(:,1:ny-1) + lat(:,2:ny)) / 2    ! interpolate between points
                  vlat(:,ny+1) = (1.5 * lat(:,ny) - 0.5 * lat(:,ny-1))  ! extrapolate past the end
              end associate
          endif
  
  
negative.code:             this%v_longitude%data_2d = temporary_data(this%v_grid%ims:this%v_grid%ime, this%v_grid%jms:this%v_grid%jme)
  
          else
              ! load the mass grid data again to get the full grid
              call load_data(options%parameters%init_conditions_file,   &
                             options%parameters%lon_hi,                 &
                             temporary_data, this%grid)
  
              associate(vlon => this%v_longitude%data_2d, grid=>this%v_grid)
  
                  call array_offset_y(temporary_data, temp_offset)
                  vlon = temp_offset(grid%ims:grid%ime, grid%jms:grid%jme)
              end associate
          endif
  
  