Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/ufs fire cpl #117

Merged
merged 4 commits into from
Sep 17, 2024
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
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