
version 11.0
clear all
capture log close
set more off

*set logtype text
cd "C:\...\ARCA_Informe_y_datos_v20251001\stata"
log using arca.log, replace 
di "log file printed on $S_DATE at $S_TIME"

//Datos de origen e inspección
sysuse base.dta


********************************************************************************
****  CÁLCULO DE EMISIONES MUNICIPALES   ***************************************
********************************************************************************

* 1. Incorporamos perfiles de consumo de las Comunidades Autónomas. Asignamos perfiles de cada
* 	 comunidad autónoma a sus municipios (key fields: ccaa_code prod_code_3)
merge m:1 ccaa_code prod_code_3 using "C:\...\ARCA_Informe_datos_stata_v20251001\stata\consumo_ccaa.dta" //sustituir por directorio local
drop _merge
 
* 2. Incorporamos índice para diferenciales de consumo por tamaño de municipio
*    Traemos tabla de índice de tamaño de municipio(key fieds: tamano_mun prod_code_3)
merge m:1 tamano_mun prod_code_3 using "C:\...\ARCA_Informe_datos_stata_v20251001\stata\consumo_tamano_mun.dta" //sustituir por directorio local
drop _merge

* 3. Aplicamos índice de consumo por tamaño de municipio
gen consumo_pc_prod=consumo_ccaa*index_tamano_mun

	**** Para obtener tabla de excel GastoTotal_Mun_PC_3,
	{
	* activar este código eliminando "/*" y "*/". Tras la consulta, restablecezca el 
	* código y vuelva a correr el programa. 
	/*
	keep mun_code mun_code consumo_pc_prod prod_code_3
	reshape wide consumo_pc_prod, i(mun_code) j(prod_code_3) string
	*/
	}

*
* 4. Incorporamos población municipal para obtener agregados municipales de gasto y emisiones totales y 
*	 y por productos procedentes de los comportamientos de consumo en los hogares
merge m:1 mun_code using "C:\...\ARCA_Informe_datos_stata_v20251001\stata\poblacion_mun_2023.dta" //sustituir por directorio local
drop _merge

* 5. Calculamos el gasto total de los hogares del municipio para cada categoría de producto
gen consumo_mun_prod=consumo_pc_prod*pob_mun_2023


	**** Para obtener tabla de excel GastoTotal_Mun_3,
	{
	* activar este código eliminando "/*" y "*/". Tras la consulta, restablecezca el 
	* código y vuelva a correr el programa. 
	/*
	keep mun_code mun_code consumo_mun_prod prod_code_3
	reshape wide consumo_mun_prod, i(mun_code) j(prod_code_3) string
	*/	
	}

*
* 6. Incorporamos valores de intensidades de carbono por euro gastado en producto
merge m:1 prod_code_3 using "C:\...\ARCA_Informe_datos_stata_v20251001\stata\gei_intensidades.dta" //sustituir por directorio local
drop _merge

* 7. Aplicamos intensidades, obteniendo emisiones per capita por municipio y producto
gen emisiones_hog_pc_prod=consumo_pc_prod*gei_intensidades

* 8. Calculamos valor total de emisiones per cápita en cada municipio
bysort mun_code: egen emisiones_hog_pc=total(emisiones_hog_pc_prod)


* 9. Obtenemos las emisiones totales de cada municipio y por cada categoría de producto
gen emisiones_hog_mun=emisiones_hog_pc*pob_mun 
gen emisiones_hog_prod_mun = emisiones_hog_pc_prod*pob_mun


	**** Para obtener tabla de excel ImpactoGEI_Hogares,
	{
	* activar este código eliminando "/*" y "*/". Tras la consulta, restablecezca el 
	* código y vuelva a correr el programa. 
	/*
	keep mun_code mun_code emisiones_hog_prod_mun prod_code_3
	reshape wide emisiones_hog_prod_mun, i(mun_code) j(prod_code_3) string
	*/
	}
*
* 10. Calculamos las emisiones totales en España para poder calcular luego la proporción que emite 
*    cada municipio dentro del total español
egen emisiones_hog_esp=total(emisiones_hog_prod_mun)		

* 11. Obtenemos las emisiones muncipales de los hogares ajustadas al total de emisiones 
* de hogares en EXIOBASE. Dicho de otro modo, repartimos entre los municipios las emisiones 
* de los hogares según EXIOBASE en función de la distribución obtenida en emisiones_hog 
gen emisiones_hog_mun_ajust=378213574320.987*(emisiones_hog_mun/emisiones_hog_esp)

* 12. Estimamos las emisiones municipales ajustadas para cada categoría de producto 
*     manteniendo la proporción que habíamos obtenido 
gen emisiones_hog_prod_mun_ajust= emisiones_hog_mun_ajust*(emisiones_hog_prod_mun/emisiones_hog_mun)
	
		**** Para obtener el desglose por producto de tabla de excel ImpactoGEI_desglose,
	{
	* activar este código eliminando "/*" y "*/". Tras la consulta, restablecezca el 
	* código y vuelva a correr el programa. 
	/*
	keep mun_code mun_code emisiones_hog_prod_mun_ajust prod_code_3
	reshape wide emisiones_hog_prod_mun_ajust, i(mun_code) j(prod_code_3) string
	*/
	}
	
*	
* 13. Asignamos las emisiones procedentes del Estado y las ISFL e inventario de 
* empresas (72778879942.3141) de 2024 (proyección propia a partir de EXIOBASE) en proporción a su población.
gen pob_espana_2023=48022515 //Población española en 2023 según INE
gen emisiones_gob_isflsh_mun=72778879942.3141*(pob_mun/pob_espana_2023)

* 14. Emisiones totales del municipio: 
* Sumamos las emisiones procedentes del consumo de los hogares y de las atribuibles
* por medio las actividade de Gobierno e ISFLSH.
* Las llamamos "emisiones_iniciales" porque serán utilizadas como tal en el cálculo de 
* los objetivos de neutralidad climática. También se calcula la magnitud per cápita
* a efectos informativos, pero no serán utilizadas en lo sucesivo.
gen emisiones_iniciales=emisiones_hog_mun_ajust+emisiones_gob_isflsh_mun
gen emisiones_iniciales_pc=emisiones_iniciales/pob_mun


* 15. Transformamos la tabla para que la unidad de análisis sea el municipio y no la categoría de producto
*     También aprovechamos para limpiar la tabla y quedarnos sólo con emisiones_iniciales de cara al 
*     siguiente ejercicio
bysort mun_code: gen id=_n
keep if id==1
keep mun_code mun_name ccaa_name ccaa_code tamano_mun emisiones_iniciales



********************************************************************************
****      CÁLCULO DE ARCAs      ************************************************
********************************************************************************

* 16. Distribuimos el budget español entre los municipios por el método grandfathering
egen total_emisiones_espana=total(emisiones_iniciales)

gen presupuesto_1850_15 = -22136637723131.6*(emisiones_iniciales/total_emisiones_espana)
gen presupuesto_1990_15 = -5983600901325*(emisiones_iniciales/total_emisiones_espana)
gen presupuesto_2000_15 = -4680152025381.66*(emisiones_iniciales/total_emisiones_espana)
gen presupuesto_2015_15 = -1107027925498.58*(emisiones_iniciales/total_emisiones_espana)
gen presupuesto_2025_15 = 165875377909.718*(emisiones_iniciales/total_emisiones_espana)

gen presupuesto_1850_17 = -21638724461908.4*(emisiones_iniciales/total_emisiones_espana)
gen presupuesto_1990_17 = -4528692721408.58*(emisiones_iniciales/total_emisiones_espana)
gen presupuesto_2000_17 = -3264831895633.26*(emisiones_iniciales/total_emisiones_espana)
gen presupuesto_2015_17 = 231893223580.342*(emisiones_iniciales/total_emisiones_espana)
gen presupuesto_2025_17 = 1447440027607.38*(emisiones_iniciales/total_emisiones_espana)

gen presupuesto_1850_2 = -20941645896196*(emisiones_iniciales/total_emisiones_espana)
gen presupuesto_1990_2 = -2491821269525.59*(emisiones_iniciales/total_emisiones_espana)
gen presupuesto_2000_2 = -1283383713985.52*(emisiones_iniciales/total_emisiones_espana)
gen presupuesto_2015_2 = 2106382832290.84*(emisiones_iniciales/total_emisiones_espana)
gen presupuesto_2025_2 = 3241630537184.11*(emisiones_iniciales/total_emisiones_espana)

* 17. Cálculamos el número de años para alcanzar la neutralidad climática
gen anos_a_ser_neutral_1850_15  = (2*presupuesto_1850_15)/emisiones_iniciales
gen anos_a_ser_neutral_1990_15  = (2*presupuesto_1990_15)/emisiones_iniciales
gen anos_a_ser_neutral_2000_15  = (2*presupuesto_2000_15)/emisiones_iniciales
gen anos_a_ser_neutral_2015_15  = (2*presupuesto_2015_15)/emisiones_iniciales
gen anos_a_ser_neutral_2025_15  = (2*presupuesto_2025_15)/emisiones_iniciales

gen anos_a_ser_neutral_1850_17  = (2*presupuesto_1850_17)/emisiones_iniciales
gen anos_a_ser_neutral_1990_17  = (2*presupuesto_1990_17)/emisiones_iniciales
gen anos_a_ser_neutral_2000_17  = (2*presupuesto_2000_17)/emisiones_iniciales
gen anos_a_ser_neutral_2015_17  = (2*presupuesto_2015_17)/emisiones_iniciales
gen anos_a_ser_neutral_2025_17  = (2*presupuesto_2025_17)/emisiones_iniciales

gen anos_a_ser_neutral_1850_2  = (2*presupuesto_1850_2)/emisiones_iniciales
gen anos_a_ser_neutral_1990_2  = (2*presupuesto_1990_2)/emisiones_iniciales
gen anos_a_ser_neutral_2000_2  = (2*presupuesto_2000_2)/emisiones_iniciales
gen anos_a_ser_neutral_2015_2  = (2*presupuesto_2015_2)/emisiones_iniciales
gen anos_a_ser_neutral_2025_2  = (2*presupuesto_2025_2)/emisiones_iniciales

* 18. Cálculamos el año donde se debe alcanzar la neutralidad
gen ano_neutral_1850_15  = 2025+floor(anos_a_ser_neutral_1850_15)
gen ano_neutral_1990_15  = 2025+floor(anos_a_ser_neutral_1990_15)
gen ano_neutral_2000_15  = 2025+floor(anos_a_ser_neutral_2000_15)
gen ano_neutral_2015_15  = 2025+floor(anos_a_ser_neutral_2015_15)
gen ano_neutral_2025_15  = 2025+floor(anos_a_ser_neutral_2025_15)

gen ano_neutral_1850_17  = 2025+floor(anos_a_ser_neutral_1850_17)
gen ano_neutral_1990_17  = 2025+floor(anos_a_ser_neutral_1990_17)
gen ano_neutral_2000_17  = 2025+floor(anos_a_ser_neutral_2000_17)
gen ano_neutral_2015_17  = 2025+floor(anos_a_ser_neutral_2015_17)
gen ano_neutral_2025_17  = 2025+floor(anos_a_ser_neutral_2025_17)

gen ano_neutral_1850_2  = 2025+floor(anos_a_ser_neutral_1850_2)
gen ano_neutral_1990_2  = 2025+floor(anos_a_ser_neutral_1990_2)
gen ano_neutral_2000_2  = 2025+floor(anos_a_ser_neutral_2000_2)
gen ano_neutral_2015_2  = 2025+floor(anos_a_ser_neutral_2015_2)
gen ano_neutral_2025_2  = 2025+floor(anos_a_ser_neutral_2025_2)

* 19. Cálculo de reducción anual para no agotar presupuesto
gen reduccion_anual_1850_15_si=((anos_a_ser_neutral_1850_15*emisiones_iniciales-presupuesto_1850_15)*2)/(anos_a_ser_neutral_1850_15*(anos_a_ser_neutral_1850_15+1))
gen reduccion_anual_1990_15_si=((anos_a_ser_neutral_1990_15*emisiones_iniciales-presupuesto_1990_15)*2)/(anos_a_ser_neutral_1990_15*(anos_a_ser_neutral_1990_15+1))
gen reduccion_anual_2000_15_si=((anos_a_ser_neutral_2000_15*emisiones_iniciales-presupuesto_2000_15)*2)/(anos_a_ser_neutral_2000_15*(anos_a_ser_neutral_2000_15+1))
gen reduccion_anual_2015_15_si=((anos_a_ser_neutral_2015_15*emisiones_iniciales-presupuesto_2015_15)*2)/(anos_a_ser_neutral_2015_15*(anos_a_ser_neutral_2015_15+1))
gen reduccion_anual_2025_15_si=((anos_a_ser_neutral_2025_15*emisiones_iniciales-presupuesto_2025_15)*2)/(anos_a_ser_neutral_2025_15*(anos_a_ser_neutral_2025_15+1))

gen reduccion_anual_1850_17_si=((anos_a_ser_neutral_1850_17*emisiones_iniciales-presupuesto_1850_17)*2)/(anos_a_ser_neutral_1850_17*(anos_a_ser_neutral_1850_17+1))
gen reduccion_anual_1990_17_si=((anos_a_ser_neutral_1990_17*emisiones_iniciales-presupuesto_1990_17)*2)/(anos_a_ser_neutral_1990_17*(anos_a_ser_neutral_1990_17+1))
gen reduccion_anual_2000_17_si=((anos_a_ser_neutral_2000_17*emisiones_iniciales-presupuesto_2000_17)*2)/(anos_a_ser_neutral_2000_17*(anos_a_ser_neutral_2000_17+1))
gen reduccion_anual_2015_17_si=((anos_a_ser_neutral_2015_17*emisiones_iniciales-presupuesto_2015_17)*2)/(anos_a_ser_neutral_2015_17*(anos_a_ser_neutral_2015_17+1))
gen reduccion_anual_2025_17_si=((anos_a_ser_neutral_2025_17*emisiones_iniciales-presupuesto_2025_17)*2)/(anos_a_ser_neutral_2025_17*(anos_a_ser_neutral_2025_17+1))

gen reduccion_anual_1850_2_si=((anos_a_ser_neutral_1850_2*emisiones_iniciales-presupuesto_1850_2)*2)/(anos_a_ser_neutral_1850_2*(anos_a_ser_neutral_1850_2+1))
gen reduccion_anual_1990_2_si=((anos_a_ser_neutral_1990_2*emisiones_iniciales-presupuesto_1990_2)*2)/(anos_a_ser_neutral_1990_2*(anos_a_ser_neutral_1990_2+1))
gen reduccion_anual_2000_2_si=((anos_a_ser_neutral_2000_2*emisiones_iniciales-presupuesto_2000_2)*2)/(anos_a_ser_neutral_2000_2*(anos_a_ser_neutral_2000_2+1))
gen reduccion_anual_2015_2_si=((anos_a_ser_neutral_2015_2*emisiones_iniciales-presupuesto_2015_2)*2)/(anos_a_ser_neutral_2015_2*(anos_a_ser_neutral_2015_2+1))
gen reduccion_anual_2025_2_si=((anos_a_ser_neutral_2025_2*emisiones_iniciales-presupuesto_2025_2)*2)/(anos_a_ser_neutral_2025_2*(anos_a_ser_neutral_2025_2+1))

* 20. Escenarios de business as usual tienen reducción anual igual a cero
gen reduccion_anual_1850_15_no=0
gen reduccion_anual_1990_15_no=0
gen reduccion_anual_2000_15_no=0
gen reduccion_anual_2015_15_no=0
gen reduccion_anual_2025_15_no=0

gen reduccion_anual_1850_17_no=0
gen reduccion_anual_1990_17_no=0
gen reduccion_anual_2000_17_no=0
gen reduccion_anual_2015_17_no=0
gen reduccion_anual_2025_17_no=0

gen reduccion_anual_1850_2_no=0
gen reduccion_anual_1990_2_no=0
gen reduccion_anual_2000_2_no=0
gen reduccion_anual_2015_2_no=0
gen reduccion_anual_2025_2_no=0

* 21. Cálculo reducción anual siguiendo objetivo de Unión Europea (neutralidad en 2050)
gen reduccion_anual_1850_15_eu=emisiones_iniciales/26
gen reduccion_anual_1990_15_eu=emisiones_iniciales/26
gen reduccion_anual_2000_15_eu=emisiones_iniciales/26
gen reduccion_anual_2015_15_eu=emisiones_iniciales/26
gen reduccion_anual_2025_15_eu=emisiones_iniciales/26

gen reduccion_anual_1850_17_eu=emisiones_iniciales/26
gen reduccion_anual_1990_17_eu=emisiones_iniciales/26
gen reduccion_anual_2000_17_eu=emisiones_iniciales/26
gen reduccion_anual_2015_17_eu=emisiones_iniciales/26
gen reduccion_anual_2025_17_eu=emisiones_iniciales/26

gen reduccion_anual_1850_2_eu=emisiones_iniciales/26
gen reduccion_anual_1990_2_eu=emisiones_iniciales/26
gen reduccion_anual_2000_2_eu=emisiones_iniciales/26
gen reduccion_anual_2015_2_eu=emisiones_iniciales/26
gen reduccion_anual_2025_2_eu=emisiones_iniciales/26


**********************************************************************************
**** Guardar tabla ***************************************************************

save arca.dta	

	
	
	
	
	
	
	
	
	
