Browse Source

Performance improvements

lon0
Bill Ladwig 8 years ago
parent
commit
fbb2555eae
  1. 11
      fortran/wrf_vinterp.f90

11
fortran/wrf_vinterp.f90

@ -184,14 +184,6 @@ SUBROUTINE wrf_vintrp(datain, dataout, pres, tk, qvp, ght, terrain,&
cvcord = 't' cvcord = 't'
END IF END IF
!$OMP PARALLEL DO COLLAPSE(2)
DO j = 1,ns
DO i = 1,ew
tempout(i,j) = rmsg
END DO
END DO
!$OMP END PARALLEL DO
DO nreqlvs = 1,numlevels DO nreqlvs = 1,numlevels
IF (cvcord .EQ. 'z') THEN IF (cvcord .EQ. 'z') THEN
! Convert rlevel to meters from km ! Convert rlevel to meters from km
@ -211,6 +203,7 @@ SUBROUTINE wrf_vintrp(datain, dataout, pres, tk, qvp, ght, terrain,&
!$OMP vt, tlev, gammam, e, tlcl) REDUCTION (+:log_errcnt, interp_errcnt) !$OMP vt, tlev, gammam, e, tlcl) REDUCTION (+:log_errcnt, interp_errcnt)
DO j=1,ns DO j=1,ns
DO i=1,ew DO i=1,ew
tempout(i,j) = rmsg
! Get the interpolated value that is within the model domain ! Get the interpolated value that is within the model domain
ifound = 0 ifound = 0
DO k = 1,nz-1 DO k = 1,nz-1
@ -411,8 +404,6 @@ SUBROUTINE wrf_vintrp(datain, dataout, pres, tk, qvp, ght, terrain,&
END DO END DO
!$OMP END PARALLEL DO !$OMP END PARALLEL DO
IF (log_errcnt > 0) THEN IF (log_errcnt > 0) THEN
errstat = ALGERR errstat = ALGERR
WRITE(errmsg, *) "Pres=0. Unable to take log of 0." WRITE(errmsg, *) "Pres=0. Unable to take log of 0."

Loading…
Cancel
Save