diff --git a/configurations/aerosol_shortwave_physics/namelist.seaice b/configurations/aerosol_shortwave_physics/namelist.seaice index 9e3cc23..d8762ba 100644 --- a/configurations/aerosol_shortwave_physics/namelist.seaice +++ b/configurations/aerosol_shortwave_physics/namelist.seaice @@ -325,6 +325,7 @@ config_ridging_redistribution_function = 'exponential' config_ridiging_efolding_scale = 3.0 config_ratio_ridging_work_to_PE = 17.0 + config_use_ridge_forcing = false / &atmosphere config_atmos_boundary_method = 'ccsm3' diff --git a/configurations/icepack_standard_physics_single_cell/namelist.seaice b/configurations/icepack_standard_physics_single_cell/namelist.seaice index ff90a6e..9c20284 100644 --- a/configurations/icepack_standard_physics_single_cell/namelist.seaice +++ b/configurations/icepack_standard_physics_single_cell/namelist.seaice @@ -325,6 +325,7 @@ config_ridging_redistribution_function = 'exponential' config_ridiging_efolding_scale = 3.0 config_ratio_ridging_work_to_PE = 17.0 + config_use_ridge_forcing = false / &atmosphere config_atmos_boundary_method = 'ccsm3' diff --git a/configurations/prescribed_ice/namelist.seaice b/configurations/prescribed_ice/namelist.seaice index ffc264c..b33dc78 100644 --- a/configurations/prescribed_ice/namelist.seaice +++ b/configurations/prescribed_ice/namelist.seaice @@ -325,6 +325,7 @@ config_ridging_redistribution_function = 'exponential' config_ridiging_efolding_scale = 3.0 config_ratio_ridging_work_to_PE = 17.0 + config_use_ridge_forcing = false / &atmosphere config_atmos_boundary_method = 'ccsm3' diff --git a/configurations/snicar_shortwave/namelist.seaice b/configurations/snicar_shortwave/namelist.seaice index 6a939a6..b3fb30e 100644 --- a/configurations/snicar_shortwave/namelist.seaice +++ b/configurations/snicar_shortwave/namelist.seaice @@ -325,6 +325,7 @@ config_ridging_redistribution_function = 'exponential' config_ridiging_efolding_scale = 3.0 config_ratio_ridging_work_to_PE = 17.0 + config_use_ridge_forcing = false / &atmosphere config_atmos_boundary_method = 'ccsm3' diff --git a/configurations/snicar_shortwave_single_cell/namelist.seaice b/configurations/snicar_shortwave_single_cell/namelist.seaice index 95c8fed..c2baa5b 100644 --- a/configurations/snicar_shortwave_single_cell/namelist.seaice +++ b/configurations/snicar_shortwave_single_cell/namelist.seaice @@ -325,6 +325,7 @@ config_ridging_redistribution_function = 'exponential' config_ridiging_efolding_scale = 3.0 config_ratio_ridging_work_to_PE = 17.0 + config_use_ridge_forcing = false / &atmosphere config_atmos_boundary_method = 'ccsm3' diff --git a/configurations/snow_tracer_physics/namelist.seaice b/configurations/snow_tracer_physics/namelist.seaice index e8a0f19..278be23 100644 --- a/configurations/snow_tracer_physics/namelist.seaice +++ b/configurations/snow_tracer_physics/namelist.seaice @@ -325,6 +325,7 @@ config_ridging_redistribution_function = 'exponential' config_ridiging_efolding_scale = 3.0 config_ratio_ridging_work_to_PE = 17.0 + config_use_ridge_forcing = false / &atmosphere config_atmos_boundary_method = 'ccsm3' diff --git a/configurations/standard_bgc/namelist.seaice b/configurations/standard_bgc/namelist.seaice index ac0de59..776fa8b 100644 --- a/configurations/standard_bgc/namelist.seaice +++ b/configurations/standard_bgc/namelist.seaice @@ -325,6 +325,7 @@ config_ridging_redistribution_function = 'exponential' config_ridiging_efolding_scale = 3.0 config_ratio_ridging_work_to_PE = 17.0 + config_use_ridge_forcing = false / &atmosphere config_atmos_boundary_method = 'ccsm3' diff --git a/configurations/standard_physics/namelist.seaice b/configurations/standard_physics/namelist.seaice index 576ae49..970d585 100644 --- a/configurations/standard_physics/namelist.seaice +++ b/configurations/standard_physics/namelist.seaice @@ -325,6 +325,7 @@ config_ridging_redistribution_function = 'exponential' config_ridiging_efolding_scale = 3.0 config_ratio_ridging_work_to_PE = 17.0 + config_use_ridge_forcing = false / &atmosphere config_atmos_boundary_method = 'ccsm3' diff --git a/configurations/standard_physics_single_cell/namelist.seaice b/configurations/standard_physics_single_cell/namelist.seaice index 98ce243..67643bd 100644 --- a/configurations/standard_physics_single_cell/namelist.seaice +++ b/configurations/standard_physics_single_cell/namelist.seaice @@ -325,6 +325,7 @@ config_ridging_redistribution_function = 'exponential' config_ridiging_efolding_scale = 3.0 config_ratio_ridging_work_to_PE = 17.0 + config_use_ridge_forcing = false / &atmosphere config_atmos_boundary_method = 'ccsm3' diff --git a/testcases/advection/namelist.seaice.advection b/testcases/advection/namelist.seaice.advection index ea92780..0547a0a 100644 --- a/testcases/advection/namelist.seaice.advection +++ b/testcases/advection/namelist.seaice.advection @@ -324,6 +324,7 @@ config_ridging_redistribution_function = 'exponential' config_ridiging_efolding_scale = 3.0 config_ratio_ridging_work_to_PE = 17.0 + config_use_ridge_forcing = false / &atmosphere config_atmos_boundary_method = 'ccsm3' diff --git a/testcases/error_analysis/namelist.seaice.strain b/testcases/error_analysis/namelist.seaice.strain index c1ba78b..134477d 100644 --- a/testcases/error_analysis/namelist.seaice.strain +++ b/testcases/error_analysis/namelist.seaice.strain @@ -325,6 +325,7 @@ config_ridging_redistribution_function = 'exponential' config_ridiging_efolding_scale = 3.0 config_ratio_ridging_work_to_PE = 17.0 + config_use_ridge_forcing = false / &atmosphere config_atmos_boundary_method = 'ccsm3' diff --git a/testcases/ridging_1D/create_input_itd.py b/testcases/ridging_1D/create_input_itd.py new file mode 100644 index 0000000..7c0b798 --- /dev/null +++ b/testcases/ridging_1D/create_input_itd.py @@ -0,0 +1,52 @@ +from netCDF4 import Dataset +import argparse +import numpy as np + +#------------------------------------------------------------------------------- + +def create_input_itd(filenameout="itd.nc"): + + nCells = 1 + nCategories = 5 + + categoryThicknessLimits = np.zeros(nCategories+1) + categoryThicknessLimits[0] = 0.0 + categoryThicknessLimits[1] = 0.6 + categoryThicknessLimits[2] = 1.4 + categoryThicknessLimits[3] = 2.4 + categoryThicknessLimits[4] = 3.6 + categoryThicknessLimits[5] = 1e6 + + initialCategoryIceArea = np.zeros(nCategories) + initialCategoryIceArea[0] = 0.05 + initialCategoryIceArea[1] = 0.1 + initialCategoryIceArea[2] = 0.3 + initialCategoryIceArea[3] = 0.35 + initialCategoryIceArea[4] = 0.2 + + fileout = Dataset(filenameout,"w",format="NETCDF3_CLASSIC") + + fileout.createDimension("nCells",nCells) + fileout.createDimension("nCategories",nCategories) + fileout.createDimension("nCategoriesP1",nCategories+1) + fileout.createDimension("ONE",1) + + categoryThicknessLimitsVar = fileout.createVariable("categoryThicknessLimits","d",dimensions=["nCategoriesP1"]) + categoryThicknessLimitsVar[:] = categoryThicknessLimits[:] + + initialCategoryIceAreaVar = fileout.createVariable("initialCategoryIceArea","d",dimensions=["nCategories"]) + initialCategoryIceAreaVar[:] = initialCategoryIceArea[:] + + fileout.close() + +#------------------------------------------------------------------------------- + +if __name__ == "__main__": + + parser = argparse.ArgumentParser(description='') + + parser.add_argument('-o', dest='filenameOut', required=True, help='') + + args = parser.parse_args() + + create_input_itd(args.filenameOut) diff --git a/testcases/ridging_1D/namelist.seaice.ridging_1D b/testcases/ridging_1D/namelist.seaice.ridging_1D index 3567233..2cbb9ce 100644 --- a/testcases/ridging_1D/namelist.seaice.ridging_1D +++ b/testcases/ridging_1D/namelist.seaice.ridging_1D @@ -327,6 +327,7 @@ config_ridging_redistribution_function = 'exponential' config_ridiging_efolding_scale = 3.0 config_ratio_ridging_work_to_PE = 17.0 + config_use_ridge_forcing = false / &atmosphere config_atmos_boundary_method = 'ccsm3' diff --git a/testcases/ridging_1D/run_testcase.py b/testcases/ridging_1D/run_testcase.py index 4d1a868..1b12fd7 100644 --- a/testcases/ridging_1D/run_testcase.py +++ b/testcases/ridging_1D/run_testcase.py @@ -1,10 +1,13 @@ from create_grid import create_grid +from create_input_itd import create_input_itd from run_model import run_model from plot_testcase import plot_testcase from plot_thicknesses import plot_thicknesses create_grid() +create_input_itd() + run_model() plot_testcase() diff --git a/testcases/ridging_1D/streams.seaice.ridging_1D b/testcases/ridging_1D/streams.seaice.ridging_1D index 5eb80f0..ddf80e0 100644 --- a/testcases/ridging_1D/streams.seaice.ridging_1D +++ b/testcases/ridging_1D/streams.seaice.ridging_1D @@ -19,6 +19,16 @@ + + + + + + 1000 and + iTime < 2000): + + ridgeConvergence[iTime] = 1e-8 + + if (iTime > 3000 and + iTime < 4000): + + ridgeConvergence[iTime] = -1e-8 + + if (iTime > 5000 and + iTime < 6000): + + ridgeShear[iTime] = 1e-8 + + if (iTime > 7000 and + iTime < 8000): + + ridgeConvergence[iTime] = 1e-8 + ridgeShear[iTime] = 1e-8 + + timesStr.append(time.strftime("%04Y-%m-%d_%H:%M:%S")) + time = time + timeDelta + + create_forcing_file(filenameout, nTimes, timesStr, ridgeConvergence, ridgeShear) + +#------------------------------------------------------------------------------- + +if __name__ == "__main__": + + parser = argparse.ArgumentParser(description='') + + parser.add_argument('-o', dest='filenameOut', required=True, help='') + + args = parser.parse_args() + + create_forcing(args.filenameOut) diff --git a/testcases/single_cell_ridging/create_input_itd.py b/testcases/single_cell_ridging/create_input_itd.py new file mode 100644 index 0000000..b79336b --- /dev/null +++ b/testcases/single_cell_ridging/create_input_itd.py @@ -0,0 +1,63 @@ +from netCDF4 import Dataset +import argparse +import numpy as np + +#------------------------------------------------------------------------------- + +def create_input_itd(filenameout): + + nCells = 1 + nCategories = 5 + + categoryThicknessLimits = np.zeros(nCategories+1) + categoryThicknessLimits[0] = 0.0 + categoryThicknessLimits[1] = 0.6 + categoryThicknessLimits[2] = 1.4 + categoryThicknessLimits[3] = 2.4 + categoryThicknessLimits[4] = 3.6 + categoryThicknessLimits[5] = 1e6 + + initialCategoryIceArea = np.zeros(nCategories) + #initialCategoryIceArea[0] = 0.05 + #initialCategoryIceArea[1] = 0.1 + #initialCategoryIceArea[2] = 0.3 + #initialCategoryIceArea[3] = 0.35 + #initialCategoryIceArea[4] = 0.2 + initialCategoryIceArea[:] = 0.2 + + surfaceTemperature = np.zeros((nCells,nCategories,1)) + surfaceTemperature[:,0,0] = -1.0 + surfaceTemperature[:,1,0] = -2.0 + surfaceTemperature[:,2,0] = -3.0 + surfaceTemperature[:,3,0] = -4.0 + surfaceTemperature[:,4,0] = -5.0 + + fileout = Dataset(filenameout,"w",format="NETCDF3_CLASSIC") + + fileout.createDimension("nCells",nCells) + fileout.createDimension("nCategories",nCategories) + fileout.createDimension("nCategoriesP1",nCategories+1) + fileout.createDimension("ONE",1) + + categoryThicknessLimitsVar = fileout.createVariable("categoryThicknessLimits","d",dimensions=["nCategoriesP1"]) + categoryThicknessLimitsVar[:] = categoryThicknessLimits[:] + + initialCategoryIceAreaVar = fileout.createVariable("initialCategoryIceArea","d",dimensions=["nCategories"]) + initialCategoryIceAreaVar[:] = initialCategoryIceArea[:] + + surfaceTemperatureVar = fileout.createVariable("surfaceTemperature","d",dimensions=["nCells","nCategories","ONE"]) + surfaceTemperatureVar[:] = surfaceTemperature[:] + + fileout.close() + +#------------------------------------------------------------------------------- + +if __name__ == "__main__": + + parser = argparse.ArgumentParser(description='') + + parser.add_argument('-o', dest='filenameOut', required=True, help='') + + args = parser.parse_args() + + create_input_itd(args.filenameOut) diff --git a/testcases/single_cell_ridging/namelist.seaice.ridging b/testcases/single_cell_ridging/namelist.seaice.ridging new file mode 100644 index 0000000..9ef8b96 --- /dev/null +++ b/testcases/single_cell_ridging/namelist.seaice.ridging @@ -0,0 +1,514 @@ +&seaice_model + config_dt = 3600.0 + config_calendar_type = 'noleap' + config_start_time = '2000-01-01_00:00:00' + config_stop_time = 'none' + config_run_duration = '01-00-00_00:00:00' + config_num_halos = 2 +/ +&io + config_pio_num_iotasks = 0 + config_pio_stride = 1 + config_write_output_on_startup = false + config_test_case_diag = false + config_test_case_diag_type = 'none' + config_full_abort_write = true +/ +&decomposition + config_block_decomp_file_prefix = 'graphs/graph.info.part.' + config_number_of_blocks = 0 + config_explicit_proc_decomp = false + config_proc_decomp_file_prefix = 'graphs/graph.info.part.' + config_use_halo_exch = true + config_aggregate_halo_exch = false + config_reuse_halo_exch = false + config_load_balance_timers = false +/ +&restart + config_do_restart = false + config_restart_timestamp_name = 'restart_timestamp' + config_do_restart_hbrine = false + config_do_restart_zsalinity = false + config_do_restart_bgc = false + config_do_restart_snow_density = false + config_do_restart_snow_grain_radius = false +/ +&dimensions + config_nCategories = 5 + config_nIceLayers = 7 + config_nSnowLayers = 1 +/ +&initialize + config_earth_radius = 6371229.0 + config_initial_condition_type = 'ridging' + config_initial_ice_area = 1.0 + config_initial_ice_volume = 1.0 + config_initial_snow_volume = 0.0 + config_initial_latitude_north = 70.0 + config_initial_latitude_south = -60.0 + config_initial_velocity_type = 'uniform' + config_initial_uvelocity = 0.0 + config_initial_vvelocity = 0.0 + config_calculate_coriolis = true +/ +&use_sections + config_use_dynamics = true + config_use_velocity_solver = false + config_use_advection = false + config_use_forcing = true + config_use_column_package = true + config_use_prescribed_ice = false + config_use_prescribed_ice_forcing = false +/ +&forcing + config_atmospheric_forcing_type = 'CORE' + config_forcing_start_time = '2000-01-01_00:00:00' + config_forcing_cycle_start = '2000-01-01_00:00:00' + config_forcing_cycle_duration = '2-00-00_00:00:00' + config_forcing_precipitation_units = 'mm_per_sec' + config_forcing_sst_type = 'ncar' + config_update_ocean_fluxes = false + config_include_pond_freshwater_feedback = false +/ +&testing + config_use_test_ice_shelf = false + config_testing_system_test = false +/ +&velocity_solver + config_dynamics_subcycle_number = 1 + config_rotate_cartesian_grid = true + config_include_metric_terms = true + config_elastic_subcycle_number = 120 + config_strain_scheme = 'variational' + config_constitutive_relation_type = 'evp' + config_stress_divergence_scheme = 'variational' + config_variational_basis = 'wachspress' + config_variational_denominator_type = 'original' + config_wachspress_integration_type = 'dunavant' + config_wachspress_integration_order = 8 + config_average_variational_strain = false + config_calc_velocity_masks = true + config_use_air_stress = true + config_use_ocean_stress = true + config_use_surface_tilt = true + config_geostrophic_surface_tilt = true + config_ocean_stress_type = 'quadratic' + config_use_special_boundaries_velocity = false + config_use_special_boundaries_velocity_masks = false +/ +&advection + config_advection_type = 'incremental_remap' + config_monotonic = true + config_conservation_check = false + config_monotonicity_check = false + config_recover_tracer_means_check = false +/ +&column_package + config_use_column_shortwave = false + config_use_column_vertical_thermodynamics = false + config_use_column_biogeochemistry = false + config_use_column_itd_thermodynamics = false + config_use_column_ridging = true + config_use_column_snow_tracers = false +/ +&column_tracers + config_use_ice_age = true + config_use_first_year_ice = true + config_use_level_ice = true + config_use_cesm_meltponds = false + config_use_level_meltponds = true + config_use_topo_meltponds = false + config_use_aerosols = false + config_use_effective_snow_density = false + config_use_snow_grain_radius = false + config_use_special_boundaries_tracers = false +/ +&biogeochemistry + config_use_brine = false + config_use_vertical_zsalinity = false + config_use_vertical_biochemistry = false + config_use_shortwave_bioabsorption = false + config_use_vertical_tracers = false + config_use_skeletal_biochemistry = false + config_use_nitrate = false + config_use_carbon = false + config_use_chlorophyll = false + config_use_ammonium = false + config_use_silicate = false + config_use_DMS = false + config_use_nonreactive = false + config_use_humics = false + config_use_DON = false + config_use_iron = false + config_use_macromolecules = false + config_use_modal_aerosols = false + config_use_zaerosols = false + config_skeletal_bgc_flux_type = 'Jin2006' + config_scale_initial_vertical_bgc = false + config_biogrid_bottom_molecular_sublayer = 0.006 + config_biogrid_top_molecular_sublayer = 0.006 + config_bio_gravity_drainage_length_scale = 0.024 + config_zsalinity_molecular_sublayer = 0.0 + config_zsalinity_gravity_drainage_scale = 0.028 + config_snow_porosity_at_ice_surface = -0.3 + config_new_ice_fraction_biotracer = 0.80 + config_fraction_biotracer_in_frazil = 0.80 + config_ratio_Si_to_N_diatoms = 1.80 + config_ratio_Si_to_N_small_plankton = 0.00 + config_ratio_Si_to_N_phaeocystis = 0.00 + config_ratio_S_to_N_diatoms = 0.03 + config_ratio_S_to_N_small_plankton = 0.03 + config_ratio_S_to_N_phaeocystis = 0.03 + config_ratio_Fe_to_C_diatoms = 0.0033 + config_ratio_Fe_to_C_small_plankton = 0.0033 + config_ratio_Fe_to_C_phaeocystis = 0.1 + config_ratio_Fe_to_N_diatoms = 0.023 + config_ratio_Fe_to_N_small_plankton = 0.023 + config_ratio_Fe_to_N_phaeocystis = 0.7 + config_ratio_Fe_to_DON = 0.023 + config_ratio_Fe_to_DOC_saccharids = 0.1 + config_ratio_Fe_to_DOC_lipids = 0.033 + config_respiration_fraction_of_growth = 0.05 + config_rapid_mobile_to_stationary_time = 5200.0 + config_long_mobile_to_stationary_time = 173000.0 + config_algal_maximum_velocity = 0.0000000111 + config_ratio_Fe_to_dust = 0.035 + config_solubility_of_Fe_in_dust = 0.005 + config_chla_absorptivity_of_diatoms = 0.03 + config_chla_absorptivity_of_small_plankton = 0.01 + config_chla_absorptivity_of_phaeocystis = 0.05 + config_light_attenuation_diatoms = 0.8 + config_light_attenuation_small_plankton = 0.67 + config_light_attenuation_phaeocystis = 0.67 + config_light_inhibition_diatoms = 0.018 + config_light_inhibition_small_plankton = 0.0025 + config_light_inhibition_phaeocystis = 0.01 + config_maximum_growth_rate_diatoms = 1.44 + config_maximum_growth_rate_small_plankton = 0.851 + config_maximum_growth_rate_phaeocystis = 0.851 + config_temperature_growth_diatoms = 0.06 + config_temperature_growth_small_plankton = 0.06 + config_temperature_growth_phaeocystis = 0.06 + config_grazed_fraction_diatoms = 0.0 + config_grazed_fraction_small_plankton = 0.1 + config_grazed_fraction_phaeocystis = 0.1 + config_mortality_diatoms = 0.007 + config_mortality_small_plankton = 0.007 + config_mortality_phaeocystis = 0.007 + config_temperature_mortality_diatoms = 0.03 + config_temperature_mortality_small_plankton = 0.03 + config_temperature_mortality_phaeocystis = 0.03 + config_exudation_diatoms = 0.0 + config_exudation_small_plankton = 0.0 + config_exudation_phaeocystis = 0.0 + config_nitrate_saturation_diatoms = 1.0 + config_nitrate_saturation_small_plankton = 1.0 + config_nitrate_saturation_phaeocystis = 1.0 + config_ammonium_saturation_diatoms = 0.3 + config_ammonium_saturation_small_plankton = 0.3 + config_ammonium_saturation_phaeocystis = 0.3 + config_silicate_saturation_diatoms = 4.0 + config_silicate_saturation_small_plankton = 0.0 + config_silicate_saturation_phaeocystis = 0.0 + config_iron_saturation_diatoms = 1.0 + config_iron_saturation_small_plankton = 0.2 + config_iron_saturation_phaeocystis = 0.1 + config_fraction_spilled_to_DON = 0.6 + config_degredation_of_DON = 0.03 + config_fraction_DON_ammonium = 0.25 + config_fraction_loss_to_saccharids = 0.4 + config_fraction_loss_to_lipids = 0.4 + config_fraction_exudation_to_saccharids = 1.0 + config_fraction_exudation_to_lipids = 1.0 + config_remineralization_saccharids = 0.03 + config_remineralization_lipids = 0.03 + config_maximum_brine_temperature = 0.0 + config_salinity_dependence_of_growth = 1.0 + config_minimum_optical_depth = 0.1 + config_slopped_grazing_fraction = 0.5 + config_excreted_fraction = 0.5 + config_fraction_mortality_to_ammonium = 0.5 + config_fraction_iron_remineralized = 0.3 + config_nitrification_rate = 0.0 + config_desorption_loss_particulate_iron = 3065.0 + config_maximum_loss_fraction = 0.9 + config_maximum_ratio_iron_to_saccharids = 0.2 + config_respiration_loss_to_DMSPd = 0.75 + config_DMSP_to_DMS_conversion_fraction = 0.5 + config_DMSP_to_DMS_conversion_time = 3.0 + config_DMS_oxidation_time = 10.0 + config_mobility_type_diatoms = 0.0 + config_mobility_type_small_plankton = 0.5 + config_mobility_type_phaeocystis = 0.5 + config_mobility_type_nitrate = -1.0 + config_mobility_type_ammonium = 1.0 + config_mobility_type_silicate = -1.0 + config_mobility_type_DMSPp = 0.5 + config_mobility_type_DMSPd = -1.0 + config_mobility_type_humics = 1.0 + config_mobility_type_saccharids = 0.5 + config_mobility_type_lipids = 0.5 + config_mobility_type_inorganic_carbon = -1.0 + config_mobility_type_proteins = 0.5 + config_mobility_type_dissolved_iron = 0.5 + config_mobility_type_particulate_iron = 0.5 + config_mobility_type_black_carbon1 = 1.0 + config_mobility_type_black_carbon2 = 1.0 + config_mobility_type_dust1 = 1.0 + config_mobility_type_dust2 = 1.0 + config_mobility_type_dust3 = 1.0 + config_mobility_type_dust4 = 1.0 + config_ratio_C_to_N_diatoms = 7.0 + config_ratio_C_to_N_small_plankton = 7.0 + config_ratio_C_to_N_phaeocystis = 7.0 + config_ratio_chla_to_N_diatoms = 2.1 + config_ratio_chla_to_N_small_plankton = 1.1 + config_ratio_chla_to_N_phaeocystis = 0.84 + config_scales_absorption_diatoms = 2.0 + config_scales_absorption_small_plankton = 4.0 + config_scales_absorption_phaeocystis = 5.0 + config_ratio_C_to_N_proteins = 7.0 +/ +&shortwave + config_shortwave_type = 'dEdd' + config_albedo_type = 'ccsm3' + config_use_snicar_ad = false + config_visible_ice_albedo = 0.78 + config_infrared_ice_albedo = 0.36 + config_visible_snow_albedo = 0.98 + config_infrared_snow_albedo = 0.70 + config_variable_albedo_thickness_limit = 0.3 + config_ice_shortwave_tuning_parameter = 0.0 + config_pond_shortwave_tuning_parameter = 0.0 + config_snow_shortwave_tuning_parameter = 1.5 + config_temp_change_snow_grain_radius_change = 1.5 + config_max_melting_snow_grain_radius = 1500.0 + config_algae_absorption_coefficient = 0.6 +/ +&snow + config_snow_redistribution_scheme = 'none' + config_fallen_snow_radius = 54.526 + config_use_snow_liquid_ponds = false + config_new_snow_density = 100.0 + config_max_snow_density = 450.0 + config_minimum_wind_compaction = 10.0 + config_wind_compaction_factor = 27.3 + config_max_dry_snow_radius = 1800.0 +/ +&meltponds + config_snow_to_ice_transition_depth = 0.0 + config_pond_refreezing_type = 'hlid' + config_pond_flushing_timescale = 1.0e-3 + config_min_meltwater_retained_fraction = 0.15 + config_max_meltwater_retained_fraction = 1.0 + config_pond_depth_to_fraction_ratio = 0.8 + config_snow_on_pond_ice_tapering_parameter = 0.03 + config_critical_pond_ice_thickness = 0.01 +/ +&thermodynamics + config_thermodynamics_type = 'mushy' + config_heat_conductivity_type = 'bubbly' + config_rapid_mode_channel_radius = 0.5e-3 + config_rapid_model_critical_Ra = 10.0 + config_rapid_mode_aspect_ratio = 1.0 + config_slow_mode_drainage_strength = -5.0e-8 + config_slow_mode_critical_porosity = 0.05 + config_congelation_ice_porosity = 0.85 +/ +&itd + config_itd_conversion_type = 'linear remap' + config_category_bounds_type = 'original' +/ +&ridging + config_ice_strength_formulation = 'Rothrock75' + config_ridging_participation_function = 'exponential' + config_ridging_redistribution_function = 'exponential' + config_ridiging_efolding_scale = 3.0 + config_ratio_ridging_work_to_PE = 17.0 + config_use_ridge_forcing = true +/ +&atmosphere + config_atmos_boundary_method = 'ccsm3' + config_calc_surface_stresses = true + config_calc_surface_temperature = true + config_use_form_drag = false + config_use_high_frequency_coupling = false + config_boundary_layer_iteration_number = 5 +/ +&ocean + config_use_ocean_mixed_layer = true + config_min_friction_velocity = 0.0005 + config_ocean_heat_transfer_type = 'constant' + config_sea_freezing_temperature_type = 'mushy' + config_ocean_surface_type = 'free' + config_couple_biogeochemistry_fields = false + config_use_data_icebergs = false +/ +&diagnostics + config_check_state = false +/ +&AM_highFrequencyOutput + config_AM_highFrequencyOutput_enable = false + config_AM_highFrequencyOutput_compute_interval = 'output_interval' + config_AM_highFrequencyOutput_output_stream = 'highFrequencyOutput' + config_AM_highFrequencyOutput_compute_on_startup = true + config_AM_highFrequencyOutput_write_on_startup = true +/ +&AM_temperatures + config_AM_temperatures_enable = true + config_AM_temperatures_compute_interval = 'dt' + config_AM_temperatures_output_stream = 'none' + config_AM_temperatures_compute_on_startup = false + config_AM_temperatures_write_on_startup = false +/ +&AM_regionalStatistics + config_AM_regionalStatistics_enable = false + config_AM_regionalStatistics_compute_interval = 'output_interval' + config_AM_regionalStatistics_output_stream = 'regionalStatisticsOutput' + config_AM_regionalStatistics_compute_on_startup = false + config_AM_regionalStatistics_write_on_startup = false + config_AM_regionalStatistics_ice_extent_limit = 0.15 +/ +&AM_ridgingDiagnostics + config_AM_ridgingDiagnostics_enable = false + config_AM_ridgingDiagnostics_compute_interval = 'dt' + config_AM_ridgingDiagnostics_output_stream = 'none' + config_AM_ridgingDiagnostics_compute_on_startup = false + config_AM_ridgingDiagnostics_write_on_startup = false +/ +&AM_conservationCheck + config_AM_conservationCheck_enable = false + config_AM_conservationCheck_compute_interval = 'dt' + config_AM_conservationCheck_output_stream = 'conservationCheckOutput' + config_AM_conservationCheck_compute_on_startup = false + config_AM_conservationCheck_write_on_startup = false + config_AM_conservationCheck_write_to_logfile = true +/ +&AM_geographicalVectors + config_AM_geographicalVectors_enable = false + config_AM_geographicalVectors_compute_interval = 'dt' + config_AM_geographicalVectors_output_stream = 'none' + config_AM_geographicalVectors_compute_on_startup = false + config_AM_geographicalVectors_write_on_startup = false +/ +&AM_loadBalance + config_AM_loadBalance_enable = false + config_AM_loadBalance_compute_interval = 'output_interval' + config_AM_loadBalance_output_stream = 'loadBalanceOutput' + config_AM_loadBalance_compute_on_startup = false + config_AM_loadBalance_write_on_startup = false + config_AM_loadBalance_nProcs = 32 +/ +&AM_maximumIcePresence + config_AM_maximumIcePresence_enable = false + config_AM_maximumIcePresence_compute_interval = 'dt' + config_AM_maximumIcePresence_output_stream = 'maximumIcePresenceOutput' + config_AM_maximumIcePresence_compute_on_startup = false + config_AM_maximumIcePresence_write_on_startup = false + config_AM_maximumIcePresence_start_time = '0000-00-00_00:00:00' +/ +&AM_miscellaneous + config_AM_miscellaneous_enable = false + config_AM_miscellaneous_compute_interval = 'dt' + config_AM_miscellaneous_output_stream = 'none' + config_AM_miscellaneous_compute_on_startup = false + config_AM_miscellaneous_write_on_startup = false +/ +&AM_areaVariables + config_AM_areaVariables_enable = false + config_AM_areaVariables_compute_interval = 'dt' + config_AM_areaVariables_output_stream = 'none' + config_AM_areaVariables_compute_on_startup = false + config_AM_areaVariables_write_on_startup = false +/ +&AM_pondDiagnostics + config_AM_pondDiagnostics_enable = false + config_AM_pondDiagnostics_compute_interval = 'dt' + config_AM_pondDiagnostics_output_stream = 'none' + config_AM_pondDiagnostics_compute_on_startup = false + config_AM_pondDiagnostics_write_on_startup = false +/ +&AM_unitConversion + config_AM_unitConversion_enable = true + config_AM_unitConversion_compute_interval = 'dt' + config_AM_unitConversion_output_stream = 'none' + config_AM_unitConversion_compute_on_startup = false + config_AM_unitConversion_write_on_startup = false +/ +&AM_pointwiseStats + config_AM_pointwiseStats_enable = false + config_AM_pointwiseStats_compute_interval = 'dt' + config_AM_pointwiseStats_output_stream = 'pointwiseStatsOutput' + config_AM_pointwiseStats_compute_on_startup = false + config_AM_pointwiseStats_write_on_startup = false +/ +&AM_iceShelves + config_AM_iceShelves_enable = false + config_AM_iceShelves_compute_interval = 'output_interval' + config_AM_iceShelves_output_stream = 'iceShelvesOutput' + config_AM_iceShelves_compute_on_startup = true + config_AM_iceShelves_write_on_startup = true +/ +&AM_icePresent + config_AM_icePresent_enable = false + config_AM_icePresent_compute_interval = 'dt' + config_AM_icePresent_output_stream = 'none' + config_AM_icePresent_compute_on_startup = false + config_AM_icePresent_write_on_startup = false +/ +&AM_timeSeriesStatsDaily + config_AM_timeSeriesStatsDaily_enable = false + config_AM_timeSeriesStatsDaily_compute_on_startup = false + config_AM_timeSeriesStatsDaily_write_on_startup = false + config_AM_timeSeriesStatsDaily_compute_interval = 'dt' + config_AM_timeSeriesStatsDaily_output_stream = 'timeSeriesStatsDailyOutput' + config_AM_timeSeriesStatsDaily_restart_stream = 'timeSeriesStatsDailyRestart' + config_AM_timeSeriesStatsDaily_operation = 'avg' + config_AM_timeSeriesStatsDaily_reference_times = 'initial_time' + config_AM_timeSeriesStatsDaily_duration_intervals = 'repeat_interval' + config_AM_timeSeriesStatsDaily_repeat_intervals = 'reset_interval' + config_AM_timeSeriesStatsDaily_reset_intervals = '00-00-01_00:00:00' + config_AM_timeSeriesStatsDaily_backward_output_offset = '00-00-01_00:00:00' +/ +&AM_timeSeriesStatsMonthly + config_AM_timeSeriesStatsMonthly_enable = true + config_AM_timeSeriesStatsMonthly_compute_on_startup = false + config_AM_timeSeriesStatsMonthly_write_on_startup = false + config_AM_timeSeriesStatsMonthly_compute_interval = 'dt' + config_AM_timeSeriesStatsMonthly_output_stream = 'timeSeriesStatsMonthlyOutput' + config_AM_timeSeriesStatsMonthly_restart_stream = 'timeSeriesStatsMonthlyRestart' + config_AM_timeSeriesStatsMonthly_operation = 'avg' + config_AM_timeSeriesStatsMonthly_reference_times = 'initial_time' + config_AM_timeSeriesStatsMonthly_duration_intervals = 'repeat_interval' + config_AM_timeSeriesStatsMonthly_repeat_intervals = 'reset_interval' + config_AM_timeSeriesStatsMonthly_reset_intervals = '00-01-00_00:00:00' + config_AM_timeSeriesStatsMonthly_backward_output_offset = '00-01-00_00:00:00' +/ +&AM_timeSeriesStatsClimatology + config_AM_timeSeriesStatsClimatology_enable = false + config_AM_timeSeriesStatsClimatology_compute_on_startup = false + config_AM_timeSeriesStatsClimatology_write_on_startup = false + config_AM_timeSeriesStatsClimatology_compute_interval = '00-00-00_01:00:00' + config_AM_timeSeriesStatsClimatology_output_stream = 'timeSeriesStatsClimatologyOutput' + config_AM_timeSeriesStatsClimatology_restart_stream = 'timeSeriesStatsClimatologyRestart' + config_AM_timeSeriesStatsClimatology_operation = 'avg' + config_AM_timeSeriesStatsClimatology_reference_times = '00-03-01_00:00:00;00-06-01_00:00:00;00-09-01_00:00:00;00-12-01_00:00:00' + config_AM_timeSeriesStatsClimatology_duration_intervals = '00-03-00_00:00:00;00-03-00_00:00:00;00-03-00_00:00:00;00-03-00_00:00:00' + config_AM_timeSeriesStatsClimatology_repeat_intervals = '01-00-00_00:00:00;01-00-00_00:00:00;01-00-00_00:00:00;01-00-00_00:00:00' + config_AM_timeSeriesStatsClimatology_reset_intervals = '1000-00-00_00:00:00;1000-00-00_00:00:00;1000-00-00_00:00:00;1000-00-00_00:00:00' + config_AM_timeSeriesStatsClimatology_backward_output_offset = '00-03-00_00:00:00' +/ +&AM_timeSeriesStatsCustom + config_AM_timeSeriesStatsCustom_enable = false + config_AM_timeSeriesStatsCustom_compute_on_startup = false + config_AM_timeSeriesStatsCustom_write_on_startup = false + config_AM_timeSeriesStatsCustom_compute_interval = '00-00-00_01:00:00' + config_AM_timeSeriesStatsCustom_output_stream = 'timeSeriesStatsCustomOutput' + config_AM_timeSeriesStatsCustom_restart_stream = 'timeSeriesStatsCustomRestart' + config_AM_timeSeriesStatsCustom_operation = 'avg' + config_AM_timeSeriesStatsCustom_reference_times = 'initial_time' + config_AM_timeSeriesStatsCustom_duration_intervals = 'repeat_interval' + config_AM_timeSeriesStatsCustom_repeat_intervals = 'reset_interval' + config_AM_timeSeriesStatsCustom_reset_intervals = '00-00-07_00:00:00' + config_AM_timeSeriesStatsCustom_backward_output_offset = '00-00-01_00:00:00' +/ diff --git a/testcases/single_cell_ridging/plot_testcase.py b/testcases/single_cell_ridging/plot_testcase.py new file mode 100644 index 0000000..5094508 --- /dev/null +++ b/testcases/single_cell_ridging/plot_testcase.py @@ -0,0 +1,113 @@ +import matplotlib.pyplot as plt +from netCDF4 import Dataset +import numpy as np + +#------------------------------------------------------------------------------- + +def plot_testcase(): + + # read in data + filenameIn = "output/output.2000.nc" + + filein = Dataset(filenameIn,"r") + + nTimes = len(filein.dimensions["Time"]) + nIceLayers = len(filein.dimensions["nIceLayers"]) + + ridgeConvergence = filein.variables["ridgeConvergence"][:] + ridgeShear = filein.variables["ridgeShear"][:] + + iceAreaCell = filein.variables["iceAreaCell"][:] + iceVolumeCell = filein.variables["iceVolumeCell"][:] + + iceAreaCategory = filein.variables["iceAreaCategory"][:] + iceVolumeCategory = filein.variables["iceVolumeCategory"][:] + + surfaceTemperature = filein.variables["surfaceTemperature"][:] + + + filein.close() + + iceThicknessCell = np.zeros(nTimes) + for iTime in range(0,nTimes): + if (iceAreaCell[iTime,0] > 0.0): + iceThicknessCell[iTime] = iceVolumeCell[iTime,0] / iceAreaCell[iTime,0] + + + # plot + cm = 1/2.54 # centimeters in inches + plt.rc('font', family="Times New Roman") + plt.rc('mathtext',fontset="stix") + SMALL_SIZE = 8 + MEDIUM_SIZE = 8 + BIGGER_SIZE = 8 + plt.rc('font', size=SMALL_SIZE) # controls default text sizes + plt.rc('axes', titlesize=SMALL_SIZE) # fontsize of the axes title + plt.rc('axes', labelsize=MEDIUM_SIZE) # fontsize of the x and y labels + plt.rc('xtick', labelsize=SMALL_SIZE) # fontsize of the tick labels + plt.rc('ytick', labelsize=SMALL_SIZE) # fontsize of the tick labels + plt.rc('legend', fontsize=SMALL_SIZE) # legend fontsize + plt.rc('figure', titlesize=BIGGER_SIZE) # fontsize of the figure title + + fig, axes = plt.subplots(3,2,figsize=(15*cm,15*cm)) + + # ridgeConvergence, ridgeShear + axes[0,0].plot(ridgeConvergence[:,0], label="conv.") + axes[0,0].plot(ridgeShear[:,0], label="shear") + + axes[0,0].legend() + axes[0,0].set_ylabel(r'ridgeConvergence/Shear ($\mathrm{s}^{-1}$)') + + # ice area, volume, thickness + axes[0,1].plot(iceAreaCell[:,0], label="ice conc.", color="k") + axis2 = axes[0,1].twinx() + axis2.plot(iceVolumeCell[:,0], label="ice volume", color="b", lw=2) + axis2.plot(iceThicknessCell, label="ice thickness", color="g") + + axes[0,1].legend() + axes[0,1].set_ylabel("iceAreaCell (-)") + + axis2.legend() + axis2.set_ylabel("iceVolumeCell/iceThicknessCell (m)") + + # iceAreaCategory + axes[1,0].plot(iceAreaCategory[:,0,0,0]-iceAreaCategory[0,0,0,0], label="Cat. 1") + axes[1,0].plot(iceAreaCategory[:,0,1,0]-iceAreaCategory[0,0,1,0], label="Cat. 2") + axes[1,0].plot(iceAreaCategory[:,0,2,0]-iceAreaCategory[0,0,2,0], label="Cat. 3") + axes[1,0].plot(iceAreaCategory[:,0,3,0]-iceAreaCategory[0,0,3,0], label="Cat. 4") + axes[1,0].plot(iceAreaCategory[:,0,4,0]-iceAreaCategory[0,0,4,0], label="Cat. 5") + + axes[1,0].legend() + axes[1,0].set_ylabel(r'$\Delta$iceAreaCategory (-)') + + # iceVolumeCategory + axes[1,1].plot(iceVolumeCategory[:,0,0,0]-iceVolumeCategory[0,0,0,0], label="Cat. 1") + axes[1,1].plot(iceVolumeCategory[:,0,1,0]-iceVolumeCategory[0,0,1,0], label="Cat. 2") + axes[1,1].plot(iceVolumeCategory[:,0,2,0]-iceVolumeCategory[0,0,2,0], label="Cat. 3") + axes[1,1].plot(iceVolumeCategory[:,0,3,0]-iceVolumeCategory[0,0,3,0], label="Cat. 4") + axes[1,1].plot(iceVolumeCategory[:,0,4,0]-iceVolumeCategory[0,0,4,0], label="Cat. 5") + + axes[1,1].legend() + axes[1,1].set_ylabel(r'$\Delta$iceVolumeCategory (m)') + + # surface temperature + axes[2,0].plot(surfaceTemperature[:,0,0,0]-surfaceTemperature[0,0,0,0], label="Cat. 1") + axes[2,0].plot(surfaceTemperature[:,0,1,0]-surfaceTemperature[0,0,1,0], label="Cat. 2") + axes[2,0].plot(surfaceTemperature[:,0,2,0]-surfaceTemperature[0,0,2,0], label="Cat. 3") + axes[2,0].plot(surfaceTemperature[:,0,3,0]-surfaceTemperature[0,0,3,0], label="Cat. 4") + axes[2,0].plot(surfaceTemperature[:,0,4,0]-surfaceTemperature[0,0,4,0], label="Cat. 5") + + axes[2,0].legend() + axes[2,0].set_ylabel(r'$\Delta$surfaceTemperature ($\mathrm{C}^\circ$)') + + axes[2,1].axis('off') + + plt.tight_layout() + plt.savefig("ridging.png",dpi=400) + + +#------------------------------------------------------------------------------- + +if __name__ == "__main__": + + plot_testcase() diff --git a/testcases/single_cell_ridging/run_testcase.py b/testcases/single_cell_ridging/run_testcase.py new file mode 100644 index 0000000..6155915 --- /dev/null +++ b/testcases/single_cell_ridging/run_testcase.py @@ -0,0 +1,39 @@ +import os +from plot_testcase import plot_testcase + +#------------------------------------------------------------------------------- + +def run_testcase(): + + MPAS_SEAICE_EXECUTABLE = os.environ.get('MPAS_SEAICE_EXECUTABLE') + if (MPAS_SEAICE_EXECUTABLE is None): + raise Exception("MPAS_SEAICE_EXECUTABLE must be set") + MPAS_SEAICE_TESTCASES_RUN_COMMAND = os.environ.get('MPAS_SEAICE_TESTCASES_RUN_COMMAND') + if (MPAS_SEAICE_TESTCASES_RUN_COMMAND is None): + MPAS_SEAICE_TESTCASES_RUN_COMMAND = "" + MPAS_SEAICE_DOMAINS_DIR = os.environ.get('MPAS_SEAICE_DOMAINS_DIR') + if (MPAS_SEAICE_DOMAINS_DIR is None): + raise Exception("MPAS_SEAICE_DOMAINS_DIR must be set") + + # forcing + os.system("python %s/domain_sc_71.35_-156.5/get_domain.py" %(MPAS_SEAICE_DOMAINS_DIR)) + + os.system("python create_forcing.py -o forcing/ridging_forcing.nc") + + os.system("python create_input_itd.py -o forcing/itd.nc") + + os.system("rm namelist.seaice streams.seaice") + os.system("ln -s namelist.seaice.ridging namelist.seaice") + os.system("ln -s streams.seaice.ridging streams.seaice") + + # run MPAS-Seaice + os.system("%s %s" %(MPAS_SEAICE_TESTCASES_RUN_COMMAND, MPAS_SEAICE_EXECUTABLE)) + + # plot output + plot_testcase() + +#------------------------------------------------------------------------------- + +if __name__ == "__main__": + + run_testcase() diff --git a/testcases/single_cell_ridging/streams.seaice.ridging b/testcases/single_cell_ridging/streams.seaice.ridging new file mode 100644 index 0000000..afe8200 --- /dev/null +++ b/testcases/single_cell_ridging/streams.seaice.ridging @@ -0,0 +1,347 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/testcases/spherical_operators/strain/namelist.seaice.strain b/testcases/spherical_operators/strain/namelist.seaice.strain index dd2f1c6..2626a81 100644 --- a/testcases/spherical_operators/strain/namelist.seaice.strain +++ b/testcases/spherical_operators/strain/namelist.seaice.strain @@ -325,6 +325,7 @@ config_ridging_redistribution_function = 'exponential' config_ridiging_efolding_scale = 3.0 config_ratio_ridging_work_to_PE = 17.0 + config_use_ridge_forcing = false / &atmosphere config_atmos_boundary_method = 'ccsm3' diff --git a/testcases/spherical_operators/strain_stress_divergence/namelist.seaice.strain_stress_divergence b/testcases/spherical_operators/strain_stress_divergence/namelist.seaice.strain_stress_divergence index dd2f1c6..2626a81 100644 --- a/testcases/spherical_operators/strain_stress_divergence/namelist.seaice.strain_stress_divergence +++ b/testcases/spherical_operators/strain_stress_divergence/namelist.seaice.strain_stress_divergence @@ -325,6 +325,7 @@ config_ridging_redistribution_function = 'exponential' config_ridiging_efolding_scale = 3.0 config_ratio_ridging_work_to_PE = 17.0 + config_use_ridge_forcing = false / &atmosphere config_atmos_boundary_method = 'ccsm3' diff --git a/testcases/spherical_operators/stress_divergence/namelist.seaice.stress_divergence b/testcases/spherical_operators/stress_divergence/namelist.seaice.stress_divergence index b77308b..df9d1ab 100644 --- a/testcases/spherical_operators/stress_divergence/namelist.seaice.stress_divergence +++ b/testcases/spherical_operators/stress_divergence/namelist.seaice.stress_divergence @@ -325,6 +325,7 @@ config_ridging_redistribution_function = 'exponential' config_ridiging_efolding_scale = 3.0 config_ratio_ridging_work_to_PE = 17.0 + config_use_ridge_forcing = false / &atmosphere config_atmos_boundary_method = 'ccsm3' diff --git a/testcases/square/operators_strain/namelist.seaice.strain b/testcases/square/operators_strain/namelist.seaice.strain index 1362c4c..988e29a 100644 --- a/testcases/square/operators_strain/namelist.seaice.strain +++ b/testcases/square/operators_strain/namelist.seaice.strain @@ -325,6 +325,7 @@ config_ridging_redistribution_function = 'exponential' config_ridiging_efolding_scale = 3.0 config_ratio_ridging_work_to_PE = 17.0 + config_use_ridge_forcing = false / &atmosphere config_atmos_boundary_method = 'ccsm3' diff --git a/testcases/square/operators_strain_stress_divergence/namelist.seaice.strain_stress_divergence b/testcases/square/operators_strain_stress_divergence/namelist.seaice.strain_stress_divergence index 5bea40b..d4a2e85 100644 --- a/testcases/square/operators_strain_stress_divergence/namelist.seaice.strain_stress_divergence +++ b/testcases/square/operators_strain_stress_divergence/namelist.seaice.strain_stress_divergence @@ -325,6 +325,7 @@ config_ridging_redistribution_function = 'exponential' config_ridiging_efolding_scale = 3.0 config_ratio_ridging_work_to_PE = 17.0 + config_use_ridge_forcing = false / &atmosphere config_atmos_boundary_method = 'ccsm3' diff --git a/testcases/square/operators_stress_divergence/namelist.seaice.stress_divergence b/testcases/square/operators_stress_divergence/namelist.seaice.stress_divergence index da1e81c..b21c180 100644 --- a/testcases/square/operators_stress_divergence/namelist.seaice.stress_divergence +++ b/testcases/square/operators_stress_divergence/namelist.seaice.stress_divergence @@ -325,6 +325,7 @@ config_ridging_redistribution_function = 'exponential' config_ridiging_efolding_scale = 3.0 config_ratio_ridging_work_to_PE = 17.0 + config_use_ridge_forcing = false / &atmosphere config_atmos_boundary_method = 'ccsm3' diff --git a/testcases/square/square_quadhex/namelist.seaice.square b/testcases/square/square_quadhex/namelist.seaice.square index 91c3917..7a5d1f5 100644 --- a/testcases/square/square_quadhex/namelist.seaice.square +++ b/testcases/square/square_quadhex/namelist.seaice.square @@ -325,6 +325,7 @@ config_ridging_redistribution_function = 'exponential' config_ridiging_efolding_scale = 3.0 config_ratio_ridging_work_to_PE = 17.0 + config_use_ridge_forcing = false / &atmosphere config_atmos_boundary_method = 'ccsm3'