Program AEZCCS04 reads the output from the land productivity assessment (program AEZCCS03) and prepares a data file for input to a linear programming package according to the specifications given in the scenario control input file. Output is generated in standard MPS file format (see Appendix E).
The scenario control input file, file CTRL$$$, is read (subroutine CTRLIN). Here, the user specifies the mode of operation, several program control switches and, optionally, a subset of constraints of the linear program which is prepared to subsequently arrive at an optimal land use pattern. Aggregation indices, conversion weights and various technical coefficients at different levels of aggregation are read from a data set as specified on the scenario control file (subroutine LOADT1). Then, the livestock systems definition tables are processed (subroutine L0ADT2), and crop specific input requirements in table function format are read into memory (subroutine LOADTM). Livestock distribution parameters are checked for consistency and feasibility (function LVDCHK).
The main program loop starts with reading the cell information record from the unformatted sequential file created by program AEZCCS03 (subroutine CELLIN). Then, basic accounting of cell extents takes place (subroutine ACCALC), the population density relevant to the current cell is retrieved, and the crop combination records relating to the current cell are screened and copied to a temporary working file (subroutine TBGET).
The temporary file is re-read and each available crop combination record is processed (subroutine CMBIN). Various land area counters are updated (subroutine ACCALC), and production from every admissible crop combination is determined (subroutine QCCALC). The input requirements for production in terms of seeds, fertilizer, power and pesticides are derived from the technology matrix (subroutine INPUTS) and the respective weight in the objective function of the LP is calculated (function OBJFUN). The relevant coefficients of the LP constraint matrix are generated (subroutine CMBMAT) and saved on temporary unformatted sequential working files (subroutine OUTREC).
After having processed all the crop combination records available for the current land inventory cell, the program proceeds with reading the next cell information record continuing this operation cycle until all cells have been read and dealt with.
FIGURE 5.1
Information flow in program AEZCCS04
Finally, the program turns to the livestock systems feeding and distribution constraints (subroutine LVSMAT). While processing all the crop combination information, the program also calculates and aggregates data on feed supply by livestock zone. This information is used to generate livestock zone and livestock system specific feed balances and livestock system share constraints (subroutine QLCALC).
The program ends with writing out the LP specification - objective function, constraint matrix, right hand sides and activity bounds - in standard SPECS and MPS data file format (subroutine LPGEN). The information flow in program AEZCCS04 is shown in Figure 5.1.
Unit Nr. | File name | Fileb) type | Record length (bytes) | Number of recordsa) | File size (bytes) | I/Oc) mode |
5 | CTRL$ $ $e) | FS | 80 | V | - | R |
6 | PRINTER | FS | 132 | V | - | W |
9 | OUT$ $ $e) | FS | 132. | V | ≤ 5000 | W |
10 | LPSPECSd) | FS | 44 | V | ≤ 30 Mb | W |
11 | POPDIST | UR | 11880 | 104 | 1235520 | R |
12 | EXTENTS | UR | 5940 | 104 | 617710 | R |
10 | COMMDAT | FS | 80 | 132 | ≤ 1000 | R |
10 | LVSDAT | FS | 80 | 55 | ≤ 1000 | R |
10 | TECHMAT | FS | 80 | 456 | 36480 | R |
15 | SCR104d) | US | ≤ 125 | V | ≤ 20 Mb | RW |
16 | SCR204d) | US | ≤125 | V | ≤ 5 Mb | RW |
17 | SCR304d) | US | ≤ 125 | V | ≤ 32 Kb | RW |
18 | SCR404d) | US | ≤125 | V | ≤ 1 Mb | RW |
19 | BIN.$$$e) | US | ≤56 | V | ≤ 10 Mb | R |
a) ‘V’ indicates a variable, district or country specific number of records.
b) FS = formatted sequential, UR = unformatted random access, US = unformatted sequential.
Name : | AEZCCS04 |
Type: | Main program |
Arguments : | none |
Purpose : | LP Matrix Generator program for population supporting capacity |
assessment. | |
Called by : | none |
Calls to : | CELLIN, CMBIN, CTRLIN, LPGEN, LVSMAT, TBGET |
Box Ref. : | 1.4 |
Name : | ACCALC (nflag) |
Type: | subroutine |
Arguments : | integer |
nflag: | routine control flag |
Purpose : | Set up cell acreage counters. |
Called by : | CMBIN, TBGET |
Calls to : | CLR4BR |
Box Ref. : | 4.12* |
Name : | CELLIN (eof, nfeas) |
Type: | subroutine |
Arguments : | integer*2, integer*2 |
eof : end-of-file indicator | |
nfeas : number of feasible crops in current cell | |
Purpose : | Read in land inventory record from unformatted sequential file. |
Called by : | MAIN |
Calls to : | none |
Box Ref. : | 4.2 |
Name : | CLR2BI (buf, n, val) |
Type: | subroutine |
Arguments : | integer*20, integer, integer |
buf : data buffer to be initialized | |
n : number of elements to be initialized | |
val : value to be assigned to data buffer elements | |
Purpose : | Initialize a specified number of elements of a two byte integer array to a given value. |
Called by : | CMBIN, CTRLIN, LOADT2, TBGET |
Calls to : | none |
Box Ref. : | none |
Name : | CLR4BI (buf, n, val) |
Type: | subroutine |
Arguments : | integer*40, integer, integer |
buf : data buffer to be initialized | |
n. : number of elements to be initialized | |
val : value to be assigned to data buffer elements | |
Purpose : | Initialize a specified number of elements of a four byte integer array to a given value. |
Called by : | CTRLIN |
Calls to : | none |
Box Ref. : | none |
Name : | CLR4BR (buf, n, val) |
Type: | subroutine |
Arguments : | real*40, integer, real*4 |
buf : data buffer to be initialized | |
n. : number of elements to be initialized | |
val : value to be assigned to data buffer elements | |
Purpose : | Initialize a specified number of elements of a four byte real array to a given value. |
Called by : | ACCALC, CTRLIN, INPUTS, L0ADT2, QCCALC, QLCALC |
Calls to : | none |
Box Ref. : | none |
Name : | CMBIN |
Type: | subroutine |
Arguments : | none |
Purpose : | Read in and process crop combination records relevant in current cell. |
Called by : | MAIN |
Calls to : | ACCALC, CLR2BI, CMBMAT, OUTREC, QCCALC |
Box Ref. : | 4.4 |
Name : | CMBMAT |
Type: | subroutine |
Arguments : | none |
Purpose : | Generate crop combination related LP coefficients and write non-zero elements to scratch file. |
Called by : | CMBIN |
Calls to : | OUTREC |
Box Ref. : | 4.16 |
Name : | CTRLIN |
Type: | subroutine |
Arguments : | none |
Purpose : | Read scenario control information and open required files for I/O. |
Called by : | MAIN |
Calls to : | CLR2BI, CLR4BI, CLR4BR, ERROR, L0ADT1, L0ADT2, LOADTM, LVDCHK |
Box Ref. : | 4.1 |
Name : | ERROR (ityp, ifatal) |
Type: | subroutine |
Arguments : | integer, integer |
ityp : error code | |
ifatal : error level | |
Purpose : | Display an error message. |
Called by : | CTRLIN, LOADT1, LOADT2 |
Calls to : | none |
Box Ref. : | 4.11 |
Name : | INPUTS (icrp, yield, req) |
Type: | subroutine |
Arguments : | integer, real*4, real*4() |
icrp : crop code | |
yield : crop yield | |
req:input requirements | |
Purpose : | Interpolate input requirements from table functions given in technology matrix. |
Called by : | QCCALC, QLCALC |
Callsto: | CLR4BR, ISGLYS, TMIDX, TTAB |
Box Ref. : | 4.19 |
Name : | ISGLYS (islu) |
Type: | logical function |
Arguments : | integer*2 |
islu : soil unit code | |
Purpose : | Is soil a Gleysol ? |
Calledby: | INPUTS |
Calls to : | none |
Box Ref. : | 4.22 |
Name : | ISLITH (iphs) |
Type: | logical function |
Arguments : | integer*2 |
iphs : soil phase code | |
Purpose : | Is soil phase of type lithic ? |
Called by : | INPUTS |
Calls to : | none |
Box Ref. : | 4.18 |
Name : | ISRFED (kfirst) |
Type: | logical function |
Arguments : | integer |
kfirst : first crop in sequential crop combination | |
Purpose : | Check if land can be used for rainfed production. |
Called by : | TBGET |
Calls to : | none |
Box Ref. : | 4.13 |
Name : | LOADT1 |
Type: | subroutine |
Arguments : | none |
Purpose : | Load crop specific conversion factors and weights. |
Called by : | CTRLIN |
Calls to : | ERROR |
Box Ref. : | 4.7 |
Name : | LOADT2 |
Type: | subroutine |
Arguments : | none |
Purpose : | Load livestock systems parameters. |
Called by : | CTRLIN |
Calls to : | CLR2BI, CLR4BR, ERROR |
Box Ref. : | 4.8 |
Name : | LOADTM |
Type: | subroutine |
Arguments : | none |
Purpose : | Load technology matrix. |
Called by : | CTRLIN |
Calls to : | none |
Box Ref. : | 4.9 |
Name : | LPGEN |
Type: | subroutine |
Arguments : | none |
Purpose : | Write out LP specification in standard SPECS and MPS data format. |
Called by : | MAIN |
Calls to : | none |
Box Ref. : | 4.6 |
Name : | LVDCHK(irhs, share, len) |
Type: | integer function |
Arguments : | integer*2()> real*40, integer |
irhs : livestock distribution constraint type | |
share : livestock system distribution shares | |
len. : number of systems to be checked | |
Purpose : | Perform simple feasibility checks on livestock system distribution constraints |
Called by : | CTRLIN |
Calls to : | none |
Box Ref. : | 4.10 |
Name : | LVSMAT |
Type: | subroutine |
Arguments : | none |
Purpose : | Generate livestock system related LP coefficients and write non-zero elements to scratch file. |
Called by : | MAIN |
Calls to : | OUTREC, QLCALC |
Box Ref. : | 4.5 |
Name : | OBJFUN (mode, kfirst, qval, pcost) |
Type: | real*4 function |
Arguments : | integer, integer, real*4, real*4 |
mode : routine control flag | |
kfirst : first crop in sequential crop combination | |
qval : production value | |
pcost : production cost | |
Purpose : | Return weight of current activity in linear objective function. |
Called by : | QCCALC, QLCALC |
Calls to : | none |
Box Ref. : | 4.21* |
Name : | OUTREC (iu, irow, label, val) |
Type: | subroutine |
Arguments : | integer, integer, character*8, real*4 |
iu : routine control flag | |
irow:LP row index | |
label : LP column label | |
val : LP constraint matrix coefficient | |
Purpose : | Write LP row record to scratch file. |
Called by : | CMBIN, CMBMAT, LVSMAT |
Calls to : | none |
Box Ref. : | 4.17* |
Name : | PYLOSS (sloss, ithz, days, islu, iphs) |
Type: | real*4 function |
Arguments : | real*4, integer*2, integer*2, integer*2, integer*2 |
sloss : annual soil loss | |
ithz : thermal zone code | |
days : number of days in LGP | |
islu : soil unit code | |
iphs : soil phase code | |
Purpose : | Convert estimated soil loss to productivity loss. |
Called by : | TBGET |
Calls to : | ISLITH |
Box Ref. : | 4.14 |
Name : | QCCALC |
Type: | subroutine |
Arguments : | none |
Purpose : | Calculate production, input requirements, and value of objective function for a given sequential crop combination. |
Called by : | CMBIN |
Calls to : | CLR4BR, INPUTS, OBJFUN, TLUFCT |
Box Ref. : | 4.15 |
Name : | QLCALC |
Type: | subroutine |
Arguments : | none |
Purpose : | Calculate production, feed requirements, and value of objective function for a given livestock system. |
Called by : | LVSMAT |
Calls to : | CLR4BR, INPUTS, OBJFUN |
Box Ref. : | 4.25 |
Name : | TBGET |
Type: | subroutine |
Arguments : | none |
Purpose : | Set up cell specific yet crop combination independent information. |
Called by : | MAIN |
Calls to : | ACCALC, CLR4BR, ISRFED, PYLOSS |
Box Ref. : | 4.3 |
Name : | TLUFCT (itech) |
Type: | real*4 function |
Arguments : | integer |
itech : input level indicator | |
Purpose : | Return pasture/livestock productivity adjustment factor. |
Called by : | QCCALC |
Calls to : | none |
Box Ref. : | 4.20 |
Name : | TMIDX(days, isglys, yldfct) |
Type: | integer function |
Arguments : | integer*2, logical, real*4 |
days : number of days in LGP | |
isglys : gleysol indicator | |
yldfct : productivity factor | |
Purpose : | Return land class index for look-up in technology matrix. |
Called by : | INPUTS |
Calls to : | none |
Box Ref. : | 4.23 |
Name : | TTAB (yld, kr, lc, req) |
Type: | subroutine |
Arguments : | real*4, integer, integer, real*4() |
yld : crop yield | |
kr : index of crop in technology matrix | |
lc : land class index | |
req : input requirements | |
Purpose : | Look up input requirements in technology matrix. |
Called by : | INPUTS |
Calls to : | none |
Box Ref. : | 4.24 |
TABLE 5.1
Variables read from scenario control input file, file CTRL$$$
Card Nr. | Variable name | # of Items read | Format specification |
01 | TXTLIN | 1 | (A80) |
02 | FNBIN | 1 | (A50) |
03 | FNTB1 | 1 | (A50) |
04 | FNTB2 | 1 | (A50) |
05 | FNDBG | 1 | (A50) |
06 | FNPRT | 1 | (A50) |
07 | FNRND1 | 1 | (A50) |
08 | FNRND2 | 1 | (A50) |
09 | FNSCR1 | 1 | (A50) |
10 | FNSCR2 | 1 | (A50) |
11 | FNSCR3 | 1 | (A50) |
12 | FNSCR4 | 1 | (A50) |
13 | FNAGGR | 1 | (A50) |
14 | MODE | 1 | (12) |
15 | IDEBUG | 1 | (12) |
16 | IPRINT | 1 | (12) |
17 | FPLAND | 1 | (12) |
18 | FLCPP | 1 | (12) |
19 | DEGSH | 1 | (F5.2) |
20 | RISK1 | 1 | (F5.2) |
21 | RSK2 | 1 | (F5.2) |
22 | CALREQ | 1 | (F5.2) |
23 | PRTREQ | 1 | (F5.2) |
24 | UMONO | 1 | (F5.2) |
25 | TLUFLW | 1 | (F5.2) |
26 | SHNFIX | 1 | (F5.2) |
27 | TXTLIN | 1 | (A80) |
28 | TP0P1 | 1 | (F10.0) |
29 | TP0P2 | 1 | (F10.0) |
30 | TXTLIN | 1 | (A80) |
31–32 | CPP | NFAG | (/10F8.0) |
33 | TXTLIN | 1 | (A80) |
34 | TXTLIN | 1 | (A80) |
35 | IRHS()*) | MLVS1 | (16,918) |
36 | LVDST | MLVS1 | (10F8.0) |
37 | TXTLIN | 1 | (A80) |
38 | IRHS()*) | MLVS2 | (I6,9I8) |
39 | LVDST(MLVS1+1) | MLVS2 | (10F8.0) |
40 | TXTLIN | 1 | (A80) |
41 | LPNAME | 1 | (A30) |
Each AEZ-CCS program is controlled by a short input data file which is usually read from standard input. Table 5.1 provides the list of variables read from the control file used to run LP matrix generator program AEZCCS04 and LP Report Writer program AEZCCS05. In the table only the fixed portion of the control file is explained. In addition, the user can optionally indicate various LP constraints related to target demand, production levels and land use, availability and use of production inputs, investment constraints, and soil conservation. Example 5.1 shows a simple version of the control input data file for Meru district in Kenya at intermediate level of input,
TXTLIN | = | character*80 variable for reading text lines which have been included to improve readability of scenario control data file. |
FNBIN | = | name of file (including full path) containing cell information and crop combination records from land productivity assessment program AEZCCS03. |
FNTB1 | = | name of file (including full path) containing aggregation indices and miscellaneous crop and commodity conversion and weight factors (CF-cards, CQ-cards and AG-cards). |
FNTB2 | = | name of file (including full path) containing livestock zone and system definition tables (LZ-cards, LS-cards and LQ-cards). |
FNDBG | = | name of file (including full path) where debug output and error messages are to be printed. |
FNRND1 | = | name of unformatted random access file (including full path) containing population distribution parameters by agro-ecological zone, i.e. by location unique in terms of THZ / PTN / LGP code. |
FNRND2 | = | name of unformatted random access file (including full path) containing total extents of agro-ecological zones. |
FNSCR1 | = | name of unformatted sequential file (including full path) used as temporary work space for holding LP constraint matrix records. |
FNSCR2 | = | name of unformatted sequential file (including full path) used as temporary working space for holding LP constraints right-hand-side records. |
FNSCR3 | = | name of unformatted sequential file (including full path) used as temporary work space. A RAM disk file should be specified whenever possible for fast access. |
FNSCR4 | = | name of unformatted sequential file (including full path) used as temporary working space for holding LP activity bound records. |
FNAGGR | = | name of unformatted random access file (including full path) containing aggregate district results for re-printing and aggregation to national or province totals (only used in AEZCCS05). |
MODE | = | 1-digit run mode flag : 1 = maximize net calorie production 2 = maximize net value of production 3 = minimize production cost 4 = maximize gross value of production |
IDEBUG | = | debug level; controlling level of detail to be written out to debug file during program execution. |
IPRINT | = | print level; controlling level of detail to be written out to print file during program execution. |
FPLAND | = | 1-digit forest/park land use indicator : 0 = forest and park lands et aside 1 = include forest land in agricultural base 2 = include game park land in agricultural base 3 = include forest land and park land in agricultural base |
FLCPP | = | control flag for constructing district target production levels from per caput demand targets. |
DEGSH | = | share of production loss from soil degradation to be taken into account in calculations ( 0 ≤ DEGSH ≤< 1 ). |
RISK1 | = | district level risk parameter ( 0 < RISK1 < 1 ). The yield tables generated in program AEZCCS02 contain minimum, average and maximum yields according to the LGP pattern distribution parameters. The risk constraint requires that production under worst climatic conditions from the calculated optimal land use cannot fall below RISK1 times maximum attainable production under worst conditions. In other words, the constraint ensures that the cropping pattern generated in the LP, based on average climatic conditions, also provides a ‘sufficiently good’ solution in bad years. |
RISK2 | = | cell level risk parameter ( 0 ≤ RISK2 ≤ 1 ). This constraint acts as above but at the cell level instead of district level. |
CALREQ | = | minimum calorie food requirement per person per day (Kcal/cap/day). |
PRTREQ | = | minimum protein requirement per person per day (grams protein/cap/day). |
UMONO TLUFLW | = | upper limit on cell use for mono-culture. This value acts as an upper bound on activity levels related to mono-culture. share of fallow land that can be used for grazing, i.e. live stock production (0 ≤ TLUFLW ≤ 1 ). |
SHNFIX | = | share of acreage used for fuelwood production to be allocated to species without nitrogen fixation abilities ( 0 ≤ SHNFIX ≤ 1 ). |
TPOP1 | = | disrict/regional population in base year (i.e. 1980 in Kenya Case Study). |
TPOP2 | = | disrict/regional population in target year (i.e. 2000 in Kenya Case Study). |
CPP | = | district/regional consumption pattern per caput in terms of aggregate food commodity list (for details on aggregation of agricultural production see section 5.5 below). |
LVDST | = | livestock system distribution parameters in pastoral zone (0 – 119 days length of growing period) and intermediate/high productive zones (LGP ≤ 120 days). |
LPNAME | = | header text of linear program. |
In addition to the fixed portion of the scenario control file CTRL$$$ the user can provide data to generate various LP constraints that must be entered in four categories:
net production constraints at aggregate food commodity level, e.g. target production level of pulses
acreage and production constraints by agricultural commodity, e.g. wheat acreage, coffee acreage, maize production level
input use constraints, e.g. fertilizer use availability
miscellaneous constraints: e.g. conservation labor supply, investment limit.
Each of the constraints requires specification of a constraint type indicator and a constraint value. The constraint type indicator determines the kind of constraint that will be generated: 0 = unconstrained, 1 = equality constraint, 2 = lower bound inequality, 3 = upper bound inequality. Example 5.1, showing a simple scenario control file for Meru district in Kenya, illustrates the use of optional acreage constraints.
This text file contains three kinds of record types, CF, CQ, and AG, which refer to three different levels of commodity aggregation, namely, crop list, agricultural production, and aggregate food commodity list, respectively. Each record type contains commodity name information and technical coefficients such as conversion weights and extraction coefficients. The format of each record type is described below.
The CF cards describe the first aggregation step, i.e. the conversion from individual crops to an agricultural production commodity list. Apart from crop name text labels this card type contains aggregation indices, respective conversion weights and other crop specific information.
Card Position | Contents |
1 – 2 | card label |
3 – 5 | country code |
6 – 8 | crop sequence number |
9 – 16 | crop name, short text label |
17 – 19 | aggregation index from crop list to agricultural commodity list |
20 – 24 | aggregation weight to convert from crop list to agricultural commodity list |
25 – 27 | technology matrix look-up index |
28 – 29 | mono-culture crop group index |
30 – 32 | extraction rate, i.e. share of crop yield available for food |
33 – 37 | consumption calorie content of harvested product (Kcal per kg) |
38 – 41 | protein content of harvested product (gram protein per 100 gram) |
42 – 46 | crop producer price |
47 – 50 | crop residues production (dry matter) per unit of crop yield |
51 – 53 | crop residues uptake and utilization factor, i.e. upper bound on |
54 – 56 | share of crop residues available for livestock feeding crop byproduct production (dry matter) per unit of crop yield |
57 – 59 | crop by-products uptake and utilization factor, i.e. upper bound on share of crop by-products available for livestock feeding |
The CQ cards describe the second aggregation step from the agricultural production commodity list to an aggregate food product list. Each record contains commodity name, aggregation index and conversion weight. Waste factors account for losses incurred during harvesting and marketing.
Card Position | Contents |
1 – 2 | card label |
3 – 5 | country code |
6 – 8 | commodity sequence number |
9 – 16 | commodity name, short text label |
17 – 40 | commodity name, long text label |
41 – 43 | aggregation index from agricultural production list to aggregate food list |
44 – 48 | aggregation weight to convert from agricultural production list to aggregate food list |
49 – 52 | waste share, i.e. share of production lost through harvesting and marketing |
53 – 57 | price of agricultural product |
The AG cards describe the third aggregation level, the aggregate food commodity list. Demand constraints specified in the LP control input data file refer to this level of aggregation. There are two ways of specifying this type of constraints:
direct specification of quantities demanded
automatic generation of demand constraint from target per capita consumption levels contained in control file.
If per caput consumption levels are non-zero in file CTRL$$$ and the automatic demand generation flag (FLCCP) is set, then demand constraints will be imposed according to the priority level specified on the AG card. Priority level 01 results in inequality constraints, priority level 02 results in equality constraints. Note also, that direct specification of demand constraints overrides automatic demand constraint generation.
Card Position | Contents |
1 – 2 | card label |
3 – 5 | country code |
6 – 8 | food aggregate, sequence number |
9 – 16 | food aggregate, short text label |
17 – 40 | food aggregate, long text label |
41 – 43 | food priority level: used only when automatic constraint generation from specified per caput demand is requested in LP (control parameter FLCPP in file CTRL$$$) |
This text file contains three kinds of record types, LZ, LS, and LQ, which refer to livestock zone definition records, livestock system definition, and livestock product definition, respectively. The format of each record type is described below.
The LZ cards map agro-ecological zones to livestock zones. Each combination of thermal zone and LGP codes is related to a livestock system zone. This relation is important as all the livestock feed balances are imposed at the level of a livestock zone.
Card Position | Contents |
1 – 2 | card label |
3 – 5 | country code |
6 – 8 | thermal zone code |
9 | not used |
10 – 24 | for each LGP (1 to MLGP= 15), the livestock zone corresponding to the corresponding pair of thermal zone and LGP codes is indicated |
The LS cards describe each livestock system in terms of feed requirements and productivity. The records contain a suitability rating per livestock zone, feed requirements per TLU and relevant production of livestock products per TLU (up to four joint products per livestock system).
Card Position | Contents |
1 – 2 | card label |
3 – 5 | country code |
6 – 7 | livestock system sequence number |
8 – 15 | livestock system name |
16 | not used |
17 | input level indicator 1 = low level, 2 = intermediate level, 3 = high level of input |
18 | not used |
19 – 34 | suitability rating by livestock zone* |
35 – 38 | total feed requirements (kg dry weight per herd TLU per day) |
39 – 41 | maximum share of crop residues and by-products in feed diet |
42 – 44 | requirement of primary product (cereals) in feed diet (kg per herd TLU per day) |
45 – 47 | livestock product sequence number |
48 – 52 | output of indicated livestock product (kg per herd TLU per year) |
53 – 55 | livestock product sequence number |
56 – 60 | output of indicated livestock product (kg per herd TLU per year) |
61 – 63 | livestock product sequence number |
64 – 68 | output of indicated livestock product (kg per herd TLU per year) |
69 – 71 | livestock product sequence number |
72 – 76 | output of indicated livestock product (kg per herd TLU per year) |
The LQ cards describe livestock products in terms of name, aggregation index and conversion weight, i.e. their relation to the aggregate food list, and their value in terms of nutritional contents and unit price.
Card Position | Contents |
1 – 2 | card label |
3 – 5 | country code |
6 – 8 | livestock product sequence number |
9 – 16 | product name, short text label |
17 – 40 | product name, long text label |
41 – 43 | aggregation index from livestock product list to aggregate food list |
44 – 48 | aggregation weight to convert from livestock product list to aggregate food list |
49 – 52 | waste share, i.e. share of production lost through marketing |
53 – 57 | energy content of livestock product (Kcal per kg) |
58 – 62 | protein content of livestock product (gram protein per 100 gram) |
63 – 67 | livestock product farm price |
The TECHMAT file is used to describe the input to output relationship of the crop production activities in the study. The technology matrix uses a table function format. Each record refers to a specific crop under specific agro-climatic conditions at a specific level of technology and indicates the required input levels in terms of seeds, fertilizer, power, and pesticides in relation to the respective yield level. Access to this table is achieved using the respective look-up index specified on the LC-cards described in the previous section.
Card Position | Contents |
1 – 2 | card label |
3 – 5 | country code |
6 – 11 | crop group, text label |
12 – 14 | land class, text label |
15 – 17 | crop group index |
18 – 20 | land class type |
21 – 23 | table function input level code |
24 – 30 | yield level (kg per ha) |
31 – 37 | traditional seed required (kg per ha) |
38 – 44 | improved seed required (kg per ha) |
45 – 51 | power required (man day equiv. per ha) |
52 – 58 | N fertilizer required (kg N per ha) |
59 – 65 | P fertilizer required (kg P per ha) |
66 – 72 | K fertilizer required (kg K per ha) |
73 – 79 | plant protection (US dollars per ha) |