Table of Contents Next Page


Chapter 1
Introduction

The Agro-ecological Land Resources Assessment for Agricultural Development Planning' is a case study concerned with the development and implementation of national level methodology for the determination of land use potentials of land resources of individual districts for policy formulation and development planning. This Kenya case study has been carried out by FAO and IIASA in collaboration with the Government of Kenya (FAO 1984).

This technical annex introduces a set of computer programs which have been developed at the International Institute for Applied Systems Analysis (IIASA) in the context of the above-mentioned work programme.

The technical annex is intended for system analysts and computer programmers conversant with the programming language FORTRAN to become acquainted with the software package applying the agro-ecological zones methodology in a national and sub national setting. Even though this guide is not intended to be exhaustive in each and every technical aspect of the AEZ-CCS package (agro-ecological zones methodology for country case studies), it should provide a sound basis for communication between analysts and/or programmers to explore the models, implement scenarios, and maintain, modify and update the software system as new demands arise.

This technical annex is subdivided into six chapters. Following the introduction, Chapter 1 will sketch the background of this study and give a brief overview of the software package. Then, each of the five central AEZ-CCS computer programs is described in a separate chapter. Additional information is contained in several Appendices.

1.1 About this Technical Annex

The Kenya case study is concerned with the refinement of the methodology originating from the FAO Agro-ecological Zones Project (FAO, 1978–81) and the compilation and application of a detailed land resource data base to enable planning of agricultural development at a subregional level within the national context.

Using the Kenya Case Study as an example, this technical guide describes the central part of a set of computer programs which have been developed to implement the methodological and resource data base refinements that are necessary to facilitate the integration of ecological, technological, social, demographic and economic considerations for sustainable agricultural development planning and national policy formulation. An outline of some of the main issues to be considered is presented below:

The main components of the data required to compile and computerize a land resource inventory include :

  1. Soil map (soil type, texture, phase, slope etc.)

  2. Climate map consisting of :

  3. Administrative area map

  4. Irrigation schemes and production

  5. Non-food crop areas and production

  6. Other land uses, including

  7. Population distribution

  8. Present crop mix, acreages and inputs

Although past experience has proven that not all the above data is likely to be readily available in a compiled map, and even less so in a digitized format, this paper will not address the task of data compilation but rather assume that the data base is being compiled in the form of a land resources inventory, a collection of data base records representing agro ecological cells, i.e. units of land with unique characteristics in terms of the map overlays included in the resources inventory. In the Kenya Case Study the land resources inventory consists of more than 90 000 such unique records.

1.2 Overview of the AEZ-CCS Software Package

The software package to be applied in detailed AEZ Country Case Studies (AEZ-CCS) consists of a set of five central computer programs which are required for applying the various steps of the AEZ methodology, accompanied by a suite of supplementary computer programs related to various aspects of data preparation and scenario analysis and graphical presentation of results.

The first program, AEZCCS01, converts the coded country specific productivity assessment rules, e.g. soil unit rating, follow requirement tables, etc., from a form adequate for human use (ASCII text file) into a file format more suitable for rapid access and processing by computers.

Then program AEZCCS02 sets up tables of constraint-free attainable potential crop yields in relation to the parameters of the climatic resource inventory, length of growing period zone and pattern of growing period zones.

Program AEZCCS03 processes the records of the land inventory and calculates for each location (agro-ecological cell) production potential by primary crop as well as crop combinations according to the AEZ land productivity assessment principles. Application of these rules yields an average productivity factor relative to the maximum attainable yield of a particular crop. For each crop and each location a productivity loss factor due to soil degradation is quantified. The program generates an intermediate file, containing cell information and crop combination records, which forms the basis for assessing district/regional and nation-wide policy scenarios.

Program AEZCCS04 reads the output from the land productivity assessment (program AEZCCS03) and prepares the data file for a linear program according to the specifications given in the scenario control input file. Output is generated in standard Mathematical Programming System (MPS) file format.

Finally, program AEZCCS05 re-reads the output from the AEZ land productivity assessment (program AEZCCS03) and the LP solution file generated by a standard LP package to print out summary tables at a level of detail as indicated in the control file.The LP package itself will not be discussed in this document and is assumed to be available on the respective installation. In our tests of the AEZ-CCS software package a slimmed ‘LP only’ version of MINOS, a large scale non-linear programming system (see Murtagh and Saunders (1977)), was used to solve for optimal cropping patterns in relation to the specified scenario objectives and constraints.

Figure 1.1 provides an overview of the information flow in the AEZ-CCS software package. In addition to the above mentioned computer programs there is a number of utility programs of various kinds related to:

This set of utilities around the central AEZ-CCS programs is not discussed in this technical annex.

FIGURE 1.1
Overview of AEZ-CCS software package

Figure 1.1

1.3 Program Flow and Sub-Program Definitions

The description of the computer programs follows a strict pattern. First a general overview of the main elements of the respective program is given accompanied by an illustrative figure using standardized symbols to show the information flow and calling sequences in the computer program. Input/Output file sizes and connections are listed. Each chapter continues with a sub-program definition section. Then, the control input data file is explained. Where applicable, the chapter ends with a discussion of other required input data files.

1.3.1 Program Flow Charts

The generalized program flow charts included in each of the following chapters are intended to provide a visual guide to the subroutine calling sequences of the AEZ Country Case Study Software Package. While much of the detail often found in flow charts (i.e. operation of individual statements, loops, branching) has been omitted to preserve clarity, the design intends to step the reader through the various model components in a logical and transparent way. In the graphical presentation essentially four design elements have been used:

  1. Subroutine calls are represented by rectangular boxes containing the name of the called subroutine. To allow for effective cross-referencing in later sections of this manual each subroutine box has been numbered uniquely, e.g. the subroutine LCOMBI belonging to the land productivity assessment program AEZCCS03 is shown as

    indicating that function LCOMBI appears in box number sixteen of Figure 4.1. FORTRAN sub-programs occurring more than once in one particular figure are marked by an asterisk following the box number, like

    The sequence of calls is - as usually - indicated by solid arrows.

  2. Dashed rectangular boxes in the graphical presentation refer to blocks of statements that functionally can be grouped together, e.g. the box

    refers to a set of FORTRAN READ statements that are used to communicate a set of control parameters to the computer program.

  3. Linkages to other charts are indicated by circles. Similar to sub-program boxes, these circles are uniquely numbered to assist in cross-referencing. To give an example: In Figure 4.1 showing the structure of the land productivity assessment one finds that subroutine COMBI links to Figure 4.2 which itself refers back to the calling subprogram box 3.15 in its opening and closing circles.

  4. In the case of nested sub-program calls, i.e. transfer of control from within a subroutine to other subroutines/functions, dashed arrows indicate the calling sequence. To simplify the presentation, the transfer blocks are often drawn as if control were passing sequentially from one sub-program to another even though in the actual program coding control often returns to a central sub-program before being passed to another subroutine, like in Figure 5.1 where control transfer arrows go from sub-program CTRLIN to subroutine GETLAB, then to LVYLD, LOADTM, ERROR and back to CTRLIN, whereas in the computer program each of the four lower level sub-programs return to sub-program CTRLIN.

1.3.2 Sub-Program Definitions

The presentation and description of the various program components follows also to a strict format which indicates the function type, the number and type of arguments, a short description of the purpose of each function and a list of subroutine/function names that call or are called by a particular sub-program. The general format is as follows:

Name :FUNCTION/SUBROUTINE NAME
Type:FORTRAN function or subroutine.
Arguments :Type of arguments.
Purpose :A short description of the tasks performed by the sub-program.
Called by :List of modules calling this sub-program.
Calls to :List of functions/subroutines called by this sub-program.
Box.Ref. :Number used in respective box of program flow chart.

Top of Page Next Page