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

Couple BMST to vegetation phenology of Bgc #1

Conversation

RonnyMeier
Copy link

CanopyFluxesMod.F90 now uses the vegetation phenology of the Bgc-module when active. This required the following modifications:

  • Adding two new vegetation state variables: Stem mass index and leaf mass index (SMI and LMI). These variables are defined in CanopyStateType.F90. They are calculated in the CNVegStructUpdateMod.F90 in Bgc mode or in CanopyFluxesMod.F90 in Sp mode.

  • The parameter reading was moved to pftconMod.F90 because some of the parameters are also needed in CNVegStructUpdateMod.F90. This also resulted in slight modifications of readParamsMod.F90, clninitializeMod.F90, clm_instMod.F90, and namelist_definition_clm4_5.xml.

  • Stem heat storage is suppressed if breast-height diameter is below 0.01 m to avoid instabilities for small trees.

Additional (minor modifications):

  1. CNVegStructUpdateMod.F90 now uses the tree number density of the parameter file instead of the hard coded constant tree number density

  2. The fraction of radiation received by stem is now calculated according to stem surface area instead of exposed stem area index in CanopyFluxesMod.F90

  3. When calculating the update in the stem temperature an additional if statement was added to avoid dividing by zero.

Ronny Meier added 5 commits September 3, 2018 15:35
…Bgc module if active:

-Added variables leaf and stem mass index
-Parameter reading moved to pftconMod.F90 because some are also needed in CNVegStructUpdateMod.F90
-Stem heat storage suppressed if breast-height diameter below 0.01 m
-Fraction of radiation recieved by stem is now calculated according to stem surface area instead of exposed stem area index
swensosc pushed a commit that referenced this pull request Oct 24, 2018
added summary N litterfall flux variable
@RonnyMeier RonnyMeier closed this Nov 6, 2018
@RonnyMeier RonnyMeier deleted the heat_storage_biomass_sesc_bgc branch June 12, 2019 13:22
swensosc pushed a commit that referenced this pull request Jul 10, 2019
swensosc pushed a commit that referenced this pull request Apr 10, 2020
Use svg rather than the default png for math images
swensosc pushed a commit that referenced this pull request Sep 14, 2020
swensosc pushed a commit that referenced this pull request Sep 14, 2020
update my ctsm fork to latest
ekluzek pushed a commit that referenced this pull request Sep 29, 2020
Changes to review of dynlakes_master_notools

Response to review of Pull Request ESCOMP#1109:
including removal of lake_heat variable, update of surfrd_lakemask module and clean up of comments.
swensosc pushed a commit that referenced this pull request Sep 9, 2021
swensosc pushed a commit that referenced this pull request Feb 8, 2022
swensosc pushed a commit that referenced this pull request Feb 8, 2022
This reverts commit eac83c1, reversing
changes made to 84e970f.
swensosc pushed a commit that referenced this pull request Apr 15, 2022
Ideally we would do year-2000 tests to have more crop cover and thus
potentially be more useful tests. However, there are problems running a
year-2000 ciso test with crop. These problems exist even with an SMS
test on master:

I tried tests like
SMS_Ly1_P72x1.f10_f10_mg37.I2000Clm45BgcCrop.cheyenne_gnu.clm-ciso--clm-cropMonthOutput,
but both debug & non-debug, intel & gnu versions.

Debug tests fail like this (from SMS_D_Ly1_P72x1.f10_f10_mg37.I2000Clm45BgcCrop.cheyenne_gnu.clm-ciso--clm-cropMonthOutput):

30:Program received signal SIGFPE: Floating-point exception - erroneous arithmetic operation.
30:
30:Backtrace for this error:
13:
13:Program received signal SIGFPE: Floating-point exception - erroneous arithmetic operation.
13:
13:Backtrace for this error:
13:#0  0x2b9d1acc4aff in ???
30:#0  0x2b9d1acc4aff in ???
13:#1  0xf63fff in cisofluxcalc
13:     at /glade/work/sacks/ctsm_code/ctsm/src/biogeochem/CNCIsoFluxMod.F90:1555
30:#1  0xf63fff in cisofluxcalc
30:     at /glade/work/sacks/ctsm_code/ctsm/src/biogeochem/CNCIsoFluxMod.F90:1555
30:#2  0xf6b489 in __cncisofluxmod_MOD_cisoflux1
30:     at /glade/work/sacks/ctsm_code/ctsm/src/biogeochem/CNCIsoFluxMod.F90:153
13:#2  0xf6b489 in __cncisofluxmod_MOD_cisoflux1
13:     at /glade/work/sacks/ctsm_code/ctsm/src/biogeochem/CNCIsoFluxMod.F90:153
13:#3  0xe45657 in __cndrivermod_MOD_cndrivernoleaching
13:     at /glade/work/sacks/ctsm_code/ctsm/src/biogeochem/CNDriverMod.F90:559
30:#3  0xe45657 in __cndrivermod_MOD_cndrivernoleaching
30:     at /glade/work/sacks/ctsm_code/ctsm/src/biogeochem/CNDriverMod.F90:559

An intel test dies in the same place.

Non-debug versions die like this (both for gnu and intel):

30: set_curr_delta ERROR: found unexpected non-zero delta mid-year
30: Dribbler name: hrv_xsmrpool_to_atm_c_13
30: i, delta =            2                       NaN
30: Start of time step date (yr, mon, day, tod) =         2000           1          15       57600
30: This indicates that some non-zero flux was generated at a time step
30: other than the first time step of the year, which this dribbler was told not to expect.
30: If this non-zero mid-year delta is expected, then you can suppress this error
30: by setting allows_non_annual_delta to .true. when constructing this dribbler.
30:iam = 30: local  gridcell index = 2
30:iam = 30: global gridcell index = 103
30:iam = 30: gridcell longitude    =  285.0000000
30:iam = 30: gridcell latitude     =  -10.0000000
30: ENDRUN:
30: ERROR: set_curr_delta: found unexpected non-zero delta mid-year: ERROR in /glade/work/sacks/ctsm_code/ctsm/src/utils/AnnualFluxDr
ibbler.F90 at line 276

So there is some issue with year-2000 ciso tests with crop. This issue
exists on master, for clm45 and clm50 tests. (e.g., for clm50, I tried
SMS_D_Ly1_P72x1.f10_f10_mg37.I2000Clm50BgcCrop.cheyenne_gnu.clm-ciso--clm-cropMonthOutput.)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant