Skip to content
Snippets Groups Projects
Commit 356af5ce authored by Cristian Lalescu's avatar Cristian Lalescu
Browse files

Merge branch 'feature/scaling-test' into develop

parents 01eabb25 a26bb1c6
Branches
Tags
No related merge requests found
Pipeline #50644 passed
......@@ -3,7 +3,7 @@ import numpy as np
import argparse
import os
import turtle
import TurTLE
def get_DNS_parameters(
DNS_type = 'A',
......@@ -16,8 +16,11 @@ def get_DNS_parameters(
environment = 'express',
minutes = '29',
no_submit = True,
src_dirname = '/draco/ptmp/clalescu/scaling'):
assert (N in [1024, 2048, 4096])
src_dirname = '/draco/ptmp/clalescu/scaling',
src_prefix = 'fbL',
src_iteration = None,
kMeta = 1.5):
assert (N in [128, 1024, 2048, 4096])
simname = (DNS_type + '{0:0>4d}'.format(N))
if output_on:
simname = DNS_type + simname
......@@ -30,14 +33,15 @@ def get_DNS_parameters(
work_dir = 'nn{0:0>4d}np{1}'.format(nnodes, nprocesses)
if not output_on:
class_name += '_no_output'
src_simname = 'fb3_N{0:0>4d}_kMeta1.5'.format(N)
if N == 1024:
src_iteration = 32*1024
if N == 2048:
src_iteration = 20*1024
if N == 4096:
src_simname = 'fb3_N2048x2_kMeta1.5'
src_iteration = 0
src_simname = src_prefix + '_N{0:0>4d}_kMeta{1:.1f}'.format(N, kMeta)
if type(src_iteration) == type(None):
if N == 1024:
src_iteration = 32*1024
if N == 2048:
src_iteration = 20*1024
if N == 4096:
src_simname = 'fb3_N2048x2_kMeta1.5'
src_iteration = 0
DNS_parameters = [
class_name,
'-n', '{0}'.format(N),
......@@ -48,10 +52,24 @@ def get_DNS_parameters(
'--niter_todo', '12',
'--niter_out', '12',
'--niter_stat', '3']
# check that source sim exists
assert(os.path.exists(os.path.join(src_dirname, src_simname + '.h5')))
# check that source checkpoint exists
dns_src = TurTLE.DNS(simname = src_simname, work_dir = src_dirname)
dns_src.read_parameters()
assert(os.path.exists(dns_src.get_checkpoint_fname(iteration = src_iteration)))
DNS_parameters += [
'--src-wd', src_dirname,
'--src-simname', src_simname,
'--src-iteration', '{0}'.format(src_iteration)]
# hardcode precision:
if N <= 1024:
DNS_parameters += ['--precision', 'single']
else:
DNS_parameters += ['--precision', 'double']
# copy parameters from source simulation
for parameter in ['fk0', 'fk1', 'forcing_type', 'dt', 'dealias_type', 'dkx', 'dky', 'dkz', 'energy', 'famplitude', 'fmode', 'injection_rate', 'nu']:
DNS_parameters += ['--' + parameter, '{0}'.format(dns_src.parameters[parameter])]
if DNS_type != 'A':
DNS_parameters += [
'--nparticles', '{0}'.format(nparticles)]
......@@ -136,6 +154,21 @@ def main():
type = str,
dest = 'src_dirname',
default = '/draco/ptmp/clalescu/scaling')
parser.add_argument(
'--src-prefix',
type = str,
dest = 'src_prefix',
default = 'fbL')
parser.add_argument(
'--src-kMeta',
type = float,
dest = 'src_kMeta',
default = 1.5)
parser.add_argument(
'--src-iteration',
type = int,
dest = 'src_iteration',
default = None)
opt = parser.parse_args(sys.argv[1:])
simname, work_dir, params = get_DNS_parameters(
DNS_type = opt.DNS_setup,
......@@ -148,7 +181,10 @@ def main():
no_submit = not opt.submit,
minutes = opt.minutes,
environment = opt.environment,
src_dirname = opt.src_dirname)
src_dirname = opt.src_dirname,
src_prefix = opt.src_prefix,
src_iteration = opt.src_iteration,
kMeta = opt.src_kMeta)
print(work_dir + '/' + simname)
print(' '.join(params))
# these following 2 lines actually launch something
......@@ -156,7 +192,7 @@ def main():
# parameter conflicts after the simname and work_dir have been decided
if not os.path.exists(work_dir):
os.makedirs(work_dir)
c = turtle.DNS()
c = TurTLE.DNS()
c.launch(params)
return None
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment