Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
ee4509b
correct Rothermel ROS fire model
XiulinGao Oct 19, 2025
694c878
correct corresponding SPITFIRE hist vars after ROS model correction
XiulinGao Oct 19, 2025
4b32ff8
made corresponding changes to fuel function test
XiulinGao Oct 19, 2025
ae50fc1
bug fix
XiulinGao Oct 20, 2025
9c17ca3
pass returned moisture to fuel class moisture var
XiulinGao Oct 20, 2025
4dda263
arg pass error
XiulinGao Oct 20, 2025
2154486
pass args
XiulinGao Oct 20, 2025
2e628ae
fix args after updating relevant subroutines
XiulinGao Oct 20, 2025
8ee718a
make corresponding change for unit test after corrections
XiulinGao Oct 20, 2025
90f9485
args pass
XiulinGao Oct 20, 2025
349cc9b
fix live fuel load zero error by switching to different fuel models
XiulinGao Oct 20, 2025
1cef085
not plotting dead and live total loading by litter class
XiulinGao Oct 20, 2025
46ee9d4
fix arg pass when call
XiulinGao Oct 26, 2025
60598a6
use SAV and other SF params locally instead of passing as args
XiulinGao Oct 27, 2025
86460f8
fix arg passing issue
XiulinGao Oct 27, 2025
e331a3d
syntax fix
XiulinGao Oct 27, 2025
defe5d0
fix arg passing in unit test for fuel
XiulinGao Oct 27, 2025
6d66caa
arg passing issue again
XiulinGao Oct 27, 2025
204aea4
remove unused parameters
XiulinGao Oct 28, 2025
c4cc3d2
revert back to original fuel models for testing
XiulinGao Oct 28, 2025
c8fd596
modularize plot time series fun
XiulinGao Oct 28, 2025
ac848b4
indent fix
XiulinGao Oct 28, 2025
9d0f3f7
remove unnecessary unit conversion given its a fraction calculation
XiulinGao Oct 28, 2025
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
118 changes: 59 additions & 59 deletions fire/FatesFuelClassesMod.F90
Original file line number Diff line number Diff line change
@@ -1,63 +1,63 @@
module FatesFuelClassesMod

use FatesLitterMod, only : ncwd
implicit none
private

integer, parameter, public :: num_fuel_classes = 6 ! number of total fuel classes
type :: fuel_classes_type
! There are six fuel classes:
! 1) twigs, 2) small branches, 3) large branches 4) trunks
! 5) dead leaves, 6) live grass
integer, private :: twigs_i = 1 ! array index for twigs pool
integer, private :: small_branches_i = 2 ! array index for small branches pool
integer, private :: large_branches_i = 3 ! array index for large branches pool
integer, private :: dead_leaves_i = 5 ! array index for dead leaves pool
integer, private :: live_grass_i = 6 ! array index for live grass pool
integer, private :: trunks_i = 4 ! array index for trunks pool

contains

procedure :: twigs, small_branches, large_branches, trunks
procedure :: dead_leaves, live_grass

end type fuel_classes_type

! actual type we can pass around
type(fuel_classes_type), public :: fuel_classes

contains

integer function twigs(this)
class(fuel_classes_type), intent(in) :: this
twigs = this%twigs_i
end function twigs

integer function small_branches(this)
class(fuel_classes_type), intent(in) :: this
small_branches = this%small_branches_i
end function small_branches

integer function large_branches(this)
class(fuel_classes_type), intent(in) :: this
large_branches = this%large_branches_i
end function large_branches

integer function trunks(this)
class(fuel_classes_type), intent(in) :: this
trunks = this%trunks_i
end function trunks

integer function dead_leaves(this)
class(fuel_classes_type), intent(in) :: this
dead_leaves = this%dead_leaves_i
end function dead_leaves

integer function live_grass(this)
class(fuel_classes_type), intent(in) :: this
live_grass = this%live_grass_i
end function live_grass
use FatesLitterMod, only : ncwd

implicit none
private

integer, parameter, public :: num_fuel_classes = 6 ! number of total fuel classes

type :: fuel_classes_type
! There are six fuel classes:
! 1) twigs, 2) small branches, 3) large branches 4) trunks
! 5) dead leaves, 6) live grass
integer, private :: twigs_i = 1 ! array index for twigs pool
integer, private :: small_branches_i = 2 ! array index for small branches pool
integer, private :: large_branches_i = 3 ! array index for large branches pool
integer, private :: dead_leaves_i = 5 ! array index for dead leaves pool
integer, private :: live_grass_i = 6 ! array index for live grass pool
integer, private :: trunks_i = 4 ! array index for trunks pool

contains

procedure :: twigs, small_branches, large_branches, trunks
procedure :: dead_leaves, live_grass

end type fuel_classes_type

! actual type we can pass around
type(fuel_classes_type), public :: fuel_classes

contains

integer function twigs(this)
class(fuel_classes_type), intent(in) :: this
twigs = this%twigs_i
end function twigs

integer function small_branches(this)
class(fuel_classes_type), intent(in) :: this
small_branches = this%small_branches_i
end function small_branches

integer function large_branches(this)
class(fuel_classes_type), intent(in) :: this
large_branches = this%large_branches_i
end function large_branches

integer function trunks(this)
class(fuel_classes_type), intent(in) :: this
trunks = this%trunks_i
end function trunks

integer function dead_leaves(this)
class(fuel_classes_type), intent(in) :: this
dead_leaves = this%dead_leaves_i
end function dead_leaves

integer function live_grass(this)
class(fuel_classes_type), intent(in) :: this
live_grass = this%live_grass_i
end function live_grass

end module FatesFuelClassesMod
Loading