##############################
# Namelist group: cice_model #
##############################

add_default($nl, 'config_dt');
add_default($nl, 'config_calendar_type', 'calendar'=>"$CALENDAR");
if ($CONTINUE_RUN eq 'TRUE') {
        add_default($nl, 'config_start_time', 'val'=>"'file'");
} else {
        add_default($nl, 'config_start_time', 'val'=>"'${RUN_STARTDATE}_${START_TOD}'");
}
add_default($nl, 'config_stop_time');
add_default($nl, 'config_run_duration');
add_default($nl, 'config_num_halos');

######################
# Namelist group: io #
######################

add_default($nl, 'config_pio_num_iotasks');
add_default($nl, 'config_pio_stride');
add_default($nl, 'config_test_case_diag');
add_default($nl, 'config_test_case_diag_type');

#################################
# Namelist group: decomposition #
#################################

add_default($nl, 'config_block_decomp_file_prefix', 'val'=>"'${DIN_LOC_ROOT}/ice/mpas-cice/${ICE_GRID}/mpas-cice.graph.info.${date_stamp}.part.'");
add_default($nl, 'config_number_of_blocks');
add_default($nl, 'config_explicit_proc_decomp');
add_default($nl, 'config_proc_decomp_file_prefix');

###########################
# Namelist group: restart #
###########################

if ($CONTINUE_RUN eq 'TRUE') {
        add_default($nl, 'config_do_restart', 'val'=>".true.");
        add_default($nl, 'config_do_restart_hbrine', 'val'=>".true.");
        add_default($nl, 'config_do_restart_zsalinity', 'val'=>".true.");
        add_default($nl, 'config_do_restart_bgc', 'val'=>".true.");
} else {
        add_default($nl, 'config_do_restart', 'val'=>".false.");
        add_default($nl, 'config_do_restart_hbrine', 'val'=>".false.");
        add_default($nl, 'config_do_restart_zsalinity', 'val'=>".false.");
        add_default($nl, 'config_do_restart_bgc', 'val'=>".false.");
}
add_default($nl, 'config_restart_timestamp_name');
add_default($nl, 'config_do_restart_hbrine');
add_default($nl, 'config_do_restart_zsalinity');
add_default($nl, 'config_do_restart_bgc');

##############################
# Namelist group: initialize #
##############################

add_default($nl, 'config_initial_condition_type');
add_default($nl, 'config_initial_ice_area');
add_default($nl, 'config_initial_ice_volume');
add_default($nl, 'config_initial_snow_volume');
add_default($nl, 'config_initial_latitude_north');
add_default($nl, 'config_initial_latitude_south');
add_default($nl, 'config_initial_velocity_type');
add_default($nl, 'config_initial_uvelocity');
add_default($nl, 'config_initial_vvelocity');

################################
# Namelist group: use_sections #
################################

add_default($nl, 'config_use_velocity_solver');
add_default($nl, 'config_use_advection');
add_default($nl, 'config_use_forcing');
add_default($nl, 'config_use_column_package');

###########################
# Namelist group: forcing #
###########################

add_default($nl, 'config_atmospheric_forcing_type');
add_default($nl, 'config_forcing_start_time');
add_default($nl, 'config_forcing_cycle_start');
add_default($nl, 'config_forcing_cycle_duration');
add_default($nl, 'config_forcing_restart_file');
add_default($nl, 'config_forcing_precipitation_units');
add_default($nl, 'config_forcing_sst_type');
add_default($nl, 'config_update_ocean_fluxes');
add_default($nl, 'config_include_pond_freshwater_feedback');

#############################
# Namelist group: unit_test #
#############################

add_default($nl, 'config_perform_unit_test');
add_default($nl, 'config_unit_test_type');
add_default($nl, 'config_unit_test_subtype');

###################################
# Namelist group: velocity_solver #
###################################

add_default($nl, 'config_dynamics_subcycle_number');
add_default($nl, 'config_rotate_cartesian_grid');
add_default($nl, 'config_include_metric_terms');
add_default($nl, 'config_elastic_subcycle_number');
add_default($nl, 'config_stress_divergence_scheme');
add_default($nl, 'config_variational_basis');
add_default($nl, 'config_revised_evp');
add_default($nl, 'config_use_air_stress');
add_default($nl, 'config_use_ocean_stress');
add_default($nl, 'config_use_surface_tilt');
add_default($nl, 'config_geostrophic_surface_tilt');

#############################
# Namelist group: advection #
#############################

add_default($nl, 'config_advection_type');
add_default($nl, 'config_monotonic');
add_default($nl, 'config_conservation_check');
add_default($nl, 'config_monotonicity_check');
add_default($nl, 'config_recover_tracer_means_check');

##################################
# Namelist group: column_package #
##################################

add_default($nl, 'config_use_column_shortwave');
add_default($nl, 'config_use_column_vertical_thermodynamics');
add_default($nl, 'config_use_column_biogeochemistry');
add_default($nl, 'config_use_column_itd_thermodynamics');
add_default($nl, 'config_use_column_ridging');

##################################
# Namelist group: column_tracers #
##################################

add_default($nl, 'config_use_ice_age');
add_default($nl, 'config_use_first_year_ice');
add_default($nl, 'config_use_level_ice');
add_default($nl, 'config_use_cesm_meltponds');
add_default($nl, 'config_use_level_meltponds');
add_default($nl, 'config_use_topo_meltponds');
add_default($nl, 'config_use_aerosols');

###################################
# Namelist group: biogeochemistry #
###################################

add_default($nl, 'config_use_brine');
add_default($nl, 'config_use_vertical_zsalinity');
add_default($nl, 'config_use_vertical_biochemistry');
add_default($nl, 'config_use_shortwave_bioabsorption');
add_default($nl, 'config_use_vertical_tracers');
add_default($nl, 'config_use_skeletal_biochemistry');
add_default($nl, 'config_use_nitrate');
add_default($nl, 'config_use_carbon');
add_default($nl, 'config_use_chlorophyll');
add_default($nl, 'config_use_ammonium');
add_default($nl, 'config_use_silicate');
add_default($nl, 'config_use_DMS');
add_default($nl, 'config_use_nonreactive');
add_default($nl, 'config_use_humics');
add_default($nl, 'config_use_DON');
add_default($nl, 'config_use_iron');
add_default($nl, 'config_use_modal_aerosols');
add_default($nl, 'config_use_zaerosols');
add_default($nl, 'config_skeletal_bgc_flux_type');
add_default($nl, 'config_scale_initial_vertical_bgc');
add_default($nl, 'config_biogrid_bottom_molecular_sublayer');
add_default($nl, 'config_biogrid_top_molecular_sublayer');
add_default($nl, 'config_bio_gravity_drainage_length_scale');
add_default($nl, 'config_zsalinity_molecular_sublayer');
add_default($nl, 'config_zsalinity_gravity_drainage_scale');
add_default($nl, 'config_snow_porosity_at_ice_surface');
add_default($nl, 'config_new_ice_fraction_biotracer');
add_default($nl, 'config_fraction_biotracer_in_frazil');

#############################
# Namelist group: shortwave #
#############################

add_default($nl, 'config_shortwave_type');
add_default($nl, 'config_albedo_type');
add_default($nl, 'config_visible_ice_albedo');
add_default($nl, 'config_infrared_ice_albedo');
add_default($nl, 'config_visible_snow_albedo');
add_default($nl, 'config_infrared_snow_albedo');
add_default($nl, 'config_variable_albedo_thickness_limit');
add_default($nl, 'config_ice_shortwave_tuning_parameter');
add_default($nl, 'config_pond_shortwave_tuning_parameter');
add_default($nl, 'config_snow_shortwave_tuning_parameter');
add_default($nl, 'config_temp_change_snow_grain_radius_change');
add_default($nl, 'config_max_melting_snow_grain_radius');
add_default($nl, 'config_algae_absorption_coefficient');

#############################
# Namelist group: meltponds #
#############################

add_default($nl, 'config_snow_to_ice_transition_depth');
add_default($nl, 'config_pond_refreezing_type');
add_default($nl, 'config_pond_flushing_timescale');
add_default($nl, 'config_min_meltwater_retained_fraction');
add_default($nl, 'config_max_meltwater_retained_fraction');
add_default($nl, 'config_pond_depth_to_fraction_ratio');
add_default($nl, 'config_snow_on_pond_ice_tapering_parameter');
add_default($nl, 'config_critical_pond_ice_thickness');

##################################
# Namelist group: thermodynamics #
##################################

add_default($nl, 'config_thermodynamics_type');
add_default($nl, 'config_heat_conductivity_type');
add_default($nl, 'config_rapid_mode_channel_radius');
add_default($nl, 'config_rapid_model_critical_Ra');
add_default($nl, 'config_rapid_mode_aspect_ratio');
add_default($nl, 'config_slow_mode_drainage_strength');
add_default($nl, 'config_slow_mode_critical_porosity');
add_default($nl, 'config_congelation_ice_porosity');

#######################
# Namelist group: itd #
#######################

add_default($nl, 'config_itd_conversion_type');
add_default($nl, 'config_category_bounds_type');

###########################
# Namelist group: ridging #
###########################

add_default($nl, 'config_ice_strength_formulation');
add_default($nl, 'config_ridging_participation_function');
add_default($nl, 'config_ridging_redistribution_function');
add_default($nl, 'config_ridiging_efolding_scale');
add_default($nl, 'config_ratio_ridging_work_to_PE');

##############################
# Namelist group: atmosphere #
##############################

add_default($nl, 'config_atmos_boundary_method');
add_default($nl, 'config_calc_surface_stresses');
add_default($nl, 'config_calc_surface_temperature');
add_default($nl, 'config_use_form_drag');
add_default($nl, 'config_use_high_frequency_coupling');
add_default($nl, 'config_boundary_layer_iteration_number');

#########################
# Namelist group: ocean #
#########################

add_default($nl, 'config_use_ocean_mixed_layer');
add_default($nl, 'config_min_friction_velocity');
add_default($nl, 'config_ocean_heat_transfer_type');
add_default($nl, 'config_sea_freezing_temperature_type');

###############################
# Namelist group: diagnostics #
###############################

add_default($nl, 'config_check_state');

##########################################
# Namelist group: AM_highFrequencyOutput #
##########################################

add_default($nl, 'config_AM_highFrequencyOutput_enable');
add_default($nl, 'config_AM_highFrequencyOutput_compute_interval');
add_default($nl, 'config_AM_highFrequencyOutput_output_stream');
add_default($nl, 'config_AM_highFrequencyOutput_compute_on_startup');
add_default($nl, 'config_AM_highFrequencyOutput_write_on_startup');

###################################
# Namelist group: AM_temperatures #
###################################

add_default($nl, 'config_AM_temperatures_enable');
add_default($nl, 'config_AM_temperatures_compute_interval');
add_default($nl, 'config_AM_temperatures_output_stream');
add_default($nl, 'config_AM_temperatures_compute_on_startup');
add_default($nl, 'config_AM_temperatures_write_on_startup');

#########################################
# Namelist group: AM_regionalStatistics #
#########################################

add_default($nl, 'config_AM_regionalStatistics_enable');
add_default($nl, 'config_AM_regionalStatistics_compute_interval');
add_default($nl, 'config_AM_regionalStatistics_output_stream');
add_default($nl, 'config_AM_regionalStatistics_compute_on_startup');
add_default($nl, 'config_AM_regionalStatistics_write_on_startup');
add_default($nl, 'config_AM_regionalStatistics_ice_extent_limit');

#########################################
# Namelist group: AM_ridgingDiagnostics #
#########################################

add_default($nl, 'config_AM_ridgingDiagnostics_enable');
add_default($nl, 'config_AM_ridgingDiagnostics_compute_interval');
add_default($nl, 'config_AM_ridgingDiagnostics_output_stream');
add_default($nl, 'config_AM_ridgingDiagnostics_compute_on_startup');
add_default($nl, 'config_AM_ridgingDiagnostics_write_on_startup');

########################################
# Namelist group: AM_conservationCheck #
########################################

add_default($nl, 'config_AM_conservationCheck_enable');
add_default($nl, 'config_AM_conservationCheck_compute_interval');
add_default($nl, 'config_AM_conservationCheck_output_stream');
add_default($nl, 'config_AM_conservationCheck_compute_on_startup');
add_default($nl, 'config_AM_conservationCheck_write_on_startup');
add_default($nl, 'config_AM_conservationCheck_write_to_logfile');

##########################################
# Namelist group: AM_geographicalVectors #
##########################################

add_default($nl, 'config_AM_geographicalVectors_enable');
add_default($nl, 'config_AM_geographicalVectors_compute_interval');
add_default($nl, 'config_AM_geographicalVectors_output_stream');
add_default($nl, 'config_AM_geographicalVectors_compute_on_startup');
add_default($nl, 'config_AM_geographicalVectors_write_on_startup');

##################################
# Namelist group: AM_loadBalance #
##################################

add_default($nl, 'config_AM_loadBalance_enable');
add_default($nl, 'config_AM_loadBalance_compute_interval');
add_default($nl, 'config_AM_loadBalance_output_stream');
add_default($nl, 'config_AM_loadBalance_compute_on_startup');
add_default($nl, 'config_AM_loadBalance_write_on_startup');
add_default($nl, 'config_AM_loadBalance_nProcs');

#########################################
# Namelist group: AM_maximumIcePresence #
#########################################

add_default($nl, 'config_AM_maximumIcePresence_enable');
add_default($nl, 'config_AM_maximumIcePresence_compute_interval');
add_default($nl, 'config_AM_maximumIcePresence_output_stream');
add_default($nl, 'config_AM_maximumIcePresence_compute_on_startup');
add_default($nl, 'config_AM_maximumIcePresence_write_on_startup');
add_default($nl, 'config_AM_maximumIcePresence_start_time');

####################################
# Namelist group: AM_miscellaneous #
####################################

add_default($nl, 'config_AM_miscellaneous_enable');
add_default($nl, 'config_AM_miscellaneous_compute_interval');
add_default($nl, 'config_AM_miscellaneous_output_stream');
add_default($nl, 'config_AM_miscellaneous_compute_on_startup');
add_default($nl, 'config_AM_miscellaneous_write_on_startup');

####################################
# Namelist group: AM_areaVariables #
####################################

add_default($nl, 'config_AM_areaVariables_enable');
add_default($nl, 'config_AM_areaVariables_compute_interval');
add_default($nl, 'config_AM_areaVariables_output_stream');
add_default($nl, 'config_AM_areaVariables_compute_on_startup');
add_default($nl, 'config_AM_areaVariables_write_on_startup');

######################################
# Namelist group: AM_pondDiagnostics #
######################################

add_default($nl, 'config_AM_pondDiagnostics_enable');
add_default($nl, 'config_AM_pondDiagnostics_compute_interval');
add_default($nl, 'config_AM_pondDiagnostics_output_stream');
add_default($nl, 'config_AM_pondDiagnostics_compute_on_startup');
add_default($nl, 'config_AM_pondDiagnostics_write_on_startup');

#####################################
# Namelist group: AM_unitConversion #
#####################################

add_default($nl, 'config_AM_unitConversion_enable');
add_default($nl, 'config_AM_unitConversion_compute_interval');
add_default($nl, 'config_AM_unitConversion_output_stream');
add_default($nl, 'config_AM_unitConversion_compute_on_startup');
add_default($nl, 'config_AM_unitConversion_write_on_startup');

#####################################
# Namelist group: AM_pointwiseStats #
#####################################

add_default($nl, 'config_AM_pointwiseStats_enable');
add_default($nl, 'config_AM_pointwiseStats_compute_interval');
add_default($nl, 'config_AM_pointwiseStats_output_stream');
add_default($nl, 'config_AM_pointwiseStats_compute_on_startup');
add_default($nl, 'config_AM_pointwiseStats_write_on_startup');

#################################
# Namelist group: AM_icePresent #
#################################

add_default($nl, 'config_AM_icePresent_enable');
add_default($nl, 'config_AM_icePresent_compute_interval');
add_default($nl, 'config_AM_icePresent_output_stream');
add_default($nl, 'config_AM_icePresent_compute_on_startup');
add_default($nl, 'config_AM_icePresent_write_on_startup');

###########################################
# Namelist group: AM_timeSeriesStatsDaily #
###########################################

add_default($nl, 'config_AM_timeSeriesStatsDaily_enable');
add_default($nl, 'config_AM_timeSeriesStatsDaily_compute_on_startup');
add_default($nl, 'config_AM_timeSeriesStatsDaily_write_on_startup');
add_default($nl, 'config_AM_timeSeriesStatsDaily_compute_interval');
add_default($nl, 'config_AM_timeSeriesStatsDaily_output_stream');
add_default($nl, 'config_AM_timeSeriesStatsDaily_restart_stream');
add_default($nl, 'config_AM_timeSeriesStatsDaily_add_mesh');
add_default($nl, 'config_AM_timeSeriesStatsDaily_operation');
add_default($nl, 'config_AM_timeSeriesStatsDaily_reference_times');
add_default($nl, 'config_AM_timeSeriesStatsDaily_duration_intervals');
add_default($nl, 'config_AM_timeSeriesStatsDaily_repeat_intervals');
add_default($nl, 'config_AM_timeSeriesStatsDaily_reset_intervals');

#############################################
# Namelist group: AM_timeSeriesStatsMonthly #
#############################################

add_default($nl, 'config_AM_timeSeriesStatsMonthly_enable');
add_default($nl, 'config_AM_timeSeriesStatsMonthly_compute_on_startup');
add_default($nl, 'config_AM_timeSeriesStatsMonthly_write_on_startup');
add_default($nl, 'config_AM_timeSeriesStatsMonthly_compute_interval');
add_default($nl, 'config_AM_timeSeriesStatsMonthly_output_stream');
add_default($nl, 'config_AM_timeSeriesStatsMonthly_restart_stream');
add_default($nl, 'config_AM_timeSeriesStatsMonthly_add_mesh');
add_default($nl, 'config_AM_timeSeriesStatsMonthly_operation');
add_default($nl, 'config_AM_timeSeriesStatsMonthly_reference_times');
add_default($nl, 'config_AM_timeSeriesStatsMonthly_duration_intervals');
add_default($nl, 'config_AM_timeSeriesStatsMonthly_repeat_intervals');
add_default($nl, 'config_AM_timeSeriesStatsMonthly_reset_intervals');

#################################################
# Namelist group: AM_timeSeriesStatsClimatology #
#################################################

add_default($nl, 'config_AM_timeSeriesStatsClimatology_enable');
add_default($nl, 'config_AM_timeSeriesStatsClimatology_compute_on_startup');
add_default($nl, 'config_AM_timeSeriesStatsClimatology_write_on_startup');
add_default($nl, 'config_AM_timeSeriesStatsClimatology_compute_interval');
add_default($nl, 'config_AM_timeSeriesStatsClimatology_output_stream');
add_default($nl, 'config_AM_timeSeriesStatsClimatology_restart_stream');
add_default($nl, 'config_AM_timeSeriesStatsClimatology_add_mesh');
add_default($nl, 'config_AM_timeSeriesStatsClimatology_operation');
add_default($nl, 'config_AM_timeSeriesStatsClimatology_reference_times');
add_default($nl, 'config_AM_timeSeriesStatsClimatology_duration_intervals');
add_default($nl, 'config_AM_timeSeriesStatsClimatology_repeat_intervals');
add_default($nl, 'config_AM_timeSeriesStatsClimatology_reset_intervals');

