Skip to content
Snippets Groups Projects
Commit dca5f90d authored by VIE Benoit's avatar VIE Benoit
Browse files

bugfix sedimentation (init pfpr + size zwsedr) & init zri_in in lima_adjust_split

parent cb83db65
Branches
Tags
No related merge requests found
......@@ -694,7 +694,7 @@ if ( BUCONF%lbu_enable ) then
call BUDGET_STORE_INIT_PHY(D, TBUDGETS(NBUDGET_SV1 - 1 + nsv_lima_nh), 'SEDI', zchs(:, :, :) * prhodj(:, :, :) )
end if
end if
PFPR(:,:,:,:)=0.
ZRT_SUM = (ZRVS + ZRCS + ZRRS + ZRIS + ZRSS + ZRGS + ZRHS)*PTSTEP
ZCPT = CST%XCPD + (CST%XCPV * ZRVS + CST%XCL * (ZRCS + ZRRS) + CST%XCI * (ZRIS + ZRSS + ZRGS + ZRHS))*PTSTEP
IF (NMOM_C.GE.1 .AND. LSEDC) CALL LIMA_SEDIMENTATION(D, CST, &
......
......@@ -501,12 +501,10 @@ DO JITER =1,ITERMAX
!* 3. FIRST ORDER SUBGRID CONDENSATION SCHEME
! ---------------------------------------
!
ZRV=PRVS*PTSTEP
ZRC=PRCS*PTSTEP
ZRV_IN=PRVS*PTSTEP
ZRV2=PRVT
ZRC_IN=PRCS*PTSTEP
ZRC2=PRCT
ZRV_IN=ZRV
ZRC_IN=ZRC
IF (NMOM_I.EQ.1) THEN
ZRI_IN=PRIS*PTSTEP
GUSERI=.TRUE.
......
......@@ -122,9 +122,10 @@ LOGICAL, DIMENSION(SIZE(PRHODREF,1),SIZE(PRHODREF,2),SIZE(PRHODREF,3)) &
:: GSEDIM ! Test where to compute the SED processes
REAL, DIMENSION(SIZE(PRHODREF,1),SIZE(PRHODREF,2),SIZE(PRHODREF,3)) &
:: ZW, & ! Work array
ZWSEDR, & ! Sedimentation of MMR
ZWSEDC, & ! Sedimentation of number conc.
ZWDT ! Temperature change
REAL, DIMENSION(D%NIT,D%NJT,0:D%NKT+1) &
:: ZWSEDR, & ! Sedimentation of MMR
ZWSEDC ! Sedimentation of number conc.
!
REAL, DIMENSION(:), ALLOCATABLE &
:: ZRS, & ! m.r. source
......@@ -155,7 +156,8 @@ ZTSPLITG= PTSTEP / REAL(NSPLITSED(KID))
!
ZWDT=0.
PINPR(:,:) = 0.
PFPR(:,:,:) = 0.
ZWSEDR(:,:,:) = 0.
ZWSEDC(:,:,:) = 0.
!
PRS(:,:,:) = PRS(:,:,:) * PTSTEP
IF (KMOMENTS==2) PCS(:,:,:) = PCS(:,:,:) * PTSTEP
......@@ -233,10 +235,10 @@ DO JN = 1 , NSPLITSED(KID)
ZZX(:) = ZCC(:) * ZZX(:)
END IF
ZWSEDR(:,:,:) = UNPACK( ZZW(:),MASK=GSEDIM(:,:,:),FIELD=0.0 )
ZWSEDR(:,:,1:D%NKT) = UNPACK( ZZW(:),MASK=GSEDIM(:,:,:),FIELD=0.0 )
ZWSEDR(:,:,D%NKTB:D%NKTE) = MIN( ZWSEDR(:,:,D%NKTB:D%NKTE), PRS(:,:,D%NKTB:D%NKTE) * PRHODREF(:,:,D%NKTB:D%NKTE) / ZW(:,:,D%NKTB:D%NKTE) )
IF (KMOMENTS==2) THEN
ZWSEDC(:,:,:) = UNPACK( ZZX(:),MASK=GSEDIM(:,:,:),FIELD=0.0 )
ZWSEDC(:,:,1:D%NKT) = UNPACK( ZZX(:),MASK=GSEDIM(:,:,:),FIELD=0.0 )
ZWSEDC(:,:,D%NKTB:D%NKTE) = MIN( ZWSEDC(:,:,D%NKTB:D%NKTE), PCS(:,:,D%NKTB:D%NKTE) * PRHODREF(:,:,D%NKTB:D%NKTE) / ZW(:,:,D%NKTB:D%NKTE) )
END IF
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment