From 4faf092d3fd3f4bd1032d953877a7ad86702b69b Mon Sep 17 00:00:00 2001
From: Gaelle Tanguy <gaelle.tanguy@meteo.fr>
Date: Thu, 10 Apr 2014 14:30:29 +0000
Subject: [PATCH]  Christine 10/04/2014 : introduction of XCARPKMAX as the
 relaxation for Carpenter equation (before it was embedded in XRIMKMAX)

---
 src/MNH/modd_lbcn.f90 |  6 ++++++
 src/MNH/modeln.f90    | 32 ++++++++---------------------
 src/MNH/modn_lbcn.f90 |  8 ++++++--
 src/MNH/rad_bound.f90 | 48 +++++++++++++++++++++----------------------
 4 files changed, 45 insertions(+), 49 deletions(-)

diff --git a/src/MNH/modd_lbcn.f90 b/src/MNH/modd_lbcn.f90
index 1ff1f68c9..f993662ef 100644
--- a/src/MNH/modd_lbcn.f90
+++ b/src/MNH/modd_lbcn.f90
@@ -39,6 +39,8 @@
 !!                  15/06/95  (J.Stein) add EPS related variables                 
 !!                  29/04/02  (P.Jabouille) remove useless variables
 !!                  26/06/13  (C.Lac) Introduction of CPHASE_PBL
+!!                  01/04/14  (C.Lac) Introduction of CARPKMAX different to
+!!                                    RIMKMAX
 !-------------------------------------------------------------------------------
 !
 !*       0.   DECLARATIONS
@@ -67,6 +69,8 @@ TYPE LBC_t
                                              ! velocity if constant
   REAL                         :: XCPHASE_PBL ! prescribed value of the phase
                                              ! velocity in the PBL if constant
+  REAL                         :: XCARPKMAX   ! relaxation coefficient for
+                                             !Carpenter, different to XRIMKMAX
 END TYPE LBC_t
 
 TYPE(LBC_t), DIMENSION(JPMODELMAX), TARGET, SAVE :: LBC_MODEL
@@ -78,6 +82,7 @@ INTEGER, DIMENSION(:), POINTER :: NLBLX=>NULL()
 INTEGER, DIMENSION(:), POINTER :: NLBLY=>NULL()
 REAL, POINTER :: XCPHASE=>NULL()
 REAL, POINTER :: XCPHASE_PBL=>NULL()
+REAL, POINTER :: XCARPKMAX=>NULL()
 
 CONTAINS
 
@@ -101,6 +106,7 @@ NLBLX=>LBC_MODEL(KTO)%NLBLX
 NLBLY=>LBC_MODEL(KTO)%NLBLY
 XCPHASE=>LBC_MODEL(KTO)%XCPHASE
 XCPHASE_PBL=>LBC_MODEL(KTO)%XCPHASE_PBL
+XCARPKMAX=>LBC_MODEL(KTO)%XCARPKMAX  
 
 END SUBROUTINE LBC_GOTO_MODEL
 
diff --git a/src/MNH/modeln.f90 b/src/MNH/modeln.f90
index 5050904da..b3fa8ef60 100644
--- a/src/MNH/modeln.f90
+++ b/src/MNH/modeln.f90
@@ -245,7 +245,7 @@ USE MODD_NESTING
 USE MODD_FMOUT
 USE MODD_BUDGET
 USE MODD_PARAMETERS
-USE MODD_PARAM_ICE,        ONLY : LWARM,LSEDIC
+USE MODD_PARAM_ICE,        ONLY : LWARM,LSEDIC,LCONVHG
 USE MODD_FRC
 USE MODD_AIRCRAFT_BALLOON
 USE MODD_STATION_n
@@ -373,8 +373,6 @@ USE MODE_UTIL
 #endif
 USE MODI_GET_HALO
 !
-USE MODE_MPPDB
-!
 IMPLICIT NONE
 !
 !*       0.1   declarations of arguments
@@ -573,7 +571,6 @@ IF (KTCOUNT == 1) THEN
   ENDDO
   IF (SIZE(XSRCT,1) /= 0) CALL ADD3DFIELD_ll(TZFIELDS_ll, XSRCT)
   !
-!!$  IF ((LNUMDIFU .OR. LNUMDIFTH .OR. LNUMDIFSV) .AND. NHALO==1 ) THEN
   IF ((LNUMDIFU .OR. LNUMDIFTH .OR. LNUMDIFSV) ) THEN
   !
   !                 b) LS fields
@@ -604,16 +601,12 @@ IF (KTCOUNT == 1) THEN
   !
     INBVAR = 4+NRR+NSV
     IF (SIZE(XRTKES,1) /= 0) INBVAR=INBVAR+1
-!!$    IF( NHALO==1 ) 
     CALL INIT_HALO2_ll(TZHALO2T_ll,INBVAR,IIU,IJU,IKU)
-!!$    IF( NHALO==1 ) 
     CALL INIT_HALO2_ll(TZLSHALO2_ll,4+MIN(1,NRR),IIU,IJU,IKU)
   !
   !*       1.6   Initialise the 2nd layer of the halo of the LS fields
   !
-!!$    IF ( LSTEADYLS .AND. NHALO==1 ) CALL UPDATE_HALO2_ll(TZLSFIELD_ll, TZLSHALO2_ll, IINFO_ll)
     IF ( LSTEADYLS ) CALL UPDATE_HALO2_ll(TZLSFIELD_ll, TZLSHALO2_ll, IINFO_ll)
-
   END IF
   !
 !
@@ -1141,10 +1134,8 @@ XTIME_LES_BU_PROCESS = 0.
 !
 IF ( LNUMDIFU .OR. LNUMDIFTH .OR. LNUMDIFSV ) THEN
 !
-!!$  IF( NHALO==1 ) THEN
-    CALL UPDATE_HALO2_ll(TZFIELDT_ll, TZHALO2T_ll, IINFO_ll)
-    IF ( .NOT. LSTEADYLS) CALL UPDATE_HALO2_ll(TZLSFIELD_ll, TZLSHALO2_ll, IINFO_ll)
-!!$  ENDIF
+  CALL UPDATE_HALO2_ll(TZFIELDT_ll, TZHALO2T_ll, IINFO_ll)
+  IF ( .NOT. LSTEADYLS) CALL UPDATE_HALO2_ll(TZLSFIELD_ll, TZLSHALO2_ll, IINFO_ll)
   CALL NUM_DIFF ( CLBCX, CLBCY, NRR, NSV,                               &
                   XDK2U, XDK4U, XDK2TH, XDK4TH, XDK2SV, XDK4SV, IMI,    &
                   XUT, XVT, XWT, XTHT, XTKET, XRT, XSVT,                &
@@ -1464,7 +1455,6 @@ XTIME_BU_PROCESS = 0.
 XTIME_LES_BU_PROCESS = 0.
 !
 IF (CUVW_ADV_SCHEME(1:3)=='CEN') THEN
-!!$  IF (NHALO==1 .AND. CUVW_ADV_SCHEME=='CEN4TH') THEN
   IF (CUVW_ADV_SCHEME=='CEN4TH') THEN
     NULLIFY(TZFIELDC_ll)
     NULLIFY(TZHALO2C_ll)
@@ -1475,7 +1465,6 @@ IF (CUVW_ADV_SCHEME(1:3)=='CEN') THEN
       CALL UPDATE_HALO_ll(TZFIELDC_ll,IINFO_ll)
       CALL UPDATE_HALO2_ll(TZFIELDC_ll, TZHALO2C_ll, IINFO_ll)
   END IF
-  CALL MPPDB_CHECK3D(XRUS,"modeln:before adv_uvw_cen:XRUS",PRECISION)                    
  CALL ADVECTION_UVW_CEN(CUVW_ADV_SCHEME,                &
                            CLBCX, CLBCY,                           &
                            XTSTEP, KTCOUNT,                        &
@@ -1484,7 +1473,6 @@ IF (CUVW_ADV_SCHEME(1:3)=='CEN') THEN
                            XRHODJ, XDXX, XDYY, XDZZ, XDZX, XDZY,   &
                            XRUS,XRVS, XRWS,                        &
                            TZHALO2C_ll                             )
-!!$  IF (NHALO==1 .AND. CUVW_ADV_SCHEME=='CEN4TH') THEN
   IF (CUVW_ADV_SCHEME=='CEN4TH') THEN
     CALL CLEANLIST_ll(TZFIELDC_ll)
     NULLIFY(TZFIELDC_ll)
@@ -1527,8 +1515,7 @@ ZRUS=XRUS
 ZRVS=XRVS
 ZRWS=XRWS
 !
-  CALL MPPDB_CHECK3D(XRUS,"modeln:before rad_bound:XRUS",PRECISION)                    
-  CALL RAD_BOUND (CLBCX,CLBCY,CTURB,XRIMKMAX,            &
+  CALL RAD_BOUND (CLBCX,CLBCY,CTURB,XCARPKMAX,           &
                 XTSTEP,                                  &
                 XDXHAT, XDYHAT, XZHAT,                   &
                 XUT, XVT,                                &
@@ -1559,7 +1546,6 @@ IF(.NOT. L1D) THEN
   XRVS_PRES = XRVS
   XRWS_PRES = XRWS
 !
-  CALL MPPDB_CHECK3D(XRUS,"modeln:before pressurez:XRUS",PRECISION)                    
   CALL PRESSUREZ( CLUOUT,                                                &
                   CLBCX,CLBCY,CPRESOPT,NITR,LITRADJ,KTCOUNT, XRELAX,IMI, &
                   XRHODJ,XDXX,XDYY,XDZZ,XDZX,XDZY,XDXHATM,XDYHATM,XRHOM, &
@@ -1627,7 +1613,7 @@ IF (CCLOUD /= 'NONE' .AND. CELEC == 'NONE') THEN
                           XSVT, XRSVS,                                         &
                           XSRCT, XCLDFR,XCIT,                                  &
                           LSEDIC,LACTIT, LSEDC, LSEDI, LRAIN, LWARM, LHHONI,   &
-                          XCF_MF,XRC_MF, XRI_MF,                               &
+                          LCONVHG, XCF_MF,XRC_MF, XRI_MF,                      &
                           XINPRC,XINPRR, XINPRR3D, XEVAP3D,                    &
                           XINPRS, XINPRG, XINPRH, XSOLORG , XMI, ZSEA, ZTOWN    )
     DEF_NC=.TRUE.
@@ -1642,7 +1628,7 @@ IF (CCLOUD /= 'NONE' .AND. CELEC == 'NONE') THEN
                           XSVT, XRSVS,                                         &
                           XSRCT, XCLDFR,XCIT,                                  &
                           LSEDIC,LACTIT, LSEDC, LSEDI, LRAIN, LWARM, LHHONI,   &
-                          XCF_MF,XRC_MF, XRI_MF,                               &
+                          LCONVHG, XCF_MF,XRC_MF, XRI_MF,                      &
                           XINPRC,XINPRR, XINPRR3D, XEVAP3D,                    &
                           XINPRS, XINPRG, XINPRH, XSOLORG , XMI, ZSEA, ZTOWN    )
 #endif
@@ -1661,7 +1647,7 @@ IF (CCLOUD /= 'NONE' .AND. CELEC == 'NONE') THEN
                           XSVT, XRSVS,                                         &
                           XSRCT, XCLDFR,XCIT,                                  &
                           LSEDIC, LACTIT, LSEDC, LSEDI, LRAIN, LWARM, LHHONI,  &
-                          XCF_MF,XRC_MF, XRI_MF,                               &
+                          LCONVHG, XCF_MF,XRC_MF, XRI_MF,                      &
                           XINPRC,XINPRR, XINPRR3D, XEVAP3D,                    &
                           XINPRS, XINPRG, XINPRH, XSOLORG, XMI                 )
     DEF_NC=.TRUE.
@@ -1676,7 +1662,7 @@ IF (CCLOUD /= 'NONE' .AND. CELEC == 'NONE') THEN
                           XSVT, XRSVS,                                         &
                           XSRCT, XCLDFR,XCIT,                                  &
                           LSEDIC, LACTIT, LSEDC, LSEDI, LRAIN, LWARM, LHHONI,  &
-                          XCF_MF,XRC_MF, XRI_MF,                               &
+                          LCONVHG, XCF_MF,XRC_MF, XRI_MF,                      &
                           XINPRC,XINPRR, XINPRR3D, XEVAP3D,                    &
                           XINPRS, XINPRG, XINPRH, XSOLORG, XMI                 )
 #endif
@@ -1721,7 +1707,7 @@ IF (CELEC /= 'NONE' .AND. (CCLOUD(1:3) == 'ICE')) THEN
 !
   XRTHS_CLD = XRTHS
   XRRS_CLD  = XRRS
-  XRSVS_CLD = XRRS
+  XRSVS_CLD = XRSVS
   IF (CSURF=='EXTE') THEN
     ALLOCATE (ZSEA(SIZE(XRHODJ,1),SIZE(XRHODJ,2)))
     ALLOCATE (ZTOWN(SIZE(XRHODJ,1),SIZE(XRHODJ,2)))
diff --git a/src/MNH/modn_lbcn.f90 b/src/MNH/modn_lbcn.f90
index 66523b7e7..718295689 100644
--- a/src/MNH/modn_lbcn.f90
+++ b/src/MNH/modn_lbcn.f90
@@ -55,7 +55,8 @@ USE MODD_LBC_n, ONLY: &
          NLBLX_n => NLBLX, &
          NLBLY_n => NLBLY, &
          XCPHASE_n => XCPHASE, &
-         XCPHASE_PBL_n => XCPHASE_PBL
+         XCPHASE_PBL_n => XCPHASE_PBL, &
+         XCARPKMAX_n => XCARPKMAX
 !
 IMPLICIT NONE
 !
@@ -65,8 +66,9 @@ INTEGER,SAVE, DIMENSION(2)  :: NLBLX
 INTEGER,SAVE, DIMENSION(2)  :: NLBLY
 REAL,SAVE  :: XCPHASE
 REAL,SAVE  :: XCPHASE_PBL
+REAL,SAVE  :: XCARPKMAX  
 !
-NAMELIST/NAM_LBCn/CLBCX,CLBCY,NLBLX,NLBLY,XCPHASE,XCPHASE_PBL
+NAMELIST/NAM_LBCn/CLBCX,CLBCY,NLBLX,NLBLY,XCPHASE,XCPHASE_PBL,XCARPKMAX
 !
 CONTAINS
 !
@@ -77,6 +79,7 @@ SUBROUTINE INIT_NAM_LBCn
   NLBLY = NLBLY_n
   XCPHASE = XCPHASE_n
   XCPHASE_PBL = XCPHASE_PBL_n
+  XCARPKMAX   = XCARPKMAX_n
 END SUBROUTINE INIT_NAM_LBCn
 
 SUBROUTINE UPDATE_NAM_LBCn
@@ -86,6 +89,7 @@ SUBROUTINE UPDATE_NAM_LBCn
   NLBLY_n = NLBLY
   XCPHASE_n = XCPHASE
   XCPHASE_PBL_n = XCPHASE_PBL
+  XCARPKMAX_n   = XCARPKMAX
 END SUBROUTINE UPDATE_NAM_LBCn
 
 END MODULE MODN_LBC_n
diff --git a/src/MNH/rad_bound.f90 b/src/MNH/rad_bound.f90
index 3ccdf1e07..12333081a 100644
--- a/src/MNH/rad_bound.f90
+++ b/src/MNH/rad_bound.f90
@@ -14,7 +14,7 @@ MODULE MODI_RAD_BOUND
 !
 INTERFACE
 !
-      SUBROUTINE RAD_BOUND (HLBCX,HLBCY,HTURB,PRIMKMAX,               &
+      SUBROUTINE RAD_BOUND (HLBCX,HLBCY,HTURB, PCARPKMAX,             &
                         PTSTEP,PDXHAT,PDYHAT,PZHAT,                   &
                         PUT,PVT,                                      &
                         PLBXUM,PLBYVM,PLBXUS,PLBYVS,                  &
@@ -25,7 +25,7 @@ CHARACTER(LEN=4), DIMENSION(2), INTENT(IN) :: HLBCX,HLBCY   ! X and Y-direc. LBC
 CHARACTER(LEN=4),               INTENT(IN) :: HTURB         ! Turbulence scheme
 !
 !
-REAL,                     INTENT(IN) :: PRIMKMAX    ! Rayleigh damping amplitude
+REAL,                     INTENT(INOUT) :: PCARPKMAX    ! Rayleigh damping amplitude
 REAL,                     INTENT(IN) :: PTSTEP      ! time step dt 
 REAL,      DIMENSION(:),  INTENT(IN) :: PDXHAT      ! X-direc. meshlength 
 REAL,      DIMENSION(:),  INTENT(IN) :: PDYHAT      ! Y-direc. meshlength
@@ -55,7 +55,7 @@ END INTERFACE
 END MODULE MODI_RAD_BOUND
 !
 !     #################################################################
-      SUBROUTINE RAD_BOUND (HLBCX,HLBCY,HTURB,PRIMKMAX,               &
+      SUBROUTINE RAD_BOUND (HLBCX,HLBCY,HTURB, PCARPKMAX,             &
                         PTSTEP,PDXHAT,PDYHAT,PZHAT,                   &
                         PUT,PVT,                                      &
                         PLBXUM,PLBYVM,PLBXUS,PLBYVS,                  &
@@ -151,7 +151,8 @@ END MODULE MODI_RAD_BOUND
 !!      Modification   08/10  (V.Masson) Bug correction and add cphase_profile
 !!      Escobar     9/11/2010 : cphas_profile : array bound problem if NO Turb =>  PTKET optional
 !!      Lac.C.       2011     : Adaptation to FIT temporal scheme
-!!      Modification 06/13     (C.Lac)   Introduction of cphase_pbl                                        
+!!      Modification 06/13     (C.Lac)   Introduction of cphase_pbl
+!!      Modification 03/14     (C.Lac)   Replacement of XRIMKMAX by XCARPKMAX                              
 !!      
 !-------------------------------------------------------------------------------
 !
@@ -177,7 +178,7 @@ CHARACTER(LEN=4), DIMENSION(2), INTENT(IN) :: HLBCX,HLBCY   ! X and Y-direc. LBC
 CHARACTER(LEN=4),               INTENT(IN) :: HTURB         ! Turbulence scheme
 !
 !
-REAL,                     INTENT(IN) :: PRIMKMAX    ! Rayleigh damping amplitude
+REAL,                     INTENT(INOUT) :: PCARPKMAX    ! Rayleigh damping amplitude
 REAL,                     INTENT(IN) :: PTSTEP      ! time step dt 
 REAL,      DIMENSION(:),  INTENT(IN) :: PDXHAT      ! X-direc. meshlength 
 REAL,      DIMENSION(:),  INTENT(IN) :: PDYHAT      ! Y-direc. meshlength
@@ -227,7 +228,6 @@ REAL, DIMENSION(SIZE(PUT,1),SIZE(PUT,3)) :: ZCPHASY! Normalized Phase velocity
 !                                                  ! for V field at Y-boundaries
 REAL, DIMENSION(SIZE(PUT,1),SIZE(PUT,3)) :: ZPHASY ! Phase velocity
 !                                                  ! for V field at Y-boundaries
-REAL                                     :: ZTSTEP ! effective time step
 REAL                                     :: ZALPHA2! implicitness of the damping
 !
 !-------------------------------------------------------------------------------
@@ -245,9 +245,9 @@ IKE = SIZE(PUT,3) - JPVEXT
 !*       1.2  Compute the inverse of the applicable timestep
 !
 !
-ZTSTEP = PTSTEP 
 ZINVTSTEP = 1./PTSTEP
-ZKTSTEP   = PRIMKMAX*ZTSTEP
+IF (PCARPKMAX == XUNDEF) PCARPKMAX = 1./ (10.*PTSTEP)
+ZKTSTEP   = PCARPKMAX*PTSTEP
 ! ZALPHA2 = O : explicit ; ZALPHA2 = 1 : implicit ; ZALPHA2 = 0.5 SI
 ZALPHA2 = 1. 
 !
@@ -282,7 +282,7 @@ SELECT CASE ( HLBCX(1) )
     END IF
 
     ZCPHASX(:,:) = MAX ( 0., MIN ( 1.,                                      & 
-                      (-PUT(IIB,:,:) + ZPHASX(:,:) ) * ZTSTEP / PDXHAT(IIB)  )    )
+                      (-PUT(IIB,:,:) + ZPHASX(:,:) ) * PTSTEP / PDXHAT(IIB)  )    )
                       ! notice that ZCPHASX=0. when ZPHASX  < PUT(IIB,:,:)  
 !
 !
@@ -293,8 +293,8 @@ SELECT CASE ( HLBCX(1) )
     ELSE
       ZLBEU (:,:) = PLBXUS(1,:,:)
       ZLBGU (:,:) = PLBXUM(2,:,:) - PLBXUM(1,:,:) +  &
-                      ZTSTEP * (PLBXUS(2,:,:) - PLBXUS(1,:,:))
-      ZLBXU(:,:)  = PLBXUM(1,:,:) + ZTSTEP * PLBXUS(1,:,:)
+                      PTSTEP * (PLBXUS(2,:,:) - PLBXUS(1,:,:))
+      ZLBXU(:,:)  = PLBXUM(1,:,:) + PTSTEP * PLBXUS(1,:,:)
     END IF
 !  
 !     ============================================================
@@ -311,7 +311,7 @@ SELECT CASE ( HLBCX(1) )
                        ZINVTSTEP / (1.+ ZKTSTEP * ZALPHA2 )  *               &
             (  (1. - ZCPHASX(:,:) - ZKTSTEP * (1. - ZALPHA2)) * PUT(IIB,:,:) &
                          +  ZCPHASX(:,:)            * PUT(IIB+1  ,:,:)       &
-              + (   ZLBEU (:,:) * ZTSTEP                                     &
+              + (   ZLBEU (:,:) * PTSTEP                                     &
                     -  ZLBGU (:,:) * ZCPHASX(:,:)                            &
                     +  ZKTSTEP*ZLBXU(:,:)   )  )  
 
@@ -351,7 +351,7 @@ SELECT CASE ( HLBCX(2) )
     END IF
 !
     ZCPHASX(:,:) = MAX ( 0., MIN ( 1.,                                  &
-                    ( PUT(IIE+1,:,:) + ZPHASX(:,:) ) * ZTSTEP/PDXHAT(IIE)  )      )
+                    ( PUT(IIE+1,:,:) + ZPHASX(:,:) ) * PTSTEP/PDXHAT(IIE)  )      )
 !
 ! 
     ILBX=SIZE(PLBXUM,1)
@@ -362,8 +362,8 @@ SELECT CASE ( HLBCX(2) )
     ELSE
       ZLBEU (:,:) = PLBXUS(ILBX,:,:)
       ZLBGU (:,:) = PLBXUM(ILBX,:,:) - PLBXUM(ILBX-1,:,:) +  &
-                      ZTSTEP * (PLBXUS(ILBX,:,:) - PLBXUS(ILBX-1,:,:))
-      ZLBXU(:,:)  = PLBXUM(ILBX,:,:) + ZTSTEP * PLBXUS(ILBX,:,:)
+                      PTSTEP * (PLBXUS(ILBX,:,:) - PLBXUS(ILBX-1,:,:))
+      ZLBXU(:,:)  = PLBXUM(ILBX,:,:) + PTSTEP * PLBXUS(ILBX,:,:)
     END IF
 !     
 !     ============================================================
@@ -380,7 +380,7 @@ SELECT CASE ( HLBCX(2) )
                        ZINVTSTEP / (1.+ ZKTSTEP * ZALPHA2 )  *                  &
             (  (1. - ZCPHASX(:,:) - ZKTSTEP * (1. - ZALPHA2) ) * PUT(IIE+1,:,:) &
                          +  ZCPHASX(:,:)            * PUT(IIE  ,:,:)            &
-              + (   ZLBEU (:,:) * ZTSTEP                                        &
+              + (   ZLBEU (:,:) * PTSTEP                                        &
                     +  ZLBGU (:,:) * ZCPHASX(:,:)                               &
                     +  ZKTSTEP*ZLBXU(:,:)   )  )   
 !
@@ -421,7 +421,7 @@ SELECT CASE ( HLBCY(1) )
     END IF    
 !
     ZCPHASY(:,:) = MAX ( 0., MIN ( 1.,                                      &
-                    (-PVT(:,IJB,:) + ZPHASY(:,:) ) * ZTSTEP/ PDYHAT(IJB)   )      )
+                    (-PVT(:,IJB,:) + ZPHASY(:,:) ) * PTSTEP/ PDYHAT(IJB)   )      )
 !
     IF ( SIZE(PLBYVS,1) == 0 ) THEN
       ZLBEV (:,:) = 0.
@@ -430,8 +430,8 @@ SELECT CASE ( HLBCY(1) )
     ELSE
       ZLBEV (:,:) = PLBYVS(:,1,:)
       ZLBGV (:,:) = PLBYVM(:,2,:) - PLBYVM(:,1,:) +  &
-                      ZTSTEP * (PLBYVS(:,2,:) - PLBYVS(:,1,:))
-      ZLBYV(:,:)  = PLBYVM(:,1,:) + ZTSTEP * PLBYVS(:,1,:)
+                      PTSTEP * (PLBYVS(:,2,:) - PLBYVS(:,1,:))
+      ZLBYV(:,:)  = PLBYVM(:,1,:) + PTSTEP * PLBYVS(:,1,:)
     END IF
 !  
 !     ============================================================
@@ -447,7 +447,7 @@ SELECT CASE ( HLBCY(1) )
                        ZINVTSTEP / (1.+ ZKTSTEP * ZALPHA2 )  *             &
           (  (1. - ZCPHASY(:,:) - ZKTSTEP * (1. - ZALPHA2) ) * PVT(:,IJB,:)&
                          +  ZCPHASY(:,:)            * PVT(:,IJB+1,:)       &
-              + (   ZLBEV (:,:) * ZTSTEP                                   &
+              + (   ZLBEV (:,:) * PTSTEP                                   &
                     -  ZLBGV (:,:) * ZCPHASY(:,:)                          &
                     +  ZKTSTEP*ZLBYV(:,:)   )  )   
 !
@@ -488,7 +488,7 @@ SELECT CASE ( HLBCY(2) )
     END IF    
 !
     ZCPHASY(:,:) = MAX ( 0., MIN ( 1.,                                      &
-                    ( PVT(:,IJE+1,:) + ZPHASY(:,:) ) * ZTSTEP/PDYHAT(IJE)  )      )
+                    ( PVT(:,IJE+1,:) + ZPHASY(:,:) ) * PTSTEP/PDYHAT(IJE)  )      )
 !
     ILBY=SIZE(PLBYVM,2)
     IF ( SIZE(PLBYVS,1) == 0 ) THEN
@@ -498,8 +498,8 @@ SELECT CASE ( HLBCY(2) )
     ELSE
       ZLBEV (:,:) = PLBYVS(:,ILBY,:)
       ZLBGV (:,:) = PLBYVM(:,ILBY,:) - PLBYVM(:,ILBY-1,:) +  &
-                      ZTSTEP * (PLBYVS(:,ILBY,:) - PLBYVS(:,ILBY-1,:))
-      ZLBYV(:,:)  = PLBYVM(:,ILBY,:) + ZTSTEP * PLBYVS(:,ILBY,:)
+                      PTSTEP * (PLBYVS(:,ILBY,:) - PLBYVS(:,ILBY-1,:))
+      ZLBYV(:,:)  = PLBYVM(:,ILBY,:) + PTSTEP * PLBYVS(:,ILBY,:)
     END IF
 !  
 !     ============================================================
@@ -516,7 +516,7 @@ SELECT CASE ( HLBCY(2) )
                        ZINVTSTEP / (1.+ ZKTSTEP * ZALPHA2 )  *                &
            (  (1. - ZCPHASY(:,:) - ZKTSTEP * (1. - ZALPHA2) ) * PVT(:,IJE+1,:)&
                          +  ZCPHASY(:,:)            * PVT(:,IJE,:)            &
-              + (   ZLBEV (:,:) * ZTSTEP                                      &
+              + (   ZLBEV (:,:) * PTSTEP                                      &
                     +  ZLBGV (:,:) * ZCPHASY(:,:)                             &
                     +  ZKTSTEP*ZLBYV(:,:)   )  )   
 ! 
-- 
GitLab