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
1 change: 1 addition & 0 deletions Registry/Registry.EM_COMMON
Original file line number Diff line number Diff line change
Expand Up @@ -3368,6 +3368,7 @@ 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_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
146 changes: 139 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
51 changes: 50 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_5_sub
#endif
USE module_utility
! Mediation layer modules
Expand Down Expand Up @@ -78,6 +78,7 @@ 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 +4747,54 @@ SUBROUTINE solve_em ( grid , config_flags &
ENDIF
#endif


!-----------------------------------------------------------------------
! firebrand spotting (passive Lagrangian particle transport,
! tracks firebrand physics properties)
!-----------------------------------------------------------------------

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

#ifdef DM_PARALLEL
CALL wrf_debug ( 200 , ' call HALO_FIREBRAND_SPOTTING' )
# include "HALO_FIREBRAND_SPOTTING_5.inc"
#endif

CALL wrf_debug ( 3 , 'solve: calling firebrand_spotting_em_driver...' )
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
! end of firebrand spotting
!-----------------------------------------------------------------------

! 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)
!-----------------------------------------------------------------------

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