GitLab at IIASA

check_rules.R 48.7 KiB
Newer Older
Xinxin Yang's avatar
Xinxin Yang committed
1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804
#       DEE31
#       DEE3B
#       DEE37",header = TRUE) %>% as_tibble()%>% mutate_if(is.factor, as.character)








# ell ####
checked.nuts3.ell.07 <- check.nuts(str_data$info, "ELL", c(2007:2009), NUTS3, TRUE)
checked.nuts3.ell.10 <- check.nuts(str_data$info, "ELL", c(2010:2013), NUTS3, TRUE)
checked.nuts3.ell.14 <- check.nuts(str_data$info, "ELL", c(2014:2018), NUTS3, TRUE)

  # version 2006 -2010 ----
# code change
# GR111	EL111
# GR112	EL112
# GR113	EL113
# GR114	EL114
# GR115	EL115
# GR121	EL121
# GR122	EL122
# GR123	EL123
# GR124	EL124
# GR125	EL125
# GR126	EL126
# GR127	EL127
# GR131	EL131
# GR132	EL132
# GR133	EL133
# GR134	EL134
# GR141	EL141
# GR142	EL142
# GR143	EL143
# GR144	EL144
# GR211	EL211
# GR212	EL212
# GR213	EL213
# GR214	EL214
# GR221	EL221
# GR222	EL222
# GR223	EL223
# GR224	EL224
# GR231	EL231
# GR232	EL232
# GR233	EL233
# GR241	EL241
# GR242	EL242
# GR243	EL243
# GR244	EL244
# GR245	EL245
# GR251	EL251
# GR252	EL252
# GR253	EL253
# GR254	EL254
# GR255	EL255
# GR300	EL300
# GR411	EL411
# GR412	EL412
# GR413	EL413
# GR421	EL421
# GR422	EL422
# GR431	EL431
# GR432	EL432
# GR433	EL433
# GR434	EL434
# GRZZZ	ELZZZ
  # version 2010 -2013 ----
# recoded
#............
# old   new
# EL111	EL511
# EL112	EL512
# EL113	EL513
# EL114	EL514
# EL115	EL515
# EL121	EL521
# EL122	EL522
# EL123	EL523
# EL124	EL524
# EL125	EL525
# EL126	EL526
# EL127	EL527
# merge......
# old   new
# EL131	EL531
# EL133	EL531
# recoded......
# EL132	EL532
# EL134	EL533
# merge........
# EL211	EL541
# EL214	EL541
# EL541 new region
# recoded...........
# EL212	EL542
# EL213	EL543
# merge ............
# EL141	EL611
# EL144	EL611
# EL611
#
# EL142	EL612
# EL143	EL613
# EL221	EL621
# EL222	EL622
# EL223	EL623
# EL224	EL624
# EL231	EL631
# EL232	EL632
# EL233	EL633
# EL241	EL641
# EL242	EL642
# EL243	EL643
# EL244	EL644
# EL245	EL645
# merge .......
# EL251	EL651
# EL252	EL651
# EL651
# recoded.......
# EL253	EL652
# merge......
# EL254	EL653
# EL255	EL653
# EL653
# split .......
# EL300 split into ...
# EL300 	EL301
# EL300 	EL302
# EL300 	EL303
# EL300 	EL304
# EL300 	EL305
# EL300 	EL306
# EL300 	EL307
# name change ??
# EL411	EL411
# EL412	EL412
# EL421	EL421
# EL422	EL422








# ESP ####
check.nuts(str_data$info, "ESP", c(2007:2013), NUTS3, TRUE)
check.nuts(str_data$info, "ESP", c(2014:2018), NUTS3, TRUE)
  # version 2003 - 2006
  # ES530 split into ES531, ES532, ES533
  # ES530 	ES531
  # ES530 	ES532
  # ES530 	ES533
  # ES701	split into
  # ES701 	ES704
  # ES701 	ES705
  # ES701 	ES708
  # ES702	split into
  # ES702 	ES703
  # ES702 	ES706
  # ES702 	ES707
  # ES702 	ES709
# FRA ####

check.nuts(str_data$info, "FRA", c(2007:2016), NUTS3, TRUE)
check.nuts(str_data$info, "FRA", c(2017:2018), NUTS3, TRUE)
# version 2013- 2016
# recoded.....
# FR241	FRB01
# FR242	FRB02
# FR243	FRB03
# FR244	FRB04
# FR245	FRB05
# FR246	FRB06
# FR261	FRC11
# FR262	FRC12
# FR263	FRC13
# FR264	FRC14
# FR431	FRC21
# FR432	FRC22
# FR433	FRC23
# FR434	FRC24
# FR251	FRD11
# FR252	FRD12
# FR253	FRD13
# FR231	FRD21
# FR232	FRD22
# FR301	FRE11
# FR302	FRE12
# FR221	FRE21
# FR222	FRE22
# FR223	FRE23
# FR421	FRF11
# FR422	FRF12
# FR211	FRF21
# FR212	FRF22
# FR213	FRF23
# FR214	FRF24
# FR411	FRF31
# FR412	FRF32
# FR413	FRF33
# FR414	FRF34
# FR511	FRG01
# FR512	FRG02
# FR513	FRG03
# FR514	FRG04
# FR515	FRG05
# FR521	FRH01
# FR522	FRH02
# FR523	FRH03
# FR524	FRH04
# FR611	FRI11
# FR612	FRI12
# FR613	FRI13
# FR614	FRI14
# FR615	FRI15
# FR631	FRI21
# FR632	FRI22
# FR633	FRI23
# FR531	FRI31
# FR532	FRI32
# FR533	FRI33
# FR534	FRI34
# FR811	FRJ11
# FR812	FRJ12
# FR813	FRJ13
# FR814	FRJ14
# FR815	FRJ15
# FR621	FRJ21
# FR622	FRJ22
# FR623	FRJ23
# FR624	FRJ24
# FR625	FRJ25
# FR626	FRJ26
# FR627	FRJ27
# FR628	FRJ28
# FR721	FRK11
# FR722	FRK12
# FR723	FRK13
# FR724	FRK14
# FR711	FRK21
# FR712	FRK22
# FR713	FRK23
# FR714	FRK24
# FR715	FRK25
# FR716	FRK26
# FR717	FRK27
# FR718	FRK28
# FR821	FRL01
# FR822	FRL02
# FR823	FRL03
# FR824	FRL04
# FR825	FRL05
# FR826	FRL06
# FR831	FRM01
# FR832	FRM02
# FRA10	FRY10
# FRA20	FRY20
# FRA30	FRY30
# FRA40	FRY40
# FRA50	FRY50

# HUN ####
check.nuts(str_data$info, "HUN", c(2007:2016), NUTS3, TRUE)  %>% filter(NUTS3 == "HU232")
check.nuts(str_data$info, "HUN", c(2017:2018), NUTS3, TRUE) %>% filter(NUTS3 == "HU213")
# version 2013 - 2016
# HU101	HU110 recoded
# HU102	HU120

# IRE ####
check.nuts(str_data$info, "IRE", c(2007:2016), NUTS3, TRUE)
check.nuts(str_data$info, "IRE", c(2017:2018), NUTS3, TRUE)
# version 13 -16
# old   new
# IE011	IE041 boundary shift
# IE013	IE042 recoded
# IE023	IE051 boundary shift
# IE024	IE052 boundary shift
# IE025	IE053 recoded
# IE021	IE061 recoded
# IE022	IE062 boundary shift
# IE012	IE063 recoded
# FR241	FRB01 recoded
# ITA ####
check.nuts(str_data$info, "ITA", c(2007:2009), NUTS3, TRUE)  %>% filter(NUTS3 == "ITG25")
check.nuts(str_data$info, "ITA", c(2010:2018), NUTS3, TRUE)
 # version 2006-2010
  # old   new
  # ITD10	ITH10
  # ITD20	ITH20
  # ITD31	ITH31
  # ITD32	ITH32
  # ITD33	ITH33
  # ITD34	ITH34
  # ITD35	ITH35
  # ITD36	ITH36
  # ITD37	ITH37
  # ITD41	ITH41
  # ITD42	ITH42
  # ITD43	ITH43
  # ITD44	ITH44
  # ITD51	ITH51
  # ITD52	ITH52
  # ITD53	ITH53
  # ITD54	ITH54
  # ITD55	ITH55
  # ITD56	ITH56
  # ITD57	ITH57
  # ITD58	ITH58
  # ITE11	ITI11
  # ITE12	ITI12
  # ITE13	ITI13
  # ITE14	ITI14
  # ITE15	ITI15
  # ITE16	ITI16
  # ITE17	ITI17
  # ITE18	ITI18
  # ITE19	ITI19
  # ITE1A	ITI1A
  # ITE21	ITI21
  # ITE22	ITI22
  # ITE32	ITI32
  # ITE33	ITI33
  # ITE41	ITI41
  # ITE42	ITI42
  # ITE43	ITI43
  # ITE44	ITI44
  # ITE45	ITI45
  #............
  # ITC45	split
  # ITC45 	ITC4C
  # ITC45 	ITC4D
  # ITD59	 ITH59 boundary shift
  # ITE31	 ITI31 boundary shift
  # ITE34	split
  # ITE34 	ITI34
  # ITE34 	ITI35
  # ITF41	discontinued
  # ITF42	discontinued
  # ITF46 new region
  # ITF47 new region
  # ITF48 new region


# LTU ####
check.nuts(str_data$info, "LTU", c(2007:2016), NUTS3, TRUE)
check.nuts(str_data$info, "LTU", c(2017:2018), NUTS3, TRUE)
# version 13- 16
# recoded
# LT00A	LT011
# LT001	LT021
# LT002	LT022
# LT003	LT023
# LT004	LT024
# LT005	LT025
# LT006	LT026
# LT007	LT027
# LT008	LT028
# LT009	LT029

# LVA ####
check.nuts(str_data$info, "LVA", c(2007:2008), NUTS3, TRUE)
check.nuts(str_data$info, "LVA", c(2009:2018), NUTS3, TRUE)
# LVOO3+LV006=LV00??
str_data$crops %>%
  filter(NUTS3 %in% c("LV00","LV003","LV006"),
         COUNTRY == "LVA", CROP == "SWHE") %>%
  count(sum(VALUE))

str_data$crops %>%
  filter(NUTS2=="LV00",COUNTRY == "LVA",
        CROP == "SWHE", NUTS3 =="LV00") %>%
  count(sum(VALUE))

# NED ####
check.nuts(str_data$info, "NED", c(2004:2008), NUTS3, TRUE) %>% filter(NUTS3 %in% c("NL222", "NL223", "NL311"))
check.nuts(str_data$info, "NED", c(2009:2010), NUTS3, TRUE) %>% filter(NUTS3 == "NL331")
check.nuts(str_data$info, "NED", c(2010:2013), NUTS3, TRUE) %>% filter(NUTS3 == "NL33A")
check.nuts(str_data$info, "NED", c(2017:2018), NUTS3, TRUE) %>% filter(NUTS3 %in% c( "NL33A", "NL33B"))
# version 2003-2006
#........................
# old new
# NL222 '' Boundary shift
# NL223	'' Boundary shift
# version 2006-2010
# NL331	NL337 Boundary shift, new region
# NL334	NL338 Boundary shift
# NL335	NL339 Boundary shift
# NL336	NL33A Boundary shift
# version 2010- 2013
#........................
# nochange
# version 2013 - 2016
#........................
# NL121	NL124 Boundary shift, new region
# NL122	NL125 ..
# NL123	NL126 ..
# NL322	NL328 ..
# NL326	NL329 ..
# NL338	NL33B ..
# NL339	NL33C ..

# POL ####
library(readxl)
pol_nutsconverter_2006 <- read_excel("D:/data/fadn/lieferung_20210414/yang/fadn_work_space/plots/fadn_nuts3_rules/pol/pol_nuts3_2006.xlsx")
# version 2006: 57 regions
pol_nutsconverter_2010 <- read_excel("D:/data/fadn/lieferung_20210414/yang/fadn_work_space/plots/fadn_nuts3_rules/pol/pol_nuts3_2010.xlsx")
# version 2010: 57 regions
pol_nutsconverter_2013 <- read_excel("D:/data/fadn/lieferung_20210414/yang/fadn_work_space/plots/fadn_nuts3_rules/pol/pol_nuts3_2013.xlsx")
# version 2013: 62 regions
check.nuts(str_data$info, "POL", c(2007:2013), NUTS3, TRUE) %>% filter(NUTS3 %in% c( "PL121"))
check.nuts(str_data$info, "POL", c(2014:2016), NUTS3, TRUE) %>% filter(NUTS3 %in% c( "PL12A"))
check.nuts(str_data$info, "POL", c(2017:2018), NUTS3, TRUE) %>% distinct(NUTS3)
  # version 2003 -2006 ----
  # PL111		Terminated
  # PL112		Terminated
  # PL124		Terminated
  # PL126		Terminated
  # PL211		Terminated
  # PL212		Terminated
  # PL226		Split
  # PL226 	PL228	new region
  # PL226 	PL229	new region
  # PL226 	PL22A	new region
  # PL226 	PL22B	new region
  # PL226 	PL22C	new region
  # PL313		Split
  # PL313 	PL315	new region
  # PL313 	PL314	new region
  # PL321		Terminated
  # PL322		Terminated
  # PL330		Split
  # PL330 	PL331	new region
  # PL330 	PL332	new region
  # PL341		Terminated
  # PL342		Terminated
  # PL412		Terminated
  # PL413		Terminated
  # PL421		Split
  # PL421 	PL423	new region
  # PL421 	PL424	new region
  # PL421 	PL425	new region
  # PL511		Terminated
  # PL512		Terminated
  # PL513		Terminated
  # PL520		Split
  # PL520 	PL521	new region
  # PL520 	PL522	new region
  # PL611		Terminated
  # PL612		Terminated
  # PL632		Split
  # PL632 	PL634	new region
  # PL632 	PL635	new region
  # version 2006- 2010----
  # no change
  # version 2010- 2013 ----
  # old    new
  # PL121  ''
  # PL122  ''
  # ''  PL12B
  # ''  PL12C
  # ''  PL12D
  # ''  PL12E
  # PL129  PL129
  # PL12A  PL12A
  # PL215  ''
  # PL216  ''
  # ''  PL218
  # ''  PL219
  # ''  PL21A
  # PL422  ''
  # PL423  ''
  # PL425  ''
  # ''  PL426
  # ''  PL427
  # ''  PL428
  # PL521  ''
  # PL522  ''
  # ''  PL523
  # ''  PL524
  # PL614  ''
  # PL615  ''
  # ''  PL616
  # ''  PL617
  # ''  PL618
  # ''  PL619
  # PL631  ''
  # PL635  ''
  # ''  PL636
  # ''  PL637
  # ''  PL638

  # version 2013-2016: from2017-2018 ----
  # recoded.....
  # old  new
  # PL113	PL711
  # PL114	PL712
  # PL115	PL713
  # PL116	PL714
  # PL117	PL715
  # PL331	PL721
  # PL332	PL722
  # PL311	PL811
  # PL312	PL812
  # PL314	PL814
  # PL315	PL815
  # PL323	PL821
  # PL324	PL822
  # PL325	PL823
  # PL326	PL824
  # PL343	PL841
  # PL344	PL842
  # PL345	PL843
  # PL127	PL911
  # PL129	PL912 boundary shift
  # PL12A	PL913 boundary shift lost new PL926
  # PL128	PL921
  # PL12B	PL922
  # PL12C	PL923
  # PL12D	PL924
  # PL12E	PL925
  #       PL926 new region
# por ####

check.nuts(str_data$info, "POR", c(2007:2014), NUTS3, TRUE)
check.nuts(str_data$info, "POR", c(2015:2018), NUTS3, TRUE)
  # version 2010-2013 ####
# old   new
# PT111	PT111	Name change	''
# PT113	''	'boundary shift'	''
# PT114	''	'boundary shift'	''
# PT115	''	'boundary shift'	''
# PT116	''	'boundary shift'	''
# PT117	''	'boundary shift'	''
# PT118	''	'boundary shift'	''
# ''	PT119	'new region'	'PT119=parts of PT113+parts of PT115'
# ''	PT11A	'new region'	'PT11A=PT116+parts of PTPT114+parts of PT115'
# ''	PT11B	'new region'	'PT11B=parts of PT115+parts of PT118'
# ''	PT11C	'new region'	'PT11C=parts of PT115'
# ''	PT11D	'new region'	'PT11D=parts of PT117'
# ''	PT11E	'new region'	'PT11E=parts of PT117+parts of PT118'
# PT161	''	'boundary shift'	''
# PT162	''	'boundary shift'	''
# PT163	''	'boundary shift'	''
# PT164	''	'boundary shift'	''
# PT165	''	'boundary shift'	''
# PT166	''	'boundary shift'	''
# PT169	''	'boundary shift'	''
# PT16C	''	'boundary shift'	''
# ''	PT16D	'new region'	'PT16D=parts of PT161'
# ''	PT16E	'new region'	'PT16E=parts of PT161+PT162+parts of PT164'
# ''	PT16F	'new region'	'PT16F=PT163+parts of PT164'
# ''	PT16G	'new region'	'PT16G=parts of PT165'
# ''	PT16H	'new region'	'PT16H=parts of PT166+PT169'
# ''	PT16I	'new region'	'PT16I=PT16C+parts of PT166'
# PT167	PT16J 	Merged	''
# PT168	PT16J 	Merged	''
# PT16A	PT16J 	Merged	''
# ''	PT16J	'new region'	'PT16J = PT167 + PT168 + PT16A'
# PT17	PT17	Name change	''
# PT171	PT170 	Merged	''
# PT172	PT170 	Merged	''
# ''	PT170	'new region'	'PT170 = PT171 + PT172'
# PT182	''	'boundary shift'	''
# PT183	''	'boundary shift'	''
# ''	PT186	'new region'	'PT186=parts of PT182+parts of PT183'
# ''	PT187	'new region'	'PT187=parts of PT182+parts of PT183'
# SUO ####
check.nuts(str_data$info, "SUO", c(2007:2009), NUTS3, TRUE)
check.nuts(str_data$info, "SUO", c(2010:2013), NUTS3, TRUE)
check.nuts(str_data$info, "SUO", c(2014:2016), NUTS3, TRUE)

  # version 2003- 2006 ----
  # old    new
  # FI191	 FI196 'boundary shift, new region'
  # FI192	 FI197 'boundary shift, new region'
  # version 2006 - 2010 ----
  #recoded.....
  # FI131	FI1D1
  # FI132	FI1D2
  # FI133	FI1D3
  # FI134	FI1D4
  # FI183	FI1C1
  # FI184	FI1C2
  # FI185	FI1C3
  # FI186	FI1C4
  # FI187	FI1C5
  # FI1A1	FI1D5
  # FI1A2	FI1D6
  # FI1A3	FI1D7
  # merge......
  # FI181	FI1B1
  # FI182	FI1B1

# SVE ####

check.nuts(str_data$info, "SVE", c(2007), NUTS3, TRUE)  %>% filter(NUTS3 %in% c("SE01","SE02", "SE025"))
check.nuts(str_data$info, "SVE", c(2008:2018), NUTS3, TRUE)%>% filter(NUTS3 %in% as.character(sve_nuts3$NUTS3_new) )
# version 2003-2006
# SE010	SE110 recoded
# SE021	'' boundary shift
# SE022	SE122
# SE023	SE123
# SE024	SE124
# SE025	 '' boundary shift
# SE091	SE211
# SE092	SE212
# SE093	SE213
# SE094	SE214
# SE041	SE221
# SE044	SE224
# SE0A1	SE231
# SE0A2	SE232
# SE061	SE311
# SE062	SE312
# SE063	SE313
# SE071	SE321
# SE072	SE322
# SE081	SE331
# SE082	SE332


# SVN ####
check.nuts(str_data$info, "SVN", c(2007,2008), NUTS3, TRUE)
check.nuts(str_data$info, "SVN", c(2009:2013), NUTS3, TRUE)
# version 2003-2006
# code change
# SI001	SI011
# SI002	SI012
# SI003	SI013
# SI004	SI014
# SI005	SI015
# SI006	SI016
# SI00D	SI017
# SI00A	SI018
# SI00E	SI021
# SI009	SI022
# SI00B	SI023
# SI00C	SI024
# version 2010-2013
# SI011	SI031
# SI012	SI032
# SI013	SI033
# SI014	SI034 boundary shift SI034=parts of SI014+parts of SI016
# SI015	SI035 boundary shift SI035=SI015+parts of SI021
# SI016	SI036 boundary shift SI036=parts of SI014+parts of SI016
# SI017	SI037
# SI018	SI038
# SI021	SI041 boundary shift SI041=parts of SI021
# SI022	SI042
# SI023	SI043
# SI024	SI044


# UKI ####
check.nuts(str_data$info, "UKI", c(2007:2013), NUTS3, TRUE)
check.nuts(str_data$info, "UKI", c(2014:2016), NUTS3, TRUE)
check.nuts(str_data$info, "UKI", c(2017:2018), NUTS3, TRUE)
# verison 2006 - 2010
#....................................
# UKD52	UKD72	 recoded	UKD72 = UKD52
# UKD53	UKD73	 recoded	UKD73 = UKD53
# UKD54	UKD74	 recoded	UKD74 = UKD54
# UKD21		Boundary shift
# UKD51		Boundary shift
# UKD61	new region
# UKD71	new region
# UKD22		Split
# UKD22 	UKD62	new region	UKD62 + UKD63 = UKD22
# UKD22 	UKD63	new region	UKD62 + UKD63 = UKD22
# UKE43		Split
# UKE43 	UKE44	new region	UKE44 + UKE45 = UKE43
# UKE43 	UKE45	new region	UKE44 + UKE45 = UKE43
# UKF23		Split
# UKF23 	UKF24	new region	UKF24 + UKF25 = UKF23
# UKF23 	UKF25	new region	UKF24 + UKF25 = UKF23
# UKG34		Split
# UKG34 	UKG36	new region	UKG36 + UKG37 = UKG34
# UKG34 	UKG37	new region	UKG36 + UKG37 = UKG34
# UKG35		Split
# UKG35 	UKG38	new region	UKG38 + UKG39 = UKG35
# UKG35 	UKG39	new region	UKG38 + UKG39 = UKG35
# UKH22		Split
# UKH22 	UKH24	new region	UKH24 + UKH25 = UKH22
# UKH22 	UKH25	new region	UKH24 + UKH25 = UKH22
# version 2010-2013
# UKD31		Split
# UKD31 	UKD33	new region	UKD33 + UKD34 + UKD35 = UKD31
# UKD31 	UKD34	new region	UKD33 + UKD34 + UKD35 = UKD31
# UKD31 	UKD35	new region	UKD33 + UKD34 + UKD35 = UKD31
# UKD32		Split
# UKD32 	UKD36	new region	UKD36 + UKD37 = UKD32
# UKD32 	UKD37	new region	UKD36 + UKD37 = UKD32
# UKD43		Split
# UKD43 	UKD44	new region	UKD44 + UKD45 + UKD46 + UKD47 = UKD43
# UKD43 	UKD45	new region	UKD44 + UKD45 + UKD46 + UKD47 = UKD43
# UKD43 	UKD46	new region	UKD44 + UKD45 + UKD46 + UKD47 = UKD43
# UKD43 	UKD47	new region	UKD44 + UKD45 + UKD46 + UKD47 = UKD43
# UKH13		Split
# UKH13 	UKH15	new region	UKH15 + UKH16 + UKH17 = UKH13
# UKH13 	UKH16	new region	UKH15 + UKH16 + UKH17 = UKH13
# UKH13 	UKH17	new region	UKH15 + UKH16 + UKH17 = UKH13
# UKH33		Split
# UKH33 	UKH34	new region	UKH34 + UKH35 + UKH36 + UKH37 = UKH33
# UKH33 	UKH35	new region	UKH34 + UKH35 + UKH36 + UKH37 = UKH33
# UKH33 	UKH36	new region	UKH34 + UKH35 + UKH36 + UKH37 = UKH33
# UKH33 	UKH37	new region	UKH34 + UKH35 + UKH36 + UKH37 = UKH33
# UKI11		Split
# UKI11 	UKI31	new region	UKI31 + UKI32 + UKI33 + UKI34 = UKI11
# UKI11 	UKI32	new region	UKI31 + UKI32 + UKI33 + UKI34 = UKI11
# UKI11 	UKI33	new region	UKI31 + UKI32 + UKI33 + UKI34 = UKI11
# UKI11 	UKI34	new region	UKI31 + UKI32 + UKI33 + UKI34 = UKI11
# UKI12		Split
# UKI12 	UKI41	new region	UKI41 + UKI42 + UKI43 + UKI44 + UKI45= UKI12
# UKI12 	UKI42	new region	UKI41 + UKI42 + UKI43 + UKI44 + UKI45= UKI12
# UKI12 	UKI43	new region	UKI41 + UKI42 + UKI43 + UKI44 + UKI45= UKI12
# UKI12 	UKI44	new region	UKI41 + UKI42 + UKI43 + UKI44 + UKI45= UKI12
# UKI12 	UKI45	new region	UKI41 + UKI42 + UKI43 + UKI44 + UKI45= UKI12
# UKI21		Split
# UKI21 	UKI51	new region	UKI51 + UKI52 + UKI53 + UKI54 = UKI21
# UKI21 	UKI52	new region	UKI51 + UKI52 + UKI53 + UKI54 = UKI21
# UKI21 	UKI53	new region	UKI51 + UKI52 + UKI53 + UKI54 = UKI21
# UKI21 	UKI54	new region	UKI51 + UKI52 + UKI53 + UKI54 = UKI21
# UKI22		Split
# UKI22 	UKI61	new region	UKI61 + UKI62 + UKI63 = UKI22
# UKI22 	UKI62	new region	UKI61 + UKI62 + UKI63 = UKI22
# UKI22 	UKI63	new region	UKI61 + UKI62 + UKI63 = UKI22
# UKI23		Split
# UKI23 	UKI71	new region	UKI71 + UKI72 + UKI73 + UKI74 + UKI75= UKI23
# UKI23 	UKI72	new region	UKI71 + UKI72 + UKI73 + UKI74 + UKI75= UKI23
# UKI23 	UKI73	new region	UKI71 + UKI72 + UKI73 + UKI74 + UKI75= UKI23
# UKI23 	UKI74	new region	UKI71 + UKI72 + UKI73 + UKI74 + UKI75= UKI23
# UKI23 	UKI75	new region	UKI71 + UKI72 + UKI73 + UKI74 + UKI75= UKI23
# UKJ23		Split
# UKJ23 	UKJ25	new region	UKJ25 + UKJ26 = UKJ23
# UKJ23 	UKJ26	new region	UKJ25 + UKJ26 = UKJ23
# UKJ24		Split
# UKJ24 	UKJ27	new region	UKJ27 + UKJ28 = UKJ24
# UKJ24 	UKJ28	new region	UKJ27 + UKJ28 = UKJ24
# UKJ33		Split
# UKJ33 	UKJ35	new region	UKJ35 + UKJ36 + UKJ37 = UKJ33
# UKJ33 	UKJ36	new region	UKJ35 + UKJ36 + UKJ37 = UKJ33
# UKJ33 	UKJ37	new region	UKJ35 + UKJ36 + UKJ37 = UKJ33
# UKJ42		Split
# UKJ42 	UKJ43	new region	UKJ43 + UKJ44 + UKJ45 + UKJ46 = UKJ42
# UKJ42 	UKJ44	new region	UKJ43 + UKJ44 + UKJ45 + UKJ46 = UKJ42
# UKJ42 	UKJ45	new region	UKJ43 + UKJ44 + UKJ45 + UKJ46 = UKJ42
# UKJ42 	UKJ46	new region	UKJ43 + UKJ44 + UKJ45 + UKJ46 = UKJ42

# version 2013 -2016
#....................................
# UKM21	UKM71
# UKM22	UKM72
# UKM23	UKM73
# UKM25	UKM75
# UKM26	UKM76
# UKM27	UKM77
# UKM28	UKM78
# UKM31	UKM81
# UKM34	UKM82
# UKM35	UKM83
# UKM36	UKM84
# UKM24	UKM91
# UKM32	UKM92
# UKM33	UKM93
# UKM37	UKM94
# UKM38	UKM95
# UKN01	UKN06

# UKN02	 discontinued
# UKN03	discontinued
# UKN04	discontinued
# UKN05	discontinued
# UKN07 new region
# UKN08 new region
# UKN09 new region
# UKN10 new region
# UKN11 new region
# UKN12 new region
# UKN13 new region
# UKN14 new region
# UKN15 new region
# UKN16 new region

# version 2016-2021
#....................................
# UKK21	UKK24
# UKK22	UKK25
# UKN10	UKN0A
# UKN11	UKN0B
# UKN12	UKN0C
# UKN13	UKN0D
# UKN14	UKN0E
# UKN15	UKN0F
# UKN16	UKN0G