elif SURR_TYPE == 'AR':
                        sg.add_seasonality(mean[:-1, ...], 1, 0)

                    amp_surrs = np.zeros_like(sg.surr_data)
                    job_args = [(i, j, s0_amp, sg.surr_data[:, i, j])
                                for i in range(sg.lats.shape[0])
                                for j in range(sg.lons.shape[0])]
                    log(map_func)
                    job_results = map_func(_get_amplitude, job_args)
                    del job_args
                    # map results
                    for i, j, amp in job_results:
                        amp_surrs[:, i, j] = amp
                    del job_results

                sg.surr_data = sg.surr_data[IDX, ...]
                phase_surrs = phase_surrs[IDX, ...]
                if AMPLITUDE:
                    amp_surrs = amp_surrs[IDX, ...]

                if SEASON != None:
                    sg.surr_data = sg.surr_data[NDX_SEASON, ...]
                    phase_surrs = phase_surrs[NDX_SEASON, ...]

                if AMPLITUDE:
                    job_args = [(i, j, phase_surrs[:, i, j],
                                 amp_surrs[:, i, j], phase_bins)
                                for i in range(sg.lats.shape[0])
                                for j in range(sg.lons.shape[0])]
                else:
                    job_args = [(i, j, phase_surrs[:, i, j],
                    if SURR_TYPE == 'MF' or SURR_TYPE == 'FT':
                        sg.add_seasonality(mean, 1, 0)
                    elif SURR_TYPE == 'AR':
                        sg.add_seasonality(mean[:-1, ...], 1, 0)

                    amp_surrs = np.zeros_like(sg.surr_data)
                    job_args = [ (i, j, s0_amp, sg.surr_data[:, i, j]) for i in range(sg.lats.shape[0]) for j in range(sg.lons.shape[0]) ]
                    log(map_func)
                    job_results = map_func(_get_amplitude, job_args)
                    del job_args
                    # map results
                    for i, j, amp in job_results:
                        amp_surrs[:, i, j] = amp
                    del job_results
        
                sg.surr_data = sg.surr_data[IDX, ...]
                phase_surrs = phase_surrs[IDX, ...]
                if AMPLITUDE:
                    amp_surrs = amp_surrs[IDX, ...]
                
                if SEASON != None:
                    sg.surr_data = sg.surr_data[NDX_SEASON, ...]
                    phase_surrs = phase_surrs[NDX_SEASON, ...]
                
                if AMPLITUDE:
                    job_args = [ (i, j, phase_surrs[:, i, j], amp_surrs[:, i, j], phase_bins) for i in range(sg.lats.shape[0]) for j in range(sg.lons.shape[0]) ]
                else:
                    job_args = [ (i, j, phase_surrs[:, i, j], sg.surr_data[:, i, j], phase_bins) for i in range(sg.lats.shape[0]) for j in range(sg.lons.shape[0]) ]
                job_result = map_func(_get_cond_means, job_args)
                del job_args, phase_surrs
                # map results