AMR-Wind inputs file

To run amr_wind, the user must provide a text file containing inputs describing the problem and any additional command-line arguments that override the parameters in the input file for that particular invocation of the executable.

# Parse input parameters from `inputs.abl` but change max_step to 20
$ ./amr_wind inputs.abl time.max_step=20

The input file is a simple text file containing key = value entries for the input parameters. The text file can include comments, any text beginning with # till the end of line (EOF) is interpreted as comments and ignored by the parser. Input file processing is handled by AMReX ParmParse library. This section documents the various input file parameters and their default values (if available). In amr_wind, the input file is broken into sections indicated by a namespace prefix. For example, all inputs related to the problem domain are prefixed with geometry. and so on. A sample input file is shown below

  1# AMR-Wind example input file
  2#
  3# Atmospheric boundary layer (precursor) simulation
  4#
  5
  6# Problem domain definition
  7geometry.prob_lo                            = 0.0 0.0 0.0
  8geometry.prob_hi                            = 5120.0 5120.0 1280.0
  9geometry.is_periodic                        = 1 1 0
 10
 11# Mesh resolution and AMR definitions
 12amr.n_cell                                  = 512 512 128
 13amr.max_level                               = 0
 14
 15# Simulation control parameters
 16time.stop_time                              = 20000.0
 17time.max_step                               = -1
 18time.fixed_dt                               = 0.5
 19time.cfl                                    = 0.95
 20time.init_shrink                            = 0.1
 21time.regrid_interval                        = -1
 22time.plot_interval                          = 1000
 23time.checkpoint_interval                    = 10000
 24time.use_force_cfl                          = false
 25
 26# input/output settings
 27io.check_file                               = "chk"
 28io.plot_file                                = "plt"
 29io.restart_file                             = ""
 30
 31# incflo
 32incflo.physics                              = ABL
 33incflo.density                              = 1.225
 34incflo.velocity                             = 6.0 5.0 0.0
 35incflo.verbose                              = 0
 36incflo.initial_iterations                   = 3
 37incflo.do_initial_proj                      = true
 38incflo.constant_density                     = true
 39incflo.use_godunov                          = 1
 40incflow.godunov_type                        = "ppm"
 41incflo.godunov_use_forces_in_trans          = false
 42incflo.diffusion_type                       = 2
 43
 44# transport equation parameters
 45transport.model                             = ConstTransport
 46transport.viscosity                         = 1.0e-5
 47transport.laminar_prandtl                   = 0.7
 48transport.turbulent_prandtl                 = 0.333
 49
 50# turbulence equation parameters
 51turbulence.model                            = OneEqKsgsM84
 52
 53# Atmospheric boundary layer
 54ABL.Uperiods                                = 4.0
 55ABL.Vperiods                                = 4.0
 56ABL.cutoff_height                           = 50.0
 57ABL.deltaU                                  = 1.0
 58ABL.deltaV                                  = 1.0
 59ABL.kappa                                   = .41
 60ABL.normal_direction                        = 2
 61ABL.perturb_ref_height                      = 50.0
 62ABL.perturb_temperature                     = true
 63ABL.perturb_velocity                        = true
 64ABL.reference_temperature                   = 290.0
 65ABL.stats_output_format                     = netcdf
 66ABL.stats_output_frequency                  = 1
 67ABL.surface_roughness_z0                    = 0.01
 68ABL.surface_temp_flux                       = 0.005
 69ABL.temperature_heights                     = 0.0 2000.0
 70ABL.temperature_values                      = 290.0 296.0
 71
 72# momentum source term parameters
 73ICNS.source_terms                           = BoussinesqBuoyancy CoriolisForcing ABLForcing
 74ABLForcing.abl_forcing_height               = 90.0
 75BoussinesqBuoyancy.reference_temperature    = 300.0
 76BoussinesqBuoyancy.thermal_expansion_coeff  = 0.003333333333
 77CoriolisForcing.east_vector                 = 1.0 0.0 0.0
 78CoriolisForcing.latitude                    = 41.3
 79CoriolisForcing.north_vector                = 0.0 1.0 0.0
 80CoriolisForcing.rotational_time_period      = 86400.0
 81GeostrophicForcing.geostrophic_wind         = 10.0 0.0 0.0
 82
 83# Boundary conditions
 84zhi.type                                    = "slip_wall"
 85zhi.temperature_type                        = "fixed_gradient"
 86zhi.temperature                             = 0.003
 87zlo.type                                    = "wall_model"
 88zlo.tke_type                                = "fixed_gradient"
 89
 90# MLMG options for cell-centered diffusion solve
 91diffusion.mg_verbose                        = 0
 92diffusion.mg_cg_verbose                     = 0
 93diffusion.mg_max_iter                       = 200
 94diffusion.mg_cg_max_iter                    = 200
 95diffusion.mg_fmg_max_iter                   = 0
 96diffusion.mg_max_coarsening_level           = 100
 97diffusion.mg_max_order                      = 2
 98diffusion.mg_rtol                           = 1.0e-6
 99diffusion.mg_atol                           = 1.0e-12
100diffusion.bottom_solver                     = "bicgstab"
101
102# MLMG options for MAC Projection
103mac_proj.mg_rtol                            = 1.0e-6
104mac_proj.mg_atol                            = 1.0e-12
105
106# MLMG options for Nodal Projection
107nodal_proj.mg_rtol                          = 1.0e-6
108nodal_proj.mg_atol                          = 1.0e-12
109
110# Post processing algorithms
111incflo.post_processing = sampling enstrophy ke
112
113# Data probe sampling
114sampling.output_frequency = 1
115sampling.labels = l_v11 p_h
116sampling.fields = velocity temperature
117
118# sampling along a line
119sampling.l_v11.type = LineSampler
120sampling.l_v11.num_points = 192
121sampling.l_v11.start = 500.0 500.0 5.0
122sampling.l_v11.end = 500.0 500.0 1995.0
123
124# Sampling on a plane
125sampling.p_h.type = PlaneSampler
126sampling.p_h.axis1 = 5210.0 0.0 0.0
127sampling.p_h.axis2 = 0.0 5210.0 0.0
128sampling.p_h.origin = 0.0 0.0 50.0
129sampling.p_h.num_points = 288 288
130sampling.p_h.normal = 0.0 0.0 1.0
131sampling.p_h.offsets = 0.0 50.0 150.0
132
133# kinetic energy and enstrophy integration
134ke.type = KineticEnergy
135ke.output_frequency = 1
136enstrophy.type = Enstrophy
137enstrophy.output_frequency = 1

Input file reference

The AMR-Wind input file is organized in the following sections

Section

Description

geometry

Computational domain information

amr

Mesh refinement controls

tagging

Static and dynamic refinement options

time

Simulation time controls

io

Input/Output controls

incflo

CFD algorithm and physics controls

transport

Transport equation controls

turbulence

Turbulence model controls

ABL

Atmospheric boundary layer (ABL) controls

ABLMesoForcing

Mesoscale ABL forcing controls

SyntheticTurbulence

Inject turbulence using body forces

Momentum sources

Activate Momentum source terms and their parameters

Boundary conditions

Boundary condition types and gradients

MLMG options

Multi-Level Multi-Grid Linear solver options

Sampling

Data probes to sample field data during simulations

Averaging

Time averaging and correlations

This section documents the parameters available within each section.

Note

  • Boolean flags (true/false) can also be indicated using integers in the text file and uses the convention 0 = False and 1 = True.

  • Quotes around strings are optional.

  • If an input is repeated only the last one is used.