MAIN_DIR = S;

domain
{
    x = D;
    y = D;
    z = D;
    length = D;
    width = D;
    height = D;
}


time
{
    begin = D;
    end = D;
    dt = D;

    calendar
    {
        mode = S;
        year = I;
        month = I;
        day = I;
        hour = I;
        min = I;
        sec = D;
        UTC_offset = I;
    }

}


grid
{
    type = S;
    filename = S;
    cx = I;
    cy = I;
    cz = I;
    ksi_z = D;

    adaptive
    {
        beta = D;
        dz_min = D;
        dz_max = D;
        TKE_threshold_coeff = D;
        hbl_max_coeff = D;
        C_smooth_coeff = D;
        nskip = I;
    }

}


mpi_setup
{
    dimx = I;
    dimy = I;
    dimz = I;
}


phys
{
    f = D;
    nu = D;
    xi = D;
    rho_ref = D;
    g = D;
    Theta_ref = D;
    beta = D;
}


topography
{
    mode = S;
    npatch = I;

    patch_1
    {
        type = S;
        xmin = D;
        xmax = D;
        ymin = D;
        ymax = D;
        height = D;
        xperiod = D;
        yperiod = D;
    }

}


geo_wind
{
    U = D;
    V = D;
}


external_pressure_grad
{
    dPdx = D;
}


surface
{

    Theta
    {
        mode = S;
        value = D;
    }


    Qhum
    {
        mode = S;
    }

    z0_m = D;
    z0_h = D;
    kappa = D;
    Pr_t_0 = D;
    Cm = D;
    Ch = D;
    alpha_m = D;
    alpha_h = D;
    lhflux_alpha = D;
    lhflux_beta = D;
}


initial_conditions
{

    Theta
    {
        mode = S;
        surface_value = D;
        height = D;
        grad_z = D;
    }


    Qhum
    {
        mode = S;
        surface_value = D;
        height = D;
        grad_z = D;
    }

}


damping
{
    is_enabled = B;
    f = D;
    z1 = D;
    z2 = D;
}


les
{
    is_dynamic_momentum = B;
    is_dynamic_scalar = B;
    is_ssm_mixed_momentum = B;
    is_ssm_mixed_scalar = B;
    is_amd_model = B;
    C_ssm_momentum = D;
    C_ssm_scalar = D;
    C_smag = D;
    Prandtl_sgs = D;

    dynamic
    {
        C_smag_max = D;
        Prandtl_sgs_min = D;
        alpha = D;
        avg_mode = S;
        nskip = I;
        use_transport = B;
        C_T_lagrange_momentum = D;
        C_T_lagrange_scalar = D;
    }

    base_filter_reset = B;
    test_filter_reset = B;
    clip_filter_reset = B;
}


passive_tracers
{

    tracer_1
    {
        diffusivity = D;

        surface
        {
            flux = D;
            xmin = D;
            xmax = D;
            ymin = D;
            ymax = D;
            begin = D;
        }

    }


    tracer_2
    {
        diffusivity = D;

        surface
        {
            flux = D;
            begin = D;
        }

    }

}


ptcl
{
    is_passive_transport = B;
    density = D;
    diameter = D;
    g = D;
    nsources = I;

    source_1
    {
        n = I;
        begin = D;
        end = D;
        xmin = D;
        xmax = D;
        ymin = D;
        ymax = D;
        zmin = D;
        zmax = D;
    }

    nsinks = I;

    sink_1
    {
        mode = S;
        xmin = D;
        xmax = D;
        ymin = D;
        ymax = D;
        zmin = D;
        zmax = D;
    }

}


ptcl_track
{
    is_passive_transport = B;
    density = D;
    diameter = D;
    g = D;
    group_max_size = I;
    max_memory = I;
    nsources = I;

    source_1
    {
        n = I;
        begin = D;
        xmin = D;
        xmax = D;
        ymin = D;
        ymax = D;
        zmin = D;
        zmax = D;
    }

    nsinks = I;
}


canopy
{
    Cd = D;
    drag_type = S;
    num = I;

    patch_1
    {
        type = S;
        xmin = D;
        xmax = D;
        ymin = D;
        ymax = D;
        zmin = D;
        zmax = D;
        LAI = D;
    }

}


poisson
{
    retol = D;
    abstol = D;
    miniters = I;
    maxiters = I;
    piters = I;

    multigrid
    {
        ngrid = I;
        down_iters = I;
        up_iters = I;
        direct_iters = I;
        smooth_up_omega = D;
        smooth_up_omega_fine = D;
    }

}


output
{
    DIR = S;
    make_unique_DIR = B;
    convert_dsq_to_tecplot = B;
    num = I;

    unit_1
    {
        SUBDIR = S;
        begin = D;
        dt = D;
        xmin = D;
        xmax = D;
        ymin = D;
        ymax = D;
        zmin = D;
        zmax = D;
        cntrl_avgxy_plt = B;
        cntrl_avgxy_netcdf = B;
        cntrl_3d_plt = B;
        cntrl_3d_bin = B;
        cntrl_3d_netcdf = B;
        cntrl_geometry_3d_plt = B;
        cntrl_geometry_3d_netcdf = B;
        cntrl_topography_plt = B;
        cntrl_topography_netcdf = B;
        cntrl_2d_plt = B;
        cntrl_2d_netcdf = B;
        cntrl_surface_plt = B;
        cntrl_surface_netcdf = B;
        cntrl_grid_plt = B;
        cntrl_grid_netcdf = B;
        cntrl_meteo_avgxy_plt = B;
        cntrl_meteo_all_plt = B;
        cntrl_filtered_3d_plt = B;

        spectrum
        {
            x_cntrl = B;
            y_cntrl = B;
            xy_cntrl = B;
            z_1 = D;
            z_2 = D;
        }

        cntrl_ptcl_bin = B;
        cntrl_ptcl_plt = B;
        cntrl_ptcl_coords_plt = B;
        cntrl_ptcl_traj_bin = B;
        cntrl_ptcl_traj_plt = B;
        x_profile_num = I;
        y_profile_num = I;
        z_profile_num = I;

        x_profile_1
        {
            y = D;
            z = D;
        }

        xy_slice_num = I;
        xz_slice_num = I;
        yz_slice_num = I;

        xy_slice_1
        {
            z = D;
        }

    }


    screen
    {
        begin = D;
        dt = D;
    }

}


checkup
{
    begin = D;
    nskip = I;
}


dump
{
    DIR = S;
    begin = D;
    dt = D;
}


startup
{
    DIR = S;
}


series
{
    begin = D;
    dt = D;

    point_set
    {

        point_1
        {
            x = D;
            y = D;
            z = D;
        }


        point_2
        {
            x = D;
            y = D;
            z = D;
        }


        point_3
        {
            x = D;
            y = D;
            z = D;
        }

    }


    energy_avgxy_set
    {
        z_1 = D;
        z_2 = D;
    }


    flux_avgxy_set
    {
        z_1 = D;
        z_2 = D;
    }

}


spectrum_series
{
    begin = D;
    nskip = I;

    unit_1
    {
        zp = D;
        kxmax = I;
        kymax = I;
    }


    unit_2
    {
        zp = D;
        kxmax = I;
        kymax = I;
    }


    unit_3
    {
        zp = D;
        kxmax = I;
        kymax = I;
    }

}


time_scan
{
    begin = D;
    dt = D;
    cntrl_grid = B;
    cntrl_avgxy = B;
    cntrl_z_profile = B;
    z_profile_num = I;

    z_profile_1
    {
        x = D;
        y = D;
    }

}


stats
{
    num = I;

    unit_1
    {
        begin = D;
        end = D;
        nskip = I;
        axis = S;
        type = S;

        output
        {
            SUBDIR = S;
        }


        dump
        {
            SUBDIR = S;
        }

    }


    unit_2
    {
        begin = D;
        end = D;
        nskip = I;
        axis = S;
        type = S;

        output
        {
            SUBDIR = S;
        }


        dump
        {
            SUBDIR = S;
        }

    }

}


pdf
{

    unit_1
    {
        begin = D;
        end = D;
        dt = D;
        zp = D;

        output
        {
            SUBDIR = S;
        }


        dump
        {
            SUBDIR = S;
        }

        cntrl_default = B;
        nbins_default = I;
        reset_time = D;
        reset_safety = D;
    }

}


joint_pdf
{

    unit_1
    {
        begin = D;
        end = D;
        dt = D;
        zp = D;

        output
        {
            SUBDIR = S;
        }


        dump
        {
            SUBDIR = S;
        }

        cntrl_default = B;
        nxbins_default = I;
        nybins_default = I;
        reset_time = D;
        reset_safety = D;
    }

}


runtime_filter
{
    mark = D;

    unit_1
    {
        mode = S;
        is_remove_mean = B;
        kxmin = I;
        kxmax = I;
        kymin = I;
        kymax = I;
    }


    unit_2
    {
        mode = S;
        is_remove_mean = B;
        kxmin = I;
        kxmax = I;
        kymin = I;
        kymax = I;
    }

}