anchor.diff:          procedure :: send_halos => send_multidomain_halos
           procedure :: recv_halos => receive_multidomain_halos
           procedure :: separate_halos => separate_fine_halos_from_their_domain
  +        procedure :: communicate_max_U => communicate_max_U
           ! Memory tracking
           procedure :: memory_summary => memory_summary
           ! Convenience
  
positive.code: 
          integer(ip) :: i
  
          ! Print out timing info for each
          do i = 1, size(md%domains, kind=ip)
              write(log_output_unit, "(A)") ''
  
negative.code:                 ! domain could support substantially different time-steps in different parts of the
                  ! "big domain". In combination with load balancing, we can get large speedups.
                  !
                  ! NOTE: This will lead to different timestepping with different domain partitions,
                  ! so the results should depend on the number of cores unless we specity the partition
                  ! via a load_balance_file.
                  if(md%domains(j)%max_dt > 0.0_dp) nt = max(1, min(nt, ceiling(dt/md%domains(j)%max_dt) ))
              end if
  
  