Skip to content
Snippets Groups Projects
Commit 33144066 authored by WAUTELET Philippe's avatar WAUTELET Philippe
Browse files

Philippe 17/02/2021: budgets: add DRIFT and CORAY terms for electricity

(cherry picked from commit 46b0ca709cc4b71ea5b7cbb9742259bc8278d9fd)
parent 16568a42
No related branches found
No related tags found
No related merge requests found
...@@ -3940,6 +3940,12 @@ ELSEIF (JSV >= NSV_ELECBEG .AND. JSV <= NSV_ELECEND) THEN ...@@ -3940,6 +3940,12 @@ ELSEIF (JSV >= NSV_ELECBEG .AND. JSV <= NSV_ELECEND) THEN
YWORK2(12+JSV,ILAST_PROC_NBR)= 'NEGA_' YWORK2(12+JSV,ILAST_PROC_NBR)= 'NEGA_'
IPROACTV(12+JSV,ILAST_PROC_NBR) = NNEGASV IPROACTV(12+JSV,ILAST_PROC_NBR) = NNEGASV
ILAST_PROC_NBR = ILAST_PROC_NBR + 1 ILAST_PROC_NBR = ILAST_PROC_NBR + 1
YWORK2(12+JSV,ILAST_PROC_NBR)= 'DRIFT_'
IPROACTV(12+JSV,ILAST_PROC_NBR) = NDRIFTQV
ILAST_PROC_NBR = ILAST_PROC_NBR + 1
YWORK2(12+JSV,ILAST_PROC_NBR)= 'CORAY_'
IPROACTV(12+JSV,ILAST_PROC_NBR) = NCORAYQV
ILAST_PROC_NBR = ILAST_PROC_NBR + 1
YWORK2(12+JSV,ILAST_PROC_NBR) = 'DEPS_' YWORK2(12+JSV,ILAST_PROC_NBR) = 'DEPS_'
IPROACTV(12+JSV,ILAST_PROC_NBR) = NDEPSQV IPROACTV(12+JSV,ILAST_PROC_NBR) = NDEPSQV
ILAST_PROC_NBR = ILAST_PROC_NBR + 1 ILAST_PROC_NBR = ILAST_PROC_NBR + 1
...@@ -4189,6 +4195,12 @@ ELSEIF (JSV >= NSV_ELECBEG .AND. JSV <= NSV_ELECEND) THEN ...@@ -4189,6 +4195,12 @@ ELSEIF (JSV >= NSV_ELECBEG .AND. JSV <= NSV_ELECEND) THEN
YWORK2(12+JSV,ILAST_PROC_NBR)= 'NEGA_' YWORK2(12+JSV,ILAST_PROC_NBR)= 'NEGA_'
IPROACTV(12+JSV,ILAST_PROC_NBR) = NNEGASV IPROACTV(12+JSV,ILAST_PROC_NBR) = NNEGASV
IF ( HCLOUD == 'ICE3' ) THEN IF ( HCLOUD == 'ICE3' ) THEN
ILAST_PROC_NBR = ILAST_PROC_NBR + 1
YWORK2(12+JSV,ILAST_PROC_NBR)= 'DRIFT_'
IPROACTV(12+JSV,ILAST_PROC_NBR) = NDRIFTNI
ILAST_PROC_NBR = ILAST_PROC_NBR + 1
YWORK2(12+JSV,ILAST_PROC_NBR)= 'CORAY_'
IPROACTV(12+JSV,ILAST_PROC_NBR) = NCORAYNI
ILAST_PROC_NBR = ILAST_PROC_NBR + 1 ILAST_PROC_NBR = ILAST_PROC_NBR + 1
YWORK2(12+JSV,ILAST_PROC_NBR) = 'DEPS_' YWORK2(12+JSV,ILAST_PROC_NBR) = 'DEPS_'
IPROACTV(12+JSV,ILAST_PROC_NBR) = NDEPSNI IPROACTV(12+JSV,ILAST_PROC_NBR) = NDEPSNI
...@@ -4228,6 +4240,12 @@ ELSEIF (JSV >= NSV_ELECBEG .AND. JSV <= NSV_ELECEND) THEN ...@@ -4228,6 +4240,12 @@ ELSEIF (JSV >= NSV_ELECBEG .AND. JSV <= NSV_ELECEND) THEN
YWORK2(12+JSV,ILAST_PROC_NBR)= 'NEGA_' YWORK2(12+JSV,ILAST_PROC_NBR)= 'NEGA_'
IPROACTV(12+JSV,ILAST_PROC_NBR) = NNEGASV IPROACTV(12+JSV,ILAST_PROC_NBR) = NNEGASV
ILAST_PROC_NBR = ILAST_PROC_NBR + 1 ILAST_PROC_NBR = ILAST_PROC_NBR + 1
YWORK2(12+JSV,ILAST_PROC_NBR)= 'DRIFT_'
IPROACTV(12+JSV,ILAST_PROC_NBR) = NDRIFTNI
ILAST_PROC_NBR = ILAST_PROC_NBR + 1
YWORK2(12+JSV,ILAST_PROC_NBR)= 'CORAY_'
IPROACTV(12+JSV,ILAST_PROC_NBR) = NCORAYNI
ILAST_PROC_NBR = ILAST_PROC_NBR + 1
YWORK2(12+JSV,ILAST_PROC_NBR) = 'DEPS_' YWORK2(12+JSV,ILAST_PROC_NBR) = 'DEPS_'
IPROACTV(12+JSV,ILAST_PROC_NBR) = NDEPSNI IPROACTV(12+JSV,ILAST_PROC_NBR) = NDEPSNI
ILAST_PROC_NBR = ILAST_PROC_NBR + 1 ILAST_PROC_NBR = ILAST_PROC_NBR + 1
......
...@@ -603,6 +603,8 @@ INTEGER, SAVE :: NNEADVSV ! negative correction ...@@ -603,6 +603,8 @@ INTEGER, SAVE :: NNEADVSV ! negative correction
INTEGER, SAVE :: NNECONSV ! negative correction INTEGER, SAVE :: NNECONSV ! negative correction
! !
! Allowed processes for the budget of electric charge carried by water vapor ! Allowed processes for the budget of electric charge carried by water vapor
INTEGER, SAVE :: NDRIFTQV
INTEGER, SAVE :: NCORAYQV
INTEGER, SAVE :: NDEPSQV INTEGER, SAVE :: NDEPSQV
INTEGER, SAVE :: NDEPGQV INTEGER, SAVE :: NDEPGQV
INTEGER, SAVE :: NREVAQV INTEGER, SAVE :: NREVAQV
...@@ -691,6 +693,8 @@ INTEGER, SAVE :: NHMLTQH ...@@ -691,6 +693,8 @@ INTEGER, SAVE :: NHMLTQH
INTEGER, SAVE :: NNEUTQH INTEGER, SAVE :: NNEUTQH
! !
! Allowed processes for the budget of electric charge carried by negative ions ! Allowed processes for the budget of electric charge carried by negative ions
INTEGER, SAVE :: NDRIFTNI
INTEGER, SAVE :: NCORAYNI
INTEGER, SAVE :: NDEPSNI INTEGER, SAVE :: NDEPSNI
INTEGER, SAVE :: NDEPGNI INTEGER, SAVE :: NDEPGNI
INTEGER, SAVE :: NREVANI INTEGER, SAVE :: NREVANI
......
...@@ -309,19 +309,19 @@ NAMELIST/NAM_BU_RRH/LBU_RRH, NASSERH, NNESTRH, NVISCRH, NADVRH, NFRCRH, & ...@@ -309,19 +309,19 @@ NAMELIST/NAM_BU_RRH/LBU_RRH, NASSERH, NNESTRH, NVISCRH, NADVRH, NFRCRH, &
NAMELIST/NAM_BU_RSV/ LBU_RSV, NASSESV, NNESTSV, NVISCSV, NADVSV, NFRCSV, & NAMELIST/NAM_BU_RSV/ LBU_RSV, NASSESV, NNESTSV, NVISCSV, NADVSV, NFRCSV, &
NDIFSV, NRELSV, NDCONVSV, NVTURBSV, NHTURBSV, NCHEMSV, NMAFLSV, & NDIFSV, NRELSV, NDCONVSV, NVTURBSV, NHTURBSV, NCHEMSV, NMAFLSV, &
NNEGASV, NNETURSV, NNEADVSV, NNECONSV, & NNEGASV, NNETURSV, NNEADVSV, NNECONSV, &
NDEPSQV, NDEPGQV, NREVAQV, NCDEPIQV, NNEUTQV, & NDRIFTQV, NCORAYQV, NDEPSQV, NDEPGQV, NREVAQV, NCDEPIQV, NNEUTQV, &
NHONQC, NAUTOQC, NACCRQC, NRIMQC, NWETGQC, NDRYGQC, NINCGQC, & NHONQC, NAUTOQC, NACCRQC, NRIMQC, NWETGQC, NDRYGQC, NINCGQC, &
NWETHQC, NIMLTQC, NBERFIQC, NCDEPIQC, NSEDIQC, NNEUTQC, & NWETHQC, NIMLTQC, NBERFIQC, NCDEPIQC, NSEDIQC, NNEUTQC, &
NSFRQR, NAUTOQR, NACCRQR, NREVAQR, NACCQR, NCFRZQR, NWETGQR, & NSFRQR, NAUTOQR, NACCRQR, NREVAQR, NACCQR, NCFRZQR, NWETGQR, &
NDRYGQR, NWETHQR, NHMLTQR, NGMLTQR, NSEDIQR, NNEUTQR, & NDRYGQR, NWETHQR, NHMLTQR, NGMLTQR, NSEDIQR, NNEUTQR, &
NHONQI, NAGGSQI, NAUTSQI, NCFRZQI, NWETGQI, NDRYGQI, NWETHQI, & NHONQI, NAGGSQI, NAUTSQI, NCFRZQI, NWETGQI, NDRYGQI, NWETHQI, &
NIMLTQI, NBERFIQI, NCDEPIQI, NNIISQI, NSEDIQI, NNEUTQI, & NIMLTQI, NBERFIQI, NCDEPIQI, NNIISQI, NSEDIQI, NNEUTQI, &
NDEPSQS, NAGGSQS, NAUTSQS, NRIMQS, NACCQS, NCMELQS, NWETGQS, & NDEPSQS, NAGGSQS, NAUTSQS, NRIMQS, NACCQS, NCMELQS, NWETGQS, &
NDRYGQS, NWETHQS, NNIISQS, NSEDIQS, NNEUTQS, & NDRYGQS, NWETHQS, NNIISQS, NSEDIQS, NNEUTQS, &
NSFRQG, NDEPGQG, NRIMQG, NACCQG, NCMELQG, NCFRZQG, NWETGQG, & NSFRQG, NDEPGQG, NRIMQG, NACCQG, NCMELQG, NCFRZQG, NWETGQG, &
NDRYGQG, NINCGQG, NWETHQG, NGMLTQG, NSEDIQG, NNEUTQG, & NDRYGQG, NINCGQG, NWETHQG, NGMLTQG, NSEDIQG, NNEUTQG, &
NSEDIQH, NWETGQH, NWETHQH, NHMLTQH, NNEUTQH, & NSEDIQH, NWETGQH, NWETHQH, NHMLTQH, NNEUTQH, &
NDEPSNI, NDEPGNI, NREVANI, NCDEPINI, NNEUTNI, & NDRIFTNI, NCORAYNI, NDEPSNI, NDEPGNI, NREVANI, NCDEPINI, NNEUTNI, &
NDEPOTRSV NDEPOTRSV
! !
END MODULE MODN_BUDGET END MODULE MODN_BUDGET
...@@ -170,6 +170,7 @@ END MODULE MODI_RESOLVED_ELEC_n ...@@ -170,6 +170,7 @@ END MODULE MODI_RESOLVED_ELEC_n
! P. Wautelet 22/01/2019: use standard FLUSH statement instead of non standard intrinsics ! P. Wautelet 22/01/2019: use standard FLUSH statement instead of non standard intrinsics
! P. Wautelet 14/03/2019: bugfix: correct management of files ! P. Wautelet 14/03/2019: bugfix: correct management of files
! P. Wautelet 12/02/2021: bugfix: change STATUS for opening files containing flash information (NEW->UNKNOWN) ! 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 !* 0. DECLARATIONS
...@@ -656,9 +657,13 @@ CALL MYPROC_ELEC_ll (IPROC) ...@@ -656,9 +657,13 @@ CALL MYPROC_ELEC_ll (IPROC)
! !
CALL ION_DRIFT(ZCPH, ZCOR, PSVT, HLBCX, HLBCY) CALL ION_DRIFT(ZCPH, ZCOR, PSVT, HLBCX, HLBCY)
PSVS(:,:,:,NSV_ELECBEG) = PSVS(:,:,:,NSV_ELECBEG) + ZCPH(:,:,:) PSVS(:,:,:,NSV_ELECBEG) = PSVS(:,:,:,NSV_ELECBEG) + ZCPH(:,:,:)
PSVS(:,:,:,NSV_ELECEND) = PSVS(:,:,:,NSV_ELECEND) + ZCOR(:,:,:) PSVS(:,:,:,NSV_ELECEND) = PSVS(:,:,:,NSV_ELECEND) + ZCOR(:,:,:)
IF (LBUDGET_SV) THEN
CALL BUDGET (PSVS(:,:,:,NSV_ELECBEG) * PRHODJ(:,:,:), 12+NSV_ELECBEG, 'DRIFT_BU_RSV')
CALL BUDGET (PSVS(:,:,:,NSV_ELECEND) * PRHODJ(:,:,:), 12+NSV_ELECEND, 'DRIFT_BU_RSV')
END IF
! !
!* 4.3 Add Cosmic Ray source !* 4.3 Add Cosmic Ray source
! !
...@@ -666,6 +671,11 @@ PSVS(:,:,:,NSV_ELECBEG) = PSVS(:,:,:,NSV_ELECBEG) + & ...@@ -666,6 +671,11 @@ PSVS(:,:,:,NSV_ELECBEG) = PSVS(:,:,:,NSV_ELECBEG) + &
XIONSOURCEFW(:,:,:) / PRHODREF(:,:,:) XIONSOURCEFW(:,:,:) / PRHODREF(:,:,:)
PSVS(:,:,:,NSV_ELECEND) = PSVS(:,:,:,NSV_ELECEND) + & PSVS(:,:,:,NSV_ELECEND) = PSVS(:,:,:,NSV_ELECEND) + &
XIONSOURCEFW(:,:,:) / PRHODREF(:,:,:) XIONSOURCEFW(:,:,:) / PRHODREF(:,:,:)
IF (LBUDGET_SV) THEN
CALL BUDGET (PSVS(:,:,:,NSV_ELECBEG) * PRHODJ(:,:,:), 12+NSV_ELECBEG, 'CORAY_BU_RSV')
CALL BUDGET (PSVS(:,:,:,NSV_ELECEND) * PRHODJ(:,:,:), 12+NSV_ELECEND, 'CORAY_BU_RSV')
END IF
! !
!------------------------------------------------------------------------------- !-------------------------------------------------------------------------------
! !
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment