Introducing cross scenario report writing

Top  Previous  Next

First suppose we gather the output into one spot.  We can do this by introducing a couple of new sets and a parameter (mancompb.gms).  The set

 

set scenarios /base,beefp,beefcorn/;

set ordr /"Scenario setup","Scenario Results"/;

 

identifies the scenarios and sets up a place to save the assumptions and the results.  In turn the new parameter adds two dimensions to the summary parameter and retains it.

 

Parameter savsumm(ordr,*,alli,scenarios) Comparative Firm Summary;

savsumm("Scenario setup","price",primary,"base")=price(primary);

savsumm("Scenario Results",measures,alli,"base")=summary(alli,measures);

 

where the Scenario setup line copies in the current setup of the price vector and the Scenario Results line copy in the results as stored in the summary parameter.

In turn our code is

 

$include farmcomp.gms

$include farmrep.gms

set ordr /"Scenario setup","Scenario Results"/

set scenarios /base,beefp,beefcorn/

Parameter savsumm(ordr,*,alli,scenarios) Comparative Farm Summary;

savsumm("Scenario setup","price",primary,"base")=price(primary);

savsumm("Scenario Results",measures,alli,"base")=summary(alli,measures);

price("beef")=0.70;

SOLVE Firm USING LP MAXIMIZING NETINCOME;

display price ;

$include Farmrep.gms

savsumm("Scenario setup","price",primary,"beefp")=price(primary);

savsumm("Scenario Results",measures,alli,"beefp")=summary(alli,measures);

price("corn")=2.70;

display price ;

SOLVE Firm USING LP MAXIMIZING NETINCOME;

$include Farmrep.gms

savsumm("Scenario setup","price",primary,"beefcorn")=price(primary);

savsumm("Scenario Results",measures,alli,"beefcorn")=summary(alli,measures);

option savsumm:2:3:1;display savsumm;

 

The results are

 

----    439 PARAMETER savsumm  Comparative Farm Summary

 

                                                   base       beefp    beefcorn

Scenario setup  .price         .Corn               2.20        2.20        2.70

Scenario setup  .price         .Soybeans           5.00        5.00        5.00

Scenario setup  .price         .Beef               0.50        0.70        0.70

Scenario Results.Net Income    .Total         162685.05   373686.10   375839.30

Scenario Results.Land use      .Cropland         700.00      673.55      642.22

Scenario Results.Land use      .Pastureland      130.00      130.00      130.00

Scenario Results.Dry Cropping  .Corn              20.00       22.84       31.98

Scenario Results.Dry Cropping  .Soybeans         480.00      489.86      410.24

Scenario Results.Dry Cropping  .Total            500.00      512.70      442.22

Scenario Results.Irr Cropping  .Corn             200.00      160.85      200.00

Scenario Results.Irr Cropping  .Total            200.00      160.85      200.00

Scenario Results.Livestock     .cattle           615.79      866.67      866.67

Scenario Results.Resource Value.Water             16.83                   15.99

Scenario Results.Resource Value.Cropland         128.49

Scenario Results.Resource Value.Pastureland       84.26     1456.90     1316.09

Scenario Results.Resource Value.April Labor       32.34       82.29       61.39

Scenario Results.Resource Value.May Labor         27.01       80.53       61.72

Scenario Results.Resource Value.Sept Labor                    53.57       84.92

Scenario Results.Resource Value.Oct Labor         11.50       46.21       87.21

Scenario Results.Product Value .Corn               2.20        2.34        2.70

Scenario Results.Product Value .Soybeans           5.00        5.00        5.00

Scenario Results.Product Value .Beef               0.50        0.70        0.70

Scenario Results.Product Value .Cattlefeed         4.71        4.89        5.36

 

where we have now achieved a cross scenario report and place all the output in one place.