Beispiel #1
0
                                  solver='L-BFGS-B',
                                  minimize_options=minimize_options,
                                  inversion_subdir=subdir,
                                  fg_shape_factor=1.,
                                  bounds_min_max=(2, 300))

    # Optional, if not reset=True and already ran once
    # only needed once:
    if first_run:
        create_glacier(gdir)
        first_run = False
    # compile_first_guess(gdir)

    noise = create_perlin_noise(gdir,
                                noise_parameters[0],
                                octaves=octaves,
                                base=noise_parameters[2],
                                freq=noise_parameters[1],
                                glacier_only=True)
    #plt.figure()
    #plt.imshow(noise)
    #plt.show()

    take_true_bed_as_first_guess(gdir)
    add_noise_to_first_guess(gdir, noise)

    idir = InversionDirectory(gdir)

    # copy this script to inversion directory for reproducibility
    path_to_file = '/home/philipp/COBBI/combine/sandbox/Giluwe' \
                   '/noisy_first_guess_inversion_run.py'
    fname = os.path.split(path_to_file)[-1]
Beispiel #2
0
                              fg_shape_factor=1.,
                              fg_slope_cutoff_angle=2.5,
                              fg_min_height=-30,
                              fg_interp_boundary=True,
                              bounds_min_max=(2, 1000)
                              )


# Optional, if not reset=True and already ran once
# only needed once:
#create_glacier(gdir)
compile_first_guess(gdir)

if os.path.exists(gdir.get_filepath('dem_noise')):
    os.remove(gdir.get_filepath('dem_noise'))
noise = create_perlin_noise(gdir, desired_rmse, octaves=4, base=2, freq=3,
                            glacier_only=True)
add_surface_noise(gdir, noise)

create_case_table(gdir)

idir = InversionDirectory(gdir)

# copy this script to inversion directory for reproducibility
path_to_file = '/home/philipp/COBBI/combine/sandbox/bonus_runs' \
               '/perturbed_surface.py'
fname = os.path.split(path_to_file)[-1]
if not os.path.exists(idir.get_current_basedir()):
    os.makedirs(idir.get_current_basedir(), exist_ok=True)
shutil.copy(path_to_file, os.path.join(idir.get_current_basedir(), fname))

res = idir.run_minimize()
Beispiel #3
0
        np.random.seed(bed_measurements_dict['seed'])
        bed_measurements = generate_bed_measurements(
            gdir,
            bed_measurements_dict['measurement_mask'],
            std=bed_measurements_dict['std'])
        add_bed_measurements(gdir, bed_measurements)

    # First guess options
    if not use_preexisting_fg:
        compile_first_guess(gdir)
    if biased_fg_dict['use']:
        compile_biased_first_guess(gdir, biased_fg_dict['desired_mean_bias'])
    if rmsed_fg_dict['use']:
        # desired_rmse = 5
        # desired_rmse = 20.2038        # results in actual rmse of 20
        noise = create_perlin_noise(gdir, **rmsed_fg_dict)
        take_true_bed_as_first_guess(gdir)
        add_noise_to_first_guess(gdir, noise)

    if use_measurements_in_fg:
        apply_bed_measurements_to_first_guess(gdir)

    # Maybe some surface noise?
    if surface_noise_dict['use']:
        noise = create_perlin_noise(gdir, **surface_noise_dict)
        add_surface_noise(gdir, noise)

    idir = InversionDirectory(gdir)
    res = idir.run_minimize()
    eval_identical_twin(idir)