diff --git a/src/MNH/ini_budget.f90 b/src/MNH/ini_budget.f90
index dbb3c54795d13c64e667bc49500e6c6533272cbd..fc7d602d63e5d6b1f96e0de4bbb4366e479bb632 100644
--- a/src/MNH/ini_budget.f90
+++ b/src/MNH/ini_budget.f90
@@ -3373,6 +3373,16 @@ SV_BUDGETS: do jsv = 1, ksv
       SV_ELEC: select case( jsv - nsv_elecbeg + 1 )
         case ( 1 ) SV_ELEC
           ! volumetric charge of water vapor
+          gcond = .true.
+          tzsource%cmnhname  = 'DRIFT'
+          tzsource%clongname = 'ion drift motion'
+          call Budget_source_add( tbudgets(ibudget), tzsource, gcond, ndriftqv )
+
+          gcond = .true.
+          tzsource%cmnhname  = 'CORAY'
+          tzsource%clongname = 'cosmic ray source'
+          call Budget_source_add( tbudgets(ibudget), tzsource, gcond, ncorayqv )
+
           gcond = .true.
           tzsource%cmnhname  = 'DEPS'
           tzsource%clongname = 'deposition on snow'
@@ -3764,6 +3774,16 @@ SV_BUDGETS: do jsv = 1, ksv
           else if (      ( hcloud == 'ICE3' .and. ( jsv - nsv_elecbeg + 1 ) == 7 ) &
                     .or. ( hcloud == 'ICE4' .and. ( jsv - nsv_elecbeg + 1 ) == 8 ) ) then
             ! Negative ions (NSV_ELECEND case)
+            gcond = .true.
+            tzsource%cmnhname  = 'DRIFT'
+            tzsource%clongname = 'ion drift motion'
+            call Budget_source_add( tbudgets(ibudget), tzsource, gcond, ndriftni )
+
+            gcond = .true.
+            tzsource%cmnhname  = 'CORAY'
+            tzsource%clongname = 'cosmic ray source'
+            call Budget_source_add( tbudgets(ibudget), tzsource, gcond, ncorayni )
+
             gcond = .true.
             tzsource%cmnhname  = 'DEPS'
             tzsource%clongname = 'deposition on snow'
diff --git a/src/MNH/modd_budget.f90 b/src/MNH/modd_budget.f90
index 50675484cd40c2a46d70f59b5289bc9b9b44b4de..9c5b03aba683a8280ecc884e8532e8c3f7b9db67 100644
--- a/src/MNH/modd_budget.f90
+++ b/src/MNH/modd_budget.f90
@@ -638,6 +638,8 @@ INTEGER, SAVE :: NNEADVSV = 0 ! negative correction
 INTEGER, SAVE :: NNECONSV = 0 ! negative correction
 !
 ! Allowed processes for the budget of electric charge carried by water vapor
+INTEGER, SAVE :: NDRIFTQV  = 0
+INTEGER, SAVE :: NCORAYQV  = 0
 INTEGER, SAVE :: NDEPSQV   = 0
 INTEGER, SAVE :: NDEPGQV   = 0
 INTEGER, SAVE :: NREVAQV   = 0
@@ -726,6 +728,8 @@ INTEGER, SAVE :: NSEDIQH   = 0
 INTEGER, SAVE :: NNEUTQH   = 0
 !
 ! Allowed processes for the budget of electric charge carried by negative ions
+INTEGER, SAVE :: NDRIFTNI  = 0
+INTEGER, SAVE :: NCORAYNI  = 0
 INTEGER, SAVE :: NDEPSNI   = 0
 INTEGER, SAVE :: NDEPGNI   = 0
 INTEGER, SAVE :: NREVANI   = 0
diff --git a/src/MNH/modn_budget.f90 b/src/MNH/modn_budget.f90
index f5761a3aae3d22b325b4ce5fa2e5be84ab9b83e5..85396d8e05241411fd24169db8d4581749b9b9f0 100644
--- a/src/MNH/modn_budget.f90
+++ b/src/MNH/modn_budget.f90
@@ -308,19 +308,19 @@ NAMELIST/NAM_BU_RRH/LBU_RRH, NASSERH, NNESTRH, NADVRH, NFRCRH, &
 NAMELIST/NAM_BU_RSV/ LBU_RSV, NASSESV,  NNESTSV,  NADVSV,   NFRCSV, &
                      NDIFSV,  NRELSV,   NDCONVSV, NVTURBSV, NHTURBSV, NCHEMSV, NMAFLSV,          &
                      NVISCSV, NNEGASV,  NNETURSV, NNEADVSV, NNECONSV,                            &
-                     NDEPSQV, NDEPGQV,  NREVAQV, NCDEPIQV,  NNEUTQV,                             &
-                     NHONQC,  NAUTOQC,  NACCRQC, NRIMQC,    NWETGQC,  NDRYGQC, NINCGQC, NWETHQC, &
-                     NIMLTQC, NBERFIQC, NSEDIQC, NCDEPIQC,  NNEUTQC,                             &
-                     NSFRQR,  NAUTOQR,  NACCRQR, NREVAQR,   NACCQR,   NCFRZQR, NWETGQR, NDRYGQR, &
-                     NGMLTQR, NWETHQR,  NHMLTQR, NSEDIQR,   NNEUTQR,                             &
-                     NHONQI,  NAGGSQI,  NAUTSQI, NCFRZQI,   NWETGQI,  NDRYGQI, NWETHQI,          &
-                     NIMLTQI, NBERFIQI, NNIISQI, NSEDIQI,   NCDEPIQI, NNEUTQI,                   &
-                     NDEPSQS, NAGGSQS,  NAUTSQS, NRIMQS,    NACCQS,   NCMELQS, NWETGQS,          &
-                     NDRYGQS, NNIISQS,  NWETHQS, NSEDIQS,   NNEUTQS,                             &
-                     NSFRQG,  NDEPGQG,  NRIMQG,  NACCQG,    NCMELQG,  NCFRZQG, NWETGQG, NDRYGQG, &
-                     NINCGQG, NGMLTQG,  NWETHQG, NSEDIQG,   NNEUTQG,                             &
-                     NWETGQH, NWETHQH,  NHMLTQH, NSEDIQH,   NNEUTQH,                             &
-                     NDEPSNI, NDEPGNI,  NREVANI, NCDEPINI,  NNEUTNI,                             &
+                     NDRIFTQV, NCORAYQV, NDEPSQV, NDEPGQV,   NREVAQV,  NCDEPIQV, NNEUTQV,          &
+                     NHONQC,   NAUTOQC,  NACCRQC, NRIMQC,    NWETGQC,  NDRYGQC,  NINCGQC, NWETHQC, &
+                     NIMLTQC,  NBERFIQC, NSEDIQC, NCDEPIQC,  NNEUTQC,                              &
+                     NSFRQR,   NAUTOQR,  NACCRQR, NREVAQR,   NACCQR,   NCFRZQR,  NWETGQR, NDRYGQR, &
+                     NGMLTQR,  NWETHQR,  NHMLTQR, NSEDIQR,   NNEUTQR,                              &
+                     NHONQI,   NAGGSQI,  NAUTSQI, NCFRZQI,   NWETGQI,  NDRYGQI,  NWETHQI,          &
+                     NIMLTQI,  NBERFIQI, NNIISQI, NSEDIQI,   NCDEPIQI, NNEUTQI,                    &
+                     NDEPSQS,  NAGGSQS,  NAUTSQS, NRIMQS,    NACCQS,   NCMELQS,  NWETGQS,          &
+                     NDRYGQS,  NNIISQS,  NWETHQS, NSEDIQS,   NNEUTQS,                              &
+                     NSFRQG,   NDEPGQG,  NRIMQG,  NACCQG,    NCMELQG,  NCFRZQG,  NWETGQG, NDRYGQG, &
+                     NINCGQG,  NGMLTQG,  NWETHQG, NSEDIQG,   NNEUTQG,                              &
+                     NWETGQH,  NWETHQH,  NHMLTQH, NSEDIQH,   NNEUTQH,                              &
+                     NDRIFTNI, NCORAYNI, NDEPSNI, NDEPGNI,   NREVANI,  NCDEPINI, NNEUTNI,          &
                      NDEPOTRSV
 !
 END MODULE MODN_BUDGET
diff --git a/src/MNH/resolved_elecn.f90 b/src/MNH/resolved_elecn.f90
index 23a5f120eaae5b7ae7acfd51392eedeffe6e726d..38ca1080bd0cf2ef039f71591c867eca8b7f6b41 100644
--- a/src/MNH/resolved_elecn.f90
+++ b/src/MNH/resolved_elecn.f90
@@ -172,12 +172,13 @@ END MODULE MODI_RESOLVED_ELEC_n
 !  P. Wautelet 14/03/2019: bugfix: correct management of files
 !  P. Wautelet 26/04/2019: replace non-standard FLOAT function by REAL function
 !  P. Wautelet 12/02/2021: bugfix: change STATUS for opening files containing flash information (NEW->UNKNOWN)
+!  P. Wautelet 17/02/2021: budgets: add DRIFT and CORAY terms for electricity
 !-------------------------------------------------------------------------------
 !
 !*       0.    DECLARATIONS
 !              ------------
 !
-use mode_budget,           only: Budget_store_init, Budget_store_end
+use mode_budget,           only: Budget_store_add, Budget_store_init, Budget_store_end
 USE MODE_ELEC_ll
 USE MODE_IO_FILE,          ONLY: IO_File_close, IO_File_open
 USE MODE_IO_MANAGE_STRUCT, ONLY: IO_File_add2list, IO_File_find_byname
@@ -671,9 +672,13 @@ CALL MYPROC_ELEC_ll (IPROC)
 !
 CALL ION_DRIFT(ZCPH, ZCOR, PSVT, HLBCX, HLBCY)
 
-
 PSVS(:,:,:,NSV_ELECBEG) = PSVS(:,:,:,NSV_ELECBEG) + ZCPH(:,:,:)
 PSVS(:,:,:,NSV_ELECEND) = PSVS(:,:,:,NSV_ELECEND) + ZCOR(:,:,:)
+
+if ( lbudget_sv ) then
+  call Budget_store_add( tbudgets(NBUDGET_SV1 - 1 + nsv_elecbeg), 'DRIFT', zcph(:, :, :) * prhodj(:, :, :) )
+  call Budget_store_add( tbudgets(NBUDGET_SV1 - 1 + nsv_elecend), 'DRIFT', zcor(:, :, :) * prhodj(:, :, :) )
+end if
 !
 !*       4.3    Add Cosmic Ray source
 !
@@ -681,6 +686,11 @@ PSVS(:,:,:,NSV_ELECBEG) = PSVS(:,:,:,NSV_ELECBEG) +           &
                               XIONSOURCEFW(:,:,:) / PRHODREF(:,:,:)
 PSVS(:,:,:,NSV_ELECEND) = PSVS(:,:,:,NSV_ELECEND) +           &
                               XIONSOURCEFW(:,:,:) / PRHODREF(:,:,:)
+
+if ( lbudget_sv ) then
+  call Budget_store_add( tbudgets(NBUDGET_SV1 - 1 + nsv_elecbeg), 'CORAY', xionsourcefw(:,:,:)/prhodref(:,:,:) * prhodj(:, :, :) )
+  call Budget_store_add( tbudgets(NBUDGET_SV1 - 1 + nsv_elecend), 'CORAY', xionsourcefw(:,:,:)/prhodref(:,:,:) * prhodj(:, :, :) )
+end if
 !
 !-------------------------------------------------------------------------------
 !