regarding crop growth

983 views
Skip to first unread message

Kaushal Garg

unread,
Oct 26, 2007, 5:34:25 AM10/26/07
to swat...@googlegroups.com

Dear Swat Users
I am facing problem regarding management operation in swat. I want to grow winter wheat in some HRUs. Crop starts in november and ends in febuary. When I assign it, model lose its continuity in crop growth. Value of Leaf area index and biomass growth has not picked from last time step when model cross the year (From december to january).

In another run when I grow crop within the year (between jan to Dec), It works well, But another problem I found that using daily timestep I donot get any value for yield component (always zero) but when I run model with monthly time step, I get some yield values.
What can be the reason?

I would be very much greatful if someone suggest solution for my problem.
Thanks and regards
Kaushal
 

willem vervoort

unread,
Oct 26, 2007, 7:15:18 AM10/26/07
to Kaushal Garg, swat...@googlegroups.com
Kaushal I had trouble with that aswell, but I think it now runs fine
with my model.

Attached is mgt file for irrigated cotton production in Australia
which also runs across the year change. Maybe you can see what you do
different.

Willem

mgtIrrigatedno_rot_2005.txt

willem vervoort

unread,
Oct 29, 2007, 4:53:01 AM10/29/07
to Kaushal Garg, SWAT-user
Dear kaushal,
I have had a look at your management file. It seems to me you have a
crop which grows from 1 July to 15 June the next year. Is this
correct?

I have no clear idea why it would not give you continuity without
checking out your whole model. The file does not seem to be wrong.
Except for the fact that you have not given IRRNO, so the model does
not know where to get any irrigation water, but I assumed you edited
that later. It should be the number of the reservoir

Try running the file without a crop growing at the beginning of the
simulation: i.e. IGRO = 0 and see if it does everything right in the
second year of the simulation.

Maybe you reach your heat units earlier?

If all else fails: download the source code and start digging.
Willem


On 10/28/07, Kaushal Garg <garg...@gmail.com> wrote:
> Dear Willem
> I have again problem about management inputs. As you know that my query was
> when year crosses, the continuity of crop growth get disturb. Model starts
> calculating Yield and biomass again from beginning but not from previous
> timestep. You sent me mgt file for
> cotton crop, simulation made for Australia.
>
> I am not getting crop continuity when I run it for sugarcane crop. Plz look
> at this file (12 months duration, starting from July and ends at June). It
> would be great if you please describe how to fix it?
>
> Thanks for your support and help.
>
> Regards
> Kaushal


>
>
>
> On 10/26/07, Kaushal Garg <garg...@gmail.com > wrote:
> >

> > Dear Willem
> > Thanks for your prompt reply and help. It is working now.
> > Thanks a lot
> > Regards
> > Kaushal

willem vervoort

unread,
Oct 31, 2007, 4:21:40 AM10/31/07
to SWAT-user
I think this discussion should stay on the groups website. I don't
think we should have individual discussions, these messages can help
everybody
W


---------- Forwarded message ----------
From: Kaushal Garg <garg...@gmail.com>
Date: Oct 31, 2007 4:28 AM
Subject: Re: [SWAT-user:774] regarding crop growth
To: willem vervoort <willemv...@gmail.com>


Dear Willem
Please find the files in attachment as I wote in previous mail.
Thanks and regards
kaushal

outputfiles.xls
000460008.mgt

willem vervoort

unread,
Oct 31, 2007, 4:23:48 AM10/31/07
to Kaushal Garg, SWAT-user
Kaushal,
Firstly, I think we should try to keep these discussions on the groups
website to have other people benefit from our discussion.

Secondly. I am not sure. I don't see any real stress in the crop, I
only see that the LAI suddenly goes to 0 (i.e. the crop loses all its
leaves and ability to synthesise). Maybe you should have a good look
at the entries in crop.dat, maybe there is something wrong there. I am
not sure.

Willem

On Oct 31, 2007 4:07 AM, Kaushal Garg <garg...@gmail.com> wrote:
>
>
> Dear Willem
>

> I again need your help regarding crop growth in SWAT. In another approach, I
> tried to take sugarcane crop in between Jan to Dec (with in single year). I
> see an unexpected result in this simulation. Biomass value and crop yield
> subsequently increased during first six to seven months (from Jan to July)
> but in later months (after July) no growth was found; despite that I applied
> fertilizer and irrigation throughout the year. I have tried to run the
> model by changing many parameters like heat units from its low value to very
> high values but result are found more or less same. (I assign management
> inputs by date wise).
>
>
>
> In case of sugarcane crop, I do expect yield value in range of 50-60 metric
> ton/ha. But here I found the yield is just in range of 2-10 ton/ha, which is
> indigestible to me. Can you please suggest me that:
>
> What are the parameters in crop growth module those can actuate the crop
> yield? Or in other words, what are the parameters those can be changed to
> get desirable out put (In case of Sugarcane, high biomass and high yield).
>
> What may be reason that crop only grows well during first 6-7 months and
> then growth found to be ceased in simulation run?
>
>
>
> I have attached output file obtained from the run. We can find biomass and
> yield accumulation till June/July but no sugarcane growth in later months.
> Results for other crops are found ok.
>
>
>
> Thanks Willem for your previous replies. Your help is really appreciable.
>
> Regards
>
> Kaushal


>
>
>
>
> On 10/29/07, willem vervoort <willemv...@gmail.com > wrote:
> > Dear kaushal,
> > I have had a look at your management file. It seems to me you have a
> > crop which grows from 1 July to 15 June the next year. Is this
> > correct?
> >
> > I have no clear idea why it would not give you continuity without
> > checking out your whole model. The file does not seem to be wrong.
> > Except for the fact that you have not given IRRNO, so the model does
> > not know where to get any irrigation water, but I assumed you edited
> > that later. It should be the number of the reservoir
> >
> > Try running the file without a crop growing at the beginning of the

> > simulation: i.e . IGRO = 0 and see if it does everything right in the

Yi

unread,
Nov 16, 2007, 3:38:00 AM11/16/07
to SWAT-user
Hi Kaushal,

The SWAT model ( I am using the SWAT2000 code) stops accumulation of
PHU at the end of the year and restart it at the begining of the next
year. For an over-year crop, it causes problems in defining the total
PHU and in continuous simulation of crop growth.

For me, the code is modified to cope with this problem when over-
winter crop is simulated.

Check the code of your model, you may find it.

Cheers,

Yi

willem vervoort

unread,
Nov 16, 2007, 3:55:16 AM11/16/07
to Yi, SWAT-user
Hi Yi,
That is interesting, can you expand on that a bit. Is this also a
problem if you run the model on dates rather than on Heat Units?

Willem

willem vervoort

unread,
Nov 16, 2007, 5:42:25 AM11/16/07
to Yi, SWAT-user
Dear Yi,

Thanks for your input, I had another look at the theory, input
instructions and the source code. I think once I had a look at the
source code I understand the input instructions better. The source
code says (in "simulate.f"):

(Note the first two lines are comments from the programmer)
!! if crop is growing, reset values for accumulated heat units,
!! etc. to zero in northern hemisphere

if (igro(j) == 1) then
if (sub_lat(hru_sub(j)) > 0.) then
phuacc(j) = 0.
laimxfr(j) = 0.
hvstiadj(j) = 0.
endif
phu_plt(nro(j),icr(j),j) = phu_plt(iix,iiz,j)
idplt(nro(j),icr(j),j) = idplt(iix,iiz,j)
hi_targ(nro(j),icr(j),j) = hi_targ(iix,iiz,j)
ncrops(iix,iiz,j) = ncrops(iix,iiz,j) + 1
end if

I think the comments are crucial (and I think the northern hemisphere
is not important here). What this suggests is that I have been
misreading the input instructions (p 232 and 233 in the SWAT 2005
input manual). I think what this means is that:
If IGRO ==1:

Than PHU_PLT is not the normal amount of heat units, but the heat
units that _are_still_needed_ to mature the crop. i.e. "total needed
heat units" - "already accumulated heat units"

However this seems odd, how would you know this as a standard value,
as depending on the year past, this value might change. I think that
phu_acc needs to keep counting if IGRO is 1 and in this case PHU_PLT =
HEAT UNITS in the plant operation.

Anyone from the SWAT developers care to comment??

Willem

On Nov 16, 2007 11:04 AM, Yi <luoy...@gmail.com> wrote:
> Hi Willem,
>
> For crop growth, calculation of LAI is based on the optimal LAI curve
> which is a function of the fraction of the PHU (consult the
> theoretical document of swat2000, pp275-277). The PHU is defined for
> each crop/vegeation in the crop2000.dat file. When fraction of the PHU
> is zero, the LAI is equal to zero. The SWAT2000 model discontinues
> accumulation of PHU at end of the calendar year and restart at the
> beginning of the following year ( simulate.f file ). So, LAI starts
> from zero again. So, you lose continuty of crop growth.
>
> The crop growth simulation in SWAT is based on PHU (plant heat unit),
> rather than date. Operations such as planting, harvesting, irrigation
> and etc. maybe scheduled on either date or plant heat unit. When
> scheduled on date, crop growth may be discontinued before maturity.
> For over-year crop, when the total plant heat unit is assigned on
> basis of its total growth season and harvest operation is scheduled on
> fraction of heat unit, the fraction should be carefully calibrated,
> otherwise, the crop may need more days to reach maturity than usual
> provided that a near unit 1 value is used which is generally proper
> for one-year crop.
>
> For over-year crop, how to define its total plant heat unit and the
> fraction of PHU for harvest is not dscribed in SWAT documents ( theory
> and user's manual). Any users would like to share their experiences?
> Meanwhile, inter-season variability of crop parameters remains an
> issue to be discussed. Any comments from other users in this group?
>
> Cheers,
>
> Yi
>
>
> On Nov 16, 4:55 pm, "willem vervoort" <willemvervo...@gmail.com>

> > > > Kaushal- Hide quoted text -
> >
> > - Show quoted text -
>

Yi

unread,
Nov 16, 2007, 7:21:03 AM11/16/07
to SWAT-user
Hi Willem,

What i said is about this piece of code in SWAT:

(Note the first two lines are comments from the programmer)
!! if crop is growing, reset values for accumulated heat
units,
!! etc. to zero in northern hemisphere
if (igro(j) == 1) then
if (sub_lat(hru_sub(j)) > 0.) then
phuacc(j) = 0.
laimxfr(j) = 0.
hvstiadj(j) = 0.
endif
phu_plt(nro(j),icr(j),j) = phu_plt(iix,iiz,j)
idplt(nro(j),icr(j),j) = idplt(iix,iiz,j)
hi_targ(nro(j),icr(j),j) = hi_targ(iix,iiz,j)
ncrops(iix,iiz,j) = ncrops(iix,iiz,j) + 1
end if

Yes, as you say, phu needs to keep counting over the growth season for
a over-year crop. For my case, the simulation takes place in the
northern hemisphere. So, for over-year crop, the phu counting stops at
the end of the year.

The problem is: how to define the total_plant_heat_unit for a over-
year crop (regardless in northern or southern hemisphere)? The total
phu over the whole growth season or over the growth period in the
following year? I prefer to define it over the whole growth season.
Then, if the code remains unchanged, the fraction of phu when harvest
takes place should be defined as ratio of the total phu in the
following year to the total phu over the whole growth season. The
total phu in the following year should be carefully calibrated.

I calculated the total phu of winter wheat using 40 years of
meteological data. The results showed obvious inter-seasonal
variability of the total phu. This may couse problems to crop yield
prediction.

The same problem exists in other crop models that simulates crop
phenological development on basis of phu or temperature degree days.
Crop growth may stop prematurely when harvest operation is scheduled
on date.

Cheers,

Yi






On Nov 16, 6:42 pm, "willem vervoort" <willemvervo...@gmail.com>
wrote:
> > > - Show quoted text -- Hide quoted text -

willem vervoort

unread,
Nov 16, 2007, 8:18:12 AM11/16/07
to Yi, SWAT-user
Hi Yi,
I think we are getting somewhere.

I had another read of the io manual: ch 20 p 232 and 233
The parameter IGRO is only supposed to operate at the beginning of the
simulation, so not at beginning of each year. So I think what goes
wrong is that this piece of code is at the wrong place. It should be
as part of the initialisation of the whole year. It might have even
been added because something is going wrong with the heat units. It
seems to me that it depends on where you are. If this is the first
year of the simulation than the heat units should accumulate to
phuplt, otherwise it should accumulate to HEAT UNITS under mgt
operation = 1 (mgt 4 in readmgt.f)

This is the "pseudocode" of what I think should be happening:

Begin simulation for n years
year 1
If IGRO = 1,
phuacc=0,
accumulate heat units until the crop is matured (this means
PHU_PLT has to be total heat units for crop maturity - some
long term average accumulated heat units for previous year
(prior to simulation))
if mgt operation = 5 or 8,
igro = 0
if mgt operation = 1
phuacc = 0
igro = 1
year = 2 - n
if igro =1
phuacc(yr[i+1])(day[1]) = phuacc(yr[i])(day[365 or 366])
(or the end value of the previous year)
if mgt operation = 5 or 8,
igro = 0
if mgt operation = 1
phuacc = 0
igro = 1

I found another bit of code and I will do a bit more study on that
this is "readmgt.f"
!! set values for cover/crop already growing
if (igro(ihru) == 1) then
igrow = 1
idplt(1,1,ihru) = ncrp
idplt(1,2,ihru) = ncrp
lcr = ncrp
phuacc(ihru) = .1
npl = 1
nhv = 0
Note that phuacc is in fractions, so phuacc = 1 means maturity. But
why is phuacc set to 0.1 when a crop is growing. I think if my
interpretation of phu_plt is correctly it should be set 0.


The other thing I don't understand is that the heat units don't seem
to be allowed to be lower than 700 or larger than 3500. In the code
that I use from readmgt.f:
if (mgt4 < 700.) mgt4 = 1700.
if (mgt4 > 3500.) mgt4 = 3500.

Is this correct? Can anyone explain this, I am not an expert in crop
growth and am just trying to interpret the code. Maybe crops can only
have heat units between 1700 and 3500. Is there a typo? should it be <
1700 rather than < 700??

Willem

Kaushal Garg

unread,
Nov 16, 2007, 10:18:02 PM11/16/07
to willem vervoort, Yi, SWAT-user
Dear Yi and Willem
In addition to this I also had problem in sugarcane growth. Within a year, when I start this crop in January and do harvesting in Dec, it only grows well only for 4-5 months; then leaf area index get down to almost zero and crop growth ceases. Water is enought in soil so no stress condition in HRUs. I could not understand which parameters are behind this bug?
 
Regards
Kaushal
 

Yi

unread,
Nov 16, 2007, 11:11:33 PM11/16/07
to SWAT-user
Dear Kaushal,

I have never simualted the sugarcane crop and know little about its
growth. I suggest you check the total plant heat unit assigned to this
crop. The max. total plant heat unit is tailored to 3500 degree in the
model. If the actual total plant heat unit is more than this, crop
growth may stop prematurely. This might be caused by some other
indirect reasons also.

For me, I am using the code of SWAT2000 in Visual Fortran. I often
debug the simulation process to find out where and what the problem
is. When lucky enough, I may find the causes of the problem directly.
However, I may spend quite a lot time to find out the indirect reasons
quite often.

Good luck.

Yi.

On Nov 17, 11:18 am, "Kaushal Garg" <garg.i...@gmail.com> wrote:
> Dear Yi and Willem
> In addition to this I also had problem in sugarcane growth. Within a year,
> when I start this crop in January and do harvesting in Dec, it only grows
> well only for 4-5 months; then leaf area index get down to almost zero
> and crop growth ceases. Water is enought in soil so no stress condition in
> HRUs. I could not understand which parameters are behind this bug?
>
> Regards
> Kaushal
>
> On 11/16/07, willem vervoort <willemvervo...@gmail.com> wrote:
>
>
>
>
>
> > Hi Yi,
> > That is interesting, can you expand on that a bit. Is this also a
> > problem if you run the model on dates rather than on Heat Units?
>
> > Willem
>
Reply all
Reply to author
Forward
0 new messages