LCOV - code coverage report
Current view: top level - src/57_iovars - m_outvar_a_h.F90 (source / functions) Coverage Total Hit
Test: coverage.info Lines: 97.3 % 1025 997
Test Date: 2026-11-09 22:30:52 Functions: 100.0 % 1 1
Branches: 91.6 % 1326 1214

             Branch data     Line data    Source code
       1                 :             : !!****m* ABINIT/m_outvar_a_h
       2                 :             : !! NAME
       3                 :             : !!  m_outvar_a_h
       4                 :             : !!
       5                 :             : !! FUNCTION
       6                 :             : !!
       7                 :             : !! COPYRIGHT
       8                 :             : !!  Copyright (C) 1998-2026 ABINIT group (DCA, XG, GMR, MM)
       9                 :             : !!  This file is distributed under the terms of the
      10                 :             : !!  GNU General Public License, see ~abinit/COPYING
      11                 :             : !!  or http://www.gnu.org/copyleft/gpl.txt .
      12                 :             : !!
      13                 :             : !! SOURCE
      14                 :             : 
      15                 :             : #if defined HAVE_CONFIG_H
      16                 :             : #include "config.h"
      17                 :             : #endif
      18                 :             : 
      19                 :             : #include "abi_common.h"
      20                 :             : 
      21                 :             : module m_outvar_a_h
      22                 :             : 
      23                 :             :  use defs_basis
      24                 :             :  use m_abicore
      25                 :             :  use m_results_out
      26                 :             :  use m_dtset
      27                 :             : 
      28                 :             :  use m_parser,  only : prttagm, prttagm_images, ab_dimensions
      29                 :             : 
      30                 :             :  implicit none
      31                 :             : 
      32                 :             :  private
      33                 :             : !!***
      34                 :             : 
      35                 :             :  public :: outvar_a_h
      36                 :             : !!***
      37                 :             : 
      38                 :             : contains
      39                 :             : !!***
      40                 :             : 
      41                 :             : !!****f* ABINIT/outvar_a_h
      42                 :             : !! NAME
      43                 :             : !! outvar_a_h
      44                 :             : !!
      45                 :             : !! FUNCTION
      46                 :             : !! Echo variables between acell and gw_ ... (by alphabetic order) for the ABINIT code.
      47                 :             : !!
      48                 :             : !! INPUTS
      49                 :             : !!  choice= 1 if echo of preprocessed variables, 2 if echo after call driver
      50                 :             : !!  dmatpuflag=flag controlling the use of an initial density matrix in PAW+U (max. value over datasets)
      51                 :             : !!  dtsets(0:ndtset_alloc)=<type datafiles_type>contains all input variables
      52                 :             : !!  iout=unit number for echoed output
      53                 :             : !!  jdtset_(0:ndtset_alloc)=actual index of the dataset (equal to dtsets(:)%jdtset)
      54                 :             : !!  marr=maximum number of numbers in an array (might need to be increased ... !)
      55                 :             : !!  multivals= <type ab_dimensions>  either 0 or 1 , depending whether the
      56                 :             : !!     dimension has different values for different datasets
      57                 :             : !!  mxvals= <type ab_dimensions>
      58                 :             : !!     maximum size of some arrays along all datasets, including
      59                 :             : !!         lpawu      =maximal value of input lpawu for all the datasets
      60                 :             : !!         gw_nqlwl   =maximal value of input gw_nqlwl for all the datasets
      61                 :             : !!         mband      =maximum number of bands
      62                 :             : !!         natom      =maximal value of input natom for all the datasets
      63                 :             : !!         natpawu    =maximal value of number of atoms on which +U is applied for all the datasets
      64                 :             : !!         natvshift  =maximal value of input natvshift for all the datasets
      65                 :             : !!         nconeq     =maximal value of input nconeq for all the datasets
      66                 :             : !!         nimage     =maximal value of input nimage for all the datasets
      67                 :             : !!         nkpt       =maximal value of input nkpt for all the datasets
      68                 :             : !!         nkptgw     =maximal value of input nkptgw for all the datasets
      69                 :             : !!         nnos       =maximal value of input nnos for all the datasets
      70                 :             : !!         nqptdm     =maximal value of input nqptdm for all the datasets
      71                 :             : !!         nspinor    =maximal value of input nspinor for all the datasets
      72                 :             : !!         nsppol     =maximal value of input nsppol for all the datasets
      73                 :             : !!         nsym       =maximum number of symmetries
      74                 :             : !!         ntypat     =maximum number of type of atoms
      75                 :             : !!         nzchempot  =maximal value of input nzchempot for all the datasets
      76                 :             : !!  ncid= NetCDF handler
      77                 :             : !!  ndtset=number of datasets
      78                 :             : !!  ndtset_alloc=number of datasets, corrected for allocation of at least
      79                 :             : !!      one data set. Use for most dimensioned arrays.
      80                 :             : !!   for different datasets
      81                 :             : !!  results_out(0:ndtset_alloc)=<type results_out_type>contains the results
      82                 :             : !!   needed for outvars, including evolving variables
      83                 :             : !!
      84                 :             : !! OUTPUT
      85                 :             : !!
      86                 :             : !! NOTES
      87                 :             : !! Note that this routine is called only by the processor me==0 .
      88                 :             : !! In consequence, no use of message and wrtout routine.
      89                 :             : !! The lines of code needed to output the defaults are preserved
      90                 :             : !! (see last section of the routine, but are presently disabled)
      91                 :             : !!
      92                 :             : !!  Note that acell, occ, rprim, xred and vel might have been modified by the
      93                 :             : !!  computation, so that their values if choice=1 or choice=2 will differ.
      94                 :             : !!
      95                 :             : !! SOURCE
      96                 :             : 
      97                 :        4528 : subroutine outvar_a_h(choice,dmatpuflag,dtsets,iout,&
      98                 :        4528 :    jdtset_,marr,multivals,mxvals,ncid,ndtset,ndtset_alloc,&
      99                 :        4528 :    results_out,strimg)
     100                 :             : 
     101                 :             : !Arguments ------------------------------------
     102                 :             : !scalars
     103                 :             :  integer,intent(in) :: choice,dmatpuflag,iout,marr,ndtset
     104                 :             :  integer,intent(in) :: ndtset_alloc,ncid
     105                 :             : !arrays
     106                 :             :  integer,intent(in) :: jdtset_(0:ndtset_alloc)
     107                 :             :  type(ab_dimensions),intent(in) :: multivals,mxvals
     108                 :             :  type(dataset_type),intent(in) :: dtsets(0:ndtset_alloc)
     109                 :             :  type(results_out_type),intent(in) :: results_out(0:ndtset_alloc)
     110                 :             :  character(len=8),intent(in) :: strimg(mxvals%nimage)
     111                 :             : 
     112                 :             : !Local variables-------------------------------
     113                 :             : !scalars
     114                 :             :  integer,parameter :: nkpt_max=50
     115                 :             :  integer :: defo,idtset,ii,iimage,ga_n_rules,nn
     116                 :             :  integer :: lpawu1,narr,mxnsp
     117                 :             :  integer :: natnd,natom,nimfrqs,nimage
     118                 :             :  integer :: ntypalch,ntypat,print_constraint,size1,size2,test_write,tmpimg0
     119                 :             :  logical :: compute_static_images
     120                 :             :  logical :: nontrivial_spinaxis
     121                 :             :  real(dp) :: cpus
     122                 :             :  character(len=1) :: firstchar_fftalg,firstchar_gpu
     123                 :             :  character(len=14) :: str_hyb
     124                 :             : !arrays
     125                 :        4528 :  integer,allocatable :: narrm(:)
     126                 :        4528 :  integer,allocatable :: nimagem(:),prtimg(:,:)
     127                 :        4528 :  integer,allocatable :: intarr(:,:)
     128                 :        4528 :  real(dp),allocatable :: dprarr(:,:),dprarr_images(:,:,:)
     129                 :             : 
     130                 :             : ! *************************************************************************
     131                 :             : 
     132                 :             : !###########################################################
     133                 :             : !### 01. Initial allocations and initialisations.
     134                 :             : 
     135   [ -  +  +  -  :       18112 :  ABI_MALLOC(dprarr,(marr,0:ndtset_alloc))
          -  +  +  -  +  
          -  +  -  -  +  
                   -  + ]
     136   [ -  +  +  -  :       22640 :  ABI_MALLOC(dprarr_images,(marr,mxvals%nimage,0:ndtset_alloc))
          -  +  +  -  -  
          +  +  -  +  -  
          +  -  -  +  -  
                      + ]
     137   [ -  +  +  -  :       18112 :  ABI_MALLOC(intarr,(marr,0:ndtset_alloc))
          -  +  +  -  +  
          -  +  -  -  +  
                   -  + ]
     138   [ -  +  +  -  :       13584 :  ABI_MALLOC(narrm,(0:ndtset_alloc))
          +  -  +  -  -  
                +  -  + ]
     139   [ -  +  +  -  :        9056 :  ABI_MALLOC(nimagem,(0:ndtset_alloc))
             -  +  -  + ]
     140   [ -  +  +  -  :       18112 :  ABI_MALLOC(prtimg,(mxvals%nimage,0:ndtset_alloc))
          -  +  +  -  +  
          -  +  -  -  +  
                   +  - ]
     141                 :             : 
     142         [ +  + ]:       30002 :  do idtset=0,ndtset_alloc
     143                 :       30002 :    nimagem(idtset)=dtsets(idtset)%nimage
     144                 :             :  end do
     145                 :             : 
     146                 :        4528 :  firstchar_gpu=' '
     147   [ +  +  -  + ]:       25474 :  if (maxval(dtsets(1:ndtset_alloc)%gpu_option)/=ABI_GPU_DISABLED) firstchar_gpu='-'
     148                 :             : 
     149                 :             : !if(multivals%ga_n_rules==0)ga_n_rules=dtsets(1)%ga_n_rules
     150                 :        4528 :  ga_n_rules=dtsets(1)%ga_n_rules
     151                 :             : !if(multivals%natom==0)natom=dtsets(1)%natom
     152                 :        4528 :  natom=dtsets(1)%natom
     153                 :             : !if(multivals%nimage==0)nimage=dtsets(1)%nimage
     154                 :        4528 :  nimage=dtsets(1)%nimage
     155                 :             : 
     156                 :        4528 :  natnd=dtsets(1)%natnd
     157                 :             : 
     158                 :        4528 :  nimfrqs=dtsets(1)%cd_customnimfrqs
     159                 :             : !if(multivals%ntypalch==0)ntypalch=dtsets(1)%ntypalch
     160                 :        4528 :  ntypalch=dtsets(1)%ntypalch
     161                 :             : !if(multivals%ntypat==0)ntypat=dtsets(1)%ntypat
     162                 :        4528 :  ntypat=dtsets(1)%ntypat
     163                 :             : 
     164                 :             : !###########################################################
     165                 :             : !### 03. Print all the input variables (A)
     166                 :             : !##
     167                 :             : 
     168         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%iomode
     169                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'iomode','INT',0,firstchar="-")
     170                 :             : 
     171         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%accuracy
     172                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'accuracy','INT',0)
     173                 :             : 
     174                 :             : !acell
     175   [ +  +  +  + ]:       56696 :  prtimg(:,:)=1
     176         [ +  + ]:       30002 :  do idtset=0,ndtset_alloc
     177                 :       25474 :    narrm(idtset)=3
     178         [ +  + ]:       56228 :    do iimage=1,nimagem(idtset)
     179                 :       25474 :      if (narrm(idtset)>0) then
     180         [ +  + ]:      104904 :        dprarr_images(1:narrm(idtset),iimage,idtset)=results_out(idtset)%acell(1:3,iimage)
     181                 :             :      end if
     182                 :             :    end do
     183                 :             :  end do
     184                 :             :  call prttagm_images(dprarr_images,iout,jdtset_,2,marr,narrm,ncid,ndtset_alloc,'acell','LEN',&
     185                 :        4528 :    mxvals%nimage,nimagem,ndtset,prtimg,strimg)
     186                 :             : 
     187                 :             : 
     188                 :             : !adpimd and adpimd_gamma
     189         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%adpimd
     190                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'adpimd','INT',0)
     191                 :             : 
     192         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%adpimd_gamma
     193                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'adpimd_gamma','DPR',0)
     194                 :             : 
     195                 :             : !algalch
     196                 :        4528 :  narr=ntypalch                      ! default size for all datasets
     197         [ +  + ]:       30002 :  do idtset=0,ndtset_alloc       ! specific size for each dataset
     198                 :       25474 :    narrm(idtset)=dtsets(idtset)%ntypalch
     199         [ +  + ]:       25474 :    if(idtset==0)narrm(idtset)=mxvals%ntypat
     200         [ +  + ]:       36202 :    intarr(1:narrm(idtset),idtset)=dtsets(idtset)%algalch(1:narrm(idtset))
     201                 :             :  end do
     202                 :             :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,narr,&
     203                 :        4528 :    narrm,ncid,ndtset_alloc,'algalch','INT',multivals%ntypalch)
     204                 :             : 
     205                 :             : !amu
     206   [ +  +  +  + ]:       56696 :  prtimg(:,:)=1
     207         [ +  + ]:       30002 :  do idtset=0,ndtset_alloc
     208         [ +  + ]:       25474 :    if(idtset/=0)then
     209                 :       20946 :      size1=dtsets(idtset)%ntypat
     210                 :             :    else
     211                 :        4528 :      size1=mxvals%ntypat
     212                 :             :    end if
     213                 :       25474 :    narrm(idtset)=size1
     214         [ +  + ]:       56228 :    do iimage=1,nimagem(idtset)
     215         [ +  - ]:       51700 :      if (narrm(idtset)>0) then
     216         [ +  + ]:       59708 :        dprarr_images(1:narrm(idtset),iimage,idtset)=results_out(idtset)%amu(1:size1,iimage)
     217                 :             :      end if
     218                 :             :    end do
     219                 :             :  end do
     220                 :             :  call prttagm_images(dprarr_images,iout,jdtset_,1,marr,narrm,ncid,ndtset_alloc,'amu','DPR',&
     221                 :        4528 : & mxvals%nimage,nimagem,ndtset,prtimg,strimg,forceprint=2)
     222                 :             : 
     223         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%asr
     224                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'asr','INT',0)
     225                 :             : 
     226                 :             : !atndlist
     227         [ +  + ]:     4409296 :  dprarr(:,0)=0.0_dp
     228                 :        4528 :  narr=3*natnd ! default size for all datasets
     229         [ +  + ]:       25474 :  do idtset=1,ndtset_alloc       ! specific size for each dataset
     230                 :       20946 :    narrm(idtset)=3*dtsets(idtset)%natnd
     231         [ +  + ]:       20946 :    if (narrm(idtset)>0) then
     232         [ +  + ]:         112 :      dprarr(1:narrm(idtset),idtset)= reshape(dtsets(idtset)%atndlist(1:3,1:dtsets(idtset)%natnd), [narrm(idtset)])
     233                 :             :    end if
     234   [ +  +  +  +  :       25762 :    if(sum(abs( dtsets(idtset)%atndlist(1:3,1:dtsets(idtset)%natnd))) < tol12 ) narrm(idtset)=0
                   +  + ]
     235                 :             :  end do
     236                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,narr,narrm,ncid,ndtset_alloc,'atndlist','DPR',multivals%natom)
     237                 :             : 
     238                 :             : 
     239                 :             : !atvshift
     240         [ +  + ]:        4528 :  if(mxvals%natpawu>0)then
     241                 :         180 :    narr=dtsets(1)%natvshift*dtsets(1)%nsppol*mxvals%natom ! default size for all datasets
     242         [ +  + ]:         828 :    do idtset=0,ndtset_alloc       ! specific size for each dataset
     243         [ +  + ]:         828 :      if(idtset/=0)then
     244                 :         468 :        narrm(idtset)=dtsets(idtset)%natvshift*dtsets(idtset)%nsppol*mxvals%natom
     245         [ +  + ]:         468 :        if(narrm(idtset)/=0)&
     246                 :             : &       dprarr(1:narrm(idtset),idtset)=&
     247                 :             : &       reshape(dtsets(idtset)%atvshift(1:dtsets(idtset)%natvshift,&
     248                 :             : &       1:dtsets(idtset)%nsppol,1:mxvals%natom),&
     249         [ +  + ]:         120 : &       (/ narrm(idtset) /) )
     250                 :             :      else
     251                 :         180 :        narrm(idtset)=mxvals%natvshift*mxvals%nsppol*mxvals%natom
     252         [ +  + ]:         180 :        if(narrm(idtset)/=0)&
     253                 :             : &       dprarr(1:narrm(idtset),idtset)=&
     254                 :             : &       reshape(dtsets(idtset)%atvshift(1:mxvals%natvshift,&
     255                 :             : &       1:mxvals%nsppol,1:mxvals%natom),&
     256         [ +  + ]:          40 : &       (/ narrm(idtset) /) )
     257                 :             :      end if
     258                 :             :    end do
     259                 :             :    call prttagm(dprarr,intarr,iout,jdtset_,5,marr,narr,&
     260                 :             : &   narrm,ncid,ndtset_alloc,'atvshift','DPR',&
     261                 :         180 : &   multivals%natvshift+multivals%nsppol+multivals%natom)
     262                 :             :  end if
     263                 :             : 
     264         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%autoparal
     265                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'autoparal','INT',0)
     266                 :             : 
     267         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%auxc_ixc
     268                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'auxc_ixc','INT',0)
     269                 :             : 
     270         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%auxc_scal
     271                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'auxc_scal','DPR',0)
     272                 :             : 
     273         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%awtr
     274                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'awtr','INT',0)
     275                 :             : 
     276                 :             : !###########################################################
     277                 :             : !### 03. Print all the input variables (B)
     278                 :             : !##
     279                 :             : 
     280         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%bandpp
     281                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'bandpp','INT',0)
     282                 :             : 
     283         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%bdberry(1)
     284         [ +  + ]:       30002 :  intarr(2,:)=dtsets(:)%bdberry(2)
     285         [ +  + ]:       30002 :  intarr(3,:)=dtsets(:)%bdberry(3)
     286         [ +  + ]:       30002 :  intarr(4,:)=dtsets(:)%bdberry(4)
     287                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,4,narrm,ncid,ndtset_alloc,'bdberry','INT',0)
     288                 :             : 
     289         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%bdeigrf
     290                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'bdeigrf','INT',0)
     291                 :             : 
     292                 :             : !bdgw
     293                 :        4528 :  narr=2*dtsets(1)%nkptgw*dtsets(1)%nsppol ! default size for all datasets
     294         [ +  + ]:       30002 :  do idtset=0,ndtset_alloc        ! specific size for each dataset
     295         [ +  + ]:       30002 :    if(idtset/=0)then
     296                 :       20946 :      narrm(idtset)=2*dtsets(idtset)%nkptgw*dtsets(idtset)%nsppol
     297         [ +  + ]:       20946 :      if (narrm(idtset)>0)&
     298                 :             : &     intarr(1:narrm(idtset),idtset)=&
     299         [ +  + ]:        1952 : &     reshape(dtsets(idtset)%bdgw(1:2,1:dtsets(idtset)%nkptgw,1:dtsets(idtset)%nsppol),(/narrm(idtset)/))
     300                 :             :    else
     301                 :        4528 :      narrm(idtset)=2*mxvals%nkptgw*mxvals%nsppol
     302         [ +  + ]:        4528 :      if (narrm(idtset)>0)&
     303                 :             : &     intarr(1:narrm(idtset),idtset)=&
     304         [ +  + ]:         632 : &     reshape(dtsets(idtset)%bdgw(1:2,1:mxvals%nkptgw,1:mxvals%nsppol),(/ narrm(idtset) /) )
     305                 :             :    end if
     306                 :             :  end do
     307                 :             :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,narr,&
     308                 :        4528 : & narrm,ncid,ndtset_alloc,'bdgw','INT',multivals%nkptgw+multivals%nsppol)
     309                 :             : 
     310         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%berryopt
     311                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'berryopt','INT',0)
     312                 :             : 
     313         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%berrysav
     314                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'berrysav','INT',0)
     315                 :             : 
     316         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%berrystep
     317                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'berrystep','INT',0)
     318                 :             : 
     319         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%bfield(1)
     320         [ +  + ]:       30002 :  dprarr(2,:)=dtsets(:)%bfield(2)
     321         [ +  + ]:       30002 :  dprarr(3,:)=dtsets(:)%bfield(3)
     322                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,3,narrm,ncid,ndtset_alloc,'bfield','DPR',0)
     323                 :             : 
     324         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%bmass
     325                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'bmass','DPR',0)
     326                 :             : 
     327         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%boxcenter(1)
     328         [ +  + ]:       30002 :  dprarr(2,:)=dtsets(:)%boxcenter(2)
     329         [ +  + ]:       30002 :  dprarr(3,:)=dtsets(:)%boxcenter(3)
     330                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,3,narrm,ncid,ndtset_alloc,'boxcenter','DPR',0)
     331                 :             : 
     332         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%boxcutmin
     333                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'boxcutmin','DPR',0)
     334                 :             : 
     335         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%brav
     336                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'brav','INT',0)
     337                 :             : 
     338         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%bs_algorithm
     339                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'bs_algorithm','INT',0)
     340                 :             : 
     341         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%bs_calctype
     342                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'bs_calctype','INT',0)
     343                 :             : 
     344         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%bs_coulomb_term
     345                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'bs_coulomb_term','INT',0)
     346                 :             : 
     347         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%bs_coupling
     348                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'bs_coupling','INT',0)
     349                 :             : 
     350         [ +  + ]:       30002 :  do idtset=0,ndtset_alloc
     351         [ +  + ]:       80950 :    dprarr(1:2,idtset)=dtsets(idtset)%bs_eh_cutoff(1:2)
     352                 :             :  end do
     353                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,2,narrm,ncid,ndtset_alloc,'bs_eh_cutoff','ENE',0)
     354                 :             : 
     355         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%bs_exchange_term
     356                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'bs_exchange_term','INT',0)
     357                 :             : 
     358         [ +  + ]:       30002 :  do idtset=0,ndtset_alloc
     359         [ +  + ]:      106424 :    dprarr(1:3,idtset)=dtsets(idtset)%bs_freq_mesh(1:3)
     360                 :             :  end do
     361                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,3,narrm,ncid,ndtset_alloc,'bs_freq_mesh','ENE',0)
     362                 :             : 
     363         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%bs_haydock_niter
     364                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'bs_haydock_niter','INT',0)
     365                 :             : 
     366         [ +  + ]:       30002 :  do idtset=0,ndtset_alloc
     367         [ +  + ]:       80950 :    dprarr(1:2,idtset)=dtsets(idtset)%bs_haydock_tol(:)
     368                 :             :  end do
     369                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,2,narrm,ncid,ndtset_alloc,'bs_haydock_tol','DPR',0)
     370                 :             : 
     371         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%bs_hayd_term
     372                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'bs_hayd_term','INT',0)
     373                 :             : 
     374         [ +  + ]:       30002 :  do idtset=0,ndtset_alloc
     375         [ +  + ]:      106424 :    intarr(1:3,idtset)=dtsets(idtset)%bs_interp_kmult(1:3)
     376                 :             :  end do
     377                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,3,narrm,ncid,ndtset_alloc,'bs_interp_kmult','INT',0)
     378                 :             : 
     379         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%bs_interp_method
     380                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'bs_interp_method','INT',0)
     381                 :             : 
     382         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%bs_interp_mode
     383                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'bs_interp_mode','INT',0)
     384                 :             : 
     385         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%bs_interp_prep
     386                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'bs_interp_prep','INT',0)
     387                 :             : 
     388         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%bs_interp_rl_nb
     389                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'bs_interp_rl_nb','INT',0)
     390                 :             : 
     391                 :             : !bs_loband
     392                 :        4528 :  narr=dtsets(1)%nsppol ! default size for all datasets
     393   [ +  +  +  + ]:    19931918 :  intarr = 0
     394         [ +  + ]:       30002 :  do idtset=0,ndtset_alloc        ! specific size for each dataset
     395         [ +  + ]:       25474 :    if(idtset/=0)then
     396                 :       20946 :      narrm(idtset)=dtsets(idtset)%nsppol
     397                 :             :    else
     398                 :        4528 :      narrm(idtset)=mxvals%nsppol
     399                 :             :    end if
     400         [ +  + ]:       60520 :    intarr(1:narrm(idtset),idtset)=dtsets(idtset)%bs_loband(1:narrm(idtset))
     401                 :             :  end do
     402                 :             : 
     403                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,narr,narrm,ncid,ndtset_alloc,'bs_loband','INT',multivals%nsppol)
     404                 :             : 
     405         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%bs_nstates
     406                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'bs_nstates','INT',0)
     407                 :             : 
     408         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%builtintest
     409                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'builtintest','INT',0)
     410                 :             : 
     411         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%bxctmindg
     412                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'bxctmindg','DPR',0)
     413                 :             : 
     414                 :             : !###########################################################
     415                 :             : !### 03. Print all the input variables (C)
     416                 :             : !##
     417                 :             : 
     418   [ +  +  +  +  :       29998 :  if (ANY(dtsets(:)%cd_customnimfrqs/=0)) then
                   +  + ]
     419         [ +  + ]:          20 :    intarr(1,:)=dtsets(:)%cd_customnimfrqs
     420                 :           4 :    call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'cd_customnimfrqs','INT',0)
     421                 :             :  end if
     422                 :             : 
     423         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%cd_frqim_method
     424                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'cd_frqim_method','INT',0)
     425                 :             : 
     426         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%cd_full_grid
     427                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'cd_full_grid','INT',0)
     428                 :             : 
     429         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%cd_halfway_freq
     430                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'cd_halfway_freq','ENE',0)
     431                 :             : 
     432                 :             : !cd_imfrqs
     433                 :        4528 :  narr=mxvals%nimfrqs            ! default size for all datasets
     434         [ +  + ]:       30002 :  do idtset=0,ndtset_alloc       ! specific size for each dataset
     435                 :       25474 :    narrm(idtset)=dtsets(idtset)%cd_customnimfrqs
     436         [ +  + ]:       25474 :    if(idtset==0)narrm(idtset)=mxvals%nimfrqs
     437         [ +  + ]:       30002 :    if (narrm(idtset)>0) then
     438         [ +  + ]:          40 :      dprarr(1:narrm(idtset),idtset)=dtsets(idtset)%cd_imfrqs(1:narrm(idtset))
     439                 :             :    end if
     440                 :             :  end do
     441                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,6,marr,narr,narrm,ncid,ndtset_alloc,'cd_imfrqs','ENE',multivals%nimfrqs)
     442                 :             : 
     443         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%cd_max_freq
     444                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'cd_max_freq','ENE',0)
     445                 :             : 
     446   [ +  +  +  -  :       30002 :  if (ANY(dtsets(:)%cd_subset_freq(1)/=0)) then
                   -  + ]
     447         [ #  # ]:           0 :    intarr(1,:)=dtsets(:)%cd_subset_freq(1)
     448         [ #  # ]:           0 :    intarr(2,:)=dtsets(:)%cd_subset_freq(2)
     449                 :           0 :    call prttagm(dprarr,intarr,iout,jdtset_,2,marr,2,narrm,ncid,ndtset_alloc,'cd_subset_freq','INT',0)
     450                 :             :  end if
     451                 :             : 
     452                 :             : !cellcharge
     453   [ +  +  +  + ]:       56696 :  prtimg(:,:)=1
     454         [ +  + ]:       30002 :  do idtset=0,ndtset_alloc
     455                 :       25474 :    narrm(idtset)=1
     456         [ +  + ]:       56228 :    do iimage=1,nimagem(idtset)
     457                 :       25474 :      if (narrm(idtset)>0) then
     458         [ +  + ]:       52452 :        dprarr_images(1:narrm(idtset),iimage,idtset)=dtsets(idtset)%cellcharge(iimage)
     459                 :             :      end if
     460                 :             :    end do
     461                 :             :  end do
     462                 :             :  call prttagm_images(dprarr_images,iout,jdtset_,1,marr,narrm,ncid,ndtset_alloc,'cellcharge','DPR',&
     463                 :        4528 : & mxvals%nimage,nimagem,ndtset,prtimg,strimg)
     464                 :             : 
     465                 :             : !chempot
     466                 :        4528 :  narr=3*mxvals%nzchempot*mxvals%ntypat ! default size for all datasets
     467         [ +  + ]:        4528 :  if(narr/=0)then
     468         [ +  + ]:          72 :    do idtset=0,ndtset_alloc       ! specific size for each dataset
     469         [ +  + ]:          72 :      if(idtset/=0)then
     470                 :          56 :        narrm(idtset)=3*dtsets(idtset)%nzchempot*dtsets(idtset)%ntypat
     471         [ +  + ]:          56 :        if(narrm(idtset)/=0)&
     472                 :             : &       dprarr(1:narrm(idtset),idtset)=&
     473                 :             : &       reshape(dtsets(idtset)%chempot(1:3,1:dtsets(idtset)%nzchempot,&
     474                 :             : &       1:dtsets(idtset)%ntypat),&
     475         [ +  + ]:          56 : &       (/ narrm(idtset) /) )
     476                 :             :      else
     477                 :           8 :        narrm(idtset)=3*mxvals%nzchempot*mxvals%ntypat
     478                 :             :        if(narrm(idtset)/=0)&
     479                 :             : &       dprarr(1:narrm(idtset),idtset)=&
     480         [ +  + ]:          16 : &       reshape(dtsets(idtset)%chempot(1:3,1:mxvals%nzchempot,1:mxvals%ntypat),(/ narrm(idtset) /) )
     481                 :             :      end if
     482                 :             :    end do
     483                 :           8 :    call prttagm(dprarr,intarr,iout,jdtset_,1,marr,narr,narrm,ncid,ndtset_alloc,'chempot','DPR',1)
     484                 :             :  end if
     485                 :             : 
     486         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%chkdilatmx
     487                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'chkdilatmx','INT',0)
     488                 :             : 
     489         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%chkexit
     490                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'chkexit','INT',0)
     491                 :             : 
     492         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%chkparal
     493                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'chkparal','INT',0)
     494                 :             : 
     495         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%chkprim
     496                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'chkprim','INT',0)
     497                 :             : 
     498         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%chksymbreak
     499                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'chksymbreak','INT',0)
     500                 :             : 
     501         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%chksymtnons
     502                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'chksymtnons','INT',0)
     503                 :             : 
     504         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%chneut
     505                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'chneut','INT',0)
     506                 :             : 
     507                 :             : !chrgat
     508                 :        4528 :  narr=mxvals%natom              ! default size for all datasets
     509         [ +  + ]:       30002 :  do idtset=0,ndtset_alloc       ! specific size for each dataset
     510                 :       25474 :    narrm(idtset)=dtsets(idtset)%natom
     511         [ +  + ]:       25474 :    if(idtset==0)narrm(idtset)=mxvals%natom
     512   [ +  -  +  + ]:      136388 :    if (narrm(idtset)>0) dprarr(1:narrm(idtset),idtset)=dtsets(idtset)%chrgat(1:narrm(idtset))
     513                 :             :  end do
     514                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,narr,narrm,ncid,ndtset_alloc,'chrgat','DPR',multivals%natom)
     515                 :             : 
     516         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%cineb_start
     517                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'cineb_start','INT',0)
     518                 :             : 
     519         [ -  + ]:        4528 :  if(dtsets(1)%cpus>one)then
     520                 :           0 :    cpus=dtsets(1)%cpus
     521                 :           0 :    write(iout,'(1x,a16,1x,1p,t22,g10.2,t25,a)') 'cpus',cpus,'(seconds)'
     522                 :           0 :    write(iout,'(1x,a16,1x,1p,t22,g10.2,t25,a)') 'cpum',cpus/60.0_dp,'(minutes)'
     523                 :           0 :    write(iout,'(1x,a16,1x,1p,t22,g10.2,t25,a)') 'cpuh',cpus/3600.0_dp,'(hours)'
     524                 :             :  end if
     525                 :             : 
     526                 :             : !constraint_kind
     527                 :        4528 :  narr=mxvals%ntypat             ! default size for all datasets
     528         [ +  + ]:       30002 :  do idtset=0,ndtset_alloc       ! specific size for each dataset
     529                 :       25474 :    narrm(idtset)=dtsets(idtset)%ntypat
     530         [ +  + ]:       25474 :    if(idtset==0)narrm(idtset)=mxvals%ntypat
     531   [ +  -  +  + ]:       62172 :    if (narrm(idtset)>0) intarr(1:narrm(idtset),idtset)=dtsets(idtset)%constraint_kind(1:narrm(idtset))
     532                 :             :  end do
     533                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,narr,narrm,ncid,ndtset_alloc,'constraint_kind','INT',multivals%ntypat)
     534                 :             : 
     535                 :             : !corecs
     536                 :             :  narr=mxvals%ntypat             ! default size for all datasets
     537         [ +  + ]:       30002 :  do idtset=0,ndtset_alloc       ! specific size for each dataset
     538                 :       25474 :    narrm(idtset)=dtsets(idtset)%ntypat
     539         [ +  + ]:       25474 :    if(idtset==0)narrm(idtset)=mxvals%ntypat
     540   [ +  -  +  + ]:       62172 :    if (narrm(idtset)>0) dprarr(1:narrm(idtset),idtset)=dtsets(idtset)%corecs(1:narrm(idtset))
     541                 :             :  end do
     542                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,narr,narrm,ncid,ndtset_alloc,'corecs','DPR',multivals%ntypat)
     543                 :             : 
     544         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%chebfi_oracle
     545                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'chebfi_oracle','INT',0)
     546                 :             : 
     547         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%cprj_in_memory
     548                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'cprj_in_memory','INT',0)
     549                 :             : 
     550         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%cprj_update_lvl
     551                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'cprj_update_lvl','INT',0)
     552                 :             : 
     553         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%cwfs_wouth
     554                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'cwfs_wouth','INT',0)
     555                 :             : 
     556                 :             : 
     557                 :             : !###########################################################
     558                 :             : !### 03. Print all the input variables (D)
     559                 :             : !##
     560                 :             : 
     561         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%ddamp
     562                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'ddamp','DPR',0)
     563                 :             : 
     564         [ +  + ]:       30002 :  do idtset=0,ndtset_alloc
     565         [ +  + ]:      106424 :    intarr(1:3,idtset)=dtsets(idtset)%ddb_ngqpt
     566                 :             :  end do
     567                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,3,narrm,ncid,ndtset_alloc,'ddb_ngqpt','INT',0)
     568                 :             : 
     569         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%ddb_shiftq(1)
     570         [ +  + ]:       30002 :  dprarr(2,:)=dtsets(:)%ddb_shiftq(2)
     571         [ +  + ]:       30002 :  dprarr(3,:)=dtsets(:)%ddb_shiftq(3)
     572                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,3,narrm,ncid,ndtset_alloc,'ddb_shiftq','DPR',0)
     573                 :             : 
     574         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%delayperm
     575                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'delayperm','INT',0)
     576                 :             : 
     577         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%densfor_pred
     578                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'densfor_pred','INT',0)
     579                 :             : 
     580                 :             : !densty
     581                 :             :  narr=mxvals%ntypat              ! default size for all datasets
     582         [ +  + ]:       30002 :  do idtset=0,ndtset_alloc        ! specific size for each dataset
     583                 :       25474 :    narrm(idtset)=dtsets(idtset)%ntypat
     584         [ +  + ]:       25474 :    if(idtset==0)narrm(idtset)=mxvals%ntypat
     585                 :             : !  Only one component of densty is used until now
     586         [ +  + ]:       62172 :    dprarr(1:narrm(idtset),idtset)=dtsets(idtset)%densty(1:narrm(idtset),1)
     587                 :             :  end do
     588                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,narr,narrm,ncid,ndtset_alloc,'densty','DPR',multivals%ntypat)
     589                 :             : 
     590         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%dfield(1)
     591         [ +  + ]:       30002 :  dprarr(2,:)=dtsets(:)%dfield(2)
     592         [ +  + ]:       30002 :  dprarr(3,:)=dtsets(:)%dfield(3)
     593                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,3,narrm,ncid,ndtset_alloc,'dfield','DPR',0)
     594                 :             : 
     595         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%dfpt_sciss
     596                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'dfpt_sciss','ENE',0)
     597                 :             : 
     598         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%diecut
     599                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'diecut','ENE',0)
     600                 :             : 
     601         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%diegap
     602                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'diegap','ENE',0)
     603                 :             : 
     604         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%dielam
     605                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'dielam','DPR',0)
     606                 :             : 
     607         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%dielng
     608                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'dielng','LEN',0)
     609                 :             : 
     610         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%diemac
     611                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'diemac','DPR',0)
     612                 :             : 
     613         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%diemix
     614                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'diemix','DPR',0)
     615                 :             : 
     616   [ +  +  +  +  :       25410 :  if (any(dtsets(1:ndtset_alloc)%diemixmag/=dtsets(1:ndtset_alloc)%diemix)) then
                   +  + ]
     617         [ +  + ]:         136 :    dprarr(1,:)=dtsets(:)%diemixmag
     618                 :          28 :    call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'diemixmag','DPR',0)
     619                 :             :  end if
     620                 :             : 
     621         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%diismemory
     622                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'diismemory','INT',0)
     623                 :             : 
     624         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%dilatmx
     625                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'dilatmx','DPR',0)
     626                 :             : 
     627         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dipdip
     628                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dipdip','INT',0)
     629                 :             : 
     630         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dipquad
     631                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dipquad','INT',0)
     632                 :             : 
     633                 :             : !dmatpawu
     634   [ +  +  +  - ]:        4528 :  if (dmatpuflag==1.and.mxvals%natpawu>0) then
     635   [ +  +  +  + ]:         284 :    prtimg(:,:)=1
     636         [ +  + ]:         160 :    do idtset=0,ndtset_alloc
     637                 :         124 :      mxnsp=max(dtsets(idtset)%nsppol,dtsets(idtset)%nspinor)
     638         [ +  + ]:         344 :      lpawu1=maxval(dtsets(idtset)%lpawu(:))
     639                 :         124 :      narrm(idtset)=((2*lpawu1+1)**2)*mxnsp*dtsets(idtset)%natpawu
     640         [ +  + ]:         284 :      do iimage=1,nimagem(idtset)
     641         [ +  + ]:         248 :        if (narrm(idtset)>0) then
     642                 :             :          dprarr_images(1:narrm(idtset),iimage,idtset)= &
     643                 :             : &         reshape(dtsets(idtset)%dmatpawu(&
     644                 :             : &         1:2*lpawu1+1,1:2*lpawu1+1,1:mxnsp,1:dtsets(idtset)%natpawu,iimage),&
     645         [ +  + ]:         168 : &         (/narrm(idtset)/))
     646                 :             :        end if
     647                 :             :      end do
     648                 :             :    end do
     649                 :             :    call prttagm_images(dprarr_images,iout,jdtset_,5,marr,narrm,&
     650                 :          36 :      ncid,ndtset_alloc,'dmatpawu','DPR',mxvals%nimage,nimagem,ndtset,prtimg,strimg)
     651                 :             :  end if
     652                 :             : 
     653         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmatpuopt
     654                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmatpuopt','INT',0)
     655                 :             : 
     656         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmatudiag
     657                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmatudiag','INT',0)
     658                 :             : 
     659         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmftbandf
     660                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmftbandf','INT',0)
     661                 :             : 
     662         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmftbandi
     663                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmftbandi','INT',0)
     664                 :             : 
     665         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%dmft_charge_prec
     666                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_charge_prec','DPR',0)
     667                 :             : 
     668         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmftcheck
     669                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmftcheck','INT',0)
     670                 :             : 
     671         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmftctqmc_basis
     672                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmftctqmc_basis','INT',0)
     673                 :             : 
     674         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmftctqmc_meas
     675                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmftctqmc_meas','INT',0)
     676                 :             : 
     677         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%dmftctqmc_chains
     678                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmftctqmc_chains','INT',0,firstchar="-")
     679                 :             : 
     680         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmft_dc
     681                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_dc','INT',0)
     682                 :             : 
     683         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%dmft_fermi_step
     684                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_fermi_step','DPR',0)
     685                 :             : 
     686         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmft_iter
     687                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_iter','INT',0)
     688                 :             : 
     689                 :             : ! intarr(1,:)=dtsets(:)%dmft_kspectralfunc
     690                 :             : ! call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_kspectralfunc','INT',0)
     691                 :             : 
     692         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%dmft_mxsf
     693                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_mxsf','DPR',0)
     694                 :             : 
     695                 :             :  !narr=mxvals%natom                    ! default size for all datasets
     696                 :             :  !do idtset=0,ndtset_alloc       ! specific size for each dataset
     697                 :             :  !  narrm(idtset)=dtsets(idtset)%natom
     698                 :             :  !  if(idtset==0)narrm(idtset)=mxvals%natom
     699                 :             :  !  if (narrm(idtset)>0) intarr(1:narrm(idtset),idtset)=dtsets(idtset)%dmft_nominal(1:narrm(idtset))
     700                 :             :  !end do
     701                 :             :  !call prttagm(dprarr,intarr,iout,jdtset_,2,marr,narr,narrm,ncid,ndtset_alloc,'dmft_nominal','INT',multivals%natom)
     702                 :             : 
     703         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmft_nwli
     704                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_nwli','INT',0)
     705                 :             : 
     706         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmft_nwlo
     707                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_nwlo','INT',0)
     708                 :             : 
     709         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmft_occnd_imag
     710                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_occnd_imag','INT',0)
     711                 :             : 
     712                 :             :  narr=mxvals%ntypat                    ! default size for all datasets
     713         [ +  + ]:       30002 :  do idtset=0,ndtset_alloc       ! specific size for each dataset
     714                 :       25474 :    narrm(idtset)=dtsets(idtset)%ntypat
     715         [ +  + ]:       25474 :    if(idtset==0)narrm(idtset)=mxvals%ntypat
     716   [ +  -  +  + ]:       62172 :    if (narrm(idtset)>0) intarr(1:narrm(idtset),idtset)=dtsets(idtset)%dmft_orbital(1:narrm(idtset))
     717                 :             :  end do
     718                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,narr,narrm,ncid,ndtset_alloc,'dmft_orbital','INT',multivals%ntypat)
     719                 :             : 
     720         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmft_prt_maxent
     721                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_prt_maxent','INT',0)
     722                 :             : 
     723         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmft_prtself
     724                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_prtself','INT',0)
     725                 :             : 
     726         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmft_prtwan
     727                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_prtwan','INT',0)
     728                 :             : 
     729         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmftqmc_l
     730                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmftqmc_l','INT',0)
     731                 :             : 
     732         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%dmftqmc_n
     733                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmftqmc_n','DPR',0)
     734                 :             : 
     735         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmftqmc_therm
     736                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmftqmc_therm','INT',0)
     737                 :             : 
     738         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmft_read_occnd
     739                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_read_occnd','INT',0)
     740                 :             : 
     741         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmft_rslf
     742                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_rslf','INT',0)
     743                 :             : 
     744                 :        4528 :  narr=mxvals%natom                    ! default size for all datasets
     745         [ +  + ]:       30002 :  do idtset=0,ndtset_alloc       ! specific size for each dataset
     746                 :       25474 :    narrm(idtset)=dtsets(idtset)%natom
     747         [ +  + ]:       25474 :    if(idtset==0)narrm(idtset)=mxvals%natom
     748   [ +  -  +  + ]:      136388 :    if (narrm(idtset)>0) dprarr(1:narrm(idtset),idtset)=dtsets(idtset)%dmft_shiftself(1:narrm(idtset))
     749                 :             :  end do
     750                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,narr,narrm,ncid,ndtset_alloc,'dmft_shiftself','DPR',multivals%natom)
     751                 :             : 
     752         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmft_solv
     753                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_solv','INT',0)
     754                 :             : 
     755         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmft_t2g
     756                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_t2g','INT',0)
     757                 :             : 
     758         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%dmft_tolfreq
     759                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_tolfreq','DPR',0)
     760                 :             : 
     761         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%dmft_tollc
     762                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_tollc','DPR',0)
     763                 :             : 
     764         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmft_triqs_basis
     765                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_basis','INT',0)
     766                 :             : 
     767         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmft_triqs_compute_integral
     768                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_compu','INT',0)
     769                 :             : 
     770         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%dmft_triqs_dlr_epsilon
     771                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_dlr_e','DPR',0)
     772                 :             : 
     773         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%dmft_triqs_dlr_wmax
     774                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_dlr_w','DPR',0)
     775                 :             : 
     776         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmft_triqs_entropy
     777                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_entro','INT',0)
     778                 :             : 
     779         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmft_triqs_gaussorder
     780                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_gauss','INT',0)
     781                 :             : 
     782         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmft_triqs_length_cycle
     783                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_lengt','INT',0)
     784                 :             : 
     785         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmft_triqs_n_cycles
     786                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_n_cyc','INT',0)
     787                 :             : 
     788         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmft_triqs_n_iw
     789                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_n_iw','INT',0)
     790                 :             : 
     791         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmft_triqs_n_l
     792                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_n_l','INT',0)
     793                 :             : 
     794         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmft_triqs_n_tau
     795                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_n_tau','INT',0)
     796                 :             : 
     797         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmft_triqs_n_warmup_cycles_init
     798                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_n_wai','INT',0)
     799                 :             : 
     800         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmft_triqs_n_warmup_cycles_restart
     801                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_n_war','INT',0)
     802                 :             : 
     803         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmft_triqs_nsubdivisions
     804                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_nsubd','INT',0)
     805                 :             : 
     806         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmft_triqs_off_diag
     807                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_off_d','INT',0)
     808                 :             : 
     809         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmft_triqs_prt_entropy
     810                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_prt_e','INT',0)
     811                 :             : 
     812         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmft_triqs_read_ctqmcdata
     813                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_readc','INT',0)
     814                 :             : 
     815         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%dmft_triqs_shift_mu
     816                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_shifm','DPR',0)
     817                 :             : 
     818         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%dmft_triqs_tol_block
     819                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_triqs_tol_b','DPR',0)
     820                 :             : 
     821         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmft_full_chipsi
     822                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_full_chipsi','INT',0)
     823                 :             : 
     824         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmft_wanorthnorm
     825                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_wanorthnorm','INT',0)
     826                 :             : 
     827         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%dmft_wanrad
     828                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_wanrad','DPR',0)
     829                 :             : 
     830         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmft_x2my2d
     831                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_x2my2d','INT',0)
     832                 :             : 
     833         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%dmft_yukawa_epsilon
     834                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_yukawa_eps','DPR',0)
     835                 :             : 
     836         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%dmft_yukawa_lambda
     837                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_yukawa_lam','DPR',0)
     838                 :             : 
     839         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dmft_yukawa_param
     840                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'dmft_yukawa_par','INT',0)
     841                 :             : 
     842         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%dosdeltae
     843                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'dosdeltae','ENE',0)
     844                 :             : 
     845         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%dtion
     846                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'dtion','DPR',0,forceprint=2)
     847                 :             : 
     848         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%dtele
     849                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'dtele','DPR',0,forceprint=2)
     850                 :             : 
     851         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dvdb_add_lr
     852                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'dvdb_add_lr','INT',0)
     853                 :             : 
     854         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%dvdb_qdamp
     855                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'dvdb_qdamp','DPR',0)
     856                 :             : 
     857         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%dvdb_rspace_cell
     858                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'dvdb_rspace_cell','INT',0)
     859                 :             : 
     860                 :             : !dynimage
     861         [ +  + ]:     4409296 :  intarr(1:marr,0)=1                 ! default value
     862                 :        4528 :  narr=nimage                        ! default size for all datasets
     863         [ +  + ]:       25474 :  do idtset=1,ndtset_alloc           ! specific size and array for each dataset
     864                 :       20946 :    narrm(idtset)=dtsets(idtset)%nimage
     865         [ +  + ]:       47172 :    intarr(1:narrm(idtset),idtset)=dtsets(idtset)%dynimage(1:narrm(idtset))
     866                 :             :  end do
     867                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,narr,narrm,ncid,ndtset_alloc,'dynimage','INT',multivals%nimage)
     868                 :             : 
     869                 :             : !Variables for nonlinear response
     870                 :        4528 :  test_write=0
     871         [ +  + ]:       25474 :  do idtset=1,ndtset_alloc
     872   [ +  -  +  + ]:       25474 :    if(dtsets(idtset)%d3e_pert1_atpol(1)/=1 .or. dtsets(idtset)%d3e_pert1_atpol(2)/=dtsets(idtset)%natom)test_write=1
     873                 :             :  enddo
     874         [ +  + ]:        4528 :  if(test_write==1)then
     875         [ +  + ]:         192 :    intarr(1,:)=dtsets(:)%d3e_pert1_atpol(1)
     876         [ +  + ]:         192 :    intarr(2,:)=dtsets(:)%d3e_pert1_atpol(2)
     877                 :          20 :    call prttagm(dprarr,intarr,iout,jdtset_,2,marr,2,narrm,ncid,ndtset_alloc,'d3e_pert1_atpol','INT',0)
     878                 :             :  endif
     879                 :             : 
     880         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%d3e_pert1_dir(1)
     881         [ +  + ]:       30002 :  intarr(2,:)=dtsets(:)%d3e_pert1_dir(2)
     882         [ +  + ]:       30002 :  intarr(3,:)=dtsets(:)%d3e_pert1_dir(3)
     883                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,3,narrm,ncid,ndtset_alloc,'d3e_pert1_dir','INT',0)
     884                 :             : 
     885         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%d3e_pert1_elfd
     886                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'d3e_pert1_elfd','INT',0)
     887                 :             : 
     888                 :        4528 :  test_write=0
     889         [ +  + ]:       25474 :  do idtset=1,ndtset_alloc
     890   [ +  -  +  + ]:       25474 :    if(dtsets(idtset)%d3e_pert1_magat(1)/=1 .or. dtsets(idtset)%d3e_pert1_magat(2)/=dtsets(idtset)%natom)test_write=1
     891                 :             :  enddo
     892         [ +  + ]:        4528 :  if(test_write==1)then
     893         [ +  + ]:          40 :    intarr(1,:)=dtsets(:)%d3e_pert1_magat(1)
     894         [ +  + ]:          40 :    intarr(2,:)=dtsets(:)%d3e_pert1_magat(2)
     895                 :           8 :    call prttagm(dprarr,intarr,iout,jdtset_,2,marr,2,narrm,ncid,ndtset_alloc,'d3e_pert1_magat','INT',0)
     896                 :             :  endif
     897                 :             : 
     898         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%d3e_pert1_magdir(1)
     899         [ +  + ]:       30002 :  intarr(2,:)=dtsets(:)%d3e_pert1_magdir(2)
     900         [ +  + ]:       30002 :  intarr(3,:)=dtsets(:)%d3e_pert1_magdir(3)
     901                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,3,narrm,ncid,ndtset_alloc,'d3e_pert1_magdir','INT',0)
     902                 :             : 
     903         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%d3e_pert1_magn
     904                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'d3e_pert1_magn','INT',0)
     905                 :             : 
     906         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%d3e_pert1_phon
     907                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'d3e_pert1_phon','INT',0)
     908                 :             : 
     909                 :        4528 :  test_write=0
     910         [ +  + ]:       25474 :  do idtset=1,ndtset_alloc
     911   [ +  -  +  + ]:       25474 :    if(dtsets(idtset)%d3e_pert2_atpol(1)/=1 .or. dtsets(idtset)%d3e_pert2_atpol(2)/=dtsets(idtset)%natom)test_write=1
     912                 :             :  enddo
     913         [ +  + ]:        4528 :  if(test_write==1)then
     914         [ +  + ]:          76 :    intarr(1,:)=dtsets(:)%d3e_pert2_atpol(1)
     915         [ +  + ]:          76 :    intarr(2,:)=dtsets(:)%d3e_pert2_atpol(2)
     916                 :          12 :    call prttagm(dprarr,intarr,iout,jdtset_,2,marr,2,narrm,ncid,ndtset_alloc,'d3e_pert2_atpol','INT',0)
     917                 :             :  endif
     918                 :             : 
     919         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%d3e_pert2_dir(1)
     920         [ +  + ]:       30002 :  intarr(2,:)=dtsets(:)%d3e_pert2_dir(2)
     921         [ +  + ]:       30002 :  intarr(3,:)=dtsets(:)%d3e_pert2_dir(3)
     922                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,3,narrm,ncid,ndtset_alloc,'d3e_pert2_dir','INT',0)
     923                 :             : 
     924         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%d3e_pert2_elfd
     925                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'d3e_pert2_elfd','INT',0)
     926                 :             : 
     927                 :        4528 :  test_write=0
     928         [ +  + ]:       25474 :  do idtset=1,ndtset_alloc
     929   [ +  -  +  + ]:       25474 :    if(dtsets(idtset)%d3e_pert2_magat(1)/=1 .or. dtsets(idtset)%d3e_pert2_magat(2)/=dtsets(idtset)%natom)test_write=1
     930                 :             :  enddo
     931         [ +  + ]:        4528 :  if(test_write==1)then
     932         [ +  + ]:          40 :    intarr(1,:)=dtsets(:)%d3e_pert2_magat(1)
     933         [ +  + ]:          40 :    intarr(2,:)=dtsets(:)%d3e_pert2_magat(2)
     934                 :           8 :    call prttagm(dprarr,intarr,iout,jdtset_,2,marr,2,narrm,ncid,ndtset_alloc,'d3e_pert2_magat','INT',0)
     935                 :             :  endif
     936                 :             : 
     937         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%d3e_pert2_magdir(1)
     938         [ +  + ]:       30002 :  intarr(2,:)=dtsets(:)%d3e_pert2_magdir(2)
     939         [ +  + ]:       30002 :  intarr(3,:)=dtsets(:)%d3e_pert2_magdir(3)
     940                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,3,narrm,ncid,ndtset_alloc,'d3e_pert2_magdir','INT',0)
     941                 :             : 
     942         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%d3e_pert2_magn
     943                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'d3e_pert2_magn','INT',0)
     944                 :             : 
     945         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%d3e_pert2_phon
     946                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'d3e_pert2_phon','INT',0)
     947                 :             : 
     948         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%d3e_pert2_strs
     949                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'d3e_pert2_strs','INT',0)
     950                 :             : 
     951                 :        4528 :  test_write=0
     952         [ +  + ]:       25474 :  do idtset=1,ndtset_alloc
     953   [ +  -  +  + ]:       25474 :    if(dtsets(idtset)%d3e_pert3_atpol(1)/=1 .or. dtsets(idtset)%d3e_pert3_atpol(2)/=dtsets(idtset)%natom)test_write=1
     954                 :             :  enddo
     955         [ +  + ]:        4528 :  if(test_write==1)then
     956         [ +  + ]:          36 :    intarr(1,:)=dtsets(:)%d3e_pert3_atpol(1)
     957         [ +  + ]:          36 :    intarr(2,:)=dtsets(:)%d3e_pert3_atpol(2)
     958                 :           4 :    call prttagm(dprarr,intarr,iout,jdtset_,2,marr,2,narrm,ncid,ndtset_alloc,'d3e_pert3_atpol','INT',0)
     959                 :             :  endif
     960                 :             : 
     961         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%d3e_pert3_dir(1)
     962         [ +  + ]:       30002 :  intarr(2,:)=dtsets(:)%d3e_pert3_dir(2)
     963         [ +  + ]:       30002 :  intarr(3,:)=dtsets(:)%d3e_pert3_dir(3)
     964                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,3,narrm,ncid,ndtset_alloc,'d3e_pert3_dir','INT',0)
     965                 :             : 
     966         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%d3e_pert3_elfd
     967                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'d3e_pert3_elfd','INT',0)
     968                 :             : 
     969         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%d3e_pert3_phon
     970                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'d3e_pert3_phon','INT',0)
     971                 :             : 
     972                 :             : !###########################################################
     973                 :             : !### 03. Print all the input variables (E)
     974                 :             : !##
     975                 :             : 
     976         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%ecut
     977                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'ecut','ENE',0)
     978                 :             : 
     979         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%ecuteps
     980                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'ecuteps','ENE',0)
     981                 :             : 
     982         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%ecutsigx
     983                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'ecutsigx','ENE',0)
     984                 :             : 
     985         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%ecutsm
     986                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'ecutsm','ENE',0)
     987                 :             : 
     988         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%ecutwfn
     989                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'ecutwfn','ENE',0)
     990                 :             : 
     991         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%effmass_free
     992                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'effmass_free','DPR',0)
     993                 :             : 
     994         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%efield(1)
     995         [ +  + ]:       30002 :  dprarr(2,:)=dtsets(:)%efield(2)
     996         [ +  + ]:       30002 :  dprarr(3,:)=dtsets(:)%efield(3)
     997                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,3,narrm,ncid,ndtset_alloc,'efield','DPR',0)
     998                 :             : 
     999                 :        4528 :  nn = size(dtsets(0)%einterp)
    1000         [ +  + ]:       22640 :  do ii=1,nn
    1001         [ +  + ]:      124536 :    dprarr(ii,:)=dtsets(:)%einterp(ii)
    1002                 :             :  end do
    1003                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,nn,narrm,ncid,ndtset_alloc,'einterp','DPR',0)
    1004                 :             : 
    1005         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%elph2_imagden
    1006                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'elph2_imagden','ENE',0)
    1007                 :             : 
    1008         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%enunit
    1009                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'enunit','INT',0)
    1010                 :             : 
    1011         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%eph_ahc_type
    1012                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'eph_ahc_type','INT',0)
    1013                 :             : 
    1014         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%eph_path_brange(1)
    1015         [ +  + ]:       30002 :  intarr(2,:)=dtsets(:)%eph_path_brange(2)
    1016                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,2,narrm,ncid,ndtset_alloc,'eph_path_brange','INT',0)
    1017                 :             : 
    1018         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%eph_ecutosc
    1019                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'eph_ecutosc','ENE',0)
    1020                 :             : 
    1021         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%eph_phwinfact
    1022                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'eph_phwinfact','DPR',0)
    1023                 :             : 
    1024         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%eph_extrael
    1025                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'eph_extrael','DPR',0)
    1026                 :             : 
    1027         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%eph_fermie
    1028                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'eph_fermie','ENE',0)
    1029                 :             : 
    1030         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%eph_frohlichm
    1031                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'eph_frohlichm','INT',0)
    1032                 :             : 
    1033         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%eph_frohl_ntheta
    1034                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'eph_frohl_ntheta','INT',0)
    1035                 :             : 
    1036         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%eph_fsewin
    1037                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'eph_fsewin','ENE',0)
    1038                 :             : 
    1039         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%eph_fsmear
    1040                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'eph_fsmear','ENE',0)
    1041                 :             : 
    1042         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%eph_intmeth
    1043                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'eph_intmeth','INT',0)
    1044                 :             : 
    1045         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%eph_mustar
    1046                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'eph_mustar','DPR',0)
    1047                 :             : 
    1048         [ +  + ]:       30002 :  do idtset=0,ndtset_alloc
    1049         [ +  + ]:      106424 :    intarr(1:3,idtset)=dtsets(idtset)%eph_ngkpt_fine
    1050                 :             :  end do
    1051                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,3,narrm,ncid,ndtset_alloc,'eph_ngkpt_fine','INT',0)
    1052                 :             : 
    1053         [ +  + ]:       30002 :  do idtset=0,ndtset_alloc
    1054         [ +  + ]:      106424 :    intarr(1:3,idtset)=dtsets(idtset)%eph_ngqpt_fine
    1055                 :             :  end do
    1056                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,3,narrm,ncid,ndtset_alloc,'eph_ngqpt_fine','INT',0)
    1057                 :             : 
    1058         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%eph_nshiftk_fine
    1059                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'eph_nshiftk_fine','INT',0)
    1060                 :             : 
    1061         [ +  + ]:       30002 :  narr = 3 * maxval(dtsets(:)%eph_nshiftk_fine)
    1062   [ +  +  +  + ]:      106424 :  dprarr(1:narr,:) = zero
    1063         [ +  + ]:       30002 :  do idtset=0,ndtset_alloc
    1064         [ +  + ]:       30002 :    if (allocated(dtsets(idtset)%eph_shiftk_fine)) then
    1065                 :             :      dprarr(1:3*dtsets(idtset)%eph_nshiftk_fine,idtset) = reshape(dtsets(idtset)%eph_shiftk_fine, &
    1066         [ +  + ]:       41892 :        [3*dtsets(idtset)%eph_nshiftk_fine])
    1067                 :             :    end if
    1068                 :             :  end do
    1069                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,narr,narrm,ncid,ndtset_alloc,'eph_shiftk_fine','DPR',0)
    1070                 :             : 
    1071                 :        4528 :  narr = size(dtsets(0)%eph_np_pqbks)
    1072         [ +  + ]:       30002 :  do idtset=0,ndtset_alloc
    1073         [ +  + ]:      157372 :    intarr(1:narr,idtset) = dtsets(idtset)%eph_np_pqbks
    1074                 :             :  end do
    1075                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,narr,narrm,ncid,ndtset_alloc,'eph_np_pqbks','INT',0, firstchar="-")
    1076                 :             : 
    1077                 :        4528 :  narr = size(dtsets(0)%gwpt_np_wpqbks)
    1078         [ +  + ]:       30002 :  do idtset=0,ndtset_alloc
    1079         [ +  + ]:      182846 :    intarr(1:narr,idtset) = dtsets(idtset)%gwpt_np_wpqbks
    1080                 :             :  end do
    1081                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,narr,narrm,ncid,ndtset_alloc,'gwpt_np_wpqbks','INT',0, firstchar="-")
    1082                 :             : 
    1083         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%eph_phrange(1)
    1084         [ +  + ]:       30002 :  intarr(2,:)=dtsets(:)%eph_phrange(2)
    1085                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,2,narrm,ncid,ndtset_alloc,'eph_phrange','INT',0)
    1086                 :             : 
    1087         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%eph_phrange_w(1)
    1088         [ +  + ]:       30002 :  dprarr(2,:)=dtsets(:)%eph_phrange_w(2)
    1089                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,2,narrm,ncid,ndtset_alloc,'eph_phrange_w','ENE',0)
    1090                 :             : 
    1091         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%eph_prtscratew
    1092                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'eph_prtscratew','INT',0)
    1093                 :             : 
    1094         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%eph_restart
    1095                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'eph_restart','INT',0)
    1096                 :             : 
    1097         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%eph_stern
    1098                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'eph_stern','INT',0)
    1099                 :             : 
    1100         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%eph_task
    1101                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'eph_task','INT',0)
    1102                 :             : 
    1103         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%eph_tols_idelta(1)
    1104         [ +  + ]:       30002 :  dprarr(2,:)=dtsets(:)%eph_tols_idelta(2)
    1105                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,2,narrm,ncid,ndtset_alloc,'eph_tols_idelta','DPR',0)
    1106                 :             : 
    1107         [ +  + ]:       30002 :  do idtset=0,ndtset_alloc
    1108         [ +  + ]:      106424 :    dprarr(1:3,idtset)=dtsets(idtset)%eph_fix_wavevec(:)
    1109                 :             :  end do
    1110                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,2,narrm,ncid,ndtset_alloc,'eph_fix_wavevec','DPR',0)
    1111                 :             : 
    1112         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%eph_transport
    1113                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'eph_transport','INT',0)
    1114                 :             : 
    1115         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%eph_use_ftinterp
    1116                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'eph_use_ftinterp','INT',0)
    1117                 :             : 
    1118         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%eshift
    1119                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'eshift','ENE',0)
    1120                 :             : 
    1121         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%esmear
    1122                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'esmear','ENE',0)
    1123                 :             : 
    1124                 :             : !etotal
    1125         [ +  + ]:        4528 :  if(choice==2)then
    1126   [ +  +  +  + ]:       24886 :    prtimg(:,:)=1
    1127         [ +  + ]:       13252 :    do idtset=0,ndtset_alloc       ! specific size for each dataset
    1128                 :       11024 :      compute_static_images=(dtsets(idtset)%istatimg>0)
    1129                 :       11024 :      narrm(idtset)=1
    1130                 :             : 
    1131         [ +  + ]:       13252 :      if(dtsets(idtset)%iscf>=0 .or. dtsets(idtset)%iscf==-3)then
    1132         [ +  + ]:       20604 :        do iimage=1,dtsets(idtset)%nimage
    1133                 :             :          if (narrm(idtset)>0) then
    1134         [ +  + ]:       20980 :            dprarr_images(1:narrm(idtset),iimage,idtset)=results_out(idtset)%etotal(iimage)
    1135                 :             :          end if
    1136   [ +  +  +  + ]:       20604 :          if(.not.(dtsets(idtset)%dynimage(iimage)==1.or.compute_static_images))then
    1137                 :           8 :            prtimg(iimage,idtset)=0
    1138                 :             :          end if
    1139                 :             :        end do
    1140                 :             :      else
    1141                 :         910 :        narrm(idtset)=0
    1142                 :             :      end if
    1143                 :             :    end do
    1144                 :             : !  This is a trick to force printing of etotal even if zero, still not destroying the value of nimagem(0).
    1145                 :        2228 :    tmpimg0=nimagem(0)
    1146                 :        2228 :    nimagem(0)=0
    1147                 :             :    call prttagm_images(dprarr_images,iout,jdtset_,2,marr,narrm,ncid,ndtset_alloc,'etotal','DPR',&
    1148                 :        2228 :      mxvals%nimage,nimagem,ndtset,prtimg,strimg)
    1149                 :        2228 :    nimagem(0)=tmpimg0
    1150                 :             :  end if
    1151                 :             : 
    1152         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%exchmix
    1153                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'exchmix','DPR',0)
    1154                 :             : 
    1155         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%exchn2n3d
    1156                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'exchn2n3d','INT',0)
    1157                 :             : 
    1158         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%extrapwf
    1159                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'extrapwf','INT',0)
    1160                 :             : 
    1161         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%expert_user
    1162                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'expert_user','INT',0)
    1163                 :             : 
    1164                 :             : !###########################################################
    1165                 :             : !### 03. Print all the input variables (F)
    1166                 :             : !##
    1167                 :             : 
    1168                 :             : !fcart
    1169         [ +  + ]:        4528 :  if(choice==2)then
    1170   [ +  +  +  + ]:       24886 :    prtimg(:,:)=1
    1171         [ +  + ]:       13252 :    do idtset=0,ndtset_alloc       ! specific size for each dataset
    1172                 :       11024 :      compute_static_images=(dtsets(idtset)%istatimg>0)
    1173                 :       11024 :      size2=dtsets(idtset)%natom
    1174         [ +  + ]:       11024 :      if(idtset==0)size2=0
    1175                 :       11024 :      narrm(idtset)=3*size2
    1176   [ +  +  -  + ]:       13252 :      if(dtsets(idtset)%iscf>=0 .or. idtset==0)then
    1177         [ +  + ]:       19928 :        do iimage=1,dtsets(idtset)%nimage
    1178         [ +  + ]:       10152 :          if (narrm(idtset)>0) then
    1179                 :             :            dprarr_images(1:narrm(idtset),iimage,idtset)=&
    1180         [ +  + ]:       15848 : &           reshape(results_out(idtset)%fcart(1:3,1:size2,iimage),(/ narrm(idtset) /) )
    1181                 :             :          end if
    1182   [ +  +  +  + ]:       19928 :          if(.not.(dtsets(idtset)%dynimage(iimage)==1.or.compute_static_images))then
    1183                 :           8 :            prtimg(iimage,idtset)=0
    1184                 :             :          end if
    1185                 :             :        end do
    1186                 :             :      else
    1187                 :        1248 :        narrm(idtset)=0
    1188                 :             :      end if
    1189                 :             :    end do
    1190                 :             : !  This is a trick to force printing of fcart even if zero, still not destroying the value of nimagem(0).
    1191                 :        2228 :    tmpimg0=nimagem(0)
    1192                 :        2228 :    nimagem(0)=0
    1193                 :             :    call prttagm_images(dprarr_images,iout,jdtset_,2,marr,narrm,ncid,ndtset_alloc,'fcart','DPR',&
    1194                 :        2228 :      mxvals%nimage,nimagem,ndtset,prtimg,strimg)
    1195                 :        2228 :    nimagem(0)=tmpimg0
    1196                 :             :  end if
    1197                 :             : 
    1198         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%fermie_nest
    1199                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'fermie_nest','DPR',0)
    1200                 :             : 
    1201         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%ffnl_lw
    1202                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'ffnl_lw','INT',0)
    1203                 :             : 
    1204                 :        4528 :  firstchar_fftalg = "_"
    1205         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%ngfft(7)
    1206                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'fftalg','INT',0,firstchar="-",forceprint=3)
    1207                 :             : 
    1208         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%ngfft(8)
    1209                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'fftcache','INT',0)
    1210                 :             : 
    1211         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%fftgw
    1212                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'fftgw','INT',0)
    1213                 :             : 
    1214         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%fft_count
    1215                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'fft_count','INT',0)
    1216                 :             : 
    1217         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%fockoptmix
    1218                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'fockoptmix','INT',0)
    1219                 :             : 
    1220         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%focktoldfe
    1221                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'focktoldfe','DPR',0)
    1222                 :             : 
    1223         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%fockdownsampling(1)
    1224         [ +  + ]:       30002 :  intarr(2,:)=dtsets(:)%fockdownsampling(2)
    1225         [ +  + ]:       30002 :  intarr(3,:)=dtsets(:)%fockdownsampling(3)
    1226                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,3,narrm,ncid,ndtset_alloc,'fockdownsampling','INT',0)
    1227                 :             : 
    1228         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%fock_icutcoul
    1229                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'fock_icutcoul','INT',0)
    1230                 :             : 
    1231         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%fock_rcut
    1232                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'fock_rcut','LEN',0)
    1233                 :             : 
    1234         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%freqim_alpha
    1235                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'freqim_alpha','DPR',0)
    1236                 :             : 
    1237         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%freqremax
    1238                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'freqremax','ENE',0)
    1239                 :             : 
    1240         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%freqremin
    1241                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'freqremin','ENE',0)
    1242                 :             : 
    1243         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%freqspmax
    1244                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'freqspmax','ENE',0)
    1245                 :             : 
    1246         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%freqspmin
    1247                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'freqspmin','ENE',0)
    1248                 :             : 
    1249         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%friction
    1250                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'friction','DPR',0)
    1251                 :             : 
    1252         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%frictionbar
    1253                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'frictionbar','DPR',0)
    1254                 :             : 
    1255         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%frzfermi
    1256                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'frzfermi','INT',0)
    1257                 :             : 
    1258         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%fxcartfactor
    1259                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'fxcartfactor','DPR',0)
    1260                 :             : 
    1261                 :             : !f4of2_sla
    1262                 :        4528 :  narr=mxvals%ntypat                    ! default size for all datasets
    1263         [ +  + ]:       30002 :  do idtset=0,ndtset_alloc       ! specific size for each dataset
    1264                 :       25474 :    narrm(idtset)=dtsets(idtset)%ntypat
    1265         [ +  + ]:       25474 :    if(idtset==0)narrm(idtset)=mxvals%ntypat
    1266         [ +  - ]:       30002 :    if (narrm(idtset)>0) then
    1267         [ +  + ]:       57644 :      dprarr(1:narrm(idtset),idtset)=dtsets(idtset)%f4of2_sla(1:narrm(idtset))
    1268                 :             :    end if
    1269                 :             :  end do
    1270                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,narr,narrm,ncid,ndtset_alloc,'f4of2_sla','DPR',multivals%ntypat)
    1271                 :             : 
    1272                 :             : !f6of2_sla
    1273                 :             :  narr=mxvals%ntypat                    ! default size for all datasets
    1274         [ +  + ]:       30002 :  do idtset=0,ndtset_alloc       ! specific size for each dataset
    1275                 :       25474 :    narrm(idtset)=dtsets(idtset)%ntypat
    1276         [ +  + ]:       25474 :    if(idtset==0)narrm(idtset)=mxvals%ntypat
    1277         [ +  - ]:       30002 :    if (narrm(idtset)>0) then
    1278         [ +  + ]:       57644 :      dprarr(1:narrm(idtset),idtset)=dtsets(idtset)%f6of2_sla(1:narrm(idtset))
    1279                 :             :    end if
    1280                 :             :  end do
    1281                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,narr,narrm,ncid,ndtset_alloc,'f6of2_sla','DPR',multivals%ntypat)
    1282                 :             : 
    1283                 :             : !###########################################################
    1284                 :             : !### 03. Print all the input variables (G)
    1285                 :             : !##
    1286                 :             : 
    1287         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%ga_algor
    1288                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'ga_algor','INT',0)
    1289                 :             : 
    1290         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%ga_fitness
    1291                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'ga_fitness','INT',0)
    1292                 :             : 
    1293         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%ga_n_rules
    1294                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'ga_n_rules','INT',0)
    1295                 :             : 
    1296         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%ga_opt_percent
    1297                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'ga_opt_percent','DPR',0)
    1298                 :             : 
    1299                 :             : !ga_rules
    1300                 :        4528 :  narr=ga_n_rules                    ! default size for all datasets
    1301         [ +  + ]:       30002 :  do idtset=0,ndtset_alloc       ! specific size for each dataset
    1302                 :       25474 :    narrm(idtset)=dtsets(idtset)%ga_n_rules
    1303         [ +  + ]:       25474 :    if(idtset==0)narrm(idtset)=mxvals%ga_n_rules
    1304         [ +  + ]:       55500 :    intarr(1:narrm(idtset),idtset)=dtsets(idtset)%ga_rules(1:narrm(idtset))
    1305                 :             :  end do
    1306                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,narr,narrm,ncid,ndtset_alloc,'ga_rules','INT',multivals%ga_n_rules)
    1307                 :             : 
    1308         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%getabiwan
    1309                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getabiwan','INT',0)
    1310                 :             : 
    1311         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%getgwan
    1312                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getgwan','INT',0)
    1313                 :             : 
    1314         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%getbscoup
    1315                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getbscoup','INT',0)
    1316                 :             : 
    1317         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%getbseig
    1318                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getbseig','INT',0)
    1319                 :             : 
    1320         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%getbsreso
    1321                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getbsreso','INT',0)
    1322                 :             : 
    1323         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%getcell
    1324                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getcell','INT',0)
    1325                 :             : 
    1326         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%getctqmcdata
    1327                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getctqmcdata','INT',0)
    1328                 :             : 
    1329         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%getddb
    1330                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getddb','INT',0)
    1331                 :             : 
    1332         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%getddk
    1333                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getddk','INT',0)
    1334                 :             : 
    1335         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%getdelfd
    1336                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getdelfd','INT',0)
    1337                 :             : 
    1338         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%getdkdk
    1339                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getdkdk','INT',0)
    1340                 :             : 
    1341         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%getdkde
    1342                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getdkde','INT',0)
    1343                 :             : 
    1344         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%getden
    1345                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getden','INT',0)
    1346                 :             : 
    1347         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%getdvdb
    1348                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getdvdb','INT',0)
    1349                 :             : 
    1350         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%getdrhodb
    1351                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getdrhodb','INT',0)
    1352                 :             : 
    1353         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%getefmas
    1354                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getefmas','INT',0)
    1355                 :             : 
    1356         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%getgam_eig2nkq
    1357                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getgam_eig2nkq','INT',0)
    1358                 :             : 
    1359         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%gethaydock
    1360                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gethaydock','INT',0)
    1361                 :             : 
    1362   [ +  +  +  +  :       29770 :  if (any(dtsets(:)%usekden==1)) then
                   +  + ]
    1363         [ +  + ]:         412 :    intarr(1,:)=dtsets(:)%getkden
    1364                 :          84 :    call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getkden','INT',0)
    1365                 :             :  end if
    1366                 :             : 
    1367         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%getocc
    1368                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getocc','INT',0)
    1369                 :             : 
    1370         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%getpawden
    1371                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getpawden','INT',0)
    1372                 :             : 
    1373         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%getqps
    1374                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getqps','INT',0)
    1375                 :             : 
    1376         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%getscr
    1377                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getscr','INT',0)
    1378                 :             : 
    1379         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%getself
    1380                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getself','INT',0)
    1381                 :             : 
    1382         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%getsuscep
    1383                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getsuscep','INT',0)
    1384                 :             : 
    1385         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%getvpq
    1386                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getvpq','INT',0)
    1387                 :             : 
    1388         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%getvel
    1389                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getvel','INT',0)
    1390                 :             : 
    1391         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%getwfk
    1392                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getwfk','INT',0)
    1393                 :             : 
    1394         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%getwfkfine
    1395                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getwfkfine','INT',0)
    1396                 :             : 
    1397         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%getwfmq
    1398                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getwfmq','INT',0)
    1399                 :             : 
    1400         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%getwfq
    1401                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getwfq','INT',0)
    1402                 :             : 
    1403         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%getxcart
    1404                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getxcart','INT',0)
    1405                 :             : 
    1406         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%getxred
    1407                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'getxred','INT',0)
    1408                 :             : 
    1409         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%get1den
    1410                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'get1den','INT',0)
    1411                 :             : 
    1412         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%get1wf
    1413                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'get1wf','INT',0)
    1414                 :             :  
    1415         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%ggtrcut
    1416                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'ggtrcut','DPR',0)
    1417                 :             : 
    1418         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%goprecon
    1419                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'goprecon','INT',0)
    1420                 :             : 
    1421         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%goprecprm(1)
    1422         [ +  + ]:       30002 :  dprarr(2,:)=dtsets(:)%goprecprm(2)
    1423         [ +  + ]:       30002 :  dprarr(3,:)=dtsets(:)%goprecprm(3)
    1424                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,3,narrm,ncid,ndtset_alloc,'goprecprm','DPR',0)
    1425                 :             : 
    1426   [ +  +  +  -  :       30002 :  if (any(dtsets(:)%gpu_option/=ABI_GPU_DISABLED)) then
                   -  + ]
    1427                 :             : 
    1428   [ #  #  #  # ]:           0 :    do ii=1,12; intarr(ii,:)=dtsets(:)%gpu_devices(ii); end do
    1429                 :           0 :    call prttagm(dprarr,intarr,iout,jdtset_,1,marr,12,narrm,ncid,ndtset_alloc,'gpu_devices','INT',0,firstchar=firstchar_gpu)
    1430                 :             : 
    1431         [ #  # ]:           0 :    intarr(1,:)=dtsets(:)%gpu_nfft_blocks
    1432                 :           0 :    call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gpu_nfft_blocks','INT',0,firstchar=firstchar_gpu)
    1433                 :             : 
    1434         [ #  # ]:           0 :    intarr(1,:)=dtsets(:)%gpu_linalg_limit
    1435                 :           0 :    call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gpu_linalg_limit','INT',0)
    1436                 :             : 
    1437         [ #  # ]:           0 :    intarr(1,:)=dtsets(:)%gpu_nl_distrib
    1438                 :           0 :    call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gpu_nl_distrib','INT',0,firstchar=firstchar_gpu)
    1439                 :             : 
    1440         [ #  # ]:           0 :    intarr(1,:)=dtsets(:)%gpu_nl_splitsize
    1441                 :           0 :    call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gpu_nl_splitsize','INT',0,firstchar=firstchar_gpu)
    1442                 :             : 
    1443         [ #  # ]:           0 :    intarr(1,:)=dtsets(:)%gpu_option
    1444                 :           0 :    call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gpu_option','INT',0,firstchar=firstchar_gpu)
    1445                 :             : 
    1446         [ #  # ]:           0 :    intarr(1,:)=dtsets(:)%gpu_thread_limit
    1447                 :           0 :    call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gpu_thread_limit','INT',0,firstchar=firstchar_gpu)
    1448                 :             : 
    1449   [ #  #  #  #  :           0 :    if (any(dtsets(:)%gpu_option/=ABI_GPU_KOKKOS)) then
                   #  # ]
    1450         [ #  # ]:           0 :      intarr(1,:)=dtsets(:)%gpu_kokkos_nthrd
    1451                 :           0 :      call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gpu_kokkos_nthrd','INT',0,firstchar=firstchar_gpu)
    1452                 :             :    end if
    1453                 :             : 
    1454                 :             :  end if
    1455                 :             : 
    1456         [ +  + ]:       30002 :  intarr(1,:)  =dtsets(:)%gstore_with_vk
    1457                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'gstore_with_vk','INT',0)
    1458                 :             : 
    1459         [ +  + ]:       30002 :  intarr(1,:)  =dtsets(:)%gstore_iv1p_comm
    1460                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'gstore_iv1p_comm','INT',0)
    1461                 :             : 
    1462         [ +  + ]:       30002 :  intarr(1,:)  =dtsets(:)%gstore_use_lgk
    1463                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'gstore_use_lgk','INT',0)
    1464                 :             : 
    1465         [ +  + ]:       30002 :  intarr(1,:)  =dtsets(:)%gstore_use_lgq
    1466                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'gstore_use_lgq','INT',0)
    1467                 :             : 
    1468                 :             :  !intarr(1,:)  =dtsets(:)%gstore_brange(1,1)
    1469                 :             :  !intarr(2,:)  =dtsets(:)%gstore_brange(2,1)
    1470                 :             :  !intarr(3,:)  =dtsets(:)%gstore_brange(1,2)
    1471                 :             :  !intarr(4,:)  =dtsets(:)%gstore_brange(2,2)
    1472                 :             :  !call prttagm(dprarr,intarr,iout,jdtset_,2,marr,2,narrm,ncid,ndtset_alloc,'gstore_brange','INT',0)
    1473                 :             : 
    1474                 :             :  !dprarr(1,:)  =dtsets(:)%gstore_erange(1,1)
    1475                 :             :  !dprarr(2,:)  =dtsets(:)%gstore_erange(2,1)
    1476                 :             :  !dprarr(3,:)  =dtsets(:)%gstore_erange(1,2)
    1477                 :             :  !dprarr(4,:)  =dtsets(:)%gstore_erange(2,2)
    1478                 :             :  !call prttagm(dprarr,intarr,iout,jdtset_,2,marr,2,narrm,ncid,ndtset_alloc,'gstore_erange','ENE',0)
    1479                 :             : 
    1480         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%gw_rcut
    1481                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'gw_rcut','LEN',0)
    1482                 :             : 
    1483         [ +  + ]:       30002 :  dprarr(1,:) = dtsets(:)%gwr_boxcutmin
    1484                 :        4528 :  call prttagm(dprarr, intarr, iout, jdtset_, 1, marr, narr, narrm, ncid, ndtset_alloc, 'gwr_boxcutmin', 'DPR', 0)
    1485                 :             : 
    1486         [ +  + ]:       30002 :  dprarr(1,:) = dtsets(:)%gwr_max_hwtene
    1487                 :        4528 :  call prttagm(dprarr, intarr, iout, jdtset_, 1, marr, narr, narrm, ncid, ndtset_alloc, 'gwr_max_hwtene', 'ENE', 0)
    1488                 :             : 
    1489         [ +  + ]:       30002 :  dprarr(1,:) = dtsets(:)%gwr_regterm
    1490                 :        4528 :  call prttagm(dprarr, intarr, iout, jdtset_, 1, marr, narr, narrm, ncid, ndtset_alloc, 'gwr_regterm', 'DPR', 0)
    1491                 :             : 
    1492                 :        4528 :  narr = size(dtsets(0)%gwr_np_kgts)
    1493         [ +  + ]:       30002 :  do idtset=0,ndtset_alloc
    1494         [ +  + ]:      131898 :    intarr(1:narr,idtset) = dtsets(idtset)%gwr_np_kgts
    1495                 :             :  end do
    1496                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,narr,narrm,ncid,ndtset_alloc,'gwr_np_kgts','INT',0, firstchar="-")
    1497                 :             : 
    1498                 :        4528 :  narr = size(dtsets(0)%gwr_ucsc_batch)
    1499         [ +  + ]:       30002 :  do idtset=0,ndtset_alloc
    1500         [ +  + ]:       80950 :    intarr(1:narr,idtset) = dtsets(idtset)%gwr_ucsc_batch
    1501                 :             :  end do
    1502                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,narr,narrm,ncid,ndtset_alloc,'gwr_ucsc_batch','INT',0, firstchar="-")
    1503                 :             : 
    1504         [ +  + ]:       30002 :  intarr(1,:) = dtsets(:)%gwr_ntau
    1505                 :        4528 :  call prttagm(dprarr, intarr, iout, jdtset_, 2, marr, 1, narrm, ncid, ndtset_alloc, 'gwr_ntau', 'INT', 0)
    1506                 :             : 
    1507         [ +  + ]:       30002 :  intarr(1,:) = dtsets(:)%gwr_chi_algo
    1508                 :        4528 :  call prttagm(dprarr, intarr, iout, jdtset_, 2, marr, 1, narrm, ncid, ndtset_alloc, 'gwr_chi_algo', 'INT', 0)
    1509         [ +  + ]:       30002 :  intarr(1,:) = dtsets(:)%gwr_sigma_algo
    1510                 :        4528 :  call prttagm(dprarr, intarr, iout, jdtset_, 2, marr, 1, narrm, ncid, ndtset_alloc, 'gwr_sigma_algo', 'INT', 0)
    1511         [ +  + ]:       30002 :  intarr(1,:) = dtsets(:)%gwr_rpa_ncut
    1512                 :        4528 :  call prttagm(dprarr, intarr, iout, jdtset_, 2, marr, 1, narrm, ncid, ndtset_alloc, 'gwr_rpa_ncut', 'INT', 0)
    1513                 :             : 
    1514                 :             :  ! TODO
    1515                 :             :  !call prttagm(dprarr, intarr, iout, jdtset_, 2, marr, 1, narrm, ncid, ndtset_alloc, 'gwr_task', 'INT', 0)
    1516                 :             : 
    1517                 :             : !grchrg
    1518                 :        4528 :  print_constraint=0
    1519         [ +  + ]:       25474 :  do idtset=1,ndtset_alloc
    1520   [ +  +  +  +  :       51404 :    if(any(dtsets(idtset)%constraint_kind(:)>=10))print_constraint=1
                   +  + ]
    1521                 :             :  enddo
    1522         [ +  + ]:        4528 :  if(print_constraint==1)then
    1523                 :             : !if(any(dtsets(1:ndtset_alloc)%constraint_kind(:)>=10))then
    1524         [ +  + ]:          28 :    if(choice==2)then
    1525   [ +  +  +  + ]:         182 :      prtimg(:,:)=1
    1526         [ +  + ]:          98 :      do idtset=0,ndtset_alloc       ! specific size for each dataset
    1527                 :          84 :        compute_static_images=(dtsets(idtset)%istatimg>0)
    1528                 :          84 :        size2=dtsets(idtset)%natom
    1529         [ +  + ]:          84 :        if(idtset==0)size2=0
    1530                 :          84 :        narrm(idtset)=size2
    1531   [ -  +  -  - ]:          98 :        if(dtsets(idtset)%iscf>=0 .or. idtset==0)then
    1532         [ +  + ]:         168 :          do iimage=1,dtsets(idtset)%nimage
    1533         [ +  + ]:          84 :            if (narrm(idtset)>0) then
    1534                 :             : !            Note the minus sign, because chrgat is the ziontypat minus the electronic charge
    1535                 :             :              dprarr_images(1:narrm(idtset),iimage,idtset)=&
    1536         [ +  + ]:         210 : &             -results_out(idtset)%intgres(1,1:size2,iimage)
    1537                 :             :            end if
    1538   [ -  +  -  - ]:         168 :            if(.not.(dtsets(idtset)%dynimage(iimage)==1.or.compute_static_images))then
    1539                 :           0 :              prtimg(iimage,idtset)=0
    1540                 :             :            end if
    1541                 :             :          end do
    1542                 :             :        else
    1543                 :           0 :          narrm(idtset)=0
    1544                 :             :        end if
    1545                 :             :      end do
    1546                 :             : !    This is a trick to force printing of fcart even if zero, still not destroying the value of nimagem(0).
    1547                 :          14 :      tmpimg0=nimagem(0)
    1548                 :          14 :      nimagem(0)=0
    1549                 :             :      call prttagm_images(dprarr_images,iout,jdtset_,1,marr,narrm,ncid,ndtset_alloc,'grchrg','DPR',&
    1550                 :          14 :        mxvals%nimage,nimagem,ndtset,prtimg,strimg)
    1551                 :          14 :      nimagem(0)=tmpimg0
    1552                 :             :    end if
    1553                 :             :  endif
    1554                 :             : 
    1555                 :             : !grspin
    1556                 :        4528 :  print_constraint=0
    1557         [ +  + ]:       25474 :  do idtset=1,ndtset_alloc
    1558   [ +  +  +  +  :       51284 :    if(any(mod(dtsets(idtset)%constraint_kind(:),10)>0))print_constraint=1
                   +  + ]
    1559                 :             :  enddo
    1560         [ +  + ]:        4528 :  if(print_constraint==1)then
    1561                 :             : !if(any(mod(dtsets(1:ndtset_alloc)%constraint_kind(:),10)/=0))then
    1562         [ +  + ]:          40 :    if(choice==2)then
    1563   [ +  +  +  + ]:         268 :      prtimg(:,:)=1
    1564         [ +  + ]:         144 :      do idtset=0,ndtset_alloc       ! specific size for each dataset
    1565                 :         124 :        compute_static_images=(dtsets(idtset)%istatimg>0)
    1566                 :         124 :        size2=dtsets(idtset)%natom
    1567         [ +  + ]:         124 :        if(idtset==0)size2=0
    1568                 :         124 :        narrm(idtset)=3*size2
    1569   [ -  +  -  - ]:         144 :        if(dtsets(idtset)%iscf>=0 .or. idtset==0)then
    1570         [ +  + ]:         248 :          do iimage=1,dtsets(idtset)%nimage
    1571         [ +  + ]:         124 :            if (narrm(idtset)>0) then
    1572                 :             :              dprarr_images(1:narrm(idtset),iimage,idtset)=&
    1573         [ +  + ]:         208 : &             reshape(results_out(idtset)%intgres(2:4,1:size2,iimage),(/ narrm(idtset) /) )
    1574                 :             :            end if
    1575   [ -  +  -  - ]:         248 :            if(.not.(dtsets(idtset)%dynimage(iimage)==1.or.compute_static_images))then
    1576                 :           0 :              prtimg(iimage,idtset)=0
    1577                 :             :            end if
    1578                 :             :          end do
    1579                 :             :        else
    1580                 :           0 :          narrm(idtset)=0
    1581                 :             :        end if
    1582                 :             :      end do
    1583                 :             : !    This is a trick to force printing of fcart even if zero, still not destroying the value of nimagem(0).
    1584                 :          20 :      tmpimg0=nimagem(0)
    1585                 :          20 :      nimagem(0)=0
    1586                 :             :      call prttagm_images(dprarr_images,iout,jdtset_,2,marr,narrm,ncid,ndtset_alloc,'grspin','DPR',&
    1587                 :          20 :        mxvals%nimage,nimagem,ndtset,prtimg,strimg)
    1588                 :          20 :      nimagem(0)=tmpimg0
    1589                 :             :    end if
    1590                 :             :  endif
    1591                 :             : 
    1592         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%gwaclowrank
    1593                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gwaclowrank','INT',0)
    1594                 :             : 
    1595         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%gwcalctyp
    1596                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gwcalctyp','INT',0)
    1597                 :             : 
    1598         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%gw1rdm
    1599                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gw1rdm','INT',0)
    1600                 :             : 
    1601                 :             : 
    1602         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%gwcomp
    1603                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gwcomp','INT',0)
    1604                 :             : 
    1605         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%gwencomp
    1606                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gwencomp','ENE',0)
    1607                 :             : 
    1608         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%gwgamma
    1609                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gwgamma','INT',0)
    1610                 :             : 
    1611         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%gwpt_wmode
    1612                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gwpt_wmode','INT',0)
    1613                 :             : 
    1614         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%gwpt_g2mode
    1615                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gwpt_g2mode','INT',0)
    1616                 :             : 
    1617         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%gwmem
    1618                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gwmem','INT',0)
    1619                 :             : 
    1620         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%gwpara
    1621                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gwpara','INT',0, firstchar="-")
    1622                 :             : 
    1623         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%gwrpacorr
    1624                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gwrpacorr','INT',0)
    1625                 :             : 
    1626         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%gwgmcorr
    1627                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gwgmcorr','INT',0)
    1628                 :             : 
    1629                 :             : !gw_customnfreqsp
    1630                 :             : !It actually overrides the content of nfreqsp (which is forbidden !) in dtset.
    1631                 :             : !This is to be cleaned ...
    1632   [ +  +  +  +  :       29978 :  if (ANY(dtsets(:)%gw_customnfreqsp/=0)) then
                   +  + ]
    1633         [ +  + ]:          80 :    intarr(1,:)=dtsets(:)%gw_customnfreqsp
    1634                 :          12 :    call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gw_customnfreqsp','INT',0)
    1635                 :             :  end if
    1636                 :             : 
    1637                 :             : !gw_freqsp
    1638                 :             : !This is to be cleaned ... See above ...
    1639                 :        4528 :  narr=mxvals%nfreqsp ! default size for all datasets
    1640         [ +  + ]:       30002 :  do idtset=0,ndtset_alloc       ! specific size for each dataset
    1641         [ +  + ]:       25710 :    dprarr(1:narr,idtset)=zero
    1642                 :       25474 :    narrm(idtset)=dtsets(idtset)%gw_customnfreqsp
    1643         [ +  + ]:       25474 :    if(idtset==0)narrm(idtset)=mxvals%nfreqsp
    1644         [ +  + ]:       30002 :    if (narrm(idtset)>0) then
    1645         [ +  + ]:         120 :      dprarr(1:narrm(idtset),idtset)=dtsets(idtset)%gw_freqsp(1:narrm(idtset))
    1646                 :             :    end if
    1647                 :             :  end do
    1648                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,6,marr,narr,narrm,ncid,ndtset_alloc,'gw_freqsp','ENE',multivals%nfreqsp)
    1649                 :             : 
    1650         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%gw_frqim_inzgrid
    1651                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gw_frqim_inzgrid','INT',0)
    1652                 :             : 
    1653         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%gw_frqre_inzgrid
    1654                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gw_frqre_inzgrid','INT',0)
    1655                 :             : 
    1656         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%gw_frqre_tangrid
    1657                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gw_frqre_tangrid','INT',0)
    1658                 :             : 
    1659                 :             : 
    1660         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%gw_invalid_freq
    1661                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gw_invalid_freq','INT',0)
    1662                 :             : 
    1663         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%gw_qprange
    1664                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gw_qprange','INT',0)
    1665                 :             : 
    1666         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%gw_nqlwl
    1667                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gw_nqlwl','INT',0)
    1668                 :             : 
    1669         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%gwr_nstep
    1670                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gwr_nstep','INT',0)
    1671                 :             : 
    1672         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%gwr_fit
    1673                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gwr_fit','INT',0)
    1674                 :             : 
    1675                 :             : !gw_qlwl
    1676                 :        4528 :  narr=3*dtsets(1)%gw_nqlwl ! default size for all datasets
    1677         [ +  + ]:       30002 :  do idtset=0,ndtset_alloc       ! specific size for each dataset
    1678         [ +  + ]:       30002 :    if(idtset/=0)then
    1679                 :       20946 :      narrm(idtset)=3*dtsets(idtset)%gw_nqlwl
    1680         [ +  + ]:       20946 :      if (narrm(idtset)>0)then
    1681                 :             :        dprarr(1:narrm(idtset),idtset)=&
    1682         [ +  + ]:           8 : &       reshape(dtsets(idtset)%gw_qlwl(1:3,1:dtsets(idtset)%gw_nqlwl),(/ narrm(idtset) /) )
    1683                 :             :      end if
    1684                 :             :    else
    1685                 :        4528 :      narrm(idtset)=3*mxvals%gw_nqlwl
    1686         [ +  + ]:        4528 :      if (narrm(idtset)>0)then
    1687         [ +  + ]:          16 :        dprarr(1:narrm(idtset),idtset)=zero
    1688         [ +  + ]:          16 :        dprarr(1:3,idtset)=(/0.00001_dp, 0.00002_dp, 0.00003_dp/)
    1689                 :             :      end if
    1690                 :             :    end if
    1691                 :             :  end do
    1692                 :             : 
    1693                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,narr,narrm,ncid,ndtset_alloc,'gw_qlwl','DPR',multivals%gw_nqlwl)
    1694                 :             : 
    1695         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%gw_sigxcore
    1696                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gw_sigxcore','INT',0)
    1697                 :             : 
    1698         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%gw_icutcoul
    1699                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'gw_icutcoul','INT',0)
    1700                 :             : 
    1701         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%gwr_tolqpe
    1702                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,1,narrm,ncid,ndtset_alloc,'gwr_tolqpe','ENE',0)
    1703                 :             : 
    1704                 :             : 
    1705                 :             : !###########################################################
    1706                 :             : !### 03. Print all the input variables (H)
    1707                 :             : !##
    1708                 :             : 
    1709         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%hmcsst
    1710                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'hmcsst','INT',0)
    1711                 :             : 
    1712         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%hmctt
    1713                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'hmctt','INT',0)
    1714                 :             : 
    1715                 :             : !hspinfield
    1716         [ +  + ]:       30002 :  dprarr(1,:)=dtsets(:)%hspinfield_in(1)
    1717         [ +  + ]:       30002 :  dprarr(2,:)=dtsets(:)%hspinfield_in(2)
    1718         [ +  + ]:       30002 :  dprarr(3,:)=dtsets(:)%hspinfield_in(3)
    1719                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,1,marr,3,narrm,ncid,ndtset_alloc,'hspinfield','BFI',0)
    1720                 :             : 
    1721                 :             : !hspinfield_cart
    1722                 :        4528 :  nontrivial_spinaxis=.false.
    1723         [ +  + ]:       25470 :  do idtset=1,ndtset_alloc
    1724   [ +  +  +  +  :       62830 :    if (any(abs(dtsets(idtset)%spinaxis(1:2)) > tol8) .or. &
             +  +  +  - ]
    1725                 :        4524 :        abs(dtsets(idtset)%spinaxis(3) - 1.0_dp) > tol8) then
    1726                 :             :      nontrivial_spinaxis=.true.
    1727                 :             :      exit
    1728                 :             :    end if
    1729                 :             :  end do
    1730         [ +  + ]:        4528 :  if (nontrivial_spinaxis) then
    1731         [ +  + ]:          16 :    dprarr(1,:) = dtsets(:)%hspinfield_cart(1)
    1732         [ +  + ]:          16 :    dprarr(2,:) = dtsets(:)%hspinfield_cart(2)
    1733         [ +  + ]:          16 :    dprarr(3,:) = dtsets(:)%hspinfield_cart(3)
    1734                 :           4 :    call prttagm(dprarr,intarr,iout,jdtset_,1,marr,3,narrm,ncid,ndtset_alloc,'hspinfield_cart','BFI',0)
    1735                 :             :  end if
    1736                 :             : 
    1737         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%extfpmd_nbcut
    1738                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'extfpmd_nbcut','INT',0)
    1739                 :             : 
    1740         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%extfpmd_nbdbuf
    1741                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'extfpmd_nbdbuf','INT',0)
    1742                 :             : 
    1743         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%extfpmd_nband
    1744                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'extfpmd_nband','INT',0)
    1745                 :             : 
    1746         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%extfpmd_pawsph
    1747                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'extfpmd_pawsph','INT',0)
    1748                 :             : 
    1749         [ +  + ]:       30002 :  intarr(1,:)=dtsets(:)%extfpmd_prterr
    1750                 :        4528 :  call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,'extfpmd_prterr','INT',0)
    1751                 :             : 
    1752                 :             : !Special treatment of the default values for the hybrid functional parameters.
    1753         [ +  + ]:       22640 :  do ii=1,4
    1754   [ +  +  +  + ]:       48114 :    if(ii==1)dprarr(1,:)=dtsets(:)%hyb_mixing
    1755   [ +  +  +  + ]:       48114 :    if(ii==2)dprarr(1,:)=dtsets(:)%hyb_mixing_sr
    1756   [ +  +  +  + ]:       48114 :    if(ii==3)dprarr(1,:)=dtsets(:)%hyb_range_dft
    1757   [ +  +  +  + ]:       48114 :    if(ii==4)dprarr(1,:)=dtsets(:)%hyb_range_fock
    1758                 :       18112 :    defo=1
    1759         [ +  + ]:      101896 :    do idtset=1,ndtset_alloc
    1760   [ +  +  +  + ]:      185508 :      if(dprarr(1,idtset)<-tol8 .and. abs(dprarr(1,idtset)+999.0_dp)>tol8)defo=0
    1761                 :             :    end do
    1762         [ +  + ]:       22640 :    if(defo==0)then
    1763         [ +  + ]:         868 :      do idtset=1,ndtset_alloc
    1764                 :             : !      Change the sign of user defined input value
    1765   [ +  +  +  + ]:         868 :        if(dprarr(1,idtset)<-tol8 .and. abs(dprarr(1,idtset)+999.0_dp)>tol8)then
    1766                 :         172 :          dprarr(1,idtset)=abs(dprarr(1,idtset))
    1767                 :             :        end if
    1768                 :             :      end do
    1769         [ +  + ]:          40 :      if(ii==1)str_hyb='hyb_mixing'
    1770         [ +  + ]:          40 :      if(ii==2)str_hyb='hyb_mixing_sr'
    1771         [ +  + ]:          40 :      if(ii==3)str_hyb='hyb_range_dft'
    1772         [ +  + ]:          40 :      if(ii==4)str_hyb='hyb_range_fock'
    1773                 :          40 :      call prttagm(dprarr,intarr,iout,jdtset_,2,marr,1,narrm,ncid,ndtset_alloc,str_hyb,'DPR',0)
    1774                 :             :    end if
    1775                 :             :  end do
    1776                 :             : 
    1777                 :             : !###########################################################
    1778                 :             : !## Deallocation for generic arrays, and for n-z variables
    1779                 :             : 
    1780         [ -  + ]:        4528 :  ABI_FREE(dprarr)
    1781         [ -  + ]:        4528 :  ABI_FREE(intarr)
    1782         [ -  + ]:        4528 :  ABI_FREE(narrm)
    1783         [ -  + ]:        4528 :  ABI_FREE(nimagem)
    1784         [ -  + ]:        4528 :  ABI_FREE(dprarr_images)
    1785         [ -  + ]:        4528 :  ABI_FREE(prtimg)
    1786                 :             : 
    1787                 :        4528 : end subroutine outvar_a_h
    1788                 :             : !!***
    1789                 :             : 
    1790                 :             : end module m_outvar_a_h
    1791                 :             : !!***
        

Generated by: LCOV version 2.3-1