Giter VIP home page Giter VIP logo

dssat-csm-os's People

Contributors

chporter avatar david-clifford avatar fabiooliveira72 avatar frostbytten avatar gerrithoogenboom avatar jguarin4 avatar jvasquez05 avatar kthorp avatar lpmorenoc avatar mengzhang avatar mulugetaifdc avatar murilodsv avatar palderman avatar rojo1997 avatar singhu avatar thiagoferreira53 avatar vshelia avatar wpavan avatar yujinggao-git avatar

dssat-csm-os's Issues

Verify if the extinction coefficient (k) is working properly

Originally posted in: https://github.com/danipilze/dssat-csm/issues/99
Based on the report from James:

something is going wrong with the shading effect on leaf life. It should be causing a particular cohort of leaves to fall about one week after being in 95% shade as determined by the cohorts higher in the canopy and using (1-ekLAI) to determine the levels. With the k values we are using for cassava this should correspond to LAIs of close to 4, not less than 2.5. Daniel and I changed k in the model to see if it had any effect: it did not, so something is not working properly. Our concerns are also reinforced by the PAR interception curves below which show that we are only getting about 90% of less, and hence shading effects should not be operational. When I look at Chart 11 I see we are doing a pretty good job with LAI until we star getting the shading effect at 100 plus days, after that we go haywire!

After Julian’s comments and some feedback from the researchers in Thailand where they were not getting LAI greater than 4. I tested different values for k and I think the Lambert-Beer law does not apply to cassava and it is more for other crops that intercept 95% of the light with a LAI of 4. As result, we are forced to use low k values that does not look logical to get high LAI.

image

Modify specific leaf area

Review results from Keating and the model from Fukai and Hammer (1987). There is an increase in SLA due to temperature. Check issue #10 to use some parameters.

Modify leaf appearance curve

Currently the leaf appearance curve works ok with branching varieties but it underestimates the number of leaves for the non-branching varieties (see example below for TME 419).
image

James suggested to use a linear curve and reduce the leaf appearance rate when the assimilates, water or nitrogen are not enough to supply the demand. Currently we are reducing the leaf appearance when there is water stress and nitrogen stress.
These are some testing for non-branching varieties using linear regression (in Excel):
image
And the model Wang-Engel:
image

Reduce leaf age with plant age

Based on the data from Lian & Cock (1979) there is some reduction of the leaf duration with the age of the plant including in leaves that are not shaded.
image

Increase leaf appearance rate, leaf size and fibrous root weight for long days

Currently the model considers an increase in the branching during long days but it does not include the increased leaf appearance. Keating mentioned that some varieties increase the rate of leaf production (under constant temperature and different photoperiod), the leaf size and the fibrous root weight but those effects are not included in the model.

Change format of S#AD

Currently S#AD in plantgro.out has two decimal places and if the value has more than 3 digits at the end of the growing season it generates outputs for this variable as the following:
0.00256.00 0.00****** 0.00****** 0.00****** 0.00****** 0.00****** 0.00******

High water stress index

The water stress factor is reaching values of almost 1 (high stress) for an experiment in Nigeria
image
During those days the soil water content is in wilting point, why?
image

Modify potential leaf size for non-branching varieties

The curve for potential leaf size works ok for non-branching varieties but it underestimates the leaf size for non-branching varieties which usually reduces the leaf size just in a 50% (see below example for MCol 72-non branching variety)

image

Tan, L.S., Cock, J.H., 1979. Cassava plant forms and their associated morpho-physiological characters. MARDI Res Bull 7, 55–69.

image
Tan, L.S., Cock, J.H., 1979. Branching habit as a yield determinant in cassava. F. Crop. Res. 2, 281–289. https://doi.org/10.1016/0378-4290(79)90029-7

Review nitrogen required for leaf expansion

Originally in: https://github.com/danipilze/dssat-csm/issues/30

  • Create varietal coefficient for specific leaf N area (Specific leaf area per unit weight of N).
  • Nitrogen demand by cohort (just growing cohorts).
  • Remove the increase of N content after full expansion. The N concentration (as % of weight) changes in the leaves based on the plant age and leaf age
  • Add/verify remobilization of N when the leaf ages

Negative values of storage dry weight

The experiment CCPA8001.CSX when water and nitrogen = Y, is creating negative storage dry weights
image
It is apparently an initialization issue because if we just the treatment that is producing negative values, I am not able to reproduce the error:
image

Review the restrictions for maximum leaf area, why the potential leaf area is high?

Originally in: https://github.com/danipilze/dssat-csm/issues/98
Based on the report from James:

... we found one variety (Mven 77) with a maximum leaf area of 900 cm2. I personally have never seen a cassava leaf that big and wonder where these data for very large leaves comes from. We discovered these very large leaves when we were trying to track down excessive leaf (and stem) production in MCol 22 in the later stages of growth

I think that probably it is the result of temperature or water stress restrictions in the experiments where it was necessary to put those high potential values to get the actual leaf area reported in the experiments.

Extreme leaf senescence due to low temperatures

There is an increase of leaf senescence due to low temperatures. This is represented by the Brazilians model (Gabriel et al., 2014) and also defined by Fukai. See issue #10 to consider some parameters.

Extreme leaf senescence due to water stress

Rapid defoliation under high water stress (Ezui's model). It is also mentioned by Veltkamp, Mejía de Tafur (1991), Porto (1989) and Yao (1988) (Yao mentioned that it happens when the LAI was greater than 3). See issue #10 to consider some parameters.

Add reallocation of assimilates from the storage roots

Some ideas:

  • Define a cultivar coefficient to define the percentage of reallocation from the storage roots to the aboveground growth.
  • Create more main stems that define a new demand for assimilates to the top growth. UPDATE: Although the idea was tested, that was overestimating LAI because the new main stems created had the same age and branching levels than the current main stems which increased the number of apices and then overestimated the effect of new main stems.
  • Generate more leaves in existing stems from nodes where old leaves already fell. UPDATE: We decided to just increase the leaf appearance rate without affecting all nodes with leaves that had already died.

Integrate the node length/node weight routines

Originally posted in https://github.com/danipilze/dssat-csm/issues/101
From the report of James:

Basically, what they do is restrict the length of nodes if in the leaf expansion phase there is water, nitrogen or CHO stress in exactly the same manner as for leaf expansion. The node length is then fixed when leaf expansion ceases, and the subsequent potential increase in node weight is determined by the standard curve corrected for the decrease in node length due to the stresses in the expansion phase.

The incorporation of the last part of this idea as an algorithm would imply that the stresses would be considered double for stem growth because currently, the stem weight is reduced due to stresses...

Add B34ND to the ecotype file to complement the BR4FX

Currently the thermal time to fourth branching is using the same as B23ND but there is an option to define the number of branches up to the 4th branching level so it is recommended to add B34ND as a cultivar coefficient.

Discuss SPE parameter of N and CO2 effect

Originally in: https://github.com/danipilze/dssat-csm/issues/57
Some aspects of nitrogen and CO2 effect need revision. Discuss the following parameters and how they are used in the model:

  • NTUPF N top-up fraction (/d)
  • LN%S Leaf N concentration,standard,early and late in life cycle (fr)
  • LN%MN Leaf N concentration,minimum,early and late in life cycle (fr)
  • SN%S Stem N concentration,maximum,stage (fr)
  • SN%MN Stem N concentration,minimum (fr)
  • RN%S Root N concentration,maximum,sstage (fr)
  • RN%MN Root N concentration,minimum (fr)
  • NLAB% N labile fraction,standard %
  • NFGU N stress factor,growth,upper (fr)
  • NFGL N stress factor,growth,lower (fr)
  • NFSU N stress factor,senescence,upper (fr)
  • NLLG N limit,leaf growth (fr.max.N%)
  • NCRG N factor,root growth (ppm)
  • PARFC Maximum photosynthesis relative to phs at 330 vpm CO2 (#)
  • CO2CC CO2 compensation concentration (vpm)
  • CO2EX Exponent for relationship between CO2 and photosynthesis (#)
  • RWULF Root length factor,water uptake (cm/cm3)
  • CO2F CO2 factor,photosynthesis,relative (0-2) and CO2RF CO2 reference (vpm)

Bring back the water stress factor for photosynthesis

James suggested to bring back the effect of water stress on photosynthesis.
Here some simulations before and after the change:
Before Thailand
image

Now Thailand
image

Before Palmira:
image

Now Palmira
image

Before Quilichao
image

Now Quilichao
image

Review potential nitrogen demand by nodal unit

Originally in: https://github.com/danipilze/dssat-csm/issues/34

  • Check species factor with the nitrogen content of the stems SNCX (for the moment we will keep constant but I suspect really depend on the DDs at a particular time and the DDEs when that node was formed).
  • Determine the nitrogen demand for stem growth and also the carbohydrate demand for stem growth.

Both stem and leaf N content vary through the growing period. In the case of the leaves, we are handling partially for the lower leaves which translocate the N when they are close to fall. However, the stems change the N concentration even in the upper stem (new nodes) through the growing season and it is not properly managed in the model (see table below based on Howeler data (2011) and the image from the same publication (Figure 5).
image
image

Remove reserves stress factor on photosynthesis

The reserves stress factor (RSFP) is currently in the photosynthesis equation but it is not used:
CARBOTMPRHR(hour) = AMAX1(0.0,(PARMJFAC*RADHR(hour)*3.6/1000.)*PARU*CO2FP*TFP* RSFP * VPD%get_YCA_VPDFPHR(hour) * SLPF *WFP)
RSFPU and RSFPL are not defined so RSFP is always 1:

      IF (RSFPU > 0.0.AND.RSFPU > 0.0) THEN
              RSFP = 1.-AMIN1(1.,AMAX1(0.,(RSCD-RSFPL)/(RSFPU-RSFPL)))                                                 !EQN 260
            ELSE
              RSFP = 1.0
            ENDIF

Eliminate Work.out for the CSYCA model?

work.out have 2143 lines writing in this file and it is created even when IDETL = 0 (zero). This is not ideal for multiple simulations (e.g. HiPerGator).

Eliminate READS.out for CSYCA model?

This file is generated even when IDETL = 0 (zero). This is not ideal for multiple simulations (e.g. HiPerGator).
Currently @fabiooliveira72 is looking for options to edit/modify the code:

YCA_Runinit.f90
Line: 261-266
Code:

    
  CALL Getlun('READS.OUT',fnumrea)
                    ! Close and re-open Reads file
                    CLOSE (FNUMREA, STATUS = 'DELETE')
OPEN (UNIT = FNUMREA,FILE = 'READS.OUT', STATUS = 'NEW', ACTION = 'READWRITE')
                    WRITE(fnumrea,*)' '
                    WRITE(fnumrea,*)' File closed and re-opened to avoid generating huge file’

Description: This code is just getting the unit number (FNUMREA), after that the file is deleted if exists and a new one is reopened. Just one message is written in this subroutine nothing else. Similar previous file code.

Note that, first it is just creating the READS.OUT file and then the subroutines below write the outputs in the file:

CSREADS.for
Line: There are 138 lines using READS.OUT file.

The following subroutines are used as utilities for the CSCER,CSCAS,CSCRP and CSYCA models.

Subroutine: XREADT
Code:

      IF (FNUMFLAG.NE.'Y')THEN
        CALL Getlun('READS.OUT',fnumrea)
        CALL GETLUN('FILETMP',FILENUM)
        INQUIRE (FILE='READS.OUT',OPENED=fopen)
        IF (.NOT.fopen) OPEN(UNIT=fnumrea,FILE='READS.OUT')
        FNUMFLAG = 'Y'
      ENDIF
 
WRITE(fnumrea,*)’ '
            WRITE(fnumrea,*)'FILE ',FILENAME(1:FILELEN)
            WRITE(fnumrea,*)' TREATMENT: ‘,COL1 

Description: This pieces of code open the READS.OUT and use as debbuging file writing some variables values.

Subroutine: AREADT
Code:

  IF (FNUMFLAG.NE.'Y')THEN
      CALL Getlun('READS.OUT',fnumrea)
      INQUIRE (FILE='READS.OUT',OPENED=fopen)
      IF (.NOT.fopen) OPEN(UNIT=fnumrea,FILE='READS.OUT')
      FNUMFLAG = 'Y'
    ENDIF

! Read abbreviation file
          WRITE(fnumrea,*)’ '
          WRITE(fnumrea,*)' Reading abbrev file: ',abvfile(1:55)

Description: This pieces of code open the READS.OUT and use as debbuging file writing some variables values.

Subroutine: CUREADT
Code:

      IF (FNUMFLAG.NE.'Y')THEN
        CALL Getlun('READS.OUT',fnumrea)
        INQUIRE (FILE='READS.OUT',OPENED=fopen)
        IF (.NOT.fopen) OPEN(UNIT=fnumrea,FILE='READS.OUT')
        FNUMFLAG = 'Y'
      ENDIF

        ! WRITE(FNUMREA,*) 'CODE,TXTO ',CODE,TXTO

Description: This pieces of code open the READS.OUT and use as debbuging. The part that writes in READS.OUT is commented.

Subroutine: CUREADT
Code:

IF (FNUMFLAG.NE.'Y')THEN
     CALL Getlun('READS.OUT',fnumrea)
     INQUIRE (FILE='READS.OUT',OPENED=fopen)
     IF (.NOT.fopen) OPEN(UNIT=fnumrea,FILE='READS.OUT')
     FNUMFLAG = 'Y'
   ENDIF

Description: This pieces of code open the READS.OUT and use as debbuging file. This subroutine never writes in the output file.

Subroutine: SPREADT
Code:

IF (FNUMFLAG.NE.'Y')THEN
     CALL Getlun('READS.OUT',fnumrea)
     CALL GETLUN('FILETMP',FILENUM)
     INQUIRE (FILE='READS.OUT',OPENED=fopen)
     IF (.NOT.fopen) OPEN(UNIT=fnumrea,FILE='READS.OUT')
     FNUMFLAG = 'Y'
   ENDIF

WRITE(fnumrea,*)' '
   WRITE(fnumrea,*)'FILE ',SPDIRFLE(1:FILELEN)
   DO TVI3=1,DATANUM
     WRITE(fnumrea,'(I6,A2,A60)')tvi3,'  ',datarray(TVI3)(1:60)
   ENDDO

Description: This pieces of code open the READS.OUT and use as debbuging file writing some variables values.

Subroutine: SLREADT
Code:

    IF (FNUMFLAG.NE.'Y')THEN
       CALL Getlun('READS.OUT',fnumrea)
       CALL GETLUN('FILETMP',FILENUM)
       INQUIRE (FILE='READS.OUT',OPENED=fopen)
       IF (.NOT.fopen) OPEN(UNIT=fnumrea,FILE='READS.OUT')
       FNUMFLAG = 'Y'
     ENDIF

     WRITE(fnumrea,*)' '
     WRITE(fnumrea,*)' SOIL FILENAME ',SLDIRFLE(1:60)
     WRITE(fnumrea,*)' SOIL CODE     ',SLCODE

Description: This pieces of code open the READS.OUT and use as debbuging file writing some variables values.

Subroutine: SMREADT
Code:

      IF (FNUMFLAG.NE.'Y')THEN
        CALL Getlun('READS.OUT',fnumrea)
        INQUIRE (FILE='READS.OUT',OPENED=fopen)
        IF (.NOT.fopen) OPEN(UNIT=fnumrea,FILE='READS.OUT')
        FNUMFLAG = 'Y'
      ENDIF
       ! WRITE(FNUMREA,*) 'CODE,TXTO ',CODE,TXTO
 

Description: This pieces of code open the READS.OUT and use as debbuging. The part that writes in READS.OUT is commented.

Accelerated senescence and specific leaf area changes by temperature

Originally in: https://github.com/danipilze/dssat-csm/issues/56
We have to discuss the following parameters currently not used but with potential use with James:

  • LLOSA Leaf dry matter loss, accelerated senescence (fr)

  • SLATS Specific leaf area,temperature standard (C)

  • SLATR Specific leaf area,temperature response (fr change per oC)

  • WFSU Water factor,senescence,upper (fr)

  • LLOSA could be considered for a rapid defoliation under high water stress (Ezui's model) or low temperatures (Brazilians model).

  • SLATS and SLATR could be used because according to results fo Keating and Fukai and Hammer model (1987) there is an increase in SLA due to temperature.

  • WFSU could be considered for a rapid defoliation under high water stress (Ezui's model)

Consider hourly temperature factor for photosynthesis

Currently the hourly estimation of "photosynthesis" use the daily temperature stress factor (TFP) and instead it could be using a daily value.
CARBOTMPRHR(hour) = AMAX1(0.0,(PARMJFAC*RADHR(hour)*3.6/1000.)*PARU*CO2FP*TFP* RSFP * VPD%get_YCA_VPDFPHR(hour) * SLPF *WFP)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.