Skip to content

Commit

Permalink
add fire behavior tendencies to ufs ccpp (#117)
Browse files Browse the repository at this point in the history
* add hflx_fire, evap_fire, cpl_fire

Co-authored-by: Grant Firl <[email protected]>
  • Loading branch information
danrosen25 and grantfirl authored Sep 17, 2024
1 parent 663554e commit dc977bc
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 0 deletions.
8 changes: 8 additions & 0 deletions ufs/ccpp/data/MED_typedefs.F90
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,7 @@ module MED_typedefs
logical :: restart !< flag whether this is a coldstart (.false.) or a warmstart/restart (.true.)
logical :: cplice !< default no cplice collection (used together with cplflx)
logical :: cplflx !< flag controlling cplflx collection (default off)
logical :: cpl_fire !< flag controlling fire behavior collection (default off)
integer :: kdt !< current forecast iteration
real(kind=kind_phys) :: min_lakeice !< minimum lake ice value
real(kind=kind_phys) :: min_seaice !< minimum sea ice value
Expand Down Expand Up @@ -262,7 +263,9 @@ module MED_typedefs
real(kind=kind_phys), pointer :: ffhh(:) => null() !< Monin-Obukhov similarity function for heat
real(kind=kind_phys), pointer :: ffmm(:) => null() !< Monin-Obukhov similarity function for momentum
real(kind=kind_phys), pointer :: evap(:) => null() !< kinematic surface upward latent heat flux (kg kg-1 m s-1)
real(kind=kind_phys), pointer :: evap_fire(:) => null() !< kinematic surface upward latent heat flux of fire (kg kg-1 m s-1)
real(kind=kind_phys), pointer :: hflx(:) => null() !< kinematic surface upward sensible heat flux (K m/s)
real(kind=kind_phys), pointer :: hflx_fire(:) => null() !< kinematic surface upward sensible heat flux of fire (K m/s)
real(kind=kind_phys), pointer :: tiice(:,:) => null() !< sea ice internal temperature
real(kind=kind_phys), pointer :: t2m(:) => null() !< temperature at 2 m
real(kind=kind_phys), pointer :: q2m(:) => null() !< specific humidity at 2 m
Expand Down Expand Up @@ -655,6 +658,7 @@ subroutine control_initialize(model)
model%restart = .false.
model%cplice = .false.
model%cplflx = .false.
model%cpl_fire = .false.
model%kdt = 0 ! nint(Model%fhour*con_hr/Model%dtp)
model%min_lakeice = 0.15d0
model%min_seaice = 1.0d-11
Expand Down Expand Up @@ -767,8 +771,12 @@ subroutine sfcprop_create(sfcprop, im, model)
sfcprop%ffmm = clear_val
allocate(sfcprop%evap(im))
sfcprop%evap = clear_val
allocate(sfcprop%evap_fire(im))
sfcprop%evap_fire = clear_val
allocate(sfcprop%hflx(im))
sfcprop%hflx = clear_val
allocate(sfcprop%hflx_fire(im))
sfcprop%hflx_fire = clear_val
allocate(sfcprop%tiice(im,model%kice))
sfcprop%tiice = clear_val
allocate(sfcprop%t2m(im))
Expand Down
20 changes: 20 additions & 0 deletions ufs/ccpp/data/MED_typedefs.meta
Original file line number Diff line number Diff line change
Expand Up @@ -917,6 +917,12 @@
units = 1
dimensions = ()
type = integer
[cpl_fire]
standard_name = do_fire_coupling
long_name = flag controlling fire_behavior collection (default off)
units = flag
dimensions = ()
type = logical
[kdt]
standard_name = index_of_timestep
long_name = current forecast iteration
Expand Down Expand Up @@ -1267,13 +1273,27 @@
dimensions = (horizontal_loop_extent)
type = real
kind = kind_phys
[evap_fire]
standard_name = surface_upward_specific_humidity_flux_of_fire
long_name = kinematic surface upward latent heat flux of fire
units = kg kg-1 m s-1
dimensions = (horizontal_loop_extent)
type = real
kind = kind_phys
[hflx]
standard_name = surface_upward_temperature_flux
long_name = kinematic surface upward sensible heat flux
units = K m s-1
dimensions = (horizontal_loop_extent)
type = real
kind = kind_phys
[hflx_fire]
standard_name = kinematic_surface_upward_sensible_heat_flux_of_fire
long_name = kinematic surface upward sensible heat flux of fire
units = K m s-1
dimensions = (horizontal_loop_extent)
type = real
kind = kind_phys
[tiice]
standard_name = temperature_in_ice_layer
long_name = sea ice internal temperature
Expand Down

0 comments on commit dc977bc

Please sign in to comment.