
  *** Copyright Notice ***
  BerkeleyGW, Copyright (c) 2011, The Regents of the University of
  California, through Lawrence Berkeley National Laboratory (subject to
  receipt of any required approvals from the U.S. Dept. of Energy).
  All rights reserved.

  If you have questions about your rights to use or distribute this
  software, please contact Berkeley Lab's Technology Transfer Department
  at  TTD@lbl.gov.

  NOTICE.  This software was developed under partial funding from the
  U.S. Department of Energy.  As such, the U.S. Government has been
  granted for itself and others acting on its behalf a paid-up,
  nonexclusive, irrevocable, worldwide license in the Software to
  reproduce, prepare derivative works, and perform publicly and display
  publicly.  Beginning five (5) years after the date permission to
  assert copyright is obtained from the U.S. Department of Energy, and
  subject to any subsequent five (5) year renewals, the U.S. Government
  is granted for itself and others acting on its behalf a paid-up,
  nonexclusive, irrevocable, worldwide license in the Software to
  reproduce, prepare derivative works, distribute copies to the public,
  perform publicly and display publicly, and to permit others to do so.

  For license information see "license.txt"

-------------------------------------------------------

  BerkeleyGW - The Berkeley GW (And More) Package
  http://www.berkeleygw.org

  Version 1.0	(Aug, 2011)
  J. Deslippe, G. Samsonidze, D. A. Strubbe, M. Jain

  Version 0.5	(July, 2008)
  J. Deslippe, G. Samsonidze, L. Yang, F. Ribeiro

  Version 0.2	M. L. Tiago	(2001)	Original BSE Code, PlotXct
        	S. Ismail-Beigi	(2002)	FFT, Documentation, General Improvements
        	C. Spataru	(2005)	Cylindrical Coulomb Truncation, Transform (obsolete)
  Version 0.1	X. Blase	(1998)	Implemented F90, Preprocessing, Dynamical Memory Allocation
        	G. M. Rignanese				"		"
        	E. Chang				"		"
  Version 0.0	M. Hybertsen	(1985)	Original GW Code

  To report current bugs or problems, contact Jack Deslippe: jdeslip@civet.berkeley.edu

------------------------------------------------------

  See more details in the README and .inp files in individual directories.

------------------------------------------------------

Compilation
-----------

  We have tested the code extensively with various configurations, and support the following compilers and libraries:
  * Operating systems: Linux, AIX, MacOS
  * Fortran compilers (required): pgf90, ifort, gfortran, g95, openf90, sunf90, pathf90, crayftn, af90 (Absoft), nagfor, xlf90 (experimental)
  * C compilers (optional): pgcc, icc, gcc, opencc, pathcc, craycc, clang
  * C++ compilers (optional): pgCC, icpc, g++, openCC, pathCC, crayCC, clang++
  * MPI implementation (optional): OpenMPI, MPICH1, MPICH2, MVAPICH2, Intel MPI
  * LAPACK/BLAS implementation (required): NetLib, ATLAS, Intel MKL, ACML, Cray LibSci
  * ScaLAPACK/BLACS implementation (required by BSE if MPI is used): NetLib, Cray LibSci, Intel MKL, AMD
  * FFTW (required): versions 2.1.5.x

  1. Architecture-specific Makefile-include files appropriate for various supercomputers as well as
     for using standard Ubuntu or Macports packages are provided in the config directory. Copy or
     link one to the top directory. Example:

     cp config/lonestar.tacc.utexas.edu.mk arch.mk

  2. Edit it to fit your needs. Refer to config/README for details.

  3. Copy flavor_real.mk or flavor_cplx.mk to flavor.mk to set flavor. 
     Complex may always be used. Real may be used for systems that
     have both inversion (about the origin) and time-reversal symmetry, and will be
     faster and use less memory.

  4. Stay in the root directory and run the following commands 
     to compile the various codes:

     MAIN:
     make epsilon
     make epsilon-all               Epsilon + utilities
     make sigma
     make sigma-all                 Sigma + utilities
     make bse
     make bse-all                   BSE + utilities

     MISC:
     make plotxct
     make meanfield
     make epm
     make sapo
     make siesta2bgw
     make bgw2para
     make kgrid
     make icm
     make surface

     EVERYTHING:
     make all                       All codes/packages (for selected flavor)
     make -j all-j                  parallel build (for selected flavor)
     make all-flavors               everything, for both flavors
     make -j all-flavors            parallel build of everything, for both flavors
     make install INSTDIR=          install binaries, library, examples, testsuite into specified prefix

     These commands will generate executables with extension .x in 
     the source directory and symbolic links with the same name in 
     the bin directory.

  5. Test your build. See testsuite/README for more info.

Development
-----------
Spirit of contributions:

  0. Follow guidelines at https://civet.berkeley.edu/BerkeleyGW/wiki/CodingStandards
  1. These codes are to be used on various machine architectures
     employing various compilers and libraries. Therefore, try not
     to write machine-specific code or quick fixes that will have to
     be reversed later.
  2. Limit compilation changes as much as possible to arch.mk and ensure
     that this is suitable for all codes in Epsilon/, Sigma/, and BSE/.
     Hopefully individual Makefiles will only require the addition of
     new source-code files.
  3. Test the codes using the examples/ and please augment the examples/
     with your own test cases (provided they are not too computationally
     expensive).
