User Tools

Site Tools


disaggregation_of_crop_areas

This is an old revision of the document!


Disaggregation of crop Areas

Files:

%curdir%/capdis/disyield.gms 
%curdir%/capdis/disyield_sets.gms 
%curdir%/capdis/m_hpdCropSpat.gms 
%datdir%/capdishsu/pesetagrid_fractionfsu.gdx 
%datdir%/capdishsu/irriShare2000fsu.gdx 

The principle of the distribution of crop areas is based on few constraints only: full exhaustion of available ares for each spatial unit, vertical consistency, and primacy of land stability.

Vertical consistency means that the sum of each land use type over all spatial units recovers available land use at the higher spatial level. As available information are not (necessarily) geo-referenced, the allocation of a given statistical information to a spatial unit is associated with uncertainty. For example, a farmer with the residence in region A can have land also in regions B and C, but will declare them together, and they will be allocated to her residence (region A). Accordingly, there is some blurring in particular at boundaries and this is accounted for in the methodology: also at the high disaggregation level, the land uses are principally to be interpreted as ‘Land owned by a farmer with residence in this spatial unit’.

Primacy of land stability means that if there is no indication (i. e. new observation, policy restricting previous land distributions, …) it is more likely that the spatial pattern remains similar to the previous (prior) pattern. Therefore, once a likely distribution of land and livestock has been determined on the basis of high-resolution FSS statistics, the model tries to stay as close as possible to this distribution. This is achieved with penalty factors that are activated as soon as the estimated land use area deviated from the prior values, assigning a higher penalty for deviations of permanent crops and forests, and very high penalties of a land use is estimated in a spatial unit where it didn’t exist in the prior’s data base.

The disaggregation model m_hpdCropSpat is described in Section 7.4.1. FIXME Section 7.4.2 describes the required input data, and Section 7.4.3 describes the preparation of the input data for their use in hpdCropSpat.

Simulation model m_hpdCropSpat

Equation 1 RULEVL_

     The levels assigend to the FSUs must recover the given NUTS II area
     both NUTS2 level and FSU level in 1000 ha
     rur = grid cell in mode LAPM, rur = NUTS2 in all other modes
RULEVL_(rur,curact) ..
SUM(regmap(rur,cur%spatunit%),v_levlCon(rur,cur%spatunit%,curact))
=E= p_nutsLevl(rur,curact);

\begin{equation} A_{c^*,r}=\sum_h\{a_{c^*,h}\} \end{equation}

\(a_{c^*,h}\) = Area [parameter, km2] cultivated with crop c or covered by ‘other land’ use excluding forest in spatial unit h
\(A_{c^*,h}\) = Area [parameter, km2] cultivated with crop c or covered by ‘other land’ use excluding forest in region r

Equation 2 ADDUPGRID_

Due to several reasons it could be impossible to distribute all agricultural area under the given constraints of total available area in the spatial units (net of the area of ‘nogo’ units and forest area). In order to enable a feasible solution, an error term is introduced that allows the units to slightly shrink or grow. The reason:

  • Statistical data are not (necessarily) geo-referenced; i.e. an area of crops (or a livestock) might be assigned to one unit/grid cell because this is where the farm is registered rather than the physical location of crop/livestock
  • Uncertainties in the data
  • Inconsistencies of data sources (i.e. FSS agricultural statistics, Corine Land Cover data, CAPRI regional statistics)
  1. – The FSU area must be exhausted, but the variable v_%spatunit%SizeChg

allows some flexibility if needed.

ADDUPGRID_(rur,cur%spatunit%) $ p_levlunit(rur,cur%spatunit%,"area") .. 
SUM(curact,v_levlCon(rur,cur%spatunit%,curact)) 
=E=  
v_%spatunit%SizeChg(rur,cur%spatunit%)*p_levlunit(rur,cur%spatunit%,"area"); 

\begin{equation} a_h⋅\epsilon_{a,h}=\sum_{c^*}\{a_{c^*,h}\} \end{equation}

\(a_h\) = Area [parameter, km2] of spatial unit h \(a_{c^*,h}\) =Area [parameter, km2] cultivated with crop c or covered by ‘other land’ use excluding forest in spatial unit h \(\epsilon_{a,h}\) = Error term, allowing a spatial unit to shrink or grow slightly in order to enable a feasible disaggregation of statistical data.

Equation 3 PDF_

The most likely solution is obtained with the ‘Highest Posterior Density’ method. A penalty function calculates deviations from prior information, applying uncertainties

  • A random re-allocation of crops should be avoided. Therefore, a penalty is given with increasing deviation from the prior distribution to ensure stability in the time series
  • In particular the ‘appearance’ of crops in spatial units where they have not been observed in the prior data should be restricted (disagg(“penelizenewcrops”))
  • The error term for the area of the spatial units should be kept at a minimum (disagg(“penalizesizechange”))
PDF_ .. 
# Scale density value a good couple of magnitudes for numerical reasons. 
v_hpd 
*[SUM((curact,regmap(rur,cur%spatunit%)) $ p_levlStde(cur%spatunit%,curact),  
p_levlunit(rur,cur%spatunit%,"area")) 
 +SUM(regmap(rur,cur%spatunit%) $(v_%spatunit%SizeChg.LO(rur,cur%spatunit%) NE 
v_%spatunit%SizeChg.UP(rur,cur%spatunit%)), 
    p_levlunit(rur,cur%spatunit%,"area")) 
 ] 
=E= 
# hsu area-weighted mean square of the deviation from prior mean area, scaled by its stdev 
(SUM((regmap(rur,cur%spatunit%),curact),p_levlunit(rur,cur%spatunit%,"area") 
       * SQR( (v_levlCon(rur,cur%spatunit%,curact)-p_levlunit(rur,cur%spatunit%,curact)) 
               *(                  1 $      p_levlunit(rur,cur%spatunit%,curact)  
                  + disagg("penalizenewcrops") $ (not p_levlunit(rur,cur%spatunit%,curact))) 
               /max(1e-3,  
                         $$ifi     %MODE%==LAPM p_levlStde(cur%spatunit%,curact) 
                         $$ifi NOT %MODE%==LAPM 1 
                   ) 
             ) \\
    )/SUM((regmap(rur,cur%spatunit%),curact)  \\
$p_levlStde(cur%spatunit%,curact),p_levlunit(rur,cur%spatunit%,"area")) \\
)$sum((regmap(rur,cur%spatunit%),curact),p_levlStde(cur%spatunit%,curact)) \\
# penalty for deviation from hsu area \\
+(SUM(regmap(rur,cur%spatunit%),  \\
disagg("penalizesizechange")*p_levlunit(rur,cur%spatunit%,"area")*SQR((v_%spatunit%SizeChg(rur,cur%spatunit%)-1))) \\
 /SUM(regmap(rur,cur%spatunit%), p_levlunit(rur,cur%spatunit%,"area")) \\
 )$SUM(regmap(rur,cur%spatunit%),p_levlunit(rur,cur%spatunit%,"area")) \\
; \\

Model parameters

Some model parameters can be set by the user through the CAPRI GUI.
They are collected in the parameter ‘disagg’.

set disaggcontrol /  
mincropshare "Minimum allowed cropshare per HSU"
relcropshare "Defines heterogeneity of crop shares for a crop per HSU"
relstdefix   "Relative standard deviation, predefined if land needs 'to be fixed'"
relstdeperm  "Relative standard deviation, predefined for permanent crops"
relstdeothe  "Relative standard deviation, predefined for other land (large to avoid that other land pushes agriland around)"
penalizenewcrops   "multiply deviations for crops predicted where they haven't been before"
penalizesizechange "multiply deviations for total HSU unit size"
* --- scalars controlling livestock disaggregation
weightRUMIfodduaar "Weighting between fodds and uaar to distribute initial RUMI numbers"
weightMONOcereuaar "Weighting between cereals and uaar to distribute initial NRUMI numbers"
minLSUdens          "Minimum density for LSU allowed to not have them everywhere...     "
# managing crop residues
minmcactSurs   #Miniumum surplus as compared to average over all crops
maxmcactSurs   #Maxiumum surplus as compared to average over all crops
rangemcactSurs #Range of sursoi (max/average) below which the high sursoi are not reduced
/;
  • Stability of forests – disagg(“relstdefix”)

Forests cannot easily be ‘displaced’ and are likely to remain rooted as given in the land cover data sets. So far, estimations of changes of forest areas at the regional level are not included in the disaggregation procedure.

The default value used for disagg(“relstdefix”) = 0.01

The lower the value the higher becomes the penalty if the estimates are deviating from the priors.

  • Stability of permanent crops disagg(“relstdeperm”)

Permanent crops are long-term investments and require time to grow. Displacement of permanent crops is slow.

The default value used for disagg(“relstdeperm”) = 0.05.

  • Coefficient of variation for ‘other land uses’ disagg(“relstdeothe”)

‘Other’ area is a lump of all non-agricultural areas. We consider this area as relatively flexible.

The default value used for disagg(“relstdeothe”) = 1.

  • Penalization for new crops in spatial units disagg(“penalizenewcrops”)

New crops ‘appearing’ in spatial units, if they have not been in the priors data set, are penalized. The penalization factor is a multiplicator of the squared deviation from the prior. Thus, the higher the factor the higher becomes the penalty.

The default values used for disagg(“penalizenewcrops ”)=2.0;

  • Penalization of area changes of spatial units disagg(“penalizesizechange”)

The default values used for disagg(“penalizesizechange”)=2.0;

  • Minimum crop share allowed in the spatial unit disagg(“mincropshare”)

The minimum crop share which is allowed in the spatial unit χ_(min ) is used to calculate the lowest allowed crop share, in combination with the minimum relative crop share defining the level of spatial heterogeneity for a crop. See section 7.4.3.5 FIXME .

\(χ_{min}\) can be set through the CAPRI GUI (tab CAPREG disaggregation options – “Suppression of crops if the share is very low”)

By default, \(χ_{min}\)is set to zero.

  • Minimum relative crop share disagg(“relcropshare”)

The minimum relative crop share defining the level of spatial heterogeneity for a \(χ_{rel}\) is used to calculate the lowest allowed crop share, in combination with the m crop minimum crop share which is allowed in the spatial unit (see section 7.4.3.5 FIXME).

\(χ_{rel}\) can be set through the CAPRI GUI (tab CAPREG disaggregation options – “Minimum relative crop share”)

By default, \(χ_{rel}\) is set to zero.

Defining bounds for the land use distribution model

Bounds for size changes of the total area of the spatial units

v_%spatunit%SizeChg.L (rur,cur%spatunit%) $p_temp3dim(rur,cur%spatunit%,"crops")= 1;
v_%spatunit%SizeChg.UP(rur,cur%spatunit%) $p_temp3dim(rur,cur%spatunit%,"crops")= 1.1;
v_%spatunit%SizeChg.LO(rur,cur%spatunit%) $p_temp3dim(rur,cur%spatunit%,"crops")= 0.9;
v_%spatunit%SizeChg.UP(rur,cur%spatunit%) 
$(p_nutslevl(rur,"AREAcorr") and p_temp3dim(rur,cur%spatunit%,"crops"))= 2.0;
v_%spatunit%SizeChg.LO(rur,cur%spatunit%) 
$(p_nutslevl(rur,"AREAcorr") and p_temp3dim(rur,cur%spatunit%,"crops"))= 0.5;
$$ifi %MODE%=="LAPM" v_%spatunit%SizeChg.UP(rur,cur%spatunit%) $p_temp3dim(rur,cur%spatunit%,"crops")= 
max(1.1,p_nutslevl(rur,"AREAcorr"));
$$ifi %MODE%=="LAPM" v_%spatunit%SizeChg.LO(rur,cur%spatunit%) $p_temp3dim(rur,cur%spatunit%,"crops")= 
1/max(1.1,p_nutslevl(rur,"AREAcorr"));

To enable the solver to find feasible solutions even in difficult situations, it is possible to expand or shrink the total area of the spatial units. This is in consistence with the definition of the data compiled by the statistical offices which link the area to residence to the farmer rather than to the geographic location of each field.

Generally, we limit this area-change to plus/minus 10% of the original size.

In cases where inconsistencies between data sets have already been identified (see 0) a higher degree of flexibility is allowed (factor 2) as it is not known in which spatial unit the inconsistency originated.

Only in the task ‘A priori land use distribution’ the degree of flexibility is calculated as a function of the correction that had to be applied to the regional area.

The bounds for the area-size change are hard-coded and can not be changed by the user.

Setting standard deviations

Data do not come with any level of uncertainty attached, and there is no a priori information on what spatial distribution is more likely than any other.

Therefore, the uncertainty in the estimates is ‘guessed’ based on crop groups.

Other options tested (all standard deviations equal or scaling prior estimates to a plausible range) are currently not used. The standard deviations are only set at the first task. In subsequent tasks, the standard deviations of the priors are used and ‘gap-filled’ if necessary.

$set changelapmstdev bygroups
$iftheni.std %changelapmstdev%=="scalestdevs"
$elseifi.std %changelapmstdev%=="allone"
$elseifi.std %changelapmstdev%=="bygroups"  
    p_levlstde(cur%spatunit%, %croptp%) 
*        $ p_levlstde(cur%spatunit%, %croptp%)
      = 0.5;
    p_levlstde(cur%spatunit%, %croptp%) 
*        $ p_levlstde(cur%spatunit%, %croptp%)
      = 0.001 $sum(fssact2groups(%croptp%, "FORE"), 1)  
      + 0.50  $sum(fssact2groups(%croptp%, "CERE"), 1)  # Cereals incl those likely in rotation: Assumptions market oriented might change relatively quickly if price is correct
      + 0.25  $sum(fssact2groups(%croptp%, "FODD"), 1)  # Fodder crops: roof, ofar, lgras. Assumption: link to livestock which do not shift around so quickly
      + 0.25  $sum(fssact2groups(%croptp%, "OILS"), 1)  # Oil crops: rape, sunflower, soya. Assumption: relatively sticky
      + 0.15  $sum(fssact2groups(%croptp%, "VEGE"), 1)  # Vegetables: flower, pulses, potatoes, sugar beet, ... but also tobacco, text etc. Assumption: require often infrastructure (greenhouse) so longer investments required
      + 0.05  $sum(fssact2groups(%croptp%, "TREE"), 1)  # Permanent crops: olives, nurseries, fruit and nuts trees, vinyards. There are permanent
      + 0.05  $sum(fssact2groups(%croptp%, "PERM"), 1)  # Permanent crops: olives, nurseries, fruit and nuts trees, vinyards. There are permanent
      + 0.80  $sum(fssact2groups(%croptp%, "REST"), 1)  # Assumptions: can be easily pushed around
      ;

Data sets

Update pending

FSS 2010 data at nested grid levels
FSS 2010 data, gap-filled at 10km-NUTS3 overlay
Forest map

disaggregation_of_crop_areas.1585383947.txt.gz · Last modified: 2022/11/07 10:23 (external edit)

Except where otherwise noted, content on this wiki is licensed under the following license: CC0 1.0 Universal
CC0 1.0 Universal Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki