Skip to content

Commit

Permalink
Rename all of the fire files, and the associated subroutines.
Browse files Browse the repository at this point in the history
A  + phys/module_fr_fire_driver.F
A  + phys/fr_fire_params_args.h
A  + phys/fr_fire_params_decl.h
D    phys/fr_sfire_params_args.h
A  + phys/module_fr_fire_phys.F
D    phys/fr_sfire_params_decl.h
D    phys/module_fr_sfire_phys.F
A  + phys/module_fr_fire_core.F
D    phys/module_fr_sfire_atm.F
A  + phys/module_fr_fire_driver_wrf.F
D    phys/module_fr_sfire_core.F
A  + phys/module_fr_fire_model.F
A  + phys/module_fr_fire_util.F
M    phys/Makefile
D    phys/module_fr_sfire_util.F
A  + phys/module_fr_fire_atm.F
D    phys/module_fr_sfire_driver_wrf.F
D    phys/module_fr_sfire_driver.F
D    phys/module_fr_sfire_model.F
M    dyn_em/module_first_rk_step_part1.F
M    dyn_em/module_initialize_fire.F
M    dyn_em/start_em.F
M    dyn_em/depend.dyn_em



git-svn-id: https://svn-wrf-model.cgd.ucar.edu/trunk@6253 b0b5d27b-6f0f-0410-a2a3-cb1e977edc3d
  • Loading branch information
davegill committed Jan 20, 2013
1 parent 59d1a27 commit ff7ec68
Show file tree
Hide file tree
Showing 14 changed files with 200 additions and 198 deletions.
4 changes: 3 additions & 1 deletion dyn_em/depend.dyn_em
Expand Up @@ -118,7 +118,7 @@ module_initialize_fire.o : \
../share/module_model_constants.o \
../share/module_bc.o \
module_init_utilities.o \
../phys/module_fr_sfire_util.o
../phys/module_fr_fire_util.o

module_initialize_quarter_ss.o : \
../frame/module_domain.o \
Expand Down Expand Up @@ -230,6 +230,7 @@ start_em.o: module_bc_em.o \
../share/module_date_time.o \
../phys/module_physics_init.o \
../phys/module_diagnostics.o \
../phys/module_fr_fire_driver_wrf.o \
$(CF)

solve_em.o: module_small_step_em.o \
Expand Down Expand Up @@ -266,6 +267,7 @@ module_first_rk_step_part1.o : \
../phys/module_cumulus_driver.o \
../phys/module_shallowcu_driver.o \
../phys/module_pbl_driver.o \
../phys/module_fr_fire_driver_wrf.o \
../frame/module_comm_dm.o \
../phys/module_fddagd_driver.o

Expand Down
6 changes: 3 additions & 3 deletions dyn_em/module_first_rk_step_part1.F
Expand Up @@ -42,7 +42,7 @@ SUBROUTINE first_rk_step_part1 ( grid , config_flags &
USE module_cumulus_driver, ONLY : cumulus_driver
USE module_shallowcu_driver, ONLY : shallowcu_driver
USE module_pbl_driver, ONLY : pbl_driver
USE module_fr_sfire_driver_wrf, ONLY : sfire_driver_em_step
USE module_fr_fire_driver_wrf, ONLY : fire_driver_em_step
USE module_fddagd_driver, ONLY : fddagd_driver
USE module_em, ONLY : init_zero_tendency
USE module_force_scm
Expand Down Expand Up @@ -843,12 +843,12 @@ SUBROUTINE first_rk_step_part1 ( grid , config_flags &
if(config_flags%ifire.eq.2)then
! initialization moved to start_em:start_domain_em
! if(grid%initestep.eq.1) &
! call sfire_driver_em_init ( grid , config_flags &
! call fire_driver_em_init ( grid , config_flags &
! ,ids,ide, kds,kde, jds,jde &
! ,ims,ime, kms,kme, jms,jme &
! ,ips,ipe, kps,kpe, jps,jpe )
! one timestep of the fire model
call sfire_driver_em_step ( grid , config_flags &
call fire_driver_em_step ( grid , config_flags &
,ids,ide, kds,kde, jds,jde &
,ims,ime, kms,kme, jms,jme &
,ips,ipe, kps,kpe, jps,jpe &
Expand Down
2 changes: 1 addition & 1 deletion dyn_em/module_initialize_fire.F
Expand Up @@ -27,7 +27,7 @@ MODULE module_initialize_ideal
#ifdef DM_PARALLEL
USE module_dm
#endif
USE module_fr_sfire_util, ONLY: continue_at_boundary,crash,read_array_2d_real, &
USE module_fr_fire_util, ONLY: continue_at_boundary,crash,read_array_2d_real, &
read_array_2d_integer,interpolate_2d,set_ideal_coord

CONTAINS
Expand Down
6 changes: 3 additions & 3 deletions dyn_em/start_em.F
Expand Up @@ -24,7 +24,7 @@ SUBROUTINE start_domain_em ( grid, allowed_to_read &
USE module_comm_dm

USE module_physics_init
USE module_fr_sfire_driver_wrf, ONLY : sfire_driver_em_init
USE module_fr_fire_driver_wrf, ONLY : fire_driver_em_init
USE module_stoch, ONLY : SETUP_STOCH, update_stoch
#ifdef WRF_CHEM
USE module_aerosols_sorgam, ONLY: sum_pm_sorgam
Expand Down Expand Up @@ -1488,12 +1488,12 @@ SUBROUTINE start_domain_em ( grid, allowed_to_read &
! FIRE
if(config_flags%ifire.eq.2)then
call sfire_driver_em_init ( grid , config_flags &
call fire_driver_em_init ( grid , config_flags &
,ids,ide, kds,kde, jds,jde &
,ims,ime, kms,kme, jms,jme &
,ips,ipe, kps,kpe, jps,jpe )
CALL wrf_debug ( 100 , 'start_domain_em: After call to sfire_driver_em_init' )
CALL wrf_debug ( 100 , 'start_domain_em: After call to fire_driver_em_init' )
endif
Expand Down
14 changes: 7 additions & 7 deletions phys/Makefile
Expand Up @@ -152,13 +152,13 @@ MODULES = \
module_wind_fitch.o

FIRE_MODULES = \
module_fr_sfire_driver.o \
module_fr_sfire_driver_wrf.o \
module_fr_sfire_atm.o \
module_fr_sfire_model.o \
module_fr_sfire_core.o \
module_fr_sfire_phys.o \
module_fr_sfire_util.o
module_fr_fire_driver.o \
module_fr_fire_driver_wrf.o \
module_fr_fire_atm.o \
module_fr_fire_model.o \
module_fr_fire_core.o \
module_fr_fire_phys.o \
module_fr_fire_util.o

OBJS =

Expand Down
File renamed without changes.
File renamed without changes.
8 changes: 4 additions & 4 deletions phys/module_fr_sfire_atm.F → phys/module_fr_fire_atm.F
@@ -1,10 +1,10 @@
!WRF:MEDIATION_LAYER:FIRE_MODEL
! Routines dealing with the atmosphere

module module_fr_sfire_atm
module module_fr_fire_atm

use module_model_constants, only: cp,xlv
use module_fr_sfire_util
use module_fr_fire_util

contains

Expand All @@ -18,7 +18,7 @@ SUBROUTINE fire_tendency( &
rthfrten,rqvfrten) ! theta and Qv tendencies

! This routine is atmospheric physics
! it does NOT go into module_fr_sfire_phys because it is not related to fire physical processes
! it does NOT go into module_fr_fire_phys because it is not related to fire physical processes

! --- this routine takes fire generated heat and moisture fluxes and
! calculates their influence on the theta and water vapor
Expand Down Expand Up @@ -172,4 +172,4 @@ END SUBROUTINE fire_tendency
!***
!

end module module_fr_sfire_atm
end module module_fr_fire_atm
76 changes: 38 additions & 38 deletions phys/module_fr_sfire_core.F → phys/module_fr_fire_core.F
Expand Up @@ -4,14 +4,14 @@
!#define FUEL_LEFT
!#define DEBUG_OUT_FUEL_LEFT

module module_fr_sfire_core
module module_fr_fire_core

use module_fr_sfire_phys, only: fire_params , fire_ros
use module_fr_sfire_util
use module_fr_fire_phys, only: fire_params , fire_ros
use module_fr_fire_util

! The mathematical core of the fire spread model. No physical constants here.
!
! subroutine sfire_core: only this routine should be called from the outside.
! subroutine fire_core: only this routine should be called from the outside.
! subroutine fuel_left: compute remaining fuel from time of ignition.
! subroutine prop_ls: propagation of curve in normal direction.

Expand Down Expand Up @@ -180,14 +180,14 @@ subroutine ignite_fire( ifds,ifde,jfds,jfde, & ! fire domain
aymin=coord_yf(ifts,jfts)
axmax=coord_xf(ifte,jfte)
aymax=coord_yf(ifte,jfte)
!$OMP CRITICAL(SFIRE_CORE_CRIT)
!$OMP CRITICAL(FIRE_CORE_CRIT)
write(msg,'(a,2f11.6,a,2f11.6)')'IGN from ',sx,sy,' to ',ex,ey
call message(msg)
write(msg,'(a,2f10.2,a,2f10.2,a)')'IGN timestep [',start_ts,end_ts,'] in [',start_time,end_time,']'
call message(msg)
write(msg,'(a,2g13.6,a,2g13.6)')'IGN tile coord from ',axmin,aymin,' to ',axmax,aymax
call message(msg)
!$OMP END CRITICAL(SFIRE_CORE_CRIT)
!$OMP END CRITICAL(FIRE_CORE_CRIT)
ignited=0
dmax=0
dmin=huge(dmax)
Expand All @@ -206,51 +206,51 @@ subroutine ignite_fire( ifds,ifde,jfds,jfde, & ! fire domain

lfn_new=d - min( radius, ros*(end_ts - time_ign) ) ! lft at end_ts
if(fire_print_msg.ge.3)then
!$OMP CRITICAL(SFIRE_CORE_CRIT)
!$OMP CRITICAL(FIRE_CORE_CRIT)
write(msg,*)'IGN1 i,j=',i,j,' lfn(i,j)=',lfn(i,j),' tign(i,j)=',tign(i,j)
call message(msg)
write(msg,*)'IGN2 i,j=',i,j,' lfn_new= ',lfn_new, ' time_ign= ',time_ign,' d=',d
call message(msg)
!$OMP END CRITICAL(SFIRE_CORE_CRIT)
!$OMP END CRITICAL(FIRE_CORE_CRIT)
endif
if(.not.lfn_new>0.) then
ignited=ignited+1 ! count
endif
if(lfn(i,j)>0. .and. .not. lfn_new > 0.) then
tign(i,j)=time_ign + d/ros ! newly ignited now
if(fire_print_msg.ge.3)then
!$OMP CRITICAL(SFIRE_CORE_CRIT)
!$OMP CRITICAL(FIRE_CORE_CRIT)
write(msg,'(a,2i6,a,2g13.6,a,f10.2,a,2f10.2,a)')'IGN ignited cell ',i,j,' at',ax,ay, &
' time',tign(i,j),' in [',start_ts,end_ts,']'
call message(msg)
write(msg,'(a,g10.3,a,f10.2,a,2f10.2,a)')'IGN distance',d,' from ignition line at',time_ign,' in [',st,et,']'
call message(msg)
!$OMP END CRITICAL(SFIRE_CORE_CRIT)
!$OMP END CRITICAL(FIRE_CORE_CRIT)
endif
if(tign(i,j) < start_ts .or. tign(i,j) > end_ts )then
!$OMP CRITICAL(SFIRE_CORE_CRIT)
!$OMP CRITICAL(FIRE_CORE_CRIT)
write(msg,'(a,2i6,a,f11.6,a,2f11.6,a)')'WARNING ',i,j, &
' fixing ignition time ',tign(i,j),' outside of the time step [',start_ts,end_ts,']'
call message (msg)
!$OMP END CRITICAL(SFIRE_CORE_CRIT)
!$OMP END CRITICAL(FIRE_CORE_CRIT)
tign(i,j) = min(max(tign(i,j),start_ts),end_ts)
endif
endif
lfn(i,j)=min(lfn(i,j),lfn_new) ! update the level set function
if(fire_print_msg.ge.3)then
!$OMP CRITICAL(SFIRE_CORE_CRIT)
!$OMP CRITICAL(FIRE_CORE_CRIT)
write(msg,*)'IGN3 i,j=',i,j,' lfn(i,j)=',lfn(i,j),' tign(i,j)=',tign(i,j)
call message(msg)
!$OMP END CRITICAL(SFIRE_CORE_CRIT)
!$OMP END CRITICAL(FIRE_CORE_CRIT)
endif
enddo
enddo
!$OMP CRITICAL(SFIRE_CORE_CRIT)
!$OMP CRITICAL(FIRE_CORE_CRIT)
write(msg,'(a,2g13.2,a,g10.2,a,g10.2)')'IGN units ',unit_xf,unit_yf,' m max dist ',dmax,' min',dmin
call message(msg)
write(msg,'(a,f6.1,a,f8.1,a,i10)')'IGN radius ',radius,' time of spread',tos,' ignited nodes',ignited
call message(msg)
!$OMP END CRITICAL(SFIRE_CORE_CRIT)
!$OMP END CRITICAL(FIRE_CORE_CRIT)

return
99 continue
Expand Down Expand Up @@ -320,7 +320,7 @@ SUBROUTINE nearest(d,t,ax,ay,sx,sy,st,ex,ey,et,cx2,cy2)
d=sqrt((ax-cx)*(ax-cx)*cx2+(ay-cy)*(ay-cy)*cy2) ! |a-c|^2
t = (et + st)*0.5 + mcrel*(et - st)*0.5 ! interpolate to c by going from m
if(fire_print_msg.ge.3)then
!$OMP CRITICAL(SFIRE_CORE_CRIT)
!$OMP CRITICAL(FIRE_CORE_CRIT)
write(msg,12)'find nearest to [',ax,ay,'] from [',sx,sy,'] [',ex,ey,']' ! DEB
call message(msg)
write(msg,12)'end times',st,et,' scale squared',cx2,cy2 ! DEB
Expand All @@ -333,7 +333,7 @@ SUBROUTINE nearest(d,t,ax,ay,sx,sy,st,ex,ey,et,cx2,cy2)
call message(msg)
write(msg,11)'am_es=',am_es,'cos2=',cos2,'dmc2=',dmc2 ! DEB
call message(msg)
!$OMP END CRITICAL(SFIRE_CORE_CRIT)
!$OMP END CRITICAL(FIRE_CORE_CRIT)
endif
END SUBROUTINE nearest

Expand Down Expand Up @@ -526,10 +526,10 @@ subroutine fuel_left(&
! consistency check
if(fire_area_ff.lt.-1e-6 .or. &
(fire_area_ff.eq.0. .and. fuel_left_ff.lt.1.-1e-6))then
!$OMP CRITICAL(SFIRE_CORE_CRIT)
!$OMP CRITICAL(FIRE_CORE_CRIT)
write(msg,'(a,2i6,2(a,f11.8))')'fuel_left: at node',i,j, &
' of refined mesh fuel burnt',1-fuel_left_ff,' fire area',fire_area_ff
!$OMP END CRITICAL(SFIRE_CORE_CRIT)
!$OMP END CRITICAL(FIRE_CORE_CRIT)
call crash(msg)
endif

Expand Down Expand Up @@ -566,10 +566,10 @@ subroutine fuel_left(&
do i=its,ite
if(fire_area(i,j).eq.0.)then
if(fuel_frac(i,j).lt.1.-1e-6)then
!$OMP CRITICAL(SFIRE_CORE_CRIT)
!$OMP CRITICAL(FIRE_CORE_CRIT)
write(msg,'(a,2i6,2(a,f11.8))')'fuel_left: at node',i,j, &
' fuel burnt',1-fuel_frac(i,j),' but fire area',fire_area(i,j)
!$OMP END CRITICAL(SFIRE_CORE_CRIT)
!$OMP END CRITICAL(FIRE_CORE_CRIT)
call crash(msg)
endif
else
Expand All @@ -578,9 +578,9 @@ subroutine fuel_left(&
endif
enddo
enddo
!$OMP CRITICAL(SFIRE_CORE_CRIT)
!$OMP CRITICAL(FIRE_CORE_CRIT)
write(msg,'(a,4i6,a,f10.7)')'fuel_left: tile',its,ite,jts,jte,' max fuel burnt/area',fmax
!$OMP END CRITICAL(SFIRE_CORE_CRIT)
!$OMP END CRITICAL(FIRE_CORE_CRIT)
call message(msg)
return

Expand Down Expand Up @@ -717,11 +717,11 @@ subroutine fuel_left_cell_1( fuel_frac_left, fire_frac_area, &
if(area>0)out=area*exp(ta/fuel_time_cell) + (1. - area)

if(out>1.)then
!$OMP CRITICAL(SFIRE_CORE_CRIT)
!$OMP CRITICAL(FIRE_CORE_CRIT)
write(msg,*)'out=',out,'>1 area=',area,' ta=',ta
call message(msg)
write(msg,*)'tign=',tign00,tign01,tign10,tign11,' time_now=',time_now
!$OMP END CRITICAL(SFIRE_CORE_CRIT)
!$OMP END CRITICAL(FIRE_CORE_CRIT)
call message(msg)
!call message('WARNING: fuel_left_cell_1: fuel fraction > 1')
call crash('fuel_left_cell_1: fuel fraction > 1')
Expand Down Expand Up @@ -1386,12 +1386,12 @@ subroutine prop_ls( id, & ! for debug

!*** executable

!$OMP CRITICAL(SFIRE_CORE_CRIT)
!$OMP CRITICAL(FIRE_CORE_CRIT)
write(msg,'(a8,i5,a6,i5,3(a1,i5))')'prop_ls:',id,' tile ',its,':',ite,',',jts,':',jte
!$OMP END CRITICAL(SFIRE_CORE_CRIT)
!$OMP END CRITICAL(FIRE_CORE_CRIT)
call message(msg)

a=fire_back_weight ! from module_fr_sfire_util
a=fire_back_weight ! from module_fr_fire_util
a1=1. - a

! tend = F(lfn)
Expand Down Expand Up @@ -1476,16 +1476,16 @@ subroutine prop_ls( id, & ! for debug

tbound=min(tbound,tbound2)

!$OMP CRITICAL(SFIRE_CORE_CRIT)
!$OMP CRITICAL(FIRE_CORE_CRIT)
write(msg,'(a,f10.2,4(a,f7.2))')'prop_ls: time',ts,' dt=',dt,' bound',min(tbound,999.99), &
' dx=',dx,' dy=',dy
!$OMP END CRITICAL(SFIRE_CORE_CRIT)
!$OMP END CRITICAL(FIRE_CORE_CRIT)
call message(msg)
if(dt>tbound)then
!$OMP CRITICAL(SFIRE_CORE_CRIT)
!$OMP CRITICAL(FIRE_CORE_CRIT)
write(msg,'(2(a,f10.2))')'prop_ls: WARNING: time step ',dt, &
' > bound =',tbound
!$OMP END CRITICAL(SFIRE_CORE_CRIT)
!$OMP END CRITICAL(FIRE_CORE_CRIT)
call message(msg)
endif

Expand Down Expand Up @@ -1566,10 +1566,10 @@ subroutine prop_ls( id, & ! for debug
endif
enddo
enddo
!$OMP CRITICAL(SFIRE_CORE_CRIT)
!$OMP CRITICAL(FIRE_CORE_CRIT)
write(msg,'(2(a,i6,f8.4))')'prop_ls: nodes burning',nfirenodes, &
(100.*nfirenodes)/((ite1-its1+1)*(jte1-jts1+1)),'% next to fireline',nfireline
!$OMP END CRITICAL(SFIRE_CORE_CRIT)
!$OMP END CRITICAL(FIRE_CORE_CRIT)
call message(msg)
if(nfireline>0)then
call print_stat_line('speed error',its1,ite1,jts1,jte1,min_err,max_err,sum_err/nfireline)
Expand Down Expand Up @@ -1599,10 +1599,10 @@ subroutine prop_ls( id, & ! for debug
enddo
goto 10
9 continue
!$OMP CRITICAL(SFIRE_CORE_CRIT)
!$OMP CRITICAL(FIRE_CORE_CRIT)
write(msg,'(a,i2,a,2i8)')'prop_ls: fire',boundary_guard, &
' cells from domain boundary at node ',i,j
!$OMP END CRITICAL(SFIRE_CORE_CRIT)
!$OMP END CRITICAL(FIRE_CORE_CRIT)
call message(msg)
call crash('prop_ls: increase the fire region')
10 continue
Expand Down Expand Up @@ -1936,4 +1936,4 @@ real function speed_func(diffCx,diffCy,dx,dy,i,j,fp)

end function speed_func

end module module_fr_sfire_core
end module module_fr_fire_core

0 comments on commit ff7ec68

Please sign in to comment.