@@ -866,43 +866,43 @@ def add_point_comparison(self,
866866definitions = Validator ()
867867
868868
869- # def generate_mapping(ds):
870- # """
871- # Generate mapping of model and observational variables
872- # """
873- #
874- # model_dict = {}
875- # try:
876- # candidate_variables = definitions.keys
877- # ds1 = nc.open_data(ds[0], checks=False)
878- # ds_contents = ds1.contents
879- #
880- # ds_contents["long_name"] = [str(x) for x in ds_contents["long_name"]]
881- #
882- # ds_contents_top = ds_contents.query("nlevels == 1").reset_index(drop=True)
883- # n_levels = int(ds_contents.nlevels.max())
884- # if n_levels > session_info["n_levels"]:
885- # session_info["n_levels"] = n_levels
886- # # number of rows in ds_contents
887- # if len(ds_contents) == 0:
888- # ds_contents = ds_contents_top
889- # except:
890- # return model_dict
891- #
892- # for vv in candidate_variables:
893- # variables = definitions[vv].model_variable.split("+")
894- # include = True
895- # for var in variables:
896- # if var not in ds_contents.variable.values:
897- # include = False
898- # if include:
899- # model_dict[vv] = definitions[vv].model_variable
900- # n_levels = ds_contents.query("variable in @variables")["nlevels"].max()
901- # if n_levels > definitions[vv].n_levels:
902- # definitions[vv].n_levels = n_levels
903- # continue
904- #
905- # return model_dict
869+ def generate_mapping (ds ):
870+ """
871+ Generate mapping of model and observational variables
872+ """
873+
874+ model_dict = {}
875+ try :
876+ candidate_variables = definitions .keys
877+ ds1 = nc .open_data (ds [0 ], checks = False )
878+ ds_contents = ds1 .contents
879+
880+ ds_contents ["long_name" ] = [str (x ) for x in ds_contents ["long_name" ]]
881+
882+ ds_contents_top = ds_contents .query ("nlevels == 1" ).reset_index (drop = True )
883+ n_levels = int (ds_contents .nlevels .max ())
884+ if n_levels > session_info ["n_levels" ]:
885+ session_info ["n_levels" ] = n_levels
886+ # number of rows in ds_contents
887+ if len (ds_contents ) == 0 :
888+ ds_contents = ds_contents_top
889+ except :
890+ return model_dict
891+
892+ for vv in candidate_variables :
893+ variables = definitions [vv ].model_variable .split ("+" )
894+ include = True
895+ for var in variables :
896+ if var not in ds_contents .variable .values :
897+ include = False
898+ if include :
899+ model_dict [vv ] = definitions [vv ].model_variable
900+ n_levels = ds_contents .query ("variable in @variables" )["nlevels" ].max ()
901+ if n_levels > definitions [vv ].n_levels :
902+ definitions [vv ].n_levels = n_levels
903+ continue
904+
905+ return model_dict
906906#
907907#def generate_mapping_summary(ds):
908908# """
0 commit comments