copy_bundle_to_bundle Subroutine

subroutine copy_bundle_to_bundle(input_bundle, output_bundle, rc)

Arguments

Type IntentOptional Attributes Name
type(ESMF_FieldBundle), intent(inout) :: input_bundle
type(ESMF_FieldBundle), intent(inout) :: output_bundle
integer, intent(out), optional :: rc

Calls

proc~~copy_bundle_to_bundle~~CallsGraph proc~copy_bundle_to_bundle copy_bundle_to_bundle esmf_fieldbundleget esmf_fieldbundleget proc~copy_bundle_to_bundle->esmf_fieldbundleget interface~mapl_fieldbundleadd MAPL_FieldBundleAdd proc~copy_bundle_to_bundle->interface~mapl_fieldbundleadd proc~mapl_abort MAPL_abort proc~copy_bundle_to_bundle->proc~mapl_abort proc~mapl_verify MAPL_Verify proc~copy_bundle_to_bundle->proc~mapl_verify mpi_abort mpi_abort proc~mapl_abort->mpi_abort proc~mapl_throw_exception MAPL_throw_exception proc~mapl_verify->proc~mapl_throw_exception

Called by

proc~~copy_bundle_to_bundle~~CalledByGraph proc~copy_bundle_to_bundle copy_bundle_to_bundle program~time_ave time_ave program~time_ave->proc~copy_bundle_to_bundle

Source Code

   subroutine copy_bundle_to_bundle(input_bundle,output_bundle,rc)
      type(ESMF_FieldBundle), intent(inout) :: input_bundle
      type(ESMF_FieldBundle), intent(inout) :: output_bundle
      integer, intent(out), optional :: rc
      integer :: status
      character(len=ESMF_MAXSTR), allocatable :: field_list(:)
      type(ESMF_Field) :: field
      integer :: i,num_fields
      call ESMF_FieldBundleGet(input_bundle,fieldCount=num_fields,_RC)
      allocate(field_list(num_fields))
      call ESMF_FieldBundleGet(input_bundle,fieldNameList=field_list,_RC)
      do i=1,num_fields
         call ESMF_FieldBundleGet(input_bundle,field_list(i),field=field,_RC)
         call MAPL_FieldBundleAdd(output_bundle,field,_RC)
      enddo
      if (present(rc)) then
         RC=_SUCCESS
      end if
   end subroutine copy_bundle_to_bundle