Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

Simulated plume re-renters the domain after some time??

This post was from a previous version of the WRF&MPAS-A Support Forum. New replies have been disabled and if you have follow up questions related to this post, then please start a new thread from the forum home page.

HP1801

New member
I have been trying to simulated a plume with the WRF_LES model, and I currently have 2 domains, one nested into another. I used a resolution of 10 m for my nested domain and 30 m for the larger domain. I am not sure why the plume re-enters the domain after a little while (image below)

Plume_mirror.JPG
 
Would you please give me more information about this case, like the namelist.input and how you initialize the plume. The plot is for domain 2, I guess?
 
Ming Chen said:
Would you please give me more information about this case, like the namelist.input and how you initialize the plume. The plot is for domain 2, I guess?

Yes the plot is for domain 2. I have attached the namelist.input, module_initialize_les.F and solve_em.F for further information.

More specifically, in module_initialize_les.F, I added the following lines to initialize the plume:

Code:
   IF (config_flags%tracer_opt .eq. 2) THEN
     DO j = (jde + jds)/2, (jde + jds)/2, 1
       DO i = 3*(ide + ids)/4, 3*(ide + ids)/4, 1
          IF ( its .LE. i .and. ite .GE. i .and. jts .LE. j .and. jte .GE. j ) THEN
            tracer(i, 1, j, P_tr17_1) = 0.
!                tracer(i, 1, j, P_tr17_2) = 1.
!                tracer(i, 1, j, P_tr17_3) = 1.
!                tracer(i, 1, j, P_tr17_4) = 1.
!                tracer(i, 1, j, P_tr17_5) = 1.
!                tracer(i, 1, j, P_tr17_6) = 1.
!                tracer(i, 1, j, P_tr17_7) = 1.
!                tracer(i, 1, j, P_tr17_8) = 1.
          END IF
       END DO
     END DO
   END IF

And in solve_em.F, I added the following lines:

Code:
   IF (config_flags%tracer_opt .eq. 2) THEN
     DO j = (jde + jds)/2, (jde + jds)/2,  1
       DO i = 3*(ide + ids)/4, 3*(ide + ids)/4, 1
          IF ( ips .LE. i .and. ipe .GE. i .and. jps .LE. j .and. jpe .GE. j ) THEN
            tracer(i, 1, j, P_tr17_1) = 1.
!                tracer(i, 1, j, P_tr17_2) = 1.
!                tracer(i, 1, j, P_tr17_3) = 1.
!                tracer(i, 1, j, P_tr17_4) = 1.
!                tracer(i, 1, j, P_tr17_5) = 1.
!                tracer(i, 1, j, P_tr17_6) = 1.
!                tracer(i, 1, j, P_tr17_7) = 1.
!                tracer(i, 1, j, P_tr17_8) = 1.
          END IF
       END DO
     END DO
   END IF
 

Attachments

  • namelist.input
    4.8 KB · Views: 80
  • module_initialize_les.F
    32.9 KB · Views: 62
  • solve_em.F
    250.9 KB · Views: 59
The modified code in solve_em.F indicates that at each time step, the tracer will be released at the specified points in both parent and child domain. In this case, it is hard to tell whether the tracer is newly released or it is reentering the domain.
 
Top