next up previous contents
Next: to_upper Up: Fortran: Module Interface clm_mct_mod Previous: mct_aVect_putRAttr   Contents

mct_aVect_accum - accumulate attributes from one aVect to another

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.


      2002 Sep 15 - ? - initial version.
 subroutine mct_aVect_accum(aVin, rList, TrList, iList, TiList, aVout)
    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
    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

Erik Kluzek 2011-06-15