anchor.diff:          call json_object_init(js, 'operators')
           call json_write_key(js, 'energy', doing_dmqmc_calc(dmqmc_energy))
           call json_write_key(js, 'energy_squared', doing_dmqmc_calc(dmqmc_energy_squared))
  +        call json_write_key(js, 'kinetic_energy', doing_dmqmc_calc(dmqmc_kinetic_energy))
  +        call json_write_key(js, 'potential_energy', doing_dmqmc_calc(dmqmc_potential_energy))
  +        call json_write_key(js, 'H0_energy', doing_dmqmc_calc(dmqmc_H0_energy))
  +        call json_write_key(js, 'HI_energy', doing_dmqmc_calc(dmqmc_HI_energy))
           call json_write_key(js, 'correlation_fn', doing_dmqmc_calc(dmqmc_correlation))
           call json_write_key(js, 'staggered_mad_ind', doing_dmqmc_calc(dmqmc_staggered_magnetisation))
           call json_write_key(js, 'rdm_r2', doing_dmqmc_calc(dmqmc_rdm_r2))
  
positive.code:         call json_write_key(js, 'calc_excit_dist', dmqmc%calc_excit_dist)
          call json_write_key(js, 'all_sym_sectors', dmqmc%all_sym_sectors)
          call json_write_key(js, 'all_spin_sectors', dmqmc%all_spin_sectors)
          if (allocated(dmqmc%sampling_probs)) then
              call json_write_key(js, 'sampling_probs', dmqmc%sampling_probs)
          else
  
negative.code:         call json_write_key(js, 'propagate_to_beta', dmqmc%propagate_to_beta)
          call json_write_key(js, 'initial_matrix', dmqmc%initial_matrix)
          call json_write_key(js, 'grand_canonical_initialisation', dmqmc%grand_canonical_initialisation)
          call json_write_key(js, 'symmetric', dmqmc%symmetric)
          call json_write_key(js, 'metropolis_attempts', dmqmc%metropolis_attempts, terminal=.true.)
          call json_object_end(js, terminal)
  
  