# ezfio_files

This modules essentially contains the name of the EZFIO directory in the `ezfio_filename` variable. This is read as the first argument of the command-line, or as the `QP_INPUT` environment variable.

## Providers

`ezfio_filename`

  File : `ezfio_files/ezfio.irp.f`

      character*(128) :: ezfio_filename

  Name of EZFIO file. It is obtained from the QPACKAGE_INPUT environment variable if it is set, or as the 1st argument of the command line.

  Needs:

  `mpi_initialized` |  |

  Needed by:

  `ao_cartesian` `ao_coef` `ao_expo` `ao_integrals_threshold` `ao_md5` `ao_nucl` `ao_num` `ao_power` `ao_prim_num` `ao_two_e_integrals_erf_in_map` `ao_two_e_integrals_in_map` `cas_bitmask` `correlation_energy_ratio_max` `data_energy_proj` `data_energy_var` `data_one_e_dm_alpha_mo` `data_one_e_dm_beta_mo` `davidson_sze_max` `disk_access_nuclear_repulsion` `disk_based_davidson` `distributed_davidson` `do_direct_integrals` `do_pseudo` `do_pt2` `elec_alpha_num` `elec_beta_num` `elec_num` `energy_iterations` `ezfio_work_dir` `frozen_orb_scf` `generators_bitmask` `generators_bitmask_restart` `io_ao_integrals_e_n` `io_ao_integrals_kinetic` `io_ao_integrals_overlap` `io_ao_integrals_pseudo` | `io_ao_one_e_integrals` `io_ao_two_e_integrals` `io_ao_two_e_integrals_erf` `io_mo_integrals_e_n` `io_mo_integrals_kinetic` `io_mo_integrals_pseudo` `io_mo_one_e_integrals` `io_mo_two_e_integrals` `io_mo_two_e_integrals_erf` `level_shift` `max_dim_diis` `mo_class` `mo_coef` `mo_guess_type` `mo_integrals_threshold` `mo_label` `mo_num` `mo_occ` `mo_two_e_integrals_erf_in_map` `mo_two_e_integrals_in_map` `mu_erf` `n_cas_bitmask` `n_det` `n_det_iterations` `n_det_max` `n_det_max_full` `n_det_print_wf` `n_generators_bitmask` `n_generators_bitmask_restart` `n_it_scf_max` `n_iter` `n_states` `n_states_diag` `no_ivvv_integrals` `no_vvv_integrals` | `no_vvvv_integrals` `nucl_charge` `nucl_charge_remove` `nucl_coord` `nucl_label` `nucl_num` `only_expected_s2` `pseudo_dz_k` `pseudo_dz_kl` `pseudo_grid_rmax` `pseudo_grid_size` `pseudo_klocmax` `pseudo_kmax` `pseudo_lmax` `pseudo_n_k` `pseudo_n_kl` `pseudo_v_k` `pseudo_v_kl` `psi_coef` `psi_det` `psi_det_size` `pt2_iterations` `pt2_max` `pt2_relative_error` `qp_stop_filename` `read_wf` `s2_eig` `scf_algorithm` `state_following` `target_energy` `thresh_scf` `threshold_davidson` `threshold_diis` `threshold_generators` `used_weight`

`ezfio_work_dir`

  File : `ezfio_files/ezfio.irp.f`

      character*(128) :: ezfio_work_dir

  EZFIO/work/

  Needs:

  `ezfio_filename` |  |

`file_lock`

  File : `ezfio_files/lock.irp.f`

      integer(omp_lock_kind)  :: file_lock

  OpenMP Lock for I/O

`output_cpu_time_0`

  File : `ezfio_files/output.irp.f`

      double precision        :: output_wall_time_0
      double precision        :: output_cpu_time_0

  Initial CPU and wall times when printing in the output files

  Needed by:

  `ao_cartesian` `ao_coef` `ao_expo` `ao_integrals_threshold` `ao_md5` `ao_nucl` `ao_num` `ao_power` `ao_prim_num` `ci_energy` `correlation_energy_ratio_max` `data_energy_proj` `data_energy_var` `data_one_e_dm_alpha_mo` `data_one_e_dm_beta_mo` `davidson_sze_max` `disk_access_nuclear_repulsion` `disk_based_davidson` `distributed_davidson` `do_direct_integrals` `do_pseudo` `do_pt2` `elec_alpha_num` `elec_beta_num` `energy_iterations` `frozen_orb_scf` `io_ao_integrals_e_n` `io_ao_integrals_kinetic` `io_ao_integrals_overlap` `io_ao_integrals_pseudo` | `io_ao_one_e_integrals` `io_ao_two_e_integrals` `io_ao_two_e_integrals_erf` `io_mo_integrals_e_n` `io_mo_integrals_kinetic` `io_mo_integrals_pseudo` `io_mo_one_e_integrals` `io_mo_two_e_integrals` `io_mo_two_e_integrals_erf` `level_shift` `max_dim_diis` `mo_class` `mo_guess_type` `mo_integrals_threshold` `mu_erf` `n_det_generators` `n_det_iterations` `n_det_max` `n_det_max_full` `n_det_print_wf` `n_det_selectors` `n_it_scf_max` `n_iter` `n_states` `n_states_diag` `no_ivvv_integrals` `no_vvv_integrals` `no_vvvv_integrals` `nucl_charge` `nucl_charge_remove` | `nucl_coord` `nucl_label` `nucl_num` `nuclear_repulsion` `only_expected_s2` `pseudo_dz_k` `pseudo_dz_kl` `pseudo_grid_rmax` `pseudo_grid_size` `pseudo_klocmax` `pseudo_kmax` `pseudo_lmax` `pseudo_n_k` `pseudo_n_kl` `pseudo_v_k` `pseudo_v_kl` `pt2_iterations` `pt2_max` `pt2_relative_error` `read_wf` `s2_eig` `scf_algorithm` `state_following` `target_energy` `thresh_scf` `threshold_davidson` `threshold_diis` `threshold_generators` `used_weight`

`output_wall_time_0`

  File : `ezfio_files/output.irp.f`

      double precision        :: output_wall_time_0
      double precision        :: output_cpu_time_0

  Initial CPU and wall times when printing in the output files

  Needed by:

  `ao_cartesian` `ao_coef` `ao_expo` `ao_integrals_threshold` `ao_md5` `ao_nucl` `ao_num` `ao_power` `ao_prim_num` `ci_energy` `correlation_energy_ratio_max` `data_energy_proj` `data_energy_var` `data_one_e_dm_alpha_mo` `data_one_e_dm_beta_mo` `davidson_sze_max` `disk_access_nuclear_repulsion` `disk_based_davidson` `distributed_davidson` `do_direct_integrals` `do_pseudo` `do_pt2` `elec_alpha_num` `elec_beta_num` `energy_iterations` `frozen_orb_scf` `io_ao_integrals_e_n` `io_ao_integrals_kinetic` `io_ao_integrals_overlap` `io_ao_integrals_pseudo` | `io_ao_one_e_integrals` `io_ao_two_e_integrals` `io_ao_two_e_integrals_erf` `io_mo_integrals_e_n` `io_mo_integrals_kinetic` `io_mo_integrals_pseudo` `io_mo_one_e_integrals` `io_mo_two_e_integrals` `io_mo_two_e_integrals_erf` `level_shift` `max_dim_diis` `mo_class` `mo_guess_type` `mo_integrals_threshold` `mu_erf` `n_det_generators` `n_det_iterations` `n_det_max` `n_det_max_full` `n_det_print_wf` `n_det_selectors` `n_it_scf_max` `n_iter` `n_states` `n_states_diag` `no_ivvv_integrals` `no_vvv_integrals` `no_vvvv_integrals` `nucl_charge` `nucl_charge_remove` | `nucl_coord` `nucl_label` `nucl_num` `nuclear_repulsion` `only_expected_s2` `pseudo_dz_k` `pseudo_dz_kl` `pseudo_grid_rmax` `pseudo_grid_size` `pseudo_klocmax` `pseudo_kmax` `pseudo_lmax` `pseudo_n_k` `pseudo_n_kl` `pseudo_v_k` `pseudo_v_kl` `pt2_iterations` `pt2_max` `pt2_relative_error` `read_wf` `s2_eig` `scf_algorithm` `state_following` `target_energy` `thresh_scf` `threshold_davidson` `threshold_diis` `threshold_generators` `used_weight`

`qp_kill_filename`

  File : `ezfio_files/qp_stop.irp.f`

      character*(128) :: qp_stop_filename
      character*(128) :: qp_kill_filename
      integer :: qp_stop_variable

  Name of the file to check for qp stop

  Needs:

  `ezfio_filename` |  |

`qp_stop_filename`

  File : `ezfio_files/qp_stop.irp.f`

      character*(128) :: qp_stop_filename
      character*(128) :: qp_kill_filename
      integer :: qp_stop_variable

  Name of the file to check for qp stop

  Needs:

  `ezfio_filename` |  |

`qp_stop_variable`

  File : `ezfio_files/qp_stop.irp.f`

      character*(128) :: qp_stop_filename
      character*(128) :: qp_kill_filename
      integer :: qp_stop_variable

  Name of the file to check for qp stop

  Needs:

  `ezfio_filename` |  |

## Subroutines / functions

`getunitandopen:`()

  File : `ezfio_files/get_unit_and_open.irp.f`

      integer function getUnitAndOpen(f,mode)

  F: | file name
  Mode: | ‘R’ : READ, UNFORMATTED ‘W’ : WRITE, UNFORMATTED ‘r’ : READ, FORMATTED ‘w’ : WRITE, FORMATTED ‘a’ : APPEND, FORMATTED ‘x’ : READ/WRITE, FORMATTED

`qp_stop:`()

  File : `ezfio_files/qp_stop.irp.f`

      logical function qp_stop()

  Checks if the qp_stop command was invoked for the clean termination of the program

  Needs:

  `qp_stop_filename` |  |

`write_bool:`()

  File : `ezfio_files/output.irp.f`

      subroutine write_bool(iunit,value,label)

  Write an logical value in output

  Needs:

  `mpi_master` |  |

`write_double:`()

  File : `ezfio_files/output.irp.f`

      subroutine write_double(iunit,value,label)

  Write a double precision value in output

  Needs:

  `mpi_master` |  |

  Called by:

  `ci_energy` `damping_scf()` `davidson_diag_hjj_sjj()` `nuclear_repulsion` | `psi_coef_max` `pt2_e0_denominator` `roothaan_hall_scf()` `run_cipsi()` | `run_slave_main()` `run_stochastic_cipsi()` `zmq_pt2()` `zmq_selection()`

`write_int:`()

  File : `ezfio_files/output.irp.f`

      subroutine write_int(iunit,value,label)

  Write an integer value in output

  Needs:

  `mpi_master` |  |

  Called by:

  `davidson_diag_hjj_sjj()` `make_s2_eigenfunction()` `mo_num` `n_cas_bitmask` `n_core_orb` `n_det` `n_det_generators` `n_det_selectors` | `n_generators_bitmask` `n_generators_bitmask_restart` `n_int` `nthreads_davidson` `nthreads_pt2` `psi_cas` `psi_det_alpha_unique` `psi_det_beta_unique` | `psi_det_size` `pt2_n_teeth` `qp_max_mem` `remove_small_contributions()` `save_wavefunction_general()` `save_wavefunction_specified()` `zmq_pt2()`

`write_time:`()

  File : `ezfio_files/output.irp.f`

      subroutine write_time(iunit)

  Write a time stamp in the output for chronological reconstruction

  Needs:

  `output_wall_time_0` | `mpi_master` |

  Called by:

  `ao_cartesian` `ao_coef` `ao_expo` `ao_integrals_threshold` `ao_md5` `ao_nucl` `ao_num` `ao_power` `ao_prim_num` `ci_energy` `correlation_energy_ratio_max` `damping_scf()` `data_energy_proj` `data_energy_var` `data_one_e_dm_alpha_mo` `data_one_e_dm_beta_mo` `davidson_diag_hjj_sjj()` `davidson_sze_max` `disk_access_nuclear_repulsion` `disk_based_davidson` `distributed_davidson` `do_direct_integrals` `do_pseudo` `do_pt2` `elec_alpha_num` `elec_beta_num` `energy_iterations` `frozen_orb_scf` `io_ao_integrals_e_n` `io_ao_integrals_kinetic` `io_ao_integrals_overlap` `io_ao_integrals_pseudo` | `io_ao_one_e_integrals` `io_ao_two_e_integrals` `io_ao_two_e_integrals_erf` `io_mo_integrals_e_n` `io_mo_integrals_kinetic` `io_mo_integrals_pseudo` `io_mo_one_e_integrals` `io_mo_two_e_integrals` `io_mo_two_e_integrals_erf` `level_shift` `make_s2_eigenfunction()` `max_dim_diis` `mo_as_eigvectors_of_mo_matrix()` `mo_as_svd_vectors_of_mo_matrix()` `mo_as_svd_vectors_of_mo_matrix_eig()` `mo_class` `mo_guess_type` `mo_integrals_threshold` `mu_erf` `n_det_generators` `n_det_iterations` `n_det_max` `n_det_max_full` `n_det_print_wf` `n_det_selectors` `n_it_scf_max` `n_iter` `n_states` `n_states_diag` `no_ivvv_integrals` `no_vvv_integrals` `no_vvvv_integrals` | `nucl_charge` `nucl_charge_remove` `nucl_coord` `nucl_label` `nucl_num` `nuclear_repulsion` `only_expected_s2` `pseudo_dz_k` `pseudo_dz_kl` `pseudo_grid_rmax` `pseudo_grid_size` `pseudo_klocmax` `pseudo_kmax` `pseudo_lmax` `pseudo_n_k` `pseudo_n_kl` `pseudo_v_k` `pseudo_v_kl` `pt2_iterations` `pt2_max` `pt2_relative_error` `read_wf` `roothaan_hall_scf()` `s2_eig` `scf_algorithm` `state_following` `target_energy` `thresh_scf` `threshold_davidson` `threshold_diis` `threshold_generators` `used_weight`

  Calls:

  `cpu_time()` | `print_memory_usage()` | `wall_time()`