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

Merge of NESP2pt9_BLAZE with CABLE-POP_TRENDY #362

Draft
wants to merge 47 commits into
base: CABLE-POP_TRENDY
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
db4abda
Work in progress on SIMFIRE-BLAZE re-implementation.
Oct 27, 2021
e37233c
Added namelist file for BLAZE.
Oct 27, 2021
452576d
updates for SIMFIRE-BLAZE
Nov 2, 2021
b84c2a4
Set BA-source back to SIMFIRE
Nov 2, 2021
42f9d43
- SIMFIRE will no longer STOP when there is no valid lan-pixel in the…
Mar 9, 2022
bbdb0c5
Corrected two bugs for compiling
Apr 6, 2022
5d880cb
Remove symlinks, will add back as a file
Jul 15, 2022
e83507c
Addition to previous commit:
Jul 15, 2022
4afc028
added Petrichor configuration to compile CABLE in CSIRO HPC system
Aug 22, 2022
7591cc5
Fixed double precision bug in the C-from-fire fluxes
Aug 29, 2022
c48b250
Debugging out-of-bounds (Entered BLAZE%NCELLS)
Aug 31, 2022
51288d7
more tests
Aug 31, 2022
f2523d2
Added missing dependencies for blaze_driver and simfire.
Aug 31, 2022
00f82ff
pop_grid indexing bug fixed in BLAZE
Aug 31, 2022
6a3b139
bug fix
Aug 31, 2022
0acf334
In consitencey in interpolate_firemortality.
Sep 1, 2022
319fb6f
Interpolate_fire fixed from division by zero.
Sep 1, 2022
f995397
debugging flags
Sep 2, 2022
09062de
Bug in BLAZE_TURNOVER fixed
Nov 8, 2022
a93fc83
Initialise cx2, which is 2*Gammastar in dryLeaf
Nov 11, 2022
b2bec2e
copy of BLAZE branch @ 9184 for ACCESS-POP assessment
Nov 14, 2022
a8fd6ed
Bugfixes for Fire fluxes in BLAZE.
Jul 18, 2023
028fc91
Updated gadi and explor build pathes and options
Jul 25, 2023
d527c88
Added params and namelists of BIOS3
Jul 25, 2023
ea4037f
Merged run_cable-pop with BIOS setup
Jul 25, 2023
5e9818f
added inh599 info to run script
Aug 14, 2023
bd8d5af
added missing blaze data path to Lars cosmos system
Aug 15, 2023
32ecc0d
fixed BLAZE outputs, added fire and other disturbance fluxes to NBP, …
Oct 10, 2023
0286829
increments to BLAZE_9184 branch to address issue #272
Apr 29, 2024
d049a76
increments to BLAZE_9184 branch to address issue #272
Apr 29, 2024
19f3016
updates to run scripts
Apr 29, 2024
4be59f0
mods to run scripts for ACT and 100pts cases: S2 set up
Apr 30, 2024
7dead54
update to ACT BIOS run script to enable end-to-end runs (run script b…
May 9, 2024
91774b5
changes for potential stem npp and spin 1951
AlisonBennett Jun 12, 2024
37fc28c
applying minimum value to vapour pressure to catch errors in AGCD inputs
Jun 19, 2024
156106b
commenting out some write statements in blaze_mpi and simfire routine…
Jun 19, 2024
8e66695
change spinup period to 1951-1980 and replace MOD with MODULUS in rec…
AlisonBennett Jun 26, 2024
9a5bf2b
Merge branch 'BLAZE_9184' into Spin_1951_draft_ACB
AlisonBennett Jun 26, 2024
d7b1da3
Added bios future run script
AlisonBennett Jul 1, 2024
e1a9958
Remove dubugging code and remove litter reference in TotSoilCarb desc…
AlisonBennett Jul 4, 2024
a4e30d3
Merge Spin 1951 to BLAZE_9184 (#323)
AlisonBennett Jul 14, 2024
1f666d3
adding potential evaporation as output in BLAZE_9184; partner changes…
Jul 17, 2024
0f297f2
modifications to %epot variable. partner changeset to #346
Jul 17, 2024
fdc5973
removing uncessary run scripts for repo
Aug 5, 2024
acd2d2e
removing some write statements from cable_LUC_EXPT_INIT
Aug 5, 2024
eb3ea56
tidying up commented out lines in casa_inout
Aug 5, 2024
5cf0d11
Blaze 9184 (#320)
har917 Aug 5, 2024
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
5 changes: 5 additions & 0 deletions core/biogeochem/CASAONLY_LUC.F90
Original file line number Diff line number Diff line change
Expand Up @@ -190,11 +190,16 @@ SUBROUTINE CASAONLY_LUC( dels,kstart,kend,veg,soil,casabiome,casapool, &
IF (idoy==1) THEN
! (assumes 70% of wood NPP is allocated above ground)
casaflux%stemnpp = casaflux%cnpp * casaflux%fracCalloc(:,2) * 0.7_dp
!#9238
casaflux%potstemnpp = casaflux%stemnpp + (casaflux%fracClabile * casaflux%cgpp)
casabal%LAImax = casamet%glai
casabal%Cleafmean = casapool%cplant(:,1) / real(mdyear,dp) / 1000._dp
casabal%Crootmean = casapool%cplant(:,3) / real(mdyear,dp) / 1000._dp
ELSE
casaflux%stemnpp = casaflux%stemnpp + casaflux%cnpp * casaflux%fracCalloc(:,2) * 0.7_dp
!#9238
casaflux%potstemnpp = casaflux%potstemnpp + (casaflux%cnpp * casaflux%fracCalloc(:,2) * 0.7_dp + &
casaflux%fracClabile * casaflux%cgpp)
casabal%LAImax = max(casamet%glai, casabal%LAImax)
casabal%Cleafmean = casabal%Cleafmean + casapool%cplant(:,1) / real(mdyear,dp) / 1000._dp
casabal%Crootmean = casabal%Crootmean + casapool%cplant(:,3) / real(mdyear,dp) / 1000._dp
Expand Down
2,696 changes: 1,356 additions & 1,340 deletions core/biogeochem/POP.F90

Large diffs are not rendered by default.

33 changes: 27 additions & 6 deletions core/biogeochem/casa_cable.F90
Original file line number Diff line number Diff line change
Expand Up @@ -152,22 +152,27 @@ SUBROUTINE bgcdriver(ktau,kstart,dels,met,ssnow,canopy,veg,soil, &
if (cable_user%c13o2) call c13o2_update_pools(casasave, casaflux, c13o2flux, c13o2pools)
#endif

!changes here to accomodate %potstemnpp - 5/4/2024 - svn 9218
IF (cable_user%CALL_POP) THEN
! accumulate annual variables for use in POP
IF (MOD(ktau/ktauday,LOY)==1 ) THEN
casaflux%stemnpp = casaflux%cnpp * casaflux%fracCalloc(:,2) * 0.7_r_2
! (assumes 70% of wood NPP is allocated above ground)
casaflux%potstemnpp = casaflux%stemnpp + (casaflux%fracClabile * casaflux%cgpp)
casabal%LAImax = casamet%glai
casabal%Cleafmean = casapool%cplant(:,1) / real(LOY,r_2) / 1000.0_r_2
casabal%Crootmean = casapool%cplant(:,3) / real(LOY,r_2) / 1000.0_r_2
ELSE
casaflux%stemnpp = casaflux%stemnpp + casaflux%cnpp * casaflux%fracCalloc(:,2) * 0.7_r_2
casaflux%potstemnpp = casaflux%potstemnpp + (casaflux%cnpp * casaflux%fracCalloc(:,2) * 0.7_r_2 + &
casaflux%fracClabile * casaflux%cgpp )
casabal%LAImax = max(casamet%glai, casabal%LAImax)
casabal%Cleafmean = casabal%Cleafmean + casapool%cplant(:,1) / real(LOY,r_2) / 1000.0_r_2
casabal%Crootmean = casabal%Crootmean + casapool%cplant(:,3) / real(LOY,r_2) / 1000.0_r_2
ENDIF
ELSE
casaflux%stemnpp = 0.0_r_2
casaflux%potstemnpp = 0.0_r_2
ENDIF ! CALL_POP

ENDIF ! icycle > 0
Expand All @@ -193,22 +198,27 @@ SUBROUTINE bgcdriver(ktau,kstart,dels,met,ssnow,canopy,veg,soil, &
if (cable_user%c13o2) call c13o2_update_pools(casasave, casaflux, c13o2flux, c13o2pools)
#endif

!changes here to accomodate %potstemnpp - 5/4/2024 - svn 9635
IF (cable_user%CALL_POP) THEN
! accumulate annual variables for use in POP
IF (MOD(ktau/ktauday,LOY)==1) THEN
casaflux%stemnpp = casaflux%cnpp * casaflux%fracCalloc(:,2) * 0.7_r_2
! (assumes 70% of wood NPP is allocated above ground)
casaflux%potstemnpp = casaflux%stemnpp + (casaflux%fracClabile * casaflux%cgpp)
casabal%LAImax = casamet%glai
casabal%Cleafmean = casapool%cplant(:,1) / real(LOY,r_2) / 1000.0_r_2
casabal%Crootmean = casapool%cplant(:,3) / real(LOY,r_2) / 1000.0_r_2
ELSE
casaflux%stemnpp = casaflux%stemnpp + casaflux%cnpp * casaflux%fracCalloc(:,2) * 0.7_r_2
casaflux%potstemnpp = casaflux%potstemnpp + (casaflux%cnpp * casaflux%fracCalloc(:,2) * 0.7_dp + &
casaflux%fracClabile * casaflux%cgpp )
casabal%LAImax = max(casamet%glai, casabal%LAImax)
casabal%Cleafmean = casabal%Cleafmean + casapool%cplant(:,1) / real(LOY,r_2) / 1000.0_r_2
casabal%Crootmean = casabal%Crootmean + casapool%cplant(:,3) / real(LOY,r_2) / 1000.0_r_2
ENDIF
ELSE
casaflux%stemnpp = 0.0_r_2
casaflux%potstemnpp = 0.0_r_2
ENDIF ! CALL_POP

ENDIF ! end of day
Expand Down Expand Up @@ -239,6 +249,7 @@ SUBROUTINE POPdriver(casaflux, casabal, veg, POP)
type(POP_TYPE), INTENT(INOUT) :: POP

real(dp) :: StemNPP(mp,2)
real(dp) :: PotStemNPP(mp)
real(dp), allocatable :: NPPtoGPP(:)
real(dp), allocatable :: LAImax(:), Cleafmean(:), Crootmean(:)
!! vh_js !!
Expand All @@ -255,6 +266,11 @@ SUBROUTINE POPdriver(casaflux, casabal, veg, POP)

StemNPP(:,1) = casaflux%stemnpp
StemNPP(:,2) = 0.0_dp
!changes due to PotStemNPP - 5/4/2024 - svn 9635
!JK: define an unstressed (potential) stem NPP that could be achieved
! in the absence of nutrient limitation. PotStemNPP used only
! for the calculation of stress (=resource) mortality in POP.
PotStemNPP(:) = casaflux%potstemnpp
where (casabal%FCgppyear > 1.e-5_dp .and. casabal%FCnppyear > 1.e-5_dp)
NPPtoGPP = casabal%FCnppyear / casabal%FCgppyear
elsewhere
Expand All @@ -264,9 +280,10 @@ SUBROUTINE POPdriver(casaflux, casabal, veg, POP)
Cleafmean = casabal%cleafmean
Crootmean = casabal%Crootmean

!changes due to PotStemNPP - 5/4/2024
CALL POPStep(pop, max(StemNPP(Iw,:)/1000.0_dp, 0.0001_dp), int(veg%disturbance_interval(Iw,:), i4b), &
real(veg%disturbance_intensity(Iw,:), dp), &
max(LAImax(Iw), 0.001_dp), Cleafmean(Iw), Crootmean(Iw), NPPtoGPP(Iw))
max(LAImax(Iw), 0.001_dp), Cleafmean(Iw), Crootmean(Iw), NPPtoGPP(Iw), max(PotStemNPP(Iw)/1000.0_dp,0.0001_dp) )
endif ! CALL_POP

END SUBROUTINE POPdriver
Expand Down Expand Up @@ -832,15 +849,19 @@ SUBROUTINE casa_feedback(ktau,veg,casabiome,casapool,casamet,climate,ktauday)
! nleafx = ncleafx/sla
! ncleafx = (casabiome%ratioNCplantmin(ivt,leaf) + casabiome%ratioNCplantmax(ivt,leaf)) / 2.0_r_2
if (icycle>1) then
vcmax_ref(np) = real( vcmax_np(((casabiome%ratioNCplantmin(ivt,leaf) + casabiome%ratioNCplantmax(ivt,leaf)) / 2.0_r_2) / &
casabiome%sla(ivt), pleafx(np)) * casabiome%vcmax_scalar(ivt) )
vcmax_ref(np) = real( vcmax_np(((casabiome%ratioNCplantmin(ivt,leaf) + &
casabiome%ratioNCplantmax(ivt,leaf)) / 2.0_r_2) / &
casabiome%sla(ivt), pleafx(np)) * casabiome%vcmax_scalar(ivt) )
endif
if (icycle>2) then
! pleaf = nleafx / npleafx
! npleafx = casabiome%ratioNPplantmin(ivt,leaf) + casabiome%ratioNPplantmax(ivt,leaf)) / 2.0_r_2
vcmax_ref(np) = real( vcmax_np(((casabiome%ratioNCplantmin(ivt,leaf) + casabiome%ratioNCplantmax(ivt,leaf)) / 2.0_r_2) / &
casabiome%sla(ivt), ((casabiome%ratioNCplantmin(ivt,leaf) + casabiome%ratioNCplantmax(ivt,leaf)) / 2.0_r_2) / &
casabiome%sla(ivt)/(casabiome%ratioNPplantmin(ivt,leaf) + casabiome%ratioNPplantmax(ivt,leaf)) / 2.0_r_2) * casabiome%vcmax_scalar(ivt) )
vcmax_ref(np) = real( vcmax_np(((casabiome%ratioNCplantmin(ivt,leaf) + &
casabiome%ratioNCplantmax(ivt,leaf)) / 2.0_r_2) / &
casabiome%sla(ivt), ((casabiome%ratioNCplantmin(ivt,leaf) + &
casabiome%ratioNCplantmax(ivt,leaf)) / 2.0_r_2) / &
casabiome%sla(ivt)/(casabiome%ratioNPplantmin(ivt,leaf) + &
casabiome%ratioNPplantmax(ivt,leaf)) / 2.0_r_2) * casabiome%vcmax_scalar(ivt) )
endif
endif

Expand Down
4 changes: 2 additions & 2 deletions core/biogeochem/casa_cnp.F90
Original file line number Diff line number Diff line change
Expand Up @@ -1360,8 +1360,8 @@ SUBROUTINE casa_delplant(veg, casabiome, casapool, casaflux, casamet, &
do nP=1, mplant
casaflux%FluxFromPtoCO2(npt,nP) = &
(1.0_r_2-casaflux%kplant(npt,nP)) * casaflux%kplant_fire(npt,nP) * &
casapool%cplant(npt,nP) * &
(1.0_r_2 - sum(casaflux%fromPtoL_fire(npt,:,nP)))
casapool%cplant(npt,nP) !CLN * & Shouldn't it be min(1-casaflux%kplant,X)???
!CLN should be considered in kplant_fire ??? (1.0_r_2 - sum(casaflux%fromPtoL_fire(npt,:,nP)))
casaflux%fluxCtoCO2_plant_fire(npt) = casaflux%fluxCtoCO2_plant_fire(npt) + &
casaflux%FluxFromPtoCO2(npt,nP)
enddo
Expand Down
Loading