from mlair.configuration.defaults import * class TestGetDefaults: def test_get_defaults(self): defaults = get_defaults() assert isinstance(defaults, dict) assert all(map(lambda k: k in defaults.keys(), ["DEFAULT_STATIONS", "DEFAULT_BATCH_SIZE", "DEFAULT_PLOT_LIST"])) assert all(map(lambda x: x.startswith("DEFAULT"), defaults.keys())) class TestAllDefaults: def test_training_parameters(self): assert DEFAULT_CREATE_NEW_MODEL is True assert DEFAULT_TRAIN_MODEL is True assert DEFAULT_FRACTION_OF_TRAINING == 0.8 assert DEFAULT_EXTREME_VALUES is None assert DEFAULT_EXTREMES_ON_RIGHT_TAIL_ONLY is False assert DEFAULT_PERMUTE_DATA is False assert DEFAULT_BATCH_SIZE == int(256 * 2) assert DEFAULT_EPOCHS == 20 def test_data_handler_parameters(self): assert DEFAULT_STATIONS == ['DEBW107', 'DEBY081', 'DEBW013', 'DEBW076', 'DEBW087'] assert DEFAULT_VAR_ALL_DICT == {'o3': 'dma8eu', 'relhum': 'average_values', 'temp': 'maximum', 'u': 'average_values', 'v': 'average_values', 'no': 'dma8eu', 'no2': 'dma8eu', 'cloudcover': 'average_values', 'pblheight': 'maximum'} assert DEFAULT_NETWORK == "AIRBASE" assert DEFAULT_STATION_TYPE == "background" assert DEFAULT_VARIABLES == DEFAULT_VAR_ALL_DICT.keys() assert DEFAULT_START == "1997-01-01" assert DEFAULT_END == "2017-12-31" assert DEFAULT_WINDOW_HISTORY_SIZE == 13 assert DEFAULT_OVERWRITE_LOCAL_DATA is False assert DEFAULT_TARGET_VAR == "o3" assert DEFAULT_TARGET_DIM == "variables" assert DEFAULT_WINDOW_LEAD_TIME == 3 assert DEFAULT_DIMENSIONS == {"new_index": ["datetime", "Stations"]} assert DEFAULT_TIME_DIM == "datetime" assert DEFAULT_INTERPOLATION_METHOD == "linear" assert DEFAULT_INTERPOLATION_LIMIT == 1 def test_subset_parameters(self): assert DEFAULT_TRAIN_START == "1997-01-01" assert DEFAULT_TRAIN_END == "2007-12-31" assert DEFAULT_TRAIN_MIN_LENGTH == 90 assert DEFAULT_VAL_START == "2008-01-01" assert DEFAULT_VAL_END == "2009-12-31" assert DEFAULT_VAL_MIN_LENGTH == 90 assert DEFAULT_TEST_START == "2010-01-01" assert DEFAULT_TEST_END == "2017-12-31" assert DEFAULT_TEST_MIN_LENGTH == 90 assert DEFAULT_TRAIN_VAL_MIN_LENGTH == 180 assert DEFAULT_USE_ALL_STATIONS_ON_ALL_DATA_SETS is True def test_hpc_parameters(self): assert DEFAULT_HPC_HOST_LIST == ["jw", "hdfmlc"] assert DEFAULT_HPC_LOGIN_LIST == ["ju", "hdfmll"] def test_postprocessing_parameters(self): assert DEFAULT_EVALUATE_BOOTSTRAPS is True assert DEFAULT_CREATE_NEW_BOOTSTRAPS is False assert DEFAULT_NUMBER_OF_BOOTSTRAPS == 20 assert DEFAULT_PLOT_LIST == ["PlotMonthlySummary", "PlotStationMap", "PlotClimatologicalSkillScore", "PlotTimeSeries", "PlotCompetitiveSkillScore", "PlotBootstrapSkillScore", "PlotConditionalQuantiles", "PlotAvailability", "PlotAvailabilityHistogram", "PlotDataHistogram", "PlotPeriodogram", "PlotOversampling", "PlotOversamplingContingency"]