diff -urN WRF-4.x.orig/phys/module_cu_tiedtke.F WRF-4.x/phys/module_cu_tiedtke.F --- WRF-4.x.orig/phys/module_cu_tiedtke.F 2021-01-15 17:21:58.000000000 +0000 +++ WRF-4.x/phys/module_cu_tiedtke.F 2022-09-20 07:39:55.632412118 +0000 @@ -2935,7 +2935,8 @@ zzmzk = -(pgeoh(jl,ikh)-pgeoh(jl,kk))*zrg ztmzk = -(pgeoh(jl,ikh)-pgeoh(jl,ikt))*zrg arg = 3.1415*(zzmzk/ztmzk)*0.5 - zorgde = tan(arg)*3.1415*0.5/ztmzk + ! zorgde = tan(arg)*3.1415*0.5/ztmzk + zorgde = real(tan(dble(arg))*3.1415*0.5/dble(ztmzk)) zdprho = (paph(jl,kk+1)-paph(jl,kk))*(zrg*zrrho) zodetr(jl,kk) = min(zorgde,1.e-3)*pmfu(jl,kk+1)*zdprho end if diff -urN WRF-4.x.orig/phys/module_sf_myjsfc.F WRF-4.x/phys/module_sf_myjsfc.F --- WRF-4.x.orig/phys/module_sf_myjsfc.F 2021-01-15 17:21:58.000000000 +0000 +++ WRF-4.x/phys/module_sf_myjsfc.F 2022-09-20 07:42:18.843558357 +0000 @@ -1086,6 +1086,7 @@ &, MAXLOC_IVGTYP,MPI_COMM_COMP ! ! INTEGER :: MPI_INTEGER,MPI_MAX + DOUBLE PRECISION:: X2 ! REAL :: SM,X,ZETA1,ZETA2,ZRNG1,ZRNG2 ! @@ -1209,7 +1210,9 @@ !---------------------------------------------------------------------- X=SQRT(SQRT(1.-16.*ZETA1)) ! - PSIM1(K)=-2.*LOG((X+1.)/2.)-LOG((X*X+1.)/2.)+2.*ATAN(X)-PIHF + ! PSIM1(K)=-2.*LOG((X+1.)/2.)-LOG((X*X+1.)/2.)+2.*ATAN(X)-PIHF + X2 = dble(X) + PSIM1(K)=real(-2.d0 * log((X2+1.d0)/2.d0)-log((X2*X2+1.d0)/2.d0)+2.d0*atan(X2)-dble(PIHF)) PSIH1(K)=-2.*LOG((X*X+1.)/2.) ! !---------------------------------------------------------------------- @@ -1246,7 +1249,9 @@ ! X=SQRT(SQRT(1.-16.*ZETA2)) ! - PSIM2(K)=-2.*LOG((X+1.)/2.)-LOG((X*X+1.)/2.)+2.*ATAN(X)-PIHF + ! PSIM2(K)=-2.*LOG((X+1.)/2.)-LOG((X*X+1.)/2.)+2.*ATAN(X)-PIHF + X2 = dble(X) + PSIM2(K)=real(-2.d0*LOG((X2+1.d0)/2.d0)-LOG((X2*X2+1.d0)/2.d0)+2.*ATAN(X2)-dble(PIHF)) PSIH2(K)=-2.*LOG((X*X+1.)/2.) !---------------------------------------------------------------------- !*** STABLE RANGE