dcgta : aggregated feed expendit. per cat. (conc. or raw) (f\*k\*€)

f(i,j,k,l) : not if CONDITION j-fodder area used by i-animal (f\*ha)

xfour(k,l) : not if CONDITION fodder area (includ. fod. maize non COP subsid.) (f\*ha)

### the nitrogen block N

po(j,k,o) : not if CONDITION UOR quantity of type o used by crop j (t)

qen(j,k) : not if CONDITION quantity of regular fertilizer used on j-crop area (t)

q(i,j,k,o) : not if CONDITION quantity of manure type o / i-herd sourced (t ou m3)

qon(j,k) : not if CONDITION useful quant. N from manure + UOR spread on area j (t N)

qonlt(k) : not if CONDITION average quantity of org. N brought on long term per ha

xo(o,i,k) : not if CONDITION exceeding unused organic N type o i-anim. sourced

### the policy block P

a(n,i,k,l) : not if CONDITION subsidized herbivore number (animal extensif.) (f\*head)

aig(i,k,l) : not if CONDITION exceeding "small" herd threshold (heads)

aip(i,k,l) : not if CONDITION herd number under the "small" herd threshold (heads)

aml(i,k,l) : not if CONDITION male calves from milk bovine herd (heads)

amv(i,k,l) : not if CONDITION male calves from breeding cows (heads)

dolat : fictive deviation / "qolai"

dwlat : fictive deviation / "qwlai" 2nd market

egcdt(n) : generic balance excess (support cat. in CAP)

foh(n,k,l) : not if CONDITION total fodder related to grass subsidy (f\*ha)

fph(n,k,l) : not if CONDITION grasslands related to grass subsidy category (f\*ha)

h(j,k,l) : not if CONDITION mark. out of quota or guarant. price (except sugar) (f\*t)

her(n,k,l) : not if CONDITION binaries / subsid. herbivores (extensif. animal) (-)

igdlg(k,l) : not if CONDITION binary related to set-aside luxemb. reform

igdlh(k,l) : not if CONDITION binary related to set-aside luxemb. reform

igelg(k,l) : not if CONDITION binary related to set-aside 1988

igelh(k,l) : not if CONDITION binary related to set-aside 1988

iph(n,k,l) : not if CONDITION fodder related to grass subsidy

ivegn(k,l) : not if CONDITION variable used in exclusion principle McSharry

ivegp(k,l) : not if CONDITION variable used in exclusion principle McSharry

qta(n,k,l) : not if CONDITION subsid. young bov. + (suckler + ref. dairy cow) (f\*head)

qtb(n,k,l) : not if CONDITION young bovine numb. related to premium (f\*head)

qtc(n,k,l) : not if CONDITION suckler cows rel. to prem. (young bov. prem.) (f\*head)

qti(n,k,l) : not if CONDITION binary related to premium (young bovine premium) (-)

qtx(n,k,l) : not if CONDITION fodders related to premium (young bovine premium) (f\*ha)

soc(o,k) : not if CONDITION deviation of area for carbon sequestration 1=+/2=- (ha)

ugh(n,k,l) : herbivore number related to CAP (extensif. animal) (f\*LU)

ugo(n,k,l) : not if CONDITION herbivore number related to CAP (grass subsidy) (f\*LU)

xa(j,k,l) : not if CONDITION compensated COP area (rel. quant. < "92t") (f\*ha)
c(i,j,k,l) : not if CONDITION on-farm j-prod. to feed i-animal (f*t)
dctr : trade balance defic. / sugarbe (if demand info.) (f*k€)
excr : trade balance excess / sugarbe (if demand info.) (f*k€)
x(j,k,l) : not if CONDITION standard j-crop area (out of CAP) (f*ha)
xci(m,k) : not if CONDITION inter m-crop area (per k-farm) (f*ha)
xct(m) : not if CONDITION aggregated m-intercrop area (f*ha)
v(n,m,j,k) : intercrop m related to preced j or foll j crop (f*ha)
xck(j,k) : not if CONDITION inter j-crop area (per k-farm) (f*ha)
xtk(j,k) : not if CONDITION aggregated j-crop area (per k) (f*ha)
xtt(j) : aggregated j-crop area (f*ha)
y(j,k,l) : not if CONDITION marketed j-crop prodution (farm) (f*t)
y0(j,k) : not if CONDITION marketed j-crop prodution (farm) excluding energy (f*t)
ye(o,j,k) : not if CONDITION marketed j-crop prodution (farm) for energy type O (f*t)
yc(j,k) : not if CONDITION marketed j-crop by-product (f*t)
yb0(j,k) : not if CONDITION marketed j-crop by-product excluding bioenergy (f*t)
yb(o,j,k) : not if CONDITION marketed j-crop by-product for energy type O (f*t)
ycj(j) : aggregated j-crop by-product
ybj(o,j) : not if CONDITION aggregated j-crop by-product for o-biofuel
yi(j) : marketed j-crop production (domestic price) (f*t)
ym(j) : marketed j-crop prod. (out of quota / worldprice) (f*t)

• the environment block E

emcdt(n) : generic counterpart of GHG balance (tCO2)
epcdt(n) : balance N-pollutant emission (3 cat.: N2O NO3 NH3)
ipann(k) : not if CONDITION binary related to methane capacity unit 0
ipah(n,k) : not if CONDITION binary related to methane capacity unit n
zpann(k) : not if CONDITION k unit 0 capacity number related to farmers k
zpah(n,k) : not if CONDITION k unit n capacity number related to farmers k
qzz(j,k) : not if CONDITION utilized amount of pesticide on area j (k EUR)
am(o,i,k) : not if CONDITION organ manure for CH4 type o i-anim. sourced
amt(k) : not if CONDITION CH4 marketed animal sourced
bmt(k) : not if CONDITION CH4 marketed crop sourced
dat(o,k) : not if CONDITION animal sourced digestate
dct(o,k) : not if CONDITION plant sourced digestate
ddd(o,k) : not if CONDITION exceed digestate
d6d(k) : not if CONDITION exceed digestate regarding animal
d7d(k) : not if CONDITION exceed digestate regarding crops
bm(j,k) : not if CONDITION organ manure for CH4 j-type crop by-prod sourced
cm(j,k) : not if CONDITION organ manure for CH4 j-type crop product sourced
dd(o,j,k) : not if CONDITION N-digestate sharing between crops
<table>
  <tr>
    <td>xb(j,k,l)</td>
    <td>not if CONDITION</td>
    <td>compensated COP area (quant. exceeding "92t") (f*ha)</td>
  </tr>
  <tr>
    <td>xc(j,k,l)</td>
    <td>not if CONDITION</td>
    <td>compensated COP area (quant. exceeding "230t") (f*ha)</td>
  </tr>
  <tr>
    <td>xarab(k)</td>
    <td>not if CONDITION</td>
    <td>cultivated areas except fodders (f*ha)</td>
  </tr>
  <tr>
    <td>xdivb(k)</td>
    <td>not if CONDITION</td>
    <td>eligible crop area: diversific. subs. small (f*ha)</td>
  </tr>
  <tr>
    <td>xdivc(k)</td>
    <td>not if CONDITION</td>
    <td>eligible crop area: diversific. subs. inter (f*ha)</td>
  </tr>
  <tr>
    <td>xdivd(k)</td>
    <td>not if CONDITION</td>
    <td>eligible crop area: diversific. subs. big (f*ha)</td>
  </tr>
  <tr>
    <td>xdive(k)</td>
    <td>not if CONDITION</td>
    <td>relaxing area variable for diversific. subs. (f*ha)</td>
  </tr>
  <tr>
    <td>idivc(k)</td>
    <td>not if CONDITION</td>
    <td>binary var related to XDIVC</td>
  </tr>
  <tr>
    <td>idivd(k)</td>
    <td>not if CONDITION</td>
    <td>binary var related to XDIVD</td>
  </tr>
  <tr>
    <td>idivb(k)</td>
    <td>not if CONDITION</td>
    <td>binary var related to XDIVB</td>
  </tr>
  <tr>
    <td>idive(k)</td>
    <td>not if CONDITION</td>
    <td>binary var related to XDIVE</td>
  </tr>
  <tr>
    <td>xd(j,k,l)</td>
    <td>not if CONDITION</td>
    <td>compensated COP / fix set-aside (non rotat.) (f*ha)</td>
  </tr>
  <tr>
    <td>xe(j,k,l)</td>
    <td>not if CONDITION</td>
    <td>agro-energy area out of set-aside but with ACE</td>
  </tr>
  <tr>
    <td>xea(j,k,l)</td>
    <td>not if CONDITION</td>
    <td>sub-cat. agro-energy area out of set-aside but with ACE</td>
  </tr>
  <tr>
    <td>xeb(j,k,l)</td>
    <td>not if CONDITION</td>
    <td>sub-cat. agro-energy area out of set-aside but with ACE</td>
  </tr>
  <tr>
    <td>xec(j,k,l)</td>
    <td>not if CONDITION</td>
    <td>sub-cat. agro-energy area out of set-aside but with ACE</td>
  </tr>
  <tr>
    <td>xed(j,k,l)</td>
    <td>not if CONDITION</td>
    <td>sub-cat. agro-energy area out of set-aside but with ACE</td>
  </tr>
  <tr>
    <td>xf(j,k,l)</td>
    <td>not if CONDITION</td>
    <td>agro-energy area on set-aside without ACE</td>
  </tr>
  <tr>
    <td>xfa(j,k,l)</td>
    <td>not if CONDITION</td>
    <td>agro-energy area on set-aside McSh replacing XA</td>
  </tr>
  <tr>
    <td>xfb(j,k,l)</td>
    <td>not if CONDITION</td>
    <td>agro energy area on set-aside McSh replacing XB</td>
  </tr>
  <tr>
    <td>xfl(j,k,l)</td>
    <td>not if CONDITION</td>
    <td>agro-energy area on set-aside "Luxembourg"</td>
  </tr>
  <tr>
    <td>xgelo</td>
    <td>aggregated set-aside</td>
    <td>whatever CAP options (f*ha)</td>
  </tr>
  <tr>
    <td>xolqm(k,l)</td>
    <td>not if CONDITION</td>
    <td>sale (&gt;0) purchase (&lt;0) milk quota (rent)</td>
  </tr>
  <tr>
    <td>xpgdl(k,l)</td>
    <td>not if CONDITION</td>
    <td>grassla / single prem./ha "x49kl-lux" set-asi (f*ha)</td>
  </tr>
  <tr>
    <td>xrgdl(k,l)</td>
    <td>not if CONDITION</td>
    <td>arable la single prem./ha "x49kl-lux" set-aside (f*ha)</td>
  </tr>
  <tr>
    <td>xsgdl(k,l)</td>
    <td>not if CONDITION</td>
    <td>area complementing XRGDL "x49kl-lux" set-aside (f*ha)</td>
  </tr>
  <tr>
    <td>xsgel(k,l)</td>
    <td>not if CONDITION</td>
    <td>threshod area completing "x42kl" 1988 set-aside (f*ha)</td>
  </tr>
  <tr>
    <td>itk(j,k)</td>
    <td>not if CONDITION</td>
    <td>crop index related to aggregated j-crop area (per k)</td>
  </tr>
  <tr>
    <td>nttjk(k)</td>
    <td>not if CONDITION</td>
    <td>number of crops cultivated (per k) in the LP solution</td>
  </tr>
  <tr>
    <td>xwlai(k,l)</td>
    <td>not if CONDITION</td>
    <td>dairy milk production / 2nd market (farm) (f*kl)</td>
  </tr>
  <tr>
    <td>xwlat</td>
    <td>dairy milk production/ 2nd market (f*kl)</td>
    <td></td>
  </tr>
</table>

• the water block W

<table>
  <tr>
    <td>awj(j,k)</td>
    <td>not if CONDITION</td>
    <td>quantity of irrigation water per crop (m3/ha)</td>
  </tr>
  <tr>
    <td>exwkk(k)</td>
    <td>not if CONDITION</td>
    <td>balance irrig water use at k farm level (m3)</td>
  </tr>
</table>

• the trans-farm group block T
• the feed block *F*

acgta(m) : not if CONDITION aggregated feed (conc. bought / cat.) (f*t)

b(n,i,k,l) : concentrate feed cat. n bought for i-herd (f*t)

agt(i,k,l) : not if CONDITION raw feed bought for i-herd (f*t)

dcgta : aggregated feed expendit.per cat. (conc. or raw) (f*k€)

f(i,j,k,l) : not if CONDITION j-fodder area used by i-animal (f*ha)

xfour(k,l) : not if CONDITION fodder area (includ. fod. maize non COP subsid.) (f*ha)

• the nitrogen block *N*

po(j,k,o) : not if CONDITION UOR quantity of type o used by crop j (t)

qen(j,k) : not if CONDITION quantity of regular fertilizer used on j-crop area (t)

q(i,j,k,o) : not if CONDITION quantity of manure type o / i-herd sourced (t ou m3)

qon(j,k) : not if CONDITION useful quant. N from manure + UOR spread on area j (t N)

qonlt(k) : not if CONDITION average quantity of org. N brought on long term per ha

xo(o,i,k) : not if CONDITION exceeding unused organic N type o i-anim. sourced (f*tOM)

xov(o,i,k) : not if CONDITION sale (>0) organ N type o i-anim. (f*tOM)

xoa(o,i,k) : not if CONDITION purchase (>0) organ N type o i-anim. (f*tOM)

• the policy block *P*

a(n,i,k,l) : not if CONDITION subsidized herbivore number (animal extensif.) (f*head)

aig(i,k,l) : not if CONDITION exceeding "small" herd threshold (heads)

aip(i,k,l) : not if CONDITION herd number under the "small" herd threshold (heads)

aml(i,k,l) : not if CONDITION male calves from milk bovine herd (heads)

amv(i,k,l) : not if CONDITION male calves from breeding cows (heads)

dolat : fictive deviation / "qolai"

dwlat : fictive deviation / "qwlai" 2nd market

egcdt(n) : generic balance excess (support cat. in CAP)

foh(n,k,l) : not if CONDITION total fodder related to grass subsidy (f*ha)

fph(n,k,l) : not if CONDITION grasslands related to grass subsidy category (f*ha)

h(j,k,l) : not if CONDITION mark. out of quota or guarant. price (except sugar) (f*t)

her(n,k,l) : not if CONDITION binaries / subsid. herbivores (extensif. animal) (-)

igdlg(k,l) : not if CONDITION binary related to set-aside luxemb. reform

igdlh(k,l) : not if CONDITION binary related to set-aside luxemb. reform

igelg(k,l) : not if CONDITION binary related to set-aside 1988

igelh(k,l) : not if CONDITION binary related to set-aside 1988

iph(n,k,l) : not if CONDITION fodder related to grass subsidy

ivegn(k,l) : not if CONDITION variable used in exclusion principle McSharry

ivegp(k,l) : not if CONDITION variable used in exclusion principle McSharry

qta(n,k,l) : not if CONDITION subsid. young bov. + (suckler + ref. dairy cow) (f*head)

qtb(n,k,l) : not if CONDITION young bovine numb. related to premium (f*head)
### 4.2.3 The objective function and constraints

The objective function and the set of constraints are listed below. The "not if CONDITION" string refers to a flag depending on parameters (explicitly referenced in the flag or through functions, not listed here: all these intermediary functions are parts of the aro.mgg code transformed into FORTRAN code and operating upstream of the use of the GAMS solver). Some constraints may be obsolete, for different reasons (change in CAP, old version of the model), but we keep on the principle "what has worked should continue to work." The suffix l is maintained to one value, i.e. 1, except when farm groups are disaggregated into subgroups. It must be noticed that constraints may be activated, not only when flags apply, but also when some parameters are non null. At last, the mathematical expression of constraints uses "elements" crossing activities, which are expressed by 3 uppercase letters (possibly omitted when the element value is equal to 1). For the sake of paper length, the definitions of such elements are not detailed in this paper, except for the "GHG" and "nitrogen" blocks (see Sections 4.2.5 on page 67 and 4.2.6). Similarly, the water block will be added, expected in 2017 (4.2.7, {not still detailed}).

#### ● the general block G

obj : objective function ($f^* \in \mathbb{R}$) max obj

$$
\begin{align*}
&+ \sum_{i,k,l} CPN * ani(i,k,l) + \sum_{j,k,l} COX * x(j,k,l) + \sum_{j,k,l} COX * xa(j,k,l) \\
&+ \sum_{j,k,l} COX * xb(j,k,l) + \sum_{j,k,l} COX * xc(j,k,l) + \sum_{j,k,l} COX * xd(j,k,l) \\
&+ \sum_{j,k,l} COX * xe(j,k,l) + \sum_{j,k,l} COX * xf(j,k,l) - \sum_{n,l,k,l} OAC * b(n,i,k,l) \\
&- \sum_{i,k,l} OAG * agt(i,k,l) + \sum_{j,k,l} POI * y(j,k,l) + \sum_{j,k} POC * yc(j,k) \\
&+ \sum_{j,k,l} POE * h(j,k,l) + \sum_{k,l} POL * xolai(k,l) + \sum_{k,l} PWL * xwlai(k,l) \\
&+ \sum_{k,l} CPU * zf(k,l) - \sum_{n} OES * emcdt(n) + \sum_{k,l} POQ * xolqm(k,l) \\
&- \sum_{j,k} CQE * qen(j,k) - \sum_{j,k} POW * awj(j,k) - \sum_{n} FEG * excdt(n) \\
&= obj
\end{align*}
$$

nb(k,l) : not if CONDITION refers to farm group number (= per default) (1000)

$$zf(k,l) = fzt$$

sci(j) : balance / marketed j-crop by-product ($f^*$)

$$ycj(j) - \sum_{k} yc(j,k) = 0.0$$

si(j) : balance / domestic market-priced j-crop product ($f^*$)

$$yi(j) - \sum_{k,l} y(j,k,l) = 0.0$$
<table>
  <tr>
    <td>qtc(n,k,l)</td>
    <td>not if CONDITION</td>
    <td>suckler cows rel. to prem. (young bov. prem.) (f*head)</td>
  </tr>
  <tr>
    <td>qti(n,k,l)</td>
    <td>not if CONDITION</td>
    <td>binary related to premium (young bovine premium) (-)</td>
  </tr>
  <tr>
    <td>qtx(n,k,l)</td>
    <td>not if CONDITION</td>
    <td>fodders related to premium (young bovine premium) (f*ha)</td>
  </tr>
  <tr>
    <td>soc(o,k)</td>
    <td>not if CONDITION</td>
    <td>deviation of area for carbon sequestration 1=+/2=- (ha)</td>
  </tr>
  <tr>
    <td>ugh(n,k,l)</td>
    <td>herbivore number related to CAP (extensif. animal) (f*LU)</td>
    <td></td>
  </tr>
  <tr>
    <td>ugo(n,k,l)</td>
    <td>not if CONDITION</td>
    <td>herbivore number related to CAP (grass subsidy) (f*LU)</td>
  </tr>
  <tr>
    <td>xa(j,k,l)</td>
    <td>not if CONDITION</td>
    <td>compensated COP area (rel. quant. &lt; "92t") (f*ha)</td>
  </tr>
  <tr>
    <td>xb(j,k,l)</td>
    <td>not if CONDITION</td>
    <td>compensated COP area (quant. exceeding "92t") (f*ha)</td>
  </tr>
  <tr>
    <td>xc(j,k,l)</td>
    <td>not if CONDITION</td>
    <td>compensated COP area (quant. exceeding "230t") (f*ha)</td>
  </tr>
  <tr>
    <td>xarab(k)</td>
    <td>not if CONDITION</td>
    <td>cultivated areas except fodders (f*ha)</td>
  </tr>
  <tr>
    <td>xdivb(k)</td>
    <td>not if CONDITION</td>
    <td>eligible crop area: diversific. subs. small (f*ha)</td>
  </tr>
  <tr>
    <td>xdivc(k)</td>
    <td>not if CONDITION</td>
    <td>eligible crop area: diversific. subs. inter (f*ha)</td>
  </tr>
  <tr>
    <td>xdivd(k)</td>
    <td>not if CONDITION</td>
    <td>eligible crop area: diversific. subs. big (f*ha)</td>
  </tr>
  <tr>
    <td>xdive(k)</td>
    <td>not if CONDITION</td>
    <td>relaxing area variable for diversific. subs. (f*ha)</td>
  </tr>
  <tr>
    <td>idivc(k)</td>
    <td>not if CONDITION</td>
    <td>binary var related to XDIVC</td>
  </tr>
  <tr>
    <td>idivd(k)</td>
    <td>not if CONDITION</td>
    <td>binary var related to XDIVD</td>
  </tr>
  <tr>
    <td>idivb(k)</td>
    <td>not if CONDITION</td>
    <td>binary var related to XDIVB</td>
  </tr>
  <tr>
    <td>idive(k)</td>
    <td>not if CONDITION</td>
    <td>binary var related to XDIVE</td>
  </tr>
  <tr>
    <td>xd(j,k,l)</td>
    <td>not if CONDITION</td>
    <td>compensated COP / fix set-aside (non rotat.) (f*ha)</td>
  </tr>
  <tr>
    <td>xe(j,k,l)</td>
    <td>not if CONDITION</td>
    <td>agro-energy area out of set-aside but with ACE</td>
  </tr>
  <tr>
    <td>xea(j,k,l)</td>
    <td>not if CONDITION</td>
    <td>sub-cat. agro-energy area out of set-aside but with ACE</td>
  </tr>
  <tr>
    <td>xeb(j,k,l)</td>
    <td>not if CONDITION</td>
    <td>sub-cat. agro-energy area out of set-aside but with ACE</td>
  </tr>
  <tr>
    <td>xec(j,k,l)</td>
    <td>not if CONDITION</td>
    <td>sub-cat. agro-energy area out of set-aside but with ACE</td>
  </tr>
  <tr>
    <td>xed(j,k,l)</td>
    <td>not if CONDITION</td>
    <td>sub-cat. agro-energy area out of set-aside but with ACE</td>
  </tr>
  <tr>
    <td>xf(j,k,l)</td>
    <td>not if CONDITION</td>
    <td>agro-energy area on set-aside without ACE</td>
  </tr>
  <tr>
    <td>xfa(j,k,l)</td>
    <td>not if CONDITION</td>
    <td>agro-energy area on set-aside McSh replacing XA</td>
  </tr>
  <tr>
    <td>xfb(j,k,l)</td>
    <td>not if CONDITION</td>
    <td>agro energy area on set-aside McSh replacing XB</td>
  </tr>
  <tr>
    <td>xfl(j,k,l)</td>
    <td>not if CONDITION</td>
    <td>agro-energy area on set-aside "Luxembourg"</td>
  </tr>
  <tr>
    <td>xgelo</td>
    <td>aggregated set-aside</td>
    <td>whatever CAP options (f*ha)</td>
  </tr>
  <tr>
    <td>xolqm(k,l)</td>
    <td>not if CONDITION</td>
    <td>sale (&gt;0) purchase (&lt;0) milk quota (rent)</td>
  </tr>
  <tr>
    <td>xpgdl(k,l)</td>
    <td>not if CONDITION</td>
    <td>grassla / single prem./ha "x49kl-lux" set-asi (f*ha)</td>
  </tr>
  <tr>
    <td>xrgdl(k,l)</td>
    <td>not if CONDITION</td>
    <td>arable la single prem./ha "x49kl-lux" set-aside (f*ha)</td>
  </tr>
  <tr>
    <td>xsgdl(k,l)</td>
    <td>not if CONDITION</td>
    <td>area complenting XRGDL "x49kl-lux" set-aside (f*ha)</td>
  </tr>
  <tr>
    <td>xsgel(k,l)</td>
    <td>not if CONDITION</td>
    <td>threshod area completing "x42kl" 1988 set-aside (f*ha)</td>
  </tr>
  <tr>
    <td>itk(j,k)</td>
    <td>not if CONDITION</td>
    <td>crop index related to aggregated j-crop area (per k)</td>
  </tr>
  <tr>
    <td>nttjk(k)</td>
    <td>not if CONDITION</td>
    <td>number of crops cultivated (per k) in the LP solution</td>
  </tr>
  <tr>
    <td>xwlai(k,l)</td>
    <td>not if CONDITION</td>
    <td>dairy milk production / 2nd market (farm) (f*kl)</td>
  </tr>
  <tr>
    <td>xwlat</td>
    <td>dairy milk production/ 2nd market (f*kl)</td>
    <td></td>
  </tr>
</table>

• the water block W

<table>
  <tr>
    <td>awj(j,k)</td>
    <td>not if CONDITION</td>
    <td>quantity of irrigation water per crop (m3/ha)</td>
  </tr>
  <tr>
    <td>exwkk(k)</td>
    <td>not if CONDITION</td>
    <td>balance irrig water use at k farm level (m3)</td>
  </tr>
</table>

• the trans-farm group block T
sm(j) : world price sale or out of domestic quota (f*t)

$$-\sum_{k,l} h(j,k,l) + ym(j) = 0.0$$

sx(j) : aggregated j-crop area

$$\sum_{k} xtk(j,k) - xtt(j) = 0.0$$

sxk(j,k) : aggregated j-crop area (whatever the CAP applying)

$$\sum_{l} x(j,k,l) + \sum_{l} xa(j,k,l) + \sum_{l} xb(j,k,l) + \sum_{l} xc(j,k,l) + \sum_{l} xd(j,k,l) + \sum_{l} xe(j,k,l) + \sum_{l} xf(j,k,l) - xtk(j,k) = 0.0$$

terre(k,l) : not if CONDITION land endowment limit (f*ha)

$$\sum_{j} TXJ * xtk(j,k) - TZT * zf(k,l) \leq 0.0$$

tat(i) : not if CONDITION aggregated i-animal activity (heads)

$$ant(i) - \sum_{k,l} ani(i,k,l) = 0.0$$

tugb(k,l) : not if CONDITION total livestock per sub-group (obsolete) (f*LU)

$$xugb(k,l) - \sum_{i} TUG * ani(i,k,l) = 0.0$$

tugbk(k) : total livestock per group (f*LU)

$$\sum_{l} xugb(k,l) - xugbk(k) = 0.0$$

tugbt : total livestock (f*LU)

$$xugbt - \sum_{k} xugbk(k) = 0.0$$

tugh(k,l) : not if CONDITION total herbivore livestock (f*LU)

$$\sum_{n} ugh(n,k,l) - \sum_{i1} TUG * ani(i1,k,l) = 0.0$$

tuh(n,k,l) : not if CONDITION aggregated herbiv. liv. (extensif. subsid.) (f*LU)

$$ugh(n,k,l) - \sum_{i1} TUG * a(n,i1,k,l) = 0.0$$
### 4.2.3 The objective function and constraints

The objective function and the set of constraints are listed below. The "not if CONDITION" string refers to a flag depending on parameters (explicitly referenced in the flag or through functions, not listed here: all these intermediary functions are parts of the aro.mgg code transformed into FORTRAN code and operating upstream of the use of the GAMS solver). Some constraints may be obsolete, for different reasons (change in CAP, old version of the model), but we keep on the principle "what has worked should continue to work." The suffix *l* is maintained to one value, i.e. 1, except when farm groups are disaggregated into subgroups. It must be noticed that constraints may be activated, not only when flags apply, but also when some parameters are non null. At last, the mathematical expression of constraints uses "elements" crossing activities, which are expressed by 3 uppercase letters (possibly omitted when the element value is equal to 1). For the sake of paper length, the definitions of such elements are not detailed in this paper, except for the "GHG" and "nitrogen" blocks (see Sections 4.2.5 on page 71 and 4.2.6). Similarly, the water block (4.2.7), the bio-methane and digestate block and the intermediate crop block are not still detailed.

#### ● the general block G

obj : objective function ($f^* \in \mathbb{R}$) max obj

$$
\begin{align*}
&+ \sum_{i,k,l} CPN * ani(i,k,l) + \sum_{j,k,l} COX * x(j,k,l) + \sum_{j,k,l} COX * xa(j,k,l) \\
&+ \sum_{j,k,l} COX * xb(j,k,l) + \sum_{j,k,l} COX * xc(j,k,l) + \sum_{j,k,l} COX * xd(j,k,l) \\
&+ \sum_{j,k,l} COX * xe(j,k,l) + \sum_{j,k,l} COX * xf(j,k,l) + \sum_{j,k} COI * xck(j,k) \\
&- \sum_{n,i,k,l} OAC * b(n,i,k,l) - \sum_{i,k,l} OAG * agt(i,k,l) + \sum_{j,k,l} POI * y(j,k,l) \\
&+ \sum_{o,j,k} POC * yb(o,j,k) + \sum_{j,k,l} POE * h(j,k,l) + \sum_{k,l} POL * xolai(k,l) \\
&+ \sum_{k,l} PWL * xwlai(k,l) + \sum_{k,l} CPU * zf(k,l) - \sum_{n} OES * emcdt(n) \\
&+ \sum_{k,l} POQ * xolqm(k,l) - \sum_{j,k} CQE * qen(j,k) - \sum_{j,k} POW * awj(j,k) \\
&- \sum_{n} FEG * excdt(n) + \sum_{o,i,k} XOO * xov(o,i,k) - \sum_{o,i,k} XOO * xoa(o,i,k) \\
&+ \sum_{k} AMC * amt(k) + \sum_{k} BMC * bmt(k) - \sum_{n,k} DMC * zpah(n,k) \\
&= obj
\end{align*}
$$

nb(k,l) : not if CONDITION refers to farm group number (= per default) (1000)

$$zf(k,l) = fzt$$

sci(j) : balance / marketed j-crop by-product ($f^*t$)

$$ycj(j) - \sum_k yc(j,k) = 0.0$$
tun(i,k,l) : not if CONDITION aggregated i-herbivore herd (f*head)

$$ \sum_n a(n, i, k, l) - ani(i, k, l) = 0.0 $$

fx1(j,k) : not if CONDITION fixed areas constrain 1

$$ -xtk(j,k) + \sum_l FY1*zf(k,l) \leq 0.0 $$

fx2(j,k) : not if CONDITION fixed areas constrain 2

$$ xtk(j,k) - \sum_l FY2*zf(k,l) \leq 0.0 $$

fx3(j,k) : not if CONDITION fixed areas constrain 3 limite inf prairie

$$ -xtk(j,k) + \sum_l FY1*zf(k,l) \leq 0.0 $$

wokeu(k) : not if CONDITION work paid (f*kE/farm)

$$ -aokeu(k) + \sum_l WEK*zf(k,l) = 0.0 $$

wokwu(k) : not if CONDITION work unpaid (f*AWU/farm)

$$ -aokwu(k) + \sum_l WUK*zf(k,l) = 0.0 $$

woket : not if CONDITION work paid (f*kE)

$$ -aoket + \sum_k aokeu(k) = 0.0 $$

wokwt : not if CONDITION work unpaid (f*AWU)

$$ -aokut + \sum_k aokwu(k) = 0.0 $$

• the animal block A

d(m,i,k,l) : amplitude limit ref. to i-animal number adjust. (f*head)

$$ DIA * ani(i, k, l) - DIZ * zf(k, l) \leq 0.0 $$

das(m,k,l) : adjustment links within animal cat. (bo ta ve) (f*head)

$$ \sum_i DSA * ani(i, k, l) - DSZ * zf(k, l) \leq 0.0 $$
sbi(o,j) : balance marketed j-crop by-product for o-fuel use (f*t)

$$ybj(o, j) - \sum_{k} yb(o, j, k) = 0.0$$

si(j) : balance / domestic market-priced j-crop product (f*t)

$$yi(j) - \sum_{k,l} y(j, k, l) = 0.0$$

sm(j) : world price sale or out of domestic quota (f*t)

$$-\sum_{k,l} h(j, k, l) + ym(j) = 0.0$$

sx(j) : aggregated j-crop area

$$\sum_{k} xtk(j, k) - xtt(j) = 0.0$$

sct(m) : aggregated m-intercrop area

$$\sum_{k} xci(m, k) - xct(m) = 0.0$$

sxk(j,k) : aggregated j-crop area (whatever the CAP applying)

$$\sum_{l} x(j, k, l) + \sum_{l} xa(j, k, l) + \sum_{l} xb(j, k, l) + \sum_{l} xc(j, k, l) + \sum_{l} xd(j, k, l) + \sum_{l} xe(j, k, l) + \sum_{l} xf(j, k, l) - xtk(j, k) = 0.0$$

terre(k,l) : not if CONDITION land endowment limit (f*ha)

$$\sum_{j} TXJ * xtk(j, k) - TZT * zf(k, l) \leq 0.0$$

tat(i) : not if CONDITION aggregated i-animal activity (heads)

$$\text{ani}(i) - \sum_{k,l} \text{ani}(i, k, l) = 0.0$$

tugb(k,l) : not if CONDITION total livestock per sub-group (obsolete) (f*LU)

$$xugb(k, l) - \sum_{i} TUG * ani(i, k, l) = 0.0$$

tugbk(k) : total livestock per group (f*LU)

$$\sum_{l} xugb(k, l) - xugbk(k) = 0.0$$
cpani : not if CONDITION gross animal product subvent includ? (igene+2**4) (f*k€)

$$
\begin{align*}
&+ \sum_{i,k,l} \mathrm{CPN} * \mathrm{ani}(i,k,l) - \sum_{n,i,k,l} \mathrm{OAC} * \mathrm{b}(n,i,k,l) - \sum_{i,k,l} \mathrm{OAG} * \mathrm{agt}(i,k,l) \\
&+ \sum_{k,l} \mathrm{POL} * \mathrm{xolai}(k,l) + \sum_{k,l} \mathrm{PWL} * \mathrm{xwlai}(k,l) + \sum_{n} \mathrm{CEX} * \mathrm{excdt}(n) \\
&+ \sum_{k,l} \mathrm{POQ} * \mathrm{xolqm}(k,l) = 0.0
\end{align*}
$$

dem(m,k,l) : bovine demographic block (heads)

$$
+ \sum_{i} \mathrm{DMO} * \mathrm{ani}(i,k,l) + \sum_{i} \mathrm{DML} * \mathrm{aml}(i,k,l) + \sum_{i} \mathrm{DMV} * \mathrm{amv}(i,k,l) \leq 0.0
$$

polai(k,l) : not if CONDITION cow milk production (f*l)

$$
xolai(k,l) + xwlai(k,l) - \sum_{i1} ROL * ani(i1,k,l) \leq 0.0
$$

• the crop block C

inc(j) : aggregated on-farm reuse of j-cereal

$$
\sum_{i,k,l} c(i,j,k,l) - aut(j) = 0.0
$$

rmx(m,k) : crop categ. rotations (f*ha)

$$
\sum_{j} ROX *xtk(j,k) - \sum_{l} ROZ *zf(k,l) \leq 0.0
$$

roj(j,k) : not if CONDITION crop limits and rotations (f*ha)

$$
\sum_{j1} ROT *xtk(j1,k) \leq 0.0
$$

roper(k) : not if CONDITION perennial crops limit (f*ha)

$$
\sum_{j} ROP *xtk(j,k) - \sum_{l} ROR *zf(k,l) \leq 0.0
$$

s(j,k) : not if CONDITION j-crop product sharing (market vs on-farm) (f*t)

$$
\begin{align*}
& -RRR *xtk(j,k) + \sum_{i,l} RRF *f(i,j,k,l) + \sum_{l} y(j,k,l) \\
& + \sum_{l} h(j,k,l) + \sum_{i,l} RRC *c(i,j,k,l) = 0.0
\end{align*}
$$

sc(j,k) : not if CONDITION available by-product outputs (f*t)

$$
yc(j,k) - REN * xtk(j,k) = 0.0
$$
tugbt : total livestock (f*LU)

$$xugbt - \sum_{k} xugbk(k) = 0.0$$

tugh(k,l) : not if CONDITION total herbivore livestock (f*LU)

$$\sum_{n} ugh(n,k,l) - \sum_{i1} TUG * ani(i1,k,l) = 0.0$$

tuh(n,k,l) : not if CONDITION aggregated herbiv. liv. (extensif. subsid.) (f*LU)

$$ugh(n,k,l) - \sum_{i1} TUG * a(n,i1,k,l) = 0.0$$

tun(i,k,l) : not if CONDITION aggregated i-herbivore herd (f*head)

$$\sum_{n} a(n,i,k,l) - ani(i,k,l) = 0.0$$

fx1(j,k) : not if CONDITION fixed areas constrain 1

$$-xtk(j,k) + \sum_{l} FY1 * zf(k,l) \leq 0.0$$

fx2(j,k) : not if CONDITION fixed areas constrain 2

$$xtk(j,k) - \sum_{l} FY2 * zf(k,l) \leq 0.0$$

fx3(j,k) : not if CONDITION fixed areas constrain 3 limite inf prairie

$$-xtk(j,k) + \sum_{l} FY1 * zf(k,l) \leq 0.0$$

wokeu(k) : not if CONDITION work paid (f*kE/farm)

$$-aokeu(k) + \sum_{l} WEK * zf(k,l) = 0.0$$

wokwu(k) : not if CONDITION work unpaid (f*AWU/farm)

$$-aokwu(k) + \sum_{l} WUK * zf(k,l) = 0.0$$

woket : not if CONDITION work paid (f*kE)

$$-aoket + \sum_{k} aokeu(k) = 0.0$$

wokwt : not if CONDITION work unpaid (f*AWU)

$$-aokut + \sum_{k} aokwu(k) = 0.0$$
sbtt(k) : not if CONDITION sugarbeet production sharing

$$ -\sum_{j} RRA * xtk(j, k) + \sum_{j,l} CNC * y(j, k, l) + \sum_{j,l} CND * h(j, k, l) = 0.0 $$

• the environment block E

bz(j,k) : not if CONDITION Pest expenditure on crop J in farm K (k EUR)

$$ -qzz(j,k) + BEZ * xtk(j,k) = 0.0 $$

bilxn : not if CONDITION organic N balance referring to spreading

$$ \sum_{n} BXA * excdt(n) + \sum_{i,j,k,o} QJM * q(i, j, k, o) + \sum_{j,k,o} QJO * po(j, k, o) = 0.0 $$

cpest : total expenditure in pesticides

$$ + \sum_{j,k} qzz(j,k) - \sum_{n} CVZ * excdt(n) = 0.0 $$

ems(m) : GHG balances per category (IPCC) (tCO2)

$$ \begin{aligned} & \sum_{n} GES * emcdt(n) - \sum_{i,k,l} AFS * ani(i, k, l) - \sum_{j,k} CFS * xtk(j, k) \\ & - \sum_{n,l,k,l} CSB * b(n, i, k, l) - \sum_{i,j,k,l} CSC * c(i, j, k, l) - \sum_{i,j,k,l} CSF * f(i, j, k, l) \\ & - \sum_{i,k,l} CSG * agt(i, k, l) - \sum_{j,k} CDC * qen(j, k) - \sum_{j,k} CDD * qon(j, k) \\ & - \sum_{j,k,o} CDP * po(j, k, o) - \sum_{o,k} CSX * soc(o, k) = 0.0 \end{aligned} $$

epn(m) : balances of N pollut. emis. originated by crops man.

$$ \begin{aligned} & \sum_{n} PNE * epcdt(n) - \sum_{j,k} PNX * xtk(j, k) - \sum_{j,k} PNQ * qen(j, k) \\ & - \sum_{j,k} PNW * awj(j, k) - \sum_{j,k} PNO * qon(j, k) - \sum_{j,k,o} PNP * po(j, k, o) = 0.0 \end{aligned} $$

fbcar : not if CONDITION balance / soil carbon storage (in progress) (tC/yr)

$$ + \sum_{j,k} CCX * xtk(j,k) + \sum_{o,k} GGX * soc(o,k) - \sum_{n} GE4 * excdt(n) = 0.0 $$

qges : GHG emission quota (cumul / k l) (f*tCO2zq)

$$ \sum_{n} QES * emcdt(n) - \sum_{k,l} ZES * zf(k,l) \leq 0.0 $$

qprai(k) : not if CONDITION minimal limit / grasslands (INSEA) / carbon storage

$$ -\sum_{j} QPA * xtk(j, k) + \sum_{l} QPZ * zf(k, l) \leq 0.0 $$
• the animal block A

d(m,i,k,l) : amplitude limit ref. to i-animal number adjust. (f*head)

$$DIA * ani(i, k, l) - DIZ * zf(k, l) \leq 0.0$$

das(m,k,l) : adjustment links within animal cat. (bo ta ve) (f*head)

$$\sum_{i} DSA * ani(i, k, l) - DSZ * zf(k, l) \leq 0.0$$

cpani : not if CONDITION gross animal product subvent includ? (igene+2**4) (f*kE)

$$+ \sum_{i,k,l} CPN * ani(i, k, l) - \sum_{n,i,k,l} OAC * b(n, i, k, l) - \sum_{i,k,l} OAG * agt(i, k, l) \\ + \sum_{k,l} POL * xolai(k, l) + \sum_{k,l} PWL * xwlai(k, l) + \sum_{n} CEX * excdt(n) \\ + \sum_{k,l} POQ * xolqm(k, l) = 0.0$$

dem(m,k,l) : bovine demographic block (heads)

$$+ \sum_{i} DMO * ani(i, k, l) + \sum_{i} DML * aml(i, k, l) + \sum_{i} DMV * amv(i, k, l) \leq 0.0$$

polai(k,l) : not if CONDITION cow milk production (f*l)

$$xolai(k, l) + xwlai(k, l) - \sum_{i1} ROL * ani(i1, k, l) \leq 0.0$$

• the crop block C

tc(m,n,k) : not if CONDITION m-intermed crop limit in n-type preced or followi

$$ACI * xci(m, k) - \sum_{j} ACL * xtk(j, k) \leq 0.0$$

t(n,m,j,k) : not if CONDITION m-j-intercrop-crop limit in n-type preced or follow

$$TCV * v(n, m, j, k) - xtk(j, k) \leq 0.0$$

tv(n,m,k) : not if CONDITION m-intercrop-crop consistant in n-type preced or follow

$$- \sum_{j} v(n, m, j, k) + xci(m, k) = 0.0$$
### the feed block F

eq(m,i,k,l) : i-herd feeding of type m (kg_or_t/head)

$$ 
\begin{aligned}
BES * ani(i, k, l) - \sum_{j} VAF * f(i, j, k, l) - \sum_{j} VCF * c(i, j, k, l) \\
- \sum_{n} VAC * b(n, i, k, l) - VAG * agt(i, k, l) \leq 0.0
\end{aligned}
$$

falcg(m) : not if CONDITION bought feed quantity per herd cat. and per type m

$$ \sum_{n,i,k,l} FAC * b(n,i,k,l) + \sum_{i,k,l} FAG * agt(i,k,l) + \sum_{n} FAX * excdt(n) = 0.0 $$

fcgta : total of aggregated (marketed) expenditure for feed

$$ \sum_{n,i,k,l} DAC * b(n,i,k,l) + \sum_{i,k,l} DAG * agt(i,k,l) - dcgta = 0.0 $$

### the nitrogen block N

apnlt(k) : not if CONDITION calculation of average per ha organic spreading

$$ APA * qonlt(k) - \sum_{i,j,o} APQ * q(i,j,k,o) - \sum_{j,o} APP * po(j,k,o) = 0.0 $$

ba(j,k) : not if CONDITION N requirement to reach given yield (kg N)

$$ -FNE * qen(j,k) - FNO * qon(j,k) + BEN * xtk(j,k) \leq 0.0 $$

cnvol : not if CONDITION sum of mineral fertilizer inputs

$$ + \sum_{j,k} qen(j,k) - \sum_{n} CVO * excdt(n) = 0.0 $$

cnmin : sum of mineral N intakes in terms of equiv. mineral N

$$ + \sum_{j,k} CVJ * qen(j,k) - \sum_{n} CVN * excdt(n) = 0.0 $$

cnorg : not if CONDITION sum of organic N intakes in terms of equiv. mineral N

$$ + \sum_{j,k} qon(j,k) - \sum_{n} CVR * excdt(n) = 0.0 $$

ei(o,i,k) : not if CONDITION o-type manure provided by i-herd

$$ \sum_{j} q(i,j,k,o) + xo(o,i,k) - \sum_{l} QID * ani(i,k,l) = 0.0 $$
tj(j,k) : not if CONDITION limiting self succession j-crop through intercrops

$$ \sum_{n,m} v(n,m,j,k) - xtk(j,k) \leq 0.0 $$

tjc(n,k) : not if CONDITION n-type preced or follow intermed crop control

$$ \sum_{m} ACJ * xci(m,k) - \sum_{j} ACC * xtk(j,k) \leq 0.0 $$

tkc(j,k) : not if CONDITION double indices with m intermed crop - j crop

$$ \sum_{m} ACK * xci(m,k) - xck(j,k) = 0.0 $$

inc(j) : aggregated on-farm reuse of j-cereal

$$ \sum_{i,k,l} c(i,j,k,l) - aut(j) = 0.0 $$

rmx(m,k) : crop categ. rotations (f\*ha)

$$ \sum_{j} ROX * xtk(j,k) - \sum_{l} ROZ * zf(k,l) \leq 0.0 $$

roj(j,k) : not if CONDITION crop limits and rotations (f\*ha)

$$ \sum_{j1} ROT * xtk(j1,k) \leq 0.0 $$

roper(k) : not if CONDITION perennial crops limit (f\*ha)

$$ \sum_{j} ROP * xtk(j,k) - \sum_{l} ROR * zf(k,l) \leq 0.0 $$

rociv(k) : not if CONDITION inter cropping limit (f\*ha)

$$ \sum_{j} ROC * xck(j,k) - \sum_{l} RCR * zf(k,l) \leq 0.0 $$

s(j,k) : not if CONDITION j-crop product sharing (market vs on-farm) (f\*t)

$$ \begin{aligned} & -RRR * xtk(j,k) - RRS * xck(j,k) + \sum_{i,l} RRF * f(i,j,k,l) \\ & + \sum_{l} y(j,k,l) + \sum_{l} h(j,k,l) + \sum_{i,l} RRC * c(i,j,k,l) = 0.0 \end{aligned} $$
epro(o) : not if CONDITION use of UOR disposal

$$ \sum_{j,k} po(j,k,o) - \sum_{k,l} QRO * zf(k,l) \leq 0.0 $$

eqj(j,k) : not if CONDITION balance spreading - source of available N (tN)

$$ qon(j,k) - \sum_{i,o} QJD * q(i, j, k, o) - \sum_{o} QJE * po(j, k, o) \leq 0.0 $$

• the policy block P

eld(m,k) : CAP 2013 - crop diversification (ha)

$$ \begin{aligned} & CED * xdivc(k) + CEE * xdivd(k) + CEB * xdivb(k) \\ & +CEF * xdive(k) + CEA * xarab(k) + \sum_{j} CEL * xtk(j,k) \\ & + \sum_{l} CEM * zf(k,l) + CIC * idivc(k) + CID * idivd(k) \\ & +CIB * idivb(k) + CIF * idive(k) + \sum_{j} TII * itk(j,k) \\ & +TIN * nttjk(k) \leq tiz \end{aligned} $$

ild(j,k,m) : CAP 2013 - crop diversification

$$ XIT * xtk(j,k) + TIT * itk(j,k) \leq 0.0 $$

epa(j,k) : not if CONDITION environmental limit to organic N spreading (tN)

$$ \sum_{i,o} QJM * q(i, j, k, o) + \sum_{o} QJO * po(j, k, o) - OXD * xtk(j, k) \leq 0.0 $$

epno3(k) : environmental limit to organic N spreading (NO3/l)

$$ \sum_{n} ENO * excdt(n) + ENU * xugbk(k) - ENZ * zf(k,l) \leq 0.0 $$
sc(j,k) : not if CONDITION available by-product outputs (f*t)

$$yc(j,k) - REN * xtk(j,k) = 0.0$$

sbtt(k) : not if CONDITION sugarbeet production sharing

$$-\sum_{j} RRA * xtk(j,k) + \sum_{j,l} CNC * y(j,k,l) + \sum_{j,l} CND * h(j,k,l) = 0.0$$

### the environment block E

ktchc(k) : not if CONDITION max CH4 capacity of digester individ k-farm

$$amt(k) + bmt(k) - \sum_{l} KCH * zf(k,l) - \sum_{n} KIH * zpah(n,k) \leq 0.0$$

mpahc(k) : not if CONDITION allowing farmers access to methane capacity unit n

$$\sum_{n} MZH * zpah(n,k) + zpann(k) - \sum_{l} zf(k,l) = 0.0$$

npann(k) : not if CONDITION k farmer number related to methane capacity unit 0

$$XY0 * zpann(k) - XX0 * ipann(k) \leq 0.0$$

npah(n,k) : not if CONDITION k farmer number related to methane capacity unit n

$$XYM * zpah(n,k) - XXM * ipah(n,k) \leq 0.0$$

cichc(k) : not if CONDITION exclusion among n CH4 units

$$\sum_{n} CZH * ipah(n,k) + ipann(k) \leq czi$$

atchc(k) : not if CONDITION calculation of anim biomethane potential in farm k

$$amt(k) - \sum_{o,i} XXA * am(o,i,k) = 0.0$$

btchc(k) : not if CONDITION calculation of crop biomethane potential in farm k

$$bmt(k) - \sum_{j} XXB * bm(j,k) - \sum_{j} XXB * cm(j,k) = 0.0$$

danim(k) : not if CONDITION calculation of animal sourced digestate in farm k

$$\sum_{o} DGA * dat(o,k) - \sum_{o,i} DDA * am(o,i,k) = 0.0$$
fog(m) : FEOGA (export refunds not included) ($f^*k \in \mathbb{R}$)

$$
\begin{align*}
& \sum_n GOG * egcdt(n) + \sum_{k,l} CAD * zf(k,l) + \sum_{n,i,k,l} CPA * a(n,i,k,l) \\
& + \sum_{i,k,l} CPE * aip(i,k,l) + \sum_{i,k,l} CPM * aml(i,k,l) + \sum_{i,k,l} CPP * ani(i,k,l) \\
& + \sum_{n,k,l} CQB * qtb(n,k,l) + \sum_{n,k,l} CQC * qtc(n,k,l) + \sum_{n,k,l} CPH * ugh(n,k,l) \\
& + \sum_{j,k,l} FGX * x(j,k,l) + \sum_{j,k,l} FXA * xa(j,k,l) + \sum_{j,k,l} FXA * xea(j,k,l) \\
& + \sum_{j,k,l} FXA * xfa(j,k,l) + \sum_{j,k,l} FXB * xb(j,k,l) + \sum_{j,k,l} FXB * xeb(j,k,l) \\
& + \sum_{j,k,l} FXB * xfb(j,k,l) + \sum_{j,k,l} FXC * xc(j,k,l) + \sum_{j,k,l} FXC * xec(j,k,l) \\
& + \sum_{j,k,l} FXD * xd(j,k,l) + \sum_{j,k,l} FXD * xed(j,k,l) + \sum_{j,k,l} FXE * xe(j,k,l) \\
& + \sum_{n,k,l} CFO * foh(n,k,l) + \sum_{n,k,l} CFE * efo(n,k,l) + \sum_{j,k,l} FGI * y(j,k,l) \\
& + \sum_n FEX * excdt(n) + \sum_{k,l} YOL * yolai(k,l) + \sum_{k,l} FWL * xwlai(k,l) \\
& + \sum_{k,l} FDL * xrgdl(k,l) + \sum_{k,l} PDL * xpgdl(k,l) + \sum_k SDI * xdivb(k) \\
& + \sum_k SDI * xdivc(k) + \sum_k SDI * xdivd(k) = 0.0
\end{align*}
$$

fbges : not if CONDITION public support and tax balance / GHG em. regul. ($f^*k \in \mathbb{R}$)

$$
\begin{align*}
& + \sum_{i,k,l} GAN * ani(i,k,l) + \sum_{n,i,k,l} GAC * b(n,i,k,l) + \sum_{i,k,l} GAG * agt(i,k,l) \\
& + \sum_{j,k} GAX * xtk(j,k) + \sum_{j,k} GAE * qen(j,k) - \sum_{n} GEX * excdt(n) \\
& - \sum_{n} OES * emcdt(n) = 0.0
\end{align*}
$$

fbn2o : not if CONDITION public balance regarding support and tax / N2O

$$
\sum_n PNH * epcdt(n) - \sum_n GNH * excdt(n) = 0.0
$$

fbno3 : not if CONDITION public balance regarding support and tax / NO3

$$
\sum_n PNI * epcdt(n) - \sum_n GNI * excdt(n) = 0.0
$$

fbnh3 : not if CONDITION public balance regarding support and tax / NH3

$$
\sum_n PNJ * epcdt(n) - \sum_n GNJ * excdt(n) = 0.0
$$
dcrop(k) : not if CONDITION calculation of plant sourced digestate in farm k

$$ \sum_{o} DGC * dct(o, k) - \sum_{j} DDC * bm(j, k) - \sum_{j} DDC * cm(j, k) = 0.0 $$

d6t(k) : not if CONDITION intermediary balance related to anim N-digest

$$ d6d(k) - \sum_{o} D6X * ddd(o, k) = 0.0 $$

d7t(k) : not if CONDITION intermediary balance related to crop N-digest

$$ d7d(k) - \sum_{o} D7X * ddd(o, k) = 0.0 $$

ddt(o,k) : not if CONDITION distribute N-digest among crops and surplus.

$$ -DTA * dat(o, k) - DTC * dct(o, k) + \sum_{j} dd(o, j, k) + D66 * d6d(k) + D77 * d7d(k) = 0.0 $$

cauab(k) : not if CONDITION requested animal substract vs crop substract in farm k

$$ -\sum_{o,i} am(o,i,k) + \sum_{j} FAU * bm(j,k) + \sum_{j} FAU * cm(j,k) \leq 0.0 $$

bz(j,k) : not if CONDITION Pest expenditure on crop J in farm K (k EUR)

$$ -qzz(j,k) + BEZ * xtk(j,k) = 0.0 $$

bilxn : not if CONDITION organic N balance referring to spreading

$$ \sum_{n} BXA * excdt(n) + \sum_{i,j,k,o} QJM * q(i, j, k, o) + \sum_{j,k,o} QJO * po(j, k, o) = 0.0 $$

cpest : total expenditure in pesticides

$$ + \sum_{j,k} qzz(j,k) - \sum_{n} CVZ * excdt(n) = 0.0 $$

ems(m) : GHG balances per category (IPCC) (tCO2)

$$ \begin{aligned} & \sum_{n} GES * emcdt(n) - \sum_{i,k,l} AFS * ani(i, k, l) - \sum_{j,k} CFS * xtk(j,k) \\ & - \sum_{n,i,k,l} CSB * b(n, i, k, l) - \sum_{i,j,k,l} CSC * c(i, j, k, l) - \sum_{i,j,k,l} CSF * f(i, j, k, l) \\ & - \sum_{i,k,l} CSG * agt(i, k, l) - \sum_{j,k} CDC * qen(j,k) - \sum_{j,k} CDD * qon(j,k) \\ & - \sum_{j,k,o} CDP * po(j, k, o) - \sum_{o,k} CSX * soc(o, k) = 0.0 \end{aligned} $$
gdl(m,k,l) : not if CONDITION refers to set-aside decoupling

$$
\begin{align*}
&GD1 * xsgdl(k,l) + GD2 * xrgdl(k,l) + GD7 * xpgdl(k,l) \\
&+ \sum_j GD3 * x(j,k,l) + \sum_j GDF * xfl(j,k,l) + GD4 * igdlg(k,l) \\
&+ GD5 * igdlh(k,l) - GD6 * zf(k,l) \leq 0.0
\end{align*}
$$

gdu(k,l) : not if CONDITION set-aside / Lux. agreem. ( igdlh + igdlg = 1 )

$igdlg(k,l) + igdlh(k,l) = 1.0$

gfo(n,k,l) : not if CONDITION Luxembourg decoupling reform (cap limits)

$-egcdt(n) - GOZ * zf(k,l) \leq 0.0$

gel(m,k,l) : 1988 set-aside policy

$$
\begin{align*}
& GL1 * xsgel(k,l) + \sum_j GL2 * x(j,k,l) + \sum_j GL2 * xa(j,k,l) \\
& + \sum_j GL2 * xb(j,k,l) + \sum_j GL2 * xc(j,k,l) + \sum_j GL2 * xd(j,k,l) \\
& + \sum_j GL2 * xe(j,k,l) + \sum_j GL2 * xf(j,k,l) + GL3 * igelg(k,l) \\
& + GL4 * igelh(k,l) \le 0.0
\end{align*}
$$

gli(k,l) : not if CONDITION refers to set-aside 1988 ( igelh + igelg = 1 )

$igelg(k,l) + igelh(k,l) = 1.0$

icgta(m) : aggregated bought feed of type m (19 cat.) (t)

$$
\sum_{n,i,k,l} \mathrm{CAC} * b(n,i,k,l) + \sum_{i,k,l} \mathrm{CAG} * \mathrm{agt}(i,k,l) - \mathrm{acgta}(m) = 0.0
$$

pap(i,k,l) : not if CONDITION threshold referring to "small" herd (heads)

$$
+aip(i,k,l) - OVE * zf(k,l) \leq 0.0
$$

pas(i,k,l) : not if CONDITION balance "big" herd exceed. the threshold (heads)

$$
aip(i,k,l) + aig(i,k,l) - ani(i,k,l) = 0.0
$$

pfoui(k,l) : not if CONDITION CAP grass subsidy accounting for subsid. fodders (-)

$$
+ \sum_{n} iph(n, k, l) = 1.0
$$
epn(m) : balances of N pollut. emis. originated by crops man.

$$ \sum_{n} PNE * epcdt(n) - \sum_{j,k} PNX * xtk(j,k) - \sum_{j,k} PNQ * qen(j,k) \\ - \sum_{j,k} PNW * awj(j,k) - \sum_{j,k} PNO * qon(j,k) - \sum_{j,k,o} PNP * po(j,k,o) = 0.0 $$

fbcar : not if CONDITION balance / soil carbon storage (in progress) (tC/yr)

$$ + \sum_{j,k} CCX * xtk(j,k) + \sum_{o,k} GGX * soc(o,k) - \sum_{n} GE4 * excdt(n) = 0.0 $$

qges : GHG emission quota (cumul / k l) (f*tCO2zq)

$$ \sum_{n} QES * emcdt(n) - \sum_{k,l} ZES * zf(k,l) \leq 0.0 $$

qprai(k) : not if CONDITION minimal limit / grasslands (INSEA) / carbon storage

$$ - \sum_{j} QPA * xtk(j,k) + \sum_{l} QPZ * zf(k,l) \leq 0.0 $$

## the feed block F

eq(m,i,k,l) : i-herd feeding of type m (kg_or_t/head)

$$ BES * ani(i,k,l) - \sum_{j} VAF * f(i,j,k,l) - \sum_{j} VCF * c(i,j,k,l) \\ - \sum_{n} VAC * b(n,i,k,l) - VAG * agt(i,k,l) \leq 0.0 $$

falcg(m) : not if CONDITION bought feed quantity per herd cat. and per type m

$$ \sum_{n,i,k,l} FAC * b(n,i,k,l) + \sum_{i,k,l} FAG * agt(i,k,l) + \sum_{n} FAX * excdt(n) = 0.0 $$

fcgta : total of aggregated (marketed) expenditure for feed

$$ \sum_{n,i,k,l} DAC * b(n,i,k,l) + \sum_{i,k,l} DAG * agt(i,k,l) - dcgta = 0.0 $$

## the nitrogen block N

apnlt(k) : not if CONDITION calculation of average per ha organic spreading

$$ APA * qonlt(k) - \sum_{i,j,o} APQ * q(i,j,k,o) - \sum_{j,o} APP * po(j,k,o) = 0.0 $$

ba(j,k) : not if CONDITION N requirement to reach given yield (kg N)

$$ -FNE * qen(j,k) - FNO * qon(j,k) + BEN * xtk(j,k) \\ +BEN * xck(j,k) \leq 0.0 $$
pft(m,k,l) : CAP grass subsidy redeployment

$$ \sum_{n} PTO * foh(n,k,l) + \sum_{n} PTP * fph(n,k,l) - \sum_{j} PTX * x(j,k,l) + \sum_{n} PTH * ugh(n,k,l) - \sum_{n} PTU * ugo(n,k,l) = 0.0 $$

pfx(i,k,l) : CAP grass subsidy (follows) (f*ha)

$$ \sum_{n} PFO * foh(n,k,l) + \sum_{n} PFP * fph(n,k,l) + \sum_{n} PFI * iph(n,k,l) + \sum_{n} PFU * ugo(n,k,l) + \sum_{n} PFE * efo(n,k,l) + \sum_{n} PFD * ief(n,k,l) + PFZ * zf(k,l) \le pfs $$

pjt(m,k,l) : CAP young bov. premium / redeploy. jbv+VN+VLref (f*LU)

$$ \sum_{n} PTA * qta(n,k,l) + \sum_{n} PTB * qtb(n,k,l) + \sum_{n} PTC * qtc(n,k,l) + \sum_{n} PTF * qtx(n,k,l) + PTR * xfour(k,l) + \sum_{i} PTN * ani(i,k,l) + \sum_{n} PTI * qti(n,k,l) + PTZ * zf(k,l) = pts $$

pjx(m,k,l) : CAP young bovine premium (f*LU)

$$ \sum_{n} PXA * qta(n,k,l) + \sum_{n} PXB * qtb(n,k,l) + \sum_{n} PXC * qtc(n,k,l) + \sum_{n} PXF * qtx(n,k,l) + \sum_{n} PXI * qti(n,k,l) - PXZ * zf(k,l) \le 0.0 $$

polat : balance / cow milk under quota 1st market (f*l)

$$ +xolat - \sum_{k,l} xolai(k,l) = 0.0 $$

psh(m,k,l) : CAP herbivore extensification (f*LU)

$$ \sum_{n} PRH * her(n,k,l) + \sum_{n} PRU * ugh(n,k,l) + PRX * xfour(k,l) \le 0.0 $$

psi(k,l) : not if CONDITION CAP McSh excluding binaries "extensif. herbivores"

$$ \sum_{n} her(n,k,l) = 1.0 $$
cnvol : not if CONDITION sum of mineral fertilizer inputs

$$+\sum_{j,k} qen(j,k) - \sum_{n} CVO * excdt(n) = 0.0$$

cnmin : sum of mineral N intakes in terms of equiv. mineral N

$$+\sum_{j,k} CVJ * qen(j,k) - \sum_{n} CVN * excdt(n) = 0.0$$

cnorg : not if CONDITION sum of organic N intakes in terms of equiv. mineral N

$$+\sum_{j,k} qon(j,k) - \sum_{n} CVR * excdt(n) = 0.0$$

ei(o,i,k) : not if CONDITION distribute o-type manure provided by i-herd

$$\begin{aligned} & \sum_{j} q(i, j, k, o) + xo(o, i, k) - xoa(o, i, k) \\ & +xov(o, i, k) + am(o, i, k) - \sum_{l} QID * ani(i, k, l) \\ = & 0.0 \end{aligned}$$

mktxo(o,i) : not if CONDITION o-i-market capability (o-OM i-animal)

$$\sum_{k} xoa(o, i, k) - \sum_{k} xov(o, i, k) \leq 0.0$$

epro(o) : not if CONDITION use of UOR disposal

$$\sum_{j,k} po(j,k,o) - \sum_{k,l} QRO * zf(k,l) \leq 0.0$$

eqj(j,k) : not if CONDITION balance spreading - source of available N (tN)

$$\begin{aligned} & qon(j,k) - \sum_{o} QJF * dd(o, j, k) - \sum_{l,o} QJD * q(i, j, k, o) \\ & - \sum_{o} QJE * po(j,k,o) \leq 0.0 \end{aligned}$$

• the policy block P
pve(m,k,l) : CAP McSh if tsy(2)=1 (f*t)

$$
\begin{align*}
&+ \sum_j PVA * xa(j,k,l) + \sum_j PVA * xfa(j,k,l) + \sum_j PVA * xea(j,k,l) \\
&+ \sum_j PVB * xb(j,k,l) + \sum_j PVB * xfb(j,k,l) + \sum_j PVB * xeb(j,k,l) \\
&+ \sum_j PVC * xc(j,k,l) + \sum_j PVC * xec(j,k,l) + \sum_j PVD * xd(j,k,l) \\
&+ \sum_j PVD * xed(j,k,l) + PVN * ivegn(k,l) + PVP * ivegp(k,l) \\
&+ PVZ * zf(k,l) \le 0.0
\end{align*}
$$

pvi(k,l) : not if CONDITION CAP McSh (exclud. constr. refer. to IVEGP et IVEGN)

$ivegn(k,l) + ivegp(k,l) = 1.0$

pwlat : balance milk cow prod. out of quota 2nd market (f*l)

$$
+xwlat - \sum_{k,l} xwlai(k,l) = 0.0
$$

qbtb(k,l) : not if CONDITION refers to sugarbeet quotas A and B (f*t)

$$
\sum_j QAB * y(j, k, l) = 0.0
$$

qrj(j,k) : not if CONDITION energy destin. limit on fallow / set-aside and ACE

$$
\sum_{l} xe(j,k,l) + \sum_{l} xf(j,k,l) - \sum_{l} QQE * zf(k,l) \leq 0.0
$$

qyj(j,k) : not if CONDITION CAP energy destinated domestic production

$$
- \sum_l y(j,k,l) + \sum_l RYE * xe(j,k,l) + \sum_l RYE * xf(j,k,l) \le 0.0
$$

qolai(k,l) : not if CONDITION cow milk quota (f*l)

$$
\begin{align*}
& xolai(k,l) + dolat + xolqm(k,l) \\
& - QOL * zf(k,l) \le 0.0
\end{align*}
$$

qolqt : not if CONDITION balance / milk quota market (sold if > 0)

$$
- \sum_{k,l} xolqm(k,l) + \sum_{n} QOT * excdt(n) = 0.0
$$

qoyl(m,k,l) : not if CONDITION condition on payment of milk subsidy (f*l)

$$
yolai(k,l) - QOX * xolai(k,l) - QOZ * zf(k,l) \le 0.0
$$
eld(m,k) : CAP 2013 - crop diversification (ha)

$$
\begin{align*}
CED * xdivc(k) + CEE * xdivd(k) + CEB * xdivb(k) \\
+ CEF * xdive(k) + CEA * xarab(k) + \sum_{j} CEL * xtk(j,k) \\
+ \sum_{l} CEM * zf(k,l) + CIC * idivc(k) + CID * idivd(k) \\
+ CIB * idivb(k) + CIF * idive(k) + \sum_{j} TII * itk(j,k) \\
+ TIN * ntt jk(k) \leq tiz
\end{align*}
$$

ild(j,k,m) : CAP 2013 - crop diversification

$$
XIT * xtk(j,k) + TIT * itk(j,k) \leq 0.0
$$

epa(j,k) : not if CONDITION *environmental limit to organic N spreading* (tN)

$$
\sum_{i,o} QJM * q(i, j, k, o) + \sum_{o} dd(o, j, k) + \sum_{o} QJO * po(j, k, o) \\ - OXD * xtk(j, k) \leq 0.0
$$

epno3(k) : environmental limit to organic N spreading (NO3/l)

$$
\sum_n ENO * excdt(n) + ENU * xugbk(k) - \sum_l ENZ * zf(k,l) \le 0.0
$$

fog(m) : FEOGA (export refunds not included) (f\*k€)

$$
\begin{align*}
& \sum_n GOG * egcdt(n) + \sum_{k,l} CAD * zf(k,l) + \sum_{n,i,k,l} CPA * a(n,i,k,l) \\
& + \sum_{i,k,l} CPE * aip(i,k,l) + \sum_{i,k,l} CPM * aml(i,k,l) + \sum_{i,k,l} CPP * ani(i,k,l) \\
& + \sum_{n,k,l} CQB * qtb(n,k,l) + \sum_{n,k,l} CQC * qtc(n,k,l) + \sum_{n,k,l} CPH * ugh(n,k,l) \\
& + \sum_{j,k,l} FGX * x(j,k,l) + \sum_{j,k,l} FXA * xa(j,k,l) + \sum_{j,k,l} FXA * xea(j,k,l) \\
& + \sum_{j,k,l} FXA * xfa(j,k,l) + \sum_{j,k,l} FXB * xb(j,k,l) + \sum_{j,k,l} FXB * xeb(j,k,l) \\
& + \sum_{j,k,l} FXB * xfb(j,k,l) + \sum_{j,k,l} FXC * xc(j,k,l) + \sum_{j,k,l} FXC * xec(j,k,l) \\
& + \sum_{j,k,l} FXD * xd(j,k,l) + \sum_{j,k,l} FXD * xed(j,k,l) + \sum_{j,k,l} FXE * xe(j,k,l) \\
& + \sum_{n,k,l} CFO * foh(n,k,l) + \sum_{n,k,l} CFE * efo(n,k,l) + \sum_{j,k,l} FGI * y(j,k,l) \\
& + \sum_n FEX * excdt(n) + \sum_{k,l} YOL * yolai(k,l) + \sum_{k,l} FWL * xwlai(k,l) \\
& + \sum_{k,l} FDL * xrgdl(k,l) + \sum_{k,l} PDL * xpgdl(k,l) + \sum_k SDI * xdivb(k) \\
& + \sum_k SDI * xdivc(k) + \sum_k SDI * xdivd(k) = 0.0
\end{align*}
$$
quant(k,l) : not if CONDITION financial quantum (itest+2**9) (f*k*€)

$$ + \sum_{n} QUX * efo(n, k, l) + QUZ * zf(k, l) - \sum_{n} FEG * excdt(n) = 0.0 $$

qve(n,k,l) : crop marketed prod. quota (tsy(8)=1.) (f*t)

$$ \sum_{j} QQY * y(j, k, l) + \sum_{j} QQF * xe(j, k, l) + \sum_{j} QQF * xf(j, k, l) + \sum_{j} QQH * h(j, k, l) - QQZ * zf(k, l) \leq 0.0 $$

qwlai(k,l) : not if CONDITION cow milk quota / 2nd market (f*l)

$$ xwlai(k,l) + dwlat - QWL * zf(k,l) \leq 0.0 $$

regbt : special sugarbeet regime (before the 2007 ref.)

$$ + \sum_{j,k,l} TBE * y(j, k, l) + dctr - excr = 0.0 $$

snrjm(k) : not if CONDITION maximum area for energy - fallow / set-aside and ACE

$$ \sum_{j,l} xe(j, k, l) + \sum_{j,l} xf(j, k, l) - \sum_{l} SMX * zf(k, l) \leq 0.0 $$

snrjt : not if CONDITION total area / energy - fallow / set-aside and ACE

$$ \sum_{j,k,l} xe(j, k, l) + \sum_{j,k,l} xf(j, k, l) - \sum_{n} SMT * excdt(n) = 0.0 $$

sglo : aggregation of set-aside areas whatever the CAP

$$ \sum_{j1,k} xtk(j1,k) - xgelo = 0.0 $$

sxe(j,k,l) : not if CONDITION aggregated energy crop area out of set-aside

$$ \begin{aligned} xea(j, k, l) + xeb(j, k, l) + xec(j, k, l) \\ + xed(j, k, l) - xe(j, k, l) = 0.0 \end{aligned} $$

sxf(j,k,l) : not if CONDITION aggregated energy crop area on set-aside

$$ \begin{aligned} xfa(j, k, l) + xfb(j, k, l) + xfl(j, k, l) \\ - xf(j, k, l) = 0.0 \end{aligned} $$

txsoc(k,l) : not if CONDITION computation of land deviation in fav. of C storage (f*ha)

$$ \sum_{j} TXT * xtk(j, k) - \sum_{o} TXX * soc(o, k) - TZX * zf(k, l) = 0.0 $$
fbges : not if CONDITION public support and tax balance / GHG em. regul. (f\*k\e)

$$ 
\begin{aligned}
&+ \sum_{i,k,l} \text{GAN} \ast \text{ani}(i,k,l) + \sum_{n,i,k,l} \text{GAC} \ast b(n,i,k,l) + \sum_{i,k,l} \text{GAG} \ast \text{agt}(i,k,l) \\
&+ \sum_{j,k} \text{GAX} \ast \text{xtk}(j,k) + \sum_{j,k} \text{GAE} \ast \text{qen}(j,k) - \sum_{n} \text{GEX} \ast \text{excdt}(n) \\
&- \sum_{n} \text{OES} \ast \text{emcdt}(n) = 0.0
\end{aligned}
$$

fbn2o : not if CONDITION public balance regarding support and tax / N2O

$$ \sum_{n} \text{PNH} \ast \text{epcdt}(n) - \sum_{n} \text{GNH} \ast \text{excdt}(n) = 0.0 $$

fbno3 : not if CONDITION public balance regarding support and tax / NO3

$$ \sum_{n} \text{PNI} \ast \text{epcdt}(n) - \sum_{n} \text{GNI} \ast \text{excdt}(n) = 0.0 $$

fbnh3 : not if CONDITION public balance regarding support and tax / NH3

$$ \sum_{n} \text{PNJ} \ast \text{epcdt}(n) - \sum_{n} \text{GNJ} \ast \text{excdt}(n) = 0.0 $$

gdl(m,k,l) : not if CONDITION refers to set-aside decoupling

$$ 
\begin{aligned}
& \text{GD1} \ast \text{xsgdl}(k,l) + \text{GD2} \ast \text{xrgdl}(k,l) + \text{GD7} \ast \text{xpgdl}(k,l) \\
& + \sum_{j} \text{GD3} \ast x(j,k,l) + \sum_{j} \text{GDF} \ast xfl(j,k,l) + \text{GD4} \ast \text{igdlg}(k,l) \\
& + \text{GD5} \ast \text{igdlh}(k,l) - \text{GD6} \ast \text{zf}(k,l) \leq 0.0
\end{aligned}
$$

gdu(k,l) : not if CONDITION set-aside / Lux. agreem. (igdlh + igdlg = 1)

$$ \text{igdlg}(k,l) + \text{igdlh}(k,l) = 1.0 $$

gfo(n,k,l) : not if CONDITION Luxembourg decoupling reform (cap limits)

$$ -\text{egcdt}(n) - \text{GOZ} \ast \text{zf}(k,l) \leq 0.0 $$

gel(m,k,l) : 1988 set-aside policy

$$ 
\begin{aligned}
& \text{GL1} \ast \text{xsgel}(k,l) + \sum_{j} \text{GL2} \ast x(j,k,l) + \sum_{j} \text{GL2} \ast xa(j,k,l) \\
& + \sum_{j} \text{GL2} \ast xb(j,k,l) + \sum_{j} \text{GL2} \ast xc(j,k,l) + \sum_{j} \text{GL2} \ast xd(j,k,l) \\
& + \sum_{j} \text{GL2} \ast xe(j,k,l) + \sum_{j} \text{GL2} \ast xf(j,k,l) + \text{GL3} \ast \text{igelg}(k,l) \\
& + \text{GL4} \ast \text{igelh}(k,l) \leq 0.0
\end{aligned}
$$
tfhme(k,l) : not if CONDITION total fodder except subsidized fodder maize (f*ha)

$$xfour(k,l) - \sum_{j} FOU * x(j,k,l) = 0.0$$

### the water block W

bw(j,k) : not if CONDITION water requirement to reach given yield (kg N)

$$-FWA * awj(j,k) + BEW * xtk(j,k) = 0.0$$

cwate : not if CONDITION sum of irrigation water consumptions

$$+ \sum_{j,k} awj(j,k) - \sum_{n} CWA * excdt(n) = 0.0$$

cwakk(k) : not if CONDITION sum of irrigation water consumptions k farm

$$+ \sum_{j} awj(j,k) - CWK * exwkk(k) = 0.0$$

walim(k) : not if CONDITION water limit k-farm scale (m3)

$$- \sum_{l} WAL * zf(k,l) + \sum_{j} awj(j,k) \leq 0.0$$

waltt : not if CONDITION water limit for weighted k-GT setz (km3)

$$+ \sum_{j,k} awj(j,k) \leq wtt$$

### the "trans-farm group" block T

minyi(j) : not if CONDITION j-crop Qty marketed subject to threshold (t)

$$yi(j) \geq qnj$$

minen(n) : not if CONDITION bioenergy subject to threshold (teqenergy)

$$+ \sum_{o,j,k} QCY * yb(o,j,k) + \sum_{o,j,k} QEY * ye(o,j,k) \geq qnr$$

sje(j,k) : not if CONDITION excluding energy and non-ene. uses of mark. crop (tDM)

$$y0(j,k) + \sum_{o} ye(o,j,k) - \sum_{l} y(j,k,l) \leq 0.0$$

sce(j,k) : not if CONDITION excluding energy and non-ene. uses of by-products (tDM)

$$yb0(j,k) + \sum_{o} yb(o,j,k) - yc(j,k) \leq 0.0$$
gli(k,l) : not if CONDITION refers to set-aside 1988 ( igelh + igelg = 1 )

$$ igelg(k,l) + igelh(k,l) = 1.0 $$

icgta(m) : aggregated bought feed of type m (19 cat.) (t)

$$ \sum_{n,i,k,l} CAC * b(n,i,k,l) + \sum_{i,k,l} CAG * agt(i,k,l) - acgta(m) = 0.0 $$

pap(i,k,l) : not if CONDITION threshold referring to "small" herd (heads)

$$ +aip(i,k,l) - OVE *zf(k,l) \leq 0.0 $$

pas(i,k,l) : not if CONDITION balance "big" herd exceed. the threshold (heads)

$$ aip(i,k,l) + aig(i,k,l) - ani(i,k,l) = 0.0 $$

pfoui(k,l) : not if CONDITION CAP grass subsidy accounting for subsid. fodders (-)

$$ + \sum_{n}iph(n,k,l) = 1.0 $$

pft(m,k,l) : CAP grass subsidy redeployment

$$ \sum_{n}PTO*foh(n,k,l) + \sum_{n}PTP*fph(n,k,l) - \sum_{j}PTX*x(j,k,l) + \sum_{n}PTH*ugh(n,k,l) - \sum_{n}PTU*ugo(n,k,l) = 0.0 $$

pfx(i,k,l) : CAP grass subsidy (follows) (f*ha)

$$ \sum_{n}PFO*foh(n,k,l) + \sum_{n}PFP*fph(n,k,l) + \sum_{n}PFI*iph(n,k,l) + \sum_{n}PFU*ugo(n,k,l) + \sum_{n}PFE*efo(n,k,l) + \sum_{n}PFD*ief(n,k,l) + PFZ*zf(k,l) \leq pfs $$

pjt(m,k,l) : CAP young bov. premium / redeploy. jbv+VN+VLref (f*LU)

$$ \sum_{n}PTA*qta(n,k,l) + \sum_{n}PTB*qtb(n,k,l) + \sum_{n}PTC*qtc(n,k,l) + \sum_{n}PTF*qtx(n,k,l) + PTR*xfour(k,l) + \sum_{i}PTN*ani(i,k,l) + \sum_{n}PTI*qti(n,k,l) + PTZ*zf(k,l) = pts $$

pjx(m,k,l) : CAP young bovine premium (f*LU)

$$ \sum_{n}PXA*qta(n,k,l) + \sum_{n}PXB*qtb(n,k,l) + \sum_{n}PXC*qtc(n,k,l) + \sum_{n}PXF*qtx(n,k,l) + PXI*qti(n,k,l) - PXZ*zf(k,l) \leq 0.0 $$
mincl : not if CONDITION diet calories subject to threshold (teqcereal)

$$ \sum_{j} YCV * yi(j) + \sum_{j} YCV * ym(j) + \sum_{i} YCA * ant(i) + \sum_{m} YAL * acgta(m) + YLK * xolat \geq qcl $$

minpr : not if CONDITION protein quantity subject to threshold (teqcereal)

$$ \sum_{j} YPV * yi(j) + \sum_{j} YPV * ym(j) + \sum_{i} YPA * ant(i) + \sum_{m} YPL * acgta(m) + YPK * xolat \geq qpl $$

minyc : not if CONDITION cereal Qty marketed subject to threshold (t)

$$ \sum_{j} YMC * yi(j) \geq qnc $$

maxcn : not if CONDITION maximal threshold of mineral nitrogen (t)

$$ \sum_{j,k} qen(j,k) \leq qxn $$

maxqg : not if CONDITION maximal GHG limit (tCO2eq)

$$ \sum_{n} QES * emcdt(n) \leq qgr $$

### 4.2.4 CAP implementation

In great part, the AROPAj model originates from modeling tools aiming at CAP impact assessments. Mathematical programming supplies effective tools for this end when the implementation of new policy tools in economic models has to rely on non-time dependent data. Due to the wide and complex range of CAP tools used throughout the decades (until the mid-2000's), the CAP block grew immensely.

We keep all previously implemented policy tools operational in AROPAj. In reference to real policies, we need to introduce series of binary variables acting as cap and threshold mechanisms. This makes the presentation of sub-matrices related to each CAP policy tool incorporated into the AROPAj model incredibly time- and space-convving. Below, we present a selection of such sub-matrices, like the one presented above in Table 2.

Most of the policy tools are activated through the parameter itest(k). This is summarized in Table 3. The addition of the i-policy to a policy set for simulation means that the itest(k) has to be additionally increased by 2^i. In relation to the comprehensive, detailed, and mathematical forms of the objective and constraints (Section 4.2), some differences may appear. This is the case when the objective is directly impacted by CAP subsidies, whereas the above subsidies impact support balances and therefore indirectly impact the objective function. This only a question of presentation, aiming at alleviating the formal description of CAP sub-matrices.
polat : balance / cow milk under quota 1st market (f\*l)

$$+xolat - \sum_{k,l} xolai(k,l) = 0.0$$

psh(m,k,l) : CAP herbivore extensification (f\*LU)

$$\sum_{n} PRH * her(n,k,l) + \sum_{n} PRU * ugh(n,k,l) + PRX * xfour(k,l) \leq 0.0$$

psi(k,l) : not if CONDITION CAP McSh excluding binaries "extensif. herbivores"

$$\sum_{n} her(n,k,l) = 1.0$$

pve(m,k,l) : CAP McSh if tsy(2)=1 (f\*t)

$$\begin{aligned} &+ \sum_{j} PVA * xa(j,k,l) + \sum_{j} PVA * xfa(j,k,l) + \sum_{j} PVA * xea(j,k,l) \\ &+ \sum_{j} PVB * xb(j,k,l) + \sum_{j} PVB * xfb(j,k,l) + \sum_{j} PVB * xeb(j,k,l) \\ &+ \sum_{j} PVC * xc(j,k,l) + \sum_{j} PVC * xec(j,k,l) + \sum_{j} PVD * xd(j,k,l) \\ &+ \sum_{j} PVD * xed(j,k,l) + PVN * ivegn(k,l) + PVP * ivegp(k,l) \\ &+ PVZ * zf(k,l) \leq 0.0 \end{aligned}$$

pvi(k,l) : not if CONDITION CAP McSh (exclud. constr. refer. to IVEGP et IVEGN)

$$ivegn(k,l) + ivegp(k,l) = 1.0$$

pwlat : balance milk cow prod. out of quota 2nd market (f\*l)

$$+xwlat - \sum_{k,l} xwlai(k,l) = 0.0$$

qbtb(k,l) : not if CONDITION refers to sugarbeet quotas A and B (f\*t)

$$\sum_{j} QAB * y(j,k,l) = 0.0$$

qrj(j,k) : not if CONDITION energy destin. limit on fallow / set-aside and ACE

$$\sum_{l} xe(j,k,l) + \sum_{l} xf(j,k,l) - \sum_{l} QQE * zf(k,l) \leq 0.0$$

qyj(j,k) : not if CONDITION CAP energy destined domestic production

$$- \sum_{l} y(j,k,l) + \sum_{l} RYE * xe(j,k,l) + \sum_{l} RYE * xf(j,k,l) \leq 0.0$$
<table><caption>**Table 3.** Policy tools implemented in the AROPAj model.</caption><thead><tr><th>policy (i): 2<sup>i</sup></th><th>tool description</th></tr></thead><tbody><tr><td>(1): 2</td><td>set-aside 1988</td></tr><tr><td>(2): 4</td><td>MacSharry vegetal (focused on compensated areas)</td></tr><tr><td>(3): 8</td><td>discriminating thresholds / herd size (part subsidized)</td></tr><tr><td>(4): 16</td><td>animal extensif. (herbiv/ herd subsidized if load &lt; threshold)</td></tr><tr><td>(5): 32</td><td>grass subsidy (areas subsidized if LS-load &lt; threshold)</td></tr><tr><td>(6): 64</td><td>young male bovine and suckler cow subsidy (see 2**13)</td></tr><tr><td>(7): 128</td><td>subsidy to male calves from milk herd</td></tr><tr><td>(8): 256</td><td>crop marketed production quota</td></tr><tr><td>(9): 512</td><td>financial quantum</td></tr><tr><td>(10): 1024</td><td>variation in relative prices and costs</td></tr><tr><td>(11): 2048</td><td>policy toward farm afforestation support</td></tr><tr><td>(12): 4096</td><td>regulation policy against greenhouse gas emissions</td></tr><tr><td>(13): 8192</td><td>Santer package / bovines (see 2**6 ⇒ 6 OR 13)</td></tr><tr><td>(14): 16384</td><td>Agenda 2000 / bovines (see 2**6 ⇒ 6 OR 14)</td></tr><tr><td>(15): 32768</td><td>milk quota market (!!! quota renting !!!)</td></tr><tr><td>(16): 65536</td><td>Decoupling Luxemburg 2003 (option 14 basement)</td></tr><tr><td>(17): 131072</td><td>Crop diversification subsidized</td></tr></tbody></table>

## Set-aside implemented by the 1988 CAP

This tool functions as a binomial tariff. When the part of arable land set aside exceeds the threshold designed by the CAP, land set-aside is proportionally subsidized. We extend the policy tool in the sense that the per hectare premium may be indexed per farm group.

This policy tool is activated when the `itest(k)` parameter increases by 2. The LP set-aside activity refers to `x(42,k,1)`. Added parameters are the premium (`pjk(42,k)`), which acts as a price multiplied by one quantity unit) and the threshold (`angel`). A variables cost may be used (`vjk(42,k)`).

The sub-matrix related to this policy involves 2 binary variables, one real variable and 3 constraints as described on Table 4.

<table><caption>**Table 4.** CAP tool (1): set-aside, 1988.</caption><thead><tr><th></th><th>x(42,k,1)</th><th>xsgel(k,1)</th><th>igelg(k,1)</th><th>igelh(k,1)</th><th>x,xa-c(j^=,k,1)</th><th>RHS</th></tr></thead><tbody><tr><td>obj</td><td>-c(42,k)+pgl(k)</td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>gel(1,k,1)</td><td></td><td>1.</td><td></td><td>-99999.</td><td></td><td>&lt;=</td></tr><tr><td>gel(2,k,1)</td><td>angel - 1.</td><td>-1.</td><td></td><td></td><td>angel</td><td>&lt;=</td></tr><tr><td>gel(3,k,1)</td><td>1.</td><td></td><td>-99999.</td><td></td><td></td><td>&lt;=</td></tr><tr><td>gli(k,1)</td><td></td><td></td><td>1.</td><td>1.</td><td></td><td>=</td></tr></tbody></table>

## Crop part of the 1992 MacSharry reform

This CAP option stylizes the decoupling propositions related to crops, which were adopted in 1992. Added parameters are reference yields: (`rcehm(k)` for cereals except maize, `rceja(k)` for set-aside, `rcemg(k)` for maize), `olea` and `cerea` for other reference yields; thresholds in terms
qolai(k,l) : not if CONDITION cow milk quota (f*l)

$$xolai(k,l) + dolat + xolqm(k,l) - QOL * zf(k,l) \leq 0.0$$

qolqt : not if CONDITION balance / milk quota market (sold if > 0)

$$-\sum_{k,l} xolqm(k,l) + \sum_{n} QOT * excdt(n) = 0.0$$

qoyl(m,k,l) : not if CONDITION condition on payment of milk subsidy (f*l)

$$yolai(k,l) - QOX * xolai(k,l) - QOZ * zf(k,l) \leq 0.0$$

quant(k,l) : not if CONDITION financial quantum (itest+2**9) (f*k€)

$$+ \sum_{n} QUX * efo(n,k,l) + QUZ * zf(k,l) - \sum_{n} FEG * excdt(n) = 0.0$$

qve(n,k,l) : crop marketed prod. quota (tsy(8)=1.) (f*t)

$$\sum_{j} QQY * y(j,k,l) + \sum_{j} QQF * xe(j,k,l) + \sum_{j} QQF * xf(j,k,l) + \sum_{j} QQH * h(j,k,l) - QQZ * zf(k,l) \leq 0.0$$

qwlai(k,l) : not if CONDITION cow milk quota / 2nd market (f*l)

$$xwlai(k,l) + dwlat - QWL * zf(k,l) \leq 0.0$$

regbt : special sugarbeet regime (before the 2007 ref.)

$$+ \sum_{j,k,l} TBE * y(j,k,l) + dctr - excr = 0.0$$

snrjm(k) : not if CONDITION maximum area for energy - fallow / set-aside and ACE

$$\sum_{j,l} xe(j,k,l) + \sum_{j,l} xf(j,k,l) - \sum_{l} SMX * zf(k,l) \leq 0.0$$

snrjt : not if CONDITION total area / energy - fallow / set-aside and ACE

$$\sum_{j,k,l} xe(j,k,l) + \sum_{j,k,l} xf(j,k,l) - \sum_{n} SMT * excdt(n) = 0.0$$

sglo : aggregation of set-aside areas whatever the CAP

$$\sum_{j1,k} xtk(j1,k) - xgelo = 0.0$$
of cereal equivalent quantities (ton related to “small producer” threshold and tan related to non subsidized set-aside, that has finally not been implemented in the EU), set-aside thresholds (cupp, cvpp); and series of parameters referring to prices and quantity or area support (ajj(j), bjj(j), pgms, djj(j)).

The sub-matrix related to this set of policy tools implies the introduction of binary variables (ivegn(k), ivegp(k)) and real variables referring to subsidized crops (xa(j,k,l), xb(j,k,l), xc(j,k,l), for $j \le 72$; $j = 46$ refers to subsidized set-aside, $j = 47$ refers to non subsidized set-aside, $j = 72$ refers to fodder maize). Series of constraints (pve(m,k,l), pvi(k,l)) are built compactly as described in Table 5.

<table><caption>**Table 5.** CAP tool (2): MacSharry reform, 1992, for crop compensation.</caption><thead><tr><th></th><th>x(j,k,l)</th><th>xa(j,k,l)</th><th>xb(j,k,l)</th><th>xc(j,k,l)</th><th>ivegn(k)</th><th>ivegp(k)</th><th>zf(k,l)</th><th>y(j,k,l)</th><th>RHS</th></tr></thead><tbody><tr><td>obj</td><td>-c(j,k)</td><td>-c(j,k)+comp(j,k)+bjj(j)</td><td>-c(j,k)</td><td>-c(j,k)</td><td>-c(j,k)</td><td>-c(j,k)</td><td>-c(j,k)</td><td>-c(j,k)</td><td>-c(j,k)</td></tr><tr><td>pve(1,k,l)</td><td></td><td>rref(j,k)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pve(2,k,l)</td><td></td><td>-cupp is j#46</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pve(3,k,l)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pve(4,k,l)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pve(5,k,l)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pve(6,k,l)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>tan</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pve(7,k,l)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pve(8,k,l)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pvi(k,l)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr></tbody></table>

“Fixed” set-aside, in addition to “rotating” set-aside, are incorporated in the model by means of additional parameters and LP variables, which are not shown in this subsection.

## Livestock extensification

Subsidies are provided depending on the ratio of bovine livestock to hectare. We describe here a policy in which premium and super-premium are proposed to breeders. The system combines premium per i-animal head (bii(i)) and super-premium (spre) with LS threshold (amah) and LS loads per hectare (chgui, chgus). Added LP variables refer to bovine policy categories (a(m,i,k), ugh(m,k)) and binary variables (her(m,k,l)).
sxe(j,k,l) : not if CONDITION aggregated energy crop area out of set-aside

$$ 
\begin{aligned}
xea(j,k,l) + xeb(j,k,l) + xec(j,k,l) \\
+ xed(j,k,l) - xe(j,k,l) = 0.0
\end{aligned}
$$

sxf(j,k,l) : not if CONDITION aggregated energy crop area on set-aside

$$ 
\begin{aligned}
xfa(j,k,l) + xfb(j,k,l) + xfl(j,k,l) \\
-xf(j,k,l) = 0.0
\end{aligned}
$$

txsoc(k,l) : not if CONDITION computation of land deviation in fav. of C storage (f*ha)

$$ \sum_j TXT \ast xtk(j,k) - \sum_o TXX \ast soc(o,k) - TZX \ast zf(k,l) = 0.0 $$

tfhme(k,l) : not if CONDITION total fodder except subsidized fodder maize (f*ha)

$$ xfour(k,l) - \sum_j FOU \ast x(j,k,l) = 0.0 $$

### the water block W

bw(j,k) : not if CONDITION water requirement to reach given yield (kg N)

$$ -FWA \ast awj(j,k) + BEW \ast xtk(j,k) = 0.0 $$

cwate : not if CONDITION sum of irrigation water consumptions

$$ + \sum_{j,k} awj(j,k) - \sum_{n} CWA \ast excdt(n) = 0.0 $$

cwakk(k) : not if CONDITION sum of irrigation water consumptions k farm

$$ + \sum_j awj(j,k) - CWK \ast exwkk(k) = 0.0 $$

walim(k) : not if CONDITION water limit at k-farm scale (m3)

$$ - \sum_l WAL \ast zf(k,l) + \sum_j awj(j,k) \leq 0.0 $$

waltt : not if CONDITION water limit for a set of weighted k-GT (k*m3)

$$ + \sum_{j,k} awj(j,k) \leq wtt $$

### the "trans-farm group" block T

minyi(j) : not if CONDITION j-crop Qty marketed subject to threshold (t)

$$ yi(j) \geq qnj $$
The CAP related sub-matrix is described on Table 6.

<table><caption>**Table 6.** CAP tool (4): livestock extensification.</caption><caption>The k-index related to farm group is omitted<br>xfour denotes the fodder area<br>Added constraints: psh(1-6,k,1), psi(k,1), tuh(1-4,k,1), tguh(k,1), tun(i,k,1)</caption><thead><tr><th></th><th colspan="11">RHS</th></tr><tr><th></th><th>a(1,i)</th><th>a(2,i)</th><th>a(3,i)</th><th>a(4,i)</th><th>her(1)</th><th>her(2)</th><th>her(3)</th><th>her(4)</th><th>ugh(1)</th><th>ugh(2)</th><th>ugh(3)</th><th>ugh(4)</th><th>ani(i)</th><th>xfour(1)</th></tr></thead><tbody><tr><td>obj</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>psh(1,k,1)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>psh(2,k,1)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>psh(3,k,1)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>psh(4,k,1)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>psh(5,k,1)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>psh(6,k,1)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>psi(k,1)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>tugh(k,1)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>tuh(1,k,1)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>tuh(2,k,1)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>tuh(3,k,1)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>tuh(4,k,1)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>tuh(i,k,1)</td><td>1.</td><td>1.</td><td>1.</td><td>1.</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr></tbody></table>

## Grassland premium

This policy tool was implemented when some stylization questions arose regarding the livestock extensification proposed by the CAP reform. In contradistinction from the previous “livestock extensification” option, nhpgp levels of LS per hectare loads are taken into account (chgpa, chgpb, ..., chgpi) in line with nhpgp subsidy levels (prgpa, prgpb, ..., prgpi), with nhpgp= 9. Thresholds accounting for areas and LS are also introduced (rafou, faxou, timou). We add nhpgp+1 series of binary (iph(m,k,1)) and real (foh(m,k,1), fph(m,k,1), ugo(m,k,1)) LP variables referring to the nhpgp levels of extensification. Other added variables refer to threshold implementation and to exclusion conditions (ief(m,k,1) as binaries and ugh(k,1), efo(n,k,1) as reals).

The CAP-related sub-matrix is described in Table 7.

## Subsidizing young male bovines and suckler cows

Another complex CAP tool was designed for sets of bovine premiums. We now focus on the instrument that impacts the bovine herd, and more specifically the young males and suckler cows eligible for subsidizing. Loading ratio and thresholds apply again. This is stylized via ratios chgtj, chgtk, premiums prgtj, prgte, prgtn, and number thresholds qtalk, qtete, qtola, amah. Thresholds refer to dairy production (dairy cow and milk production). Binary variables (qti(n,k,1)) and real variables (qta(n,k,1), qtb(n,k,1), qtc(n,k,1), qtx(n,k,1))
minen(n) : not if CONDITION bioenergy subject to threshold (teqenergy)

$$+ \sum_{o,j,k} QCY * yb(o,j,k) + \sum_{o,j,k} QEY * ye(o,j,k) \geq qnr$$

sje(j,k) : not if CONDITION excluding energy and non-ene. uses of mark. crop (tDM)

$$y0(j,k) + \sum_{o} ye(o,j,k) - \sum_{l} y(j,k,l) +BSO * cm(j,k) \leq 0.0$$

sce(j,k) : not if CONDITION excluding energy and non-ene. uses of by-products (tDM)

$$yb0(j,k) + \sum_{o} yb(o,j,k) - yc(j,k) +BSO * bm(j,k) \leq 0.0$$

mincl : not if CONDITION diet calories subject to threshold (teqcereal)

$$\sum_{j} YCV * yi(j) + \sum_{j} YCV * ym(j) + \sum_{i} YCA * ant(i) + \sum_{m} YAL * acgta(m) + YLK * xolat \geq qcl$$

minpr : not if CONDITION protein quantity subject to threshold (teqcereal)

$$\sum_{j} YPV * yi(j) + \sum_{j} YPV * ym(j) + \sum_{i} YPA * ant(i) + \sum_{m} YPL * acgta(m) + YPK * xolat \geq qpl$$

minyc : not if CONDITION cereal Qty marketed subject to threshold (t)

$$\sum_{j} YMC * yi(j) \geq qnc$$

maxcn : not if CONDITION maximal threshold of mineral nitrogen (t)

$$\sum_{j,k} qen(j,k) \leq qxn$$

maxqg : not if CONDITION maximal GHG limit (tCO2eq)

$$\sum_{n} QES * emcdt(n) \leq qgr$$

### 4.2.4 CAP implementation

In great part, the AROPAj model originates from modeling tools aiming at CAP impact assessments. Mathematical programming supplies effective tools for this end when the implementation of new policy tools in economic models has to rely on non-time dependent data. Due to the wide
<table><caption>Table 7. CAP tool (5): a menu of grassland premiums related to LS load per hectare.</caption><caption>Some indexes are partly omitted.</caption><thead><tr><th></th><th>foh(n,)</th><th>fph(n,)</th><th>ugo(n,)</th><th>iph(n,)</th><th>x(71-2|x(81-2|ugh|efo(1,|efo(2,|ief(1,|ief(2,|ief(3,|-zf(k,1)|</th><th>RHS</th></tr></thead><tbody><tr><td>obj</td><td>prgpa-i</td><td></td><td></td><td></td><td></td><td>-1.</td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pfoui(k,1)</td><td></td><td></td><td></td><td>1.</td><td></td><td></td><td></td><td></td><td></td><td></td><td>= | 1.</td></tr><tr><td>pft(1,k,1)</td><td>1.</td><td></td><td></td><td></td><td>-1.</td><td>-1.</td><td></td><td></td><td></td><td></td><td>= |</td></tr><tr><td>pft(2,k,1)</td><td></td><td>1.</td><td></td><td></td><td></td><td>-1.</td><td></td><td></td><td></td><td></td><td>= |</td></tr><tr><td>pft(3,k,1)</td><td></td><td></td><td>1.</td><td></td><td></td><td>-1.</td><td></td><td></td><td></td><td></td><td>= |</td></tr><tr><td>pfx(1,k,1)</td><td></td><td></td><td></td><td>3.</td><td></td><td></td><td></td><td>1.</td><td>1.</td><td>1.</td><td>&lt; | 3.</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td>0 if n=1</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pfx(2-,k,1)</td><td></td><td>-chgpa</td><td>1.</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt; |</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt; |</td></tr><tr><td>nhpgp+1</td><td></td><td>-chgpa-</td><td>1.</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt; |</td></tr><tr><td>pfx(11-,k,1)</td><td>1.</td><td></td><td></td><td>-999.</td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt; |</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt; |</td></tr><tr><td>nhpgp+11</td><td></td><td>1.</td><td></td><td>-999.</td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt; |</td></tr><tr><td>pfx(21-,k,1)</td><td></td><td>1.</td><td></td><td>-999.</td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt; |</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt; |</td></tr><tr><td>nhpgp+21</td><td></td><td></td><td>1.</td><td>-999.</td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt; |</td></tr><tr><td>pfx(31-,k,1)</td><td></td><td></td><td>1.</td><td>-999.</td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt; |</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt; |</td></tr><tr><td>nhpgp+31</td><td></td><td></td><td></td><td>1.</td><td>-999.</td><td></td><td></td><td></td><td></td><td></td><td>&lt; |</td></tr><tr><td>pfx(41,k,1)</td><td>prgpa-i</td><td></td><td></td><td></td><td></td><td>-1.</td><td>1.</td><td></td><td></td><td></td><td>-faxou | &lt; |</td></tr><tr><td>pfx(42,k,1)</td><td></td><td></td><td></td><td>-saukl</td><td></td><td></td><td></td><td>-999.</td><td></td><td></td><td>timou | &lt; |</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td>0 if n=1</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pfx(43,k,1)</td><td></td><td></td><td>-1.</td><td></td><td></td><td></td><td></td><td>-999.</td><td></td><td></td><td>ugbou | &lt; |</td></tr><tr><td></td><td></td><td></td><td></td><td>0 if n=1</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pfx(44,k,1)</td><td></td><td>-1.</td><td></td><td></td><td></td><td></td><td></td><td>-999.</td><td>rafou* | &lt; |</td><td></td><td>saukl* |</td></tr><tr><td></td><td></td><td></td><td>0 if n=1</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr></tbody></table>
and complex range of CAP tools used throughout the decades (until the mid-2000's), the CAP block grew immensely.

We keep all previously implemented policy tools operational in *AROPAj*. In reference to real policies, we need to introduce series of binary variables acting as cap and threshold mechanisms. This makes the presentation of sub-matrices related to each CAP policy tool incorporated into the *AROPAj* model incredibly time- and space-consuming. Below, we present a selection of such sub-matrices, like the one presented above in Table 2.

<table><caption>**Table 3.** Policy tools implemented in the *AROPAj* model.</caption><thead><tr><th>policy (i): 2<sup>i</sup></th><th>tool description</th></tr></thead><tbody><tr><td>(1): 2</td><td>set-aside 1988</td></tr><tr><td>(2): 4</td><td>MacSharry vegetal (focused on compensated areas)</td></tr><tr><td>(3): 8</td><td>discriminating thresholds / herd size (part subsidized)</td></tr><tr><td>(4): 16</td><td>animal extensif. (herbiv/ herd subsidized if load &lt; threshold)</td></tr><tr><td>(5): 32</td><td>grass subsidy (areas subsidized if LS-load &lt; threshold)</td></tr><tr><td>(6): 64</td><td>young male bovine and suckler cow subsidy (see 2**13)</td></tr><tr><td>(7): 128</td><td>subsidy to male calves from milk herd</td></tr><tr><td>(8): 256</td><td>crop marketed production quota</td></tr><tr><td>(9): 512</td><td>financial quantum</td></tr><tr><td>(10): 1024</td><td>variation in relative prices and costs</td></tr><tr><td>(11): 2048</td><td>policy toward farm afforestation support</td></tr><tr><td>(12): 4096</td><td>regulation policy against greenhouse gas emissions</td></tr><tr><td>(13): 8192</td><td>Santer package / bovines (see 2**6 &rarr; 6 OR 13)</td></tr><tr><td>(14): 16384</td><td>Agenda 2000 / bovines (see 2**6 &rarr; 6 OR 14)</td></tr><tr><td>(15): 32768</td><td>milk quota market (!!! quota renting !!!)</td></tr><tr><td>(16): 65536</td><td>Decoupling Luxemburg 2003 (option 14 basement)</td></tr><tr><td>(17): 131072</td><td>Crop diversification subsidized</td></tr></tbody></table>

Most of the policy tools are activated through the parameter *itest(k)*. This is summarized in Table 3. The addition of the *i*-policy to a policy set for simulation means that the *itest(k)* has to be additionally increased by 2^i*. In relation to the comprehensive, detailed, and mathematical forms of the objective and constraints (Section 4.2), some differences may appear. This is the case when the objective is directly impacted by CAP subsidies, whereas the above subsidies impact support balances and therefore indirectly impact the objective function. This only a question of presentation, aiming at alleviating the formal description of CAP sub-matrices.

## Set-aside implemented by the 1988 CAP

This tools functions as a binomial tariff. When the part of arable land set aside exceeds the threshold designed by the CAP, land set-aside is proportionally subsidized. We extend the policy tool in the sense that the per hectare premium may be indexed per farm group.

This policy tool is activated when the *itest(k)* parameter increases by 2. The *LP* set-aside activity refers to *x(42,k,1)*. Added parameters are the premium (*pjk(42,k)*), which acts as a price multiplied by one quantity unit) and the threshold (*angel*). A variables cost may be used (*vjk(42,k)*).

The sub-matrix related to this policy involves 2 binary variables, one real variable and 3 constraints as described on Table 4.
are added to the AROPAj model.

The CAP-related sub-matrix is presented in Table 8.

<table><caption>**Table 8.** CAP tool (6): subsidizing young bovine males and suckler cows under certain conditions.</caption><caption>For simplification, we use the function: v1ref = uii(35)*qlait(k)/qtalk(k).<br>"xfour()" denotes the fodder area.<br>"zf()" denotes the farm number related to the farm group.</caption><thead><tr><th></th><th>qta(n,.)</th><th>qtb(n=,)</th><th>qtc(n=,)</th><th>qti(n=,)</th><th>qtx(n=,)</th><th>xfour</th><th>ani(21)</th><th>ani(23)</th><th>ani(36)</th><th>zf()</th><th>RHS</th></tr><tr><th></th><th>1 2 3 4</th><th>1</th><th>2 3 4</th><th>1</th><th>2 3 4</th><th>1 2 3 4</th><th>1 2 3 4</th><th></th><th></th><th></th><th></th><th></th></tr></thead><tbody><tr><td>obj</td><td></td><td>0 prgtj</td><td>0 prgtj+te</td><td>prgtn</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pjt(1,k,1)</td><td>-1.</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pjt(2,k,1)</td><td></td><td>-1.</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pjt(3,k,1)</td><td></td><td></td><td>-1.</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pjt(4,k,1)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pjt(5,k,1)</td><td></td><td></td><td></td><td></td><td>1.</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pjx(1-4,k,1)</td><td>1.</td><td></td><td></td><td></td><td>-999.</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pjx(1-4,k,1)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pjx(5-8,k,1)</td><td>1.</td><td></td><td></td><td></td><td>-999.</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pjx(5-8,k,1)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pjx(9-12,k,1)</td><td></td><td></td><td>1.</td><td></td><td>-999.</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pjx(9-12,k,1)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pjx(13-16,k,1)</td><td></td><td></td><td></td><td></td><td>-999.</td><td>1.</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pjx(13-16,k,1)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pjx(17,k,1)</td><td>0 1 0 0</td><td></td><td></td><td></td><td>-chgtj</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pjx(17,k,1)</td><td></td><td></td><td></td><td></td><td></td><td>n=2, ou 0</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pjx(18,k,1)</td><td>0 0 1 0</td><td></td><td></td><td></td><td>-chgtk</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pjx(18,k,1)</td><td></td><td></td><td></td><td></td><td></td><td>n=3, ou 0</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pjx(19,k,1)</td><td>0 0 0 1</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>amaj</td></tr><tr><td>pjx(20,k,1)</td><td></td><td>0 1 1 0</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>qtete</td></tr><tr><td>pjx(21,k,1)</td><td></td><td></td><td></td><td></td><td>0 qlait 0</td><td></td><td></td><td></td><td></td><td></td><td></td><td>qtola</td></tr></tbody></table>

## The 1992 set-aside policy

Compulsory set-aside schemes were a major introduction of the MacSharry CAP reform. We present here the stylization involving rotations and fixed set-aside. Farm afforestation and other perennial productions may be also priced through the parameter bjk(48,k) (the 48-index referring to fp among the list of land activities). This package completes the 2-CAP package presented above (see Table 5). We need to add set-aside ratio (cupq) and the LP activity xd(j,k,1) ($j=48$ accounting for fix set-aside).

The CAP-related sub-matrix is described in Table 9.

## Part of the Luxembourg decoupling scheme

After the 1992 MacSharry reform, which initiated a first attempt of decoupling (more precisely transferring support from the consumer to the taxpayer), the 2003 Luxembourg agreement com-
<table><caption>Table 4. CAP tool (1): set-aside, 1988.</caption><thead><tr><th></th><th>x(42,k,1)</th><th>xsgel(k,1)</th><th>igelg(k,1)</th><th>igelh(k,1)</th><th>x,xa-c(j^=,k,1)</th><th>RHS</th></tr></thead><tbody><tr><td>obj</td><td>-c(42,k)+pgl(k)</td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>gel(1,k,1)</td><td></td><td>1.</td><td>-99999.</td><td></td><td></td><td>&lt;=</td></tr><tr><td>gel(2,k,1)</td><td>angel - 1.</td><td>-1.</td><td></td><td></td><td>angel</td><td>&lt;=</td></tr><tr><td>gel(3,k,1)</td><td>1.</td><td></td><td>-99999.</td><td></td><td></td><td>&lt;=</td></tr><tr><td>gli(k,1)</td><td></td><td></td><td>1.</td><td>1.</td><td></td><td>=</td></tr></tbody></table>

## Crop part of the 1992 MacSharry reform

This CAP option stylizes the decoupling propositions related to crops, which were adopted in 1992. Added parameters are reference yields: (rcehm(k) for cereals except maize, rceja(k) for set-aside, rcemg(k) for maize), olea and cerea for other reference yields; thresholds in terms of cereal equivalent quantities (ton related to “small producer” threshold and tan related to non subsidized set-aside, that has finally not been implemented in the EU), set-aside thresholds (cupp, cvpp); and series of parameters referring to prices and quantity or area support (ajj(j), bjj(j), pgms, djj(j)).

The sub-matrix related to this set of policy tools implies the introduction of binary variables (ivegn(k), ivegp(k)) and real variables referring to subsidized crops (xa(j,k,1), xb(j,k,1), xc(j,k,1), for $j \le 72$; $j = 46$ refers to subsidized set-aside, $j = 47$ refers to non subsidized set-aside, $j = 72$ refers to fodder maize). Series of constraints (pve(m,k,1), pvi(k,1)) are built compactly as described in Table 5.

“Fixed” set-aside, in addition to “rotating” set-aside, are incorporated in the model by means of additional parameters and LP variables, which are not shown in this subsection.

## Livestock extensification

Subsidies are provided depending on the ratio of bovine livestock to hectare. We describe here a policy in which premium and super-premium are proposed to breeders. The system combines premium per i-animal head (bii(i)) and super-premium (spre) with LS threshold (amah) and LS loads per hectare (chgui, chgus). Added LP variables refer to bovine policy categories (a(m,i,k), ugh(m,k)) and binary variables (her(m,k,1)).

The CAP related sub-matrix is described on Table 6.

## Grassland premium

This policy tool was implemented when some stylization questions arose regarding the livestock extensification proposed by the CAP reform. In contradistinction from the previous “livestock extensification” option, nhpgp levels of LS per hectare loads are taken into account (chgpa, chgpb, ..., chgpi) in line with nhpgp subsidy levels (prgpa, prgpb, ..., prgpi), with nhpgp= 9. Thresholds accounting for areas and LS are also introduced (rafou, faxou, timou). We add nhpgp+1 series of binary (iph(m,k,1)) and real (foh(m,k,1), fph(m,k,1), ugo(m,k,1)) LP variables referring to the nhpgp levels of extensification. Other added variables refer to threshold
<table><caption>**Table 9.** CAP tool (11): adding fixed set-aside to the rotating set-aside.</caption><thead><tr><th></th><th>xa(j,k,1)</th><th>xb(j,k,1)</th><th>xc(j,k,1)</th><th>xd(j,k,1)</th><th>ivegn(k)</th><th>ivegp(k)</th><th>zf(k,1)</th><th>y(j,k,1)</th><th>RHS</th></tr></thead><tbody><tr><td>obj</td><td>-c(j,k)+comp(j,k)+bjj(j)</td><td>-c(j,k)</td><td>-c(j,k)+comp(j,k)</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pve(4,k,1)</td><td>1.</td><td></td><td></td><td></td><td>-400.</td><td></td><td></td><td></td><td>&lt;</td></tr><tr><td>pve(5,k,1)</td><td></td><td>1.</td><td>1.</td><td>1.</td><td>-400.</td><td></td><td></td><td></td><td>&lt;</td></tr><tr><td>pve(6,k,1)</td><td>rref(j,k)</td><td>rref(j,k)</td><td></td><td>rref(j,k)</td><td></td><td>-tan</td><td></td><td></td><td>&lt;</td></tr><tr><td>pve(8,k,1)</td><td>if scop=0: -cvpp if j#46</td><td>scop=0: -cvpp j#48</td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt;</td></tr><tr><td>pve(9,k,1)</td><td>if scop=0: else 1-cvpp</td><td>scop=0:scelse1-cvpp</td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt;</td></tr><tr><td>pve(9,k,1)</td><td>if scop&gt;0: 1 if j=46</td><td>scop&gt;0: 1 if j=48</td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt;</td></tr><tr><td>pvi(k,1)</td><td></td><td></td><td></td><td>cupq if j#48</td><td></td><td></td><td></td><td></td><td>&lt;</td></tr><tr><td>pvi(k,1)</td><td></td><td></td><td></td><td>else cupq-1</td><td></td><td></td><td></td><td></td><td>&lt;</td></tr></tbody></table>

pleted this transferral, leading to a more or less complete decoupling scheme characterized by a single farm (or single area unit) payments. We consider here that decoupling is complete when the entire CAP support is provided by a single payment (as denoted by the support parameter psuni). A degree of complexity is introduced when supports that differentiate crops and grasslands are chosen by MS. In addition, the implementation of the Luxembourg agreement in AROPAj requires some complex combination of the new and previous decoupling schemes when partial re-coupling was chosen by certain MS. This is not fully detailed here.

The CAP-related sub-matrix is described in Table 10.

## The sugar beet regime (before and after 2006)

The sugar beet support changed shortly after the Luxembourg agreement was implemented within the EU. Before this change, the sugar regime referred to "quotas", namely "A" with high price and low tax, "B" with high price (like "A") and high tax, "C" sold at the world price. In addition, a complex system of support was applied to this regime in the case of bio-ethanol use. Quotas "A", "B" and "C" respectively refer to $j=22$, $j=23$ and $j=24$. Common parameters for sugar beet refer to $j=21$. There exist some additional constraints for sugar beet production in the "C" quota scenarios as well as the potential energy regime, but they are not delineated here.

This regime was progressively abandoned and replaced by a substantial direct subsidy. In this case, the parameter tabkk(k) is of 0-value and quotas are suppressed (i.e. they are valuated at very high value, 99999). The sugar beet production refers to the x(21,k,1) area and to the y(22,k,1) production.

The CAP-related sub-matrix is described in Table 11.
<table><caption>Table 5. CAP tool (2): MacSharry reform, 1992, for crop compensation.</caption><thead><tr><th></th><th>x(j,k,1)</th><th>xa(j,k,1)</th><th>xb(j,k,1)</th><th>xc(j,k,1)</th><th>ivegn(k)</th><th>ivegp(k)</th><th>zf(k,1)</th><th>y(j,k,1)</th><th>RHS</th></tr></thead><tbody><tr><td>obj</td><td>-c(j,k)</td><td>-c(j,k)+comp(j,k)+bjj(j)</td><td>-c(j,k)</td><td>-c(j,k)</td><td>-c(j,k)</td><td>-c(j,k)</td><td>-c(j,k)</td><td>-c(j,k)</td><td>-c(j,k)</td></tr><tr><td>pve(1,k,1)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pve(2,k,1)</td><td></td><td>-cupp is j#46</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pve(3,k,1)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pve(4,k,1)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pve(5,k,1)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pve(6,k,1)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>tan</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pve(7,k,1)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pve(8,k,1)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pvi(k,1)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr></tbody></table>
<table><caption>**Table 10.** CAP tool (16): from the 2003 decoupling scheme referring to set-aside toward a unique SFP (psuni).</caption><caption>gfo(n,k,1): CAP balance per support category (for n&lt;=13, n^=2, n^=11)<br>j=49 refers to new set-aside area</caption><thead><tr><th></th><th>igdlg(k,1)</th><th>igdlh(k,1)</th><th>xpgdl(k,1)</th><th>xrgdl(k,1)</th><th>xsgdl(k,1)</th><th>x(j,k,1)</th><th>xfl(j,k,1)</th><th>zf(k,1)</th><th>legcdt(n)</th><th>RHS</th></tr></thead><tbody><tr><td>obj</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>1</td></tr><tr><td>fog(n)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>-1</td><td></td></tr><tr><td>n = ...</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>-1</td><td></td></tr><tr><td>n = 14</td><td></td><td></td><td></td><td>psngl+psrpa</td><td></td><td>psgel(k)</td><td></td><td></td><td>-1</td><td></td></tr><tr><td>n = 15</td><td></td><td></td><td></td><td>psngl+psrta</td><td></td><td></td><td></td><td></td><td>-1</td><td></td></tr><tr><td>n = 16</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>psuni</td><td>-1</td><td></td></tr><tr><td>n = ...</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>-1</td><td></td></tr><tr><td>gdl(1,k,1)</td><td>qgelu(k)*0.99</td><td></td><td></td><td></td><td></td><td>-1 if j=49</td><td>-1</td><td></td><td></td><td>&lt;</td></tr><tr><td>*popul(k,1)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>gdl(2,k,1)</td><td>-99999.</td><td></td><td></td><td></td><td>1</td><td></td><td></td><td></td><td></td><td>&lt;</td></tr><tr><td>gdl(3,k,1)</td><td>-99999.</td><td></td><td>1</td><td></td><td>1</td><td></td><td></td><td></td><td></td><td>&lt;</td></tr><tr><td>gdl(4,k,1)</td><td></td><td></td><td></td><td></td><td></td><td>1 if j=49</td><td>1</td><td>-qgelu(k)</td><td></td><td>&lt;</td></tr><tr><td>gdl(5,k,1)</td><td></td><td></td><td>1</td><td></td><td>1</td><td>1</td><td>1</td><td>-saukk(k)</td><td></td><td>&lt;</td></tr><tr><td>gdl(6,k,1)</td><td></td><td></td><td>1</td><td></td><td></td><td></td><td>-1</td><td></td><td></td><td>&lt;</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td>if j=81,82</td><td></td><td></td><td></td><td></td></tr><tr><td>gdu(k,1)</td><td>1</td><td></td><td>1</td><td></td><td></td><td></td><td></td><td></td><td></td><td>= 1</td></tr><tr><td>gfo(n,k,1)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>-qfo(n,k)</td><td>-1</td><td>&lt;</td></tr></tbody></table>

<caption>**Table 11.** CAP tool: the sugar support regime before 2007.</caption>

Quota may appear through area or quantity, depending of data delivered by the MS to the EU.
We use here the quantity parameter (qdfau(k)).

<table><thead><tr><th></th><th>x(j,k,1)</th><th>zf(k,1)</th><th>y(22,k,1)</th><th>y(23,k,1)</th><th>dctr</th><th>excr</th><th>RHS</th></tr></thead><tbody><tr><td>qve(22,k,1)</td><td></td><td>- qdfau(k)</td><td>1</td><td></td><td></td><td></td><td>&lt;</td></tr><tr><td>qbtb(k,1)</td><td></td><td></td><td>tabkk(k)</td><td>-1</td><td></td><td></td><td>=</td></tr><tr><td>regbt</td><td></td><td></td><td>-pjk(21,k,1)</td><td>-pjk(21,k,1)</td><td>1</td><td>-1</td><td>=</td></tr><tr><td></td><td></td><td></td><td>* tjk(22)</td><td>* tjk(23)</td><td></td><td></td><td></td></tr></tbody></table>
Greening of the CAP and crop diversification (introduced in 2013)

The *CAP* evolves to better include environmental aspects such as protection of biodiversity (so-called greening the *CAP*). This is supported through incentives in favor of crop diversification. Diversification in itself depends on the number of crops actually planted in the farm. It is subsidized when this number satisfies thresholds prescribed in terms of arable land and total utilized agricultural area. Typically, subsidy benefits (i) small farms (e.g. arable land of less than 10 ha), (ii) medium farms (arable land between 10 and 30 ha) with respect to at least two planted crops and the most planted under 75% of arable land, (iii) bigger farms with respect to four conditions: (a) at least three crops planted, (b) the most planted of them under 75% of arable land, (c) the sum of the two most planted crops under 95% of arable land, (d) as an exception to (b) and (c) when the most important crop is temporary meadow or fallow, knowing that the second crop in area is under 75% of the rest of arable land except if this crop is temporary meadow or fallow. At least, there is no condition in terms of arable land coverage in two cases: (1) the total area devoted to fallow, temporary meadow and legume is over 75% of arable land, (2) the total area devoted to grasslands (permanent and temporary meadow) and rice is greater than 75% of the utilized agricultural area.

We consider that maize, beet and protein fodders are part of agricultural area, and that each of them counts as an individual crop. A part of the policy designed under *CAP* greening is implemented in the model (except the percentage limits), as shown by Table 12.

It must be noticed that representative *AROPAj* farm groups possibly plant a number of crops lower or equal than the total number of crops planted by represented individual farms, which is a priori greater than any individual number. We can expect that implementation of CAP greening incentives may lead *AROPAj* to over estimate the subsidized area as well as the number of subsidized farms. Nevertheless, this phenomenon does not prevent the model to show land cover change when CAP greening is implemented.

This module was applied to the introduction of short-rotation coppice (e.g. willow) combined with crop diversification introduced (temporarily) as part of the 'greening' of the CAP (Ben Fradj et al. (2020)).

Other policy tools implemented in *AROPAj*

Among others, we introduced:

* "Agenda 2000", referring to the set of policies described above

* the "paquet Santer", referring to the set of policies described above

* "top-ups" (applied when East and Central European countries joined the *EU*)

* energy crops support when cropped on part of set-aside (not only sugar beet, shown above)

* many tax systems, on GHG emissions and/or N-losses, on (marketed) inputs (fertilizers), on products (for instance when accompanying the "A" and "B" sugar beet quotas)
<table><caption>Table 7. CAP tool (5): a menu of grassland premiums related to LS load per hectare.</caption><caption>Some indexes are partly omitted.</caption><thead><tr><th></th><th>foh(n,)</th><th>fph(n,)</th><th>ugo(n,)</th><th>iph(n,)</th><th>x(71-2|x(81-2|ugh|efo(1,|efo(2,|ief(1,|ief(2,|ief(3,|-zf(k,1)|</th><th>RHS</th></tr></thead><tbody><tr><td>obj</td><td>prgpa-i</td><td></td><td></td><td></td><td></td><td></td><td>-1.</td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pfoui(k,1)</td><td></td><td></td><td></td><td>1.</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>= | 1.</td></tr><tr><td>pft(1,k,1)</td><td>1.</td><td></td><td></td><td></td><td></td><td>-1.</td><td>-1.</td><td></td><td></td><td></td><td></td><td>= |</td></tr><tr><td>pft(2,k,1)</td><td></td><td>1.</td><td></td><td></td><td></td><td></td><td>-1.</td><td></td><td></td><td></td><td></td><td>= |</td></tr><tr><td>pft(3,k,1)</td><td></td><td></td><td>1.</td><td></td><td></td><td></td><td>-1.</td><td></td><td></td><td></td><td></td><td>= |</td></tr><tr><td>pfx(1,k,1)</td><td></td><td></td><td></td><td></td><td>3.</td><td></td><td></td><td></td><td>1.</td><td>1.</td><td>1.</td><td>&lt; | 3.</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td>0 if n=1</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pfx(2-,k,1)</td><td></td><td>-chgpa</td><td>1.</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt; |</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt; |</td></tr><tr><td>nhpgp+1</td><td></td><td>-chgpa</td><td></td><td>1.</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt; |</td></tr><tr><td>pfx(11-,k,1)</td><td>1.</td><td></td><td></td><td></td><td>-999.</td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt; |</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td>-999.</td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt; |</td></tr><tr><td>nhpgp+11</td><td></td><td>1.</td><td></td><td></td><td>-999.</td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt; |</td></tr><tr><td>pfx(21-,k,1)</td><td></td><td>1.</td><td></td><td></td><td>-999.</td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt; |</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td>-999.</td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt; |</td></tr><tr><td>nhpgp+21</td><td></td><td></td><td>1.</td><td></td><td>-999.</td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt; |</td></tr><tr><td>pfx(31-,k,1)</td><td></td><td></td><td>1.</td><td></td><td>-999.</td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt; |</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td>-999.</td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt; |</td></tr><tr><td>nhpgp+31</td><td></td><td></td><td></td><td>1.</td><td>-999.</td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt; |</td></tr><tr><td>pfx(41,k,1)</td><td>prgpa-i</td><td></td><td></td><td></td><td></td><td></td><td>-1.</td><td>1.</td><td></td><td></td><td>-faxou</td><td>&lt; |</td></tr><tr><td>pfx(42,k,1)</td><td></td><td></td><td></td><td></td><td>-saukl</td><td></td><td></td><td></td><td>-999.</td><td></td><td></td><td>timou</td><td>&lt; |</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td>0 if n=1</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pfx(43,k,1)</td><td></td><td></td><td>-1.</td><td></td><td></td><td></td><td></td><td></td><td>-999.</td><td></td><td></td><td>ugbou</td><td>&lt; |</td></tr><tr><td></td><td></td><td></td><td></td><td>0 if n=1</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pfx(44,k,1)</td><td></td><td>-1.</td><td></td><td></td><td></td><td></td><td></td><td></td><td>-999.</td><td>rafou*</td><td>&lt; |</td><td></td></tr><tr><td></td><td></td><td></td><td>0 if n=1</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>saukl*</td><td></td></tr></tbody></table>
<caption>Table 12. CAP greening initiated in 2013 (17).</caption>

Added variables:

xtk(j,k): total j-crop area in k-farm group

itk(j,k): binary variable which equals 1 when xtk(j,k) is strictly positive

nttjk(k): number of crops cultivated in the LP solution (of quasi-integer value but inserted as a real variable in the LP)

xarab(k): arable area to be affected to a size category

xdivb(k), xdivc(k), xdivd(k), xdive(k): eligible crop area according size and relaxing area, for diversification subsidizing
xdivb < sdmin; sdmin < xdivc < sdmax; xdivd > sdmax; xdiv(b-d) subsidized under condition; xdive: relaxing variable

idivb(k), idivc(k), idivd(k), idive(k): binary variable related to diversification limits

Added constraints:

eld(m,k): crop diversification block

ild(j,k,m): crop numbering block

Added parameters:

sdmax(k), sdmin(k): min or max area limits

sudiv(k): subsidy for crop diversification (k¢/ha)

ndivb, nidvc: numbers of crops requested according to the arable area size

thrss(k): min limit for crop area when accounting for diversification

* ELEMENT refers to the matrix element label utilized in the AROPAj code

<table><thead><tr><th></th><th>egcdt</th><th>xtk</th><th>xdivb</th><th>xdivc</th><th>xdivd</th><th>xdive</th><th>xarab</th><th>idivc</th><th>idivd</th><th>idivb</th><th>idive</th><th>itk(j,k)</th><th>nttjk</th><th>zf(k,l)</th><th>RHS</th></tr><tr><th></th><th>(19)</th><th>(j,k)</th><th>(k)</th><th>(k)</th><th>(k)</th><th>(k)</th><th>(k)</th><th>(k)</th><th>(k)</th><th>(k)</th><th>(k)</th><th>(k)</th><th>(k)</th><th>(k)</th><th></th></tr></thead><tbody><tr><td>obj</td><td>-1</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>fog(19)</td><td>1</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>=</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>ELEMENT*</td><td>CEL</td><td>CEB</td><td>CED</td><td>CEE</td><td>CEF</td><td>CEA</td><td>CIC</td><td>CID</td><td>CIB</td><td>CIF</td><td>TII</td><td>TIN</td><td>CEM</td><td>TIZ</td></tr><tr><td>eld(1,k)</td><td>-1</td><td></td><td></td><td></td><td></td><td></td><td>1</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt;</td></tr><tr><td></td><td>j elig</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>eld(2,k)</td><td></td><td></td><td>1</td><td>1</td><td>1</td><td>1</td><td>-1</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt;</td></tr><tr><td>eld(13,k)</td><td></td><td></td><td></td><td>1</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>-sdmin(k)</td><td>&lt;</td></tr><tr><td>eld(3,k)</td><td></td><td></td><td></td><td></td><td>1</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>-sdmax(k)</td><td>&lt;</td></tr><tr><td>eld(4,k)</td><td></td><td></td><td></td><td></td><td></td><td>-1</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>sdmin(k)</td><td>&lt;</td></tr><tr><td>eld(10,k)</td><td></td><td></td><td></td><td></td><td></td><td>-1</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>sdmax(k)</td><td>&lt;</td></tr><tr><td>eld(5,k)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt;</td></tr><tr><td>eld(6,k)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt;</td></tr><tr><td>eld(11,k)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt;</td></tr><tr><td>eld(12,k)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt;</td></tr><tr><td>eld(9,k)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt;</td></tr><tr><td>eld(7,k)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt;</td></tr><tr><td>eld(8,k)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>0.999999</td><td>-1</td></tr><tr><td>eld(14,k)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt;</td></tr><tr><td>eld(15,k)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt;</td></tr><tr><td>ELEMENT*</td><td>CIF</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>TIT</td><td></td></tr><tr><td>ild(j,k,1)</td><td>1</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>-99999</td><td>&lt;</td></tr><tr><td>ild(j,k,2)</td><td>-1</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>thrss(k)</td><td>&lt;</td></tr></tbody></table>
<table><caption>Table 8. CAP tool (6): subsidizing young bovine males and suckler cows under certain conditions.</caption><caption>For simplification, we use the function: vlref = uii(35)*qlait(k)/qtalk(k).<br>"xfour()" denotes the fodder area.<br>"zf()" denotes the farm number related to the farm group.</caption><thead><tr><th></th><th>qta(n,)</th><th>qtb(n=,)</th><th>qtc(n=,)</th><th>qti(n=,)</th><th>qtx(n=,)</th><th>xfour</th><th>ani(21)</th><th>ani(23)</th><th>ani(36)</th><th>zf()</th><th>RHS</th></tr><tr><th></th><th>1 2 3 4</th><th>1</th><th>2 3 4</th><th>1</th><th>2 3 4</th><th>1 2 3 4</th><th>1 2 3 4</th><th></th><th></th><th></th><th></th><th></th></tr></thead><tbody><tr><td>obj</td><td></td><td>0 prgtj</td><td>0 prgtj</td><td>0 prgtj+te</td><td>0 prgtj</td><td>0 prgtj</td><td>0 prgtj</td><td>0 prgtj</td><td>0 prgtj</td><td>0 prgtj</td><td>0 prgtj</td><td>0 prgtj</td></tr><tr><td>pjt(1,k,1)</td><td>-1.</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pjt(2,k,1)</td><td></td><td>-1.</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pjt(3,k,1)</td><td></td><td></td><td>-1.</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pjt(4,k,1)</td><td></td><td></td><td></td><td>-1.</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pjt(5,k,1)</td><td></td><td></td><td></td><td></td><td>1.</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pjx(1-4,k,1)</td><td>1.</td><td></td><td></td><td></td><td></td><td>-999.</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pjx(5-8,k,1)</td><td>1.</td><td></td><td></td><td></td><td></td><td></td><td>-999.</td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pjx(9-12,k,1)</td><td></td><td></td><td>1.</td><td></td><td></td><td></td><td></td><td>-999.</td><td></td><td></td><td></td><td></td></tr><tr><td>pjx(13-16,k,1)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>-999.</td><td></td><td></td><td></td></tr><tr><td>pjx(17,k,1)</td><td>0 1 0 0</td><td></td><td></td><td></td><td></td><td></td><td>-chgtj</td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pjx(18,k,1)</td><td>0 0 1 0</td><td></td><td></td><td></td><td></td><td></td><td></td><td>-chgtk</td><td></td><td></td><td></td><td></td></tr><tr><td>pjx(19,k,1)</td><td>0 0 0 1</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>amaj</td></tr><tr><td>pjx(20,k,1)</td><td></td><td>0 1 1 0</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>qtete</td></tr><tr><td>pjx(21,k,1)</td><td></td><td></td><td></td><td>0 qlait 0</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>qtola</td></tr></tbody></table>
### 4.2.5 Greenhouse gas emissions

#### Overview

Agricultural activities contribute directly to *GHG* emissions through five main processes (Penman et al., 2001): nitrous oxide (*N*₂*O*) emissions from agricultural soils; *N*₂*O* emissions from manure management; methane (*CH*₄) emissions from manure management; *CH*₄ emissions from enteric fermentation; *CH*₄ emissions from rice cultivation. *N*₂*O* emission from agricultural soils can be further disaggregated according to nitrogen inputs to soils: use of synthetic fertilisers, manure application, biological nitrogen fixation, and crop residues.

The *AROPAj* *GHG* accounting method is consistent with the approach recommended by the *IPCC* for the submission of national inventories to the *UNFCCC*. In this inventory-based approach, only emissions emitted within the agricultural sector are accounted for. For instance, emissions caused by the production of inputs and capital goods and the transport of food and feed products are not accounted for. This approach also ignores emissions related to the use of fossil fuel in agricultural production. The latter are indeed accounted for in the *IPCC* energy use category, and represent a relatively minor agricultural source compared to *CH*₄ or *N*₂*O* emissions. Furthermore, in accordance with international agreements on climate change, non-anthropogenic sources – e.g. *N*₂*O* background emissions by agricultural soils – are ignored.

In the model, each source of *GHG* emissions is linked to the relevant activity variables at the representative-farm level. The *GHG* budget is thus established at this resolution. This emissions accounting method closely resembles the method proposed by the *IPCC* guidelines (Penman et al., 2001), thereby facilitating comparison of emission inventories among countries. In general terms, the computation of *GHG* emissions relies on linear relationships between emissions and activity data through the use of emission factors. As listed in the table below, a total of 11 emission sources are computed within the model. Emissions of nitrous oxide are divided into eight subsources: direct agricultural soil emissions (4), indirect agricultural soil emissions (2), emissions from grazing animals (1) and manure management (1). Emissions of methane are disaggregated into three sub-sources: manure management, enteric fermentation, and rice cultivation. The first two sub-sources are further disaggregated into six animal categories (dairy cattle, non-dairy cattle, sheep, goats, swine, and poultry). This level of disaggregation facilitates comparisons with the *GHG* inventories as reported in the national communications to the *UNFCCC*.

Whenever available in the respective national communications to the *UNFCCC*, country-specific information is used. Otherwise, the *IPCC* default values are used. All emission factors are converted into carbon dioxide (*CO*₂) equivalent by using the respective Global Warming Potentials (*GWP*).

*N*₂*O* emissions from agricultural soils depend upon total nitrogen inputs. Depending on the version of the model, the per-hectare nitrogen application rate could fluctuate with input and output prices, or remain fixed for a given crop and a given representative farm. In the latter case, quantities of nitrogen applied to soils are driven by the optimal crop area mix. For each farm type *k*, per-hectare fertilizer expenditures for each crop are estimated from *FADN* data. For each crop and each country, two fertilizers are chosen among the commercial fertilizers listed in *FAOSTAT* and Eurostat databases. These databases cover the most commonly used fertilisers in each country. In addition, a mass ratio between the two fertiliser types is computed based on current standard
The CAP-related sub-matrix is described in Table 9.

<table><caption>**Table 9.** CAP tool (11): adding fixed set-aside to the rotating set-aside.</caption><caption>See also the CAP tool "2".<br>We used functions: comp(j,k) = rref(j,k)*ajj(j) if j cereals or protein crops<br>rref(j,k)*ajj(j)*olea/cerea if j oilseeds<br>rref(j,k)*pgms if j = 46 (subsidized set-aside)<br>rref(j,k) = rcehm(k) if j cereals,<br>rcemg(k) if maize,<br>rceja(k) if set-aside eligible to premium</caption><thead><tr><th></th><th>xa(j,k,l)</th><th>xb(j,k,l)</th><th>xc(j,k,l)</th><th>xd(j,k,l)</th><th>livegn(k)</th><th>livegp(k)</th><th>zf(k,l)</th><th>y(j,k,l)</th><th>RHS</th></tr></thead><tbody><tr><td>obj</td><td>-c(j,k)+comp(j,k)+bjj(j)</td><td>-c(j,k)</td><td>-c(j,k)+comp(j,k)</td><td></td><td></td><td></td><td></td><td>djj(j)</td><td></td></tr><tr><td></td><td></td><td></td><td>+bjk(j,k)</td><td></td><td></td><td></td><td></td><td>djj(j)</td><td></td></tr><tr><td>pve(4,k,l)</td><td>1.</td><td></td><td></td><td></td><td>-400.</td><td></td><td></td><td></td><td>&lt; | (cf mod. 2)</td></tr><tr><td>pve(5,k,l)</td><td></td><td>1.</td><td>1.</td><td>1.</td><td>-400.</td><td></td><td></td><td></td><td>&lt; | (cf mod. 2)</td></tr><tr><td>pve(6,k,l)</td><td>rref(j,k)</td><td>rref(j,k)</td><td></td><td>rref(j,k)</td><td></td><td></td><td>- tan</td><td></td><td>&lt; | (cf mod. 2)</td></tr><tr><td>pve(8,k,l)</td><td>if scop=0: -cvpp if j#46</td><td></td><td>scop=0: -cvpp j#48</td><td></td><td></td><td></td><td></td><td></td><td>&lt; | (cf mod. 2)</td></tr><tr><td></td><td>if scop=0: else 1-cvpp</td><td></td><td>scop=0:scelse1-cvpp</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td>scop&gt;0:</td><td></td><td></td><td></td></tr><tr><td></td><td>if scop&gt;0: 1 if j=46</td><td></td><td>scop&gt;0: 1 if j=48</td><td></td><td></td><td>-cvpp*scop</td><td></td><td></td><td></td></tr><tr><td>pve(9,k,l)</td><td></td><td></td><td></td><td>cupq if j#48</td><td></td><td></td><td></td><td></td><td>&lt; |</td></tr><tr><td></td><td></td><td></td><td></td><td>else cupq-1</td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>pvi(k,l)</td><td></td><td></td><td></td><td></td><td>1.</td><td>1.</td><td></td><td></td><td>= | 1.</td></tr></tbody></table>

## Part of the Luxembourg decoupling scheme

After the 1992 MacSharry reform, which initiated a first attempt of decoupling (more precisely transferring support from the consumer to the taxpayer), the 2003 Luxembourg agreement completed this transferral, leading to a more or less complete decoupling scheme characterized by a single farm (or single area unit) payments. We consider here that decoupling is complete when the entire CAP support is provided by a single payment (as denoted by the support parameter psuni). A degree of complexity is introduced when supports that differentiate crops and grasslands are chosen by MS. In addition, the implementation of the Luxembourg agreement in AROPAj requires some complex combination of the new and previous decoupling schemes when partial re-coupling was chosen by certain MS. This is not fully detailed here.

The CAP-related sub-matrix is described in Table 10.

## The sugar beet regime (before and after 2006)

The sugar beet support changed shortly after the Luxembourg agreement was implemented within the EU. Before this change, the sugar regime referred to "quotas", namely "A" with high price and low tax, "B" with high price (like "A") and high tax, "C" sold at the world price. In addition, a complex system of support was applied to this regime in the case of bio-ethanol use. Quotas "A", "B" and "C" respectively refer to $j = 22$, $j = 23$ and $j = 24$. Common parameters for sugar beet refer to $j = 21$. There exist some additional constraints for sugar beet production in the "C" quota scenarios as well as the potential energy regime, but they are not delineated here.

This regime was progressively abandoned and replaced by a substantial direct subsidy. In this case, the parameter tabkk(k) is of 0-value and quotas are suppressed (i.e. they are valuated at very
<table><caption>**Table 13.** Summary of GHG emission sources accounted for in the model.</caption><thead><tr><th>Emission sources</th><th>Activity variable</th><th>Comments</th></tr></thead><tbody><tr><td><strong>N<sub>2</sub>O agricultural soils</strong></td><td></td><td></td></tr><tr><td><em>Direct emissions</em></td><td></td><td></td></tr><tr><td>Use of synthetic fertilisers</td><td>Quantity of N synthetic fertilizer</td><td>Fixed or endogenous per ha<br>N application rate</td></tr><tr><td>Manure application</td><td>used on the farm<br>Total nitrogen excreted<br>by (housed) animals</td><td>Country- and animal-specific<br>N excretion rate</td></tr><tr><td>Crop residues</td><td>Crop output</td><td>Crop- and country-specific N content</td></tr><tr><td>Biological N fixation</td><td>N-fixing crop output</td><td>Crop- and country-specific N content</td></tr><tr><td>Animal production</td><td>Total N excreted by grazing animals</td><td>Country- and animal-specific<br>N excretion rate</td></tr><tr><td><em>Indirect emissions</em></td><td></td><td></td></tr><tr><td>Atmospheric deposition</td><td>Total N application</td><td>Sum of above N inputs</td></tr><tr><td>Leaching and run-off</td><td>Total N application</td><td>Sum of above N inputs</td></tr><tr><td><strong>CH<sub>4</sub> manure management</strong></td><td>Total N excreted by (housed) animals</td><td>Country- and animal-specific shares of<br>solid and liquid waste management systems</td></tr><tr><td><strong>CH<sub>4</sub> enteric fermentation</strong></td><td>Feed energy intake (cattle)<br>or animal numbers (other categories)</td><td>Based on energy content of animal feed<br>or<br>country- and animal-specific emission factors</td></tr><tr><td><strong>CH<sub>4</sub> rice area</strong></td><td>Rice area</td><td>Country-specific per ha emission factors</td></tr></tbody></table>

agricultural practices for each crop. The prices and nitrogen content of the two fertiliser types are taken from the FAOSTAT and Eurostat databases. They are weighted according to their content-to-mass ratios in order to derive a representative composite fertilizer, thereby allowing the computation of per-hectare nitrogen applied to each crop at each farm type. It is important to note that this approach relies on constant per-hectare nitrogen inputs for each crop and each farm type.

Emission factors, as well as volatilization and leaching parameters are taken from each member state's national communication to the UNFCCC. As for biological fixation and nitrogen in crop residues, the values of relevant parameters—such as nitrogen content, crop/residue ratio, and dry matter fraction—are also taken, when available, from the national communications or the IPCC defaults.

Methane emissions from both enteric fermentation and manure management depend on the energy content of feed intake for each animal category. In the simplest form of methane inventories, IPCC recommends to use average energy requirements for each animal category to derive methane emissions. In short, this implies a constant energy intake for any given animal category, and therefore constant emission factors on a per-head basis. In this case, animal numbers are the only driver of methane emissions. The chosen approach is more general and more flexible. In the model, animal feeding is endogenous. The total energy intake by each animal category can thus be derived from the optimal quantity and composition of feed. Emissions are therefore computed using the (animal-category dependent) share of total energy intake by animal category lost as methane. As a result, methane emissions are driven, not only by animal numbers, but also by the composition of animal feeding.

Manure can be either applied to crops, deposited directly on soils by grazing animals, or stored/treated using different management systems. The total production of manure-related nitrogen is computed as the product of nitrogen content of manure – defined for each animal category – and the corresponding animal numbers. Nitrogen excretion average rates for each animal category
<table><caption>**Table 10.** CAP tool (16): from the 2003 decoupling scheme referring to set-aside toward a unique SFP (psuni).</caption><caption>gfo(n,k,l): CAP balance per support category (for n&lt;=13, n^=2, n^=11)<br>j=49 refers to new set-aside area</caption><thead><tr><th></th><th>igdlg(k,1)</th><th>igdlh(k,1)</th><th>xpgdl(k,1)</th><th>xrgdl(k,1)</th><th>xsgdl(k,1)</th><th>x(j,k,1)</th><th>xfl(j,k,1)</th><th>zf(k,1)</th><th>egcdt(n)</th><th>RHS</th></tr></thead><tbody><tr><th>obj</th><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><th>fog(n)</th><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><th>n = ...</th><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>-1</td><td></td></tr><tr><th>n = 14</th><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>-1</td><td></td></tr><tr><th>n = 15</th><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>-1</td><td></td></tr><tr><th>n = 16</th><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>-1</td><td></td></tr><tr><th>n = ...</th><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>-1</td><td></td></tr><tr><th>gdl(1,k,1)</th><td>-qgelu(k)*0.99</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt;</td></tr><tr><th>*popul(k,1)</th><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><th>gdl(2,k,1)</th><td>-99999.</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt;</td></tr><tr><th>gdl(3,k,1)</th><td>-99999.</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt;</td></tr><tr><th>gdl(4,k,1)</th><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt;</td></tr><tr><th>gdl(5,k,1)</th><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt;</td></tr><tr><th>gdl(6,k,1)</th><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt;</td></tr><tr><th></th><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><th>gdu(k,1)</th><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>=</td></tr><tr><th>gfo(n,k,1)</th><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt;</td></tr></tbody></table>

high value, 99999). The sugar beet production refers to the x(21,k,1) area and to the y(22,k,1) production.

The CAP-related sub-matrix is described in Table 11.

<caption>**Table 11.** CAP tool: the sugar support regime before 2007.</caption>

Quota may appear through area or quantity, depending of data delivered by the MS to the EU.
We use here the quantity parameter (qdfau(k)).

<table><thead><tr><th></th><th>x(j,k,1)</th><th>zf(k,1)</th><th>y(22,k,1)</th><th>y(23,k,1)</th><th>dctr</th><th>excr</th><th>RHS</th></tr></thead><tbody><tr><th>qve(22,k,1)</th><td>- qdfau(k)</td><td>1</td><td></td><td></td><td></td><td></td><td>&lt;</td></tr><tr><th>qbtb(k,1)</th><td></td><td></td><td>tabkk(k)</td><td>-1</td><td></td><td></td><td>=</td></tr><tr><th>regbt</th><td></td><td></td><td>-pjk(21,k,1)|-pjk(21,k,1)</td><td>1</td><td>-1</td><td></td><td>=</td></tr><tr><th></th><td></td><td></td><td>* tjk(22)</td><td>* tjk(23)</td><td></td><td></td><td></td></tr></tbody></table>

## Greening of the CAP and crop diversification (introduced in 2013)

The CAP evolves to better include environmental aspects such as protection of biodiversity (so-called greening the CAP). This is supported through incentives in favor of crop diversification. Diversification in itself depends on the number of crops actually planted in the farm. It is substituted when this number satisfies thresholds prescribed in terms of arable area and total utilized agricultural area. Typically, subsidy benefits (i) small farms (e.g. arable land of less than 10 ha), (ii) medium farms (arable land between 10 and 30 ha) with respect to at least two planted crops and the most planted under 75% of arable land, (iii) bigger farms with respect to four conditions: (a) at least three crops planted, (b) the most planted of them under 75% of arable land, (c) the
are taken from the national communications or the *IPCC* defaults. Because of the lack of available
data at regional or farm-type level, the shares of manure applied to crops, deposited on grassland,
and handled under all management systems are also taken from the national communications,
which only provide information at the country level. The country average share is applied to each
farm type.

Examples of GHG emission assessment and abatement reduction costs are displayed in Section 12.2.

We use this emission calculation method as our default because it presents balanced estimates for CH₄ and N₂O. Another means of computation is incorporated into AROPAj for nitrogen to yield functions and for nitrogen input to N-loss functions, as used in the studies presented in Section 12.3.

We attempted the assessment of soil Carbon storage in the framework of the European INSEA project. This was based on estimates referring to average values per crop category (i.e. arable crops and grasslands) over the EU. The parameters value need to be updated and disaggregated in accordance with soil and climate conditions (this refers to the FBCAR constraint in the environment block, {E}, see section 4.2.2).

Detailed calculation based on the IPCC guidelines

As outlined in Section 3.2.5, we mainly refer to the so-called Tables 4 entitled “Sectoral Report for Agriculture” and sourced by national reports of GHG inventories and submitted to the UNFCCC (see the “Table 4” entry in Table 14).

The Average CH₄ Conversion Rate (Ym) refers to the fraction of gross energy in feed converted to methane. The data is expressed for each of the six animal categories considered (e.g. dairy cattle, non-dairy cattle, sheep, goats, swine and poultry).

The CH₄ producing potential (Bo) represents the maximum methane producing capacity for manure.

The fractions of manure handled under systems, include: Anaerobic lagoon (MSANAER), Liquid system (MSLIQUI), Solid storage (MSSOLID), Dry lot (MSDRYLO), Pasture range paddock (MSPASTU), Other (MSOTHER) and Daily spread (MSDAILYS). These systems are divided by climate type.

The indicator MSANADI is not taken into consideration. Therefore, it equals to 0 for all Member States.

Because the indicators MSOPENP and MSBURNF were not in the national inventories submitted, they have been replaced by MSOTHER and MSDAILYS respectively.

For the following systems, i.e.: Anaerobic lagoon, Liquid system, Solid storage, Dry lot, Pasture range paddock, Other and Daily spread, the study uses the sum of parameters for each category of animals. This sum equals to 1 for each Member State. In the case of Italy, Spain and Portugal, we have considered both climates (cool and temperate). Therefore, we have calculated the weighted mean. In the case of Malta, the study uses the values for Cyprus.

Initially, the Methane Conversion Factor (MCF) was calculated without taking into account the animal categories. However, we have decided to create a MCF parameter by taking into account the animal type. The same goes for the fractions of manure handled under different systems ; in particular, MCFOPENP and MCFBURNF were replaced by MCFOTHER and MCFDAILYS. In the case of Italy, Spain and Portugal, we use the weighted mean.
sum of the two most planted crops under 95% of arable land, (d) as an exception to (b) and (c) when the most important crop is temporary meadow or fallow, knowing that the second crop in area is under 75% of the rest of arable land except if this crop is temporary meadow or fallow. At least, there is no condition in terms of arable land coverage in two cases: (1) the total area devoted to fallow, temporary meadow and legume is over 75% of arable land, (2) the total area devoted to grasslands (permanent and temporary meadow) and rice is greater than 75% of the utilized agricultural area.

We consider that maize, beet and protein fodders are part of agricultural area, and that each of them counts as an individual crop. A part of the policy designed under CAP greening is implemented in the model (except the percentage limits), as shown by Table 12.

It must be noticed that representative *AROPAj* farm groups possibly plant a number of crops lower or equal than the total number of crops planted by represented individual farms, which is a priori greater than any individual number. We can expect that implementation of CAP greening incentives may lead *AROPAj* to over estimate the subsidized area as well as the number of subsidized farms. Nevertheless, this phenomenon does not prevent the model to show land cover change when CAP greening is implemented.

This module was applied to the introduction of short-rotation coppice (e.g. willow) combined with crop diversification introduced (temporarily) as part of the 'greening' of the CAP (Ben Fradj et al. (2020)).

**Other policy tools implemented in AROPAj**

Among others, we introduced:

* "Agenda 2000", referring to the set of policies described above

* the "paquet Santer", referring to the set of policies described above

* "top-ups" (applied when East and Central European countries joined the EU)

* energy crops support when cropped on part of set-aside (not only sugar beet, shown above)

* many tax systems, on GHG emissions and/or N-losses, on (marketed) inputs (fertilizers), on products (for instance when accompanying the "A" and "B" sugar beet quotas)

**4.2.5 Greenhouse gas emissions**

**Overview**

Agricultural activities contribute directly to *GHG* emissions through five main processes (Penman et al., 2001): nitrous oxide (*N₂O*) emissions from agricultural soils; *N₂O* emissions from manure management; methane (*CH₄*) emissions from manure management; *CH₄* emissions from enteric fermentation; *CH₄* emissions from rice cultivation. *N₂O* emission from agricultural soils can be further disaggregated according to nitrogen inputs to soils: use of synthetic fertilisers, manure application, biological nitrogen fixation, and crop residues.

The *AROPAj GHG* accounting method is consistent with the approach recommended by the *IPCC* for the submission of national inventories to the *UNFCCC*. In this inventory-based approach, only emissions emitted within the agricultural sector are accounted for. For instance, emissions caused by the production of inputs and capital goods and the transport of food and feed products
The Nitrogen excretion (NEX) is expressed in kg N/head/yr for each animal category.

<table><caption>**Table 14.** Relationships between the IPCC parameters and the UNFCCC inventories ("Table 4" refers to the UNFCCC report).</caption><thead><tr><th>IPCC Parameters</th><th>Source: National Reports of GHG Inventories (UNFCCC)</th></tr></thead><tbody><tr><td>Average CH<sub>4</sub> Conversion Rate (Ym)</td><td>Table 4.A (Enteric Fermentation)</td></tr><tr><td>CH<sub>4</sub> producing potential (Bo)</td><td>Table 4.B(a)s1 (CH<sub>4</sub> emissions from Manure Management)</td></tr><tr><td>Fractions of manure handled under systems: Anaerobic lagoon (MSANAER), Liquid system (MSLIQUI), Solid storage (MSSOLID), Dry lot (MSDRYLO), Pasture range paddock (MSPASTU), Other (MSOTHER), Daily spread (MSDAILY)</td><td>Table 4.B(a)s2 (CH<sub>4</sub> emissions from Manure Management)</td></tr><tr><td>Methane Conversion Factor (MCF)</td><td>Table 4.B(a)s2 (CH<sub>4</sub> emissions from Manure Management)</td></tr><tr><td>Nitrogen excretion (NEX)</td><td>Table 4.B(b) (N<sub>2</sub>O Emissions from Manure Management)</td></tr><tr><td>Emission factor per animal waste management system</td><td>Table 4.B(b) (N<sub>2</sub>O Emissions from Manure Management)</td></tr><tr><td>Emission factor for rice production (EFRIZ)</td><td>Table 4.C (Rice Cultivation)</td></tr><tr><td>Emission factor for Direct Soil Emissions, Pasture, Range and Paddock Manure, and Indirect Emissions</td><td>Table 4.Ds1 (Agricultural Soils)</td></tr><tr><td>Fraction crop burned, Fraction crop used for fuel, Fraction of synthetic fertilizer N applied to soils that volatilizes as NH<sub>3</sub> and NO<sub>x</sub>, Fraction of N from manure that volatilizes, Fraction used as product, Fraction of N input to soils that is lost through leaching and run-off</td><td>Table 4.Ds2 (Agricultural Soils)</td></tr><tr><td>Residue/Crop product ratio</td><td>Table 4.F (Field Burning of Agricultural Residues)</td></tr><tr><td>Dry Matter Fraction</td><td>Table 4.F (Field Burning of Agricultural Residues)</td></tr></tbody></table>

Other indicators included are: the emission factor per animal waste management system for anaerobic lagoon, liquid system, solid storage, dry lot and other; the emission factor for rice production and the emission factor for direct soil emissions; pasture, range and paddock manure; and indirect emissions.

The residue/crop product ratio, the dry matter fraction and the ash content are also included. The animal type highlights six animal categories used in the model (e.g. 1 – dairy cattle, 2 – non dairy cattle, 3 – sheep, 4 – goats, 5 – swine, 6 – poultry).

Relationships between the IPCC parameters and the UNFCCC inventories are summarized in Table 14.

## Computation of emissions in the various versions

Items related to the GHG computation block in the model are detailed below. Let us recall that a LP element is the result of crossing one activity (i.e. a primal variable) and one constraint (i.e. a dual variable).

The balance sheet refers to 21 emission lines, plus a carbon storage one. Constraints are labeled with EMS and activities with EMCDT.

```
+-----------+----------+-------------------------------------------------+--------+
| primal var. : dual var. : | GHG emission balance | : (unit) :                       |
+-----------+----------+-------------------------------------------------+--------+
| EMCDT(01)  | EMS(01)   | N20 - Agr soils - Direct em. synth fertilizers  | (tCO2)  |
| EMCDT(02)  | EMS(02)   | N20 - Agr soils - Direct em. manure application | (tCO2)  |
| EMCDT(03)  | EMS(03)   | N20 - Agr soils - Direct em. by N fixing crops   | (tCO2)  |
| EMCDT(04)  | EMS(04)   | N20 - Agr soils - Direct em. by crops residues   | (tCO2)  |
+-----------+----------+-------------------------------------------------+--------+
```
<caption>Table 12. CAP greening initiated in 2013 (17).</caption>

Added variables:

xtk(j,k): total j-crop area in k-farm group

itk(j,k): binary variable which equals 1 when xtk(j,k) is strictly positive

nttjk(k): number of crops cultivated in the LP solution (of quasi-integer value but inserted as a real variable in the LP)

xarab(k): arable area to be affected to a size category

xdivb(k), xdivc(k), xdivd(k), xdive(k): eligible crop area according size and relaxing area, for diversification subsidizing
xdivb < sdmin; sdmin < xdivc < sdmax; xdivd > sdmax; xdiv(b-d) subsidized under condition; xdive: relaxing variable

idivb(k), idivc(k), idivd(k), idive(k): binary variable related to diversification limits

Added constraints:

eld(m,k): crop diversification block

ild(j,k,m): crop numbering block

Added parameters:

sdmax(k), sdmin(k): min or max area limits

sudiv(k): subsidy for crop diversification (k¢/ha)

ndivb, nidvc: numbers of crops requested according to the arable area size

thrss(k): min limit for crop area when accounting for diversification

* ELEMENT refers to the matrix element label utilized in the AROPAj code

<table><thead><tr><th></th><th>egcdt</th><th>xtk</th><th>xdivb</th><th>xdivc</th><th>xdivd</th><th>xdive</th><th>xarab</th><th>idivc</th><th>idivd</th><th>idivb</th><th>idive</th><th>itk(j,k)</th><th>nttjk</th><th>zf(k,l)</th><th>RHS</th></tr><tr><th></th><th>(19)</th><th>(j,k)</th><th>(k)</th><th>(k)</th><th>(k)</th><th>(k)</th><th>(k)</th><th>(k)</th><th>(k)</th><th>(k)</th><th>(k)</th><th>(k)</th><th>(k)</th><th>(k)</th><th></th></tr></thead><tbody><tr><td>obj</td><td>-1</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>fog(19)</td><td>1</td><td></td><td>sudiv</td><td>sudiv</td><td>sudiv</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>=</td></tr><tr><td></td><td></td><td></td><td>(k)</td><td>(k)</td><td>(k)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>ELEMENT*</td><td>CEL</td><td>CEB</td><td>CED</td><td>CEE</td><td>CEF</td><td>CEA</td><td>CIC</td><td>CID</td><td>CIB</td><td>CIF</td><td>TII</td><td>TIN</td><td>CEM</td><td>TIZ</td></tr><tr><td>eld(1,k)</td><td>-1</td><td></td><td></td><td></td><td></td><td>1</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt;</td></tr><tr><td></td><td></td><td></td><td>j elig</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>eld(2,k)</td><td></td><td></td><td>1</td><td>1</td><td>1</td><td>1</td><td>-1</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt;</td></tr><tr><td>eld(13,k)</td><td></td><td></td><td>1</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>-sdmin(k)</td><td>&lt;</td></tr><tr><td>eld(3,k)</td><td></td><td></td><td></td><td>1</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>-sdmax(k)</td><td>&lt;</td></tr><tr><td>eld(4,k)</td><td></td><td></td><td></td><td>-1</td><td></td><td></td><td></td><td>-99999</td><td>-99999</td><td>-99999</td><td></td><td></td><td></td><td>sdmin(k)</td><td>&lt;</td></tr><tr><td>eld(10,k)</td><td></td><td></td><td></td><td></td><td>-1</td><td></td><td></td><td>-99999</td><td>-99999</td><td>-99999</td><td></td><td></td><td></td><td>sdmax(k)</td><td>&lt;</td></tr><tr><td>eld(5,k)</td><td></td><td></td><td></td><td>1</td><td></td><td></td><td></td><td>-99999</td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt;</td></tr><tr><td>eld(6,k)</td><td></td><td></td><td></td><td></td><td>1</td><td></td><td></td><td>-99999</td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt;</td></tr><tr><td>eld(11,k)</td><td></td><td></td><td>1</td><td></td><td></td><td></td><td></td><td>-99999</td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt;</td></tr><tr><td>eld(12,k)</td><td></td><td></td><td></td><td></td><td>1</td><td></td><td></td><td>-99999</td><td></td><td></td><td></td><td></td><td></td><td></td><td>&lt;</td></tr><tr><td>eld(9,k)</td><td></td><td></td><td></td><td></td><td></td><td></td><td>1</td><td>1</td><td>1</td><td>1</td><td></td><td></td><td></td><td></td><td>&lt;</td></tr><tr><td>eld(7,k)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>-1</td><td>1</td><td></td><td></td><td>&lt;</td></tr><tr><td>eld(8,k)</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>0.999999</td><td>-1</td><td></td><td></td><td>&lt;</td></tr><tr><td>eld(14,k)</td><td></td><td></td><td></td><td></td><td></td><td></td><td>ndivb</td><td></td><td></td><td></td><td></td><td>-1</td><td></td><td></td><td>&lt;</td></tr><tr><td>eld(15,k)</td><td></td><td></td><td></td><td></td><td></td><td></td><td>ndivc</td><td></td><td></td><td></td><td></td><td>-1</td><td></td><td></td><td>&lt;</td></tr><tr><td>ELEMENT*</td><td>CIF</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>TIT</td><td></td><td></td><td></td><td></td></tr><tr><td>ild(j,k,1)</td><td>1</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>-99999</td><td></td><td></td><td></td><td>&lt;</td></tr><tr><td>ild(j,k,2)</td><td>-1</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>thrss(k)</td><td></td><td></td><td></td><td>&lt;</td></tr></tbody></table>
<table><tr><td>EMCDT(05)</td><td>EMS(05)</td><td>N20 - Agr soils - Animal production (pasture,...)</td><td>(tCO2)</td></tr><tr><td>EMCDT(06)</td><td>EMS(06)</td><td>N20 - Agr soils - Indirect em. N atmosph. redepos</td><td>(tCO2)</td></tr><tr><td>EMCDT(07)</td><td>EMS(07)</td><td>N20 - Agr soils - Indirect em. N from leaching</td><td>(tCO2)</td></tr><tr><td>EMCDT(08)</td><td>EMS(08)</td><td>N20 - Manure management</td><td>(tCO2)</td></tr><tr><td>EMCDT(09)</td><td>EMS(09)</td><td>CH4 - Manure management (Dairy cattle)</td><td>(tCO2)</td></tr><tr><td>EMCDT(10)</td><td>EMS(10)</td><td>CH4 - Manure management (Non-dairy cattle)</td><td>(tCO2)</td></tr><tr><td>EMCDT(11)</td><td>EMS(11)</td><td>CH4 - Manure management (Sheep)</td><td>(tCO2)</td></tr><tr><td>EMCDT(12)</td><td>EMS(12)</td><td>CH4 - Manure management (Goats)</td><td>(tCO2)</td></tr><tr><td>EMCDT(13)</td><td>EMS(13)</td><td>CH4 - Manure management (Swine)</td><td>(tCO2)</td></tr><tr><td>EMCDT(14)</td><td>EMS(14)</td><td>CH4 - Manure management (Poultry)</td><td>(tCO2)</td></tr><tr><td>EMCDT(15)</td><td>EMS(15)</td><td>CH4 - Rice cultivation</td><td>(tCO2)</td></tr><tr><td>EMCDT(16)</td><td>EMS(16)</td><td>CH4 - Enteric fermentation (Dairy cattle)</td><td>(tCO2)</td></tr><tr><td>EMCDT(17)</td><td>EMS(17)</td><td>CH4 - Enteric fermentation (Non-dairy cattle)</td><td>(tCO2)</td></tr><tr><td>EMCDT(18)</td><td>EMS(18)</td><td>CH4 - Enteric fermentation (Sheep)</td><td>(tCO2)</td></tr><tr><td>EMCDT(19)</td><td>EMS(19)</td><td>CH4 - Enteric fermentation (Goats)</td><td>(tCO2)</td></tr><tr><td>EMCDT(20)</td><td>EMS(20)</td><td>CH4 - Enteric fermentation (Swine)</td><td>(tCO2)</td></tr><tr><td>EMCDT(21)</td><td>EMS(21)</td><td>CH4 - Enteric fermentation (Poultry)</td><td>(tCO2)</td></tr><tr><td>EMCDT(22)</td><td>EMS(22)</td><td>C - Stockage carbone sols</td><td>(tCO2)</td></tr></table>

The writing of the GHG emission balance equations possibly refers to all crop and animal activities, as shown below (see also above the meaning of listed activities):

<table><tr><td>SUM(N)</td><td>GES * EMCDT(N)</td></tr><tr><td>- SUM(I,K,L)</td><td>AFS * ANI(I,K,L)</td></tr><tr><td>- SUM(J,K)</td><td>CFS * XTK(J,K)</td></tr><tr><td>- SUM(N,I,K,L)</td><td>CSB * B(N,I,K,L)</td></tr><tr><td>- SUM(I,J,K,L)</td><td>CSC * C(I,J,K,L)</td></tr><tr><td>- SUM(I,J,K,L)</td><td>CSF * F(I,J,K,L)</td></tr><tr><td>- SUM(I,K,L)</td><td>CSG * AGT(I,K,L)</td></tr><tr><td>- SUM(J,K)</td><td>CDC * QEN(J,K)</td></tr><tr><td>- SUM(J,K)</td><td>CDD * QON(J,K)</td></tr><tr><td>- SUM(J,K,O)</td><td>CDP * PO(J,K,O)</td></tr><tr><td>.EQ. 0.0</td><td></td></tr></table>

The objective function (OBJ) may be impacted when GHG emissions are priced, as follows:

<table><tr><td>...</td></tr><tr><td>- SUM(N)</td><td>OES * EMCDT(N)</td></tr><tr><td>- SUM(N)</td><td>FEG * EXCDT(N)</td></tr><tr><td>...</td></tr></table>

Matrix elements may be either directly computed through parameter calls or through functions. Major parameters displayed below belong to the “environment category” described above (see section 4.2.1 on page 28). The functions used are displayed hereafter. Let us note that comment lines use “c” as 1st character of the line.

matrix “ELEMENTS”:

<table><tr><td>c:E: afs</td><td>: EMS(M) x ANI(I,K,L)</td></tr><tr><td>afs = afsy(m,i,k)</td><td></td></tr><tr><td>c:E: ges</td><td>: EMS(M) x EMCDT(N)</td></tr><tr><td>ges = gesy(m,n)</td><td></td></tr><tr><td>c:E: cfs</td><td>: EMS(M) x (X(J,K,L), XA-D(J,K,L))</td></tr><tr><td>cfs = cfsy(m,j,k)</td><td></td></tr><tr><td>c:E: csb</td><td>: EMS(16-21) x B(N,I,K,L)</td></tr><tr><td>csb = csby(m,n,i,j,k)</td><td></td></tr><tr><td>c:E: csc</td><td>: EMS(16-21) x C(I,J,K,L)</td></tr><tr><td>csc = cscy(m,n,i,j,k)</td><td></td></tr><tr><td>c:E: csf</td><td>: EMS(16-21) x F(I,J,K,L)</td></tr><tr><td>c:E: csg</td><td>: EMS(16-21) x B(N,I,K,L)</td></tr></table>
are not accounted for. This approach also ignores emissions related to the use of fossil fuel in agricultural production. The latter are indeed accounted for in the IPCC energy use category, and represent a relatively minor agricultural source compared to CH$_4$ or N$_2$O emissions. Furthermore, in accordance with international agreements on climate change, non-anthropogenic sources – e.g. N$_2$O background emissions by agricultural soils – are ignored.

In the model, each source of GHG emissions is linked to the relevant activity variables at the representative-farm level. The GHG budget is thus established at this resolution. This emissions accounting method closely resembles the method proposed by the IPCC guidelines (Penman et al., 2001), thereby facilitating comparison of emission inventories among countries. In general terms, the computation of GHG emissions relies on linear relationships between emissions and activity data through the use of emission factors. As listed in the table below, a total of 11 emission sources are computed within the model. Emissions of nitrous oxide are divided into eight subsources: direct agricultural soil emissions (4), indirect agricultural soil emissions (2), emissions from grazing animals (1) and manure management (1). Emissions of methane are disaggregated into three sub-sources: manure management, enteric fermentation, and rice cultivation. The first two sub-sources are further disaggregated into six animal categories (dairy cattle, non-dairy cattle, sheep, goats, swine, and poultry). This level of disaggregation facilitates comparisons with the GHG inventories as reported in the national communications to the UNFCCC.

<table><caption>**Table 13.** Summary of GHG emission sources accounted for in the model.</caption><thead><tr><th>Emission sources</th><th>Activity variable</th><th>Comments</th></tr></thead><tbody><tr><td><strong>N<sub>2</sub>O agricultural soils</strong></td><td></td><td></td></tr><tr><td><em>Direct emissions</em></td><td></td><td></td></tr><tr><td>Use of synthetic fertilisers</td><td>Quantity of N synthetic fertilizer</td><td>Fixed or endogenous per ha<br>N application rate</td></tr><tr><td>Manure application</td><td>used on the farm<br>Total nitrogen excreted<br>by (housed) animals</td><td>Country- and animal-specific<br>N excretion rate</td></tr><tr><td>Crop residues</td><td>Crop output</td><td>Crop- and country-specific N content</td></tr><tr><td>Biological N fixation</td><td>N-fixing crop output</td><td>Crop- and country-specific N content</td></tr><tr><td>Animal production</td><td>Total N excreted by grazing animals</td><td>Country- and animal-specific<br>N excretion rate</td></tr><tr><td><em>Indirect emissions</em></td><td></td><td></td></tr><tr><td>Atmospheric deposition</td><td>Total N application</td><td>Sum of above N inputs</td></tr><tr><td>Leaching and run-off</td><td>Total N application</td><td>Sum of above N inputs</td></tr><tr><td><strong>CH<sub>4</sub> manure management</strong></td><td>Total N excreted by (housed) animals</td><td>Country- and animal-specific shares of<br>solid and liquid waste management systems</td></tr><tr><td><strong>CH<sub>4</sub> enteric fermentation</strong></td><td>Feed energy intake (cattle)<br>or animal numbers (other categories)</td><td>Based on energy content of animal feed<br>or<br>country- and animal-specific emission<br>factors</td></tr><tr><td><strong>CH<sub>4</sub> rice area</strong></td><td>Rice area</td><td>Country-specific per ha emission factors</td></tr></tbody></table>

Whenever available in the respective national communications to the UNFCCC, country-specific information is used. Otherwise, the IPCC default values are used. All emission factors are converted into carbon dioxide (CO$_2$) equivalent by using the respective Global Warming Potentials (GWP).

N$_2$O emissions from agricultural soils depend upon total nitrogen inputs. Depending on the version of the model, the per-hectare nitrogen application rate could fluctuate with input and output prices, or remain fixed for a given crop and a given representative farm. In the latter case, quantities of nitrogen applied to soils are driven by the optimal crop area mix. For each farm type
csf = csfy(m,n,i,j,k)
c:E: csg : EMS(16-21) x AGT(I,K,L)
csg = csgy(m,n,i,k)
c:E: cdc : EMS(M) x QEN(J,K)
cdc = 0.
OIF (m.eq.1.and.zcc59(j,k).le.0.) cdc=zcc34*(1-zcc35)
OIF (m.eq.1.and.zcc59(j,k).gt.0.) cdc=zcc59(j,k)
OIF (m.eq.6) cdc=zcc08*zcc35
OIF (m.eq.7) cdc=zcc09*zcc10
OIF (m.eq.1) cdc=cdc*44./28.*prgn*(fnes(j,k)+fnesc(j,k))
c:E: cdd : EMS(M) x QON(J,K)
cdd = 0.
OIF (m.eq.6) cdd=zcc08*zcc35
OIF (m.eq.7) cdd=zcc09*zcc10
c:E: cdp : EMS(M) x PO(J,K,0)
cdp = 0.
OIF (m.eq.1.and.zcc59(j,k).le.0.) cdp=zcc34*(1-zcc35)
OIF (m.eq.1.and.zcc59(j,k).gt.0.) cdp=zcc59(j,k)
c deja pris en compte avec QON pour ems 6 et 7
OIF (m.eq.1) cdp=cdp*44./28.*prgn*fnedo(o,k)
...
c:E: oes : OBJ x EMCDT(N)
oes = prges
...
c:E: feg : (OBJ QUANT(K,L)) x EXCDT(N)
feg = 0.
OIF (n.eq.1) feg = 1.
OIF (n.eq.13.and.pexne.eq.0.) pexne = 0.000001
OIF (n.eq.13) feg = - pexne
OIF (n.eq.6) feg = 1.

functions used in GHG balance “elements”:

c:F: afsy() : afs (tC02/head/an)
function afsy(im,ii,ik)
afsy=0.

c Descr: N20 - Agr soils - Direct em. manure application

c Source: Equations 4.20 4.24 Good Practices
if (im.eq.2) then
    if (zcc52.eq.1.) then
        afsy = zcc01*(zcc02(ii)/1000.)*(1.-zcc03)*(1.-zcc04

s -zcc05)*prgn*44./28.
    if (ii.eq.55) afsy = afsy/1000.

endif

endif

if (im.eq.5) then
    if (zcc53.eq.1.) then
        afsy = zcc06*(zcc02(ii)/1000.)*zcc07(ii)*prgn*44./28.

if (ii.eq.55) afsy = afsy/1000.

endif

endif

c Descr: N20 - Agr soils - Indirect em. N atmosph. redepos (manure

C applicat)

c Source: Equations 4.20 4.21 4.31 4.32 Good Practices
if (im.eq.6) then
    if (zcc54.eq.1.) then
        afsy = zcc08*(zcc02(ii)/1000.)*zcc03*prgn*44./28.

if (ii.eq.55) afsy = afsy/1000.

endif

endif

c Descr: N20 - Agr soils - Indirect em. N from leaching (manure
$k$, per-hectare fertilizer expenditures for each crop are estimated from *FADN* data. For each crop and each country, two fertilizers are chosen among the commercial fertilizers listed in *FAOSTAT* and Eurostat databases. These databases cover the most commonly used fertilisers in each country. In addition, a mass ratio between the two fertiliser types is computed based on current standard agricultural practices for each crop. The prices and nitrogen content of the two fertiliser types are taken from the *FAOSTAT* and *Eurostat* databases. They are weighted according to their content-to-mass ratios in order to derive a representative composite fertilizer, thereby allowing the computation of per-hectare nitrogen applied to each crop at each farm type. It is important to note that this approach relies on constant per-hectare nitrogen inputs for each crop and each farm type.

Emission factors, as well as volatilization and leaching parameters are taken from each member state's national communication to the *UNFCCC*. As for biological fixation and nitrogen in crop residues, the values of relevant parameters—such as nitrogen content, crop/residue ratio, and dry matter fraction—are also taken, when available, from the national communications or the IPCC defaults.

Methane emissions from both enteric fermentation and manure management depend on the energy content of feed intake for each animal category. In the simplest form of methane inventories, *IPCC* recommends to use average energy requirements for each animal category to derive methane emissions. In short, this implies a constant energy intake for any given animal category, and therefore constant emission factors on a per-head basis. In this case, animal numbers are the only driver of methane emissions. The chosen approach is more general and more flexible. In the model, animal feeding is endogenous. The total energy intake by each animal category can thus be derived from the optimal quantity and composition of feed. Emissions are therefore computed using the (animal-category dependent) share of total energy intake by animal category lost as methane. As a result, methane emissions are driven, not only by animal numbers, but also by the composition of animal feeding.

Manure can be either applied to crops, deposited directly on soils by grazing animals, or stored/treated using different management systems. The total production of manure-related nitrogen is computed as the product of nitrogen content of manure – defined for each animal category – and the corresponding animal numbers. Nitrogen excretion average rates for each animal category are taken from the national communications or the *IPCC* defaults. Because of the lack of available data at regional or farm-type level, the shares of manure applied to crops, deposited on grassland, and handled under all management systems are also taken from the national communications, which only provide information at the country level. The country average share is applied to each farm type.

Examples of *GHG* emission assessment and abatement reduction costs are displayed in Section 12.2.

We use this emission calculation method as our default because it presents balanced estimates for *CH*₄ and *N*₂O. Another means of computation is incorporated into *AROPAj* for nitrogen to yield functions and for nitrogen input to N-loss functions, as used in the studies presented in Section 12.3.

We attempted the assessment of soil Carbon storage in the framework of the European *INSEA* project. This was based on estimates referring to average values per crop category (i.e. arable
C application)

c Source: Equations 4.20 4.21 4.35 4.36 Good Practices
if (im.eq.7) then
    if (zcc55.eq.1.) then
        afsy = zcc09*(zcc02(ii)/1000.)*(1-zcc04)*zcc10

s *prgn*44./28.

if (ii.eq.55) afsy = afsy/1000.

endif

endif

c Descr: N20 - Manure management

c Source: Equation 4.18 Good Practices
if (im.eq.8) then
    if (zcc56.eq.1.) then
        afsy = (zcc11*zcc18(ii)*(zcc02(ii)/1000.))

s +zcc12*zcc19(ii)*(zcc02(ii)/1000.)

s +zcc13*zcc20(ii)*(zcc02(ii)/1000.)

s +zcc14*zcc21(ii)*(zcc02(ii)/1000.)

s +zcc15*zcc22(ii)*(zcc02(ii)/1000.)

s +zcc16*zcc23(ii)*(zcc02(ii)/1000.)

s +zcc17*zcc24(ii)*(zcc02(ii)/1000.))*prgn*44./28.

endif

if (ii.eq.55) afsy = afsy/1000.

endif

c Descr: CH4 enteric fermentation (young animals)

c Source: Table A-2 p4.32 RM

c
    if (im.eq.17) then
        if (ii.le.14) then
            afsy = 0.033*prgch

endif

endif

return

end

c:F: cfsy() : cfs (tC02/ha)
function cfsy(im,ij,ik)
cfsy = 0.

c Descr: N20 - Agr soils - Direct em. synth fertilizers

c Source: equations 4.20 4.21 4.22 Good Practices IPCC
if (im.eq.1.and.zcc59(ij,ik).eq.0.) then
    cfsy=zcc34*(1-zcc35)*fazoty(ij,ik)*prgn*44./28.
endif
if (im.eq.1.and.zcc59(ij,ik).gt.0.) then
    cfsy=zcc59(ij,ik)*(1-zcc35)*fazoty(ij,ik)*prgn*44./28.

endif

if (im.eq.1.and.(endrg+mgesd).gt.0.) cfsy=0.

c Descr: N20 - Agr soils - Direct em. by N fixing crops

c Source: equations 4.20 4.26 4.27 Good practices IPCC
if (im.eq.3) then
    Selection des N-fixing crops
    if (fnxing(ij).eq.1.) then

c Tier 1a eq 4.25 Good Practice
    if (zcc47.eq.1.) then
        cfsy=zcc36*2.*zcc38(ij)*rdy(ij,ik)*prgn*44./28.
endif

c Tier 1b eq 4.25 Good Practice
    if (zcc47.eq.2.) then
        cfsy=zcc36*(1+zcc37(ij))*zcc39(ij)
    *zcc38(ij)*rdy(ij,ik)*prgn*44./28.

s

endif
crops and grasslands) over the EU. The parameters value need to be updated and disaggregated in
accordance with soil and climate conditions (this refers to the FBCAR constraint in the environment
block, {E}, see section 4.2.2).

**Detailed calculation based on the IPCC guidelines**

As outlined in Section 3.2.5, we mainly refer to the so-called Tables 4 entitled “Sectoral Report for Agriculture” and sourced by national reports of GHG inventories and submitted to the UNFCCC (see the “Table 4” entry in Table 14).

The Average CH₄ Conversion Rate (Ym) refers to the fraction of gross energy in feed converted to methane. The data is expressed for each of the six animal categories considered (e.g. dairy cattle, non-dairy cattle, sheep, goats, swine and poultry).

The CH₄ producing potential (Bo) represents the maximum methane producing capacity for manure.

The fractions of manure handled under systems, include: Anaerobic lagoon (MSANAER), Liquid system (MSLIQUI), Solid storage (MSSOLID), Dry lot (MSDRYLO), Pasture range paddock (MSPASTU), Other (MSOTHER) and Daily spread (MSDAILYS). These systems are divided by climate type.

The indicator MSANADI is not taken into consideration. Therefore, it equals to 0 for all Member States.

Because the indicators MSOPENP and MSBURNF were not in the national inventories submitted, they have been replaced by MSOTHER and MSDAILYS respectively.

For the following systems, i.e.: Anaerobic lagoon, Liquid system, Solid storage, Dry lot, Pasture range paddock, Other and Daily spread, the study uses the sum of parameters for each category of animals. This sum equals to 1 for each Member State. In the case of Italy, Spain and Portugal, we have considered both climates (cool and temperate). Therefore, we have calculated the weighted mean. In the case of Malta, the study uses the values for Cyprus.

Initially, the Methane Conversion Factor (MCF) was calculated without taking into account the animal categories. However, we have decided to create a MCF parameter by taking into account the animal type. The same goes for the fractions of manure handled under different systems ; in particular, MCFOPENP and MCFBURNF were replaced by MCFOTHER and MCFDAILYS. In the case of Italy, Spain and Portugal, we use the weighted mean.

The Nitrogen excretion (NEX) is expressed in kg N/head/yr for each animal category.

Other indicators included are: the emission factor per animal waste management system for anaerobic lagoon, liquid system, solid storage, dry lot and other; the emission factor for rice production and the emission factor for direct soil emissions; pasture, range and paddock manure; and indirect emissions.

The residue/crop product ratio, the dry matter fraction and the ash content are also included.
The animal type highlights six animal categories used in the model (e.g. 1 – dairy cattle, 2 – non
dairy cattle, 3 – sheep, 4 – goats, 5 – swine, 6 - poultry).

Relationships between the IPCC parameters and the UNFCCC inventories are summarized in Table 14.
end if
end if

c Descr: N20 - Agr soils - Direct em. by crops residues

c Source: equations 4.20 4.28 4.29 Good Practices IPCC
if (im.eq.4) then

c
Tier 1a eq 4.28 Good Practice
  if (zcc48.eq.1.) then
    cfsy=zcc40*2.*zcc38(ij)*(1-zcc45)*(1-zcc41)

s
*rdy(ij,ik)*prgn*44./28.
end if
if (zcc48.eq.2.) then

c
Tier 1b eq 4.29 Good Practice
  cfsy=zcc40*(1+zcc37(ij))*zcc39(ij)

s *zcc38(ij)*(1-zcc41-zcc42-zcc43

s -zcc44)*rdy(ij,ik)*prgn*44./28.
end if
end if

c Descr: N20 - Agr soils - Indirect em. N atmosph. redepos (synth fert)

c Source: equations 4.20 4.31 Good Practices IPCC
if (im.eq.6) then

cfsy=zcc08*zcc35*fazoty(ij,ik)*prgn*44./28.
end if

c Descr: N20 - Agr soils - Indirect em. N from leaching (synth fert)

c Source: equations 4.20 4.34 Good Practices IPCC
if (im.eq.7) then

cfsy=zcc09*zcc10*fazoty(ij,ik)*prgn*44./28.
end if
if (im.eq.7.and.(endrg+mgesd).gt.0.) cfsy=0.

c Descr: CH4 - Rice Production

c Source: equations 4.34 Good Practices IPCC

c
Comme: prch : kg CO2.(kg CH4)-1
if (im.eq.15) then

if (ij.eq.19) then
cfsy = zcc46*prgch/100.
end if
end if

c stockage carbone sols
  if (im.eq.22) then
    cfsy=-cesjk(ij,ik)*44./12.

end if
return
end

c:F: csby() : csb (tCO2/t_alim)
function csby(im,in,ii,ij,ik)
csby=0.

c Descr: CH4 - Manure management

c Source: Equations 4.15 4.16 4.17 Good Practices

c
Comme: 0.67 kg.(m)-3 entre en dur
if (zcc61(ii).eq.0.) zcc61(ii)=zcc26
if (zcc62(ii).eq.0.) zcc62(ii)=zcc27
if (zcc63(ii).eq.0.) zcc63(ii)=zcc28
if (zcc64(ii).eq.0.) zcc64(ii)=zcc29
if (zcc65(ii).eq.0.) zcc65(ii)=zcc30
if (zcc69(ii).eq.0.) zcc69(ii)=zcc31
if (zcc67(ii).eq.0.) zcc67(ii)=zcc32
if (zcc70(ii).eq.0.) zcc70(ii)=zcc33
if (im.ge.09.and.im.le.14) then
<table><caption>**Table 14.** Relationships between the *IPCC* parameters and the *UNFCCC* inventories ("Table 4" refers to the *UNFCCC* report).</caption><thead><tr><th>IPCC Parameters</th><th>Source: National Reports of GHG Inventories (UNFCCC)</th></tr></thead><tbody><tr><td>Average CH<sub>4</sub> Conversion Rate (Ym)</td><td>Table 4.A (Enteric Fermentation)</td></tr><tr><td>CH<sub>4</sub> producing potential (Bo)</td><td>Table 4.B(a)s1 (CH<sub>4</sub> emissions from Manure Management)</td></tr><tr><td>Fractions of manure handled under systems: Anaerobic lagoon (MSANAER), Liquid system (MSLIQUI), Solid storage (MSSOLID), Dry lot (MSDRYLO), Pasture range paddock (MSPASTU), Other (MSOTHER), Daily spread (MSDAILY)</td><td>Table 4.B(a)s2 (CH<sub>4</sub> emissions from Manure Management)</td></tr><tr><td>Methane Conversion Factor (MCF)</td><td>Table 4.B(a)s2 (CH<sub>4</sub> emissions from Manure Management)</td></tr><tr><td>Nitrogen excretion (NEX)</td><td>Table 4.B(b) (N<sub>2</sub>O Emissions from Manure Management)</td></tr><tr><td>Emission factor per animal waste management system</td><td>Table 4.B(b) (N<sub>2</sub>O Emissions from Manure Management)</td></tr><tr><td>Emission factor for rice production (EFRIZ)</td><td>Table 4.C (Rice Cultivation)</td></tr><tr><td>Emission factor for Direct Soil Emissions, Pasture, Range and Paddock Manure, and Indirect Emissions</td><td>Table 4.Ds1 (Agricultural Soils)</td></tr><tr><td>Fraction crop burned, Fraction crop used for fuel, Fraction of synthetic fertilizer N applied to soils that volatilizes as NH<sub>3</sub> and NO<sub>x</sub>, Fraction of N from manure that volatilizes, Fraction used as product, Fraction of N input to soils that is lost through leaching and run-off</td><td>Table 4.Ds2 (Agricultural Soils)</td></tr><tr><td>Residue/Crop product ratio</td><td>Table 4.F (Field Burning of Agricultural Residues)</td></tr><tr><td>Dry Matter Fraction</td><td>Table 4.F (Field Burning of Agricultural Residues)</td></tr></tbody></table>

## Computation of emissions in the various versions

Items related to the *GHG* computation block in the model are detailed below. Let us recall that a *LP* element is the result of crossing one activity (i.e. a primal variable) and one constraint (i.e. a dual variable).

The balance sheet refers to 21 emission lines, plus a carbon storage one. Constraints are labeled with *EMS* and activities with *EMCDT*.

<table><tbody><tr><td>primal var.</td><td>dual var.</td><td>GHG emission balance</td><td>(unit)</td></tr><tr><td>EMCDT(01)</td><td>N20 - Agr soils - Direct em. synth fertilizers</td><td>(tCO2)</td><td></td></tr><tr><td>EMCDT(02)</td><td>N20 - Agr soils - Direct em. manure application</td><td>(tCO2)</td><td></td></tr><tr><td>EMCDT(03)</td><td>N20 - Agr soils - Direct em. by N fixing crops</td><td>(tCO2)</td><td></td></tr><tr><td>EMCDT(04)</td><td>N20 - Agr soils - Direct em. by crops residues</td><td>(tCO2)</td><td></td></tr><tr><td>EMCDT(05)</td><td>N20 - Agr soils - Animal production (pasture,...)</td><td>(tCO2)</td><td></td></tr><tr><td>EMCDT(06)</td><td>N20 - Agr soils - Indirect em. N atmosph. redepos</td><td>(tCO2)</td><td></td></tr><tr><td>EMCDT(07)</td><td>N20 - Agr soils - Indirect em. N from leaching</td><td>(tCO2)</td><td></td></tr><tr><td>EMCDT(08)</td><td>N20 - Manure management</td><td>(tCO2)</td><td></td></tr><tr><td>EMCDT(09)</td><td>CH4 - Manure management (Dairy cattle)</td><td>(tCO2)</td><td></td></tr><tr><td>EMCDT(10)</td><td>CH4 - Manure management (Non-dairy cattle)</td><td>(tCO2)</td><td></td></tr><tr><td>EMCDT(11)</td><td>CH4 - Manure management (Sheep)</td><td>(tCO2)</td><td></td></tr><tr><td>EMCDT(12)</td><td>CH4 - Manure management (Goats)</td><td>(tCO2)</td><td></td></tr><tr><td>EMCDT(13)</td><td>CH4 - Manure management (Swine)</td><td>(tCO2)</td><td></td></tr><tr><td>EMCDT(14)</td><td>CH4 - Manure management (Poultry)</td><td>(tCO2)</td><td></td></tr><tr><td>EMCDT(15)</td><td>CH4 - Rice cultivation</td><td>(tCO2)</td><td></td></tr><tr><td>EMCDT(16)</td><td>CH4 - Enteric fermentation (Dairy cattle)</td><td>(tCO2)</td><td></td></tr><tr><td>EMCDT(17)</td><td>CH4 - Enteric fermentation (Non-dairy cattle)</td><td>(tCO2)</td><td></td></tr><tr><td>EMCDT(18)</td><td>CH4 - Enteric fermentation (Sheep)</td><td>(tCO2)</td><td></td></tr><tr><td>EMCDT(19)</td><td>CH4 - Enteric fermentation (Goats)</td><td>(tCO2)</td><td></td></tr><tr><td>EMCDT(20)</td><td>CH4 - Enteric fermentation (Swine)</td><td>(tCO2)</td><td></td></tr><tr><td>EMCDT(21)</td><td>CH4 - Enteric fermentation (Poultry)</td><td>(tCO2)</td><td></td></tr></tbody></table>
```c
if (im.eq.animalt(ii,8)) then
    csby = vsob(in,ii,ik)*zcc25(ii)

s    *(zcc61(ii)*zcc07(ii)
    +zcc62(ii)*zcc18(ii)
    +zcc63(ii)*zcc19(ii)
    +zcc64(ii)*zcc20(ii)
    +zcc65(ii)*zcc21(ii)
    +zcc69(ii)*zcc22(ii)
    +zcc67(ii)*zcc23(ii)
    +zcc70(ii)*zcc24(ii))*0.67*prgch
endif
endif
```

c Descr: CH4 - Enteric fermentation

c Source: Gilles Le Moguedec (zcc50=1.)

c Descr: CH4 - Enteric fermentation (zcc50=2.)

c Source: Equations 4.14 Good Practices

c Comme: 55.65 MJ/kg CH4 entre en dur
    if (im.ge.16.and.im.le.21) then
        if (im.eq.animalt(ii,15)) then
            if (zcc50.eq.1.) then
                csby = fmethane(1,in,ii,ij,ik)*prgch
            elif
                if (zcc50.eq.2.) then
                    csby = ((brac(in,ii,ik)*smac(in,ii,ik))
                             *(4.185/1000.)*zcc51(ii))*prgch/55.65
            elif
            elif
            return
        end
    end
end

c:F: cscy() : csc (t C02.(t alim-1))
    function cscy(im,in,ii,ij,ik)
    cscy=0.

c Descr: CH4 - Manure management

c Source: Equations 4.15 4.16 4.17 Good Practices

c Comme: 0.67 kg.(m)-3 entre en dur

c Descr: CH4 - Enteric fermentation (zcc50=2.)

c Source: Equations 4.14 Good Practices

c Comme: 55.65 MJ/kg CH4 entre en dur
    if (zcc61(ii).eq.0.) zcc61(ii)=zcc26
    if (zcc62(ii).eq.0.) zcc62(ii)=zcc27
    if (zcc63(ii).eq.0.) zcc63(ii)=zcc28
    if (zcc64(ii).eq.0.) zcc64(ii)=zcc29
    if (zcc65(ii).eq.0.) zcc65(ii)=zcc30
    if (zcc69(ii).eq.0.) zcc69(ii)=zcc31
    if (zcc67(ii).eq.0.) zcc67(ii)=zcc32
    if (zcc70(ii).eq.0.) zcc70(ii)=zcc33
    if (im.ge.09.and.im.le.14) then
        if (im.eq.animalt(ii,8)) then
            cscy = vsoc(ij,ii,ik)*zcc25(ii)
        s    *(zcc61(ii)*zcc07(ii)
        s    +zcc62(ii)*zcc18(ii)
        s    +zcc63(ii)*zcc19(ii)
        s    +zcc64(ii)*zcc20(ii)
        s    +zcc65(ii)*zcc21(ii)
        s    +zcc69(ii)*zcc22(ii)
        s    +zcc67(ii)*zcc23(ii)
        s    +zcc70(ii)*zcc24(ii))*0.67*prgch
    elif
    elif
    end
end
: EMCDT(22) : EMS(22) : C - Stockage carbone sols : (tCO2) :
+----------+----------+-------------------------------------------------+--------+

The writing of the GHG emission balance equations possibly refers to all crop and animal activities, as shown below (see also above the meaning of listed activities):

SUM(N)      GES * EMCDT(N)
- SUM(I,K,L) AFS * ANI(I,K,L)
- SUM(J,K)    CFS * XTK(J,K)
- SUM(N,I,K,L) CSB * B(N,I,K,L)
- SUM(I,J,K,L) CSC * C(I,J,K,L)
- SUM(I,J,K,L) CSF * F(I,J,K,L)
- SUM(I,K,L)   CSG * AGT(I,K,L)
- SUM(J,K)     CDC * QEN(J,K)
- SUM(J,K)     CDD * QON(J,K)
- SUM(J,K,O)   CDP * PO(J,K,O)
.EQ. 0.0

The objective function (OBJ) may be impacted when GHG emissions are priced, as follows:

... - SUM(N)      OES * EMCDT(N) - SUM(N)      FEG * EXCDT(N) ...

Matrix elements may be either directly computed through parameter calls or through functions. Major parameters displayed below belong to the "environment category" described above (see section 4.2.1 on page 30). The functions used are displayed hereafter. Let us note that comment lines use "c" as 1st character of the line.

matrix "ELEMENTS":

c:E: afs      : EMS(M) x ANI(I,K,L)
           afs = afsy(m,i,k)
c:E: ges      : EMS(M) x EMCDT(N)
           ges = gesy(m,n)
c:E: cfs      : EMS(M) x (X(J,K,L), XA-D(J,K,L))
           cfs = cfsy(m,j,k)
c:E: csb      : EMS(16-21) x B(N,I,K,L)
           csb = csby(m,n,i,j,k)
c:E: csc      : EMS(16-21) x C(I,J,K,L)
           csc = cscy(m,n,i,j,k)
c:E: csf      : EMS(16-21) x F(I,J,K,L)
           csf = csfy(m,n,i,j,k)
c:E: csg      : EMS(16-21) x AGT(I,K,L)
           csg = csgy(m,n,i,k)
c:E: cdc      : EMS(M) x QEN(J,K)
           cdc = 0.
0IF (m.eq.1.and.zcc59(j,k).le.0.) cdc=zcc34*(1-zcc35)
0IF (m.eq.1.and.zcc59(j,k).gt.0.) cdc=zcc59(j,k)
0IF (m.eq.6) cdc=zcc08*zcc35
0IF (m.eq.7) cdc=zcc09*zcc10
0IF (m.eq.1) cdc=cdc*44./28.*prgn*(fnes(j,k)+fnesc(j,k))
c:E: cdd      : EMS(M) x QON(J,K)
           cdd = 0.
0IF (m.eq.6) cdd=zcc08*zcc35
0IF (m.eq.7) cdd=zcc09*zcc10
c:E: cdp      : EMS(M) x PO(J,K,O)
           cdp = 0.
0IF (m.eq.1.and.zcc59(j,k).le.0.) cdp=zcc34*(1-zcc35)
c Descr: CH4 - Enteric fermentation

c Source: Gilles Le Moguedec
if (im.ge.16.and.im.le.21) then
  if (im.eq.animalt(ii,15)) then
    if (zcc50.eq.1.) then
      cscy = fmethane(2,1,ii,ij,ik)*prgch
    end if
    if (zcc50.eq.2.) then
      cscy = ((ebes(ij)*smj(ij,ik))
    s       *(4.185/1000.)*zcc51(ii))*prgch/55.65
  end if
  end if
  end if
return
end

c:F: csfy() : csf (t CO2.(t alim-1))
function csfy(im,in,ii,ij,ik)
csfy=0.

c Descr: CH4 - Manure management

c Source: Equations 4.15 4.16 4.17 Good Practices

c Comme: 0.67 kg.(m)-3 entre en dur
if (zcc61(ii).eq.0.) zcc61(ii)=zcc26
if (zcc62(ii).eq.0.) zcc62(ii)=zcc27
if (zcc63(ii).eq.0.) zcc63(ii)=zcc28
if (zcc64(ii).eq.0.) zcc64(ii)=zcc29
if (zcc65(ii).eq.0.) zcc65(ii)=zcc30
if (zcc69(ii).eq.0.) zcc69(ii)=zcc31
if (zcc67(ii).eq.0.) zcc67(ii)=zcc32
if (zcc70(ii).eq.0.) zcc70(ii)=zcc33
if (im.ge.09.and.im.le.14) then
  if (im.eq.animalt(ii,8)) then
    csfy = vsof(ij,ii,ik)*rdy(ij,ik)*zcc25(ii)
  s       *(zcc61(ii)*zcc07(ii)
  s       +zcc62(ii)*zcc18(ii)
  s       +zcc63(ii)*zcc19(ii)
  s       +zcc64(ii)*zcc20(ii)
  s       +zcc65(ii)*zcc21(ii)
  s       +zcc69(ii)*zcc22(ii)
  s       +zcc67(ii)*zcc23(ii)
  s       +zcc70(ii)*zcc24(ii))*0.67*prgch
  end if
  end if

c Descr: CH4 - Enteric fermentation

c Source: Gilles Le Moguedec

c Descr: CH4 - Enteric fermentation (zcc50=2.)

c Source: Equations 4.14 Good Practices

c Comme: 55.65 MJ/kg CH4 entre en dur
if (im.ge.16.and.im.le.21) then
  if (im.eq.animalt(ii,15)) then
    if (zcc50.eq.1.) then
      csfy = fmethane(2,1,ii,ij,ik)*rdy(ij,ik)*prgch
    end if
    if (zcc50.eq.2.) then
      csfy = ((ebes(ij)*smj(ij,ik)*rdy(ij,ik))
    s       *(4.185/1000.)*zcc51(ii))*prgch/55.65
  end if
  end if
  end if
  return
end
0IF (m.eq.1.and.zcc59(j,k).gt.0.) cdp=zcc59(j,k)
c deja pris en compte avec QON pour ems 6 et 7
0IF (m.eq.1) cdp=cdp*44./28.*prgn*fnedo(o,k)

...
c:E: oes : OBJ x EMCDT(N)
oes = prges

...
c:E: feg : (OBJ QUANT(K,L)) x EXCDT(N)
feg = 0.
0IF (n.eq.1) feg = 1.
0IF (n.eq.13.and.pexne.eq.0.) pexne = 0.000001
0IF (n.eq.13) feg = - pexne
0IF (n.eq.6) feg = 1.

functions used in GHG balance “elements”:

c:F: afsy() : afs (tC02/head/an)
function afsy(im,ii,ik)
afsy=0.

c Descr: N20 - Agr soils - Direct em. manure application

c Source: Equations 4.20 4.24 Good Practices
if (im.eq.2) then
  if (zcc52.eq.1.) then
    afsy = zcc01*(zcc02(ii)/1000.)*(1.-zcc03)*(1.-zcc04
    -zcc05)*prgn*44./28.
  if (ii.eq.55) afsy = afsy/1000.
endif
endif
if (im.eq.5) then
  if (zcc53.eq.1.) then
    afsy = zcc06*(zcc02(ii)/1000.)*zcc07(ii)*prgn*44./28.
    if (ii.eq.55) afsy = afsy/1000.
endif
endif

c Descr: N20 - Agr soils - Indirect em. N atmosph. redepos (manure

C applicat)

c Source: Equations 4.20 4.21 4.31 4.32 Good Practices
if (im.eq.6) then
  if (zcc54.eq.1.) then
    afsy = zcc08*(zcc02(ii)/1000.)*zcc03*prgn*44./28.
    if (ii.eq.55) afsy = afsy/1000.
endif
endif

c Descr: N20 - Agr soils - Indirect em. N from leaching (manure

C application)

c Source: Equations 4.20 4.21 4.35 4.36 Good Practices
if (im.eq.7) then
  if (zcc55.eq.1.) then
    afsy = zcc09*(zcc02(ii)/1000.)*(1-zcc04)*zcc10
    *prgn*44./28.
  if (ii.eq.55) afsy = afsy/1000.
endif
endif

c Descr: N20 - Manure management

c Source: Equation 4.18 Good Practices
if (im.eq.8) then
  if (zcc56.eq.1.) then
    afsy = (zcc11*zcc18(ii)*(zcc02(ii)/1000.))
    +zcc12*zcc19(ii)*(zcc02(ii)/1000.)
    +zcc13*zcc20(ii)*(zcc02(ii)/1000.)
s +zcc14*zcc21(ii)*(zcc02(ii)/1000.)
s +zcc15*zcc22(ii)*(zcc02(ii)/1000.)
s +zcc16*zcc23(ii)*(zcc02(ii)/1000.)
s +zcc17*zcc24(ii)*(zcc02(ii)/1000.))*prgn*44./28.

endif
    if (ii.eq.55) afsy = afsy/1000.
endif

c Descr: CH4 enteric fermentation (young animals)

c Source: Table A-2 p4.32 RM

c
    if (im.eq.17) then
        if (ii.le.14) then
            afsy = 0.033*prgch
        else
            endif
    elif
    return
end

c:F: cfsy() : cfs (tC02/ha)
function cfsy(im,ij,ik)
cfsy = 0.

c Descr: N20 - Agr soils - Direct em. synth fertilizers

c Source: equations 4.20 4.21 4.22 Good Practices IPCC
    if (im.eq.1.and.zcc59(ij,ik).eq.0.) then
        cfsy=zcc34*(1-zcc35)*fazoty(ij,ik)*prgn*44./28.
    elif
        if (im.eq.1.and.zcc59(ij,ik).gt.0.) then
            cfsy=zcc59(ij,ik)*(1-zcc35)*fazoty(ij,ik)*prgn*44./28.
    elif
        if (im.eq.1.and.(endrg+mgesd).gt.0.) cfsy=0.

c Descr: N20 - Agr soils - Direct em. by N fixing crops

c Source: equations 4.20 4.26 4.27 Good practices IPCC
    if (im.eq.3) then

c Selection des N-fixing crops
    if (fnxing(ij).eq.1.) then

c
    Tier 1a eq 4.25 Good Practice
        if (zcc47.eq.1.) then
            cfsy=zcc36*2.*zcc38(ij)*rdy(ij,ik)*prgn*44./28.
        else
            endif

c
    Tier 1b eq 4.25 Good Practice
        if (zcc47.eq.2.) then
            cfsy=zcc36*(1+zcc37(ij))*zcc39(ij)
        else
            endif
    elif
        if (zcc48.eq.2.) then
            endif

c Descr: N20 - Agr soils - Direct em. by crops residues

c Source: equations 4.20 4.28 4.29 Good Practices IPCC
    if (im.eq.4) then

c
    Tier 1a eq 4.28 Good Practice
        if (zcc48.eq.1.) then
            cfsy=zcc40*2.*zcc38(ij)*(1-zcc45)*(1-zcc41)
        else
            endif
    s
        *rdy(ij,ik)*prgn*44./28.

c
    Tier 1b eq 4.29 Good Practice
        cfsy=zcc40*(1+zcc37(ij))*zcc39(ij)
    s
        *zcc38(ij)*(1-zcc41-zcc42-zcc43)
    s
        -zcc44)*rdy(ij,ik)*prgn*44./28.

c
    Tier 1b eq 4.29 Good Practice
        cfsy=zcc40*(1+zcc37(ij))*zcc39(ij)
    s
        *zcc38(ij)*(1-zcc41-zcc42-zcc43)
    s
        -zcc44)*rdy(ij,ik)*prgn*44./28.
    endif
zcc15 : 0.00100000 :: zcc34 : 0.01250000 :: zcc55 : 1.00000000
zcc16 : 0.00100000 :: zcc35 : 0.10000000 :: zcc56 : 1.00000000

### 4.2.6 Nitrogen

#### Implementation of the *N* block and call to *N* to yield functions

The nitrogen block operates when the related flag parameter is activated (`endrg=1., 0.` by default). The part referring to manure is included when the related flag parameter is activated (`mgesd=1., 0.` by default). All parameters, activities and constraints relating the *N* block are listed above (see Sections 4.2.1 and 4.2.2).

When this block is not activated, nitrogen comes only through fertilizer costs. When the block is activated, the basic elements refer to the nitrogen requirement of crops and to the nitrogen content of mineral and organic fertilizers. By default, parameters refer to mineral fertilizer prices and nitrogen content ratio of fertilizers. When manure accounts for nitrogen intakes and impacts the nitrogen balance for plants, manure-to-animal relations are parametrized.

In the case of crops for which farm-dependent nitrogen to yield functions are available, the market price ratio supplies the value of required nitrogen and its corresponding yield. These values optimize the plot gross margin and the farm gross margin when a part of crop and a part of fertilizer are marketed. In the case of on-farm use and non-market goods, shadow prices have to replace market prices (see Section 4.3 for discussion and quoted papers for demonstration).

Parameters related to these dose response functions are provided by external data (*lisscal.don* file called by *intern.f*). Organic nitrogen accounts for fertilizing with values expressed in mineral nitrogen equivalence and delivered by additional data (included in the parameter file, *mgg.par*). Optimal yields and nitrogen inputs in generic equivalent terms are calculated for any crop and farm group occurring in the *lisscal.don*. This is calculated through a subroutine called by the *FORTRAN* *intern.f* file.

Urban organic residues may be added in the process, as explained in section 9.2.1. Related parameters and primal and dual variables are integrated in the description of the block. When no iterative *AROPAj* runs are realized, with the aim of assessing the “long term” impact of regular spreading of organic matter, manure and *UOR* as well are viewed as “short term” substitution sources of mineral fertilizer. Two categories of urban wastes are now referenced in the model: green waste compost (*GWC*) and urban sewage sludge (*USS*).

#### The comprehensive *MP* block

The bio-technical and economical parts detailed here refer to *N*, *E* and *P* blocks, which were described in Section 4.2 on page 25.

The technical side accounts for:

* the nitrogen balance required by each crop

* the organic nitrogen source related to livestock (per animal category)

* the organic nitrogen balance per *UOR* source

* the nitrogen balance referring to all organic sources (manure and *UOR*), in terms of equivalent mineral nitrogen

* the balance of organic nitrogen spread per crop
endif

c Descr: N2O - Agr soils - Indirect em. N atmosph. redepos (synth fert)

c Source: equations 4.20 4.31 Good Practices IPCC
if (im.eq.6) then
cfsy=zcc08*zcc35*fazoty(ij,ik)*prgn*44./28.
endif

c Descr: N2O - Agr soils - Indirect em. N from leaching (synth fert)

c Source: equations 4.20 4.34 Good Practices IPCC
if (im.eq.7) then
cfsy=zcc09*zcc10*fazoty(ij,ik)*prgn*44./28.
endif
if (im.eq.7.and.(endrg+mgesd).gt.0.) cfsy=0.

c Descr: CH4 - Rice Production

c Source: equations 4.34 Good Practices IPCC

c Comme: prch : kg CO2.(kg CH4)-1
if (im.eq.15) then
  if (ij.eq.19) then
    cfsy = zcc46*prgch/100.
 endif
endif

c stockage carbone sols
  if (im.eq.22) then
cfsy=-cesjk(ij,ik)*44./12.
endif
return
end

c:F: csby() : csb (tCO2/t_alim)
function csby(im,in,ii,ij,ik)
csby=0.

c Descr: CH4 - Manure management

c Source: Equations 4.15 4.16 4.17 Good Practices

c Comme: 0.67 kg.(m)-3 entre en dur
  if (zcc61(ii).eq.0.) zcc61(ii)=zcc26
  if (zcc62(ii).eq.0.) zcc62(ii)=zcc27
  if (zcc63(ii).eq.0.) zcc63(ii)=zcc28
  if (zcc64(ii).eq.0.) zcc64(ii)=zcc29
  if (zcc65(ii).eq.0.) zcc65(ii)=zcc30
  if (zcc69(ii).eq.0.) zcc69(ii)=zcc31
  if (zcc67(ii).eq.0.) zcc67(ii)=zcc32
  if (zcc70(ii).eq.0.) zcc70(ii)=zcc33
  if (im.ge.09.and.im.le.14) then
    if (im.eq.animalt(ii,8)) then
      csby = vsob(in,ii,ik)*zcc25(ii)
    s *(zcc61(ii)*zcc07(ii)
    s +zcc62(ii)*zcc18(ii)
    s +zcc63(ii)*zcc19(ii)
    s +zcc64(ii)*zcc20(ii)
    s +zcc65(ii)*zcc21(ii)
    s +zcc69(ii)*zcc22(ii)
    s +zcc67(ii)*zcc23(ii)
    s +zcc70(ii)*zcc24(ii))*0.67*prgch
  elif
 endif

c Descr: CH4 - Enteric fermentation

c Source: Gilles Le Moguedec (zcc50=1.)

c Descr: CH4 - Enteric fermentation (zcc50=2.)

c Source: Equations 4.14 Good Practices
* the N pollutant balance per pollutant category (see section 4.2.6 on page 77)

* the average organic spreading computation aiming at implementing the long term impact of organic matter spreading

The economic side accounts for:

* organic spreading limit per unit of crop area

* implementation of various other environmental policies (regarding GHG and N pollutants)

It must be stated that several LP activities referring to nitrogen are defined at the farm level, while the yields and nitrogen inputs mentioned above refer to calculation per unit of area. This type of procedure allows us to maintain a basic linear structure for the model.

The primal and dual activities involved in the nitrogen block are listed below:

<table><thead><tr><th></th><th>primal</th><th>dual</th><th>nitrogen block description</th><th>(unit)</th></tr></thead><tbody><tr><td>: po(j,k,o)</td><td>:</td><td>:</td><td>UOR quantity of type o used by crop j</td><td>(t/ha)</td></tr><tr><td>: qen(j,k)</td><td>:</td><td>:</td><td>quantity of regular fertilizer used on j-crop area</td><td>(t/ha)</td></tr><tr><td>: q(i,j,k,o)</td><td>:</td><td>:</td><td>quantity of manure type o / i-herd sourced</td><td>(t m3)</td></tr><tr><td>: qon(j,k)</td><td>:</td><td>:</td><td>useful N from manure & UOR spread on area j</td><td>(tN/ha)</td></tr><tr><td>: qonlt(k)</td><td>:</td><td>:</td><td>org. N average quantity brought on long term per</td><td>(tN/ha)</td></tr><tr><td>: xo(o,i,k)</td><td>:</td><td>:</td><td>exceeding unused organic N type o i-anim. sourced</td><td>(tN)</td></tr><tr><td>: xtk(j,k)</td><td>:</td><td>:</td><td>aggregated j-crop area</td><td>(ha)</td></tr><tr><td>: ani(i,k)</td><td>:</td><td>:</td><td>animal number referring to category i</td><td>(heads)</td></tr><tr><td>: epcdt(n)</td><td>:</td><td>:</td><td>balance N-pollutant emission (3 cat.: N20 NO3 NH3)</td><td>(tN)</td></tr><tr><td>:</td><td>apnlt(k)</td><td>:</td><td>calculation of average per ha organic spreading</td><td>(tN)</td></tr><tr><td>:</td><td>ba(j,k)</td><td>:</td><td>N requirement to reach given yield</td><td>(tN)</td></tr><tr><td>:</td><td>cnvol</td><td>:</td><td>sum of mineral fertilizer inputs</td><td>(tfert)</td></tr><tr><td>:</td><td>cnorg</td><td>:</td><td>sum of organic N intakes in terms of equiv. min. N</td><td>(tN)</td></tr><tr><td>:</td><td>ei(o,i,k)</td><td>:</td><td>o-type manure provided by i-herd</td><td>(tRM)</td></tr><tr><td>:</td><td>epro(o)</td><td>:</td><td>use of UOR disposal</td><td>(tN)</td></tr><tr><td>:</td><td>eqj(j,k)</td><td>:</td><td>balance spreading - source of available N</td><td>(tN)</td></tr><tr><td>:</td><td>epn(m)</td><td>:</td><td>balances of N pollut. emis. originated by crops</td><td>(N)</td></tr></tbody></table>

Nitrogen mineral fertilizers impact the objective function through the qen(j,k), and there is the possibility for UOR pricing (negative in case of subsidizing). In addition, environmental policy tools can easily be introduced, such as taxes either referring to inputs (or outputs) or to N-losses (epcdt(n)).

The sub-matrix is displayed on Table 15.

## Calculation of nitrogen pollutant emissions

There is no default evaluation of nitrogen losses in the AROPAj model. I must be noted that N₂O emission can also be estimated within the GHG emission block, so as long as the estimates are IPCC sourced. Related LP variables are activities (epcdt) and constraints (epn). Emissions refer to crop areas when no N-to-yield function applies; otherwise they refer to spread N inputs (qen(j,k), q(i,j,k,o), po(j,k,o)).

When nitrogen-to-yield functions are available and the complete nitrogen block is activated in the model, it is possible to assess N-losses in three forms, namely nitrous oxide (N₂O), ammonia (NH₃) and nitrate (NO₃). Such assessment capacity is due to the use of the STICS crop model
c
Comme: 55.65 MJ/kg CH4 entre en dur
if (im.ge.16.and.im.le.21) then
  if (im.eq.animalt(ii,15)) then
    if (zcc50.eq.1.) then
      csb y = fmethane(1,in,ii,ij,ik)*prgch
    end if
    if (zcc50.eq.2.) then
      csb y = ((brac(in,ii,ik)*smac(in,ii,ik))
                 *(4.185/1000.)*zcc51(ii))*prgch/55.65
    end if
  end if
end if
return
end

c:F: cscy() : csc (t CO2.(t alim-1))
function cscy(im,in,ii,ij,ik)
cscy=0.

c Descr: CH4 - Manure management

c Source: Equations 4.15 4.16 4.17 Good Practices

c Comme: 0.67 kg.(m)-3 entre en dur

c Descr: CH4 - Enteric fermentation (zcc50=2.)

c Source: Equations 4.14 Good Practices

c
Comme: 55.65 MJ/kg CH4 entre en dur
if (zcc61(ii).eq.0.) zcc61(ii)=zcc26
if (zcc62(ii).eq.0.) zcc62(ii)=zcc27
if (zcc63(ii).eq.0.) zcc63(ii)=zcc28
if (zcc64(ii).eq.0.) zcc64(ii)=zcc29
if (zcc65(ii).eq.0.) zcc65(ii)=zcc30
if (zcc69(ii).eq.0.) zcc69(ii)=zcc31
if (zcc67(ii).eq.0.) zcc67(ii)=zcc32
if (zcc70(ii).eq.0.) zcc70(ii)=zcc33
if (im.ge.09.and.im.le.14) then
  if (im.eq.animalt(ii,8)) then
    cscy = vsoc(ij,ii,ik)*zcc25(ii)
  s     *(zcc61(ii)*zcc07(ii)
  s     +zcc62(ii)*zcc18(ii)
  s     +zcc63(ii)*zcc19(ii)
  s     +zcc64(ii)*zcc20(ii)
  s     +zcc65(ii)*zcc21(ii)
  s     +zcc69(ii)*zcc22(ii)
  s     +zcc67(ii)*zcc23(ii)
  s     +zcc70(ii)*zcc24(ii))*0.67*prgch
end if
end if

c Descr: CH4 - Enteric fermentation

c
Source: Gilles Le Moguedec
if (im.ge.16.and.im.le.21) then
  if (im.eq.animalt(ii,15)) then
    if (zcc50.eq.1.) then
      cscy = fmethane(2,1,ii,ij,ik)*prgch
    end if
    if (zcc50.eq.2.) then
      cscy = ((ebes(ij)*smj(ij,ik))
                 *(4.185/1000.)*zcc51(ii))*prgch/55.65
    end if
  end if
end if
return
end

c:F: csfy() : csf (t CO2.(t alim-1))
<table><caption>**Table 15.** Sub-matrix referring to technical parameters and *LP* variables operating for nitrogen.</caption><caption>The term "yexjk(j,k)" is the optimal amount of mineral N equivalent per hectare in case of N-to-yield function<br>We use the functions: qjmy(o,i,j,k) = fned(o,i,k)*coo(o,i,j,k)*(1-volat(o,k))<br>qjoy(o,j,k) = fnedo(o,k)*cpro(o,j,k)*(1-volat(o,k))</caption><thead><tr><th></th><th>q(i,j,k,0)</th><th>qonlt(k)</th><th>qon(j,k)</th><th>qen(j,k)</th><th>xtk(j,k)</th><th>ani(i,k,1)</th><th>po(j,k,o)</th><th>xo(o,i,k)</th><th>zf(k,1)</th><th>RHS</th></tr></thead><tbody><tr><td>obj</td><td></td><td></td><td></td><td>if(mgesd+endrg&gt;1)</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td>-prxnc(nj,nk)</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td>* (1+tegkk(k))</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td>-fnesc(nj,nk)</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td>*pgsn</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td>else gjk(j,k)</td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>ei(o,i,k)</td><td>1</td><td></td><td></td><td></td><td></td><td>-</td><td></td><td>1</td><td></td><td>&lt; | 0</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td>qidej(o,i,k)</td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td>*epd(o,i,k)</td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td>*flf(o,i,k)</td><td></td><td></td><td></td><td></td></tr><tr><td>eqj(j,k)</td><td>-</td><td></td><td>1</td><td></td><td></td><td></td><td>-</td><td></td><td></td><td>&lt; | 0</td></tr><tr><td>qjmy(o,i,j,k)</td><td></td><td></td><td></td><td></td><td></td><td></td><td>qjoy(o,j,k)</td><td></td><td></td><td></td></tr><tr><td>epro(o)</td><td>fned(o,i,k)</td><td></td><td></td><td></td><td></td><td></td><td></td><td>1</td><td></td><td>- | &lt; | 0</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>proo(o,k)</td></tr><tr><td>ba(j,k)</td><td></td><td></td><td>-1</td><td>-fnesc(j,k)</td><td>benjk(j,k)</td><td></td><td></td><td></td><td></td><td>&lt; | 0</td></tr><tr><td></td><td></td><td></td><td></td><td></td><td>*rjk(j,k)</td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td>-aqolt(k)</td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td>or</td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td>yexjk(j,k)</td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td>-qengf(j,k)</td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td>*fnesc(j,k)</td><td></td><td></td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td><td>-aqolt(k)</td><td></td><td></td><td></td><td></td><td></td></tr><tr><td>epa(j,k)</td><td>qjmy(o,i,j,k)</td><td>1</td><td></td><td></td><td>-yxdej(j,k)</td><td></td><td>qjoy(o,j,k)</td><td></td><td></td><td>&lt; | 0</td></tr><tr><td>apnlt(k)</td><td>-apolt(o,k)</td><td>saukl(k,1)</td><td></td><td></td><td></td><td>-apolt(o,k)</td><td></td><td></td><td></td><td>&lt; | 0</td></tr><tr><td></td><td>or 0 if o&gt;10</td><td>*popul(k,1)</td><td></td><td></td><td></td><td>or 0 if o&lt;10</td><td></td><td></td><td></td><td></td></tr><tr><td>ems()</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr></tbody></table>
function csfy(im,in,ii,ij,ik)
csfy=0.

c Descr: CH4 - Manure management

c Source: Equations 4.15 4.16 4.17 Good Practices

c Comme: 0.67 kg.(m)-3 entre en dur
if (zcc61(ii).eq.0.) zcc61(ii)=zcc26
if (zcc62(ii).eq.0.) zcc62(ii)=zcc27
if (zcc63(ii).eq.0.) zcc63(ii)=zcc28
if (zcc64(ii).eq.0.) zcc64(ii)=zcc29
if (zcc65(ii).eq.0.) zcc65(ii)=zcc30
if (zcc69(ii).eq.0.) zcc69(ii)=zcc31
if (zcc67(ii).eq.0.) zcc67(ii)=zcc32
if (zcc70(ii).eq.0.) zcc70(ii)=zcc33
if (im.ge.09.and.im.le.14) then
  if (im.eq.animalt(ii,8)) then
    csfy = vsof(ij,ii,ik)*rdy(ij,ik)*zcc25(ii)

s *(zcc61(ii)*zcc07(ii))

s +zcc62(ii)*zcc18(ii)

s +zcc63(ii)*zcc19(ii)

s +zcc64(ii)*zcc20(ii)

s +zcc65(ii)*zcc21(ii)

s +zcc69(ii)*zcc22(ii)

s +zcc67(ii)*zcc23(ii)

s +zcc70(ii)*zcc24(ii))*0.67*prgch

endif

endif

c Descr: CH4 - Enteric fermentation

c Source: Gilles Le Moguedec

c Descr: CH4 - Enteric fermentation (zcc50=2.)

c Source: Equations 4.14 Good Practices

c Comme: 55.65 MJ/kg CH4 entre en dur
if (im.ge.16.and.im.le.21) then
  if (im.eq.animalt(ii,15)) then
    if (zcc50.eq.1.) then
      csfy = fmethane(2,1,ii,ij,ik)*rdy(ij,ik)*prgch

endif

if (zcc50.eq.2.) then
  csfy = ((ebes(ij)*smj(ij,ik)*rdy(ij,ik))

s *(4.185/1000.)*zcc51(ii))*prgch/55.65
endif

endif

endif

return

end

c:F: csgy() : csg (t CO2.(t alim-1))
function csgy(im,in,ii,ik)
csgy=0.

c Descr: CH4 - Manure management

c Source: Equations 4.15 4.16 4.17 Good Practices

c Comme: 0.67 kg.(m)-3 entre en dur
if (zcc61(ii).eq.0.) zcc61(ii)=zcc26
if (zcc62(ii).eq.0.) zcc62(ii)=zcc27
if (zcc63(ii).eq.0.) zcc63(ii)=zcc28
if (zcc64(ii).eq.0.) zcc64(ii)=zcc29
if (zcc65(ii).eq.0.) zcc65(ii)=zcc30
if (zcc69(ii).eq.0.) zcc69(ii)=zcc31
if (zcc67(ii).eq.0.) zcc67(ii)=zcc32
if (zcc70(ii).eq.0.) zcc70(ii)=zcc33
if (im.ge.09.and.im.le.14) then
  if (im.eq.animalt(ii,8)) then
simulations and regression calculation (see Section 9.1.2). All that is needed to make a nitrogen-to-
loss function operational is the ability to give the function through *AROPAj* parameters, knowing
that the function may take any analytical form or point form.

The linear form is based on usual linear regression estimates when *N* crop intake is within the usual range of values ([50,400] kgN/ha). When the related nitrogen to yield function is estimated with the *STICS* model, six additional parameters for each crop and each farm group are needed. There is still no default emission function for the subset of farm groups and crops not referring to *N*-to-yield functions. But *EU* agricultural regions are well covered by these functions in terms of area as well as production (see Section 12.6). This is particularly true in regions intersecting the Seine river basin (see Section 12.3).

4.2.7 Water

The water block is operating in the model since 2017. Basically it runs like the nitrogen block when related to input quantities and crop yields.

Water-activities, in the sense of *AROPAj*, refer to irrigation. When the climatic dimension matters, natural resources (rainfalls) are taken into consideration through parameters of yield functions.

**4.3 Non linearities within the LP framework**

Key-points:

Non linearities within the *AROPAj* approach

Advantage of keeping the *LP* framework

Operational proxy solution

Going further with loop computation

First, non linearities, *scrigto sensu*, come from the use of integer (and usually binary) variables.
This is mainly in the case of *CAP* tool implementation, when threshold conditions enter the policy.
The solving process is carried out by solvers proposed by the software (e.g. *MIP* modules used by
*GAMS*).

The major case to which we refer here is the substitution of *AROPAj* parameters by the so-
called dose-response functions. This case occurs when a nitrogen-to-yield point is replaced by a
nitrogen-to-yield function. When this function is linear, the *MP* farm group model is quadratic
instead of linear. The problem is better solved when the function is monotonously increasing and
quasi-concave (see Section 9.1.1, and Figure 5 which illustrates effects of replacing constant yields
by response functions).

This ensures that there is a unique solution that depends primarily on the nitrogen and crop
price ratio. Some refinements are required when the farm group's optimal solution is made of
non-marketed crop output (or of non-marketed nitrogen input). In other words, this occurs when
the entire crop product feeds the livestock or when livestock manure is sufficient to supply the crop
with the nitrogen required. In this case, market prices have to be replaced by relevant shadow
prices which are themselves a part of the optimal solution.