This is an old revision of the document!
If you need to age a stock by 1 year you can create a map which moves all stock up 1 in the age sequence and bins the last 2 years with the following code:
integer $firstAge = 0 integer $lastAge = 100 local eafrToea[ea,eafr] = create (; dim=SEQ;age:$firstAge:$lastAge:1;year, \ dim=SEQ;ageFr:$firstAge:$lastAge:1;year) eafrToea[ea,eafr] = insert (extract (diag (1.0; \ dimFrom1=eafrToea[ea,eafr]); \ age:+0..-1); \ age->age:+1, ageFr->ageFr:+0) !This moves the diagonal forward one age so n year olds map to (n+1)1 year olds eafrToea[ea,eafr] = insert (1.0; age:-0, ageFr:-0) ! this does the binning of the last 2 ages
Now you can just apply the map to your stock (not the change of sequence name just before the map!):
local agedStock[upperDims,ea] = map (changeseq (stock[upperDims,ea]; \ dim=age, name=ageFr), \ eafrToea[ea,eafr])