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 % 1023 995
Test Date: 2026-11-11 19:49:02 Functions: 100.0 % 1 1
Branches: 91.5 % 1324 1212

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

Generated by: LCOV version 2.3-1