Faro Datamaker

An example script to set up an ensemble of initial conditions for the EnKF code given in EnKF and faro. Also simulates measurement data via a fine solve followed by addition of white noise.

Choice of parameters should be made through the cyclops_control library.

Classes

  • Noiser : Adds white noise to a known vector

Functions

  • h_init_twohump : Creates an initial double-Gaussian height field
  • setup_data : the main method to create the data and dump it via a pickled dict
Author: Adam G. Peddle
Version: 1.0
class faro_datamaker.Noiser(mean=0, var=0.05)[source]

A wrapper on a normal distribution to add white (in space and time) noise to a given vector.

Attributes

  • mean : the mean of the noise (should be 0 if it’s white)
  • var : the variance of the noise

Methods

  • apply : Adds noise to a given vector
apply(data_in)[source]

Adds white noise to a given vector

Parameters

  • data_in : The input vector

Returns

  • The data plus noise
faro_datamaker.h_init_twohump(control)[source]

This function sets up a two-humped Gaussian initial condition for the height field.

Returns

-h_space : The initial height field

faro_datamaker.setup_data(control)[source]

Main program to create necessary data for a sequential data assimilation run with the faro script.

Parameters

  • control : a control object

Outputs

Output is via a pickled dict in outFileStem_assim_data.dat. Contents are:

  • x_meas : The indices of the measurement locations
  • final_time : The length of the coarse timestep cycle used
  • t : Temporal measurement locations
  • u : The measurements derived from simulation + noise
  • ICs : Initial condition ensemble via Gaussian process regressor
  • size : The ensemble size