Skip to content
Snippets Groups Projects
Commit 1ad2e6a1 authored by RODIER Quentin's avatar RODIER Quentin
Browse files

Quentin 27/07/2022: bugfix LOCEAN non bit-repro : forgot to merge prandtl subroutine

parent fe810749
No related branches found
No related tags found
No related merge requests found
......@@ -261,15 +261,22 @@ IF (.NOT. LHARAT) THEN
!
! 1.3 1D Redelsperger numbers
!
PBLL_O_E(:,:,:) = MZM(XG / PTHVREF(:,:,:) * PLM(:,:,:) * PLEPS(:,:,:) / PTKEM(:,:,:), KKA, KKU, KKL)
IF (KRR /= 0) THEN ! moist case
PREDTH1(:,:,:)= XCTV*PBLL_O_E(:,:,:) * PETHETA(:,:,:) * &
& GZ_M_W(KKA, KKU, KKL,PTHLM,PDZZ)
PREDR1(:,:,:) = XCTV*PBLL_O_E(:,:,:) * PEMOIST(:,:,:) * &
& GZ_M_W(KKA, KKU, KKL,PRM(:,:,:,1),PDZZ)
ELSE ! dry case
PREDTH1(:,:,:)= XCTV*PBLL_O_E(:,:,:) * GZ_M_W(KKA, KKU, KKL,PTHLM,PDZZ)
IF (OOCEAN) THEN
PBLL_O_E(:,:,:) = MZM(XG *XALPHAOC* PLM(:,:,:) * PLEPS(:,:,:) / PTKEM(:,:,:),KKA, KKU, KKL )
PREDTH1(:,:,:)= XCTV*PBLL_O_E(:,:,:) * GZ_M_W(KKA,KKU,KKL,PTHLM,PDZZ)
PREDR1(:,:,:) = 0.
ELSE
PBLL_O_E(:,:,:) = MZM(XG / PTHVREF(:,:,:) * PLM(:,:,:) * PLEPS(:,:,:) / PTKEM(:,:,:), KKA, KKU, KKL)
IF (KRR /= 0) THEN ! moist case
PREDTH1(:,:,:)= XCTV*PBLL_O_E(:,:,:) * PETHETA(:,:,:) * &
& GZ_M_W(KKA, KKU, KKL,PTHLM,PDZZ)
PREDR1(:,:,:) = XCTV*PBLL_O_E(:,:,:) * PEMOIST(:,:,:) * &
& GZ_M_W(KKA, KKU, KKL,PRM(:,:,:,1),PDZZ)
ELSE ! dry case
PREDTH1(:,:,:)= XCTV*PBLL_O_E(:,:,:) * GZ_M_W(KKA, KKU, KKL,PTHLM,PDZZ)
PREDR1(:,:,:) = 0.
END IF
!
END IF
!
! 3. Limits on 1D Redelperger numbers
......@@ -422,52 +429,68 @@ DO JSV=1,ISV
!
ELSE IF (L2D) THEN ! 3D case in a 2D model
!
IF (KRR /= 0) THEN
ZW1 = MZM((XG / PTHVREF * PLM * PLEPS / PTKEM)**2, KKA, KKU, KKL) *PETHETA
ELSE
ZW1 = MZM((XG / PTHVREF * PLM * PLEPS / PTKEM)**2, KKA, KKU, KKL)
END IF
PRED2THS3(:,:,:,JSV) = PREDTH1(:,:,:) * PREDS1(:,:,:,JSV) + &
ZW1* &
MZM(GX_M_M(PSVM(:,:,:,JSV),PDXX,PDZZ,PDZX, KKA, KKU, KKL)* &
GX_M_M(PTHLM,PDXX,PDZZ,PDZX, KKA, KKU, KKL), &
KKA, KKU, KKL)
!
IF (KRR /= 0) THEN
PRED2RS3(:,:,:,JSV) = PREDR1(:,:,:) * PREDS1(:,:,:,JSV) + &
ZW1 * PEMOIST * &
MZM(GX_M_M(PSVM(:,:,:,JSV),PDXX,PDZZ,PDZX, KKA, KKU, KKL)* &
GX_M_M(PRM(:,:,:,1),PDXX,PDZZ,PDZX, KKA, KKU, KKL), &
KKA, KKU, KKL)
IF (OOCEAN) THEN
IF (KRR /= 0) THEN
ZW1 = MZM((XG *XALPHAOC * PLM * PLEPS / PTKEM)**2, KKA, KKU, KKL) *PETHETA
ELSE
ZW1 = MZM((XG *XALPHAOC * PLM * PLEPS / PTKEM)**2, KKA, KKU, KKL)
END IF
ELSE
PRED2RS3(:,:,:,JSV) = 0.
IF (KRR /= 0) THEN
ZW1 = MZM( (XG / PTHVREF * PLM * PLEPS / PTKEM)**2 ) *PETHETA
ELSE
ZW1 = MZM( (XG / PTHVREF * PLM * PLEPS / PTKEM)**2)
END IF
PRED2THS3(:,:,:,JSV) = PREDTH1(:,:,:) * PREDS1(:,:,:,JSV) + &
ZW1* &
MZM(GX_M_M(PSVM(:,:,:,JSV),PDXX,PDZZ,PDZX, KKA, KKU, KKL)* &
GX_M_M(PTHLM,PDXX,PDZZ,PDZX, KKA, KKU, KKL), &
KKA, KKU, KKL)
!
IF (KRR /= 0) THEN
PRED2RS3(:,:,:,JSV) = PREDR1(:,:,:) * PREDS1(:,:,:,JSV) + &
ZW1 * PEMOIST * &
MZM(GX_M_M(PSVM(:,:,:,JSV),PDXX,PDZZ,PDZX, KKA, KKU, KKL)* &
GX_M_M(PRM(:,:,:,1),PDXX,PDZZ,PDZX, KKA, KKU, KKL), &
KKA, KKU, KKL)
ELSE
PRED2RS3(:,:,:,JSV) = 0.
END IF
END IF
!
ELSE ! 3D case in a 3D model
!
IF (KRR /= 0) THEN
ZW1 = MZM((XG / PTHVREF * PLM * PLEPS / PTKEM)**2, KKA, KKU, KKL) *PETHETA
ELSE
ZW1 = MZM((XG / PTHVREF * PLM * PLEPS / PTKEM)**2, KKA, KKU, KKL)
END IF
PRED2THS3(:,:,:,JSV) = PREDTH1(:,:,:) * PREDS1(:,:,:,JSV) + &
ZW1* &
MZM(GX_M_M(PSVM(:,:,:,JSV),PDXX,PDZZ,PDZX, KKA, KKU, KKL)* &
GX_M_M(PTHLM,PDXX,PDZZ,PDZX, KKA, KKU, KKL) &
+GY_M_M(PSVM(:,:,:,JSV),PDYY,PDZZ,PDZY, KKA, KKU, KKL)* &
GY_M_M(PTHLM,PDYY,PDZZ,PDZY, KKA, KKU, KKL), &
KKA, KKU, KKL)
!
IF (KRR /= 0) THEN
PRED2RS3(:,:,:,JSV) = PREDR1(:,:,:) * PREDS1(:,:,:,JSV) + &
ZW1 * PEMOIST * &
MZM(GX_M_M(PSVM(:,:,:,JSV),PDXX,PDZZ,PDZX, KKA, KKU, KKL)* &
GX_M_M(PRM(:,:,:,1),PDXX,PDZZ,PDZX, KKA, KKU, KKL) &
+GY_M_M(PSVM(:,:,:,JSV),PDYY,PDZZ,PDZY, KKA, KKU, KKL)* &
GY_M_M(PRM(:,:,:,1),PDYY,PDZZ,PDZY, KKA, KKU, KKL), &
KKA, KKU, KKL)
ELSE
PRED2RS3(:,:,:,JSV) = 0.
IF (OOCEAN) THEN
IF (KRR /= 0) THEN
ZW1 = MZM((XG *XALPHAOC * PLM * PLEPS / PTKEM)**2, KKA, KKU, KKL) *PETHETA
ELSE
ZW1 = MZM((XG *XALPHAOC * PLM * PLEPS / PTKEM)**2, KKA, KKU, KKL)
END IF
ELSE
IF (KRR /= 0) THEN
ZW1 = MZM((XG / PTHVREF * PLM * PLEPS / PTKEM)**2, KKA, KKU, KKL) *PETHETA
ELSE
ZW1 = MZM((XG / PTHVREF * PLM * PLEPS / PTKEM)**2, KKA, KKU, KKL)
END IF
PRED2THS3(:,:,:,JSV) = PREDTH1(:,:,:) * PREDS1(:,:,:,JSV) + &
ZW1* &
MZM(GX_M_M(PSVM(:,:,:,JSV),PDXX,PDZZ,PDZX, KKA, KKU, KKL)* &
GX_M_M(PTHLM,PDXX,PDZZ,PDZX, KKA, KKU, KKL) &
+GY_M_M(PSVM(:,:,:,JSV),PDYY,PDZZ,PDZY, KKA, KKU, KKL)* &
GY_M_M(PTHLM,PDYY,PDZZ,PDZY, KKA, KKU, KKL), &
KKA, KKU, KKL)
!
IF (KRR /= 0) THEN
PRED2RS3(:,:,:,JSV) = PREDR1(:,:,:) * PREDS1(:,:,:,JSV) + &
ZW1 * PEMOIST * &
MZM(GX_M_M(PSVM(:,:,:,JSV),PDXX,PDZZ,PDZX, KKA, KKU, KKL)* &
GX_M_M(PRM(:,:,:,1),PDXX,PDZZ,PDZX, KKA, KKU, KKL) &
+GY_M_M(PSVM(:,:,:,JSV),PDYY,PDZZ,PDZY, KKA, KKU, KKL)* &
GY_M_M(PRM(:,:,:,1),PDYY,PDZZ,PDZY, KKA, KKU, KKL), &
KKA, KKU, KKL)
ELSE
PRED2RS3(:,:,:,JSV) = 0.
END IF
END IF
!
END IF ! end of HTURBDIM if-block
......
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