Changelog for LHAPDF -------------------- 5.8.1 - 11/12/2009 * Added Octave interface, by Philip Ilten. * Added new sets HERAPDF10_EIG.LHgrid HERAPDF10_VAR.LHgrid 5.8.0 - 07/10/2009 * Adding the JR09VFnnloE pdfsets. * Adding --enable-sets=LIST option * Adding --incdir, --libdir, --cppflags and --ldflags arguments to lhapdf-config. * Adding definition of $datarootdir to lhapdf-config. Thanks to Thorsten Ohl for the bugfix. 5.7.1 - 08/07/2009 * Adding new PDF sets: Nuclear PDFs HKNlo and HKNnlo (LHgrid) (19 sets central values only - various nuclei) JR09FFnnloE.LHgrid (Dynamic pdfs from JR collab) MSTW2008nlo_asmzrange (+ nnlo) (+68cl and 90cl error sets) alphas variations from MSTW NNPDF11_100 and NNPDF12_100.LHgrid ... 100 and 1000(1.2only) replica sets for v1.1 and 1.2 * Added has_photon() function in Fortran and LHAPDF::hasPhoton in C++/Python, for detecting if the current set has an extra photon member. * Adding checks for the Python.h header, allowing the Python extension build request to fail more gracefully in the configure phase. * Adding --list, --force and other improvements to lhapdf-getdata. The PDFsets.index file is no longer used, preferring instead to get an always up-to-date list of PDF files from the SVN directory listing. * Committing the pdf-error-plot.py script for visualising PDF error set bands. * Committing the pdf-plot.py and pdf-ratio-plot.py example scripts, for plotting LHAPDF PDF sets with the Python matplotlib library. * Adding the lhapdf-getdata script, and bug-fixing Python logging initialisation for SL4 systems in lhapdf-query. * Removing bundled PDF sets. Now only one tarball is made, and only the PDFsets.index file is installed. * Fixing Mac compilation bug with NNPDF sets: replacing intrinsically looped READ statement with an explicit loop and normal READ (thanks to James Monk). * Adding DESTDIR to Python module install prefix (thanks to Nikolay Dyankov). 5.7.0 - 16/02/2009 * Added MSTW and MSTW-lite code and grid files * Fixed problem with lhaglue numbering of NNPDF sets * Added a case-insensitive pattern match argument to the lhapdf-query "listnames" and "listsets" arguments, e.g. "lhapdf-query listsets CTEQ6". * Converted "go to" to "goto", since some Fortran compilers don't like the version with a space. * Fixed missing inline of operator<< for PDFInfo objects. * Replaced binreloc with an upgraded and symbol-independent copy. 5.6.0 - 23/10/2008 * Added LHAPDF::setParameter(parm) function to the C++ interface --- it is just a thin wrapper on the Fortran setlhaparm. (AB) * Added LHAPDF/LHAPDFConfig.h header, automatically populated with LHAPDF_VERSION, LHAPDF_LOWMEM and LHAPDF_NMXSET. (AB) * Fixed error calculation and x-range in CCTest2, and improved efficiency of low mem mode example initialisation strategy. (AB) * Added Example7.f - fortran version of CCTest2.cc to demonstrate the calculation of hessian type errors using MRST2006nnlo.LHgrid (MW) * Fixed the set number for cteq6lg in the lhaglue strictm routine. (MW) * Added HERAPDF01 sets (MW) * Added NNPDF sets (MW) * Added GJR sets (MW) * Added several new 'lite' versions to reduce v-mem size in --enable-low-memory mode. : incl... mrstqed-lite, a02m-lite, h1-lite etc... (MW) * Removed wrapa02.f since this was not used and had been superseded by wrapa02m.f (MW) * Added "listsets", "listids", "listnames" and "version" commands to lhapdf-query. (AB) 5.5.1 - 26/09/2008 * Improvements to archive building: svn export should no longer be needed before release since SVN files are automatically removed. (AB) * Fixed lhaprint to set silent if a stream other than #6 is used, and to call the common initialisation routine first. (MW) * Fixed MRST QED set to use arrays of compatible size with the "jeppe" interpolation routines. Spotted by Peter Richardson. (AB) * Removed broken caching of alpha_s computation in MRST sets. Thanks to Simon Plaetzer and Giuseppe Bozzi for alerting us to the problem. (MW) * Fixed units of lambda_qcd5 in cteq6ab, cteq65 and cteq66 PDF grid files. This was causing crashes in MC@NLO. Thanks to James Ferrando for spotting and solving the problem. (MW) * Added building of lhapdf-*.tar.bz2 tarball (better compression than gzip). (AB) * Added "by LHAPDF ID code" initialisation to C++ interface. (AB) * Fixing deprecated uses of GOTO to jump to end of a DO loop. (AB) * Added regression scripts to dump out randomly sampled PDF values (with logarithmic measures on x and Q) and to then read them back in to check for deviations between DF values between old and new LHAPDF versions. (AB) * Provided lhapdf-query script for command-line querying of LHAPDF. (AB) * Added C++/Python API functions to read PDF set metadata from PDFsets.index. (AB) * Regression of F90 steering modules to use common blocks and an initialising subroutine, which is not completely robust but keeps SLC4 LCG applications happy (they have no F90 compiler). Regressed F90 file extensions from .f90 to .f, since g77 refuses to even attempt to compile .f90 extensions, even if it can handle the contents. (AB) * Conversion of all Fortran source files to F90-type free-format. With a .f suffix and -ffree-form flag, g77 will parse these files successfully. (AB) 5.5.0 - 08/08/08 * Doxygen now attempts to generate a Doxyfile compatible with the version being used, in an attempt to avoid some reported segfaults on old systems. (AB) * Fixed several uninitialised variables in Fortran routines. (AB) * Provided "lite" versions of the CTEQ and MRST sets, without the 43 extra arrays allocated for Hessian sets. Use the --enable-low-memory configure switch to disable the extra 43 sets: this is mainly of interest for batch use on systems where the batch accountancy is militant about vram occupancy: on standalone systems the unused memory pages are never really allocated, so there is no danger in having them allocated. (MW, AB) * Added configure flag to control max number of concurrent PDF sets. Affects virtual memory overhead, so if LHAPDF is being used on a system which uses vram-based accountancy, you may need to ensure that this is set as low as possible. By default, it's set to 1. (AB) * Compatibility with pgf90, pgf95 and ifort compilers. (AB) * Version number in banner now set from autoconf spec. (AB) * Various F90 conversions, clean-ups and fixes. Improved portability as a result of e.g. double standardisation. Tab characters removed from F77 files (converted to 8 spaces) since the fixed format makes them dangerous. (AB) * Fixed uninitialised steering common blocks (block data doesn't work from libraries) by moving to using F90 "modules" instead and fixing some scoping bugs in the getdirpath function. LHAPDF now requires a F90-compatible compiler. (David Grellscheid, AB) * Renamed C++ test programs, added an installcheck target and added Fortran tests #5 and #6 to "make check". (AB) * Fixed C string errors in path-finding functions. These functions have been converted to C++ instead, since the C string copying / pointer issues were extremely fragile. The test now also checks for existence of LHAPDF-specific directory contents before returning, for extra safety. (AB) 5.4.1 - 10/07/08 * Fixed bug x/q limit bug in cteq6 when using different members the same set. (MW) * Updated obsolete Fortran code which produced annoying compilation warning messages. (MW) * Default member 0 now set automatically before call to InitPDF. (MW) * Fixed configure bugs with disabling old ccwrap interface and interaction of ccwrap with pyext. (AB) * Added more pedantic compiler warning messages and fixed highlighted errors. (AB) * Headers are now installed to the proper "include/LHAPDF" directory, rather than "include/lhapdf" (AB) * Added functions to get the install prefix, PDF sets directory and PDF sets index file path, and a corresponding test program for the C++ wrapper. (AB) * Added binreloc control to configure. (AB) * Rationalised C++ initialising functions (AB) * C++ Doxygen improvements (AB) * Provided C array versions of the multi-set C++ functions. (AB) * Renamed C++ "M" functions to use C++ style function signatures. (AB) * Fixed a few issues with C++-Fortran interfacing and headers. (AB) * Fixed potential C string length bug in getdatapath_ function. (AB) * Changes for GCC 4.3 compliance. (AB & MW) * Added Mac OS X build detection. (AB) * Removed constituent library linking with $FCFLAGS arguments, since this results in a double declaration of the gfortran dummy main function on some systems. (AB) * --disable-doxygen configure flag added. (AB) 5.4.0 - 23/05/08 * New PDF sets included: (MW) cteq66.LHgrid - cteq 6.6 fit with error sets (1+44) cteq66c.LHgrid - cteq 6.6 intrinsic charm sets (4) cteq66a.LHgrid - cteq 6.6 alternate alphas sets (4) MRST2007lomod.LHgrid - PDFs for LO generators (1) MRSTMCal.LHgrid - LO MC fit - alphas KT^2 (1) * New Nuclear PDF formula EPS08 available as an alternate to the older EKS98. * Various bug fixes from patches to 5.3.1 * Improved handling of error reporting through setlhaparm('SILENT') and setlhaparm('LOWKEY') * LHAPDF C++ headers all located in include directory, properly installed into $prefix/include/LHAPDF, and distributed in the tarball. (AB) * Merged main C++ wrapper into libLHAPDF, retaining libLHAPDFWrap for backwards compatibility. (AB) * Added libtool library versioning to both the core and C++ wrapper libraries. (AB) * LHAPDF banner now obeys the SILENT/LOWKEY verbosity control though the LHAPDF/C++ interfaces, as for LHAGLUE. (AB) * Added enum for semantic choice between LHgrid and LHpdf interpolation/evolution to the C++ wrapper. * Added SWIG-based Python extension and test program. (AB) * Using Fortran examples and C++ wrapper test programs as automake unit tests. (AB) * Deprecated class-based C++ wrapper and provided replacement version based on global functions in a new "LHAPDF" namespace. The new interface is declared in LHAPDF.h and also provides a greater subset of the Fortran configuration functions and more efficient versions of the xfx functions which bypass the copying in and out of STL vectors. (AB) * Added Doxygen build and install for C++ wrapper. (AB) * Added enable/disable flags for LHAGLUE and C++ wrapper. (AB) * Fixed C++ wrapper to pass hidden string length parameters to Fortran subroutines, use explicit pointers rather than references (which are implementation-sensitive) in Fortran interface, and to use STL strings in its C++ API. (AB) * Added make check call to lhapdf-example1, and a make hook to build symlinks so that the PDTsets will be found even if the src/libLHAPDF library is linked, rather than the installed version. (AB) * Disabled internal use of system("lhapdf-config --pdfsets ...") call to work out position of the PDF sets. This is now done via the binreloc (http://www.autopackage.org/docs/binreloc/) system, with a fallback value set by a preprocessor define, whose value is the same as that set via lhapdf-config. This makes LHAPDF relocateable, as defined on the binreloc Web page, so it can now be considered for user-space packaging with e.g. autopackage. The binreloc function call must be done in C, so a new getdatapath.c source file has been added. The LHAPATH common block variable and environment variable can still used to override this mechanism. (AB) * Using AC_FC_WRAPPERS to deal with Fortran compilers which require a dummy MAIN__ function and to portably use different Fortran symbol manglings (AB); * Added the --disable-install-pdfsets switch to configure (default is to install PDF sets: this provides a mechanism to disable it. (AB) * Added --enable-debug configure flag, and corrected handling of user-set FFLAGS variable (previously it was always overridden by the default). (AB) 5.3.1 - 16/11/07 * STRUCTM/STRUCTP now allow constants in calling argument string. * New MRST 2001/2204 code for better extrapolation, which also fixes the bug which caused failure of these on extrapolation. * Fixes VZERO name conflict with (for example) CERNLIB * Corrects error in MRST2006 code causing PDFs to be frozen at Q=1.43 when called with Q between 1.43 and 4.3. 5.3 - 28/06/2007 * Addition of the following new PDFsets: mrst2004qed mrst2006nnlo cteq65 cteq65c cteq5f3 cteq5f4 * GetNf() now returns '-1' for the .LHgrid files - it only returns the correct number of flavours if evolution is done in the PHAPDF program -ie .LHpdf files * C++ wrapper library (LHAPDFWrap.a and .so) is now built automatically in the make/make install procedure and placed in the standard LHAPDF library directory. * New Fortran routines and C++ methods to extract the max and min X and Q**2 values in the raw LHAPDF code. * 'extrapolate' the PDFs beyond the max/min x/Q2 now works with the raw LHAPDF code. * Addition of wrapUSER.f routine to allow a hook for user written PDF sets to be added. * Finding PDF sets with lhapdf-config now writes into $HOME/.lhapdf/, rather than /tmp. This avoids write permission conflicts between users. * Added PDFsets.index file * Distributions are now built in a more standard way with "make dist" and the dist-hook mechanism 5.2p3 - 6/11/2006 * Fixed error causing anti-b in zeus2002 to be zero. * For consistency the argument lists in a02init,a02minit and grxlim corrected. 5.2p2 - 19/7/2006 * Fixed error in print statement in Example5.f * Removed reference to the H12000lo2 sets in lhaglue.f * Added common LUDAT1 to lhaglue.f to allow working with older Pythia versions * Fixed problems with 's in decriptions causing errors with gfortran compiler * Fixed problem causing QCDNUM (in MRST and ZEUS) to work slowly with V5. 5.2.1 - 21/6/2006 * Addition of MRST2004 Fieed flavour FF3 and FF4 sets * H12000 set back to original grid files (problems with extended fit) 5.2.0 - 13/6/2006 * Addition of Nuclear PDFs (as in PDFLIB - STRUCTA(), evolvePDFa(), evolvePDFaM()) * Fix to bug in CTEQ at x=1.0 (now identically zero) * $LHAPATH environmental variable now works with LHAPDF raw as well as LHAGLUE 5.1.0 - 26/4/2006 * Libraries now installed by libtool, including shared libraries (.so). * STRUCTM fixed to work for photon PDFs (sets IP2=0,P2=0.0) * Changed function names BETA and GAMMA to BETA_LHA and GAMMA_LHA to avoid conflicts. * Fixed bug in SMRSPI.LHgrid file * Fixed small bugs to work with Intel compiler. 5.0.0 - 1/3/2006 * Addition of multiset initialisation (LHAPDF and LHAglue) * Setting the path to PDF files by function call * Setting the path to PDF files using environmental variable $LHAPATH * Setting control parameters via function calls. * Renaming include files as .inc in src directory 4.2.0 - 14/11/2005 * Addition of new cteq6AB (variable alphas(mz)) PDF sets. * Mods by cteq to other cteq code to improve speed. * New a02m_nnlo.LHgrid file (previous one was erroneously the same as LO). * Fix to SMRSPI code which was wrongly setting usea to zero. 4.1.1 - 19/9/2005 * Patch to fix bug affecting cteq6(LHgrid) at x>0.9763 4.1.0: * Converted build system to use GNU autotools * Introduced path-independent references to PDF sets via the lhapdf-config script and the InitPDFsetByName subroutine. Note that the script must be in the user execution path and must have been installed by autotools to work properly (AB). 4.0.0: * The addition of PDF sets for photons and pions * Additions to lhaglue including STRUCTP for photons and PDFSTA for statistics * More PDF sets included. * A new simpler directory structure 3.0.0: * The addition of the routines PDFSET and STRUCTM plus a unique PDF numbering scheme (all from the lhaglue package) to enable the LHAPDF to be used in the same way as PDFLIB. * More PDF sets included. 2.0.0: * Single compilation of code for ALL PDF sets. (In v1 the user had to recompile the code when using different evolution code packages) * Ability to use the original interpolation grid files (.LHgrid) produced by the authors of the PDFs, as well as parameter files (.LHpdf) to define the PDFs with seamless switching between the two types. * More PDF sets included.