Skip to content

Commit

Permalink
Merge pull request #343 from CoLM-SYSU/master
Browse files Browse the repository at this point in the history
Update from master
  • Loading branch information
CoLM-SYSU authored Dec 12, 2024
2 parents 208621f + 77e923b commit 91abdb5
Show file tree
Hide file tree
Showing 20 changed files with 1,553 additions and 176 deletions.
14 changes: 7 additions & 7 deletions main/BGC/MOD_BGC_CNCStateUpdate1.F90
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ MODULE MOD_BGC_CNCStateUpdate1
! 3) Record the accumulated decomposition-associated C transfer for soil C semi-analytic spinup

USE MOD_Precision
USE MOD_Namelist, only : DEF_USE_SASU
USE MOD_Namelist, only : DEF_USE_SASU, DEF_USE_DiagMatrix
USE MOD_Vars_PFTimeInvariants, only: pftclass, pftfrac
USE MOD_Const_PFT, only: woody
USE MOD_BGC_Vars_TimeInvariants, only: &
Expand Down Expand Up @@ -168,7 +168,7 @@ SUBROUTINE CStateUpdate1 (i, ps, pe, deltim, nl_soil, ndecomp_transitions, npcro
decomp_cpools_sourcesink(j,i_cwd ,i) = 0._r8
ENDDO

IF(DEF_USE_SASU)THEN
IF(DEF_USE_SASU .or. DEF_USE_DiagMatrix)THEN
DO j=1,nl_soil
I_met_c_vr_acc(j,i) = I_met_c_vr_acc(j,i) + phenology_to_met_c(j,i) *deltim
I_cel_c_vr_acc(j,i) = I_cel_c_vr_acc(j,i) + phenology_to_cel_c(j,i) *deltim
Expand All @@ -194,7 +194,7 @@ SUBROUTINE CStateUpdate1 (i, ps, pe, deltim, nl_soil, ndecomp_transitions, npcro
ENDIF
ENDDO

IF(DEF_USE_SASU)THEN
IF(DEF_USE_SASU .or. DEF_USE_DiagMatrix)THEN
DO j = 1, nl_soil
AKX_met_to_soil1_c_vr_acc (j,i) = AKX_met_to_soil1_c_vr_acc (j,i) + decomp_ctransfer_vr(j, 1,i) * deltim
AKX_cel_to_soil1_c_vr_acc (j,i) = AKX_cel_to_soil1_c_vr_acc (j,i) + decomp_ctransfer_vr(j, 2,i) * deltim
Expand Down Expand Up @@ -244,7 +244,7 @@ SUBROUTINE CStateUpdate1 (i, ps, pe, deltim, nl_soil, ndecomp_transitions, npcro
grainc_xfer_p (m) = grainc_xfer_p (m) - grainc_xfer_to_grainc_p (m) * deltim
ENDIF

IF(DEF_USE_SASU)THEN
IF(DEF_USE_SASU .or. DEF_USE_DiagMatrix)THEN
AKX_leafc_xf_to_leafc_p_acc (m) = AKX_leafc_xf_to_leafc_p_acc (m) + leafc_xfer_to_leafc_p (m) * deltim
AKX_frootc_xf_to_frootc_p_acc(m) = AKX_frootc_xf_to_frootc_p_acc(m) + frootc_xfer_to_frootc_p(m) * deltim
AKX_leafc_xf_exit_p_acc (m) = AKX_leafc_xf_exit_p_acc (m) + leafc_xfer_to_leafc_p (m) * deltim
Expand Down Expand Up @@ -284,7 +284,7 @@ SUBROUTINE CStateUpdate1 (i, ps, pe, deltim, nl_soil, ndecomp_transitions, npcro
cropseedc_deficit_p(m) = cropseedc_deficit_p(m) - crop_seedc_to_leaf_p(m) * deltim + grainc_to_seed_p(m) * deltim
ENDIF

IF(DEF_USE_SASU)THEN
IF(DEF_USE_SASU .or. DEF_USE_DiagMatrix)THEN
AKX_leafc_exit_p_acc (m) = AKX_leafc_exit_p_acc (m) + leafc_to_litter_p (m) * deltim
AKX_frootc_exit_p_acc(m) = AKX_frootc_exit_p_acc(m) + frootc_to_litter_p(m) * deltim
IF(woody(ivt) == 1) THEN
Expand Down Expand Up @@ -356,7 +356,7 @@ SUBROUTINE CStateUpdate1 (i, ps, pe, deltim, nl_soil, ndecomp_transitions, npcro
cpool_p (m) = cpool_p (m) - cpool_to_grainc_storage_p (m) * deltim
grainc_storage_p (m) = grainc_storage_p (m) + cpool_to_grainc_storage_p (m) * deltim
ENDIF
IF(DEF_USE_SASU)THEN
IF(DEF_USE_SASU .or. DEF_USE_DiagMatrix)THEN
I_leafc_p_acc(m) = I_leafc_p_acc(m) + cpool_to_leafc_p (m) * deltim
I_leafc_st_p_acc(m) = I_leafc_st_p_acc(m) + cpool_to_leafc_storage_p (m) * deltim
I_frootc_p_acc(m) = I_frootc_p_acc(m) + cpool_to_frootc_p (m) * deltim
Expand Down Expand Up @@ -447,7 +447,7 @@ SUBROUTINE CStateUpdate1 (i, ps, pe, deltim, nl_soil, ndecomp_transitions, npcro
grainc_storage_p (m) = grainc_storage_p (m) - grainc_storage_to_xfer_p (m) * deltim
grainc_xfer_p (m) = grainc_xfer_p (m) + grainc_storage_to_xfer_p (m) * deltim
ENDIF
IF(DEF_USE_SASU)THEN
IF(DEF_USE_SASU .or. DEF_USE_DiagMatrix)THEN
AKX_leafc_st_to_leafc_xf_p_acc (m) = AKX_leafc_st_to_leafc_xf_p_acc (m) + leafc_storage_to_xfer_p (m) * deltim
AKX_leafc_st_exit_p_acc (m) = AKX_leafc_st_exit_p_acc (m) + leafc_storage_to_xfer_p (m) * deltim
AKX_frootc_st_to_frootc_xf_p_acc(m) = AKX_frootc_st_to_frootc_xf_p_acc(m) + frootc_storage_to_xfer_p(m) * deltim
Expand Down
6 changes: 3 additions & 3 deletions main/BGC/MOD_BGC_CNCStateUpdate2.F90
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ MODULE MOD_BGC_CNCStateUpdate2
! 2) Record the accumulated gap-mortality-associated C transfers for veg and soil C semi-analytic spinup

USE MOD_Precision
USE MOD_Namelist, only : DEF_USE_SASU
USE MOD_Namelist, only : DEF_USE_SASU, DEF_USE_DiagMatrix
USE MOD_Vars_TimeInvariants, only: &
i_met_lit,i_cel_lit,i_lig_lit ,i_cwd
USE MOD_Vars_TimeVariables, only: &
Expand Down Expand Up @@ -87,7 +87,7 @@ SUBROUTINE CStateUpdate2 (i, ps, pe, deltim, nl_soil)
decomp_cpools_vr(j,i_cwd,i) + gap_mortality_to_cwdc(j,i) * deltim
ENDDO

IF(DEF_USE_SASU)THEN
IF(DEF_USE_SASU .or. DEF_USE_DiagMatrix)THEN
DO j = 1,nl_soil
I_met_c_vr_acc(j,i) = I_met_c_vr_acc(j,i) + gap_mortality_to_met_c(j,i) * deltim
I_cel_c_vr_acc(j,i) = I_cel_c_vr_acc(j,i) + gap_mortality_to_cel_c(j,i) * deltim
Expand Down Expand Up @@ -146,7 +146,7 @@ SUBROUTINE CStateUpdate2 (i, ps, pe, deltim, nl_soil)
deadcrootc_xfer_p (m) = deadcrootc_xfer_p (m) &
- m_deadcrootc_xfer_to_litter_p (m) * deltim

IF(DEF_USE_SASU)THEN
IF(DEF_USE_SASU .or. DEF_USE_DiagMatrix)THEN
AKX_leafc_exit_p_acc (m) = AKX_leafc_exit_p_acc (m) + m_leafc_to_litter_p (m) * deltim
AKX_frootc_exit_p_acc (m) = AKX_frootc_exit_p_acc (m) + m_frootc_to_litter_p (m) * deltim
AKX_livestemc_exit_p_acc (m) = AKX_livestemc_exit_p_acc (m) + m_livestemc_to_litter_p (m) * deltim
Expand Down
6 changes: 3 additions & 3 deletions main/BGC/MOD_BGC_CNNStateUpdate2.F90
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ MODULE MOD_BGC_CNNStateUpdate2
! 2) Record the accumulated gap-mortality-associated N transfers for veg and soil N semi-analytic spinup

USE MOD_Precision
USE MOD_Namelist, only : DEF_USE_SASU
USE MOD_Namelist, only : DEF_USE_SASU, DEF_USE_DiagMatrix
USE MOD_BGC_Vars_TimeInvariants, only: &
i_met_lit,i_cel_lit,i_lig_lit ,i_cwd, i_soil1, i_soil2,i_soil3
USE MOD_BGC_Vars_TimeVariables, only: &
Expand Down Expand Up @@ -86,7 +86,7 @@ SUBROUTINE NStateUpdate2(i, ps, pe, deltim, nl_soil, dz_soi)
decomp_npools_vr(j,i_cwd,i) = &
decomp_npools_vr(j,i_cwd,i) + gap_mortality_to_cwdn(j,i) * deltim
ENDDO
IF(DEF_USE_SASU)THEN
IF(DEF_USE_SASU .or. DEF_USE_DiagMatrix)THEN
DO j=1,nl_soil
I_met_n_vr_acc(j,i) = I_met_n_vr_acc(j,i) + gap_mortality_to_met_n(j,i) * deltim
I_cel_n_vr_acc(j,i) = I_cel_n_vr_acc(j,i) + gap_mortality_to_cel_n(j,i) * deltim
Expand Down Expand Up @@ -141,7 +141,7 @@ SUBROUTINE NStateUpdate2(i, ps, pe, deltim, nl_soil, dz_soi)
deadcrootn_xfer_p (m) = deadcrootn_xfer_p (m) &
- m_deadcrootn_xfer_to_litter_p (m) * deltim

IF(DEF_USE_SASU)THEN
IF(DEF_USE_SASU .or. DEF_USE_DiagMatrix)THEN
AKX_leafn_exit_p_acc (m) = AKX_leafn_exit_p_acc (m) + m_leafn_to_litter_p (m) * deltim
AKX_frootn_exit_p_acc (m) = AKX_frootn_exit_p_acc (m) + m_frootn_to_litter_p (m) * deltim
AKX_livestemn_exit_p_acc (m) = AKX_livestemn_exit_p_acc (m) + m_livestemn_to_litter_p (m) * deltim
Expand Down
142 changes: 104 additions & 38 deletions main/BGC/MOD_BGC_CNSASU.F90
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,13 @@ MODULE MOD_BGC_CNSASU
! USE accumulated transfer fluxes to calculate the matrix.

USE MOD_Precision
USE MOD_Namelist, only : DEF_USE_SASU, DEF_USE_DiagMatrix
USE MOD_BGC_Vars_TimeInvariants, only: &
i_met_lit, i_cel_lit, i_lig_lit, i_cwd, i_soil1, i_soil2, i_soil3, floating_cn_ratio

USE MOD_BGC_Vars_TimeVariables, only: &
decomp_cpools_vr , decomp_npools_vr , decomp0_cpools_vr , decomp0_npools_vr , &
decomp_cpools_vr_Cap , decomp_npools_vr_Cap , &
I_met_c_vr_acc , I_cel_c_vr_acc , I_lig_c_vr_acc , I_cwd_c_vr_acc , &
AKX_met_to_soil1_c_vr_acc , AKX_cel_to_soil1_c_vr_acc , AKX_lig_to_soil2_c_vr_acc , AKX_soil1_to_soil2_c_vr_acc, &
AKX_cwd_to_cel_c_vr_acc , AKX_cwd_to_lig_c_vr_acc , AKX_soil1_to_soil3_c_vr_acc, AKX_soil2_to_soil1_c_vr_acc, &
Expand All @@ -60,6 +62,20 @@ MODULE MOD_BGC_CNSASU
livecrootc_p , livecrootc_storage_p , livecrootc_xfer_p , livecrootc0_p , livecrootc0_storage_p, livecrootc0_xfer_p, &
deadcrootc_p , deadcrootc_storage_p , deadcrootc_xfer_p , deadcrootc0_p , deadcrootc0_storage_p, deadcrootc0_xfer_p, &
grainc_p , grainc_storage_p , grainc_xfer_p , grainc0_p , grainc0_storage_p , grainc0_xfer_p , &

leafcCap_p , leafc_storageCap_p , leafc_xferCap_p , &
frootcCap_p , frootc_storageCap_p , frootc_xferCap_p , &
livestemcCap_p , livestemc_storageCap_p , livestemc_xferCap_p , &
deadstemcCap_p , deadstemc_storageCap_p , deadstemc_xferCap_p , &
livecrootcCap_p , livecrootc_storageCap_p , livecrootc_xferCap_p , &
deadcrootcCap_p , deadcrootc_storageCap_p , deadcrootc_xferCap_p , &

leafnCap_p , leafn_storageCap_p , leafn_xferCap_p , &
frootnCap_p , frootn_storageCap_p , frootn_xferCap_p , &
livestemnCap_p , livestemn_storageCap_p , livestemn_xferCap_p , &
deadstemnCap_p , deadstemn_storageCap_p , deadstemn_xferCap_p , &
livecrootnCap_p , livecrootn_storageCap_p , livecrootn_xferCap_p , &
deadcrootnCap_p , deadcrootn_storageCap_p , deadcrootn_xferCap_p , &

leafn_p , leafn_storage_p , leafn_xfer_p , leafn0_p , leafn0_storage_p , leafn0_xfer_p , &
frootn_p , frootn_storage_p , frootn_xfer_p , frootn0_p , frootn0_storage_p , frootn0_xfer_p , &
Expand Down Expand Up @@ -425,14 +441,54 @@ SUBROUTINE CNSASU(i,ps,pe,deltim,idate,nl_soil,ndecomp_transitions, ndecomp_pool
vegmatrixn_cap(k,1) = epsi
ENDIF
ENDDO
deadstemc_p (m) = vegmatrixc_cap(ideadstem,1)
deadstemc_storage_p (m) = vegmatrixc_cap(ideadstem_st,1)
deadcrootc_p (m) = vegmatrixc_cap(ideadcroot,1)
deadcrootc_storage_p(m) = vegmatrixc_cap(ideadcroot_st,1)
deadstemn_p (m) = vegmatrixn_cap(ideadstem,1)
deadstemn_storage_p (m) = vegmatrixn_cap(ideadstem_st,1)
deadcrootn_p (m) = vegmatrixn_cap(ideadcroot,1)
deadcrootn_storage_p(m) = vegmatrixn_cap(ideadcroot_st,1)
IF(DEF_USE_DiagMatrix)THEN
leafcCap_p (m) = vegmatrixc_cap(ileaf ,1)
leafc_storageCap_p (m) = vegmatrixc_cap(ileaf_st ,1)
leafc_xferCap_p (m) = vegmatrixc_cap(ileaf_xf ,1)
frootcCap_p (m) = vegmatrixc_cap(ifroot ,1)
frootc_storageCap_p (m) = vegmatrixc_cap(ifroot_st ,1)
frootc_xferCap_p (m) = vegmatrixc_cap(ifroot_xf ,1)
livestemcCap_p (m) = vegmatrixc_cap(ilivestem ,1)
livestemc_storageCap_p (m) = vegmatrixc_cap(ilivestem_st ,1)
livestemc_xferCap_p (m) = vegmatrixc_cap(ilivestem_xf ,1)
deadstemcCap_p (m) = vegmatrixc_cap(ideadstem ,1)
deadstemc_storageCap_p (m) = vegmatrixc_cap(ideadstem_st ,1)
deadstemc_xferCap_p (m) = vegmatrixc_cap(ideadstem_xf ,1)
livecrootcCap_p (m) = vegmatrixc_cap(ilivecroot ,1)
livecrootc_storageCap_p (m) = vegmatrixc_cap(ilivecroot_st ,1)
livecrootc_xferCap_p (m) = vegmatrixc_cap(ilivecroot_xf ,1)
deadcrootcCap_p (m) = vegmatrixc_cap(ideadcroot ,1)
deadcrootc_storageCap_p (m) = vegmatrixc_cap(ideadcroot_st ,1)
deadcrootc_xferCap_p (m) = vegmatrixc_cap(ideadcroot_xf ,1)
leafnCap_p (m) = vegmatrixn_cap(ileaf ,1)
leafn_storageCap_p (m) = vegmatrixn_cap(ileaf_st ,1)
leafn_xferCap_p (m) = vegmatrixn_cap(ileaf_xf ,1)
frootnCap_p (m) = vegmatrixn_cap(ifroot ,1)
frootn_storageCap_p (m) = vegmatrixn_cap(ifroot_st ,1)
frootn_xferCap_p (m) = vegmatrixn_cap(ifroot_xf ,1)
livestemnCap_p (m) = vegmatrixn_cap(ilivestem ,1)
livestemn_storageCap_p (m) = vegmatrixn_cap(ilivestem_st ,1)
livestemn_xferCap_p (m) = vegmatrixn_cap(ilivestem_xf ,1)
deadstemnCap_p (m) = vegmatrixn_cap(ideadstem ,1)
deadstemn_storageCap_p (m) = vegmatrixn_cap(ideadstem_st ,1)
deadstemn_xferCap_p (m) = vegmatrixn_cap(ideadstem_xf ,1)
livecrootnCap_p (m) = vegmatrixn_cap(ilivecroot ,1)
livecrootn_storageCap_p (m) = vegmatrixn_cap(ilivecroot_st ,1)
livecrootn_xferCap_p (m) = vegmatrixn_cap(ilivecroot_xf ,1)
deadcrootnCap_p (m) = vegmatrixn_cap(ideadcroot ,1)
deadcrootn_storageCap_p (m) = vegmatrixn_cap(ideadcroot_st ,1)
deadcrootn_xferCap_p (m) = vegmatrixn_cap(ideadcroot_xf ,1)
ENDIF
IF(DEF_USE_SASU)then
deadstemc_p (m) = vegmatrixc_cap(ideadstem,1)
deadstemc_storage_p (m) = vegmatrixc_cap(ideadstem_st,1)
deadcrootc_p (m) = vegmatrixc_cap(ideadcroot,1)
deadcrootc_storage_p(m) = vegmatrixc_cap(ideadcroot_st,1)
deadstemn_p (m) = vegmatrixn_cap(ideadstem,1)
deadstemn_storage_p (m) = vegmatrixn_cap(ideadstem_st,1)
deadcrootn_p (m) = vegmatrixn_cap(ideadcroot,1)
deadcrootn_storage_p(m) = vegmatrixn_cap(ideadcroot_st,1)
ENDIF
ENDDO

AK_soil_acc (1:ndecomp_pools_vr,1:ndecomp_pools_vr) = 0._r8
Expand Down Expand Up @@ -619,42 +675,52 @@ SUBROUTINE CNSASU(i,ps,pe,deltim,idate,nl_soil,ndecomp_transitions, ndecomp_pool
ENDDO
ENDDO

DO k = 1, ndecomp_pools
DO j = 1, nl_soil
IF((soilmatrixc_cap(j+(k-1)*nl_soil,1)/decomp0_cpools_vr(j,k,i) .gt. 100 .and. soilmatrixc_cap(j+(k-1)*nl_soil,1) .gt. 1.e+5_r8 &
.or. soilmatrixn_cap(j+(k-1)*nl_soil,1)/decomp0_npools_vr(j,k,i) .gt. 100 .and. soilmatrixn_cap(j+(k-1)*nl_soil,1) .gt. 1.e+3_r8) &
.or. i .eq. i_cwd .and. (soilmatrixc_cap(j+(k-1)*nl_soil,1)/decomp0_cpools_vr(j,k,i) .gt. 100 .and. soilmatrixc_cap(j+(k-1)*nl_soil,1) .gt. 1.e+5_r8 &
.or. soilmatrixn_cap(j+(k-1)*nl_soil,1)/decomp0_npools_vr(j,k,i) .gt. 100 .and. soilmatrixn_cap(j+(k-1)*nl_soil,1) .gt. 1.e+3_r8) )THEN
soilmatrixc_cap(j+(k-1)*nl_soil,1) = decomp_cpools_vr(j,k,i)
soilmatrixn_cap(j+(k-1)*nl_soil,1) = decomp_npools_vr(j,k,i)
ENDIF
ENDDO
ENDDO

IF(any(soilmatrixc_cap(:,1) .gt. 1.e+8_r8) .or. any(soilmatrixn_cap(:,1) .gt. 1.e+8_r8))THEN
IF(DEF_USE_DiagMatrix)THEN
DO k = 1, ndecomp_pools
DO j = 1, nl_soil
soilmatrixc_cap(j+(k-1)*nl_soil,1) = decomp_cpools_vr(j,k,i)
soilmatrixn_cap(j+(k-1)*nl_soil,1) = decomp_npools_vr(j,k,i)
decomp_cpools_vr_Cap(j,k,i) = soilmatrixc_cap(j+(k-1)*nl_soil,1)
decomp_npools_vr_Cap(j,k,i) = soilmatrixn_cap(j+(k-1)*nl_soil,1)
ENDDO
ENDDO
ENDIF

! IF spin up is on, the capacity replaces the pool size with capacity.
! Copy the capacity into a 3D variable, and be ready to write to history files.

DO k = 1, ndecomp_pools
DO j = 1, nl_soil
decomp_cpools_vr(j,k,i) = soilmatrixc_cap(j+(k-1)*nl_soil,1)
IF(floating_cn_ratio(k))THEN
decomp_npools_vr(j,k,i) = soilmatrixn_cap(j+(k-1)*nl_soil,1)
ELSE
decomp_npools_vr(j,k,i) = decomp_cpools_vr(j,k,i) / cn_decomp_pools(j,k,i)
ENDIF
IF(DEF_USE_SASU)THEN
DO k = 1, ndecomp_pools
DO j = 1, nl_soil
IF((soilmatrixc_cap(j+(k-1)*nl_soil,1)/decomp0_cpools_vr(j,k,i) .gt. 100 .and. soilmatrixc_cap(j+(k-1)*nl_soil,1) .gt. 1.e+5_r8 &
.or. soilmatrixn_cap(j+(k-1)*nl_soil,1)/decomp0_npools_vr(j,k,i) .gt. 100 .and. soilmatrixn_cap(j+(k-1)*nl_soil,1) .gt. 1.e+3_r8) &
.or. i .eq. i_cwd .and. (soilmatrixc_cap(j+(k-1)*nl_soil,1)/decomp0_cpools_vr(j,k,i) .gt. 100 .and. soilmatrixc_cap(j+(k-1)*nl_soil,1) .gt. 1.e+5_r8 &
.or. soilmatrixn_cap(j+(k-1)*nl_soil,1)/decomp0_npools_vr(j,k,i) .gt. 100 .and. soilmatrixn_cap(j+(k-1)*nl_soil,1) .gt. 1.e+3_r8) )THEN
soilmatrixc_cap(j+(k-1)*nl_soil,1) = decomp_cpools_vr(j,k,i)
soilmatrixn_cap(j+(k-1)*nl_soil,1) = decomp_npools_vr(j,k,i)
ENDIF
ENDDO
ENDDO
ENDDO

skip_balance_check(i) = .true.

IF(any(soilmatrixc_cap(:,1) .gt. 1.e+8_r8) .or. any(soilmatrixn_cap(:,1) .gt. 1.e+8_r8))THEN
DO k = 1, ndecomp_pools
DO j = 1, nl_soil
soilmatrixc_cap(j+(k-1)*nl_soil,1) = decomp_cpools_vr(j,k,i)
soilmatrixn_cap(j+(k-1)*nl_soil,1) = decomp_npools_vr(j,k,i)
ENDDO
ENDDO
ENDIF

! IF spin up is on, the capacity replaces the pool size with capacity.
! Copy the capacity into a 3D variable, and be ready to write to history files.

DO k = 1, ndecomp_pools
DO j = 1, nl_soil
decomp_cpools_vr(j,k,i) = soilmatrixc_cap(j+(k-1)*nl_soil,1)
IF(floating_cn_ratio(k))THEN
decomp_npools_vr(j,k,i) = soilmatrixn_cap(j+(k-1)*nl_soil,1)
ELSE
decomp_npools_vr(j,k,i) = decomp_cpools_vr(j,k,i) / cn_decomp_pools(j,k,i)
ENDIF
ENDDO
ENDDO

skip_balance_check(i) = .true.
ENDIF

! Reset to accumulation variables to 0 at END of each year
DO m=ps, pe
Expand Down
Loading

0 comments on commit 91abdb5

Please sign in to comment.