Skip to content

Commit 7845f14

Browse files
committed
Fix reading and writing of configuration files from notebooks
1 parent f114761 commit 7845f14

File tree

1 file changed

+66
-58
lines changed

1 file changed

+66
-58
lines changed

pyTSEB/TSEBIPythonInterface.py

+66-58
Original file line numberDiff line numberDiff line change
@@ -879,67 +879,76 @@ def _on_loadconfig_clicked(self, b):
879879
title='Select Input Configuration File')
880880
if not input_file:
881881
return
882-
config_data = self.parse_input_config(input_file, is_image=self.is_image)
882+
config_data = self.parse_input_config(input_file)
883+
self.get_data(config_data, is_image=self.is_image)
884+
883885
# Update the widget fields
884-
self.w_model.value = config_data['model']
885-
self.w_lat.value = config_data['lat']
886-
self.w_lon.value = config_data['lon']
887-
self.w_alt.value = config_data['alt']
888-
self.w_stdlon.value = config_data['stdlon']
889-
self.w_z_u.value = config_data['z_u']
890-
self.w_z_T.value = config_data['z_T']
891-
self.w_emis_C.value = config_data['emis_C']
892-
self.w_emis_S.value = config_data['emis_S']
893-
self.w_rho_vis_C.value = config_data['rho_vis_C']
894-
self.w_tau_vis_C.value = config_data['tau_vis_C']
895-
self.w_rho_nir_C.value = config_data['rho_nir_C']
896-
self.w_tau_nir_C.value = config_data['tau_nir_C']
897-
self.w_rho_vis_S.value = config_data['rho_vis_S']
898-
self.w_rho_nir_S.value = config_data['rho_nir_S']
899-
self.w_PT.value = config_data['alpha_PT']
900-
self.w_LAD.value = config_data['x_LAD']
901-
self.w_leafwidth.value = config_data['leaf_width']
902-
self.w_zsoil.value = config_data['z0_soil']
903-
if config_data['landcover'].isdigit():
904-
config_data['landcover'] = int(config_data['landcover'])
905-
if config_data['landcover'] not in self.w_lc.options.values():
906-
options = self.w_lc.options.copy()
907-
options.update({config_data['landcover']: config_data['landcover']})
908-
self.w_lc.options = options
909-
self.w_lc.value = config_data['landcover']
910-
self.w_G_form.value = int(config_data['G_form'])
911-
self.w_Gconstant.value = config_data['G_constant']
912-
self.w_Gratio.value = config_data['G_ratio']
913-
self.w_G_amp.value = config_data['G_amp']
914-
self.w_G_phase.value = config_data['G_phase']
915-
self.w_G_shape.value = config_data['G_shape']
916-
self.w_outputtxt.value = config_data['output_file']
917-
self.w_res.value = int(config_data['resistance_form'])
918-
self.w_KN_b.value = config_data['KN_b']
919-
self.w_KN_c.value = config_data['KN_c']
920-
self.w_KN_C_dash.value = config_data['KN_C_dash']
886+
self.w_model.value = self.params['model']
887+
self.w_lat.value = self.params['lat']
888+
self.w_lon.value = self.params['lon']
889+
self.w_alt.value = self.params['alt']
890+
self.w_stdlon.value = self.params['stdlon']
891+
self.w_z_u.value = self.params['z_u']
892+
self.w_z_T.value = self.params['z_T']
893+
self.w_emis_C.value = self.params['emis_C']
894+
self.w_emis_S.value = self.params['emis_S']
895+
self.w_rho_vis_C.value = self.params['rho_vis_C']
896+
self.w_tau_vis_C.value = self.params['tau_vis_C']
897+
self.w_rho_nir_C.value = self.params['rho_nir_C']
898+
self.w_tau_nir_C.value = self.params['tau_nir_C']
899+
self.w_rho_vis_S.value = self.params['rho_vis_S']
900+
self.w_rho_nir_S.value = self.params['rho_nir_S']
901+
self.w_PT.value = self.params['alpha_PT']
902+
self.w_LAD.value = self.params['x_LAD']
903+
self.w_leafwidth.value = self.params['leaf_width']
904+
self.w_zsoil.value = self.params['z0_soil']
905+
try:
906+
self.params['landcover'] = int(self.params['landcover'])
907+
if self.params['landcover'] not in self.w_lc.options.values():
908+
options = self.w_lc.options.copy()
909+
options.update({self.params['landcover']: self.params['landcover']})
910+
self.w_lc.options = options
911+
self.w_lc.value = self.params['landcover']
912+
except ValueError:
913+
pass
914+
g_form = self.params['G_form'][0][0]
915+
self.w_G_form.value = self.params['G_form'][0][0]
916+
if g_form == 0:
917+
self.w_Gconstant.value = self.params['G_form'][1]
918+
if g_form == 1:
919+
self.w_Gratio.value = self.params['G_form'][1]
920+
if g_form == 2:
921+
self.w_G_amp.value = self.params['G_form'][0][1]
922+
self.w_G_phase.value = self.params['G_form'][0][2]
923+
self.w_G_shape.value = self.params['G_form'][0][3]
924+
self.w_outputtxt.value = self.params['output_file']
925+
self.w_res.value = int(self.params['resistance_form'])
926+
self.w_KN_b.value = self.params['KN_b']
927+
self.w_KN_c.value = self.params['KN_c']
928+
self.w_KN_C_dash.value = self.params['KN_C_dash']
921929

922930
if self.is_image:
923-
self.w_T_R1.value = str(config_data['T_R1']).strip('"')
924-
self.w_T_R0.value = str(config_data['T_R0']).strip('"')
925-
self.w_VZAtxt.value = str(config_data['VZA']).strip('"')
926-
self.w_LAItxt.value = str(config_data['LAI']).strip('"')
927-
self.w_Hctxt.value = str(config_data['h_C']).strip('"')
928-
self.w_f_ctxt.value = str(config_data['f_c']).strip('"')
929-
self.w_f_gtxt.value = str(config_data['f_g']).strip('"')
930-
self.w_w_Ctxt.value = str(config_data['w_C']).strip('"')
931-
self.w_masktxt.value = str(config_data['input_mask']).strip('"')
932-
self.w_DOY.value = config_data['DOY']
933-
self.w_time.value = config_data['time']
934-
self.w_T_A1.value = config_data['T_A1']
935-
self.w_S_dn.value = config_data['S_dn']
936-
self.w_u.value = config_data['u']
937-
self.w_ea.value = config_data['ea']
938-
self.w_L_dn.value = str(config_data['L_dn']).strip('"')
939-
self.w_p.value = str(config_data['p']).strip('"')
940-
self.w_T_A0.value = config_data['T_A0']
931+
self.w_T_R1.value = str(self.params['T_R1']).strip('"')
932+
self.w_VZAtxt.value = str(self.params['VZA']).strip('"')
933+
self.w_LAItxt.value = str(self.params['LAI']).strip('"')
934+
self.w_Hctxt.value = str(self.params['h_C']).strip('"')
935+
self.w_f_ctxt.value = str(self.params['f_c']).strip('"')
936+
self.w_f_gtxt.value = str(self.params['f_g']).strip('"')
937+
self.w_w_Ctxt.value = str(self.params['w_C']).strip('"')
938+
self.w_masktxt.value = str(self.params['input_mask']).strip('"')
939+
self.w_DOY.value = self.params['DOY']
940+
self.w_time.value = self.params['time']
941+
self.w_T_A1.value = self.params['T_A1']
942+
self.w_S_dn.value = self.params['S_dn']
943+
self.w_u.value = self.params['u']
944+
self.w_ea.value = self.params['ea']
945+
self.w_L_dn.value = str(self.params['L_dn']).strip('"')
946+
self.w_p.value = str(self.params['p']).strip('"')
947+
if self.params['model'] == "DTD":
948+
self.w_T_R0.value = str(self.params['T_R0']).strip('"')
949+
self.w_T_A0.value = self.params['T_A0']
941950
else:
942-
self.w_inputtxt.value = str(config_data['input_file']).strip('"')
951+
self.w_inputtxt.value = str(self.params['input_file']).strip('"')
943952

944953
def _on_saveconfig_clicked(self, b):
945954
'''Opens a configuration file and writes the parameters in the GUI into the file'''
@@ -1003,7 +1012,6 @@ def _on_saveconfig_clicked(self, b):
10031012
fid.write('rho_nir_C=' + str(self.w_rho_nir_C.value) + '\n')
10041013
fid.write('tau_vis_C=' + str(self.w_tau_vis_C.value) + '\n')
10051014
fid.write('tau_nir_C=' + str(self.w_tau_nir_C.value) + '\n')
1006-
fid.write('tau_nir_C=' + str(self.w_tau_nir_C.value) + '\n')
10071015
fid.write('rho_vis_S=' + str(self.w_rho_vis_S.value) + '\n')
10081016
fid.write('rho_nir_S=' + str(self.w_rho_nir_S.value) + '\n')
10091017

0 commit comments

Comments
 (0)