00001 subroutine source_MWspatial_WL(souvec)
00002   use grid_parameter, only : nrg, ntg, npg
00003   use interface_sourceterm_MWspatial_current_CF
00004   use interface_sourceterm_MWspatial_current_WL
00005   use interface_sourceterm_MWspatial_CF
00006   use interface_sourceterm_MWspatial_WL
00007   use make_array_4d
00008   implicit none
00009   real(8), pointer :: souvec(:,:,:,:)
00010   real(8), pointer :: souvec1(:,:,:,:), souvec2(:,:,:,:), 
00011                      souvec3(:,:,:,:), souvec4(:,:,:,:)
00012 
00013   call alloc_array4d(souvec1,0,nrg,0,ntg,0,npg,1,3)
00014   call alloc_array4d(souvec2,0,nrg,0,ntg,0,npg,1,3)
00015   call alloc_array4d(souvec3,0,nrg,0,ntg,0,npg,1,3)
00016   call alloc_array4d(souvec4,0,nrg,0,ntg,0,npg,1,3)
00017 
00018   call sourceterm_MWspatial_current_CF(souvec1)
00019   call sourceterm_MWspatial_current_WL(souvec2)
00020   call sourceterm_MWspatial_CF(souvec3)
00021   call sourceterm_MWspatial_WL(souvec4)
00022   souvec(0:nrg,0:ntg,0:npg,1:3) = souvec1(0:nrg,0:ntg,0:npg,1:3) &
00023   &                             + souvec2(0:nrg,0:ntg,0:npg,1:3) &
00024   &                             + souvec3(0:nrg,0:ntg,0:npg,1:3) &
00025   &                             + souvec4(0:nrg,0:ntg,0:npg,1:3)
00026 
00027   deallocate(souvec1)
00028   deallocate(souvec2)
00029   deallocate(souvec3)
00030   deallocate(souvec4)
00031 
00032 
00033 
00034 
00035 
00036 
00037 
00038 
00039 
00040 
00041 
00042 end subroutine source_MWspatial_WL