From 29c779d00c8d486361e3e43043bfd1d29efc3b2a Mon Sep 17 00:00:00 2001 From: Robert Hallberg Date: Fri, 12 Jun 2020 16:20:49 -0400 Subject: [PATCH 1/2] Corrected SIS_input_files Corrected the SIS_input files to write both SIS_parameter_doc and SIS_fast_paramater_doc files, and to explicitly set two parameters for the Concurrent_ice test case. Also added a non-default (but not logged) parameter to the MOM_input file for the ISOMIP/rho test case. All answers and output files are back to where they should be, both with the current version of the SIS2 code base, and with a version that changes some SIS2 default values. --- .../Concurrent_ice_1deg/SIS_input | 32 +++++++++++++++---- .../Intersperse_ice_1deg/SIS_input | 3 -- ocean_only/ISOMIP/rho/MOM_input | 4 +++ 3 files changed, 29 insertions(+), 10 deletions(-) diff --git a/coupled_AM2_LM3_SIS2/Concurrent_ice_1deg/SIS_input b/coupled_AM2_LM3_SIS2/Concurrent_ice_1deg/SIS_input index 65a55736ea..804ab63aa8 100644 --- a/coupled_AM2_LM3_SIS2/Concurrent_ice_1deg/SIS_input +++ b/coupled_AM2_LM3_SIS2/Concurrent_ice_1deg/SIS_input @@ -1,9 +1,13 @@ -! This file was written by the model and records the non-default parameters used at run-time. +! This input file provides the adjustable run-time parameters for version 2 of the Sea Ice Simulator (SIS2). +! Where appropriate, parameters use usually given in MKS units. -! === module ice_model === +! This particular file is for the example in coupled_AM2_LM3_SIS2/Concurrent_ice_1deg. + +! This SIS_input file typically contains only the non-default values that are needed to reproduce this example. +! A full list of parameters for this example can be found in the corresponding SIS_parameter_doc.all file +! which is generated by the model at run-time. -! === module MOM_unit_scaling === -! Parameters for doing unit scaling of variables. +! === module ice_model === CGRID_ICE_DYNAMICS = True ! [Boolean] default = False ! If true, use a C-grid discretization of the sea-ice dynamics; if false use a ! B-grid discretization. @@ -22,6 +26,16 @@ NIGLOBAL = 360 ! NJGLOBAL = 210 ! ! The total number of thickness grid points in the y-direction in the physical ! domain. With STATIC_MEMORY_ this is set in SIS2_memory.h at compile time. +NIHALO = 2 ! default = 4 + ! The number of halo points on each side in the x-direction. With + ! STATIC_MEMORY_ this is set as NIHALO_ in SIS2_memory.h at compile time; + ! without STATIC_MEMORY_ the default is NIHALO_ in SIS2_memory.h (if defined) or + ! 2. +NJHALO = 2 ! default = 4 + ! The number of halo points on each side in the y-direction. With + ! STATIC_MEMORY_ this is set as NJHALO_ in SIS2_memory.h at compile time; + ! without STATIC_MEMORY_ the default is NJHALO_ in SIS2_memory.h (if defined) or + ! 2. ! === module MOM_hor_index === ! Sets the horizontal array index types. @@ -110,6 +124,9 @@ SIS_CONTINUITY_SCHEME = "PCM" ! default = "UPWIND_2D" ! PCM - Directionally split piecewise constant ! PPM:C2PD - Positive definite PPM with 2nd order edge values ! PPM:C2MO - Monotonic PPM with 2nd order edge values +INCONSISTENT_COVER_BUG = True ! [Boolean] default = True + ! If true, omit a recalculation of the fractional ice-free areal coverage after + ! the adjustment of the ice categories. ! === module SIS_tracer_advect === SIS_TRACER_ADVECTION_SCHEME = "PPM:H3" ! default = "UPWIND_2D" @@ -118,6 +135,10 @@ SIS_TRACER_ADVECTION_SCHEME = "PPM:H3" ! default = "UPWIND_2D" ! PCM - Directionally split piecewise constant ! PLM - Piecewise Linear Method ! PPM:H3 - Piecewise Parabolic Method (Huyhn 3rd order) +CFL_MASS_NEGLECT_BUG = True ! [Boolean] default = True + ! If true use a globally constant negligible volume in the denominator of the + ! tracer advection CFL calculation, reproducing an older incorrect expression, + ! rather than using a proper scaling of this negligible mass with cell area. ! === module SIS_sum_output === @@ -135,6 +156,3 @@ SIS_TRACER_ADVECTION_SCHEME = "PPM:H3" ! default = "UPWIND_2D" ! This module calculates the albedo and absorption profiles for shortwave radiation. ! === module MOM_file_parser === -DOCUMENT_FILE = "SIS_parameter_doc" ! default = "MOM_parameter_doc" - ! The basename for files where run-time parameters, their settings, units and - ! defaults are documented. Blank will disable all parameter documentation. diff --git a/coupled_AM2_LM3_SIS2/Intersperse_ice_1deg/SIS_input b/coupled_AM2_LM3_SIS2/Intersperse_ice_1deg/SIS_input index df9a40de25..f90d7a7496 100644 --- a/coupled_AM2_LM3_SIS2/Intersperse_ice_1deg/SIS_input +++ b/coupled_AM2_LM3_SIS2/Intersperse_ice_1deg/SIS_input @@ -164,6 +164,3 @@ CFL_MASS_NEGLECT_BUG = True ! [Boolean] default = True ! This module calculates the albedo and absorption profiles for shortwave radiation. ! === module MOM_file_parser === -DOCUMENT_FILE = "SIS_parameter_doc" ! default = "MOM_parameter_doc" - ! The basename for files where run-time parameters, their settings, units and - ! defaults are documented. Blank will disable all parameter documentation. diff --git a/ocean_only/ISOMIP/rho/MOM_input b/ocean_only/ISOMIP/rho/MOM_input index d682409a6d..106a3e04a1 100644 --- a/ocean_only/ISOMIP/rho/MOM_input +++ b/ocean_only/ISOMIP/rho/MOM_input @@ -243,6 +243,10 @@ REMAP_AFTER_INITIALIZATION = False ! [Boolean] default = True ! If true, applies regridding and remapping immediately after initialization so ! that the state is ALE consistent. This is a legacy step and should not be ! needed if the initialization is consistent with the coordinate mode. +REGRID_USE_OLD_DIRECTION = False ! [Boolean] default = True + ! If true, the regridding integrates upwards from the bottom for interface + ! positions, much as the main model does. If false regridding integrates + ! downward, consistant with the remapping code. ! === module MOM_grid === ! Parameters providing information about the lateral grid. From 41a5395a400faa78e7cc985a70d328d164092b10 Mon Sep 17 00:00:00 2001 From: Robert Hallberg Date: Mon, 15 Jun 2020 18:27:11 -0400 Subject: [PATCH 2/2] Updated SIS_input file for OM_1deg Modified SIS_input file for the recently added OM_1deg test case to reflect its current SIS_parameter_doc.short file and to explicitly set two parameters whose default values are in the process of being changed. All answers and output files are bitwise identical, both with the current and a near-future version of SIS2. --- ice_ocean_SIS2/OM_1deg/SIS_input | 382 ++----------------------------- 1 file changed, 22 insertions(+), 360 deletions(-) diff --git a/ice_ocean_SIS2/OM_1deg/SIS_input b/ice_ocean_SIS2/OM_1deg/SIS_input index 1088066831..c3773d3acc 100644 --- a/ice_ocean_SIS2/OM_1deg/SIS_input +++ b/ice_ocean_SIS2/OM_1deg/SIS_input @@ -1,109 +1,28 @@ -! This file was written by the model and records all non-layout or debugging parameters used at run-time. +! This input file provides the adjustable run-time parameters for version 2 of the Sea Ice Simulator (SIS2). +! Where appropriate, parameters use usually given in MKS units. + +! This particular file is for the example in ice_ocean_SIS2/OM_1deg. + +! This SIS_input file typically contains only the non-default values that are needed to reproduce this example. +! A full list of parameters for this example can be found in the corresponding SIS_parameter_doc.all file +! which is generated by the model at run-time. ! === module ice_model === -SPECIFIED_ICE = False ! [Boolean] default = False - ! If true, the ice is specified and there is no dynamics. CGRID_ICE_DYNAMICS = True ! [Boolean] default = False ! If true, use a C-grid discretization of the sea-ice dynamics; if false use a ! B-grid discretization. -USE_SLAB_ICE = False ! [Boolean] default = False - ! If true, use the very old slab-style ice. -SINGLE_ICE_STATE_TYPE = True ! [Boolean] default = True - ! If true, the fast and slow portions of the ice use a single common - ! ice_state_type. Otherwise they point to different ice_state_types that need - ! to be explicitly copied back and forth. -EULERIAN_TSURF = True ! [Boolean] default = True - ! If true, use previous calculations of the ice-top surface skin temperature for - ! tsurf at the start of atmospheric time stepping, including interpolating - ! between tsurf values from other categories in the same location. -ICE_OCEAN_STRESS_STAGGER = "C" ! default = "C" - ! A case-insensitive character string to indicate the staggering of the stress - ! field on the ocean that is returned to the coupler. Valid values include 'A', - ! 'B', or 'C', with a default that follows the value of CGRID_ICE_DYNAMICS. -RHO_OCEAN = 1030.0 ! [kg m-3] default = 1030.0 - ! The nominal density of sea water as used by SIS. -RHO_ICE = 905.0 ! [kg m-3] default = 905.0 - ! The nominal density of sea ice as used by SIS. -RHO_SNOW = 330.0 ! [kg m-3] default = 330.0 - ! The nominal density of snow as used by SIS. -G_EARTH = 9.8 ! [m s-2] default = 9.8 - ! The gravitational acceleration of the Earth. -MOMENTUM_ROUGH_ICE = 1.0E-04 ! [m] default = 1.0E-04 - ! The default momentum roughness length scale for the ocean. -HEAT_ROUGH_ICE = 1.0E-04 ! [m] default = 1.0E-04 - ! The default roughness length scale for the turbulent transfer of heat into the - ! ocean. CONSTANT_COSZEN_IC = 0.0 ! [nondim] default = -1.0 ! A constant value to use to initialize the cosine of the solar zenith angle for ! the first radiation step, or a negative number to use the current time and ! astronomy. -DT_RADIATION = 3600.0 ! [s] default = 3600.0 +DT_RADIATION = 3600.0 ! [s] default = 7200.0 ! The time step with which the shortwave radiation and fields like albedos are ! updated. Currently this is only used to initialize albedos when there is no ! restart file. -ICE_KMELT = 240.0 ! [W m-2 K-1] default = 240.0 -ICE_BOUNDS_CHECK = True ! [Boolean] default = True - ! If true, periodically check the values of ice and snow temperatures and - ! thicknesses to ensure that they are sensible, and issue warnings if they are - ! not. This does not change answers, but can increase model run time. -FIRST_DIRECTION = 0 ! default = 0 - ! An integer that indicates which direction goes first in parts of the code that - ! use directionally split updates, with even numbers (or 0) used for x- first - ! and odd numbers used for y-first. -ICE_SEES_ATMOS_WINDS = True ! [Boolean] default = True - ! If true, the sea ice is being given wind stresses with the atmospheric sign - ! convention, and need to have their sign changed. -APPLY_SLP_TO_OCEAN = False ! [Boolean] default = False - ! If true, apply the atmospheric sea level pressure to the ocean. -PASS_STRESS_MAG_TO_OCEAN = False ! [Boolean] default = False - ! If true, provide the time and area weighted mean magnitude - ! of the stresses on the ocean to the ocean. DO_ICEBERGS = True ! [Boolean] default = False ! If true, call the iceberg module. -PASS_ICEBERG_AREA_TO_OCEAN = False ! [Boolean] default = False - ! If true, iceberg area is passed through coupler -ADD_DIURNAL_SW = False ! [Boolean] default = False - ! If true, add a synthetic diurnal cycle to the shortwave radiation. -DO_SUN_ANGLE_FOR_ALB = False ! [Boolean] default = False - ! If true, find the sun angle for calculating the ocean albedo within the sea - ! ice model. -DO_RIDGING = False ! [Boolean] default = False - ! If true, call the ridging routines. -RESTARTFILE = "ice_model.res.nc" ! default = "ice_model.res.nc" - ! The name of the restart file. -FAST_ICE_RESTARTFILE = "ice_model.res.nc" ! default = "ice_model.res.nc" - ! The name of the restart file for those elements of the the sea ice that are - ! handled by the fast ice PEs. -APPLY_MASKS_AFTER_RESTART = True ! [Boolean] default = True - ! If true, applies masks to mH_ice,mH_snow and part_size after a restart. -WRITE_GEOM = 1 ! default = 1 - ! If =0, never write the geometry and vertical grid files. If =1, write the - ! geometry and vertical grid files only for a new simulation. If =2, always - ! write the geometry and vertical grid files. Other values are invalid. -INTERPOLATE_FLUXES = True ! [Boolean] default = True - ! If true, interpolate a linearized version of the fast fluxes into arealess - ! categories. -REDO_FAST_ICE_UPDATE = False ! [Boolean] default = False - ! If true, recalculate the thermal updates from the fast dynamics on the slowly - ! evolving ice state, rather than copying over the slow ice state to the fast - ! ice state. -NCAT_ICE = 5 ! [nondim] default = 5 - ! The number of sea ice thickness categories. -NK_ICE = 4 ! [nondim] default = 4 - ! The number of layers within the sea ice. -NK_SNOW = 1 ! [nondim] default = 1 - ! The number of layers within the snow atop the sea ice. -MIN_OCEAN_PARTSIZE = 0.0 ! [nondim] default = 0.0 - ! The minimum value for the fractional open-ocean area. This can be 0, but for - ! some purposes it may be useful to set this to a miniscule value (like 1e-40) - ! that will be lost to roundoff during any sums so that the open ocean fluxes - ! can be used in with new categories. ! === module MOM_domains === -REENTRANT_X = True ! [Boolean] default = True - ! If true, the domain is zonally reentrant. -REENTRANT_Y = False ! [Boolean] default = False - ! If true, the domain is meridionally reentrant. TRIPOLAR_N = True ! [Boolean] default = False ! Use tripolar connectivity at the northern edge of the domain. With ! TRIPOLAR_N, NIGLOBAL must be even. @@ -132,56 +51,14 @@ GRID_CONFIG = "mosaic" ! ! mercator - use a Mercator spherical grid. GRID_FILE = "ocean_hgrid.nc" ! ! Name of the file from which to read horizontal grid data. -USE_TRIPOLAR_GEOLONB_BUG = True ! [Boolean] default = True +USE_TRIPOLAR_GEOLONB_BUG = True ! [Boolean] default = False ! If true, use older code that incorrectly sets the longitude in some points ! along the tripolar fold to be off by 360 degrees. -TOPO_CONFIG = "file" ! default = "file" - ! This specifies how bathymetry is specified: - ! file - read bathymetric information from the file - ! specified by (TOPO_FILE). - ! flat - flat bottom set to MAXIMUM_DEPTH. - ! bowl - an analytically specified bowl-shaped basin - ! ranging between MAXIMUM_DEPTH and MINIMUM_DEPTH. - ! spoon - a similar shape to 'bowl', but with a vertical - ! wall at the southern face. - ! halfpipe - a zonally uniform channel with a half-sine - ! profile in the meridional direction. -TOPO_FILE = "topog.nc" ! default = "topog.nc" - ! The file from which the bathymetry is read. -TOPO_VARNAME = "depth" ! default = "depth" - ! The name of the bathymetry variable in TOPO_FILE. -TOPO_EDITS_FILE = "" ! default = "" - ! The file from which to read a list of i,j,z topography overrides. !MAXIMUM_DEPTH = 8317.21875 ! [m] ! The (diagnosed) maximum depth of the ocean. -MINIMUM_DEPTH = 0.0 ! [m] default = 0.0 - ! If MASKING_DEPTH is unspecified, then anything shallower than MINIMUM_DEPTH is - ! assumed to be land and all fluxes are masked out. If MASKING_DEPTH is - ! specified, then all depths shallower than MINIMUM_DEPTH but deeper than - ! MASKING_DEPTH are rounded to MINIMUM_DEPTH. -MASKING_DEPTH = -9999.0 ! [m] default = -9999.0 - ! The depth below which to mask points as land points, for which all fluxes are - ! zeroed out. MASKING_DEPTH is ignored if negative. -CHANNEL_CONFIG = "none" ! default = "none" - ! A parameter that determines which set of channels are restricted to specific - ! widths. Options are: - ! none - All channels have the grid width. - ! global_1deg - Sets 16 specific channels appropriate - ! for a 1-degree model, as used in CM2G. - ! list - Read the channel locations and widths from a - ! text file, like MOM_channel_list in the MOM_SIS - ! test case. - ! file - Read open face widths everywhere from a - ! NetCDF file on the model grid. -ROTATION = "2omegasinlat" ! default = "2omegasinlat" - ! This specifies how the Coriolis parameter is specified: - ! 2omegasinlat - Use twice the planetary rotation rate - ! times the sine of latitude. - ! betaplane - Use a beta-plane or f-plane. - ! USER - call a user modified routine. OMEGA = 7.292E-05 ! [s-1] default = 7.2921E-05 ! The rotation rate of the earth. -GRID_ROTATION_ANGLE_BUGS = True ! [Boolean] default = True +GRID_ROTATION_ANGLE_BUGS = True ! [Boolean] default = False ! If true, use an older algorithm to calculate the sine and cosines needed ! rotate between grid-oriented directions and true north and east. Differences ! arise at the tripolar fold. @@ -191,145 +68,28 @@ GRID_ROTATION_ANGLE_BUGS = True ! [Boolean] default = True ! === module MOM_hor_index === ! Sets the horizontal array index types. -SIS_AVAILABLE_DIAGS_FILE = "SIS.available_diags" ! default = "SIS.available_diags" - ! A file into which to write a list of all available sea ice diagnostics that - ! can be included in a diag_table. ! === module SIS2_ice_thm (thermo) === ! This sub-module calculates ice thermodynamic quantities. -LATENT_HEAT_FUSION = 3.34E+05 ! [J kg-1] default = 3.34E+05 - ! The latent heat of fusion as used by SIS. -LATENT_HEAT_VAPOR = 2.5E+06 ! [J kg-1] default = 2.5E+06 - ! The latent heat of vaporization of water at 0C as used by SIS. -CP_ICE = 2100.0 ! [J kg-1 K-1] default = 2100.0 - ! The heat capacity of fresh ice, approximated as a - ! constant. CP_SEAWATER = 3992.0 ! [J kg-1 K-1] default = 4200.0 - ! The heat capacity of sea water, approximated as a - ! constant. -CP_BRINE = 3992.0 ! [J kg-1 K-1] default = 3992.0 - ! The heat capacity of water in brine pockets within the - ! sea-ice, approximated as a constant. CP_BRINE and - ! CP_SEAWATER should be equal, but for computational - ! convenience CP_BRINE can be set equal to CP_ICE. -DTFREEZE_DS = -0.054 ! [deg C PSU-1] default = -0.054 - ! The derivative of the freezing temperature with salinity. -ENTHALPY_LIQUID_0 = 0.0 ! [J kg-1] default = 0.0 - ! The enthalpy of liquid fresh water at 0 C. The solutions should be physically - ! consistent when this is adjusted, because only the relative value is of - ! physical meaning, but roundoff errors can change the solution. -SUBLIMATION_BUG = False ! [Boolean] default = False - ! If true use an older calculation that omits the latent heat of fusion from the - ! latent heat of sublimation. This variable should be obsoleted as soon as - ! possible. + ! The heat capacity of sea water, approximated as a constant. ! === module SIS_tracer_registry === ! === module SIS_tracer_flow_control === -USE_ICE_AGE_TRACER = False ! [Boolean] default = False - ! If true, use the concentration based age tracer package. -SIS_FAST_AVAILABLE_DIAGS_FILE = "SIS_fast.available_diags" ! default = "SIS_fast.available_diags" - ! A file into which to write a list of all available sea ice diagnostics that - ! can be included in a diag_table. -CONCENTRATION_INIT_CONFIG = "data_override" ! default = "data_override" - ! A string that determines how the initial total sea ice concentration is - ! initialized for a new run: - ! file - read sea ice concentrations from a specified file - ! data_override - use the data_override capability or zero everywhere - ! zero - there is no sea ice anywhere. - ! latitudes - initial sea ice concentration is a function of latitude. -ICE_THICKNESS_INIT_CONFIG = "data_override" ! default = "data_override" - ! A string that determines how the initial total sea ice concentration is - ! initialized for a new run: - ! file - read sea ice concentrations from a specified file - ! data_override - use the data_override capability or zero everywhere - ! uniform - sea ice has uniform thickness where the concentration is - ! nonzero. -SNOW_THICKNESS_INIT_CONFIG = "data_override" ! default = "data_override" - ! A string that determines how the initial total sea ice concentration is - ! initialized for a new run: - ! file - read sea ice concentrations from a specified file - ! data_override - use the data_override capability or zero everywhere - ! uniform - sea ice has uniform thickness where the concentration is - ! nonzero. -ICE_SALINITY_INIT_CONFIG = "uniform" ! default = "uniform" - ! A string that determines how the sea ice salinity is initialized for a new - ! run: - ! uniform - Use a constant ice salinity initial condition - ! file - Read sea ice salinities from a specified file - ! data_override - use the data_override capability or zero everywhere. -ICE_ENTHALPY_INIT_CONFIG = "uniform_temp" ! default = "uniform_temp" - ! A string that determines how the sea ice enthalpy is initialized for a new - ! run: - ! uniform_temp - Use a constant ice temperature initial condition - ! relative_temp - Use an ice temperature initial condition with a - ! specified depression below the bulk ice freezing point - ! file - Read sea ice temperatures or enthalpies from a specified file - ! data_override - use the data_override capability or freezing enthalpy - ! everywhere. -SNOW_ENTHALPY_INIT_CONFIG = "uniform_temp" ! default = "uniform_temp" - ! A string that determines how the snow enthalpy is initialized for a new run: - ! uniform_temp - Use a constant ice temperature initial condition - ! relative_temp - Use an ice temperature initial condition with a - ! specified depression below the bulk ice freezing point - ! file - Read sea ice temperatures or enthalpies from a specified file - ! data_override - use the data_override capability or freezing enthalpy - ! everywhere. -ICE_SALINITY_IC = 5.0 ! [g kg-1] default = 5.0 +ICE_SALINITY_IC = 5.0 ! [g kg-1] default = 0.0 ! The uniform sea ice salinity used for the initial condition -ICE_TEMPERATURE_IC = -4.0 ! [degC] default = -4.0 - ! The uniform sea ice and snow temperature used for the initial condition ! === module SIS_slow_thermo === ! This module calculates the slow evolution of the ice mass, heat, and salt budgets. ICE_BULK_SALINITY = 0.0 ! [g/kg] default = 4.0 ! The fixed bulk salinity of sea ice. ICE_RELATIVE_SALINITY = 0.17 ! [nondim] default = 0.0 - ! The initial salinity of sea ice as a fraction of the - ! salinity of the seawater from which it formed. -SIS2_FILLING_FRAZIL = True ! [Boolean] default = True - ! If true, apply frazil to fill as many categories as - ! possible to fill in a uniform (minimum) amount of ice - ! in all the thinnest categories. Otherwise the frazil is - ! always assigned to a single category. -FILLING_FRAZIL_TIMESCALE = 0.0 ! [s] default = 0.0 - ! A timescale with which the filling frazil causes the - ! thinest cells to attain similar thicknesses, or a negative - ! number to apply the frazil flux uniformly. -APPLY_ICE_LIMIT = False ! [Boolean] default = False - ! If true, restore the sea ice state toward climatology. -DO_ICE_RESTORE = False ! [Boolean] default = False - ! If true, restore the sea ice state toward climatology. -NUDGE_SEA_ICE = False ! [Boolean] default = False - ! If true, constrain the sea ice concentrations using observations. + ! The initial salinity of sea ice as a fraction of the salinity of the seawater + ! from which it formed. ! === module SIS2_ice_thm (updates) === ! This sub-module does updates of the sea-ice due to thermodynamic changes. -MIN_H_FOR_TEMP_CALC = 0.0 ! [m] default = 0.0 - ! The minimum ice thickness at which to do temperature calculations. -DO_POND = False ! [Boolean] default = False - ! If true, calculate melt ponds and use them for shortwave radiation - ! calculation. -TDRAIN = -0.8 ! [degC] default = -0.8 - ! Melt ponds drain to sea level when ice average temp. exceeds TDRAIN (stand-in - ! for mushy layer thermo) -R_MIN_POND = 0.15 ! [nondim] default = 0.15 - ! Minimum retention rate of surface water sources in melt pond (retention scales - ! linearly with ice cover) -R_MAX_POND = 0.9 ! [nondim] default = 0.9 - ! Maximum retention rate of surface water sources in melt pond (retention scales - ! linearly with ice cover) -MIN_POND_FRAC = 0.2 ! [nondim] default = 0.2 - ! Minimum melt pond cover (by ponds at sea level) pond drains to this when ice - ! is porous. -MAX_POND_FRAC = 0.5 ! [nondim] default = 0.5 - ! Maximum melt pond cover - associated with pond volume that suppresses ice top - ! to waterline -ICE_TEMP_RANGE_ESTIMATE = 40.0 ! [degC] default = 40.0 - ! An estimate of the range of snow and ice temperatures that is used to evaluate - ! whether an explicit diffusive form of the heat fluxes or an inversion based on - ! the layer heat budget is more likely to be more accurate. Setting this to 0 - ! causes the explicit diffusive form. to always be used. ! === module SIS_dyn_trans === ! This module updates the ice momentum and does ice transport. @@ -337,22 +97,6 @@ DT_ICE_DYNAMICS = 1200.0 ! [seconds] default = -1.0 ! The time step used for the slow ice dynamics, including stepping the ! continuity equation and interactions between the ice mass field and ! velocities. If 0 or negative the coupling time step will be used. -MERGED_CONTINUITY = False ! [Boolean] default = False - ! If true, update the continuity equations for the ice, snow, and melt pond - ! water together summed across categories, with proportionate fluxes for each - ! part. Otherwise the media are updated separately. -NSTEPS_ADV = 1 ! default = 1 - ! The number of advective iterations for each slow dynamics time step. -ICEBERG_WINDSTRESS_BUG = False ! [Boolean] default = False - ! If true, use older code that applied an old ice-ocean stress to the icebergs - ! in place of the current air-ocean stress. This option is here for backward - ! compatibility, but should be avoided. -WARSAW_SUM_ORDER = True ! [Boolean] default = True - ! If true, use the order of sums in the Warsaw version of SIS2. The default is - ! the opposite of MERGED_CONTINUITY. This option exists for backward - ! compatibilty but may eventually be obsoleted. -TIMEUNIT = 8.64E+04 ! [s] default = 8.64E+04 - ! The time unit for ICE_STATS_INTERVAL. ICE_STATS_INTERVAL = 0.25 ! [days] default = 1.0 ! The interval in units of TIMEUNIT between writes of the globally summed ice ! statistics and conservation checks. @@ -363,67 +107,21 @@ ICE_TDAMP_ELASTIC = 1000.0 ! [s or nondim] default = -0.2 ! The damping timescale associated with the elastic terms in the sea-ice ! dynamics equations (if positive) or the fraction of DT_ICE_DYNAMICS (if ! negative). -WEAK_LOW_SHEAR_ICE = False ! [Boolean] default = False - ! If true, the divergent stresses go toward 0 in the C-grid dynamics when the - ! shear magnitudes are very weak. Otherwise they go to -P_ice. This setting is - ! temporary. -PROJECT_ICE_DRAG_VEL = True ! [Boolean] default = True - ! If true, project forward the ice velocity used in the drag calculation to - ! avoid an instability that can occur when a finite stress is applied to thin - ! ice moving with the velocity of the ocean. -ICE_YIELD_ELLIPTICITY = 2.0 ! [Nondim] default = 2.0 - ! The ellipticity coefficient for the plastic yield curve in the sea-ice - ! rheology. For an infinite ellipticity (i.e., a cavitating fluid rheology), - ! use 0. -ICE_STRENGTH_PSTAR = 2.75E+04 ! [Pa] default = 2.75E+04 - ! A constant in the expression for the ice strength, P* in Hunke & Dukowicz - ! 1997. -ICE_STRENGTH_CSTAR = 20.0 ! [nondim] default = 20.0 - ! A constant in the exponent of the expression for the ice strength, c* in Hunke - ! & Dukowicz 1997. -ICE_CDRAG_WATER = 0.00324 ! [nondim] default = 0.00324 - ! The drag coefficient between the sea ice and water. -MIN_OCN_INTERTIAL_H = 0.0 ! [m] default = 0.0 - ! A minimum ocean thickness used to limit the viscous coupling rate implied for - ! the ocean by the ice-ocean stress. Only used if positive. -ICE_DEL_SH_MIN_SCALE = 2.0 ! [nondim] default = 2.0 - ! A scaling factor for the lower bound on the shear rates used in the - ! denominator of the stress calculation. This probably needs to be greater than - ! 1. -PROJECT_ICE_CONCENTRATION = True ! [Boolean] default = True - ! If true, project the evolution of the ice concentration due to the convergence - ! or divergence of the ice flow. -CFL_TRUNCATE = 0.5 ! [nondim] default = 0.5 - ! The value of the CFL number that will cause ice velocity components to be - ! truncated; instability can occur past 0.5. -CFL_TRUNC_DYN_ITS = False ! [Boolean] default = False - ! If true, check the CFL number for every iteration of the rheology solver; - ! otherwise only the final velocities that are used for transport are checked. -RECATEGORIZE_ICE = True ! [Boolean] default = True - ! If true, readjust the distribution into ice thickness categories after - ! advection. -SEA_ICE_ROLL_FACTOR = 1.0 ! [Nondim] default = 1.0 - ! A factor by which the propensity of small amounts of - ! thick sea-ice to become thinner by rolling is increased - ! or 0 to disable rolling. This can be thought of as the - ! minimum number of ice floes in a grid cell divided by - ! the horizontal floe aspect ratio. Sensible values are - ! 0 (no rolling) or larger than 1. SIS_THICKNESS_ADVECTION_SCHEME = "PCM" ! default = "UPWIND_2D" ! The horizontal transport scheme for thickness: ! UPWIND_2D - Non-directionally split upwind ! PCM - Directionally split piecewise constant ! PLM - Piecewise Linear Method ! PPM:H3 - Piecewise Parabolic Method (Huyhn 3rd order) +INCONSISTENT_COVER_BUG = True ! [Boolean] default = True + ! If true, omit a recalculation of the fractional ice-free areal coverage after + ! the adjustment of the ice categories. SIS_CONTINUITY_SCHEME = "PCM" ! default = "UPWIND_2D" ! The horizontal transport scheme used in continuity: ! UPWIND_2D - Non-directionally split upwind ! PCM - Directionally split piecewise constant ! PPM:C2PD - Positive definite PPM with 2nd order edge values ! PPM:C2MO - Monotonic PPM with 2nd order edge values -CONT_PPM_VOLUME_BASED_CFL = False ! [Boolean] default = False - ! If true, use the ratio of the open face lengths to the tracer cell areas when - ! estimating CFL numbers. ! === module SIS_tracer_advect === SIS_TRACER_ADVECTION_SCHEME = "PPM:H3" ! default = "UPWIND_2D" @@ -432,20 +130,12 @@ SIS_TRACER_ADVECTION_SCHEME = "PPM:H3" ! default = "UPWIND_2D" ! PCM - Directionally split piecewise constant ! PLM - Piecewise Linear Method ! PPM:H3 - Piecewise Parabolic Method (Huyhn 3rd order) +CFL_MASS_NEGLECT_BUG = True ! [Boolean] default = True + ! If true use a globally constant negligible volume in the denominator of the + ! tracer advection CFL calculation, reproducing an older incorrect expression, + ! rather than using a proper scaling of this negligible mass with cell area. ! === module SIS_sum_output === -WRITE_STOCKS = True ! [Boolean] default = True - ! If true, write the integrated tracer amounts to stdout when the statistics - ! files are written. -STDOUT_HEARTBEAT = True ! [Boolean] default = True - ! If true, periodically write sea ice statistics to stdout to allow the progress - ! to be seen. -MAXTRUNC = 0 ! [truncations save_interval-1] default = 0 - ! The run will be stopped, and the day set to a very large value if the velocity - ! is truncated more than MAXTRUNC times between writing ice statistics. Set - ! MAXTRUNC to 0 to stop if there is any truncation of sea ice velocities. -STATISTICS_FILE = "seaice.stats" ! default = "seaice.stats" - ! The file to use to write the globally integrated statistics. ! === module SIS_ice_diagnostics === ! This module handles sea-ice state diagnostics. @@ -453,42 +143,14 @@ STATISTICS_FILE = "seaice.stats" ! default = "seaice.stats" ! === module SIS_fast_thermo === ! This module applies rapidly varying heat fluxes to the ice and does an implicit surface temperature ! calculation. -REORDER_0C_HEATFLUX = False ! [Boolean] default = False - ! If true, rearrange the calculation of the heat fluxes projected back to 0C to - ! work on each contribution separately, so that they can be indentically - ! replicated if there is a single fast timestep per coupled timestep and - ! REDO_FAST_ICE_UPDATE=True. -MAX_TSKIN_ITT = 10 ! default = 10 - ! The maximum number of iterations of the skin temperature and optical - ! properties during redo_update_ice_model_fast. ! === module SIS2_ice_thm (updates) === ! This sub-module does updates of the sea-ice due to thermodynamic changes. ! === module SIS_optics === ! This module calculates the albedo and absorption profiles for shortwave radiation. -DO_DELTA_EDDINGTON_SW = True ! [Boolean] default = True - ! If true, a delta-Eddington radiative transfer calculation for the shortwave - ! radiation within the sea-ice. -ICE_DELTA_EDD_R_ICE = 0.0 ! [nondimensional] default = 0.0 - ! A dreadfully documented tuning parameter for the radiative propeties of sea - ! ice with the delta-Eddington radiative transfer calculation. -ICE_DELTA_EDD_R_SNOW = 0.0 ! [nondimensional] default = 0.0 - ! A dreadfully documented tuning parameter for the radiative propeties of snow - ! on sea ice with the delta-Eddington radiative transfer calculation. -ICE_DELTA_EDD_R_POND = 0.0 ! [nondimensional] default = 0.0 - ! A dreadfully documented tuning parameter for the radiative propeties of - ! meltwater ponds on sea ice with the delta-Eddington radiative transfer - ! calculation. ! === module MOM_file_parser === -SEND_LOG_TO_STDOUT = False ! [Boolean] default = False - ! If true, all log messages are also sent to stdout. DOCUMENT_FILE = "SIS_parameter_doc" ! default = "MOM_parameter_doc" ! The basename for files where run-time parameters, their settings, units and ! defaults are documented. Blank will disable all parameter documentation. -COMPLETE_DOCUMENTATION = True ! [Boolean] default = True - ! If true, all run-time parameters are documented in SIS_parameter_doc.all . -MINIMAL_DOCUMENTATION = True ! [Boolean] default = True - ! If true, non-default run-time parameters are documented in - ! SIS_parameter_doc.short .