DSSAT Archives

DSSAT - Crop Models and Applications

DSSAT@LISTSERV.UGA.EDU

Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Roger Rivero Jr <[log in to unmask]>
Reply To:
Roger Rivero Jr <[log in to unmask]>
Date:
Mon, 8 Nov 2010 07:14:53 -0500
Content-Type:
text/plain
Parts/Attachments:
text/plain (172 lines)
Dear all,

As soon as I saw this messages I was just in shock: 500 levels are a huge
amount.

So I made my research and detected the following errors in the DSSAT
code/behavior. (DSSAT 4.5.0.2, self stated as beta version).

DISCLAIMER: I am a DSSAT enthusiast, I just report this bugs to provide some
support to the software developers and avoid headaches to users. Bugs are
normal in applications. Don't you know Windows? How many times have you see
the Blue Screen dumping your memory after a Fatal ERROR?

DSSAT 3.5 ¿as well as DSSAT 4? was not able to work with more than 99 levels
of anything (though I exploited back in the 90's the round around aspect of
decimal numbers in PCs by just starting over with the 00 value, but it
obviously just worked on the number of treatments, since reference to a
duplicate number from a given treatment would not be possible).

DSSAT 4.5 (I mean 4.5.0.2) is able to have 100+ levels of anything, but is
have some BUGs.

---------------

BUG 1: The treatments section of the XBuild editor doesn't catch the idea
for the following column headers (FILEX sections):
    soil analysis, init. cond., planting, fertilizer, residue, irrigation,
chem apps, tillage nor env. mods.

It displays the full count of levels, but it just takes the first two digits
at most on this variables.

Nevertheless, it just works apparently "fine" on cultivar,harvest,sim
control and field.

---------------
BUG 2: When saving the level number, the new code takes advantage of a
previously unused (separating) space (the third char of the line, a 1X
FORMAT field of FORTRAN, I guess)

But on writing the number with the (non-fortran based?) XBuild, it outputs
the 3 digits reference number BUT KEEPS the separating space, moving the
remaining digits one char/column to the right.

Things will still be great if you use only ONE 3 digit level per treatment,
as no field tresspases the 3 char fixed width FORTRAN FORMAT field, as in
the case of the following two treatments (copy them to notepad or any other
editor with a fixed-width font, example, Courier New, size 10, in MS Word
from MS Office, so character columns gets properly aligned)

*TREATMENTS                        -------------FACTOR LEVELS------------
@N R O C TNAME.................... CU FL SA IC MP MI MF MR MC MT ME MH SM
 1 1 0 0 Radiation=100% Deficit=2.  1  1  0  1 10  0 11 10  0  0  1 109  1
 2 1 0 0 Radiation= 79% Deficit=2. 113  1  0  1  1  0  1  1  0  0  2 10  7

By representing the 3-digits field frontiers you shall understand better, as
for the former example:
CU |FL |SA |IC |MP |MI |MF |MR |MC |MT |ME |MH |SM |
 1 | 1 | 0 | 1 |10 | 0 |11 |10 | 0 | 0 | 1 |109|  1|
113|  1|  0|  1|  1|  0|  1|  1|  0|  0|  2| 10|  7|


BUG 2 arises when you use two or more 3 digit values for references.
--------------------------------------------------------------------

In this case, single digit values after the second 3 digit field tresspass
completely the 3 digit frontier, baing assumed as the neigbour field rather
than the intended one. The second 3 digit value itself along with any other
2 digit value will partially tresspass the frontier, causing more troubles
to the XBuild and to the models.

Example
CU |FL |SA |IC |MP |MI |MF |MR |MC |MT |ME |MH |SM |
 1 | 1 | 0 | 1 |10 | 0 |11 |10 | 0 | 0 | 1 |109|  1|
113| 21|1  |0  |1  |1  |0  |1  |1  |0  |0  |2 1|0  |7


As you can see, the FL 211 value is splitted, the fisrt two digits being
interpreted as value 21 for FL (Field) and 1 for SA (soil analysis), which
was intended to be zero (meaning no level was defined for it).

IC, intended to be 1, got the 0 value from SA.
MP, intended to be 1, got the 1 value from IC (no conflict).
MF, intended to be 0, got the 1 value from MP.
... and so on
the value 7 from SM (Simulation Options) turned to be orphan: ignored on
load, and is likely to be lost is saved thereafter.

Take a look at MH (Harvest details). Intended to be 10, it gets the value 2
from ME along with the first digit of 10, forming the value "2 1". XBuild
doesn't interpret this value at all, and displays a NULL (blank) field for
MH, to be save as 0 thereafter.

How to CIRCUMVENT this BUGs,
---------------------------
1- Just delete the separating blank space after the value 113 with an
external editor like Notepad, and optionally after 211 to avoid further
plausible bugs. (i.e., remove it after every 3 digit code)

CU |FL |SA |IC |MP |MI |MF |MR |MC |MT |ME |MH |SM |
 1 | 1 | 0 | 1 |10 | 0 |11 |10 | 0 | 0 | 1 |109|  1|
113|211|  0|  1|  1|  0|  1|  1|  0|  0|  2| 10|  7|


2- To avoid bug 1, use the external editor to express 3 digit codes for
buggy 1 fields, and !Avoid using XBuild again on that FILEX!!!, or you will
lost your editions.

You can experiment by yourself, adding at least 3-4 levels past 100.

To quickly increase the number of levels for this test, just make it to
every section by means of the XBuild dropdown menus (don't waste your time
with sections other than Cultivar, Field, Harvest, and Simulation Options
'cause they're buggy 1), and keep pressed Alt+A until aproximately the
desired number is achieved.

--------------------

BUG 3: Just for the purpose of documenting this minor bug. Alt+A shortcut
doesn't work on initial conditions. (Sorry, you are only left with the click
method*)

--------------------

* A very fast clicking method for repeated tasks is the following: Hold the
mouse from behind with your left hand (if you are right-handed), touch the
click button with the tip of your pointing finger, and quickly press and
release the button (this technique is like the one used in telegraphing the
Morse code). This way you can achieve several clicks per second.


I hope I've being helpful to both developers and users. Sorry if I have
bothered you with this extensive, but I hope comprenhensive material.


Best regards,

Roger Rivero Jr.

====================================================

----- Original Message -----
From: "Vassalos, Michael" <[log in to unmask]>
To: <[log in to unmask]>
Sent: Wednesday, September 15, 2010 6:14 PM
Subject: [?? Probable Spam] Question


Dear all,

I was wondering if it is possible to add planting dates in-between the ones
that i have already input.

i.e. i have 500 different planting levels and i want to add 2 more between
the levels 38 and 39 is it possible?

When i hit add the next level is added on the bottom if i put the two levels
i want there instead between 38 and 39 would this affect the result?

Thank you



___________________________________________________________________________
Este mensaje le ha llegado mediante el servicio de correo electronico que
ofrece el CMP - Camaguey para respaldar el cumplimiento de las misiones
del Instituto de Meteorologia. La persona que envia este correo asume
el compromiso de usar el servicio a tales fines y cumplir con las
regulaciones establecidas.

INSMET: http://www.insmet.cu/

ATOM RSS1 RSS2