Skip to content
Snippets Groups Projects
Commit c838a988 authored by WAUTELET Philippe's avatar WAUTELET Philippe
Browse files

Philippe 19/11/2021: use MNHREAL32 instead of 4 in kind= to respect Fortran norm

parent 9f26b7a5
No related branches found
No related tags found
No related merge requests found
...@@ -199,6 +199,7 @@ USE MODD_PARAMETERS ...@@ -199,6 +199,7 @@ USE MODD_PARAMETERS
USE MODD_PARAM_LIMA, ONLY : NMOD_CCN, NMOD_IFN, LBOUND, LWARM, LCOLD USE MODD_PARAM_LIMA, ONLY : NMOD_CCN, NMOD_IFN, LBOUND, LWARM, LCOLD
USE MODD_PARAM_n, ONLY : CELEC,CCLOUD USE MODD_PARAM_n, ONLY : CELEC,CCLOUD
USE MODD_PASPOL, ONLY : LPASPOL USE MODD_PASPOL, ONLY : LPASPOL
USE MODD_PRECISION, ONLY: MNHREAL32
USE MODD_REF_n USE MODD_REF_n
USE MODD_SALT, ONLY : LSALT USE MODD_SALT, ONLY : LSALT
...@@ -424,17 +425,17 @@ END IF ...@@ -424,17 +425,17 @@ END IF
! !
! Reproductibility for RSTART -> truncate ZLB to real(knd=4) to have reproductible result ! Reproductibility for RSTART -> truncate ZLB to real(knd=4) to have reproductible result
! !
ZLBXVT(:,:,:) = real(ZLBXVT(:,:,:),kind=4) ZLBXVT(:,:,:) = real(ZLBXVT(:,:,:),kind=MNHREAL32)
ZLBXWT(:,:,:) = real(ZLBXWT(:,:,:),kind=4) ZLBXWT(:,:,:) = real(ZLBXWT(:,:,:),kind=MNHREAL32)
ZLBXTHT(:,:,:) = real(ZLBXTHT(:,:,:),kind=4) ZLBXTHT(:,:,:) = real(ZLBXTHT(:,:,:),kind=MNHREAL32)
IF ( SIZE(PTKET,1) /= 0 ) THEN IF ( SIZE(PTKET,1) /= 0 ) THEN
ZLBXTKET(:,:,:) = real(ZLBXTKET(:,:,:),kind=4) ZLBXTKET(:,:,:) = real(ZLBXTKET(:,:,:),kind=MNHREAL32)
END IF END IF
IF ( KRR > 0) THEN IF ( KRR > 0) THEN
ZLBXRT(:,:,:,:) = real(ZLBXRT(:,:,:,:),kind=4) ZLBXRT(:,:,:,:) = real(ZLBXRT(:,:,:,:),kind=MNHREAL32)
END IF END IF
IF ( KSV > 0) THEN IF ( KSV > 0) THEN
ZLBXSVT(:,:,:,:) = real(ZLBXSVT(:,:,:,:),kind=4) ZLBXSVT(:,:,:,:) = real(ZLBXSVT(:,:,:,:),kind=MNHREAL32)
END IF END IF
! ============================================================ ! ============================================================
! !
...@@ -475,17 +476,17 @@ END IF ...@@ -475,17 +476,17 @@ END IF
! !
! Reproductibility for RSTART -> truncate ZLB to real(knd=4) to have reproductible result ! Reproductibility for RSTART -> truncate ZLB to real(knd=4) to have reproductible result
! !
ZLBYUT(:,:,:) = real(ZLBYUT(:,:,:),kind=4) ZLBYUT(:,:,:) = real(ZLBYUT(:,:,:),kind=MNHREAL32)
ZLBYWT(:,:,:) = real(ZLBYWT(:,:,:),kind=4) ZLBYWT(:,:,:) = real(ZLBYWT(:,:,:),kind=MNHREAL32)
ZLBYTHT(:,:,:) = real(ZLBYTHT(:,:,:),kind=4) ZLBYTHT(:,:,:) = real(ZLBYTHT(:,:,:),kind=MNHREAL32)
IF ( SIZE(PTKET,1) /= 0 ) THEN IF ( SIZE(PTKET,1) /= 0 ) THEN
ZLBYTKET(:,:,:) = real(ZLBYTKET(:,:,:),kind=4) ZLBYTKET(:,:,:) = real(ZLBYTKET(:,:,:),kind=MNHREAL32)
END IF END IF
IF ( KRR > 0) THEN IF ( KRR > 0) THEN
ZLBYRT(:,:,:,:) = real(ZLBYRT(:,:,:,:),kind=4) ZLBYRT(:,:,:,:) = real(ZLBYRT(:,:,:,:),kind=MNHREAL32)
END IF END IF
IF ( KSV > 0) THEN IF ( KSV > 0) THEN
ZLBYSVT(:,:,:,:) = real(ZLBYSVT(:,:,:,:),kind=4) ZLBYSVT(:,:,:,:) = real(ZLBYSVT(:,:,:,:),kind=MNHREAL32)
END IF END IF
! ============================================================ ! ============================================================
! !
......
!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier !MNH_LIC Copyright 1994-2021 CNRS, Meteo-France and Universite Paul Sabatier
!MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
!MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
!MNH_LIC for details. version 1. !MNH_LIC for details. version 1.
...@@ -227,6 +227,7 @@ use modd_budget, only: lbudget_u, lbudget_v, lbudget_w, lbudget_th, lbudg ...@@ -227,6 +227,7 @@ use modd_budget, only: lbudget_u, lbudget_v, lbudget_w, lbudget_th, lbudg
tbudgets tbudgets
USE MODD_CONF USE MODD_CONF
USE MODD_PARAMETERS USE MODD_PARAMETERS
use modd_precision, only: MNHREAL32
use mode_budget, only: Budget_store_init, Budget_store_end use mode_budget, only: Budget_store_init, Budget_store_end
USE MODE_ll USE MODE_ll
...@@ -1120,18 +1121,18 @@ CASE ('CYCL') ! In that case one must have HLBCX(1) == HLBCX(2) ...@@ -1120,18 +1121,18 @@ CASE ('CYCL') ! In that case one must have HLBCX(1) == HLBCX(2)
TPHALO2%WEST(:,:) + PFIELDM(IW+1,:,:) & TPHALO2%WEST(:,:) + PFIELDM(IW+1,:,:) &
-4.*( PFIELDM(IW-2,:,:) + PFIELDM(IW,:,:) ) & -4.*( PFIELDM(IW-2,:,:) + PFIELDM(IW,:,:) ) &
+6.* PFIELDM(IW-1,:,:) & +6.* PFIELDM(IW-1,:,:) &
- real(TPHALO2LS%WEST(:,:),kind=4) - real(PLSFIELD(IW+1,:,:),kind=4) & - real(TPHALO2LS%WEST(:,:),kind=MNHREAL32) - real(PLSFIELD(IW+1,:,:),kind=MNHREAL32) &
+4.*( real(PLSFIELD(IW-2,:,:),kind=4) + real(PLSFIELD(IW,:,:),kind=4) ) & +4.*( real(PLSFIELD(IW-2,:,:),kind=MNHREAL32) + real(PLSFIELD(IW,:,:),kind=MNHREAL32) ) &
-6.* real(PLSFIELD(IW-1,:,:),kind=4) ) -6.* real(PLSFIELD(IW-1,:,:),kind=MNHREAL32) )
! !
PRFIELDS(IE+1,:,:) = PRFIELDS(IE+1,:,:) - PRHODJ(IE+1,:,:) * & PRFIELDS(IE+1,:,:) = PRFIELDS(IE+1,:,:) - PRHODJ(IE+1,:,:) * &
PDK4*( & PDK4*( &
PFIELDM(IE-1,:,:) + TPHALO2%EAST(:,:) & PFIELDM(IE-1,:,:) + TPHALO2%EAST(:,:) &
-4.*( PFIELDM(IE,:,:) + PFIELDM(IE+2,:,:) ) & -4.*( PFIELDM(IE,:,:) + PFIELDM(IE+2,:,:) ) &
+6.* PFIELDM(IE+1,:,:) & +6.* PFIELDM(IE+1,:,:) &
- real(PLSFIELD(IE-1,:,:),kind=4) - real(TPHALO2LS%EAST(:,:),kind=4) & - real(PLSFIELD(IE-1,:,:),kind=MNHREAL32) - real(TPHALO2LS%EAST(:,:),kind=MNHREAL32) &
+4.*( real(PLSFIELD(IE,:,:),kind=4) + real(PLSFIELD(IE+2,:,:),kind=4) ) & +4.*( real(PLSFIELD(IE,:,:),kind=MNHREAL32) + real(PLSFIELD(IE+2,:,:),kind=MNHREAL32) ) &
-6.* real(PLSFIELD(IE+1,:,:),kind=4) ) -6.* real(PLSFIELD(IE+1,:,:),kind=MNHREAL32) )
! !
!!$ ENDIF !!$ ENDIF
! !
...@@ -1142,10 +1143,10 @@ CASE ('CYCL') ! In that case one must have HLBCX(1) == HLBCX(2) ...@@ -1142,10 +1143,10 @@ CASE ('CYCL') ! In that case one must have HLBCX(1) == HLBCX(2)
PDK4*( & PDK4*( &
PFIELDM(IW-2:IE-2,:,:) + PFIELDM(IW+2:IE+2,:,:) & PFIELDM(IW-2:IE-2,:,:) + PFIELDM(IW+2:IE+2,:,:) &
-4.*( PFIELDM(IW-1:IE-1,:,:) + PFIELDM(IW+1:IE+1,:,:) ) & -4.*( PFIELDM(IW-1:IE-1,:,:) + PFIELDM(IW+1:IE+1,:,:) ) &
+6.* PFIELDM(IW:IE,:,:) & +6.* PFIELDM(IW:IE,:,:) &
- real(PLSFIELD(IW-2:IE-2,:,:),kind=4) - real(PLSFIELD(IW+2:IE+2,:,:),kind=4) & - real(PLSFIELD(IW-2:IE-2,:,:),kind=MNHREAL32) - real(PLSFIELD(IW+2:IE+2,:,:),kind=MNHREAL32) &
+4.*( real(PLSFIELD(IW-1:IE-1,:,:),kind=4) + real(PLSFIELD(IW+1:IE+1,:,:),kind=4) ) & +4.*( real(PLSFIELD(IW-1:IE-1,:,:),kind=MNHREAL32) + real(PLSFIELD(IW+1:IE+1,:,:),kind=MNHREAL32) ) &
-6.* real(PLSFIELD(IW:IE,:,:),kind=4) ) -6.* real(PLSFIELD(IW:IE,:,:),kind=MNHREAL32) )
! !
ELSE ELSE
! !
...@@ -1215,7 +1216,8 @@ CASE ('OPEN','WALL','NEST') ...@@ -1215,7 +1216,8 @@ CASE ('OPEN','WALL','NEST')
PRFIELDS(IW-1,:,:) = PRFIELDS(IW-1,:,:) + PRHODJ(IW-1,:,:) * & PRFIELDS(IW-1,:,:) = PRFIELDS(IW-1,:,:) + PRHODJ(IW-1,:,:) * &
PDK2*( & PDK2*( &
PFIELDM(IW-2,:,:) -2.*PFIELDM(IW-1,:,:) + PFIELDM(IW,:,:) & PFIELDM(IW-2,:,:) -2.*PFIELDM(IW-1,:,:) + PFIELDM(IW,:,:) &
-real(PLSFIELD(IW-2,:,:),kind=4) +2.*real(PLSFIELD(IW-1,:,:),kind=4) - real(PLSFIELD(IW,:,:),kind=4) ) - real(PLSFIELD(IW-2,:,:),kind=MNHREAL32) +2.*real(PLSFIELD(IW-1,:,:),kind=MNHREAL32) &
- real(PLSFIELD(IW,:,:),kind=MNHREAL32) )
! !
!!$ ELSEIF (NHALO == 1) THEN !!$ ELSEIF (NHALO == 1) THEN
ELSE ELSE
...@@ -1225,9 +1227,9 @@ CASE ('OPEN','WALL','NEST') ...@@ -1225,9 +1227,9 @@ CASE ('OPEN','WALL','NEST')
TPHALO2%WEST(:,:) + PFIELDM(IW+1,:,:) & TPHALO2%WEST(:,:) + PFIELDM(IW+1,:,:) &
-4.*( PFIELDM(IW-2,:,:) + PFIELDM(IW,:,:) ) & -4.*( PFIELDM(IW-2,:,:) + PFIELDM(IW,:,:) ) &
+6.* PFIELDM(IW-1,:,:) & +6.* PFIELDM(IW-1,:,:) &
- real(TPHALO2LS%WEST(:,:),kind=4) - real(PLSFIELD(IW+1,:,:),kind=4) & - real(TPHALO2LS%WEST(:,:),kind=MNHREAL32) - real(PLSFIELD(IW+1,:,:),kind=MNHREAL32) &
+4.*( real(PLSFIELD(IW-2,:,:),kind=4) + real(PLSFIELD(IW,:,:),kind=4) ) & +4.*( real(PLSFIELD(IW-2,:,:),kind=MNHREAL32) + real(PLSFIELD(IW,:,:),kind=MNHREAL32) ) &
-6.* real(PLSFIELD(IW-1,:,:),kind=4) ) -6.* real(PLSFIELD(IW-1,:,:),kind=MNHREAL32) )
! !
ENDIF ENDIF
! !
...@@ -1236,7 +1238,8 @@ CASE ('OPEN','WALL','NEST') ...@@ -1236,7 +1238,8 @@ CASE ('OPEN','WALL','NEST')
PRFIELDS(IE+1,:,:) = PRFIELDS(IE+1,:,:) + PRHODJ(IE+1,:,:) * & PRFIELDS(IE+1,:,:) = PRFIELDS(IE+1,:,:) + PRHODJ(IE+1,:,:) * &
PDK2*( & PDK2*( &
PFIELDM(IE,:,:) -2.*PFIELDM(IE+1,:,:) + PFIELDM(IE+2,:,:) & PFIELDM(IE,:,:) -2.*PFIELDM(IE+1,:,:) + PFIELDM(IE+2,:,:) &
- real(PLSFIELD(IE,:,:),kind=4) +2.*real(PLSFIELD(IE+1,:,:),kind=4) - real(PLSFIELD(IE+2,:,:),kind=4) ) - real(PLSFIELD(IE,:,:),kind=MNHREAL32) +2.*real(PLSFIELD(IE+1,:,:),kind=MNHREAL32) &
- real(PLSFIELD(IE+2,:,:),kind=MNHREAL32) )
! !
!!$ ELSEIF (NHALO == 1) THEN !!$ ELSEIF (NHALO == 1) THEN
ELSE ELSE
...@@ -1246,9 +1249,9 @@ CASE ('OPEN','WALL','NEST') ...@@ -1246,9 +1249,9 @@ CASE ('OPEN','WALL','NEST')
PFIELDM(IE-1,:,:) + TPHALO2%EAST(:,:) & PFIELDM(IE-1,:,:) + TPHALO2%EAST(:,:) &
-4.*( PFIELDM(IE ,:,:) + PFIELDM(IE+2,:,:) ) & -4.*( PFIELDM(IE ,:,:) + PFIELDM(IE+2,:,:) ) &
+6.* PFIELDM(IE+1,:,:) & +6.* PFIELDM(IE+1,:,:) &
- real(PLSFIELD(IE-1,:,:),kind=4) - real(TPHALO2LS%EAST(:,:),kind=4) & - real(PLSFIELD(IE-1,:,:),kind=MNHREAL32) - real(TPHALO2LS%EAST(:,:),kind=MNHREAL32) &
+4.*( real(PLSFIELD(IE ,:,:),kind=4) + real(PLSFIELD(IE+2,:,:),kind=4) ) & +4.*( real(PLSFIELD(IE ,:,:),kind=MNHREAL32) + real(PLSFIELD(IE+2,:,:),kind=MNHREAL32) ) &
-6.* real(PLSFIELD(IE+1,:,:),kind=4) ) -6.* real(PLSFIELD(IE+1,:,:),kind=MNHREAL32) )
! !
ENDIF ENDIF
...@@ -1262,9 +1265,9 @@ CASE ('OPEN','WALL','NEST') ...@@ -1262,9 +1265,9 @@ CASE ('OPEN','WALL','NEST')
PFIELDM(IW-2:IE-2,:,:) + PFIELDM(IW+2:IE+2,:,:) & PFIELDM(IW-2:IE-2,:,:) + PFIELDM(IW+2:IE+2,:,:) &
-4.*( PFIELDM(IW-1:IE-1,:,:) + PFIELDM(IW+1:IE+1,:,:) ) & -4.*( PFIELDM(IW-1:IE-1,:,:) + PFIELDM(IW+1:IE+1,:,:) ) &
+6.* PFIELDM(IW:IE,:,:) & +6.* PFIELDM(IW:IE,:,:) &
- real(PLSFIELD(IW-2:IE-2,:,:),kind=4) - real(PLSFIELD(IW+2:IE+2,:,:),kind=4) & - real(PLSFIELD(IW-2:IE-2,:,:),kind=MNHREAL32) - real(PLSFIELD(IW+2:IE+2,:,:),kind=MNHREAL32) &
+4.*( real(PLSFIELD(IW-1:IE-1,:,:),kind=4) + real(PLSFIELD(IW+1:IE+1,:,:),kind=4) ) & +4.*( real(PLSFIELD(IW-1:IE-1,:,:),kind=MNHREAL32) + real(PLSFIELD(IW+1:IE+1,:,:),kind=MNHREAL32) ) &
-6.* real(PLSFIELD(IW:IE,:,:),kind=4) ) -6.* real(PLSFIELD(IW:IE,:,:),kind=MNHREAL32) )
! !
ELSE ELSE
! !
...@@ -1353,18 +1356,18 @@ IF ( .NOT. L2D ) THEN ...@@ -1353,18 +1356,18 @@ IF ( .NOT. L2D ) THEN
TPHALO2%SOUTH(:,:) + PFIELDM(:,IS+1,:) & TPHALO2%SOUTH(:,:) + PFIELDM(:,IS+1,:) &
-4.*( PFIELDM(:,IS-2,:) + PFIELDM(:,IS,:) ) & -4.*( PFIELDM(:,IS-2,:) + PFIELDM(:,IS,:) ) &
+6.* PFIELDM(:,IS-1,:) & +6.* PFIELDM(:,IS-1,:) &
- real(TPHALO2LS%SOUTH(:,:),kind=4) - real(PLSFIELD(:,IS+1,:),kind=4) & - real(TPHALO2LS%SOUTH(:,:),kind=MNHREAL32) - real(PLSFIELD(:,IS+1,:),kind=MNHREAL32) &
+4.*( real(PLSFIELD(:,IS-2,:),kind=4) + real(PLSFIELD(:,IS,:),kind=4) ) & +4.*( real(PLSFIELD(:,IS-2,:),kind=MNHREAL32) + real(PLSFIELD(:,IS,:),kind=MNHREAL32) ) &
-6.* real(PLSFIELD(:,IS-1,:),kind=4) ) -6.* real(PLSFIELD(:,IS-1,:),kind=MNHREAL32) )
! !
PRFIELDS(:,IN+1,:) = PRFIELDS(:,IN+1,:) - PRHODJ(:,IN+1,:) * & PRFIELDS(:,IN+1,:) = PRFIELDS(:,IN+1,:) - PRHODJ(:,IN+1,:) * &
PDK4*( & PDK4*( &
PFIELDM(:,IN-1,:) + TPHALO2%NORTH(:,:) & PFIELDM(:,IN-1,:) + TPHALO2%NORTH(:,:) &
-4.*( PFIELDM(:,IN,:) + PFIELDM(:,IN+2,:) ) & -4.*( PFIELDM(:,IN,:) + PFIELDM(:,IN+2,:) ) &
+6.* PFIELDM(:,IN+1,:) & +6.* PFIELDM(:,IN+1,:) &
- real(PLSFIELD(:,IN-1,:),kind=4) - real(TPHALO2LS%NORTH(:,:),kind=4) & - real(PLSFIELD(:,IN-1,:),kind=MNHREAL32) - real(TPHALO2LS%NORTH(:,:),kind=MNHREAL32) &
+4.*( real(PLSFIELD(:,IN,:),kind=4) + real(PLSFIELD(:,IN+2,:),kind=4) ) & +4.*( real(PLSFIELD(:,IN,:),kind=MNHREAL32) + real(PLSFIELD(:,IN+2,:),kind=MNHREAL32) ) &
-6.* real(PLSFIELD(:,IN+1,:),kind=4) ) -6.* real(PLSFIELD(:,IN+1,:),kind=MNHREAL32) )
! !
!!$ ENDIF !!$ ENDIF
! !
...@@ -1376,9 +1379,9 @@ IF ( .NOT. L2D ) THEN ...@@ -1376,9 +1379,9 @@ IF ( .NOT. L2D ) THEN
PFIELDM(:,IS-2:IN-2,:) + PFIELDM(:,IS+2:IN+2,:) & PFIELDM(:,IS-2:IN-2,:) + PFIELDM(:,IS+2:IN+2,:) &
-4.*( PFIELDM(:,IS-1:IN-1,:) + PFIELDM(:,IS+1:IN+1,:) ) & -4.*( PFIELDM(:,IS-1:IN-1,:) + PFIELDM(:,IS+1:IN+1,:) ) &
+6.* PFIELDM(:,IS:IN,:) & +6.* PFIELDM(:,IS:IN,:) &
- real(PLSFIELD(:,IS-2:IN-2,:),kind=4) - real(PLSFIELD(:,IS+2:IN+2,:),kind=4) & - real(PLSFIELD(:,IS-2:IN-2,:),kind=MNHREAL32) - real(PLSFIELD(:,IS+2:IN+2,:),kind=MNHREAL32) &
+4.*( real(PLSFIELD(:,IS-1:IN-1,:),kind=4) + real(PLSFIELD(:,IS+1:IN+1,:),kind=4) ) & +4.*( real(PLSFIELD(:,IS-1:IN-1,:),kind=MNHREAL32) + real(PLSFIELD(:,IS+1:IN+1,:),kind=MNHREAL32) ) &
-6.* real(PLSFIELD(:,IS:IN,:),kind=4) ) -6.* real(PLSFIELD(:,IS:IN,:),kind=MNHREAL32) )
! !
ELSE ELSE
! !
...@@ -1448,8 +1451,9 @@ IF ( .NOT. L2D ) THEN ...@@ -1448,8 +1451,9 @@ IF ( .NOT. L2D ) THEN
! !
PRFIELDS(:,IS-1,:) = PRFIELDS(:,IS-1,:) + PRHODJ(:,IS-1,:) * & PRFIELDS(:,IS-1,:) = PRFIELDS(:,IS-1,:) + PRHODJ(:,IS-1,:) * &
PDK2*( & PDK2*( &
PFIELDM(:,IS-2,:) -2.*PFIELDM(:,IS-1,:) + PFIELDM(:,IS,:) & PFIELDM(:,IS-2,:) -2.*PFIELDM(:,IS-1,:) + PFIELDM(:,IS,:) &
-real(PLSFIELD(:,IS-2,:),kind=4) +2.*real(PLSFIELD(:,IS-1,:),kind=4) - real(PLSFIELD(:,IS,:),kind=4) ) - real(PLSFIELD(:,IS-2,:),kind=MNHREAL32) +2.*real(PLSFIELD(:,IS-1,:),kind=MNHREAL32) &
- real(PLSFIELD(:,IS,:),kind=MNHREAL32) )
! !
!!$ ELSEIF (NHALO == 1) THEN !!$ ELSEIF (NHALO == 1) THEN
ELSE ELSE
...@@ -1459,9 +1463,9 @@ IF ( .NOT. L2D ) THEN ...@@ -1459,9 +1463,9 @@ IF ( .NOT. L2D ) THEN
TPHALO2%SOUTH(:,:) + PFIELDM(:,IS+1,:) & TPHALO2%SOUTH(:,:) + PFIELDM(:,IS+1,:) &
-4.*( PFIELDM(:,IS-2,:) + PFIELDM(:,IS,:) ) & -4.*( PFIELDM(:,IS-2,:) + PFIELDM(:,IS,:) ) &
+6.* PFIELDM(:,IS-1,:) & +6.* PFIELDM(:,IS-1,:) &
- real(TPHALO2LS%SOUTH(:,:),kind=4) - real(PLSFIELD(:,IS+1,:),kind=4) & - real(TPHALO2LS%SOUTH(:,:),kind=MNHREAL32) - real(PLSFIELD(:,IS+1,:),kind=MNHREAL32) &
+4.*( real(PLSFIELD(:,IS-2,:),kind=4) + real(PLSFIELD(:,IS,:),kind=4) ) & +4.*( real(PLSFIELD(:,IS-2,:),kind=MNHREAL32) + real(PLSFIELD(:,IS,:),kind=MNHREAL32) ) &
-6.* real(PLSFIELD(:,IS-1,:),kind=4) ) -6.* real(PLSFIELD(:,IS-1,:),kind=MNHREAL32) )
! !
ENDIF ENDIF
! !
...@@ -1470,7 +1474,8 @@ IF ( .NOT. L2D ) THEN ...@@ -1470,7 +1474,8 @@ IF ( .NOT. L2D ) THEN
PRFIELDS(:,IN+1,:) = PRFIELDS(:,IN+1,:) + PRHODJ(:,IN+1,:) * & PRFIELDS(:,IN+1,:) = PRFIELDS(:,IN+1,:) + PRHODJ(:,IN+1,:) * &
PDK2*( & PDK2*( &
PFIELDM(:,IN,:) -2.*PFIELDM(:,IN+1,:) + PFIELDM(:,IN+2,:) & PFIELDM(:,IN,:) -2.*PFIELDM(:,IN+1,:) + PFIELDM(:,IN+2,:) &
-real(PLSFIELD(:,IN,:),kind=4) +2.*real(PLSFIELD(:,IN+1,:),kind=4) - real(PLSFIELD(:,IN+2,:),kind=4) ) - real(PLSFIELD(:,IN,:),kind=MNHREAL32) +2.*real(PLSFIELD(:,IN+1,:),kind=MNHREAL32) &
- real(PLSFIELD(:,IN+2,:),kind=MNHREAL32) )
! !
!!$ ELSEIF (NHALO == 1) THEN !!$ ELSEIF (NHALO == 1) THEN
ELSE ELSE
...@@ -1480,9 +1485,9 @@ IF ( .NOT. L2D ) THEN ...@@ -1480,9 +1485,9 @@ IF ( .NOT. L2D ) THEN
PFIELDM(:,IN-1,:) + TPHALO2%NORTH(:,:) & PFIELDM(:,IN-1,:) + TPHALO2%NORTH(:,:) &
-4.*( PFIELDM(:,IN,:) + PFIELDM(:,IN+2,:) ) & -4.*( PFIELDM(:,IN,:) + PFIELDM(:,IN+2,:) ) &
+6.* PFIELDM(:,IN+1,:) & +6.* PFIELDM(:,IN+1,:) &
- real(PLSFIELD(:,IN-1,:),kind=4) - real(TPHALO2LS%NORTH(:,:),kind=4) & - real(PLSFIELD(:,IN-1,:),kind=MNHREAL32) - real(TPHALO2LS%NORTH(:,:),kind=MNHREAL32) &
+4.*( real(PLSFIELD(:,IN,:),kind=4) + real(PLSFIELD(:,IN+2,:),kind=4) ) & +4.*( real(PLSFIELD(:,IN,:),kind=MNHREAL32) + real(PLSFIELD(:,IN+2,:),kind=MNHREAL32) ) &
-6.* real(PLSFIELD(:,IN+1,:),kind=4) ) -6.* real(PLSFIELD(:,IN+1,:),kind=MNHREAL32) )
! !
ENDIF ENDIF
! !
...@@ -1496,9 +1501,9 @@ IF ( .NOT. L2D ) THEN ...@@ -1496,9 +1501,9 @@ IF ( .NOT. L2D ) THEN
PFIELDM(:,IS-2:IN-2,:) + PFIELDM(:,IS+2:IN+2,:) & PFIELDM(:,IS-2:IN-2,:) + PFIELDM(:,IS+2:IN+2,:) &
-4.*( PFIELDM(:,IS-1:IN-1,:) + PFIELDM(:,IS+1:IN+1,:) ) & -4.*( PFIELDM(:,IS-1:IN-1,:) + PFIELDM(:,IS+1:IN+1,:) ) &
+6.* PFIELDM(:,IS:IN,:) & +6.* PFIELDM(:,IS:IN,:) &
- real(PLSFIELD(:,IS-2:IN-2,:),kind=4) - real(PLSFIELD(:,IS+2:IN+2,:),kind=4) & - real(PLSFIELD(:,IS-2:IN-2,:),kind=MNHREAL32) - real(PLSFIELD(:,IS+2:IN+2,:),kind=MNHREAL32) &
+4.*( real(PLSFIELD(:,IS-1:IN-1,:),kind=4) + real(PLSFIELD(:,IS+1:IN+1,:),kind=4) ) & +4.*( real(PLSFIELD(:,IS-1:IN-1,:),kind=MNHREAL32) + real(PLSFIELD(:,IS+1:IN+1,:),kind=MNHREAL32) ) &
-6.* real(PLSFIELD(:,IS:IN,:),kind=4) ) -6.* real(PLSFIELD(:,IS:IN,:),kind=MNHREAL32) )
! !
ELSE ELSE
......
...@@ -159,9 +159,10 @@ END MODULE MODI_RAD_BOUND ...@@ -159,9 +159,10 @@ END MODULE MODI_RAD_BOUND
!* 0. DECLARATIONS !* 0. DECLARATIONS
! ------------ ! ------------
! !
USE MODD_CONF USE MODD_CONF
USE MODD_CTURB USE MODD_CTURB
USE MODD_PARAMETERS USE MODD_PARAMETERS
USE MODD_PRECISION, ONLY: MNHREAL32
USE MODD_RECYCL_PARAM_n, ONLY: LRECYCL, XRCOEFF USE MODD_RECYCL_PARAM_n, ONLY: LRECYCL, XRCOEFF
! !
USE MODE_ll USE MODE_ll
...@@ -321,9 +322,9 @@ SELECT CASE ( HLBCX(1) ) ...@@ -321,9 +322,9 @@ SELECT CASE ( HLBCX(1) )
! !
! Reproductibility for RSTART -> truncate ZLB to real(knd=4) to have reproductible result ! Reproductibility for RSTART -> truncate ZLB to real(knd=4) to have reproductible result
! !
ZLBEU = real(ZLBEU,kind=4) ZLBEU = real(ZLBEU,kind=MNHREAL32)
ZLBGU = real(ZLBGU,kind=4) ZLBGU = real(ZLBGU,kind=MNHREAL32)
ZLBXU = real(ZLBXU,kind=4) ZLBXU = real(ZLBXU,kind=MNHREAL32)
! ============================================================ ! ============================================================
PRUS (IIB,:,:) =(PRHODJ(IIB-1,:,:) + PRHODJ(IIB,:,:)) * 0.5 * & PRUS (IIB,:,:) =(PRHODJ(IIB-1,:,:) + PRHODJ(IIB,:,:)) * 0.5 * &
ZINVTSTEP / (1.+ ZKTSTEP * ZALPHA2 ) * & ZINVTSTEP / (1.+ ZKTSTEP * ZALPHA2 ) * &
...@@ -406,9 +407,9 @@ SELECT CASE ( HLBCX(2) ) ...@@ -406,9 +407,9 @@ SELECT CASE ( HLBCX(2) )
! !
! Reproductibility for RSTART -> truncate ZLB to real(knd=4) ! Reproductibility for RSTART -> truncate ZLB to real(knd=4)
! !
ZLBEU = real(ZLBEU,kind=4) ZLBEU = real(ZLBEU,kind=MNHREAL32)
ZLBGU = real(ZLBGU,kind=4) ZLBGU = real(ZLBGU,kind=MNHREAL32)
ZLBXU = real(ZLBXU,kind=4) ZLBXU = real(ZLBXU,kind=MNHREAL32)
! ============================================================ ! ============================================================
PRUS (IIE+1,:,:) =(PRHODJ(IIE+1,:,:) + PRHODJ(IIE,:,:)) * 0.5 * & PRUS (IIE+1,:,:) =(PRHODJ(IIE+1,:,:) + PRHODJ(IIE,:,:)) * 0.5 * &
ZINVTSTEP / (1.+ ZKTSTEP * ZALPHA2 ) * & ZINVTSTEP / (1.+ ZKTSTEP * ZALPHA2 ) * &
...@@ -490,9 +491,9 @@ SELECT CASE ( HLBCY(1) ) ...@@ -490,9 +491,9 @@ SELECT CASE ( HLBCY(1) )
! !
! Reproductibility for RSTART -> truncate ZLB to real(knd=4) to have reproductible result ! Reproductibility for RSTART -> truncate ZLB to real(knd=4) to have reproductible result
! !
ZLBEV = real(ZLBEV,kind=4) ZLBEV = real(ZLBEV,kind=MNHREAL32)
ZLBGV = real(ZLBGV,kind=4) ZLBGV = real(ZLBGV,kind=MNHREAL32)
ZLBYV = real(ZLBYV,kind=4) ZLBYV = real(ZLBYV,kind=MNHREAL32)
! ============================================================ ! ============================================================
PRVS (:,IJB,:) =(PRHODJ(:,IJB-1,:) + PRHODJ(:,IJB,:)) * 0.5 * & PRVS (:,IJB,:) =(PRHODJ(:,IJB-1,:) + PRHODJ(:,IJB,:)) * 0.5 * &
ZINVTSTEP / (1.+ ZKTSTEP * ZALPHA2 ) * & ZINVTSTEP / (1.+ ZKTSTEP * ZALPHA2 ) * &
...@@ -575,9 +576,9 @@ SELECT CASE ( HLBCY(2) ) ...@@ -575,9 +576,9 @@ SELECT CASE ( HLBCY(2) )
! !
! Reproductibility for RSTART -> truncate ZLB to real(knd=4) to have reproductible result ! Reproductibility for RSTART -> truncate ZLB to real(knd=4) to have reproductible result
! !
ZLBEV = real(ZLBEV,kind=4) ZLBEV = real(ZLBEV,kind=MNHREAL32)
ZLBGV = real(ZLBGV,kind=4) ZLBGV = real(ZLBGV,kind=MNHREAL32)
ZLBYV = real(ZLBYV,kind=4) ZLBYV = real(ZLBYV,kind=MNHREAL32)
! ============================================================ ! ============================================================
PRVS (:,IJE+1,:) =(PRHODJ(:,IJE+1,:) + PRHODJ(:,IJE,:)) * 0.5 * & PRVS (:,IJE+1,:) =(PRHODJ(:,IJE+1,:) + PRHODJ(:,IJE,:)) * 0.5 * &
ZINVTSTEP / (1.+ ZKTSTEP * ZALPHA2 ) * & ZINVTSTEP / (1.+ ZKTSTEP * ZALPHA2 ) * &
......
...@@ -273,6 +273,7 @@ USE MODD_CONF, only: cconf ...@@ -273,6 +273,7 @@ USE MODD_CONF, only: cconf
USE MODD_ELEC_DESCR, ONLY: LRELAX2FW_ION USE MODD_ELEC_DESCR, ONLY: LRELAX2FW_ION
USE MODD_NSV, ONLY: NSV_ELECBEG, NSV_ELECEND USE MODD_NSV, ONLY: NSV_ELECBEG, NSV_ELECEND
USE MODD_PARAMETERS, only: jphext, jpvext USE MODD_PARAMETERS, only: jphext, jpvext
USE MODD_PRECISION, ONLY: MNHREAL32
use mode_budget, only: Budget_store_init, Budget_store_end use mode_budget, only: Budget_store_init, Budget_store_end
USE MODE_EXTRAPOL, only: Extrapol USE MODE_EXTRAPOL, only: Extrapol
...@@ -517,16 +518,16 @@ IF(OVE_RELAX) THEN ...@@ -517,16 +518,16 @@ IF(OVE_RELAX) THEN
! !
DO JK = KALBOT, IKE+1 DO JK = KALBOT, IKE+1
! !
PRUS(:,:,JK) = PRUS(:,:,JK) - ZKV(JK) *(PUT(:,:,JK) -real(PLSUM(:,:,JK),kind=4) )& PRUS(:,:,JK) = PRUS(:,:,JK) - ZKV(JK) *(PUT(:,:,JK) -real(PLSUM(:,:,JK),kind=MNHREAL32) )&
* ZRHODJU(:,:,JK) * ZRHODJU(:,:,JK)
! !
PRVS(:,:,JK) = PRVS(:,:,JK) - ZKV(JK) *(PVT(:,:,JK) -real(PLSVM(:,:,JK),kind=4) )& PRVS(:,:,JK) = PRVS(:,:,JK) - ZKV(JK) *(PVT(:,:,JK) -real(PLSVM(:,:,JK),kind=MNHREAL32) )&
* ZRHODJV(:,:,JK) * ZRHODJV(:,:,JK)
! !
PRWS(:,:,JK) = PRWS(:,:,JK) - ZKVW(JK) *(PWT(:,:,JK) -real(PLSWM(:,:,JK),kind=4) )& PRWS(:,:,JK) = PRWS(:,:,JK) - ZKVW(JK) *(PWT(:,:,JK) -real(PLSWM(:,:,JK),kind=MNHREAL32) )&
* ZRHODJW(:,:,JK) * ZRHODJW(:,:,JK)
! !
PRTHS(:,:,JK) = PRTHS(:,:,JK) - ZKV(JK) *(PTHT(:,:,JK) -real(PLSTHM(:,:,JK),kind=4) )& PRTHS(:,:,JK) = PRTHS(:,:,JK) - ZKV(JK) *(PTHT(:,:,JK) -real(PLSTHM(:,:,JK),kind=MNHREAL32) )&
* PRHODJ(:,:,JK) * PRHODJ(:,:,JK)
! !
END DO END DO
...@@ -554,16 +555,16 @@ IF(OVE_RELAX_GRD) THEN ...@@ -554,16 +555,16 @@ IF(OVE_RELAX_GRD) THEN
! !
DO JK = 1,KALBAS DO JK = 1,KALBAS
! !
PRUS(:,:,JK) = PRUS(:,:,JK) - ZKVBAS(JK) *(PUT(:,:,JK) -real(PLSUM(:,:,JK),kind=4) )& PRUS(:,:,JK) = PRUS(:,:,JK) - ZKVBAS(JK) *(PUT(:,:,JK) -real(PLSUM(:,:,JK),kind=MNHREAL32) )&
* ZRHODJU(:,:,JK) * ZRHODJU(:,:,JK)
! !
PRVS(:,:,JK) = PRVS(:,:,JK) - ZKVBAS(JK) *(PVT(:,:,JK) -real(PLSVM(:,:,JK),kind=4) )& PRVS(:,:,JK) = PRVS(:,:,JK) - ZKVBAS(JK) *(PVT(:,:,JK) -real(PLSVM(:,:,JK),kind=MNHREAL32) )&
* ZRHODJV(:,:,JK) * ZRHODJV(:,:,JK)
! !
PRWS(:,:,JK) = PRWS(:,:,JK) - ZKVWBAS(JK) *(PWT(:,:,JK) -real(PLSWM(:,:,JK),kind=4) )& PRWS(:,:,JK) = PRWS(:,:,JK) - ZKVWBAS(JK) *(PWT(:,:,JK) -real(PLSWM(:,:,JK),kind=MNHREAL32) )&
* ZRHODJW(:,:,JK) * ZRHODJW(:,:,JK)
! !
PRTHS(:,:,JK) = PRTHS(:,:,JK) - ZKVBAS(JK) *(PTHT(:,:,JK) -real(PLSTHM(:,:,JK),kind=4) )& PRTHS(:,:,JK) = PRTHS(:,:,JK) - ZKVBAS(JK) *(PTHT(:,:,JK) -real(PLSTHM(:,:,JK),kind=MNHREAL32) )&
* PRHODJ(:,:,JK) * PRHODJ(:,:,JK)
! !
END DO END DO
......
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