Skip to content
Snippets Groups Projects
Commit 4faf092d authored by Gaelle Tanguy's avatar Gaelle Tanguy Committed by WAUTELET Philippe
Browse files

Christine 10/04/2014 : introduction of XCARPKMAX as the relaxation for...

 Christine 10/04/2014 : introduction of XCARPKMAX as the relaxation for Carpenter equation (before it was embedded in XRIMKMAX)
parent 3d0333f3
No related branches found
No related tags found
No related merge requests found
......@@ -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
......
......@@ -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)))
......
......@@ -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
......@@ -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(:,:) ) )
!
......
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