User Tools

Site Tools


beauty:2014:fortran_2003

F2003 : suppress unneeded pointers in datastructures

The document listing the F2003 features allowed (and recommended) in ABINITv8 can be found in a dedicated page.

The present page describe the strategy to clean ABINIT with respect to the first recommendation of this document, namely, the replacement of “Pointer” by “Allocatable” in datastructures.

Several developers, who knows quite well ABINIT, are asked to examine the definitions of structured datatypes each of which originate from a list of files. Their task is :

  1. In each file attributed to them, detect definitions of structured datatypes in which some components have a “Pointer” attribute ;
  2. For each such structured datatype, on the basis of the consideration of all ABINIT sources, decide whether this “Pointer” attribute can be changed to a “Allocatable” attribute ;
  3. In such case, make the replacement, and then, also clean correspondingly the ABINIT sources, e.g. (A) possibly suppress the nullify, or the small routines that were used to contain the _nullify statements ; (B) replace “if(associated(XXX))” by “if(allocated(XXX))” ; (C) suppress the initialization to “null()”…
Name of files containing datatype definitions Developer in charge
15_gpu_toolbox/m_initcuda.F90 Marc T.
28_numeric_noabirule/m_numeric_tools.F90 Matteo G.
28_numeric_noabirule/m_slk.F90 Matteo G.
41_geometry/m_ab7_symmetry.F90 Xavier G.
44_abitypes_defs/defs_abitypes.F90 François J.
44_abitypes_defs/m_results_respfn.F90 Xavier G.
45_geomoptim/m_abiimages.F90 Xavier G.
45_geomoptim/m_mep.F90 Marc T.
45_geomoptim/m_pimd.F90 Marc T.
49_gw_toolbox_oop/m_melemts.F90 Matteo G.
54_abiutil/m_results_out.F90 Xavier G.
56_io_mpi/m_header.F90 Matteo G.
56_mixing/m_ab7_mixing.F90 Xavier G.
57_iopsp_parser/m_xml_pseudo_types.F90 François J.
62_iowfdenpot/m_wfk.F90 Matteo G.
62_occeig/m_ebands.F90 Matteo G.
66_fock/m_fock.F90 Marc T.
66_paw/m_paw_dmft.F90 Bernard A. and/or Jordan B.
68_dmft/*.F90 Bernard A. and/or Jordan B.
68_recursion/defs_rectypes.F90 Xavier G.
70_gw/m_ppmodel.F90 Matteo G.
70_gw/m_screen.F90 Matteo G.
71_bse/m_hexc.F90 Matteo G.
71_bse/m_interp.F90 Matteo G.
beauty/2014/fortran_2003.txt · Last modified: 2014/11/05 22:52 by Yann Pouillon