Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Registry/Registry.EM_COMMON
Original file line number Diff line number Diff line change
Expand Up @@ -3165,7 +3165,7 @@ halo HALO_EM_INIT_4 dyn_em 48:pb,h_diabatic,qv_diabatic,qc_diabatic,msftx,m
halo HALO_EM_INIT_5 dyn_em 48:moist,chem,scalar,tracer
halo HALO_EM_INIT_6 dyn_em 48:om_tmp,om_s,om_u,om_v,om_depth,om_tini,om_sini,om_lat,om_lon,om_ml
halo HALO_EM_VINTERP_UV_1 dyn_em 48:pd_gc,pb,pmaxw,ptrop,pmaxwnn,ptropnn
halo HALO_EM_A dyn_em 8:ru,rv,rw,ww,php,alt,al,p,muu,muv,mut
halo HALO_EM_A dyn_em 8:ru,rv,rw,ww,php,alt,al,p,muu,muv,mut,rho
halo HALO_EM_PHYS_A dyn_em 4:u_2,v_2
halo HALO_EM_PHYS_PBL dyn_em 4:rublten,rvblten
halo HALO_EM_PHYS_CU dyn_em 4:rucuten,rvcuten
Expand Down Expand Up @@ -3279,7 +3279,7 @@ period PERIOD_BDY_EM_TKE_OLD dyn_em 4:tke_1

period PERIOD_BDY_EM_E dyn_em 2:u_2,v_2,ht
period PERIOD_EM_HYDRO_UV dyn_em 1:u_2,v_2
period PERIOD_BDY_EM_A dyn_em 2:ru,rv,rw,ww,php,alt,p,muu,muv,mut,ph_2,al
period PERIOD_BDY_EM_A dyn_em 2:ru,rv,rw,ww,php,alt,p,muu,muv,mut,ph_2,al,rho
period PERIOD_BDY_EM_A1 dyn_em 3:rdzw,rdz,z,zx,zy,ustm,ust
period PERIOD_BDY_EM_PHY_BC dyn_em 2:rublten,rvblten,rucuten,rvcuten,xkmh,xkmv,xkhh,xkhv,div,defor11,defor22,defor12,defor13,defor23,defor33,tke_2,rho,gamu,gamv,xkmv_meso
period PERIOD_BDY_EM_FDDA_BC dyn_em 2:rundgdten,rvndgdten
Expand Down
39 changes: 21 additions & 18 deletions dyn_em/module_diffusion_em.F
Original file line number Diff line number Diff line change
Expand Up @@ -5505,7 +5505,7 @@ SUBROUTINE cal_titau_12_21( config_flags, titau, &
:: i, j, k, ktf, i_start, i_end, j_start, j_end

REAL, DIMENSION( its-1:ite+1, kts:kte, jts-1:jte+1 ) &
:: xkxavg
:: xkxavg, rhoavg

! End declarations.
!-----------------------------------------------------------------------
Expand Down Expand Up @@ -5538,10 +5538,11 @@ SUBROUTINE cal_titau_12_21( config_flags, titau, &
DO j = j_start, j_end
DO k = kts, ktf
DO i = i_start, i_end
xkxavg(i,k,j) = 0.25 * ( xkx(i-1,k,j ) + xkx(i,k,j ) + &
rhoavg(i,k,j) = 0.25 * ( rho(i-1,k,j ) + rho(i,k,j ) + &
rho(i-1,k,j-1) + rho(i,k,j-1) )
xkxavg(i,k,j) = rhoavg(i,k,j) * &
0.25 * ( xkx(i-1,k,j ) + xkx(i,k,j ) + &
xkx(i-1,k,j-1) + xkx(i,k,j-1) )
xkxavg(i,k,j) = xkxavg(i,k,j) * .25 * ( rho(i-1,k,j ) + rho(i,k,j ) + &
rho(i-1,k,j-1) + rho(i,k,j-1) )
END DO
END DO
END DO
Expand All @@ -5554,7 +5555,7 @@ SUBROUTINE cal_titau_12_21( config_flags, titau, &
DO k = kts, ktf
DO i = i_start, i_end

titau(i,k,j) = rho(i,k,j) * mtau(i,k,j)
titau(i,k,j) = rhoavg(i,k,j) * mtau(i,k,j)

END DO
END DO
Expand All @@ -5568,7 +5569,7 @@ SUBROUTINE cal_titau_12_21( config_flags, titau, &
DO k = kts, ktf
DO i = i_start, i_end
titau(i,k,j) = - xkxavg(i,k,j) * defor(i,k,j)
mtau(i,k,j) = - xkxavg(i,k,j) * defor(i,k,j) / rho(i,k,j)
mtau(i,k,j) = - xkxavg(i,k,j) * defor(i,k,j) / rhoavg(i,k,j)

END DO
END DO
Expand Down Expand Up @@ -5650,7 +5651,7 @@ SUBROUTINE cal_titau_13_31( config_flags, titau, &
:: i, j, k, ktf, i_start, i_end, j_start, j_end

REAL, DIMENSION( its-1:ite+1, kts:kte, jts-1:jte+1 ) &
:: xkxavg
:: xkxavg, rhoavg

! End declarations.
!-----------------------------------------------------------------------
Expand Down Expand Up @@ -5683,10 +5684,11 @@ SUBROUTINE cal_titau_13_31( config_flags, titau, &
DO j = j_start, j_end
DO k = kts+1, ktf
DO i = i_start, i_end
xkxavg(i,k,j) = 0.5 * ( fnm(k) * ( xkx(i,k ,j) + xkx(i-1,k ,j) ) + &
rhoavg(i,k,j) = 0.5 * ( fnm(k) * ( rho(i-1,k ,j) + rho(i,k ,j) ) + &
fnp(k) * ( rho(i-1,k-1,j) + rho(i,k-1,j) ) )
xkxavg(i,k,j) = rhoavg(i,k,j) * &
0.5 * ( fnm(k) * ( xkx(i,k ,j) + xkx(i-1,k ,j) ) + &
fnp(k) * ( xkx(i,k-1,j) + xkx(i-1,k-1,j) ) )
xkxavg(i,k,j) = xkxavg(i,k,j) * 0.5 * ( fnm(k) * ( rho(i-1,k ,j) + rho(i,k ,j) ) + &
fnp(k) * ( rho(i-1,k-1,j) + rho(i,k-1,j) ) )
END DO
END DO
END DO
Expand All @@ -5696,7 +5698,7 @@ SUBROUTINE cal_titau_13_31( config_flags, titau, &
DO j = j_start, j_end
DO k = kts+1, ktf
DO i = i_start, i_end
titau(i,k,j) = rho(i,k,j) * mtau(i,k,j)
titau(i,k,j) = rhoavg(i,k,j) * mtau(i,k,j)
ENDDO
ENDDO
ENDDO
Expand All @@ -5710,7 +5712,7 @@ SUBROUTINE cal_titau_13_31( config_flags, titau, &
DO i = i_start, i_end

titau(i,k,j) = - xkxavg(i,k,j) * defor(i,k,j)
mtau(i,k,j) = - xkxavg(i,k,j) * defor(i,k,j) / rho(i,k,j)
mtau(i,k,j) = - xkxavg(i,k,j) * defor(i,k,j) / rhoavg(i,k,j)

ENDDO
ENDDO
Expand Down Expand Up @@ -5799,7 +5801,7 @@ SUBROUTINE cal_titau_23_32( config_flags, titau, defor, &
:: i, j, k, ktf, i_start, i_end, j_start, j_end

REAL, DIMENSION( its-1:ite+1, kts:kte, jts-1:jte+1 ) &
:: xkxavg
:: xkxavg, rhoavg

! End declarations.
!-----------------------------------------------------------------------
Expand Down Expand Up @@ -5832,10 +5834,11 @@ SUBROUTINE cal_titau_23_32( config_flags, titau, defor, &
DO j = j_start, j_end
DO k = kts+1, ktf
DO i = i_start, i_end
xkxavg(i,k,j) = 0.5 * ( fnm(k) * ( xkx(i,k ,j) + xkx(i,k ,j-1) ) + &
rhoavg(i,k,j) = 0.5 * ( fnm(k) * ( rho(i,k ,j) + rho(i,k ,j-1) ) + &
fnp(k) * ( rho(i,k-1,j) + rho(i,k-1,j-1) ) )
xkxavg(i,k,j) = rhoavg(i,k,j) * &
0.5 * ( fnm(k) * ( xkx(i,k ,j) + xkx(i,k ,j-1) ) + &
fnp(k) * ( xkx(i,k-1,j) + xkx(i,k-1,j-1) ) )
xkxavg(i,k,j) = xkxavg(i,k,j) * 0.5 * ( fnm(k) * ( rho(i,k ,j) + rho(i,k ,j-1) ) + &
fnp(k) * ( rho(i,k-1,j) + rho(i,k-1,j-1) ) )
END DO
END DO
END DO
Expand All @@ -5846,7 +5849,7 @@ SUBROUTINE cal_titau_23_32( config_flags, titau, defor, &
DO k = kts+1, ktf
DO i = i_start, i_end

titau(i,k,j) = rho(i,k,j) * mtau(i,k,j)
titau(i,k,j) = rhoavg(i,k,j) * mtau(i,k,j)

END DO
END DO
Expand All @@ -5861,7 +5864,7 @@ SUBROUTINE cal_titau_23_32( config_flags, titau, defor, &
DO i = i_start, i_end

titau(i,k,j) = - xkxavg(i,k,j) * defor(i,k,j)
mtau(i,k,j) = - xkxavg(i,k,j) * defor(i,k,j) / rho(i,k,j)
mtau(i,k,j) = - xkxavg(i,k,j) * defor(i,k,j) / rhoavg(i,k,j)

END DO
END DO
Expand Down
7 changes: 7 additions & 0 deletions dyn_em/solve_em.F
Original file line number Diff line number Diff line change
Expand Up @@ -671,6 +671,13 @@ SUBROUTINE solve_em ( grid , config_flags &
grid%i_start(ij), grid%i_end(ij), &
grid%j_start(ij), grid%j_end(ij), &
k_start, k_end )
CALL set_physical_bc3d( grid%rho, 'p', config_flags, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe, &
grid%i_start(ij), grid%i_end(ij), &
grid%j_start(ij), grid%j_end(ij), &
k_start , k_end )
CALL set_physical_bc3d( grid%al, 'p', config_flags, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
Expand Down