Skip to content

Instantly share code, notes, and snippets.

@philippslang
Last active August 22, 2017 19:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save philippslang/23a8acee4ae83c87b6b831e3942b270e to your computer and use it in GitHub Desktop.
Save philippslang/23a8acee4ae83c87b6b831e3942b270e to your computer and use it in GitHub Desktop.
p0 = 50. # production rate at time zero
na = -p0 # numeric encoding of not available value
exp_stage_zero = 0.12 # exponent of production decline for stage zero
exp_stage_one = 0.1
time_max = 55.
bounds_stage_change_time = (20., 40.) # we'll generate training data with stage changes between these
num_timesteps = 50 # so many production values per sequence
num_discrete_stage_changes = 5 # we'll generate profiles with this many different stage change times
num_realizations_per_stage_change = 10 # and for each of these times, this many realizations (random noise differs)
num_production_profiles = num_realizations_per_stage_change * num_discrete_stage_changes
# for each generated profile we provide provide this many sequences,
# from first datapoint to the next to last one
num_sequences_per_profile = num_timesteps - 1
num_sequences = num_production_profiles * num_sequences_per_profile
# fill with not available value, overwrite subsequently where appropriate
features = np.full((num_sequences, num_timesteps, num_features), na)
targets = np.full((num_sequences, num_timesteps, num_targets), na)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment