ciceroOslo / ciceroscm

Python version of the CICERO-SCM simple climate model/emulator
Apache License 2.0
17 stars 4 forks source link

Confusing error messages on required parameters #85

Closed benmsanderson closed 2 years ago

benmsanderson commented 2 years ago

Inclusion of some parameters returns a message saying those parameters are not required. Omission of same parameters returns a message saying that the parameter has not been provided and will be set to default values.

For example (when model is defined): cscm_dir=CICEROSCM({ "gaspam_data": gaspam, "emstart": 1750,
"conc_run":True, "nystart": 1750, "nyend": 2100, "concentrations_data": df_ssp2_conc, "emissions_data": emi_input, "nat_ch4_data": df_nat_ch4, "nat_n2o_data": df_nat_n2o, "idtm":24, })

Parameter idtm is not used. Please check if you have a typo

cscm_dir=CICEROSCM({ "gaspam_data": gaspam, "emstart": 1750,
"conc_run":True, "nystart": 1750, "nyend": 2100, "concentrations_data": df_ssp2_conc, "emissions_data": emi_input, "nat_ch4_data": df_nat_ch4, "nat_n2o_data": df_nat_n2o }) Parameter idtm not in pamset. Using default value 24

similar behaviour for lamb , emstart , nystart, nyend - when model is run.

maritsandstad commented 2 years ago

Yeah, thanks, I'll fix that... Having warnings for these things were actually a bit of pain, obviously didn't quite get it right the first time...

benmsanderson commented 2 years ago

All fixed except idtm:

I'm still getting the following behavior (illustrating setting non-default value):

cscm_dir=CICEROSCM({ "gaspam_data": gaspam, "emstart": 1750,
"conc_run":True, "nystart": 1750, "nyend": 2100, "concentrations_data": df_ssp2_conc, "emissions_data": emi_input, "nat_ch4_data": df_nat_ch4, "nat_n2o_data": df_nat_n2o, "idtm":32, })

Parameter idtm not in pamset. Using default value 24

cscm_dir.cfg['idtm'] 32

Note if idtm is omitted from cfg - the notification is printed twice.

maritsandstad commented 2 years ago

Classic case of Friday night coding, I suppose, should be fixed now...