anchor.diff:          var_to_update%data_3d = var_to_update%data_3d + (var_to_update%dqdt_3d * dt%seconds())
   
           if (associated(this%external_precipitation%data_2d)) then
  -            this%accumulated_precipitation%data_2d = this%accumulated_precipitation%data_2d + (this%external_precipitation%data_2d * dt%seconds())
  +            if (associated(this%accumulated_precipitation%data_2d)) then
  +                this%accumulated_precipitation%data_2d = this%accumulated_precipitation%data_2d + (this%external_precipitation%data_2d * dt%seconds())
  +            endif
           endif
   
   
  
positive.code:         ! make sure the dictionary is reset to point to the first variable
          call this%variables_to_force%reset_iterator()
  
          ! No iterate through the dictionary as long as there are more elements present
          do while (this%variables_to_force%has_more_elements())
              ! get the next variable
              var_to_update = this%variables_to_force%next()
  
negative.code:                            temporary_data)
              if (allocated(this%land_mask)) then
                  this%land_mask = temporary_data(this%grid%ims:this%grid%ime, this%grid%jms:this%grid%jme)
                  where(this%land_mask==0) this%land_mask = kLC_WATER
              endif
          endif
  
  