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/adarmenov/ignio #699

Merged
merged 40 commits into from
Feb 27, 2023
Merged
Show file tree
Hide file tree
Changes from 37 commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
b6730bf
Merge pull request #642 from GEOS-ESM/develop
sdrabenh Sep 12, 2022
4961a99
Merge pull request #672 from GEOS-ESM/develop
sdrabenh Nov 17, 2022
c92d007
WIP: Initial commit of IGNI
adarmenov Dec 15, 2022
286823f
Condense the import spec.
adarmenov Dec 16, 2022
59e392d
Refactor - remove unused variables
adarmenov Dec 16, 2022
f52b6ec
Enable/disable calculation of fire danger at runtime
adarmenov Dec 16, 2022
fdd444e
Use PRLAND
adarmenov Dec 22, 2022
0128031
Refactor CFFWI
adarmenov Dec 23, 2022
9ecc254
Add tests for CFFWI
adarmenov Dec 23, 2022
8557d56
WIP: Test the MAPL local solar noon functionality; tidy up comments.
adarmenov Jan 9, 2023
7454ae2
Refactor the CFFWI module.
adarmenov Jan 10, 2023
22fe4cd
Remove unused code from the CFFWI module.
adarmenov Jan 10, 2023
9f25dc0
Include latitude considerations in adapting the CFFWI module for glob…
adarmenov Jan 11, 2023
0f42f2f
Refactor the 'noon LST' code.
adarmenov Jan 13, 2023
e9eaf0a
Add resource file
adarmenov Jan 17, 2023
e64be68
Implement hourly FFMC in the CFFWI module
adarmenov Jan 17, 2023
2a71456
Fold hourly and daily FFMC into a single function
adarmenov Jan 17, 2023
94606d8
Use the 'universal' FFMC function in GEOS and the CFFWI unit test
adarmenov Jan 17, 2023
785e8da
Revise the rainfall effect in the hourly FFMC model
adarmenov Jan 18, 2023
b85811d
Increase the precision of the 147.2 multiplier in the FF scale equations
adarmenov Jan 18, 2023
601ae40
Generalize FFMC for time steps less than one hour.
adarmenov Jan 18, 2023
ddb93fb
Implement consistent FF scale conversions in the CFFWI module
adarmenov Jan 18, 2023
d06df1b
Introduce modification to ISI at extreme winds
adarmenov Jan 18, 2023
ab605b1
Initial implementation of grass fuel moisture code (GFMC)
adarmenov Jan 18, 2023
675d749
Add comments related to moisture content in the FFMC and GFMC functions.
adarmenov Jan 23, 2023
22fdefa
Initial implementation of hourly CFFWI
adarmenov Jan 24, 2023
30eb65c
Add a runtime option to select which local noon method is used in the
adarmenov Jan 24, 2023
91a416e
Multiphase RUN - daily and hourly CFFWI are now done in RUN2.
adarmenov Jan 25, 2023
b235301
Set ISI and FWI to zero if there is snow on the ground
adarmenov Jan 26, 2023
3817f3a
Provide brief description of the Igni Gridded Component
adarmenov Jan 26, 2023
76a8329
Implement gridded versions of the CFFWI exports
adarmenov Jan 26, 2023
b62f670
Include GFMC in the Igni and SURFACE export specs.
adarmenov Jan 27, 2023
d768b13
Better placement of comments in the CFFWI module
adarmenov Jan 27, 2023
95379c2
Add snow depth (SNOWDP) to the CATCH(CN)-IGNI connectivity spec
adarmenov Jan 27, 2023
2dcbbe4
Update the value of nominal fine fuel load in CFFWI
adarmenov Jan 27, 2023
feb7df8
Disable calls to MAPL_SunGetLocalSolarHourAngle()
adarmenov Feb 1, 2023
df4695f
Use logical type for the DO_FIRE_DANGER flag
adarmenov Feb 1, 2023
04821aa
Merge branch 'develop' into feature/adarmenov/ignio
adarmenov Feb 1, 2023
c0e4725
Merge branch 'develop' into feature/adarmenov/ignio
biljanaorescanin Feb 1, 2023
f9863fe
Merge branch 'develop' into feature/adarmenov/ignio
sdrabenh Feb 27, 2023
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

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ set (alldirs
GEOScatchCN_GridComp
GEOSlana_GridComp
GEOSroute_GridComp
GEOSigni_GridComp
)

esma_add_library (${this}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
module GEOS_LandGridCompMod

!BOP
! !MODULE: GEOS_LandGridCompMod -- A Module to combine VegDyn and Catch Gridded Components
! !MODULE: GEOS_LandGridCompMod -- A Module to combine VegDyn and Catch, and Igni Gridded Components

! !DESCRIPTION: This gridded component operates on the land tiles as
! as child of GEOS\_SurfaceGridComp. The core functionality is the
Expand All @@ -30,6 +30,7 @@ module GEOS_LandGridCompMod
use GEOS_VegdynGridCompMod, only : VegdynSetServices => SetServices
use GEOS_CatchGridCompMod, only : CatchSetServices => SetServices
use GEOS_CatchCNGridCompMod, only : CatchCNSetServices => SetServices
use GEOS_IgniGridCompMod, only : IgniSetServices => SetServices
! use GEOS_RouteGridCompMod, only : RouteSetServices => SetServices

implicit none
Expand All @@ -45,7 +46,9 @@ module GEOS_LandGridCompMod

integer :: VEGDYN
integer, allocatable :: CATCH(:), ROUTE (:), CATCHCN (:)
INTEGER :: LSM_CHOICE, RUN_ROUTE, DO_GOSWIM
integer :: LSM_CHOICE, RUN_ROUTE, DO_GOSWIM
integer :: IGNI
logical :: DO_FIRE_DANGER

contains

Expand Down Expand Up @@ -153,6 +156,7 @@ subroutine SetServices ( GC, RC )
call ESMF_ConfigLoadFile(SCF,SURFRC,rc=status) ; VERIFY_(STATUS)
call MAPL_GetResource (SCF, RUN_ROUTE, label='RUN_ROUTE:', DEFAULT=0, __RC__ )
call MAPL_GetResource (SCF, DO_GOSWIM, label='N_CONST_LAND4SNWALB:', DEFAULT=0, __RC__ )
call MAPL_GetResource (SCF, DO_FIRE_DANGER, label='FIRE_DANGER:', DEFAULT=.false., __RC__ )
call ESMF_ConfigDestroy (SCF, __RC__)

SELECT CASE (LSM_CHOICE)
Expand Down Expand Up @@ -204,7 +208,14 @@ subroutine SetServices ( GC, RC )
! end do
! end if
! ENDIF


if (DO_FIRE_DANGER) then
IGNI = MAPL_AddChild(GC, NAME='IGNI'//trim(tmp), SS=IgniSetServices, RC=STATUS)
VERIFY_(STATUS)
else
IGNI = -1
end if

!BOS

!------------------------------------------------------------
Expand Down Expand Up @@ -1343,6 +1354,35 @@ subroutine SetServices ( GC, RC )
! VERIFY_(STATUS)
! ENDIF


if (DO_FIRE_DANGER) then
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'FFMC', CHILD_ID = IGNI, __RC__ )
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'GFMC', CHILD_ID = IGNI, __RC__ )
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'DMC', CHILD_ID = IGNI, __RC__ )
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'DC', CHILD_ID = IGNI, __RC__ )
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'ISI', CHILD_ID = IGNI, __RC__ )
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'BUI', CHILD_ID = IGNI, __RC__ )
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'FWI', CHILD_ID = IGNI, __RC__ )
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'DSR', CHILD_ID = IGNI, __RC__ )

call MAPL_AddExportSpec ( GC, SHORT_NAME = 'FFMC_DAILY', CHILD_ID = IGNI, __RC__ )
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'DMC_DAILY', CHILD_ID = IGNI, __RC__ )
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'DC_DAILY', CHILD_ID = IGNI, __RC__ )
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'ISI_DAILY', CHILD_ID = IGNI, __RC__ )
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'BUI_DAILY', CHILD_ID = IGNI, __RC__ )
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'FWI_DAILY', CHILD_ID = IGNI, __RC__ )
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'DSR_DAILY', CHILD_ID = IGNI, __RC__ )

call MAPL_AddExportSpec ( GC, SHORT_NAME = 'FFMC_DAILY_', CHILD_ID = IGNI, __RC__ )
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'DMC_DAILY_', CHILD_ID = IGNI, __RC__ )
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'DC_DAILY_', CHILD_ID = IGNI, __RC__ )
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'ISI_DAILY_', CHILD_ID = IGNI, __RC__ )
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'BUI_DAILY_', CHILD_ID = IGNI, __RC__ )
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'FWI_DAILY_', CHILD_ID = IGNI, __RC__ )
call MAPL_AddExportSpec ( GC, SHORT_NAME = 'DSR_DAILY_', CHILD_ID = IGNI, __RC__ )
end if


!EOS

!------------------------------------------------------------
Expand All @@ -1367,6 +1407,19 @@ subroutine SetServices ( GC, RC )
RC=STATUS )
VERIFY_(STATUS)

if (DO_FIRE_DANGER) then
call MAPL_AddConnectivity ( &
GC, &
SHORT_NAME = (/ 'MOT2M ', 'MOQ2M ', &
'MOU10M ', 'MOV10M ', &
'PRLAND ', 'SWDOWNLAND', &
'ASNOW ', 'SNOWDP ' /), &
DST_ID = IGNI, &
SRC_ID = CATCH(I), &
RC = STATUS )
VERIFY_(STATUS)
end if

! IF(RUN_ROUTE == 1) THEN
! call MAPL_AddConnectivity ( &
! GC ,&
Expand All @@ -1387,6 +1440,19 @@ subroutine SetServices ( GC, RC )
SRC_ID = VEGDYN , &
RC=STATUS )

if (DO_FIRE_DANGER) then
call MAPL_AddConnectivity ( &
GC, &
SHORT_NAME = (/ 'MOT2M ', 'MOQ2M ', &
'MOU10M ', 'MOV10M ', &
'PRLAND ', 'SWDOWNLAND', &
'ASNOW ', 'SNOWDP ' /), &
DST_ID = IGNI, &
SRC_ID = CATCHCN(I), &
RC = STATUS )
VERIFY_(STATUS)
end if

! IF(RUN_ROUTE == 1) THEN
! call MAPL_AddConnectivity ( &
! GC ,&
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
esma_set_this ()


set (resource_files
GEOS_IgniGridComp.rc
)

install( FILES ${resource_files}
DESTINATION etc
)

set (srcs
GEOS_IgniGridComp.F90
cffwi.F90
)


esma_add_library (${this}
SRCS ${srcs}
DEPENDENCIES MAPL GEOS_Shared esmf
)

Loading