pro separate_training_by_doy train_frac = 0.75 input = 'ecm_training_abhi.sav' output_train = 'ecm_training_abhi_train.sav' output_test = 'ecm_training_abhi_test.sav' restore, input ;----------------------------------- ; sort data ;----------------------------------- print, 'starting shuffle' n_full = n_elements(training_data.doy) doy = fix(training_data.doy) n_full = doy.length x = randomu(dseed,n_full) idx = sort(x) n_train = train_frac * n_full n_test = n_full - n_train idx_train = idx[0:n_train-1] idx_test = idx[n_train:n_full-1] print, 'number in total = ', n_full print, 'number in training = ', n_train print, 'number in testing = ', n_test training_data_full = training_data training_data = training_data_full[idx_train] save, file = output_train, training_data, TRAINING_DATA_CODE_ID_STRING, TRAINING_DATA_CREATION_TIME_STRING, /compress training_data = training_data_full[idx_test] save, file = output_test, training_data, TRAINING_DATA_CODE_ID_STRING, TRAINING_DATA_CREATION_TIME_STRING, /compress stop end