This routine accumulates from input argment aVin into the output AttrVect argument aVout the real and integer attributes specified in input CHARACTER argument iList and rList. The attributes can be listed in any order. If neither iList nor rList are provided, all attributes shared between aVin and aVout will be copied.
If any attributes in aVout have different names but represent the the same quantity and should still be copied, you must provide a translation argument TrList and/or TiList. The translation arguments should be identical to the rList or iList but with the correct aVout name subsititued at the appropriate place.
N.B.: This routine will fail if the aVout is not initialized or if any of the specified attributes are not present in either aVout or aVin.
REVISION HISTORY:
2002 Sep 15 - ? - initial version.INTERFACE:
subroutine mct_aVect_accum(aVin, rList, TrList, iList, TiList, aVout)USES:
use m_die , only : die
use m_stdio , only : stderr
use m_String , only : String_toChar => toChar
use m_String , only : String
use m_String , only : String_init
use m_String , only : String_clean => clean
use m_List , only : List
use m_List, only : List_get => get
use m_List, only : List_nullify => nullify
use m_List, only : List_clean => clean
use m_List, only : init,nitem
use m_AttrVect, only : AttrVect
use m_AttrVect, only : lsize
use m_AttrVect, only : SharedAttrIndexList
implicit none
INPUT/OUTPUT PARAMETERS
type(AttrVect) ,intent(in) :: aVin
character(*), optional,intent(in) :: iList
character(*), optional,intent(in) :: rList
character(*), optional,intent(in) :: TiList
character(*), optional,intent(in) :: TrList
type(AttrVect) ,intent(inout) :: aVout