Skip to content
Snippets Groups Projects
Commit 749a3b89 authored by Juan Escobar's avatar Juan Escobar
Browse files

Juan 11/12/2024:condsamp.f90, PB Bitrepro -> replace SUM be SUM_DD_R2_ll &...

Juan 11/12/2024:condsamp.f90, PB Bitrepro -> replace SUM be SUM_DD_R2_ll & average on all interiors pts for NFINDTOP = 0 ou 2
parent 4a64b0fe
No related branches found
No related tags found
No related merge requests found
...@@ -70,6 +70,8 @@ USE MODD_DYN , ONLY : XTSTEP_MODEL1 ...@@ -70,6 +70,8 @@ USE MODD_DYN , ONLY : XTSTEP_MODEL1
USE MODD_CONDSAMP USE MODD_CONDSAMP
USE MODE_ll USE MODE_ll
USE MODD_CST USE MODD_CST
USE MODE_MPPDB
USE MODE_REPRO_SUM, ONLY : SUM_DD_R2_ll
! !
!* 0. DECLARATIONS !* 0. DECLARATIONS
! ------------ ! ------------
...@@ -98,7 +100,9 @@ REAL, DIMENSION(SIZE(XRT,1),SIZE(XRT,2),SIZE(XRT,3)) :: ZRT ...@@ -98,7 +100,9 @@ REAL, DIMENSION(SIZE(XRT,1),SIZE(XRT,2),SIZE(XRT,3)) :: ZRT
REAL, DIMENSION(SIZE(XSVT,1),SIZE(XSVT,2),SIZE(XSVT,3),SIZE(XSVT,4)) :: ZSVT REAL, DIMENSION(SIZE(XSVT,1),SIZE(XSVT,2),SIZE(XSVT,3),SIZE(XSVT,4)) :: ZSVT
REAL, DIMENSION(SIZE(XTHT,1),SIZE(XTHT,2),SIZE(XTHT,3)) :: ZSUM,ZTHV REAL, DIMENSION(SIZE(XTHT,1),SIZE(XTHT,2),SIZE(XTHT,3)) :: ZSUM,ZTHV
REAL, DIMENSION(:,:,:), ALLOCATABLE :: ZLVOCPEXNM,ZLSOCPEXNM ! Lv/Cp/EXNREF and Ls/Cp/EXNREF at t-1 REAL, DIMENSION(:,:,:), ALLOCATABLE :: ZLVOCPEXNM,ZLSOCPEXNM ! Lv/Cp/EXNREF and Ls/Cp/EXNREF at t-1
!
CHARACTER(LEN=3) :: YJSV
INTEGER :: IIMAX_ll,IJMAX_ll
! !
!-------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------
! !
...@@ -111,9 +115,16 @@ IKU = SIZE(XRT,3) ...@@ -111,9 +115,16 @@ IKU = SIZE(XRT,3)
IKB = 1 + JPVEXT IKB = 1 + JPVEXT
IKE = IKU - JPVEXT IKE = IKU - JPVEXT
CALL GET_INDICE_ll(IIB,IJB,IIE,IJE) CALL GET_INDICE_ll(IIB,IJB,IIE,IJE)
CALL GET_GLOBALDIMS_ll ( IIMAX_ll,IJMAX_ll)
! !
ZSVT(:,:,:,:) = XSVT(:,:,:,:) ZSVT(:,:,:,:) = XSVT(:,:,:,:)
! !
IF (MPPDB_INITIALIZED) THEN
DO JSV=NSV_CSBEG, NSV_CSEND
WRITE( YJSV, '( I3.3 )' ) JSV
CALL MPPDB_CHECK3D(ZSVT(:,:,:,JSV),"BEG CONDSAMP ZSVT"//YJSV,PRECISION)
END DO
END IF
! !
! !
!* 1. INITIALIZATION OF CONDITIONAL SAMPLING TRACERS !* 1. INITIALIZATION OF CONDITIONAL SAMPLING TRACERS
...@@ -159,10 +170,10 @@ IF ( NSV_CS >= 2 ) THEN ...@@ -159,10 +170,10 @@ IF ( NSV_CS >= 2 ) THEN
ZTHV(:,:,JK)=XTHT(:,:,JK) * ( 1. + XRV/XRD*XRT(:,:,JK,1) ) & ZTHV(:,:,JK)=XTHT(:,:,JK) * ( 1. + XRV/XRD*XRT(:,:,JK,1) ) &
/ ( 1. + ZSUM(:,:,JK) ) / ( 1. + ZSUM(:,:,JK) )
END DO END DO
ZTHVMEAN = SUM(ZTHV(:,:,2))/SIZE(ZTHV(:,:,2)) ZTHVMEAN = SUM_DD_R2_ll(ZTHV(IIB:IIE,IJB:IJE,2))/REAL(IIMAX_ll*IJMAX_ll)
DO JK=3,IKE DO JK=3,IKE
IF (ITOP == 0) THEN IF (ITOP == 0) THEN
ZDT = SUM(ZTHV(:,:,JK))/SIZE(ZTHV(:,:,JK)) ZDT = SUM_DD_R2_ll(ZTHV(IIB:IIE,IJB:IJE,JK))/REAL(IIMAX_ll*IJMAX_ll)
ZTHVMEAN = (1.0/XZHAT(JK+1))* & ZTHVMEAN = (1.0/XZHAT(JK+1))* &
(XZHAT(JK)*ZTHVMEAN + (XZHAT(JK+1)-XZHAT(JK))*ZDT) (XZHAT(JK)*ZTHVMEAN + (XZHAT(JK+1)-XZHAT(JK))*ZDT)
IF (ZDT > ZTHVMEAN + ZOFFSET ) THEN IF (ZDT > ZTHVMEAN + ZOFFSET ) THEN
...@@ -181,7 +192,7 @@ IF ( NSV_CS >= 2 ) THEN ...@@ -181,7 +192,7 @@ IF ( NSV_CS >= 2 ) THEN
! !
DO JK=1,IKE DO JK=1,IKE
! ZDT need to become positive at least once ! ZDT need to become positive at least once
ZDT = SUM((XTHT(:,:,JK+1)-XTHT(:,:,JK)))/SIZE(XTHT(:,:,JK)) ZDT = SUM_DD_R2_ll(XTHT(IIB:IIE,IJB:IJE,JK+1)-XTHT(IIB:IIE,IJB:IJE,JK))/REAL(IIMAX_ll*IJMAX_ll)
ZDT = ZDT/(XZHAT(JK+1)-XZHAT(JK)) ZDT = ZDT/(XZHAT(JK+1)-XZHAT(JK))
IF ( ZDT > ZMAXZDT ) THEN IF ( ZDT > ZMAXZDT ) THEN
ITOP=JK ITOP=JK
...@@ -260,6 +271,12 @@ DO JSV=NSV_CSBEG, NSV_CSEND ...@@ -260,6 +271,12 @@ DO JSV=NSV_CSBEG, NSV_CSEND
XRSVS(:,:,:,JSV) = XRSVS(:,:,:,JSV) + & XRSVS(:,:,:,JSV) = XRSVS(:,:,:,JSV) + &
XRHODJ(:,:,:)*(ZSVT(:,:,:,JSV)-XSVT(:,:,:,JSV))/PTSTEP XRHODJ(:,:,:)*(ZSVT(:,:,:,JSV)-XSVT(:,:,:,JSV))/PTSTEP
END DO END DO
IF (MPPDB_INITIALIZED) THEN
DO JSV=NSV_CSBEG, NSV_CSEND
WRITE( YJSV, '( I3.3 )' ) JSV
CALL MPPDB_CHECK3D(ZSVT(:,:,:,JSV),"END CONDSAMP ZSVT"//YJSV,PRECISION)
END DO
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