Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
2 changes: 2 additions & 0 deletions Registry/Registry.EM_COMMON
Original file line number Diff line number Diff line change
Expand Up @@ -3368,6 +3368,8 @@ halo HALO_EM_D3_3 dyn_em 24:u_1,u_2,v_1,v_2,w_1,w_2,t_1,t_2,ph_1,ph_2,tke_1
halo HALO_EM_D3_5 dyn_em 48:u_1,u_2,v_1,v_2,w_1,w_2,t_1,t_2,ph_1,ph_2,tke_1,tke_2,moist,chem,tracer,scalar;4:mu_1,mu_2
halo HALO_EM_E_3 dyn_em 24:u_1,u_2,v_1,v_2,w_1,w_2,t_1,t_2,ph_1,ph_2,tke_1,tke_2,;4:mu_1,mu_2
halo HALO_EM_E_5 dyn_em 48:u_1,u_2,v_1,v_2,w_1,w_2,t_1,t_2,ph_1,ph_2,tke_1,tke_2,;4:mu_1,mu_2
halo HALO_FIREBRAND_SPOTTING_3 dyn_em 24:muts,al
halo HALO_FIREBRAND_SPOTTING_5 dyn_em 48:muts,al
halo HALO_EM_MOIST_E_3 dyn_em 24:moist
halo HALO_EM_MOIST_E_5 dyn_em 48:moist
halo HALO_EM_MOIST_E_7 dyn_em 80:moist
Expand Down
142 changes: 135 additions & 7 deletions Registry/registry.fire

Large diffs are not rendered by default.

4 changes: 3 additions & 1 deletion dyn_em/depend.dyn_em
Original file line number Diff line number Diff line change
Expand Up @@ -252,6 +252,7 @@ start_em.o: module_bc_em.o \
../phys/module_diag_zld.o \
../phys/module_diag_trad_fields.o \
../phys/module_fr_fire_driver_wrf.o \
../phys/module_firebrand_spotting.o \
$(CF)

solve_em.o: module_small_step_em.o \
Expand Down Expand Up @@ -280,7 +281,8 @@ solve_em.o: module_small_step_em.o \
../phys/module_microphysics_driver.o \
../phys/module_microphysics_zero_out.o \
../phys/module_physics_addtendc.o \
../phys/module_checkerror.o
../phys/module_checkerror.o \
../phys/module_firebrand_spotting.o

module_convtrans_prep.o :

Expand Down
54 changes: 53 additions & 1 deletion dyn_em/solve_em.F
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ SUBROUTINE solve_em ( grid , config_flags &
,period_bdy_em_tracer_sub,period_em_da_sub,period_em_hydro_uv_sub &
,period_em_f_sub,period_em_g_sub &
,halo_em_f_1_sub,halo_em_init_4_sub,halo_em_thetam_sub,period_em_thetam_sub &
,halo_em_d_pv_sub
,halo_em_d_pv_sub, halo_firebrand_spotting_3_sub, halo_firebrand_spotting_5_sub
#endif
USE module_utility
! Mediation layer modules
Expand Down Expand Up @@ -78,6 +78,9 @@ SUBROUTINE solve_em ( grid , config_flags &
USE module_llxy, ONLY : proj_cassini
USE module_avgflx_em, ONLY : zero_avgflx, upd_avgflx
USE module_cpl, ONLY : coupler_on, cpl_settime, cpl_store_input
USE module_firebrand_spotting, ONLY : firebrand_spotting_em_driver



IMPLICIT NONE

Expand Down Expand Up @@ -4746,6 +4749,55 @@ SUBROUTINE solve_em ( grid , config_flags &
ENDIF
#endif


!-----------------------------------------------------------------------
! fire spotting (passive Lagrangian particle transport, tracks firebrand physics properties)
!-----------------------------------------------------------------------
! M. Frediani

IF(config_flags%ifire == 2 .AND. &
! Check if spotting is on
config_flags%fs_firebrand_gen_lim > 0 .AND. &
! Check if this is the inner most grid
config_flags%max_dom == grid%id) THEN

!BENCH_START(fire_driver_tim)

CALL wrf_debug ( 3 , 'solve: calling firebrand_spotting_em_driver...' )

# include "HALO_FIREBRAND_SPOTTING_3.inc"
# include "HALO_FIREBRAND_SPOTTING_5.inc"
Comment thread
davegill marked this conversation as resolved.
Outdated

CALL firebrand_spotting_em_driver ( &
cf = config_flags, &
grid = grid, &
fs_p_id = grid%fs_p_id, &
fs_p_dt = grid%fs_p_dt, &
fs_p_x = grid%fs_p_x, &
fs_p_y = grid%fs_p_y, &
fs_p_z = grid%fs_p_z, &
fs_gen_inst = grid%fs_gen_inst, &
fs_p_mass = grid%fs_p_mass, &
fs_p_diam = grid%fs_p_diam, &
fs_p_effd = grid%fs_p_effd, &
fs_p_temp = grid%fs_p_temp, &
fs_p_tvel = grid%fs_p_tvel, &
fs_last_gen_dt= grid%fs_last_gen_dt, &
fs_gen_idmax = grid%fs_gen_idmax, &
fs_fire_ROSdt = grid%fs_fire_ROSdt, &
fs_fire_area = grid%fs_fire_area, &
fs_count_landed_all = grid%fs_count_landed_all, &
fs_count_landed_hist = grid%fs_count_landed_hist, &
fs_landing_mask = grid%fs_landing_mask, &
fs_spotting_lkhd = grid%fs_spotting_lkhd, &
fs_frac_landed = grid%fs_frac_landed, &
fs_fuel_spotting_risk = grid%fs_fuel_spotting_risk, &
fs_count_reset = grid%fs_count_reset)

ENDIF

!-----------------------------------------------------------------------

! Max values of CFL for adaptive time step scheme

DEALLOCATE(max_vert_cfl_tmp)
Expand Down
43 changes: 43 additions & 0 deletions dyn_em/start_em.F
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ SUBROUTINE start_domain_em ( grid, allowed_to_read &
USE module_sf_noahmpdrv, ONLY : groundwater_init
USE module_lightning_driver, ONLY : lightning_init
USE module_fr_fire_driver_wrf, ONLY : fire_driver_em_init
USE module_firebrand_spotting, ONLY : firebrand_spotting_em_init
USE module_stoch, ONLY : setup_rand_perturb, rand_seed, update_stoch, initialize_stoch
USE module_trajectory, ONLY : trajectory_init
#if (WRF_CHEM == 1)
Expand Down Expand Up @@ -2174,6 +2175,48 @@ SUBROUTINE start_domain_em ( grid, allowed_to_read &
,ips,ipe, kps,kpe, jps,jpe )

CALL wrf_debug ( 100 , 'start_domain_em: After call to fire_driver_em_init' )

!-----------------------------------------------------------------------
! fire spotting (passive Lagrangian particle transport, tracks firebrand physics properties)
!-----------------------------------------------------------------------
! M. Frediani

IF (config_flags%fs_firebrand_gen_lim > 0) THEN

IF (config_flags%max_dom == grid%id) THEN

WRITE (message,*) 'SPFire_init: In inner most grid_id: ', grid%id, ' of ', config_flags%max_dom
CALL wrf_debug ( 100 , message)
CALL wrf_debug ( 100 , 'start_em: calling firebrand_spotting_em_init ...' )

CALL firebrand_spotting_em_init ( &
grid = grid, &
cf = config_flags, &
fs_p_id = grid%fs_p_id, &
fs_p_dt = grid%fs_p_dt, &
fs_p_x = grid%fs_p_x, &
fs_p_y = grid%fs_p_y, &
fs_p_z = grid%fs_p_z, &
fs_p_mass = grid%fs_p_mass, &
fs_p_diam = grid%fs_p_diam, &
fs_p_effd = grid%fs_p_effd, &
fs_p_temp = grid%fs_p_temp, &
fs_p_tvel = grid%fs_p_tvel, &
fs_last_gen_dt= grid%fs_last_gen_dt, &
fs_gen_idmax = grid%fs_gen_idmax, &
fs_count_landed_all = grid%fs_count_landed_all, &
fs_count_landed_hist = grid%fs_count_landed_hist,&
fs_landing_mask = grid%fs_landing_mask, &
fs_spotting_lkhd = grid%fs_spotting_lkhd, &
fs_frac_landed = grid%fs_frac_landed, &
fs_count_reset = grid%fs_count_reset)

CALL wrf_debug ( 100 , 'start_em: firebrand_spotting_em_init ok ' )
ENDIF

ENDIF
!-----------------------------------------------------------------------

endif

#if ( WRFPLUS != 1 )
Expand Down
15 changes: 15 additions & 0 deletions main/depend.common
Original file line number Diff line number Diff line change
Expand Up @@ -898,6 +898,21 @@ module_fire_debug_output.o: \
../frame/module_configure.o \
../share/mediation_integrate.o

module_firebrand_spotting_mpi.o: \
../frame/module_domain.o \
../frame/module_configure.o \
../frame/module_dm.o

module_firebrand_spotting.o: \
../frame/module_domain.o \
../frame/module_configure.o \
../frame/module_dm.o \
../frame/module_state_description.o \
../frame/module_domain_type.o \
../external/esmf_time_f90/module_symbols_util.o \
../external/esmf_time_f90/module_utility.o \
module_firebrand_spotting_mpi.o

module_fdda_spnudging.o :\
../frame/module_dm.o \
../frame/module_state_description.o \
Expand Down
4 changes: 3 additions & 1 deletion phys/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,9 @@ FIRE_MODULES = \
module_fr_fire_model.o \
module_fr_fire_core.o \
module_fr_fire_phys.o \
module_fr_fire_util.o
module_fr_fire_util.o \
module_firebrand_spotting_mpi.o \
module_firebrand_spotting.o

DIAGNOSTIC_MODULES_EM = \
module_diag_afwa.o \
Expand Down
Loading