chrisroadmap / ar6

Figure and data generation for Chapter 7 of the IPCC's Sixth Assessment Report, Working Group 1 (plus assorted other contributions)
MIT License
32 stars 27 forks source link

Different results obtained on SSP2-4.5 simulation (from 1750 to 2100) using constrained set of paremeters #28

Closed fracamil closed 2 years ago

fracamil commented 2 years ago

Dear Chris,

I am trying to re-run the SSP2-4.5 simulation until 2100, using the constrained set of parameters (including contrails). Unfortunately, I am unable to obtain the same results as you. They are close, but "colder". I may miss something. Same input emissions are used, from the rcmip emissions file (filtered on SSP2-4.5). I run the fair_scm function directly (after initializing all parameters), being unable to run it on a multiprocessor computer.

Here are the parameters passed to fair_scm function. Maybe if you could have a quick look or indicate me if there is an uncorrect thing I would be very grateful if you could.

I thank you in advance.

Be sure I am not asking for a complete debugging of my notebook! This is not the place... Code is largely taken from your 180 notebook (I will cite you and reference this repository, along with IPCC AR6 WG1 Chapter 7 SM and all relevant bibliographical references, off course).

Best regards,

François

Beginning of parameters preparation before passing to fair_scm

aCO2land = -0.2 / 190
E_ref_BC = 6.095

#pre-industrial emissions
E_pi = np.zeros(40)
E_pi[:] = constrained_configs[0]['E_pi'][:]

for run_id in tqdm(range(NB_CONSTRAINED_CONFIGS)):

  #initializes pre industrial concentrations
  C_pi = np.zeros(31)
  C_pi[:] = constrained_configs[run_id]['C_pi'][:]

  #initializes scaling factors
  scale = np.zeros(45)
  scale[:] = constrained_configs[run_id]['scale'][:]

  #runs fair with constrained set of parameters
  thisC, thisF, thisT, _, thisOHU, _, thisAF = fair.forward.fair_scm(
          ghg_forcing='Meinshausen',
          emissions=E1, #note: this contains the reconstructed emissions, from the rcmip emissions file
          natural=Natural,
          F_volcanic=Volcanic,
          F_solar=Solar,
          efficacy= np.ones(45),
          diagnostics= 'AR6',
          gir_carbon_cycle= True,
          aerosol_forcing= 'aerocom+ghan2',
          contrail_forcing='NOx',
          aviNOx_frac=avinox_fraction,
          E_ref_aviNOx=avinox_Eref, #note: 2018 aviation NOx emissions from SSP emissions file
          F_ref_aviNOx=avinox_Fref, #note: calculated to fit to Lee et al. 2021
          fixPre1850RCP= False,
          E_pi = E_pi,
          temperature_function= 'Geoffroy',
          b_tro3= constrained_configs[run_id]['b_tro3'],
          ozone_feedback= constrained_configs[run_id]['ozone_feedback'],
          tropO3_forcing= 'thornhill-skeie',
          aCO2land= aCO2land,
          stwv_from_ch4= 0.079047,
          F_ref_BC= 0.08,
          E_ref_BC= E_ref_BC,
          C_pi=C_pi,
          F2x= constrained_configs[run_id]['F2x'],
          r0= constrained_configs[run_id]['r0'],
          rc= constrained_configs[run_id]['rc'],
          rt= constrained_configs[run_id]['rt'],
          lambda_global= constrained_configs[run_id]['lambda_global'],  # this and the below only used in two-layer model
          ocean_heat_capacity= constrained_configs[run_id]['ocean_heat_capacity'],
          ocean_heat_exchange= constrained_configs[run_id]['ocean_heat_exchange'],
          deep_ocean_efficacy= constrained_configs[run_id]['deep_ocean_efficacy'],
          b_aero= constrained_configs[run_id]['b_aero'],
          ghan_params= constrained_configs[run_id]['ghan_params'],
          scale=scale,
      )
fracamil commented 2 years ago

Was a stupid question... I got all my answers reading correctly the COP26-Pathways notebooks (https://github.com/chrisroadmap/cop26-pathways).