Skip to content
Snippets Groups Projects
Commit 0a7f4fa0 authored by RIETTE Sébastien's avatar RIETTE Sébastien Committed by RODIER Quentin
Browse files

Sébastien Riette 25/01/2022 merge compute_entr_detr

+ compute_bl89_ml as a mode_
parent 2788afb1
No related branches found
No related tags found
No related merge requests found
......@@ -145,4 +145,7 @@ phyex/turb/modi_compute_mf_cloud.F90
phyex/turb/modi_compute_mf_cloud_bigaus.F90
phyex/turb/modi_compute_mf_cloud_direct.F90
phyex/turb/modi_compute_mf_cloud_stat.F90
phyex/turb/compute_bl89_ml.F90
phyex/turb/modi_compute_bl89_ml.F90
phyex/turb/compute_entr_detr.F90
phyex/turb/modi_compute_entr_detr.F90
......@@ -59,11 +59,11 @@ USE MODD_CST
USE MODD_PARAM_MFSHALL_n
USE MODD_TURB_n, ONLY : CTURBLEN
USE MODI_COMPUTE_ENTR_DETR
USE MODE_COMPUTE_ENTR_DETR, ONLY: COMPUTE_ENTR_DETR
USE MODE_TH_R_FROM_THL_RT_1D, ONLY: TH_R_FROM_THL_RT_1D
USE MODI_SHUMAN_MF, ONLY: MZM_MF, MZF_MF, GZ_M_W_MF
USE MODI_COMPUTE_BL89_ML
USE MODE_COMPUTE_BL89_ML, ONLY: COMPUTE_BL89_ML
IMPLICIT NONE
......
......@@ -56,7 +56,7 @@ USE MODD_TURB_n, ONLY : CTURBLEN
USE MODE_TH_R_FROM_THL_RT_1D, ONLY: TH_R_FROM_THL_RT_1D
USE MODI_SHUMAN_MF, ONLY: MZF_MF, MZM_MF, GZ_M_W_MF
USE MODI_COMPUTE_BL89_ML
USE MODE_COMPUTE_BL89_ML, ONLY: COMPUTE_BL89_ML
IMPLICIT NONE
......
! ######spl
MODULE MODI_COMPUTE_BL89_ML
! ###########################
INTERFACE
! ###################################################################
SUBROUTINE COMPUTE_BL89_ML(KKA,KKB,KKE,KKU,KKL,PDZZ2D, &
PTKEM_DEP,PG_O_THVREF,PVPT,KK,OUPORDN,OFLUX,PSHEAR,PLWORK)
! ###################################################################
!* 1.1 Declaration of Arguments
INTEGER, INTENT(IN) :: KKA ! near ground array index
INTEGER, INTENT(IN) :: KKB ! near ground physical index
INTEGER, INTENT(IN) :: KKE ! uppest atmosphere physical index
INTEGER, INTENT(IN) :: KKU ! uppest atmosphere array index
INTEGER, INTENT(IN) :: KKL ! +1 if grid goes from ground to atmosphere top, -1 otherwise
REAL, DIMENSION(:,:), INTENT(IN) :: PDZZ2D ! height difference between two mass levels
REAL, DIMENSION(:), INTENT(IN) :: PTKEM_DEP ! TKE to consume
REAL, DIMENSION(:), INTENT(IN) :: PG_O_THVREF ! g/ThetaVRef at the departure point
REAL, DIMENSION(:,:), INTENT(IN) :: PVPT ! ThetaV on mass levels
INTEGER, INTENT(IN) :: KK ! index of departure level
LOGICAL, INTENT(IN) :: OUPORDN ! switch to compute upward (true) or
! downward (false) mixing length
LOGICAL, INTENT(IN) :: OFLUX ! Computation must be done from flux level
REAL, DIMENSION(:), INTENT(OUT) :: PLWORK ! Resulting mixing length
REAL, DIMENSION(:,:), INTENT(IN) :: PSHEAR ! vertical wind shear for RM17 mixing length
END SUBROUTINE COMPUTE_BL89_ML
END INTERFACE
!
END MODULE MODI_COMPUTE_BL89_ML
! ######spl
MODULE MODI_COMPUTE_ENTR_DETR
! ##############################
!
INTERFACE
!
SUBROUTINE COMPUTE_ENTR_DETR(KK,KKB,KKE,KKL,OTEST,OTESTLCL,HFRAC_ICE, &
PFRAC_ICE,PRHODREF,PPRE_MINUS_HALF,&
PPRE_PLUS_HALF,PZZ,PDZZ,&
PTHVM,PTHLM,PRTM,PW_UP2,PTH_UP,&
PTHL_UP,PRT_UP,PLUP,&
PRC_UP,PRI_UP,PTHV_UP,&
PRSAT_UP,PRC_MIX,PRI_MIX, &
PENTR,PDETR,PENTR_CLD,PDETR_CLD,&
PBUO_INTEG_DRY,PBUO_INTEG_CLD,&
PPART_DRY)
!
!
!
INTEGER, INTENT(IN) :: KK ! near ground physical index
INTEGER, INTENT(IN) :: KKB ! near ground physical index
INTEGER, INTENT(IN) :: KKE ! uppest atmosphere physical index
INTEGER, INTENT(IN) :: KKL ! +1 if grid goes from ground to atmosphere top, -1 otherwise
LOGICAL,DIMENSION(:), INTENT(IN) :: OTEST
LOGICAL,DIMENSION(:), INTENT(IN) :: OTESTLCL !test of condensation
CHARACTER*1, INTENT(IN) :: HFRAC_ICE
REAL, DIMENSION(:) ,INTENT(IN) :: PFRAC_ICE
!
! prognostic variables at t- deltat
REAL, DIMENSION(:), INTENT(IN) :: PRHODREF !rhodref
REAL, DIMENSION(:), INTENT(IN) :: PPRE_MINUS_HALF ! Pressure at flux level KK
REAL, DIMENSION(:), INTENT(IN) :: PPRE_PLUS_HALF ! Pressure at flux level KK+KKL
REAL, DIMENSION(:,:), INTENT(IN) :: PZZ ! Height at the flux point
REAL, DIMENSION(:,:), INTENT(IN) :: PDZZ ! metrics coefficient
REAL, DIMENSION(:,:), INTENT(IN) :: PTHVM ! ThetaV environment
!
!
! thermodynamical variables which are transformed in conservative var.
REAL, DIMENSION(:,:), INTENT(IN) :: PTHLM ! Thetal
REAL, DIMENSION(:,:), INTENT(IN) :: PRTM ! total mixing ratio
REAL, DIMENSION(:,:), INTENT(IN) :: PW_UP2 ! Vertical velocity^2
REAL, DIMENSION(:), INTENT(IN) :: PTH_UP,PTHL_UP,PRT_UP ! updraft properties
REAL, DIMENSION(:), INTENT(IN) :: PLUP ! LUP compute from the ground
REAL, DIMENSION(:), INTENT(IN) :: PRC_UP,PRI_UP ! Updraft cloud content
REAL, DIMENSION(:), INTENT(IN) :: PTHV_UP ! Thetav of updraft
REAL, DIMENSION(:), INTENT(IN) :: PRSAT_UP ! Mixing ratio at saturation in updraft
REAL, DIMENSION(:), INTENT(INOUT) :: PRC_MIX, PRI_MIX ! Mixture cloud content
REAL, DIMENSION(:), INTENT(OUT) :: PENTR ! Mass flux entrainment of the updraft
REAL, DIMENSION(:), INTENT(OUT) :: PDETR ! Mass flux detrainment of the updraft
REAL, DIMENSION(:), INTENT(OUT) :: PENTR_CLD ! Mass flux entrainment of the updraft in cloudy part
REAL, DIMENSION(:), INTENT(OUT) :: PDETR_CLD ! Mass flux detrainment of the updraft in cloudy part
REAL, DIMENSION(:), INTENT(OUT) :: PBUO_INTEG_DRY,PBUO_INTEG_CLD ! Integrated Buoyancy
REAL, DIMENSION(:), INTENT(OUT) :: PPART_DRY
!
!
END SUBROUTINE COMPUTE_ENTR_DETR
END INTERFACE
!
END MODULE MODI_COMPUTE_ENTR_DETR
MODULE MODE_COMPUTE_BL89_ML
IMPLICIT NONE
CONTAINS
! ######spl
SUBROUTINE COMPUTE_BL89_ML(KKA,KKB,KKE,KKU,KKL,PDZZ2D, &
PTKEM_DEP,PG_O_THVREF,PVPT,KK,OUPORDN,OFLUX,PSHEAR,PLWORK)
......@@ -214,3 +217,4 @@ ENDIF
IF (LHOOK) CALL DR_HOOK('COMPUTE_BL89_ML',1,ZHOOK_HANDLE)
END SUBROUTINE COMPUTE_BL89_ML
END MODULE MODE_COMPUTE_BL89_ML
This diff is collapsed.
......@@ -143,11 +143,11 @@ USE MODD_CST
USE MODD_PARAM_MFSHALL_n
USE MODD_TURB_n, ONLY : CTURBLEN
USE MODI_COMPUTE_ENTR_DETR
USE MODE_COMPUTE_ENTR_DETR, ONLY: COMPUTE_ENTR_DETR
USE MODI_TH_R_FROM_THL_RT_1D
USE MODI_SHUMAN_MF
USE MODI_COMPUTE_BL89_ML
USE MODE_COMPUTE_BL89_ML, ONLY: COMPUTE_BL89_ML
USE MODD_GRID_n, ONLY : XDXHAT, XDYHAT
......
......@@ -139,7 +139,7 @@ USE MODI_COMPUTE_ENTR_DETR
USE MODI_TH_R_FROM_THL_RT_1D
USE MODI_SHUMAN_MF
USE MODI_COMPUTE_BL89_ML
USE MODE_COMPUTE_BL89_ML, ONLY: COMPUTE_BL89_ML
IMPLICIT NONE
......
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