diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/.datasets b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/.datasets new file mode 120000 index 0000000000..086a13aa04 --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/.datasets @@ -0,0 +1 @@ +../../../.datasets \ No newline at end of file diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/.gitignore b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/.gitignore new file mode 100644 index 0000000000..03865c2906 --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/.gitignore @@ -0,0 +1,2 @@ +# Undo *.nc in top-level .gitignore +!*.nc diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/GOLD_IC.2010.11.15.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/GOLD_IC.2010.11.15.nc new file mode 120000 index 0000000000..046d818714 --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/GOLD_IC.2010.11.15.nc @@ -0,0 +1 @@ +.datasets/GOLD_SIS/riga/INPUT/GOLD_IC.2010.11.15.nc \ No newline at end of file diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/Layer_coord.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/Layer_coord.nc new file mode 100644 index 0000000000..2b9378fb27 Binary files /dev/null and b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/Layer_coord.nc differ diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/Layer_coord50.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/Layer_coord50.nc new file mode 100644 index 0000000000..a040ee6d63 Binary files /dev/null and b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/Layer_coord50.nc differ diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/NOTES b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/NOTES new file mode 100644 index 0000000000..f682e127c8 --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/NOTES @@ -0,0 +1,10 @@ +ncks -d ny,160,173 -d nx,286,308 /archive/gold/datasets/GOLD_SIS/riga/mosaic.unpacked/topog.nc topog.nc +ncks -d ny,320,347 -d nx,572,617 -d nyp,320,348 -d nxp,572,618 /archive/gold/datasets/GOLD_SIS/riga/mosaic.unpacked/ocean_hgrid.nc ocean_hgrid.nc +ncks -d ny,142,155 -d nx,4,23 -d nyp,142,156 -d nxp,4,24 /archive/gold/datasets/GOLD_SIS/riga/mosaic.unpacked/atmos_hgrid.nc atmos_hgrid.nc +cp atmos_hgrid.nc land_hgrid.nc +ncks -d GRID_Y_T,160,173 -d GRID_X_T,286,308 .datasets/GOLD_SIS/riga/INPUT/tideamp.nc tideamp.nc +ncks -d GRID_Y_T,160,173 -d GRID_X_T,286,308 .datasets/GOLD_SIS/riga/INPUT/sgs_h2.nc sgs_h2.nc +ncks -d grid_y_T,160,173 -d grid_x_T,286,308 .datasets/GOLD_SIS/riga/INPUT/geothermal_heating_cm2g.nc geothermal_heating_cm2g.nc +ncks -d LAT,160,173 -d LON,286,308 .datasets/GOLD_SIS/riga/INPUT/seawifs_1998-2006_GOLD_smoothed_2X.nc seawifs_1998-2006_GOLD_smoothed_2X.nc +ncks -d GRID_Y_T,160,173 -d GRID_X_T,286,308 .datasets/GOLD_SIS/riga/INPUT/gustiness_qscat.nc gustiness_qscat.nc +ncks -d grid_y_T,160,173 -d grid_x_T,286,308 .datasets/GOLD_SIS/riga/INPUT/salt_restore.nc salt_restore.nc diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/OM3_zgrid.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/OM3_zgrid.nc new file mode 120000 index 0000000000..8600d5c457 --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/OM3_zgrid.nc @@ -0,0 +1 @@ +.datasets/GOLD_SIS/riga/INPUT/OM3_zgrid.nc \ No newline at end of file diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/WOA05_pottemp_salt.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/WOA05_pottemp_salt.nc new file mode 120000 index 0000000000..c83305ca57 --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/WOA05_pottemp_salt.nc @@ -0,0 +1 @@ +.datasets/obs/WOA05_pottemp_salt.nc \ No newline at end of file diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/analysis_vgrid_lev35.v1.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/analysis_vgrid_lev35.v1.nc new file mode 100644 index 0000000000..155a27e12d Binary files /dev/null and b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/analysis_vgrid_lev35.v1.nc differ diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/atmos_hgrid.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/atmos_hgrid.nc new file mode 100644 index 0000000000..bd2f1952d3 Binary files /dev/null and b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/atmos_hgrid.nc differ diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/atmos_mosaic.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/atmos_mosaic.nc new file mode 120000 index 0000000000..1d7d5defe9 --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/atmos_mosaic.nc @@ -0,0 +1 @@ +.datasets/GOLD_SIS/riga/mosaic.unpacked/atmos_mosaic.nc \ No newline at end of file diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/atmos_mosaic_tile1Xland_mosaic_tile1.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/atmos_mosaic_tile1Xland_mosaic_tile1.nc new file mode 100644 index 0000000000..08f952bcc8 Binary files /dev/null and b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/atmos_mosaic_tile1Xland_mosaic_tile1.nc differ diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/atmos_mosaic_tile1Xocean_mosaic_tile1.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/atmos_mosaic_tile1Xocean_mosaic_tile1.nc new file mode 100644 index 0000000000..ca4c562696 Binary files /dev/null and b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/atmos_mosaic_tile1Xocean_mosaic_tile1.nc differ diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/cfc.bc.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/cfc.bc.nc new file mode 120000 index 0000000000..2ee881840a --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/cfc.bc.nc @@ -0,0 +1 @@ +.datasets/GOLD_SIS/riga/INPUT/cfc.bc.nc \ No newline at end of file diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/geothermal_heating_cm2g.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/geothermal_heating_cm2g.nc new file mode 100644 index 0000000000..cd308dbbf8 Binary files /dev/null and b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/geothermal_heating_cm2g.nc differ diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/grid_spec.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/grid_spec.nc new file mode 100644 index 0000000000..d6e3c96ab0 Binary files /dev/null and b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/grid_spec.nc differ diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/gustiness_qscat.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/gustiness_qscat.nc new file mode 100644 index 0000000000..7e2a8e7879 Binary files /dev/null and b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/gustiness_qscat.nc differ diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/land_hgrid.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/land_hgrid.nc new file mode 100644 index 0000000000..bd2f1952d3 Binary files /dev/null and b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/land_hgrid.nc differ diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/land_mask.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/land_mask.nc new file mode 100644 index 0000000000..b2672d8675 Binary files /dev/null and b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/land_mask.nc differ diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/land_mosaic_tile1Xocean_mosaic_tile1.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/land_mosaic_tile1Xocean_mosaic_tile1.nc new file mode 100644 index 0000000000..9d009a96e4 Binary files /dev/null and b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/land_mosaic_tile1Xocean_mosaic_tile1.nc differ diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/mosaic.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/mosaic.nc new file mode 120000 index 0000000000..476a0963c3 --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/mosaic.nc @@ -0,0 +1 @@ +.datasets/GOLD_SIS/riga/mosaic.unpacked/mosaic.nc \ No newline at end of file diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/ncar_precip_clim.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/ncar_precip_clim.nc new file mode 120000 index 0000000000..cf566642fd --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/ncar_precip_clim.nc @@ -0,0 +1 @@ +.datasets/GOLD_SIS/riga/INPUT/ncar_precip_clim.nc \ No newline at end of file diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/ncar_rad_clim.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/ncar_rad_clim.nc new file mode 120000 index 0000000000..bdd6d0d2c8 --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/ncar_rad_clim.nc @@ -0,0 +1 @@ +.datasets/GOLD_SIS/riga/INPUT/ncar_rad_clim.nc \ No newline at end of file diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/ocean_hgrid.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/ocean_hgrid.nc new file mode 100644 index 0000000000..3a1c050b6d Binary files /dev/null and b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/ocean_hgrid.nc differ diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/ocean_mask.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/ocean_mask.nc new file mode 100644 index 0000000000..d1d11b6f1b Binary files /dev/null and b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/ocean_mask.nc differ diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/ocean_mosaic.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/ocean_mosaic.nc new file mode 100644 index 0000000000..67e8fd929a Binary files /dev/null and b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/ocean_mosaic.nc differ diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/ocean_solo.res b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/ocean_solo.res new file mode 100644 index 0000000000..6a7c86abbd --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/ocean_solo.res @@ -0,0 +1,3 @@ + 2 (Calendar: no_calendar=0, thirty_day_months=1, julian=2, gregorian=3, noleap=4) + 1 1 1 0 0 0 Model start time: year, month, day, hour, minute, second + 1 1 6 0 0 0 Current model time: year, month, day, hour, minute, second diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/ocean_vgrid.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/ocean_vgrid.nc new file mode 120000 index 0000000000..d83d78fb03 --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/ocean_vgrid.nc @@ -0,0 +1 @@ +.datasets/GOLD_SIS/riga/mosaic.unpacked/ocean_vgrid.nc \ No newline at end of file diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/q_10_mod.clim.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/q_10_mod.clim.nc new file mode 120000 index 0000000000..ee22f9b8ee --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/q_10_mod.clim.nc @@ -0,0 +1 @@ +.datasets/GOLD_SIS/riga/INPUT/q_10_mod.clim.nc \ No newline at end of file diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/runoff.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/runoff.nc new file mode 120000 index 0000000000..c36598e904 --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/runoff.nc @@ -0,0 +1 @@ +.datasets/GOLD_SIS/riga/INPUT/runoff.nc \ No newline at end of file diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/salt_restore.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/salt_restore.nc new file mode 100644 index 0000000000..f1f44045f0 Binary files /dev/null and b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/salt_restore.nc differ diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/seawifs_1998-2006_GOLD_smoothed_2X.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/seawifs_1998-2006_GOLD_smoothed_2X.nc new file mode 100644 index 0000000000..d09ec060d1 Binary files /dev/null and b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/seawifs_1998-2006_GOLD_smoothed_2X.nc differ diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/sgs_h2.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/sgs_h2.nc new file mode 100644 index 0000000000..70c785ab57 Binary files /dev/null and b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/sgs_h2.nc differ diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/slp.clim.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/slp.clim.nc new file mode 120000 index 0000000000..81db600d1b --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/slp.clim.nc @@ -0,0 +1 @@ +.datasets/GOLD_SIS/riga/INPUT/slp.clim.nc \ No newline at end of file diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/sst_ice_clim.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/sst_ice_clim.nc new file mode 120000 index 0000000000..8da20f2fd9 --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/sst_ice_clim.nc @@ -0,0 +1 @@ +.datasets/GOLD_SIS/riga/INPUT/sst_ice_clim.nc \ No newline at end of file diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/t_10_mod.clim.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/t_10_mod.clim.nc new file mode 120000 index 0000000000..c270d1c272 --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/t_10_mod.clim.nc @@ -0,0 +1 @@ +.datasets/GOLD_SIS/riga/INPUT/t_10_mod.clim.nc \ No newline at end of file diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/tideamp.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/tideamp.nc new file mode 100644 index 0000000000..22c26befc8 Binary files /dev/null and b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/tideamp.nc differ diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/tke_tidal_cm2p2.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/tke_tidal_cm2p2.nc new file mode 120000 index 0000000000..b3a03c8366 --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/tke_tidal_cm2p2.nc @@ -0,0 +1 @@ +.datasets/GOLD_SIS/riga/INPUT/tke_tidal_cm2p2.nc \ No newline at end of file diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/topog.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/topog.nc new file mode 100644 index 0000000000..00ce0a9631 Binary files /dev/null and b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/topog.nc differ diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/u_10_mod.clim.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/u_10_mod.clim.nc new file mode 120000 index 0000000000..44da029a20 --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/u_10_mod.clim.nc @@ -0,0 +1 @@ +.datasets/GOLD_SIS/riga/INPUT/u_10_mod.clim.nc \ No newline at end of file diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/v_10_mod.clim.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/v_10_mod.clim.nc new file mode 120000 index 0000000000..64523c32ae --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/v_10_mod.clim.nc @@ -0,0 +1 @@ +.datasets/GOLD_SIS/riga/INPUT/v_10_mod.clim.nc \ No newline at end of file diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/vgrid.nc b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/vgrid.nc new file mode 100644 index 0000000000..e86d73f536 Binary files /dev/null and b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/INPUT/vgrid.nc differ diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/MOM_input b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/MOM_input new file mode 100644 index 0000000000..e8dfc27dc1 --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/MOM_input @@ -0,0 +1,605 @@ +/* This input file provides the adjustable run-time parameters for version 6 of + the Modular Ocean Model (MOM6), a numerical ocean model developed at NOAA-GFDL. + Where appropriate, parameters use usually given in MKS units. + + This particular file is for the example in global_ALE. + + This MOM_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 MOM_parameter_doc.all file which is + generated by the model at run-time. */ + +TRIPOLAR_N = False ! [Boolean] default = False + ! Use tripolar connectivity at the northern edge of the + ! domain. With TRIPOLAR_N, NIGLOBAL must be even. +!SYMMETRIC_MEMORY_ = False ! [Boolean] + ! If defined, the velocity point data domain includes + ! every face of the thickness points. In other words, + ! some arrays are larger than others, depending on where + ! they are on the staggered grid. Also, the starting + ! index of the velocity-point arrays is usually 0, not 1. + ! This can only be set at compile time. +!STATIC_MEMORY_ = False ! [Boolean] + ! If STATIC_MEMORY_ is defined, the principle variables + ! will have sizes that are statically determined at + ! compile time. Otherwise the sizes are not determined + ! until run time. The STATIC option is substantially + ! faster, but does not allow the PE count to be changed + ! at run time. This can only be set at compile time. +NIHALO = 4 ! default = 2 + ! The number of halo points on each side in the + ! x-direction. With STATIC_MEMORY_ this is set as NIHALO_ + ! in MOM_memory.h at compile time; without STATIC_MEMORY_ + ! the default is NIHALO_ in MOM_memory.h (if defined) or 2. +NJHALO = 4 ! default = 2 + ! The number of halo points on each side in the + ! y-direction. With STATIC_MEMORY_ this is set as NJHALO_ + ! in MOM_memory.h at compile time; without STATIC_MEMORY_ + ! the default is NJHALO_ in MOM_memory.h (if defined) or 2. +NIGLOBAL = 23 ! + ! The total number of thickness grid points in the + ! x-direction in the physical domain. With STATIC_MEMORY_ + ! this is set in MOM_memory.h at compile time. +NJGLOBAL = 14 ! + ! The total number of thickness grid points in the + ! y-direction in the physical domain. With STATIC_MEMORY_ + ! this is set in MOM_memory.h at compile time. +!NIPROC = 8 ! + ! The number of processors in the x-direction. With + ! STATIC_MEMORY_ this is set in MOM_memory.h at compile time. +!NJPROC = 8 ! + ! The number of processors in the x-direction. With + ! STATIC_MEMORY_ this is set in MOM_memory.h at compile time. +!LAYOUT = 8, 8 ! + ! The processor layout that was acutally used. +IO_LAYOUT = 1, 1 ! default = 0 + ! The processor layout to be used, or 0,0 to automatically + ! set the io_layout to be the same as the layout. + +! === module MOM_grid === +! Parameters providing information about the vertical grid. + +! === module MOM_verticalGrid === +! Parameters providing information about the vertical grid. + +! === module MOM === +DIABATIC_FIRST = True ! [Boolean] default = False + ! If true, apply diabatic and thermodynamic processes, + ! including buoyancy forcing and mass gain or loss, + ! before stepping the dynamics forward. +THICKNESSDIFFUSE = True ! [Boolean] default = False + ! If true, interfaces or isopycnal surfaces are diffused, + ! depending on the value of FULL_THICKNESSDIFFUSE. +THICKNESSDIFFUSE_FIRST = True ! [Boolean] default = False + ! If true, do thickness diffusion before dynamics. + ! This is only used if THICKNESSDIFFUSE is true. +DT = 3600.0 ! [s] + ! The (baroclinic) dynamics time step. The time-step that + ! is actually used will be an integer fraction of the + ! forcing time-step (DT_FORCING in ocean-only mode or the + ! coupling timestep in coupled mode.) +DT_THERM = 7200.0 ! [s] default = 3600.0 + ! The thermodynamic and tracer advection time step. + ! Ideally DT_THERM should be an integer multiple of DT + ! and less than the forcing or coupling time-step. + ! By default DT_THERM is set to DT. +MIN_Z_DIAG_INTERVAL = 2.16E+04 ! [s] default = 0.0 + ! The minimum amount of time in seconds between + ! calculations of depth-space diagnostics. Making this + ! larger than DT_THERM reduces the performance penalty + ! of regridding to depth online. +DTBT_RESET_PERIOD = 0.0 ! [s] default = 7200.0 + ! The period between recalculations of DTBT (if DTBT <= 0). + ! If DTBT_RESET_PERIOD is negative, DTBT is set based + ! only on information available at initialization. If + ! dynamic, DTBT will be set at least every forcing time + ! step, and if 0, every dynamics time step. The default is + ! set by DT_THERM. This is only used if SPLIT is true. +FRAZIL = True ! [Boolean] default = False + ! If true, water freezes if it gets too cold, and the + ! the accumulated heat deficit is returned in the + ! surface state. FRAZIL is only used if + ! ENABLE_THERMODYNAMICS is true. +DO_GEOTHERMAL = True ! [Boolean] default = False + ! If true, apply geothermal heating. +BOUND_SALINITY = True ! [Boolean] default = False + ! If true, limit salinity to being positive. (The sea-ice + ! model may ask for more salt than is available and + ! drive the salinity negative otherwise.) +C_P = 3925.0 ! [J kg-1 K-1] default = 3991.86795711963 + ! The heat capacity of sea water, approximated as a + ! constant. This is only used if ENABLE_THERMODYNAMICS is + ! true. The default value is from the TEOS-10 definition + ! of conservative temperature. +CHECK_BAD_SURFACE_VALS = True ! [Boolean] default = False + ! If true, check the surface state for ridiculous values. +SAVE_INITIAL_CONDS = True ! [Boolean] default = False + ! If true, write the initial conditions to a file given + ! by IC_OUTPUT_FILE. + +! === module MOM_tracer_registry === +TFREEZE_DP = -7.75E-08 ! [deg C Pa-1] default = 0.0 + ! When TFREEZE_FORM=LINEAR, + ! this is the derivative of the freezing potential + ! temperature with pressure. + +! === module MOM_tracer_flow_control === +USE_IDEAL_AGE_TRACER = True ! [Boolean] default = False + ! If true, use the ideal_age_example tracer package. + +! === module ideal_age_example === +INPUTDIR = "INPUT" ! default = "." + ! The directory in which input files are found. +COORD_CONFIG = "file" ! + ! This specifies how layers are to be defined: + ! file - read coordinate information from the file + ! specified by (COORD_FILE). + ! linear - linear based on interfaces not layesrs. + ! ts_ref - use reference temperature and salinity + ! ts_range - use range of temperature and salinity + ! (T_REF and S_REF) to determine surface density + ! and GINT calculate internal densities. + ! gprime - use reference density (RHO_0) for surface + ! density and GINT calculate internal densities. + ! ts_profile - use temperature and salinity profiles + ! (read from COORD_FILE) to set layer densities. + ! USER - call a user modified routine. +COORD_FILE = "Layer_coord.nc" ! + ! The file from which the coordinate densities are read. + +! === module MOM_grid_init === +GRID_CONFIG = "mosaic" ! + ! A character string that determines the method for + ! defining the horizontal grid. Current options are: + ! mosaic - read the grid from a mosaic (supergrid) + ! file set by GRID_FILE. + ! cartesian - use a (flat) Cartesian grid. + ! spherical - use a simple spherical grid. + ! mercator - use a Mercator spherical grid. +GRID_FILE = "ocean_hgrid.nc" ! + ! Name of the file from which to read horizontal grid data. +TOPO_CONFIG = "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 an vertical + ! wall at the southern face. + ! halfpipe - a zonally uniform channel with a half-sine + ! profile in the meridional direction. + ! benchmark - use the benchmark test case topography. + ! DOME - use a slope and channel configuration for the + ! DOME sill-overflow test case. + ! DOME2D - use a shelf and slope configuration for the + ! DOME2D gravity current/overflow test case. + ! seamount - Gaussian bump for spontaneous motion test case. + ! USER - call a user modified routine. +MAXIMUM_DEPTH = 6000.0 ! [m] + ! The maximum depth of the ocean. +MINIMUM_DEPTH = 0.5 ! [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 depper than MASKING_DEPTH are rounded to MINIMUM_DEPTH. +CHANNEL_CONFIG = "global_1deg" ! 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. +REMAPPING_SCHEME = "PPM_H4" ! default = "PLM" + ! This sets the reconstruction scheme used + ! for vertical remapping for all variables. + ! It can be one of the following schemes: + ! PCM (1st-order accurate) + ! PLM (2nd-order accurate) + ! PPM_H4 (3rd-order accurate) + ! PPM_IH4 (3rd-order accurate) + ! PQM_IH4IH3 (4th-order accurate) + ! PQM_IH6IH5 (5th-order accurate) +INIT_LAYERS_FROM_Z_FILE = True ! [Boolean] default = False + ! If true, intialize the layer thicknesses, temperatures, + ! and salnities from a Z-space file on a latitude- + ! longitude grid. +TEMP_SALT_Z_INIT_FILE = "WOA05_pottemp_salt.nc" ! default = "temp_salt_z.nc" + ! The name of the z-space input file used to initialize + ! the layer thicknesses, temperatures and salinities. +Z_INIT_FILE_PTEMP_VAR = "PTEMP" ! default = "ptemp" + ! The name of the potential temperature variable in + ! TEMP_SALT_Z_INIT_FILE. +Z_INIT_FILE_SALT_VAR = "SALT" ! default = "salt" + ! The name of the salinity variable in + ! TEMP_SALT_Z_INIT_FILE. + +! === module MOM_MEKE === +USE_MEKE = True ! [Boolean] default = False + ! If true, turns on the MEKE scheme which calculates + ! a sub-grid mesoscale eddy kinetic energy budget. +MEKE_GMCOEFF = 1.0 ! [nondim] default = -1.0 + ! The efficiency of the conversion of potential energy + ! into MEKE by the thickness mixing parameterization. + ! If MEKE_GMCOEFF is negative, this conversion is not + ! used or calculated. + +! === module MOM_lateral_mixing_coeffs === +USE_VARIABLE_MIXING = True ! [Boolean] default = False + ! If true, the variable mixing code will be called. This + ! allows diagnostics to be created even if the scheme is + ! not used. If KHTR_SLOPE_CFF>0 or KhTh_Slope_Cff>0, + ! this is set to true regardless of what is in the + ! parameter file. +RESOLN_SCALED_KH = True ! [Boolean] default = False + ! If true, the Laplacian lateral viscosity is scaled away + ! when the first baroclinic deformation radius is well + ! resolved. +RESOLN_SCALED_KHTH = True ! [Boolean] default = False + ! If true, the interface depth diffusivity is scaled away + ! when the first baroclinic deformation radius is well + ! resolved. + +! === module MOM_wave_speed === +TIDES = True ! [Boolean] default = False + ! If true, apply tidal momentum forcing. +ETA_TOLERANCE = 1.0E-06 ! [m] default = 3.15E-09 + ! The tolerance for the differences between the + ! barotropic and baroclinic estimates of the sea surface + ! height due to the fluxes through each face. The total + ! tolerance for SSH is 4 times this value. The default + ! is 0.5*NK*ANGSTROM, and this should not be set less x + ! than about 10^-15*MAXIMUM_DEPTH. +VELOCITY_TOLERANCE = 1.0E-04 ! [m s-1] default = 3.0E+08 + ! The tolerance for barotropic velocity discrepancies + ! between the barotropic solution and the sum of the + ! layer thicknesses. +BOUND_CORIOLIS = True ! [Boolean] default = False + ! If true, the Coriolis terms at u-points are bounded by + ! the four estimates of (f+rv)v from the four neighboring + ! v-points, and similarly at v-points. This option would + ! have no effect on the SADOURNY Coriolis scheme if it + ! were possible to use centered difference thickness fluxes. + +! === module MOM_tidal_forcing === +TIDE_M2 = True ! [Boolean] default = False + ! If true, apply tidal momentum forcing at the M2 + ! frequency. This is only used if TIDES is true. +TIDE_SAL_SCALAR_VALUE = 0.094 ! [m m-1] + ! The constant of proportionality between sea surface + ! height (really it should be bottom pressure) anomalies + ! and bottom geopotential anomalies. This is only used if + ! TIDES and TIDE_USE_SAL_SCALAR are true. +MASS_WEIGHT_IN_PRESSURE_GRADIENT = True ! [Boolean] default = False + ! If true, use mass weighting when interpolation T/S for + ! top/bottom integrals in AFV pressure gradient calculation. + +! === module MOM_hor_visc === +LAPLACIAN = True ! [Boolean] default = False + ! If true, use a Laplacian horizontal viscosity. +KH_VEL_SCALE = 0.01 ! [m s-1] default = 0.0 + ! The velocity scale which is multiplied by the grid + ! spacing to calculate the Laplacian viscosity. + ! The final viscosity is the largest of this scaled + ! viscosity, the Smagorinsky viscosity and KH. +AH_VEL_SCALE = 0.05 ! [m s-1] default = 0.0 + ! The velocity scale which is multiplied by the cube of + ! the grid spacing to calculate the Laplacian viscosity. + ! The final viscosity is the largest of this scaled + ! viscosity, the Smagorinsky viscosity and AH. +SMAGORINSKY_AH = True ! [Boolean] default = False + ! If true, use a biharmonic Smagorinsky nonlinear eddy + ! viscosity. +SMAG_BI_CONST = 0.06 ! [nondim] default = 0.0 + ! The nondimensional biharmonic Smagorinsky constant, + ! typically 0.015 - 0.06. + +! === module MOM_vert_friction === +CHANNEL_DRAG = True ! [Boolean] default = False + ! If true, the bottom drag is exerted directly on each + ! layer proportional to the fraction of the bottom it + ! overlies. +!DYNAMIC_VISCOUS_ML = True ! [Boolean] default = False + ! If true, use a bulk Richardson number criterion to + ! determine the mixed layer thickness for viscosity. +PRANDTL_TURB = 1.0 ! [nondim] default = 0.0 + ! The turbulent Prandtl number applied to shear + ! instability. +U_TRUNC_FILE = "U_velocity_truncations" ! default = "" + ! The absolute path to a file into which the accelerations + ! leading to zonal velocity truncations are written. + ! Undefine this for efficiency if this diagnostic is not + ! needed. +V_TRUNC_FILE = "V_velocity_truncations" ! default = "" + ! The absolute path to a file into which the accelerations + ! leading to meridional velocity truncations are written. + ! Undefine this for efficiency if this diagnostic is not + ! needed. +KV = 1.0E-04 ! [m2 s-1] + ! The background kinematic viscosity in the interior. + ! The molecular value, ~1e-6 m2 s-1, may be used. +HBBL = 10.0 ! [m] + ! The thickness of a bottom boundary layer with a + ! viscosity of KVBBL if BOTTOMDRAGLAW is not defined, or + ! the thickness over which near-bottom velocities are + ! averaged for the drag law if BOTTOMDRAGLAW is defined + ! but LINEAR_DRAG is not. +MAXVEL = 6.0 ! [m s-1] default = 3.0E+08 + ! The maximum velocity allowed before the velocity + ! components are truncated. + +! === module MOM_PointAccel === +INTERPOLATE_RES_FN = False ! [Boolean] default = True + ! If true, interpolate the resolution function to the + ! velocity points from the thickness points; otherwise + ! interpolate the wave speed and calculate the resolution + ! function independently at each point. +GILL_EQUATORIAL_LD = True ! [Boolean] default = False + ! If true, uses Gill's definition of the baroclinic + ! equatorial deformation radius, otherwise, if false, use + ! Pedlosky's definition. These definitions differ by a factor + ! of 2 infront of the beta term in the denominator. Gill'sis the more appropriate definition. + +! === module MOM_set_visc === +DRAG_BG_VEL = 0.1 ! [m s-1] default = 0.0 + ! DRAG_BG_VEL is either the assumed bottom velocity (with + ! LINEAR_DRAG) or an unresolved velocity that is + ! combined with the resolved velocity to estimate the + ! velocity magnitude. DRAG_BG_VEL is only used when + ! BOTTOMDRAGLAW is defined. +BBL_USE_EOS = True ! [Boolean] default = False + ! If true, use the equation of state in determining the + ! properties of the bottom boundary layer. Otherwise use + ! the layer target potential densities. +BBL_THICK_MIN = 0.1 ! [m] default = 0.0 + ! The minimum bottom boundary layer thickness that can be + ! used with BOTTOMDRAGLAW. This might be + ! Kv / (cdrag * drag_bg_vel) to give Kv as the minimum + ! near-bottom viscosity. + +! === module MOM_barotropic === +BOUND_BT_CORRECTION = True ! [Boolean] default = False + ! If true, the corrective pseudo mass-fluxes into the + ! barotropic solver are limited to values that require + ! less than 0.1*MAXVEL to be accommodated. +!BT x-halo = 0 ! + ! The barotropic x-halo size that is actually used. +!BT y-halo = 0 ! + ! The barotropic y-halo size that is actually used. +BT_PROJECT_VELOCITY = True ! [Boolean] default = False + ! If true, step the barotropic velocity first and project + ! out the velocity tendancy by 1+BEBT when calculating the + ! transport. The default (false) is to use a predictor + ! continuity step to find the pressure field, and then + ! to do a corrector continuity step using a weighted + ! average of the old and new velocities, with weights + ! of (1-BEBT) and BEBT. +BT_THICK_SCHEME = "FROM_BT_CONT" ! default = "HYBRID" + ! A string describing the scheme that is used to set the + ! open face areas used for barotropic transport and the + ! relative weights of the accelerations. Valid values are: + ! ARITHMETIC - arithmetic mean layer thicknesses + ! HARMONIC - harmonic mean layer thicknesses + ! HYBRID (the default) - use arithmetic means for + ! layers above the shallowest bottom, the harmonic + ! mean for layers below, and a weighted average for + ! layers that straddle that depth + ! FROM_BT_CONT - use the average thicknesses kept + ! in the h_u and h_v fields of the BT_cont_type +BEBT = 0.2 ! [nondim] default = 0.1 + ! BEBT determines whether the barotropic time stepping + ! uses the forward-backward time-stepping scheme or a + ! backward Euler scheme. BEBT is valid in the range from + ! 0 (for a forward-backward treatment of nonrotating + ! gravity waves) to 1 (for a backward Euler treatment). + ! In practice, BEBT must be greater than about 0.05. +DTBT = -0.95 ! [s or nondim] default = -0.98 + ! The barotropic time step, in s. DTBT is only used with + ! the split explicit time stepping. To set the time step + ! automatically based the maximum stable value use 0, or + ! a negative value gives the fraction of the stable value. + ! Setting DTBT to 0 is the same as setting it to -0.98. + ! The value of DTBT that will actually be used is an + ! integer fraction of DT, rounding down. + +! === module MOM_thickness_diffuse === +KHTH = 600.0 ! [m2 s-1] default = 0.0 + ! The background horizontal thickness diffusivity. +KHTH_MAX = 900.0 ! [m2 s-1] default = 0.0 + ! The maximum horizontal thickness diffusivity. + +! === module MOM_mixed_layer_restrat === +MIXEDLAYER_RESTRAT = True ! [Boolean] default = False + ! If true, a density-gradient dependent re-stratifying + ! flow is imposed in the mixed layer. + ! This is only used if BULKMIXEDLAYER is true. +FOX_KEMPER_ML_RESTRAT_COEF = 20.0 ! [nondim] default = 0.0 + ! A nondimensional coefficient that is proportional to + ! the ratio of the deformation radius to the dominant + ! lengthscale of the submesoscale mixed layer + ! instabilities, times the minimum of the ratio of the + ! mesoscale eddy kinetic energy to the large-scale + ! geostrophic kinetic energy or 1 plus the square of the + ! grid spacing over the deformation radius, as detailed + ! by Fox-Kemper et al. (2010) +Z_OUTPUT_GRID_FILE = "analysis_vgrid_lev35.v1.nc" ! default = "" + ! The file that specifies the vertical grid for + ! depth-space diagnostics, or blank to disable + ! depth-space output. +!NK_ZSPACE (from file) = 50 ! [nondim] + ! The number of depth-space levels. This is determined + ! from the size of the variable zw in the output grid file. + +! === module MOM_diabatic_driver === +! The following parameters are used for diabatic processes. +BBL_MIXING_AS_MAX = False ! [Boolean] default = True + ! If true, take the maximum of the diffusivity from the + ! BBL mixing and the other diffusivities. Otherwise, + ! diffusiviy from the BBL_mixing is simply added. +USE_LOTW_BBL_DIFFUSIVITY = True ! [Boolean] default = False + ! If true, uses a simple, imprecise but non-coordinate dependent, model + ! of BBL mixing diffusivity based on Law of the Wall. Otherwise, uses + ! the original BBL scheme. +KD_MAX = 0.1 ! [m2 s-1] default = -1.0 + ! The maximum permitted increment for the diapycnal + ! diffusivity from TKE-based parameterizations, or a + ! negative value for no limit. +HENYEY_IGW_BACKGROUND = True ! [Boolean] default = False + ! If true, use a latitude-dependent scaling for the near + ! surface background diffusivity, as described in + ! Harrison & Hallberg, JPO 2008. +N2_FLOOR_IOMEGA2 = 0.0 ! [nondim] default = 1.0 + ! The floor applied to N2(k) scaled by Omega^2: + ! If =0., N2(k) is simply positive definite. + ! If =1., N2(k) > Omega^2 everywhere. +KD = 2.0E-05 ! [m2 s-1] + ! The background diapycnal diffusivity of density in the + ! interior. Zero or the molecular value, ~1e-7 m2 s-1, + ! may be used. +KD_MIN = 2.0E-06 ! [m2 s-1] default = 2.0E-07 + ! The minimum diapycnal diffusivity. +INT_TIDE_DISSIPATION = True ! [Boolean] default = False + ! If true, use an internal tidal dissipation scheme to + ! drive diapycnal mixing, along the lines of St. Laurent + ! et al. (2002) and Simmons et al. (2004). +INT_TIDE_DECAY_SCALE = 300.3003003003003 ! [m] default = 0.0 + ! The decay scale away from the bottom for tidal TKE with + ! the new coding when INT_TIDE_DISSIPATION is used. +KAPPA_ITIDES = 6.28319E-04 ! [m-1] default = 6.283185307179586E-04 + ! A topographic wavenumber used with INT_TIDE_DISSIPATION. + ! The default is 2pi/10 km, as in St.Laurent et al. 2002. +KAPPA_H2_FACTOR = 0.75 ! [nondim] default = 1.0 + ! A scaling factor for the roughness amplitude with nINT_TIDE_DISSIPATION. +TKE_ITIDE_MAX = 0.1 ! [W m-2] default = 1000.0 + ! The maximum internal tide energy source availble to mix + ! above the bottom boundary layer with INT_TIDE_DISSIPATION. +READ_TIDEAMP = True ! [Boolean] default = False + ! If true, read a file (given by TIDEAMP_FILE) containing + ! the tidal amplitude with INT_TIDE_DISSIPATION. +H2_FILE = "sgs_h2.nc" ! + ! The path to the file containing the sub-grid-scale + ! topographic roughness amplitude with INT_TIDE_DISSIPATION. + +! === module MOM_kappa_shear === +! Parameterization of shear-driven turbulence following Jackson, Hallberg and Legg, JPO 2008 +USE_JACKSON_PARAM = True ! [Boolean] default = False + ! If true, use the Jackson-Hallberg-Legg (JPO 2008) + ! shear mixing parameterization. +MAX_RINO_IT = 25 ! [nondim] default = 50 + ! The maximum number of iterations that may be used to + ! estimate the Richardson number driven mixing. + +! === module MOM_KPP === +! This is the MOM wrapper to CVmix:KPP +! See http://code.google.com/p/cvmix/ + +! === module MOM_diffConvection === +! This module implements enhanced diffusivity as a +! function of static stability, N^2. +CONVECTION% +%CONVECTION + +! === module MOM_entrain_diffusive === +MAX_ENT_IT = 20 ! default = 5 + ! The maximum number of iterations that may be used to + ! calculate the interior diapycnal entrainment. +TOLERANCE_ENT = 1.0E-05 ! [m] default = 2.683281572999748E-05 + ! The tolerance with which to solve for entrainment values. + +! === module MOM_geothermal === +GEOTHERMAL_SCALE = 0.001 ! [W m-2 or various] default = 0.0 + ! The constant geothermal heat flux, a rescaling + ! factor for the heat flux read from GEOTHERMAL_FILE, or + ! 0 to disable the geothermal heating. +GEOTHERMAL_FILE = "geothermal_heating_cm2g.nc" ! default = "" + ! The file from which the geothermal heating is to be + ! read, or blank to use a constant heating rate. + +! === module MOM_mixed_layer === +BULK_RI_ML = 0.05 ! [nondim] + ! The efficiency with which mean kinetic energy released + ! by mechanically forced entrainment of the mixed layer + ! is converted to turbulent kinetic energy. +HMIX_MIN = 2.0 ! [m] default = 0.0 + ! The minimum mixed layer depth if the mixed layer depth + ! is determined dynamically. + +! === module MOM_regularize_layers === + +! === module MOM_opacity === +VAR_PEN_SW = True ! [Boolean] default = False + ! If true, use one of the CHL_A schemes specified by + ! OPACITY_SCHEME to determine the e-folding depth of + ! incoming short wave radiation. +CHL_FILE = "seawifs_1998-2006_GOLD_smoothed_2X.nc" ! + ! CHL_FILE is the file containing chl_a concentrations in + ! the variable CHL_A. It is used when VAR_PEN_SW and + ! CHL_FROM_FILE are true. +PEN_SW_NBANDS = 3 ! default = 1 + ! The number of bands of penetrating shortwave radiation. + +! === module MOM_tracer_advect === +TRACER_ADVECTION_SCHEME = "PPM:H3" ! default = "PLM" + ! The horizontal transport scheme for tracers: + ! PLM - Piecewise Linear Method + ! PPM:H3 - Piecewise Parabolic Method (Huyhn 3rd order) + +! === module MOM_tracer_hor_diff === +KHTR = 600.0 ! [m2 s-1] default = 0.0 + ! The background along-isopycnal tracer diffusivity. +KHTR_MIN = 50.0 ! [m2 s-1] default = 0.0 + ! The minimum along-isopycnal tracer diffusivity. +KHTR_MAX = 900.0 ! [m2 s-1] default = 0.0 + ! The maximum along-isopycnal tracer diffusivity. + +! === module MOM_surface_forcing === +BUOY_CONFIG = "zero" ! + ! The character string that indicates how buoyancy forcing + ! is specified. Valid options include (file), (zero), + ! (linear), (USER), and (NONE). +WIND_CONFIG = "zero" +READ_GUST_2D = True ! [Boolean] default = False + ! If true, use a 2-dimensional gustiness supplied from + ! an input file +GUST_2D_FILE = "gustiness_qscat.nc" ! + ! The file in which the wind gustiness is found in + ! variable gustiness. + +! === module MOM_sum_output === +MAXTRUNC = 5000 ! [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 energy saves. Set MAXTRUNC to 0 + ! to stop if there is any truncation of velocities. +MAXCPU = 2.88E+04 ! [wall-clock seconds] default = -1.0 + ! The maximum amount of cpu time per processor for which + ! MOM should run before saving a restart file and + ! quitting with a return value that indicates that a + ! further run is required to complete the simulation. + ! If automatic restarts are not desired, use a negative + ! value for MAXCPU. MAXCPU has units of wall-clock + ! seconds, so the actual CPU time used is larger by a + ! factor of the number of processors used. + +! === module MOM_main (MOM_driver) === +DT_FORCING = 7200.0 ! [s] default = 3600.0 + ! The time step for changing forcing, coupling with other + ! components, or potentially writing certain diagnostics. + ! The default value is given by DT. +RESTART_CONTROL = 3 ! default = 1 + ! An integer whose bits encode which restart files are + ! written. Add 2 (bit 1) for a time-stamped file, and odd + ! (bit 0) for a non-time-stamped file. A non-time-stamped + ! restart file is saved at the end of the run segment + ! for any non-negative value. +RESTINT = 365.0 ! [days] default = 0.0 + ! The interval between saves of the restart file in units + ! of TIMEUNIT. Use 0 (the default) to not save + ! incremental restart files at all. +ENERGYSAVEDAYS = 0.5 ! [days] default = 7200.0 + ! The interval in units of TIMEUNIT between saves of the + ! energies of the run and other globally summed diagnostics. diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/MOM_override b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/MOM_override new file mode 100644 index 0000000000..e202d4406d --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/MOM_override @@ -0,0 +1,25 @@ +! Blank file in which we can put "overrides" for parameters +NK = 50 +#override USE_REGRIDDING = True +#override BULKMIXEDLAYER = False +#override COORD_FILE = "Layer_coord50.nc" +#override DIABATIC_FIRST = False +#override REGRID_TIME_SCALE = 0.0 +USE_STORED_SLOPES = True +USE_NEUTRAL_DIFFUSION = True +SIMPLE_TKE_TO_KD = True +REGRIDDING_COORDINATE_MODE = "Z*" +ALE_COORDINATE_CONFIG = "FILE:vgrid.nc,dz" +HMIX_FIXED = 0.5 +CFL_TRUNCATE_RAMP_TIME = 7200. +Z_INIT_ALE_REMAPPING = True +ENERGETICS_SFC_PBL = True + + +USE_ADVECTION_TEST_TRACER = True +ADVECTION_TEST_X_ORIGIN = 19.5 +ADVECTION_TEST_Y_ORIGIN = 60.5 +ADVECTION_TEST_X_WIDTH = 1.0 +ADVECTION_TEST_Y_WIDTH = 1.0 + + diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/MOM_override_offline b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/MOM_override_offline new file mode 100644 index 0000000000..56db454170 --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/MOM_override_offline @@ -0,0 +1,33 @@ +! Blank file in which we can put "overrides" for parameters +NK = 50 +#override USE_REGRIDDING = True +#override BULKMIXEDLAYER = False +#override COORD_FILE = "Layer_coord50.nc" +#override DIABATIC_FIRST = False +#override REGRID_TIME_SCALE = 0.0 + +USE_STORED_SLOPES = True +USE_NEUTRAL_DIFFUSION = True +SIMPLE_TKE_TO_KD = True +REGRIDDING_COORDINATE_MODE = "Z*" +ALE_COORDINATE_CONFIG = "FILE:vgrid.nc,dz" +HMIX_FIXED = 0.5 +CFL_TRUNCATE_RAMP_TIME = 7200. +Z_INIT_ALE_REMAPPING = True +ENERGETICS_SFC_PBL = True + +USE_ADVECTION_TEST_TRACER = True +ADVECTION_TEST_X_ORIGIN = 19.5 +ADVECTION_TEST_Y_ORIGIN = 60.5 +ADVECTION_TEST_X_WIDTH = 1.0 +ADVECTION_TEST_Y_WIDTH = 1.0 + +! Related to offline tracer transport +OFFLINE_TRACER_MODE = True +OFFLINEDIR = "ONLINE/" +OFF_SUM_FILE = "00010101.off_sum_1day.nc" +OFF_SNAP_FILE = "00010101.off_snap_1day.nc" +START_INDEX = 1 +DT_OFFLINE = 86400 +NUM_OFF_ITER = 30 +NUMTIME = 5 diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/MOM_override_online b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/MOM_override_online new file mode 100644 index 0000000000..e202d4406d --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/MOM_override_online @@ -0,0 +1,25 @@ +! Blank file in which we can put "overrides" for parameters +NK = 50 +#override USE_REGRIDDING = True +#override BULKMIXEDLAYER = False +#override COORD_FILE = "Layer_coord50.nc" +#override DIABATIC_FIRST = False +#override REGRID_TIME_SCALE = 0.0 +USE_STORED_SLOPES = True +USE_NEUTRAL_DIFFUSION = True +SIMPLE_TKE_TO_KD = True +REGRIDDING_COORDINATE_MODE = "Z*" +ALE_COORDINATE_CONFIG = "FILE:vgrid.nc,dz" +HMIX_FIXED = 0.5 +CFL_TRUNCATE_RAMP_TIME = 7200. +Z_INIT_ALE_REMAPPING = True +ENERGETICS_SFC_PBL = True + + +USE_ADVECTION_TEST_TRACER = True +ADVECTION_TEST_X_ORIGIN = 19.5 +ADVECTION_TEST_Y_ORIGIN = 60.5 +ADVECTION_TEST_X_WIDTH = 1.0 +ADVECTION_TEST_Y_WIDTH = 1.0 + + diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/MOM_parameter_doc.all b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/MOM_parameter_doc.all new file mode 100644 index 0000000000..64c065e133 --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/MOM_parameter_doc.all @@ -0,0 +1,1944 @@ +! This file was written by the model and records all non-layout parameters used at run-time. + +! === module MOM === +VERBOSITY = 2 ! default = 2 + ! Integer controlling level of messaging + ! 0 = Only FATAL messages + ! 2 = Only FATAL, WARNING, NOTE [default] + ! 9 = All) +SPLIT = True ! [Boolean] default = True + ! Use the split time stepping if true. +USE_LEGACY_SPLIT = False ! [Boolean] default = False + ! If true, use the full range of options available from + ! the older GOLD-derived split time stepping code. +ENABLE_THERMODYNAMICS = True ! [Boolean] default = True + ! If true, Temperature and salinity are used as state + ! variables. +USE_EOS = True ! [Boolean] default = True + ! If true, density is calculated from temperature and + ! salinity with an equation of state. If USE_EOS is + ! true, ENABLE_THERMODYNAMICS must be true as well. +DIABATIC_FIRST = False ! [Boolean] default = False + ! If true, apply diabatic and thermodynamic processes, + ! including buoyancy forcing and mass gain or loss, + ! before stepping the dynamics forward. +ADIABATIC = False ! [Boolean] default = False + ! There are no diapycnal mass fluxes if ADIABATIC is + ! true. This assumes that KD = KDML = 0.0 and that + ! there is no buoyancy forcing, but makes the model + ! faster by eliminating subroutine calls. +USE_REGRIDDING = True ! [Boolean] default = False + ! If True, use the ALE algorithm (regridding/remapping). + ! If False, use the layered isopycnal algorithm. +BULKMIXEDLAYER = False ! [Boolean] default = False + ! If true, use a Kraus-Turner-like bulk mixed layer + ! with transitional buffer layers. Layers 1 through + ! NKML+NKBL have variable densities. There must be at + ! least NKML+NKBL+1 layers if BULKMIXEDLAYER is true. + ! BULKMIXEDLAYER can not be used with USE_REGRIDDING. + ! The default is influenced by ENABLE_THERMODYNAMICS. +THICKNESSDIFFUSE = True ! [Boolean] default = False + ! If true, interface heights are diffused with a + ! coefficient of KHTH. +`_FIRST = False ! [Boolean] default = False + ! If true, do thickness diffusion before dynamics. + ! This is only used if THICKNESSDIFFUSE is true. +BATHYMETRY_AT_VEL = False ! [Boolean] default = False + ! If true, there are separate values for the basin depths + ! at velocity points. Otherwise the effects of topography + ! are entirely determined from thickness points. +DEBUG = False ! [Boolean] default = False + ! If true, write out verbose debugging data. +DEBUG_TRUNCATIONS = False ! [Boolean] default = False + ! If true, calculate all diagnostics that are useful for + ! debugging truncations. +DT = 3600.0 ! [s] + ! The (baroclinic) dynamics time step. The time-step that + ! is actually used will be an integer fraction of the + ! forcing time-step (DT_FORCING in ocean-only mode or the + ! coupling timestep in coupled mode.) +DT_THERM = 7200.0 ! [s] default = 3600.0 + ! The thermodynamic and tracer advection time step. + ! Ideally DT_THERM should be an integer multiple of DT + ! and less than the forcing or coupling time-step, unless + ! THERMO_SPANS_COUPLING is true, in which case DT_THERM + ! can be an integer multiple of the coupling timestep. By + ! default DT_THERM is set to DT. +THERMO_SPANS_COUPLING = False ! [Boolean] default = False + ! If true, the MOM will take thermodynamic and tracer + ! timesteps that can be longer than the coupling timestep. + ! The actual thermodynamic timestep that is used in this + ! case is the largest integer multiple of the coupling + ! timestep that is less than or equal to DT_THERM. +HMIX_SFC_PROP = 1.0 ! [m] default = 1.0 + ! If BULKMIXEDLAYER is false, HMIX_SFC_PROP is the depth + ! over which to average to find surface properties like + ! SST and SSS or density (but not surface velocities). +HMIX_UV_SFC_PROP = 0.0 ! [m] default = 0.0 + ! If BULKMIXEDLAYER is false, HMIX_UV_SFC_PROP is the depth + ! over which to average to find surface flow properties, + ! SSU, SSV. A non-positive value indicates no averaging. +MIN_Z_DIAG_INTERVAL = 2.16E+04 ! [s] default = 0.0 + ! The minimum amount of time in seconds between + ! calculations of depth-space diagnostics. Making this + ! larger than DT_THERM reduces the performance penalty + ! of regridding to depth online. +INTERPOLATE_P_SURF = False ! [Boolean] default = False + ! If true, linearly interpolate the surface pressure + ! over the coupling time step, using the specified value + ! at the end of the step. +DTBT_RESET_PERIOD = 0.0 ! [s] default = 7200.0 + ! The period between recalculations of DTBT (if DTBT <= 0). + ! If DTBT_RESET_PERIOD is negative, DTBT is set based + ! only on information available at initialization. If + ! dynamic, DTBT will be set at least every forcing time + ! step, and if 0, every dynamics time step. The default is + ! set by DT_THERM. This is only used if SPLIT is true. +FRAZIL = True ! [Boolean] default = False + ! If true, water freezes if it gets too cold, and the + ! the accumulated heat deficit is returned in the + ! surface state. FRAZIL is only used if + ! ENABLE_THERMODYNAMICS is true. +DO_GEOTHERMAL = True ! [Boolean] default = False + ! If true, apply geothermal heating. +BOUND_SALINITY = True ! [Boolean] default = False + ! If true, limit salinity to being positive. (The sea-ice + ! model may ask for more salt than is available and + ! drive the salinity negative otherwise.) +C_P = 3925.0 ! [J kg-1 K-1] default = 3991.86795711963 + ! The heat capacity of sea water, approximated as a + ! constant. This is only used if ENABLE_THERMODYNAMICS is + ! true. The default value is from the TEOS-10 definition + ! of conservative temperature. +P_REF = 2.0E+07 ! [Pa] default = 2.0E+07 + ! The pressure that is used for calculating the coordinate + ! density. (1 Pa = 1e4 dbar, so 2e7 is commonly used.) + ! This is only used if USE_EOS and ENABLE_THERMODYNAMICS + ! are true. +FIRST_DIRECTION = 1 ! 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. +CHECK_BAD_SURFACE_VALS = True ! [Boolean] default = False + ! If true, check the surface state for ridiculous values. +BAD_VAL_SSH_MAX = 20.0 ! [m] default = 20.0 + ! The value of SSH above which a bad value message is + ! triggered, if CHECK_BAD_SURFACE_VALS is true. +BAD_VAL_SSS_MAX = 45.0 ! [PPT] default = 45.0 + ! The value of SSS above which a bad value message is + ! triggered, if CHECK_BAD_SURFACE_VALS is true. +BAD_VAL_SST_MAX = 45.0 ! [deg C] default = 45.0 + ! The value of SST above which a bad value message is + ! triggered, if CHECK_BAD_SURFACE_VALS is true. +BAD_VAL_SST_MIN = -2.1 ! [deg C] default = -2.1 + ! The value of SST below which a bad value message is + ! triggered, if CHECK_BAD_SURFACE_VALS is true. +SAVE_INITIAL_CONDS = True ! [Boolean] default = False + ! If true, write the initial conditions to a file given + ! by IC_OUTPUT_FILE. +IC_OUTPUT_FILE = "MOM_IC" ! default = "MOM_IC" + ! The file into which to write the initial conditions. +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. + +! === 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 = False ! [Boolean] default = False + ! Use tripolar connectivity at the northern edge of the + ! domain. With TRIPOLAR_N, NIGLOBAL must be even. +NIGLOBAL = 23 ! + ! The total number of thickness grid points in the + ! x-direction in the physical domain. With STATIC_MEMORY_ + ! this is set in MOM_memory.h at compile time. +NJGLOBAL = 14 ! + ! The total number of thickness grid points in the + ! y-direction in the physical domain. With STATIC_MEMORY_ + ! this is set in MOM_memory.h at compile time. + +! === module MOM_hor_index === +! Sets the horizontal array index types. + +! === module MOM_verticalGrid === +! Parameters providing information about the vertical grid. +G_EARTH = 9.8 ! [m s-2] default = 9.8 + ! The gravitational acceleration of the Earth. +RHO_0 = 1035.0 ! [kg m-3] default = 1035.0 + ! The mean ocean density used with BOUSSINESQ true to + ! calculate accelerations and the mass for conservation + ! properties, or with BOUSSINSEQ false to convert some + ! parameters from vertical units of m to kg m-2. +BOUSSINESQ = True ! [Boolean] default = True + ! If true, make the Boussinesq approximation. +ANGSTROM = 1.0E-10 ! [m] default = 1.0E-10 + ! The minumum layer thickness, usually one-Angstrom. +H_TO_M = 1.0 ! [m H-1] default = 1.0 + ! A constant that translates the model's internal + ! units of thickness into m. +NK = 50 ! [nondim] + ! The number of model layers. + +! === module MOM_tracer_registry === + +! === module MOM_EOS === +EQN_OF_STATE = "WRIGHT" ! default = "WRIGHT" + ! EQN_OF_STATE determines which ocean equation of state + ! should be used. Currently, the valid choices are + ! "LINEAR", "UNESCO", and "WRIGHT". + ! This is only used if USE_EOS is true. +EOS_QUADRATURE = False ! [Boolean] default = False + ! If true, always use the generic (quadrature) code + ! code for the integrals of density. +TFREEZE_FORM = "LINEAR" ! default = "LINEAR" + ! TFREEZE_FORM determines which expression should be + ! used for the freezing point. Currently, the valid + ! choices are "LINEAR", "MILLERO_78". +TFREEZE_S0_P0 = 0.0 ! [deg C] default = 0.0 + ! When TFREEZE_FORM=LINEAR, + ! this is the freezing potential temperature at + ! S=0, P=0. +DTFREEZE_DS = -0.054 ! [deg C PSU-1] default = -0.054 + ! When TFREEZE_FORM=LINEAR, + ! this is the derivative of the freezing potential + ! temperature with salinity. +DTFREEZE_DP = 0.0 ! [deg C Pa-1] default = 0.0 + ! When TFREEZE_FORM=LINEAR, + ! this is the derivative of the freezing potential + ! temperature with pressure. + +! === module MOM_restart === +PARALLEL_RESTARTFILES = False ! [Boolean] default = False + ! If true, each processor writes its own restart file, + ! otherwise a single restart file is generated +RESTARTFILE = "MOM.res" ! default = "MOM.res" + ! The name-root of the restart file. +LARGE_FILE_SUPPORT = True ! [Boolean] default = True + ! If true, use the file-size limits with NetCDF large + ! file support (4Gb), otherwise the limit is 2Gb. +MAX_FIELDS = 100 ! default = 100 + ! The maximum number of restart fields that can be used. + +! === module MOM_tracer_flow_control === +USE_USER_TRACER_EXAMPLE = False ! [Boolean] default = False + ! If true, use the USER_tracer_example tracer package. +USE_DOME_TRACER = False ! [Boolean] default = False + ! If true, use the DOME_tracer tracer package. +USE_ISOMIP_TRACER = False ! [Boolean] default = False + ! If true, use the ISOMIP_tracer tracer package. +USE_IDEAL_AGE_TRACER = True ! [Boolean] default = False + ! If true, use the ideal_age_example tracer package. +USE_REGIONAL_DYES = False ! [Boolean] default = False + ! If true, use the regional_dyes tracer package. +USE_OIL_TRACER = False ! [Boolean] default = False + ! If true, use the oil_tracer tracer package. +USE_ADVECTION_TEST_TRACER = True ! [Boolean] default = False + ! If true, use the advection_test_tracer tracer package. +USE_OCMIP2_CFC = False ! [Boolean] default = False + ! If true, use the MOM_OCMIP2_CFC tracer package. +USE_generic_tracer = False ! [Boolean] default = False + ! If true and _USE_GENERIC_TRACER is defined as a + ! preprocessor macro, use the MOM_generic_tracer packages. +USE_PSEUDO_SALT_TRACER = False ! [Boolean] default = False + ! If true, use the pseudo salt tracer, typically run as a diagnostic. + +! === module ideal_age_example === +DO_IDEAL_AGE = True ! [Boolean] default = True + ! If true, use an ideal age tracer that is set to 0 age + ! in the mixed layer and ages at unit rate in the interior. +DO_IDEAL_VINTAGE = False ! [Boolean] default = False + ! If true, use an ideal vintage tracer that is set to an + ! exponentially increasing value in the mixed layer and + ! is conserved thereafter. +DO_IDEAL_AGE_DATED = False ! [Boolean] default = False + ! If true, use an ideal age tracer that is everywhere 0 + ! before IDEAL_AGE_DATED_START_YEAR, but the behaves like + ! the standard ideal age tracer - i.e. is set to 0 age in + ! the mixed layer and ages at unit rate in the interior. +AGE_IC_FILE = "" ! default = "" + ! The file in which the age-tracer initial values can be + ! found, or an empty string for internal initialization. +AGE_IC_FILE_IS_Z = False ! [Boolean] default = False + ! If true, AGE_IC_FILE is in depth space, not layer space +MASK_MASSLESS_TRACERS = False ! [Boolean] default = False + ! If true, the tracers are masked out in massless layer. + ! This can be a problem with time-averages. +TRACERS_MAY_REINIT = False ! [Boolean] default = False + ! If true, tracers may go through the initialization code + ! if they are not found in the restart files. Otherwise + ! it is a fatal error if the tracers are not found in the + ! restart files of a restarted run. + +! === module advection_test_tracer === +ADVECTION_TEST_X_ORIGIN = 19.5 ! [not defined] default = 0.0 + ! The x-coorindate of the center of the test-functions. +ADVECTION_TEST_Y_ORIGIN = 60.5 ! [not defined] default = 0.0 + ! The y-coorindate of the center of the test-functions. +ADVECTION_TEST_X_WIDTH = 1.0 ! [not defined] default = 0.0 + ! The x-width of the test-functions. +ADVECTION_TEST_Y_WIDTH = 1.0 ! [not defined] default = 0.0 + ! The y-width of the test-functions. +ADVECTION_TEST_TRACER_IC_FILE = "" ! default = "" + ! The name of a file from which to read the initial + ! conditions for the tracers, or blank to initialize + ! them internally. +SPONGE = False ! [Boolean] default = False + ! If true, sponges may be applied anywhere in the domain. + ! The exact location and properties of those sponges are + ! specified from MOM_initialization.F90. +MASK_TRACERS_IN_MASSLESS_LAYERS = False ! [Boolean] default = False + ! If true, tracers will be masked out in massless layers. + +! === module MOM_fixed_initialization === +INPUTDIR = "INPUT" ! default = "." + ! The directory in which input files are found. + +! === module MOM_grid_init === +GRID_CONFIG = "mosaic" ! + ! A character string that determines the method for + ! defining the horizontal grid. Current options are: + ! mosaic - read the grid from a mosaic (supergrid) + ! file set by GRID_FILE. + ! cartesian - use a (flat) Cartesian grid. + ! spherical - use a simple spherical grid. + ! mercator - use a Mercator spherical grid. +GRID_FILE = "ocean_hgrid.nc" ! + ! Name of the file from which to read horizontal grid data. +TOPO_CONFIG = "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 an vertical + ! wall at the southern face. + ! halfpipe - a zonally uniform channel with a half-sine + ! profile in the meridional direction. + ! benchmark - use the benchmark test case topography. + ! DOME - use a slope and channel configuration for the + ! DOME sill-overflow test case. + ! ISOMIP - use a slope and channel configuration for the + ! ISOMIP test case. + ! DOME2D - use a shelf and slope configuration for the + ! DOME2D gravity current/overflow test case. + ! seamount - Gaussian bump for spontaneous motion test case. + ! supercritical - flat but with 8.95 degree land mask. + ! Phillips - ACC-like idealized topography used in the Phillips config. + ! USER - call a user modified routine. +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 = 6000.0 ! [m] + ! The maximum depth of the ocean. +MINIMUM_DEPTH = 0.5 ! [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. + +! === module MOM_open_boundary === +! Controls where open boundaries are located, what kind of boundary condition to impose, and what data to apply, if any. +OBC_NUMBER_OF_SEGMENTS = 0 ! default = 0 + ! The number of open boundary segments. +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 = "global_1deg" ! 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.2921E-05 ! [s-1] default = 7.2921E-05 + ! The rotation rate of the earth. + +! === module MOM_coord_initialization === +COORD_CONFIG = "file" ! + ! This specifies how layers are to be defined: + ! file - read coordinate information from the file + ! specified by (COORD_FILE). + ! BFB - Custom coords for buoyancy-forced basin case + ! based on SST_S, T_BOT and DRHO_DT. + ! linear - linear based on interfaces not layers + ! layer_ref - linear based on layer densities + ! ts_ref - use reference temperature and salinity + ! ts_range - use range of temperature and salinity + ! (T_REF and S_REF) to determine surface density + ! and GINT calculate internal densities. + ! gprime - use reference density (RHO_0) for surface + ! density and GINT calculate internal densities. + ! ts_profile - use temperature and salinity profiles + ! (read from COORD_FILE) to set layer densities. + ! USER - call a user modified routine. +GFS = 9.8 ! [m s-2] default = 9.8 + ! The reduced gravity at the free surface. +COORD_FILE = "Layer_coord50.nc" ! + ! The file from which the coordinate densities are read. +COORD_VAR = "Layer" ! default = "Layer" + ! The variable in COORD_FILE that is to be used for the + ! coordinate densities. +BOUNDARY_EXTRAPOLATION_PRESSURE = True ! [Boolean] default = True + ! When defined, the reconstruction is extrapolated + ! within boundary cells rather than assume PCM for the. + ! calculation of pressure. e.g. if PPM is used, a + ! PPM reconstruction will also be used within + ! boundary cells. +RECONSTRUCT_FOR_PRESSURE = True ! [Boolean] default = True + ! If True, use vertical reconstruction of T/S within + ! the integrals of teh FV pressure gradient calculation. + ! If False, use the constant-by-layer algorithm. + ! By default, this is True when using ALE and False otherwise. +PRESSURE_RECONSTRUCTION_SCHEME = 1 ! default = 1 + ! Type of vertical reconstruction of T/S to use in integrals + ! within the FV pressure gradient calculation. 1: PLM reconstruction. + ! 2: PPM reconstruction. +REMAP_UV_USING_OLD_ALG = True ! [Boolean] default = True + ! If true, uses the old remapping-via-a-delta-z method for + ! remapping u and v. If false, uses the new method that remaps + ! between grids described by an old and new thickness. +REGRIDDING_COORDINATE_MODE = "Z*" ! default = "LAYER" + ! Coordinate mode for vertical regridding. + ! Choose among the following possibilities: + ! LAYER - Isopycnal or stacked shallow water layers + ! Z* - stetched geopotential z* + ! SIGMA - terrain following coordinates + ! RHO - continuous isopycnal + ! HYCOM1 - HyCOM-like hybrid coordinate + ! SLIGHT - stretched coordinates above continuous isopycnal +REGRIDDING_COORDINATE_UNITS = "m" ! default = "m" + ! Units of the regridding coordinuate. +INTERPOLATION_SCHEME = "P1M_H2" ! default = "P1M_H2" + ! This sets the interpolation scheme to use to + ! determine the new grid. These parameters are + ! only relevant when REGRIDDING_COORDINATE_MODE is + ! set to a function of state. Otherwise, it is not + ! used. It can be one of the following schemes: + ! P1M_H2 (2nd-order accurate) + ! P1M_H4 (2nd-order accurate) + ! P1M_IH4 (2nd-order accurate) + ! PLM (2nd-order accurate) + ! PPM_H4 (3rd-order accurate) + ! PPM_IH4 (3rd-order accurate) + ! P3M_IH4IH3 (4th-order accurate) + ! P3M_IH6IH5 (4th-order accurate) + ! PQM_IH4IH3 (4th-order accurate) + ! PQM_IH6IH5 (5th-order accurate) +REGRID_COMPRESSIBILITY_FRACTION = 0.0 ! [not defined] default = 0.0 + ! When interpolating potential density profiles we can add + ! some artificial compressibility solely to make homogenous + ! regions appear stratified. +ZSTAR_RIGID_SURFACE_THRESHOLD = -1.0E+30 ! [m] default = -1.0E+30 + ! A threshold height used to detect the presence of a rigid-surface + ! depressing the upper-surface of the model, such as an ice-shelf. + ! This is a temporary work around for initialization under an ice-shelf. +ALE_COORDINATE_CONFIG = "FILE:vgrid.nc,dz" ! default = "UNIFORM" + ! Determines how to specify the coordinate + ! resolution. Valid options are: + ! PARAM - use the vector-parameter ALE_RESOLUTION + ! UNIFORM - uniformly distributed + ! FILE:string - read from a file. The string specifies + ! the filename and variable name, separated + ! by a comma or space, e.g. FILE:lev.nc,Z + ! FNC1:string - FNC1:dz_min,H_total,power,precision + ! HYBRID:string - read from a file. The string specifies + ! the filename and two variable names, separated + ! by a comma or space, for sigma-2 and dz. e.g. + ! HYBRID:vgrid.nc,sigma2,dz +!ALE_RESOLUTION = 3*10.1, 2*10.2, 10.3, 10.5, 10.7, 10.9, 11.3, 11.7, 12.4, 13.3, 14.6, 16.3, 18.6, 21.7, 25.9, 31.4, 38.5, 47.4, 58.4, 71.3, 86.0, 101.9, 118.1, 134.0, 148.7, 161.6, 172.6, 181.5, 188.6, 194.1, 198.3, 201.4, 203.7, 205.4, 206.7, 207.6, 208.3, 208.7, 209.1, 209.3, 209.5, 209.7, 2*209.8, 2*209.9, 209.0 ! [m] + ! The distribution of vertical resolution for the target + ! grid used for Eulerian-like coordinates. For example, + ! in z-coordinate mode, the parameter is a list of level + ! thicknesses (in m). In sigma-coordinate mode, the list + ! is of non-dimensional fractions of the water column. +MIN_THICKNESS = 0.001 ! [m] default = 0.001 + ! When regridding, this is the minimum layer + ! thickness allowed. +BOUNDARY_EXTRAPOLATION = False ! [Boolean] default = False + ! When defined, a proper high-order reconstruction + ! scheme is used within boundary cells rather + ! than PCM. E.g., if PPM is used for remapping, a + ! PPM reconstruction will also be used within + ! boundary cells. +MAXIMUM_INT_DEPTH_CONFIG = "NONE" ! default = "NONE" + ! Determines how to specify the maximum interface depths. + ! Valid options are: + ! NONE - there are no maximum interface depths + ! PARAM - use the vector-parameter MAXIMUM_INTERFACE_DEPTHS + ! FILE:string - read from a file. The string specifies + ! the filename and variable name, separated + ! by a comma or space, e.g. FILE:lev.nc,Z + ! FNC1:string - FNC1:dz_min,H_total,power,precision +MAX_LAYER_THICKNESS_CONFIG = "NONE" ! default = "NONE" + ! Determines how to specify the maximum layer thicknesses. + ! Valid options are: + ! NONE - there are no maximum layer thicknesses + ! PARAM - use the vector-parameter MAX_LAYER_THICKNESS + ! FILE:string - read from a file. The string specifies + ! the filename and variable name, separated + ! by a comma or space, e.g. FILE:lev.nc,Z + ! FNC1:string - FNC1:dz_min,H_total,power,precision +REMAPPING_SCHEME = "PPM_H4" ! default = "PLM" + ! This sets the reconstruction scheme used + ! for vertical remapping for all variables. + ! It can be one of the following schemes: + ! PCM (1st-order accurate) + ! PLM (2nd-order accurate) + ! PPM_H4 (3rd-order accurate) + ! PPM_IH4 (3rd-order accurate) + ! PQM_IH4IH3 (4th-order accurate) + ! PQM_IH6IH5 (5th-order accurate) +FATAL_CHECK_RECONSTRUCTIONS = False ! [Boolean] default = False + ! If true, cell-by-cell reconstructions are checked for + ! consistency and if non-monotonicty or an inconsistency is + ! detected then a FATAL error is issued. +FATAL_CHECK_REMAPPING = False ! [Boolean] default = False + ! If true, the results of remapping are checked for + ! conservation and new extrema and if an inconsistency is + ! detected then a FATAL error is issued. +REMAP_BOUND_INTERMEDIATE_VALUES = False ! [Boolean] default = False + ! If true, the values on the intermediate grid used for remapping + ! are forced to be bounded, which might not be the case due to + ! round off. +REMAP_AFTER_INITIALIZATION = True ! [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_TIME_SCALE = 0.0 ! [s] default = 0.0 + ! The time-scale used in blending between the current (old) grid + ! and the target (new) grid. A short time-scale favors the target + ! grid (0. or anything less than DT_THERM) has no memory of the old + ! grid. A very long time-scale makes the model more Lagrangian. +REGRID_FILTER_SHALLOW_DEPTH = 0.0 ! [m] default = 0.0 + ! The depth above which no time-filtering is applied. Above this depth + ! final grid exactly matches the target (new) grid. +REGRID_FILTER_DEEP_DEPTH = 0.0 ! [m] default = 0.0 + ! The depth below which full time-filtering is applied with time-scale + ! REGRID_TIME_SCALE. Between depths REGRID_FILTER_SHALLOW_DEPTH and + ! REGRID_FILTER_SHALLOW_DEPTH the filter wieghts adopt a cubic profile. + +! === module MOM_grid === +! Parameters providing information about the lateral grid. + +! === module MOM_state_initialization === +INIT_LAYERS_FROM_Z_FILE = True ! [Boolean] default = False + ! If true, intialize the layer thicknesses, temperatures, + ! and salnities from a Z-space file on a latitude- + ! longitude grid. + +! === module MOM_initialize_layers_from_Z === +TEMP_SALT_Z_INIT_FILE = "WOA05_pottemp_salt.nc" ! default = "temp_salt_z.nc" + ! The name of the z-space input file used to initialize + ! the layer thicknesses, temperatures and salinities. +Z_INIT_FILE_PTEMP_VAR = "PTEMP" ! default = "ptemp" + ! The name of the potential temperature variable in + ! TEMP_SALT_Z_INIT_FILE. +Z_INIT_FILE_SALT_VAR = "SALT" ! default = "salt" + ! The name of the salinity variable in + ! TEMP_SALT_Z_INIT_FILE. +Z_INIT_HOMOGENIZE = False ! [Boolean] default = False + ! If True, then horizontally homogenize the interpolated + ! initial conditions. +Z_INIT_ALE_REMAPPING = True ! [Boolean] default = False + ! If True, then remap straight to model coordinate from file. +Z_INIT_REMAPPING_SCHEME = "PPM_IH4" ! default = "PPM_IH4" + ! The remapping scheme to use if using Z_INIT_ALE_REMAPPING + ! is True. +Z_INIT_REMAP_GENERAL = False ! [Boolean] default = False + ! If false, only initializes to z* coordinates. + ! If true, allows initialization directly to general coordinates. +Z_INIT_REMAP_FULL_COLUMN = False ! [Boolean] default = False + ! If false, only reconstructs profiles for valid data points. + ! If true, inserts vanished layers below the valid data. +Z_INIT_REMAP_OLD_ALG = True ! [Boolean] default = True + ! If false, uses the preferred remapping algorithm for initialization. + ! If true, use an older, less robust algorithm for remapping. +VELOCITY_CONFIG = "zero" ! default = "zero" + ! A string that determines how the initial velocities + ! are specified for a new run: + ! file - read velocities from the file specified + ! by (VELOCITY_FILE). + ! zero - the fluid is initially at rest. + ! uniform - the flow is uniform (determined by + ! parameters INITIAL_U_CONST and INITIAL_V_CONST). + ! rossby_front - a mixed layer front in thermal wind balance. + ! soliton - Equatorial Rossby soliton. + ! USER - call a user modified routine. +CONVERT_THICKNESS_UNITS = False ! [Boolean] default = False + ! If true, convert the thickness initial conditions from + ! units of m to kg m-2 or vice versa, depending on whether + ! BOUSSINESQ is defined. This does not apply if a restart + ! file is read. +DEPRESS_INITIAL_SURFACE = False ! [Boolean] default = False + ! If true, depress the initial surface to avoid huge + ! tsunamis when a large surface pressure is applied. +TRIM_IC_FOR_P_SURF = False ! [Boolean] default = False + ! If true, cuts way the top of the column for initial conditions + ! at the depth where the hydrostatic presure matches the imposed + ! surface pressure which is read from file. +AVAILABLE_DIAGS_FILE = "available_diags.000000" ! default = "available_diags.000000" + ! A file into which to write a list of all available + ! ocean diagnostics that can be included in a diag_table. + +! === module MOM_diag_mediator === +DIAG_REMAP_Z_GRID_DEF = "" ! default = "" + ! This sets the file and variable names that define the + ! vertical grid used for diagnostic output remapping to + ! Z space. It should look like: + ! FILE:, - where is a file within + ! the INPUTDIR, is + ! the name of the variable that + ! contains interface positions. + ! UNIFORM - vertical grid is uniform + ! between surface and max depth. + +! === module MOM_MEKE === +USE_MEKE = True ! [Boolean] default = False + ! If true, turns on the MEKE scheme which calculates + ! a sub-grid mesoscale eddy kinetic energy budget. +MEKE_DAMPING = 0.0 ! [s-1] default = 0.0 + ! The local depth-indepented MEKE dissipation rate. +MEKE_CD_SCALE = 0.0 ! [nondim] default = 0.0 + ! The ratio of the bottom eddy velocity to the column mean + ! eddy velocity, i.e. sqrt(2*MEKE). This should be less than 1 + ! to account for the surface intensification of MEKE. +MEKE_CB = 25.0 ! [nondim] default = 25.0 + ! A coefficient in the expression for the ratio of bottom projected + ! eddy energy and mean column energy (see Jansen et al. 2015). +MEKE_MIN_GAMMA2 = 1.0E-04 ! [nondim] default = 1.0E-04 + ! The minimum allowed value of gamma_b^2. +MEKE_CT = 50.0 ! [nondim] default = 50.0 + ! A coefficient in the expression for the ratio of barotropic + ! eddy energy and mean column energy (see Jansen et al. 2015). +MEKE_GMCOEFF = 1.0 ! [nondim] default = -1.0 + ! The efficiency of the conversion of potential energy + ! into MEKE by the thickness mixing parameterization. + ! If MEKE_GMCOEFF is negative, this conversion is not + ! used or calculated. +MEKE_FRCOEFF = -1.0 ! [nondim] default = -1.0 + ! The efficiency of the conversion of mean energy into + ! MEKE. If MEKE_FRCOEFF is negative, this conversion + ! is not used or calculated. +MEKE_BGSRC = 0.0 ! [W kg-1] default = 0.0 + ! A background energy source for MEKE. +MEKE_KH = -1.0 ! [m2 s-1] default = -1.0 + ! A background lateral diffusivity of MEKE. + ! Use a negative value to not apply lateral diffusion to MEKE. +MEKE_K4 = -1.0 ! [m4 s-1] default = -1.0 + ! A lateral bi-harmonic diffusivity of MEKE. + ! Use a negative value to not apply bi-harmonic diffusion to MEKE. +MEKE_DTSCALE = 1.0 ! [nondim] default = 1.0 + ! A scaling factor to accelerate the time evolution of MEKE. +MEKE_KHCOEFF = 1.0 ! [nondim] default = 1.0 + ! A scaling factor in the expression for eddy diffusivity + ! which is otherwise proportional to the MEKE velocity- + ! scale times an eddy mixing-length. This factor + ! must be >0 for MEKE to contribute to the thickness/ + ! and tracer diffusivity in the rest of the model. +MEKE_USCALE = 0.0 ! [m s-1] default = 0.0 + ! The background velocity that is combined with MEKE to + ! calculate the bottom drag. +MEKE_VISC_DRAG = True ! [Boolean] default = True + ! If true, use the vertvisc_type to calculate the bottom + ! drag acting on MEKE. +MEKE_KHTH_FAC = 0.0 ! [nondim] default = 0.0 + ! A factor that maps MEKE%Kh to KhTh. +MEKE_KHTR_FAC = 0.0 ! [nondim] default = 0.0 + ! A factor that maps MEKE%Kh to KhTr. +MEKE_KHMEKE_FAC = 0.0 ! [nondim] default = 0.0 + ! A factor that maps MEKE%Kh to Kh for MEKE itself. +MEKE_OLD_LSCALE = False ! [Boolean] default = False + ! If true, use the old formula for length scale which is + ! a function of grid spacing and deformation radius. +MEKE_RD_MAX_SCALE = False ! [nondim] default = False + ! If true, the length scale used by MEKE is the minimum of + ! the deformation radius or grid-spacing. Only used if + ! MEKE_OLD_LSCALE=True +MEKE_VISCOSITY_COEFF = 0.0 ! [nondim] default = 0.0 + ! If non-zero, is the scaling coefficient in the expression for + ! viscosity used to parameterize lateral momentum mixing by + ! unresolved eddies represented by MEKE. Can be negative to + ! represent backscatter from the unresolved eddies. +MEKE_FIXED_MIXING_LENGTH = 0.0 ! [m] default = 0.0 + ! If positive, is a fixed length contribution to the expression + ! for mixing length used in MEKE-derived diffusiviity. +MEKE_ALPHA_DEFORM = 0.0 ! [nondim] default = 0.0 + ! If positive, is a coefficient weighting the deformation scale + ! in the expression for mixing length used in MEKE-derived diffusiviity. +MEKE_ALPHA_RHINES = 0.05 ! [nondim] default = 0.05 + ! If positive, is a coefficient weighting the Rhines scale + ! in the expression for mixing length used in MEKE-derived diffusiviity. +MEKE_ALPHA_EADY = 0.05 ! [nondim] default = 0.05 + ! If positive, is a coefficient weighting the Eady length scale + ! in the expression for mixing length used in MEKE-derived diffusiviity. +MEKE_ALPHA_FRICT = 0.0 ! [nondim] default = 0.0 + ! If positive, is a coefficient weighting the frictional arrest scale + ! in the expression for mixing length used in MEKE-derived diffusiviity. +MEKE_ALPHA_GRID = 0.0 ! [nondim] default = 0.0 + ! If positive, is a coefficient weighting the grid-spacing as a scale + ! in the expression for mixing length used in MEKE-derived diffusiviity. +MEKE_COLD_START = False ! [Boolean] default = False + ! If true, initialize EKE to zero. Otherwise a local equilibrium solution + ! is used as an initial condition for EKE. +MEKE_BACKSCAT_RO_C = 0.0 ! [nondim] default = 0.0 + ! The coefficient in the Rossby number function for scaling the buharmonic + ! frictional energy source. Setting to non-zero enables the Rossby number function. +MEKE_BACKSCAT_RO_POW = 0.0 ! [nondim] default = 0.0 + ! The power in the Rossby number function for scaling the biharmomnic + ! frictional energy source. +MEKE_ADVECTION_FACTOR = 0.0 ! [nondim] default = 0.0 + ! A scale factor in front of advection of eddy energy. Zero turns advection off. + ! Using unity would be normal but other values could accomodate a mismatch + ! between the advecting barotropic flow and the vertical structure of MEKE. +CDRAG = 0.003 ! [nondim] default = 0.003 + ! CDRAG is the drag coefficient relating the magnitude of + ! the velocity field to the bottom stress. + +! === module MOM_wave_speed === + +! === module MOM_lateral_mixing_coeffs === +USE_VARIABLE_MIXING = True ! [Boolean] default = False + ! If true, the variable mixing code will be called. This + ! allows diagnostics to be created even if the scheme is + ! not used. If KHTR_SLOPE_CFF>0 or KhTh_Slope_Cff>0, + ! this is set to true regardless of what is in the + ! parameter file. +RESOLN_SCALED_KH = True ! [Boolean] default = False + ! If true, the Laplacian lateral viscosity is scaled away + ! when the first baroclinic deformation radius is well + ! resolved. +RESOLN_SCALED_KHTH = True ! [Boolean] default = False + ! If true, the interface depth diffusivity is scaled away + ! when the first baroclinic deformation radius is well + ! resolved. +RESOLN_SCALED_KHTR = False ! [Boolean] default = False + ! If true, the epipycnal tracer diffusivity is scaled + ! away when the first baroclinic deformation radius is + ! well resolved. +KHTH_SLOPE_CFF = 0.0 ! [nondim] default = 0.0 + ! The nondimensional coefficient in the Visbeck formula + ! for the interface depth diffusivity +KHTR_SLOPE_CFF = 0.0 ! [nondim] default = 0.0 + ! The nondimensional coefficient in the Visbeck formula + ! for the epipycnal tracer diffusivity +USE_STORED_SLOPES = True ! [Boolean] default = False + ! If true, the isopycnal slopes are calculated once and + ! stored for re-use. This uses more memory but avoids calling + ! the equation of state more times than should be necessary. +VISBECK_MAX_SLOPE = 0.0 ! [nondim] default = 0.0 + ! If non-zero, is an upper bound on slopes used in the + ! Visbeck formula for diffusivity. This does not affect the + ! isopycnal slope calculation used within thickness diffusion. +KD_SMOOTH = 1.0E-06 ! [not defined] default = 1.0E-06 + ! A diapycnal diffusivity that is used to interpolate + ! more sensible values of T & S into thin layers. +VARMIX_KTOP = 2 ! [nondim] default = 2 + ! The layer number at which to start vertical integration + ! of S*N for purposes of finding the Eady growth rate. +VISBECK_L_SCALE = 0.0 ! [m] default = 0.0 + ! The fixed length scale in the Visbeck formula. +KH_RES_SCALE_COEF = 1.0 ! [nondim] default = 1.0 + ! A coefficient that determines how KhTh is scaled away if + ! RESOLN_SCALED_... is true, as + ! F = 1 / (1 + (KH_RES_SCALE_COEF*Rd/dx)^KH_RES_FN_POWER). +KH_RES_FN_POWER = 2 ! [nondim] default = 2 + ! The power of dx/Ld in the Kh resolution function. Any + ! positive integer may be used, although even integers + ! are more efficient to calculate. Setting this greater + ! than 100 results in a step-function being used. +VISC_RES_SCALE_COEF = 1.0 ! [nondim] default = 1.0 + ! A coefficient that determines how Kh is scaled away if + ! RESOLN_SCALED_... is true, as + ! F = 1 / (1 + (KH_RES_SCALE_COEF*Rd/dx)^KH_RES_FN_POWER). + ! This function affects lateral viscosity, Kh, and not KhTh. +VISC_RES_FN_POWER = 2 ! [nondim] default = 2 + ! The power of dx/Ld in the Kh resolution function. Any + ! positive integer may be used, although even integers + ! are more efficient to calculate. Setting this greater + ! than 100 results in a step-function being used. + ! This function affects lateral viscosity, Kh, and not KhTh. +INTERPOLATE_RES_FN = False ! [Boolean] default = True + ! If true, interpolate the resolution function to the + ! velocity points from the thickness points; otherwise + ! interpolate the wave speed and calculate the resolution + ! function independently at each point. +GILL_EQUATORIAL_LD = True ! [Boolean] default = False + ! If true, uses Gill's definition of the baroclinic + ! equatorial deformation radius, otherwise, if false, use + ! Pedlosky's definition. These definitions differ by a factor + ! of 2 infront of the beta term in the denominator. Gill'sis the more appropriate definition. + +! === module MOM_set_visc === +BOTTOMDRAGLAW = True ! [Boolean] default = True + ! If true, the bottom stress is calculated with a drag + ! law of the form c_drag*|u|*u. The velocity magnitude + ! may be an assumed value or it may be based on the + ! actual velocity in the bottommost HBBL, depending on + ! LINEAR_DRAG. +CHANNEL_DRAG = True ! [Boolean] default = False + ! If true, the bottom drag is exerted directly on each + ! layer proportional to the fraction of the bottom it + ! overlies. +LINEAR_DRAG = False ! [Boolean] default = False + ! If LINEAR_DRAG and BOTTOMDRAGLAW are defined the drag + ! law is cdrag*DRAG_BG_VEL*u. +DOUBLE_DIFFUSION = False ! [Boolean] default = False + ! If true, increase diffusivitives for temperature or salt + ! based on double-diffusive paramaterization from MOM4/KPP. +PRANDTL_TURB = 1.0 ! [nondim] default = 1.0 + ! The turbulent Prandtl number applied to shear + ! instability. +DYNAMIC_VISCOUS_ML = False ! [Boolean] default = False + ! If true, use a bulk Richardson number criterion to + ! determine the mixed layer thickness for viscosity. +HBBL = 10.0 ! [m] + ! The thickness of a bottom boundary layer with a + ! viscosity of KVBBL if BOTTOMDRAGLAW is not defined, or + ! the thickness over which near-bottom velocities are + ! averaged for the drag law if BOTTOMDRAGLAW is defined + ! but LINEAR_DRAG is not. +DRAG_BG_VEL = 0.1 ! [m s-1] default = 0.0 + ! DRAG_BG_VEL is either the assumed bottom velocity (with + ! LINEAR_DRAG) or an unresolved velocity that is + ! combined with the resolved velocity to estimate the + ! velocity magnitude. DRAG_BG_VEL is only used when + ! BOTTOMDRAGLAW is defined. +BBL_USE_EOS = True ! [Boolean] default = False + ! If true, use the equation of state in determining the + ! properties of the bottom boundary layer. Otherwise use + ! the layer target potential densities. +BBL_THICK_MIN = 0.1 ! [m] default = 0.0 + ! The minimum bottom boundary layer thickness that can be + ! used with BOTTOMDRAGLAW. This might be + ! Kv / (cdrag * drag_bg_vel) to give Kv as the minimum + ! near-bottom viscosity. +HTBL_SHELF_MIN = 0.1 ! [m] default = 0.1 + ! The minimum top boundary layer thickness that can be + ! used with BOTTOMDRAGLAW. This might be + ! Kv / (cdrag * drag_bg_vel) to give Kv as the minimum + ! near-top viscosity. +HTBL_SHELF = 10.0 ! [m] default = 10.0 + ! The thickness over which near-surface velocities are + ! averaged for the drag law under an ice shelf. By + ! default this is the same as HBBL +KV = 1.0E-04 ! [m2 s-1] + ! The background kinematic viscosity in the interior. + ! The molecular value, ~1e-6 m2 s-1, may be used. +KV_BBL_MIN = 1.0E-04 ! [m2 s-1] default = 1.0E-04 + ! The minimum viscosities in the bottom boundary layer. +KV_TBL_MIN = 1.0E-04 ! [m2 s-1] default = 1.0E-04 + ! The minimum viscosities in the top boundary layer. +SMAG_CONST_CHANNEL = 0.15 ! [nondim] default = 0.15 + ! The nondimensional Laplacian Smagorinsky constant used + ! in calculating the channel drag if it is enabled. The + ! default is to use the same value as SMAG_LAP_CONST if + ! it is defined, or 0.15 if it is not. The value used is + ! also 0.15 if the specified value is negative. +TIDES = True ! [Boolean] default = False + ! If true, apply tidal momentum forcing. +BE = 0.6 ! [nondim] default = 0.6 + ! If SPLIT is true, BE determines the relative weighting + ! of a 2nd-order Runga-Kutta baroclinic time stepping + ! scheme (0.5) and a backward Euler scheme (1) that is + ! used for the Coriolis and inertial terms. BE may be + ! from 0.5 to 1, but instability may occur near 0.5. + ! BE is also applicable if SPLIT is false and USE_RK2 + ! is true. +BEGW = 0.0 ! [nondim] default = 0.0 + ! If SPILT is true, BEGW is a number from 0 to 1 that + ! controls the extent to which the treatment of gravity + ! waves is forward-backward (0) or simulated backward + ! Euler (1). 0 is almost always used. + ! If SPLIT is false and USE_RK2 is true, BEGW can be + ! between 0 and 0.5 to damp gravity waves. +SPLIT_BOTTOM_STRESS = False ! [Boolean] default = False + ! If true, provide the bottom stress calculated by the + ! vertical viscosity to the barotropic solver. +BT_USE_LAYER_FLUXES = True ! [Boolean] default = True + ! If true, use the summed layered fluxes plus an + ! adjustment due to the change in the barotropic velocity + ! in the barotropic continuity equation. + +! === module MOM_continuity === +CONTINUITY_SCHEME = "PPM" ! default = "PPM" + ! CONTINUITY_SCHEME selects the discretization for the + ! continuity solver. The only valid value currently is: + ! PPM - use a positive-definite (or monotonic) + ! piecewise parabolic reconstruction solver. + +! === module MOM_continuity_PPM === +MONOTONIC_CONTINUITY = False ! [Boolean] default = False + ! If true, CONTINUITY_PPM uses the Colella and Woodward + ! monotonic limiter. The default (false) is to use a + ! simple positive definite limiter. +SIMPLE_2ND_PPM_CONTINUITY = False ! [Boolean] default = False + ! If true, CONTINUITY_PPM uses a simple 2nd order + ! (arithmetic mean) interpolation of the edge values. + ! This may give better PV conservation propterties. While + ! it formally reduces the accuracy of the continuity + ! solver itself in the strongly advective limit, it does + ! not reduce the overall order of accuracy of the dynamic + ! core. +UPWIND_1ST_CONTINUITY = False ! [Boolean] default = False + ! If true, CONTINUITY_PPM becomes a 1st-order upwind + ! continuity solver. This scheme is highly diffusive + ! but may be useful for debugging or in single-column + ! mode where its minimal stencil is useful. +ETA_TOLERANCE = 1.0E-06 ! [m] default = 2.5E-09 + ! The tolerance for the differences between the + ! barotropic and baroclinic estimates of the sea surface + ! height due to the fluxes through each face. The total + ! tolerance for SSH is 4 times this value. The default + ! is 0.5*NK*ANGSTROM, and this should not be set less x + ! than about 10^-15*MAXIMUM_DEPTH. +ETA_TOLERANCE_AUX = 1.0E-06 ! [m] default = 1.0E-06 + ! The tolerance for free-surface height discrepancies + ! between the barotropic solution and the sum of the + ! layer thicknesses when calculating the auxiliary + ! corrected velocities. By default, this is the same as + ! ETA_TOLERANCE, but can be made larger for efficiency. +VELOCITY_TOLERANCE = 1.0E-04 ! [m s-1] default = 3.0E+08 + ! The tolerance for barotropic velocity discrepancies + ! between the barotropic solution and the sum of the + ! layer thicknesses. +CONT_PPM_AGGRESS_ADJUST = False ! [Boolean] default = False + ! If true, allow the adjusted velocities to have a + ! relative CFL change up to 0.5. +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. The + ! default is set by CONT_PPM_AGGRESS_ADJUST. +CONTINUITY_CFL_LIMIT = 0.5 ! [nondim] default = 0.5 + ! The maximum CFL of the adjusted velocities. +CONT_PPM_BETTER_ITER = True ! [Boolean] default = True + ! If true, stop corrective iterations using a velocity + ! based criterion and only stop if the iteration is + ! better than all predecessors. +CONT_PPM_USE_VISC_REM_MAX = True ! [Boolean] default = True + ! If true, use more appropriate limiting bounds for + ! corrections in strongly viscous columns. +CONT_PPM_MARGINAL_FACE_AREAS = True ! [Boolean] default = True + ! If true, use the marginal face areas from the continuity + ! solver for use as the weights in the barotropic solver. + ! Otherwise use the transport averaged areas. + +! === module MOM_CoriolisAdv === +NOSLIP = False ! [Boolean] default = False + ! If true, no slip boundary conditions are used; otherwise + ! free slip boundary conditions are assumed. The + ! implementation of the free slip BCs on a C-grid is much + ! cleaner than the no slip BCs. The use of free slip BCs + ! is strongly encouraged, and no slip BCs are not used with + ! the biharmonic viscosity. +CORIOLIS_EN_DIS = False ! [Boolean] default = False + ! If true, two estimates of the thickness fluxes are used + ! to estimate the Coriolis term, and the one that + ! dissipates energy relative to the other one is used. +CORIOLIS_SCHEME = "SADOURNY75_ENERGY" ! default = "SADOURNY75_ENERGY" + ! CORIOLIS_SCHEME selects the discretization for the + ! Coriolis terms. Valid values are: + ! SADOURNY75_ENERGY - Sadourny, 1975; energy cons. + ! ARAKAWA_HSU90 - Arakawa & Hsu, 1990 + ! SADOURNY75_ENSTRO - Sadourny, 1975; enstrophy cons. + ! ARAKAWA_LAMB81 - Arakawa & Lamb, 1981; En. + Enst. + ! ARAKAWA_LAMB_BLEND - A blend of Arakawa & Lamb with + ! Arakawa & Hsu and Sadourny energy +BOUND_CORIOLIS = True ! [Boolean] default = False + ! If true, the Coriolis terms at u-points are bounded by + ! the four estimates of (f+rv)v from the four neighboring + ! v-points, and similarly at v-points. This option would + ! have no effect on the SADOURNY Coriolis scheme if it + ! were possible to use centered difference thickness fluxes. +KE_SCHEME = "KE_ARAKAWA" ! default = "KE_ARAKAWA" + ! KE_SCHEME selects the discretization for acceleration + ! due to the kinetic energy gradient. Valid values are: + ! KE_ARAKAWA, KE_SIMPLE_GUDONOV, KE_GUDONOV +PV_ADV_SCHEME = "PV_ADV_CENTERED" ! default = "PV_ADV_CENTERED" + ! PV_ADV_SCHEME selects the discretization for PV + ! advection. Valid values are: + ! PV_ADV_CENTERED - centered (aka Sadourny, 75) + ! PV_ADV_UPWIND1 - upwind, first order + +! === module MOM_tidal_forcing === +TIDE_M2 = True ! [Boolean] default = False + ! If true, apply tidal momentum forcing at the M2 + ! frequency. This is only used if TIDES is true. +TIDE_S2 = False ! [Boolean] default = False + ! If true, apply tidal momentum forcing at the S2 + ! frequency. This is only used if TIDES is true. +TIDE_N2 = False ! [Boolean] default = False + ! If true, apply tidal momentum forcing at the N2 + ! frequency. This is only used if TIDES is true. +TIDE_K2 = False ! [Boolean] default = False + ! If true, apply tidal momentum forcing at the K2 + ! frequency. This is only used if TIDES is true. +TIDE_K1 = False ! [Boolean] default = False + ! If true, apply tidal momentum forcing at the K1 + ! frequency. This is only used if TIDES is true. +TIDE_O1 = False ! [Boolean] default = False + ! If true, apply tidal momentum forcing at the O1 + ! frequency. This is only used if TIDES is true. +TIDE_P1 = False ! [Boolean] default = False + ! If true, apply tidal momentum forcing at the P1 + ! frequency. This is only used if TIDES is true. +TIDE_Q1 = False ! [Boolean] default = False + ! If true, apply tidal momentum forcing at the Q1 + ! frequency. This is only used if TIDES is true. +TIDE_MF = False ! [Boolean] default = False + ! If true, apply tidal momentum forcing at the MF + ! frequency. This is only used if TIDES is true. +TIDE_MM = False ! [Boolean] default = False + ! If true, apply tidal momentum forcing at the MM + ! frequency. This is only used if TIDES is true. +TIDAL_SAL_FROM_FILE = False ! [Boolean] default = False + ! If true, read the tidal self-attraction and loading + ! from input files, specified by TIDAL_INPUT_FILE. + ! This is only used if TIDES is true. +USE_PREVIOUS_TIDES = False ! [Boolean] default = False + ! If true, use the SAL from the previous iteration of the + ! tides to facilitate convergent iteration. + ! This is only used if TIDES is true. +TIDE_USE_SAL_SCALAR = True ! [Boolean] default = True + ! If true and TIDES is true, use the scalar approximation + ! when calculating self-attraction and loading. +TIDE_SAL_SCALAR_VALUE = 0.094 ! [m m-1] + ! The constant of proportionality between sea surface + ! height (really it should be bottom pressure) anomalies + ! and bottom geopotential anomalies. This is only used if + ! TIDES and TIDE_USE_SAL_SCALAR are true. +TIDE_M2_FREQ = 1.405189E-04 ! [s-1] default = 1.405189E-04 + ! Frequency of the M2 tidal constituent. + ! This is only used if TIDES and TIDE_M2 are true. +TIDE_M2_AMP = 0.242334 ! [m] default = 0.242334 + ! Amplitude of the M2 tidal constituent. + ! This is only used if TIDES and TIDE_M2 are true. +TIDE_M2_PHASE_T0 = 0.0 ! [radians] default = 0.0 + ! Phase of the M2 tidal constituent at time 0. + ! This is only used if TIDES and TIDE_M2 are true. + +! === module MOM_PressureForce === +ANALYTIC_FV_PGF = True ! [Boolean] default = True + ! If true the pressure gradient forces are calculated + ! with a finite volume form that analytically integrates + ! the equations of state in pressure to avoid any + ! possibility of numerical thermobaric instability, as + ! described in Adcroft et al., O. Mod. (2008). + +! === module MOM_PressureForce_AFV === +MASS_WEIGHT_IN_PRESSURE_GRADIENT = True ! [Boolean] default = False + ! If true, use mass weighting when interpolation T/S for + ! top/bottom integrals in AFV pressure gradient calculation. + +! === module MOM_hor_visc === +LAPLACIAN = True ! [Boolean] default = False + ! If true, use a Laplacian horizontal viscosity. +KH = 0.0 ! [m2 s-1] default = 0.0 + ! The background Laplacian horizontal viscosity. +KH_VEL_SCALE = 0.01 ! [m s-1] default = 0.0 + ! The velocity scale which is multiplied by the grid + ! spacing to calculate the Laplacian viscosity. + ! The final viscosity is the largest of this scaled + ! viscosity, the Smagorinsky viscosity and KH. +SMAGORINSKY_KH = False ! [Boolean] default = False + ! If true, use a Smagorinsky nonlinear eddy viscosity. +BOUND_KH = True ! [Boolean] default = True + ! If true, the Laplacian coefficient is locally limited + ! to be stable. +BETTER_BOUND_KH = True ! [Boolean] default = True + ! If true, the Laplacian coefficient is locally limited + ! to be stable with a better bounding than just BOUND_KH. +BIHARMONIC = True ! [Boolean] default = True + ! If true, use a biharmonic horizontal viscosity. + ! BIHARMONIC may be used with LAPLACIAN. +AH = 0.0 ! [m4 s-1] default = 0.0 + ! The background biharmonic horizontal viscosity. +AH_VEL_SCALE = 0.05 ! [m s-1] default = 0.0 + ! The velocity scale which is multiplied by the cube of + ! the grid spacing to calculate the biharmonic viscosity. + ! The final viscosity is the largest of this scaled + ! viscosity, the Smagorinsky viscosity and AH. +SMAGORINSKY_AH = True ! [Boolean] default = False + ! If true, use a biharmonic Smagorinsky nonlinear eddy + ! viscosity. +BOUND_AH = True ! [Boolean] default = True + ! If true, the biharmonic coefficient is locally limited + ! to be stable. +BETTER_BOUND_AH = True ! [Boolean] default = True + ! If true, the biharmonic coefficient is locally limited + ! to be stable with a better bounding than just BOUND_AH. +SMAG_BI_CONST = 0.06 ! [nondim] default = 0.0 + ! The nondimensional biharmonic Smagorinsky constant, + ! typically 0.015 - 0.06. +BOUND_CORIOLIS_BIHARM = True ! [Boolean] default = True + ! If true use a viscosity that increases with the square + ! of the velocity shears, so that the resulting viscous + ! drag is of comparable magnitude to the Coriolis terms + ! when the velocity differences between adjacent grid + ! points is 0.5*BOUND_CORIOLIS_VEL. The default is the + ! value of BOUND_CORIOLIS (or false). +BOUND_CORIOLIS_VEL = 6.0 ! [m s-1] default = 6.0 + ! The velocity scale at which BOUND_CORIOLIS_BIHARM causes + ! the biharmonic drag to have comparable magnitude to the + ! Coriolis acceleration. The default is set by MAXVEL. +HORVISC_BOUND_COEF = 0.8 ! [nondim] default = 0.8 + ! The nondimensional coefficient of the ratio of the + ! viscosity bounds to the theoretical maximum for + ! stability without considering other terms. + +! === module MOM_vert_friction === +DIRECT_STRESS = False ! [Boolean] default = False + ! If true, the wind stress is distributed over the + ! topmost HMIX_STRESS of fluid (like in HYCOM), and KVML + ! may be set to a very small value. +U_TRUNC_FILE = "U_velocity_truncations" ! default = "" + ! The absolute path to a file into which the accelerations + ! leading to zonal velocity truncations are written. + ! Undefine this for efficiency if this diagnostic is not + ! needed. +V_TRUNC_FILE = "V_velocity_truncations" ! default = "" + ! The absolute path to a file into which the accelerations + ! leading to meridional velocity truncations are written. + ! Undefine this for efficiency if this diagnostic is not + ! needed. +HARMONIC_VISC = False ! [Boolean] default = False + ! If true, use the harmonic mean thicknesses for + ! calculating the vertical viscosity. +HARMONIC_BL_SCALE = 0.0 ! [nondim] default = 0.0 + ! A scale to determine when water is in the boundary + ! layers based solely on harmonic mean thicknesses for + ! the purpose of determining the extent to which the + ! thicknesses used in the viscosities are upwinded. +HMIX_FIXED = 0.5 ! [m] + ! The prescribed depth over which the near-surface + ! viscosity and diffusivity are elevated when the bulk + ! mixed layer is not used. +KVML = 1.0E-04 ! [m2 s-1] default = 1.0E-04 + ! The kinematic viscosity in the mixed layer. A typical + ! value is ~1e-2 m2 s-1. KVML is not used if + ! BULKMIXEDLAYER is true. The default is set by KV. +MAXVEL = 6.0 ! [m s-1] default = 3.0E+08 + ! The maximum velocity allowed before the velocity + ! components are truncated. +CFL_BASED_TRUNCATIONS = True ! [Boolean] default = True + ! If true, base truncations on the CFL number, and not an + ! absolute speed. +CFL_TRUNCATE = 0.5 ! [nondim] default = 0.5 + ! The value of the CFL number that will cause velocity + ! components to be truncated; instability can occur past 0.5. +CFL_REPORT = 0.5 ! [nondim] default = 0.5 + ! The value of the CFL number that causes accelerations + ! to be reported; the default is CFL_TRUNCATE. +CFL_TRUNCATE_RAMP_TIME = 7200.0 ! [s] default = 0.0 + ! The time over which the CFL trunction value is ramped + ! up at the beginning of the run. +CFL_TRUNCATE_START = 0.0 ! [nondim] default = 0.0 + ! The start value of the truncation CFL number used when + ! ramping up CFL_TRUNC. + +! === module MOM_PointAccel === +MAX_TRUNC_FILE_SIZE_PER_PE = 50 ! default = 50 + ! The maximum number of colums of truncations that any PE + ! will write out during a run. + +! === module MOM_barotropic === +BOUND_BT_CORRECTION = True ! [Boolean] default = False + ! If true, the corrective pseudo mass-fluxes into the + ! barotropic solver are limited to values that require + ! less than maxCFL_BT_cont to be accommodated. +BT_CONT_CORR_BOUNDS = True ! [Boolean] default = True + ! If true, and BOUND_BT_CORRECTION is true, use the + ! BT_cont_type variables to set limits determined by + ! MAXCFL_BT_CONT on the CFL number of the velocites + ! that are likely to be driven by the corrective mass fluxes. +ADJUST_BT_CONT = False ! [Boolean] default = False + ! If true, adjust the curve fit to the BT_cont type + ! that is used by the barotropic solver to match the + ! transport about which the flow is being linearized. +GRADUAL_BT_ICS = False ! [Boolean] default = False + ! If true, adjust the initial conditions for the + ! barotropic solver to the values from the layered + ! solution over a whole timestep instead of instantly. + ! This is a decent approximation to the inclusion of + ! sum(u dh_dt) while also correcting for truncation errors. +BT_USE_VISC_REM_U_UH0 = False ! [Boolean] default = False + ! If true, use the viscous remnants when estimating the + ! barotropic velocities that were used to calculate uh0 + ! and vh0. False is probably the better choice. +USE_BT_CONT_TYPE = True ! [Boolean] default = True + ! If true, use a structure with elements that describe + ! effective face areas from the summed continuity solver + ! as a function the barotropic flow in coupling between + ! the barotropic and baroclinic flow. This is only used + ! if SPLIT is true. +NONLINEAR_BT_CONTINUITY = False ! [Boolean] default = False + ! If true, use nonlinear transports in the barotropic + ! continuity equation. This does not apply if + ! USE_BT_CONT_TYPE is true. +BT_MASS_SOURCE_LIMIT = 0.0 ! [nondim] default = 0.0 + ! The fraction of the initial depth of the ocean that can + ! be added to or removed from the bartropic solution + ! within a thermodynamic time step. By default this is 0 + ! for no correction. +BT_PROJECT_VELOCITY = True ! [Boolean] default = False + ! If true, step the barotropic velocity first and project + ! out the velocity tendancy by 1+BEBT when calculating the + ! transport. The default (false) is to use a predictor + ! continuity step to find the pressure field, and then + ! to do a corrector continuity step using a weighted + ! average of the old and new velocities, with weights + ! of (1-BEBT) and BEBT. +DYNAMIC_SURFACE_PRESSURE = False ! [Boolean] default = False + ! If true, add a dynamic pressure due to a viscous ice + ! shelf, for instance. +SADOURNY = True ! [Boolean] default = True + ! If true, the Coriolis terms are discretized with the + ! Sadourny (1975) energy conserving scheme, otherwise + ! the Arakawa & Hsu scheme is used. If the internal + ! deformation radius is not resolved, the Sadourny scheme + ! should probably be used. +BT_THICK_SCHEME = "FROM_BT_CONT" ! default = "FROM_BT_CONT" + ! A string describing the scheme that is used to set the + ! open face areas used for barotropic transport and the + ! relative weights of the accelerations. Valid values are: + ! ARITHMETIC - arithmetic mean layer thicknesses + ! HARMONIC - harmonic mean layer thicknesses + ! HYBRID (the default) - use arithmetic means for + ! layers above the shallowest bottom, the harmonic + ! mean for layers below, and a weighted average for + ! layers that straddle that depth + ! FROM_BT_CONT - use the average thicknesses kept + ! in the h_u and h_v fields of the BT_cont_type +BT_STRONG_DRAG = False ! [Boolean] default = False + ! If true, use a stronger estimate of the retarding + ! effects of strong bottom drag, by making it implicit + ! with the barotropic time-step instead of implicit with + ! the baroclinic time-step and dividing by the number of + ! barotropic steps. +CLIP_BT_VELOCITY = False ! [Boolean] default = False + ! If true, limit any velocity components that exceed + ! CFL_TRUNCATE. This should only be used as a desperate + ! debugging measure. +MAXCFL_BT_CONT = 0.25 ! [nondim] default = 0.25 + ! The maximum permitted CFL number associated with the + ! barotropic accelerations from the summed velocities + ! times the time-derivatives of thicknesses. +DT_BT_FILTER = -0.25 ! [sec or nondim] default = -0.25 + ! A time-scale over which the barotropic mode solutions + ! are filtered, in seconds if positive, or as a fraction + ! of DT if negative. When used this can never be taken to + ! be longer than 2*dt. Set this to 0 to apply no filtering. +G_BT_EXTRA = 0.0 ! [nondim] default = 0.0 + ! A nondimensional factor by which gtot is enhanced. +SSH_EXTRA = 10.0 ! [m] default = 10.0 + ! An estimate of how much higher SSH might get, for use + ! in calculating the safe external wave speed. The + ! default is the minimum of 10 m or 5% of MAXIMUM_DEPTH. +DEBUG_BT = False ! [Boolean] default = False + ! If true, write out verbose debugging data within the + ! barotropic time-stepping loop. The data volume can be + ! quite large if this is true. +BEBT = 0.2 ! [nondim] default = 0.1 + ! BEBT determines whether the barotropic time stepping + ! uses the forward-backward time-stepping scheme or a + ! backward Euler scheme. BEBT is valid in the range from + ! 0 (for a forward-backward treatment of nonrotating + ! gravity waves) to 1 (for a backward Euler treatment). + ! In practice, BEBT must be greater than about 0.05. +DTBT = -0.95 ! [s or nondim] default = -0.98 + ! The barotropic time step, in s. DTBT is only used with + ! the split explicit time stepping. To set the time step + ! automatically based the maximum stable value use 0, or + ! a negative value gives the fraction of the stable value. + ! Setting DTBT to 0 is the same as setting it to -0.98. + ! The value of DTBT that will actually be used is an + ! integer fraction of DT, rounding down. + +! === module MOM_thickness_diffuse === +KHTH = 600.0 ! [m2 s-1] default = 0.0 + ! The background horizontal thickness diffusivity. +KHTH_MIN = 0.0 ! [m2 s-1] default = 0.0 + ! The minimum horizontal thickness diffusivity. +KHTH_MAX = 900.0 ! [m2 s-1] default = 0.0 + ! The maximum horizontal thickness diffusivity. +KHTH_MAX_CFL = 0.8 ! [nondimensional] default = 0.8 + ! The maximum value of the local diffusive CFL ratio that + ! is permitted for the thickness diffusivity. 1.0 is the + ! marginally unstable value in a pure layered model, but + ! much smaller numbers (e.g. 0.1) seem to work better for + ! ALE-based models. +DETANGLE_INTERFACES = False ! [Boolean] default = False + ! If defined add 3-d structured enhanced interface height + ! diffusivities to horizonally smooth jagged layers. +KHTH_SLOPE_MAX = 0.01 ! [nondim] default = 0.01 + ! A slope beyond which the calculated isopycnal slope is + ! not reliable and is scaled away. + +! === module MOM_mixed_layer_restrat === +MIXEDLAYER_RESTRAT = True ! [Boolean] default = False + ! If true, a density-gradient dependent re-stratifying + ! flow is imposed in the mixed layer. Can be used in ALE mode + ! without restriction but in layer mode can only be used if + ! BULKMIXEDLAYER is true. +FOX_KEMPER_ML_RESTRAT_COEF = 20.0 ! [nondim] default = 0.0 + ! A nondimensional coefficient that is proportional to + ! the ratio of the deformation radius to the dominant + ! lengthscale of the submesoscale mixed layer + ! instabilities, times the minimum of the ratio of the + ! mesoscale eddy kinetic energy to the large-scale + ! geostrophic kinetic energy or 1 plus the square of the + ! grid spacing over the deformation radius, as detailed + ! by Fox-Kemper et al. (2010) +MLE_USE_PBL_MLD = False ! [Boolean] default = False + ! If true, the MLE parameterization will use the mixed-layer + ! depth provided by the active PBL parameterization. If false, + ! MLE will estimate a MLD based on a density difference with the + ! surface using the parameter MLE_DENSITY_DIFF. +MLE_DENSITY_DIFF = 0.03 ! [kg/m3] default = 0.03 + ! Density difference used to detect the mixed-layer + ! depth used for the mixed-layer eddy parameterization + ! by Fox-Kemper et al. (2010) +MLE_TAIL_DH = 0.0 ! [nondim] default = 0.0 + ! Fraction by which to extend the mixed-layer restratification + ! depth used for a smoother stream function at the base of + ! the mixed-layer. + +! === module MOM_diag_to_Z === +Z_OUTPUT_GRID_FILE = "analysis_vgrid_lev35.v1.nc" ! default = "" + ! The file that specifies the vertical grid for + ! depth-space diagnostics, or blank to disable + ! depth-space output. +!NK_ZSPACE (from file) = 35 ! [nondim] + ! The number of depth-space levels. This is determined + ! from the size of the variable zw in the output grid file. + +! === module MOM_diabatic_driver === +! The following parameters are used for diabatic processes. +ENERGETICS_SFC_PBL = True ! [Boolean] default = False + ! If true, use an implied energetics planetary boundary + ! layer scheme to determine the diffusivity and viscosity + ! in the surface boundary layer. +EPBL_IS_ADDITIVE = True ! [Boolean] default = True + ! If true, the diffusivity from ePBL is added to all + ! other diffusivities. Otherwise, the larger of kappa- + ! shear and ePBL diffusivities are used. +INTERNAL_TIDES = False ! [Boolean] default = False + ! If true, use the code that advances a separate set of + ! equations for the internal tide energy density. +MASSLESS_MATCH_TARGETS = True ! [Boolean] default = True + ! If true, the temperature and salinity of massless layers + ! are kept consistent with their target densities. + ! Otherwise the properties of massless layers evolve + ! diffusively to match massive neighboring layers. +AGGREGATE_FW_FORCING = True ! [Boolean] default = True + ! If true, the net incoming and outgoing fresh water fluxes are combined + ! and applied as either incoming or outgoing depending on the sign of the net. + ! If false, the net incoming fresh water flux is added to the model and + ! thereafter the net outgoing is removed from the updated state.into the first non-vanished layer for which the column remains stable +DEBUG_CONSERVATION = False ! [Boolean] default = False + ! If true, monitor conservation and extrema. +MIX_BOUNDARY_TRACERS = True ! [Boolean] default = True + ! If true, mix the passive tracers in massless layers at + ! the bottom into the interior as though a diffusivity of + ! KD_MIN_TR were operating. +KD_MIN_TR = 2.0E-06 ! [m2 s-1] default = 2.0E-06 + ! A minimal diffusivity that should always be applied to + ! tracers, especially in massless layers near the bottom. + ! The default is 0.1*KD. +KD_BBL_TR = 0.0 ! [m2 s-1] default = 0.0 + ! A bottom boundary layer tracer diffusivity that will + ! allow for explicitly specified bottom fluxes. The + ! entrainment at the bottom is at least sqrt(Kd_BBL_tr*dt) + ! over the same distance. +TRACER_TRIDIAG = False ! [Boolean] default = False + ! If true, use the passive tracer tridiagonal solver for T and S +DIAG_MLD_DENSITY_DIFF = 0.1 ! [kg/m3] default = 0.1 + ! The density difference used to determine a diagnostic mixed + ! layer depth, MLD_user, following the definition of Levitus 1982. + ! The MLD is the depth at which the density is larger than the + ! surface density by the specified amount. + +! === module MOM_KPP === +! This is the MOM wrapper to CVmix:KPP +! See http://code.google.com/p/cvmix/ +USE_KPP = False ! [Boolean] default = False + ! If true, turns on the [CVmix] KPP scheme of Large et al., 1994, + ! to calculate diffusivities and non-local transport in the OBL. +SALT_REJECT_BELOW_ML = False ! [Boolean] default = False + ! If true, place salt from brine rejection below the mixed layer, + ! into the first non-vanished layer for which the column remains stable + +! === module MOM_diffConvection === +! This module implements enhanced diffusivity as a +! function of static stability, N^2. +USE_CONVECTION = False ! [Boolean] default = False + ! If true, turns on the diffusive convection scheme that + ! increases diapycnal diffusivities at statically unstable + ! interfaces. Relevant parameters are contained in the + ! CONVECTION% parameter block. +CONVECTION% +PASSIVE = False ! [Boolean] default = False + ! If True, puts KPP into a passive-diagnostic mode. +KD_CONV = 1.0 ! [m2/s] default = 1.0 + ! DIffusivity used in statically unstable regions of column. +%CONVECTION + +! === module MOM_entrain_diffusive === +CORRECT_DENSITY = True ! [Boolean] default = True + ! If true, and USE_EOS is true, the layer densities are + ! restored toward their target values by the diapycnal + ! mixing, as described in Hallberg (MWR, 2000). +MAX_ENT_IT = 20 ! default = 5 + ! The maximum number of iterations that may be used to + ! calculate the interior diapycnal entrainment. +TOLERANCE_ENT = 1.0E-05 ! [m] default = 2.683281572999748E-05 + ! The tolerance with which to solve for entrainment values. + +! === module MOM_geothermal === +GEOTHERMAL_SCALE = 0.001 ! [W m-2 or various] default = 0.0 + ! The constant geothermal heat flux, a rescaling + ! factor for the heat flux read from GEOTHERMAL_FILE, or + ! 0 to disable the geothermal heating. +GEOTHERMAL_FILE = "geothermal_heating_cm2g.nc" ! default = "" + ! The file from which the geothermal heating is to be + ! read, or blank to use a constant heating rate. +GEOTHERMAL_THICKNESS = 0.1 ! [m] default = 0.1 + ! The thickness over which to apply geothermal heating. +GEOTHERMAL_DRHO_DT_INPLACE = -0.01 ! [kg m-3 K-1] default = -0.01 + ! The value of drho_dT above which geothermal heating + ! simply heats water in place instead of moving it between + ! isopycnal layers. This must be negative. +GEOTHERMAL_VARNAME = "geo_heat" ! default = "geo_heat" + ! The name of the geothermal heating variable in + ! GEOTHERMAL_FILE. + +! === module MOM_set_diffusivity === +FLUX_RI_MAX = 0.2 ! [not defined] default = 0.2 + ! The flux Richardson number where the stratification is + ! large enough that N2 > omega2. The full expression for + ! the Flux Richardson number is usually + ! FLUX_RI_MAX*N2/(N2+OMEGA2). +ML_RADIATION = False ! [Boolean] default = False + ! If true, allow a fraction of TKE available from wind + ! work to penetrate below the base of the mixed layer + ! with a vertical decay scale determined by the minimum + ! of: (1) The depth of the mixed layer, (2) an Ekman + ! length scale. +BBL_EFFIC = 0.2 ! [nondim] default = 0.2 + ! The efficiency with which the energy extracted by + ! bottom drag drives BBL diffusion. This is only + ! used if BOTTOMDRAGLAW is true. +BBL_MIXING_MAX_DECAY = 0.0 ! [m] default = 0.0 + ! The maximum decay scale for the BBL diffusion, or 0 + ! to allow the mixing to penetrate as far as + ! stratification and rotation permit. The default is 0. + ! This is only used if BOTTOMDRAGLAW is true. +BBL_MIXING_AS_MAX = False ! [Boolean] default = True + ! If true, take the maximum of the diffusivity from the + ! BBL mixing and the other diffusivities. Otherwise, + ! diffusiviy from the BBL_mixing is simply added. +USE_LOTW_BBL_DIFFUSIVITY = True ! [Boolean] default = False + ! If true, uses a simple, imprecise but non-coordinate dependent, model + ! of BBL mixing diffusivity based on Law of the Wall. Otherwise, uses + ! the original BBL scheme. +LOTW_BBL_USE_OMEGA = True ! [Boolean] default = True + ! If true, use the maximum of Omega and N for the TKE to diffusion + ! calculation. Otherwise, N is N. +SIMPLE_TKE_TO_KD = True ! [Boolean] default = False + ! If true, uses a simple estimate of Kd/TKE that will + ! work for arbitrary vertical coordinates. If false, + ! calculates Kd/TKE and bounds based on exact energetics/nfor an isopycnal layer-formulation. +BRYAN_LEWIS_DIFFUSIVITY = False ! [Boolean] default = False + ! If true, use a Bryan & Lewis (JGR 1979) like tanh + ! profile of background diapycnal diffusivity with depth. +HENYEY_IGW_BACKGROUND = True ! [Boolean] default = False + ! If true, use a latitude-dependent scaling for the near + ! surface background diffusivity, as described in + ! Harrison & Hallberg, JPO 2008. +HENYEY_IGW_BACKGROUND_NEW = False ! [Boolean] default = False + ! If true, use a better latitude-dependent scaling for the + ! background diffusivity, as described in + ! Harrison & Hallberg, JPO 2008. +HENYEY_N0_2OMEGA = 20.0 ! [nondim] default = 20.0 + ! The ratio of the typical Buoyancy frequency to twice + ! the Earth's rotation period, used with the Henyey + ! scaling from the mixing. +N2_FLOOR_IOMEGA2 = 0.0 ! [nondim] default = 1.0 + ! The floor applied to N2(k) scaled by Omega^2: + ! If =0., N2(k) is simply positive definite. + ! If =1., N2(k) > Omega^2 everywhere. +KD_TANH_LAT_FN = False ! [Boolean] default = False + ! If true, use a tanh dependence of Kd_sfc on latitude, + ! like CM2.1/CM2M. There is no physical justification + ! for this form, and it can not be used with + ! HENYEY_IGW_BACKGROUND. +KD = 2.0E-05 ! [m2 s-1] + ! The background diapycnal diffusivity of density in the + ! interior. Zero or the molecular value, ~1e-7 m2 s-1, + ! may be used. +KD_MIN = 2.0E-06 ! [m2 s-1] default = 2.0E-07 + ! The minimum diapycnal diffusivity. +KD_MAX = 0.1 ! [m2 s-1] default = -1.0 + ! The maximum permitted increment for the diapycnal + ! diffusivity from TKE-based parameterizations, or a + ! negative value for no limit. +KD_ADD = 0.0 ! [m2 s-1] default = 0.0 + ! A uniform diapycnal diffusivity that is added + ! everywhere without any filtering or scaling. +KDML = 2.0E-05 ! [m2 s-1] default = 2.0E-05 + ! If BULKMIXEDLAYER is false, KDML is the elevated + ! diapycnal diffusivity in the topmost HMIX of fluid. + ! KDML is only used if BULKMIXEDLAYER is false. +INT_TIDE_DISSIPATION = True ! [Boolean] default = False + ! If true, use an internal tidal dissipation scheme to + ! drive diapycnal mixing, along the lines of St. Laurent + ! et al. (2002) and Simmons et al. (2004). +INT_TIDE_PROFILE = "STLAURENT_02" ! default = "STLAURENT_02" + ! INT_TIDE_PROFILE selects the vertical profile of energy + ! dissipation with INT_TIDE_DISSIPATION. Valid values are: + ! STLAURENT_02 - Use the St. Laurent et al exponential + ! decay profile. + ! POLZIN_09 - Use the Polzin WKB-streched algebraic + ! decay profile. +LEE_WAVE_DISSIPATION = False ! [Boolean] default = False + ! If true, use an lee wave driven dissipation scheme to + ! drive diapycnal mixing, along the lines of Nikurashin + ! (2010) and using the St. Laurent et al. (2002) + ! and Simmons et al. (2004) vertical profile +INT_TIDE_LOWMODE_DISSIPATION = False ! [Boolean] default = False + ! If true, consider mixing due to breaking low modes that + ! have been remotely generated; as with itidal drag on the + ! barotropic tide, use an internal tidal dissipation scheme to + ! drive diapycnal mixing, along the lines of St. Laurent + ! et al. (2002) and Simmons et al. (2004). +USER_CHANGE_DIFFUSIVITY = False ! [Boolean] default = False + ! If true, call user-defined code to change the diffusivity. +DISSIPATION_MIN = 0.0 ! [W m-3] default = 0.0 + ! The minimum dissipation by which to determine a lower + ! bound of Kd (a floor). +DISSIPATION_N0 = 0.0 ! [W m-3] default = 0.0 + ! The intercept when N=0 of the N-dependent expression + ! used to set a minimum dissipation by which to determine + ! a lower bound of Kd (a floor): A in eps_min = A + B*N. +DISSIPATION_N1 = 0.0 ! [J m-3] default = 0.0 + ! The coefficient multiplying N, following Gargett, used to + ! set a minimum dissipation by which to determine a lower + ! bound of Kd (a floor): B in eps_min = A + B*N +DISSIPATION_KD_MIN = 0.0 ! [m2 s-1] default = 0.0 + ! The minimum vertical diffusivity applied as a floor. +INT_TIDE_DECAY_SCALE = 300.3003003003003 ! [m] default = 0.0 + ! The decay scale away from the bottom for tidal TKE with + ! the new coding when INT_TIDE_DISSIPATION is used. +MU_ITIDES = 0.2 ! [nondim] default = 0.2 + ! A dimensionless turbulent mixing efficiency used with + ! INT_TIDE_DISSIPATION, often 0.2. +GAMMA_ITIDES = 0.3333 ! [nondim] default = 0.3333 + ! The fraction of the internal tidal energy that is + ! dissipated locally with INT_TIDE_DISSIPATION. + ! THIS NAME COULD BE BETTER. +MIN_ZBOT_ITIDES = 0.0 ! [m] default = 0.0 + ! Turn off internal tidal dissipation when the total + ! ocean depth is less than this value. +KAPPA_ITIDES = 6.28319E-04 ! [m-1] default = 6.283185307179586E-04 + ! A topographic wavenumber used with INT_TIDE_DISSIPATION. + ! The default is 2pi/10 km, as in St.Laurent et al. 2002. +UTIDE = 0.0 ! [m s-1] default = 0.0 + ! The constant tidal amplitude used with INT_TIDE_DISSIPATION. +KAPPA_H2_FACTOR = 0.75 ! [nondim] default = 1.0 + ! A scaling factor for the roughness amplitude with nINT_TIDE_DISSIPATION. +TKE_ITIDE_MAX = 0.1 ! [W m-2] default = 1000.0 + ! The maximum internal tide energy source availble to mix + ! above the bottom boundary layer with INT_TIDE_DISSIPATION. +READ_TIDEAMP = True ! [Boolean] default = False + ! If true, read a file (given by TIDEAMP_FILE) containing + ! the tidal amplitude with INT_TIDE_DISSIPATION. +TIDEAMP_FILE = "tideamp.nc" ! default = "tideamp.nc" + ! The path to the file containing the spatially varying + ! tidal amplitudes with INT_TIDE_DISSIPATION. +H2_FILE = "sgs_h2.nc" ! + ! The path to the file containing the sub-grid-scale + ! topographic roughness amplitude with INT_TIDE_DISSIPATION. + +! === module MOM_kappa_shear === +! Parameterization of shear-driven turbulence following Jackson, Hallberg and Legg, JPO 2008 +USE_JACKSON_PARAM = True ! [Boolean] default = False + ! If true, use the Jackson-Hallberg-Legg (JPO 2008) + ! shear mixing parameterization. +RINO_CRIT = 0.25 ! [nondim] default = 0.25 + ! The critical Richardson number for shear mixing. +SHEARMIX_RATE = 0.089 ! [nondim] default = 0.089 + ! A nondimensional rate scale for shear-driven entrainment. + ! Jackson et al find values in the range of 0.085-0.089. +MAX_RINO_IT = 25 ! [nondim] default = 50 + ! The maximum number of iterations that may be used to + ! estimate the Richardson number driven mixing. +KD_KAPPA_SHEAR_0 = 2.0E-05 ! [m2 s-1] default = 2.0E-05 + ! The background diffusivity that is used to smooth the + ! density and shear profiles before solving for the + ! diffusivities. Defaults to value of KD. +FRI_CURVATURE = -0.97 ! [nondim] default = -0.97 + ! The nondimensional curvature of the function of the + ! Richardson number in the kappa source term in the + ! Jackson et al. scheme. +TKE_N_DECAY_CONST = 0.24 ! [nondim] default = 0.24 + ! The coefficient for the decay of TKE due to + ! stratification (i.e. proportional to N*tke). + ! The values found by Jackson et al. are 0.24-0.28. +TKE_SHEAR_DECAY_CONST = 0.14 ! [nondim] default = 0.14 + ! The coefficient for the decay of TKE due to shear (i.e. + ! proportional to |S|*tke). The values found by Jackson + ! et al. are 0.14-0.12. +KAPPA_BUOY_SCALE_COEF = 0.82 ! [nondim] default = 0.82 + ! The coefficient for the buoyancy length scale in the + ! kappa equation. The values found by Jackson et al. are + ! in the range of 0.81-0.86. +KAPPA_N_OVER_S_SCALE_COEF2 = 0.0 ! [nondim] default = 0.0 + ! The square of the ratio of the coefficients of the + ! buoyancy and shear scales in the diffusivity equation, + ! Set this to 0 (the default) to eliminate the shear scale. + ! This is only used if USE_JACKSON_PARAM is true. +KAPPA_SHEAR_TOL_ERR = 0.1 ! [nondim] default = 0.1 + ! The fractional error in kappa that is tolerated. + ! Iteration stops when changes between subsequent + ! iterations are smaller than this everywhere in a + ! column. The peak diffusivities usually converge most + ! rapidly, and have much smaller errors than this. +TKE_BACKGROUND = 0.0 ! [m2 s-2] default = 0.0 + ! A background level of TKE used in the first iteration + ! of the kappa equation. TKE_BACKGROUND could be 0. +KAPPA_SHEAR_ELIM_MASSLESS = True ! [Boolean] default = True + ! If true, massless layers are merged with neighboring + ! massive layers in this calculation. The default is + ! true and I can think of no good reason why it should + ! be false. This is only used if USE_JACKSON_PARAM is true. +MAX_KAPPA_SHEAR_IT = 13 ! [nondim] default = 13 + ! The maximum number of iterations that may be used to + ! estimate the time-averaged diffusivity. +DEBUG_KAPPA_SHEAR = False ! [Boolean] default = False + ! If true, write debugging data for the kappa-shear code. + ! Caution: this option is _very_ verbose and should only + ! be used in single-column mode! + +! === module MOM_CVMix_shear === +! Parameterization of shear-driven turbulence via CVMix (various options) +USE_LMD94 = False ! [Boolean] default = False + ! If true, use the Large-McWilliams-Doney (JGR 1994) + ! shear mixing parameterization. +USE_PP81 = False ! [Boolean] default = False + ! If true, use the Pacanowski and Philander (JPO 1981) + ! shear mixing parameterization. + +! === module MOM_diabatic_aux === +! The following parameters are used for auxiliary diabatic processes. +RECLAIM_FRAZIL = True ! [Boolean] default = True + ! If true, try to use any frazil heat deficit to cool any + ! overlying layers down to the freezing point, thereby + ! avoiding the creation of thin ice when the SST is above + ! the freezing point. +PRESSURE_DEPENDENT_FRAZIL = False ! [Boolean] default = False + ! If true, use a pressure dependent freezing temperature + ! when making frazil. The default is false, which will be + ! faster but is inappropriate with ice-shelf cavities. +MINIMUM_FORCING_DEPTH = 0.001 ! [m] default = 0.001 + ! The smallest depth over which forcing can be applied. This + ! only takes effect when near-surface layers become thin + ! relative to this scale, in which case the forcing tendencies + ! scaled down by distributing the forcing over this depth scale. +EVAP_CFL_LIMIT = 0.8 ! [nondim] default = 0.8 + ! The largest fraction of a layer than can be lost to forcing + ! (e.g. evaporation, sea-ice formation) in one time-step. The unused + ! mass loss is passed down through the column. +DO_RIVERMIX = False ! [Boolean] default = False + ! If true, apply additional mixing whereever there is + ! runoff, so that it is mixed down to RIVERMIX_DEPTH + ! if the ocean is that deep. +USE_RIVER_HEAT_CONTENT = False ! [Boolean] default = False + ! If true, use the fluxes%runoff_Hflx field to set the + ! heat carried by runoff, instead of using SST*CP*liq_runoff. +USE_CALVING_HEAT_CONTENT = False ! [Boolean] default = False + ! If true, use the fluxes%calving_Hflx field to set the + ! heat carried by runoff, instead of using SST*CP*froz_runoff. + +! === module MOM_energetic_PBL === +MSTAR = 1.2 ! [units=nondim] default = 1.2 + ! The ratio of the friction velocity cubed to the TKE + ! input to the mixed layer. +NSTAR = 0.2 ! [nondim] default = 0.2 + ! The portion of the buoyant potential energy imparted by + ! surface fluxes that is available to drive entrainment + ! at the base of mixed layer when that energy is positive. +MKE_TO_TKE_EFFIC = 0.0 ! [nondim] default = 0.0 + ! The efficiency with which mean kinetic energy released + ! by mechanically forced entrainment of the mixed layer + ! is converted to turbulent kinetic energy. +TKE_DECAY = 2.5 ! [nondim] default = 2.5 + ! TKE_DECAY relates the vertical rate of decay of the + ! TKE available for mechanical entrainment to the natural + ! Ekman depth. +ML_OMEGA_FRAC = 0.0 ! [nondim] default = 0.0 + ! When setting the decay scale for turbulence, use this + ! fraction of the absolute rotation rate blended with the + ! local value of f, as sqrt((1-of)*f^2 + of*4*omega^2). +WSTAR_USTAR_COEF = 1.0 ! [units=nondim] default = 1.0 + ! A ratio relating the efficiency with which convectively + ! released energy is converted to a turbulent velocity, + ! relative to mechanically forced TKE. Making this larger + ! increases the BL diffusivity +VSTAR_SCALE_FACTOR = 1.0 ! [units=nondim] default = 1.0 + ! An overall nondimensional scaling factor for v*. + ! Making this larger decreases the PBL diffusivity. +EKMAN_SCALE_COEF = 1.0 ! [units=nondim] default = 1.0 + ! A nondimensional scaling factor controlling the inhibition + ! of the diffusive length scale by rotation. Making this larger + ! decreases the PBL diffusivity. +USE_MLD_ITERATION = False ! [Boolean] default = False + ! A logical that determines whether or not to use the + ! MLD to set the EPBL length scale. + +! === module MOM_regularize_layers === +REGULARIZE_SURFACE_LAYERS = False ! [Boolean] default = False + ! If defined, vertically restructure the near-surface + ! layers when they have too much lateral variations to + ! allow for sensible lateral barotropic transports. +HMIX_MIN = 2.0 ! [m] default = 0.0 + ! The minimum mixed layer depth if the mixed layer depth + ! is determined dynamically. +REG_SFC_DEFICIT_TOLERANCE = 0.5 ! [nondim] default = 0.5 + ! The value of the relative thickness deficit at which + ! to start modifying the layer structure when + ! REGULARIZE_SURFACE_LAYERS is true. +ALLOW_CLOCKS_IN_OMP_LOOPS = True ! [Boolean] default = True + ! If true, clocks can be called from inside loops that can + ! be threaded. To run with multiple threads, set to False. + +! === module MOM_opacity === +VAR_PEN_SW = True ! [Boolean] default = False + ! If true, use one of the CHL_A schemes specified by + ! OPACITY_SCHEME to determine the e-folding depth of + ! incoming short wave radiation. +OPACITY_SCHEME = "MANIZZA_05" ! default = "MANIZZA_05" + ! This character string specifies how chlorophyll + ! concentrations are translated into opacities. Currently + ! valid options include: + ! MANIZZA_05 - Use Manizza et al., GRL, 2005. + ! MOREL_88 - Use Morel, JGR, 1988. +CHL_FROM_FILE = True ! [Boolean] default = True + ! If true, chl_a is read from a file. +CHL_FILE = "seawifs_1998-2006_GOLD_smoothed_2X.nc" ! + ! CHL_FILE is the file containing chl_a concentrations in + ! the variable CHL_A. It is used when VAR_PEN_SW and + ! CHL_FROM_FILE are true. +BLUE_FRAC_SW = 0.5 ! [nondim] default = 0.5 + ! The fraction of the penetrating shortwave radiation + ! that is in the blue band. +PEN_SW_NBANDS = 3 ! default = 1 + ! The number of bands of penetrating shortwave radiation. +OPACITY_LAND_VALUE = 10.0 ! [m-1] default = 10.0 + ! The value to use for opacity over land. The default is + ! 10 m-1 - a value for muddy water. + +! === module MOM_tracer_advect === +TRACER_ADVECTION_SCHEME = "PPM:H3" ! default = "PLM" + ! The horizontal transport scheme for tracers: + ! PLM - Piecewise Linear Method + ! PPM:H3 - Piecewise Parabolic Method (Huyhn 3rd order) + +! === module MOM_tracer_hor_diff === +KHTR = 600.0 ! [m2 s-1] default = 0.0 + ! The background along-isopycnal tracer diffusivity. +KHTR_MIN = 50.0 ! [m2 s-1] default = 0.0 + ! The minimum along-isopycnal tracer diffusivity. +KHTR_MAX = 900.0 ! [m2 s-1] default = 0.0 + ! The maximum along-isopycnal tracer diffusivity. +KHTR_PASSIVITY_COEFF = 0.0 ! [nondim] default = 0.0 + ! The coefficient that scales deformation radius over + ! grid-spacing in passivity, where passiviity is the ratio + ! between along isopycnal mxiing of tracers to thickness mixing. + ! A non-zero value enables this parameterization. +KHTR_PASSIVITY_MIN = 0.5 ! [nondim] default = 0.5 + ! The minimum passivity which is the ratio between + ! along isopycnal mxiing of tracers to thickness mixing. +DIFFUSE_ML_TO_INTERIOR = False ! [Boolean] default = False + ! If true, enable epipycnal mixing between the surface + ! boundary layer and the interior. +CHECK_DIFFUSIVE_CFL = False ! [Boolean] default = False + ! If true, use enough iterations the diffusion to ensure + ! that the diffusive equivalent of the CFL limit is not + ! violated. If false, always use 1 iteration. + +! === module MOM_neutral_diffusion === +! This module implements neutral diffusion of tracers +USE_NEUTRAL_DIFFUSION = True ! [Boolean] default = False + ! If true, enables the neutral diffusion module. + +! === module offline_transport === +! This module allows for tracers to be run offline +OFFLINEDIR = "ONLINE/" ! default = "" + ! Input directory where the offline fields can be found +OFF_SUM_FILE = "00010101.off_sum_1day.nc" ! default = "" + ! Filename where the accumulated fields can be found +OFF_SNAP_FILE = "00010101.off_snap_1day.nc" ! default = "" + ! Filename where snapshot fields can be found +START_INDEX = 1 ! default = 1 + ! Which time index to start from +NUMTIME = 5 ! default = 0 + ! Number of timelevels in offline input files +FIELDS_ARE_OFFSET = False ! [Boolean] default = False + ! True if the time-averaged fields and snapshot fields are offset by one time level +NUM_OFF_ITER = 1000 ! + ! Number of iterations to subdivide the offline tracer advection and diffusion +DT_OFFLINE = 8.64E+04 ! [not defined] + ! Length of the offline timestep +OBSOLETE_DIAGNOSTIC_IS_FATAL = True ! [Boolean] default = True + ! If an obsolete diagnostic variable appears in the diag_table + ! then cause a FATAL error rather than issue a WARNING. + +! === module MOM_surface_forcing === +VARIABLE_WINDS = True ! [Boolean] default = True + ! If true, the winds vary in time after the initialization. +VARIABLE_BUOYFORCE = True ! [Boolean] default = True + ! If true, the buoyancy forcing varies in time after the + ! initialization of the model. +BUOY_CONFIG = "zero" ! + ! The character string that indicates how buoyancy forcing + ! is specified. Valid options include (file), (zero), + ! (linear), (USER), (BFB) and (NONE). +WIND_CONFIG = "zero" ! + ! The character string that indicates how wind forcing + ! is specified. Valid options include (file), (2gyre), + ! (1gyre), (gyres), (zero), and (USER). +RESTOREBUOY = False ! [Boolean] default = False + ! If true, the buoyancy fluxes drive the model back + ! toward some specified surface state with a rate + ! given by FLUXCONST. +LATENT_HEAT_FUSION = 3.34E+05 ! [J/kg] default = 3.34E+05 + ! The latent heat of fusion. +LATENT_HEAT_VAPORIZATION = 2.5E+06 ! [J/kg] default = 2.5E+06 + ! The latent heat of fusion. +GUST_CONST = 0.02 ! [Pa] default = 0.02 + ! The background gustiness in the winds. +READ_GUST_2D = True ! [Boolean] default = False + ! If true, use a 2-dimensional gustiness supplied from + ! an input file +GUST_2D_FILE = "gustiness_qscat.nc" ! + ! The file in which the wind gustiness is found in + ! variable gustiness. + +! === module MOM_restart === +ICE_SHELF = False ! [Boolean] default = False + ! If true, enables the ice shelf model. + +! === module MOM_sum_output === +CALCULATE_APE = True ! [Boolean] default = True + ! If true, calculate the available potential energy of + ! the interfaces. Setting this to false reduces the + ! memory footprint of high-PE-count models dramatically. +WRITE_STOCKS = True ! [Boolean] default = True + ! If true, write the integrated tracer amounts to stdout + ! when the energy files are written. +MAXTRUNC = 5000 ! [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 energy saves. Set MAXTRUNC to 0 + ! to stop if there is any truncation of velocities. +MAX_ENERGY = 0.0 ! [m2 s-2] default = 0.0 + ! The maximum permitted average energy per unit mass; the + ! model will be stopped if there is more energy than + ! this. If zero or negative, this is set to 10*MAXVEL^2. +ENERGYFILE = "ocean.stats" ! default = "ocean.stats" + ! The file to use to write the energies and globally + ! summed diagnostics. +DATE_STAMPED_STDOUT = True ! [Boolean] default = True + ! If true, use dates (not times) in messages to stdout +TIMEUNIT = 8.64E+04 ! [s] default = 8.64E+04 + ! The time unit in seconds a number of input fields +READ_DEPTH_LIST = False ! [Boolean] default = False + ! Read the depth list from a file if it exists or + ! create that file otherwise. +DEPTH_LIST_MIN_INC = 1.0E-10 ! [m] default = 1.0E-10 + ! The minimum increment between the depths of the + ! entries in the depth-list file. + +! === module MOM_write_cputime === +MAXCPU = 2.88E+04 ! [wall-clock seconds] default = -1.0 + ! The maximum amount of cpu time per processor for which + ! MOM should run before saving a restart file and + ! quitting with a return value that indicates that a + ! further run is required to complete the simulation. + ! If automatic restarts are not desired, use a negative + ! value for MAXCPU. MAXCPU has units of wall-clock + ! seconds, so the actual CPU time used is larger by a + ! factor of the number of processors used. +CPU_TIME_FILE = "CPU_stats" ! default = "CPU_stats" + ! The file into which CPU time is written. + +! === module MOM_main (MOM_driver) === +DT_FORCING = 7200.0 ! [s] default = 3600.0 + ! The time step for changing forcing, coupling with other + ! components, or potentially writing certain diagnostics. + ! The default value is given by DT. +DO_ONLINE = False ! [Boolean] default = True + ! If true, use the model in prognostic mode where + ! the barotropic and baroclinic dynamics, thermodynamics, + ! etc. are stepped forward integrated in time. + ! If false, the all of the above are bypassed with all + ! fields necessary to integrate only the tracer advection + ! and diffusion equation are read in from files stored from + ! a previous integration of the prognostic model +DAYMAX = 5.0 ! [days] + ! The final time of the whole simulation, in units of + ! TIMEUNIT seconds. This also sets the potential end + ! time of the present run segment if the end time is + ! not set via ocean_solo_nml in input.nml. +RESTART_CONTROL = 3 ! default = 1 + ! An integer whose bits encode which restart files are + ! written. Add 2 (bit 1) for a time-stamped file, and odd + ! (bit 0) for a non-time-stamped file. A non-time-stamped + ! restart file is saved at the end of the run segment + ! for any non-negative value. +RESTINT = 365.0 ! [days] default = 0.0 + ! The interval between saves of the restart file in units + ! of TIMEUNIT. Use 0 (the default) to not save + ! incremental restart files at all. +ENERGYSAVEDAYS = 1.0 ! [days] default = 1.0 + ! The interval in units of TIMEUNIT between saves of the + ! energies of the run and other globally summed diagnostics. + +! === module MOM_file_parser === +SEND_LOG_TO_STDOUT = False ! [Boolean] default = False + ! If true, all log messages are also sent to stdout. +REPORT_UNUSED_PARAMS = False ! [Boolean] default = False + ! If true, report any parameter lines that are not used + ! in the run. +FATAL_UNUSED_PARAMS = False ! [Boolean] default = False + ! If true, kill the run if there are any unused + ! parameters. +DOCUMENT_FILE = "MOM_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 MOM_parameter_doc.all . +MINIMAL_DOCUMENTATION = True ! [Boolean] default = True + ! If true, non-default run-time parameters are + ! documented in MOM_parameter_doc.short . diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/MOM_parameter_doc.layout b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/MOM_parameter_doc.layout new file mode 100644 index 0000000000..f2b251df26 --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/MOM_parameter_doc.layout @@ -0,0 +1,70 @@ +! This file was written by the model and records the layout parameters used at run-time. +GLOBAL_INDEXING = False ! [Boolean] default = False + ! If true, use a global lateral indexing convention, so + ! that corresponding points on different processors have + ! the same index. This does not work with static memory. +!SYMMETRIC_MEMORY_ = False ! [Boolean] + ! If defined, the velocity point data domain includes + ! every face of the thickness points. In other words, + ! some arrays are larger than others, depending on where + ! they are on the staggered grid. Also, the starting + ! index of the velocity-point arrays is usually 0, not 1. + ! This can only be set at compile time. +NONBLOCKING_UPDATES = False ! [Boolean] default = False + ! If true, non-blocking halo updates may be used. +!STATIC_MEMORY_ = False ! [Boolean] + ! If STATIC_MEMORY_ is defined, the principle variables + ! will have sizes that are statically determined at + ! compile time. Otherwise the sizes are not determined + ! until run time. The STATIC option is substantially + ! faster, but does not allow the PE count to be changed + ! at run time. This can only be set at compile time. +NIHALO = 4 ! default = 4 + ! The number of halo points on each side in the + ! x-direction. With STATIC_MEMORY_ this is set as NIHALO_ + ! in MOM_memory.h at compile time; without STATIC_MEMORY_ + ! the default is NIHALO_ in MOM_memory.h (if defined) or 2. +NJHALO = 4 ! default = 4 + ! The number of halo points on each side in the + ! y-direction. With STATIC_MEMORY_ this is set as NJHALO_ + ! in MOM_memory.h at compile time; without STATIC_MEMORY_ + ! the default is NJHALO_ in MOM_memory.h (if defined) or 2. +MASKTABLE = "MOM_mask_table" ! default = "MOM_mask_table" + ! A text file to specify n_mask, layout and mask_list. + ! This feature masks out processors that contain only land points. + ! The first line of mask_table is the number of regions to be masked out. + ! The second line is the layout of the model and must be + ! consistent with the actual model layout. + ! The following (n_mask) lines give the logical positions + ! of the processors that are masked out. The mask_table + ! can be created by tools like check_mask. The + ! following example of mask_table masks out 2 processors, + ! (1,2) and (3,6), out of the 24 in a 4x6 layout: + ! 2 + ! 4,6 + ! 1,2 + ! 3,6 +NIPROC = 1 ! + ! The number of processors in the x-direction. With + ! STATIC_MEMORY_ this is set in MOM_memory.h at compile time. +NJPROC = 1 ! + ! The number of processors in the x-direction. With + ! STATIC_MEMORY_ this is set in MOM_memory.h at compile time. +LAYOUT = 1, 1 ! + ! The processor layout that was acutally used. +IO_LAYOUT = 1, 1 ! default = 0 + ! The processor layout to be used, or 0,0 to automatically + ! set the io_layout to be the same as the layout. +NIBLOCK = 1 ! default = 1 + ! The number of blocks in the x-direction on each processor (for openmp). +NJBLOCK = 1 ! default = 1 + ! The number of blocks in the y-direction on each processor (for openmp). +BT_USE_WIDE_HALOS = True ! [Boolean] default = True + ! If true, use wide halos and march in during the + ! barotropic time stepping for efficiency. +BTHALO = 0 ! default = 0 + ! The minimum halo size for the barotropic solver. +!BT x-halo = 0 ! + ! The barotropic x-halo size that is actually used. +!BT y-halo = 0 ! + ! The barotropic y-halo size that is actually used. diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/MOM_parameter_doc.short b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/MOM_parameter_doc.short new file mode 100644 index 0000000000..155e638c2f --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/MOM_parameter_doc.short @@ -0,0 +1,682 @@ +! This file was written by the model and records the non-default parameters used at run-time. + +! === module MOM === +USE_REGRIDDING = True ! [Boolean] default = False + ! If True, use the ALE algorithm (regridding/remapping). + ! If False, use the layered isopycnal algorithm. +THICKNESSDIFFUSE = True ! [Boolean] default = False + ! If true, interface heights are diffused with a + ! coefficient of KHTH. +DT = 3600.0 ! [s] + ! The (baroclinic) dynamics time step. The time-step that + ! is actually used will be an integer fraction of the + ! forcing time-step (DT_FORCING in ocean-only mode or the + ! coupling timestep in coupled mode.) +DT_THERM = 7200.0 ! [s] default = 3600.0 + ! The thermodynamic and tracer advection time step. + ! Ideally DT_THERM should be an integer multiple of DT + ! and less than the forcing or coupling time-step, unless + ! THERMO_SPANS_COUPLING is true, in which case DT_THERM + ! can be an integer multiple of the coupling timestep. By + ! default DT_THERM is set to DT. +MIN_Z_DIAG_INTERVAL = 2.16E+04 ! [s] default = 0.0 + ! The minimum amount of time in seconds between + ! calculations of depth-space diagnostics. Making this + ! larger than DT_THERM reduces the performance penalty + ! of regridding to depth online. +DTBT_RESET_PERIOD = 0.0 ! [s] default = 7200.0 + ! The period between recalculations of DTBT (if DTBT <= 0). + ! If DTBT_RESET_PERIOD is negative, DTBT is set based + ! only on information available at initialization. If + ! dynamic, DTBT will be set at least every forcing time + ! step, and if 0, every dynamics time step. The default is + ! set by DT_THERM. This is only used if SPLIT is true. +FRAZIL = True ! [Boolean] default = False + ! If true, water freezes if it gets too cold, and the + ! the accumulated heat deficit is returned in the + ! surface state. FRAZIL is only used if + ! ENABLE_THERMODYNAMICS is true. +DO_GEOTHERMAL = True ! [Boolean] default = False + ! If true, apply geothermal heating. +BOUND_SALINITY = True ! [Boolean] default = False + ! If true, limit salinity to being positive. (The sea-ice + ! model may ask for more salt than is available and + ! drive the salinity negative otherwise.) +C_P = 3925.0 ! [J kg-1 K-1] default = 3991.86795711963 + ! The heat capacity of sea water, approximated as a + ! constant. This is only used if ENABLE_THERMODYNAMICS is + ! true. The default value is from the TEOS-10 definition + ! of conservative temperature. +FIRST_DIRECTION = 1 ! 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. +CHECK_BAD_SURFACE_VALS = True ! [Boolean] default = False + ! If true, check the surface state for ridiculous values. +SAVE_INITIAL_CONDS = True ! [Boolean] default = False + ! If true, write the initial conditions to a file given + ! by IC_OUTPUT_FILE. + +! === module MOM_domains === +NIGLOBAL = 23 ! + ! The total number of thickness grid points in the + ! x-direction in the physical domain. With STATIC_MEMORY_ + ! this is set in MOM_memory.h at compile time. +NJGLOBAL = 14 ! + ! The total number of thickness grid points in the + ! y-direction in the physical domain. With STATIC_MEMORY_ + ! this is set in MOM_memory.h at compile time. + +! === module MOM_hor_index === +! Sets the horizontal array index types. + +! === module MOM_verticalGrid === +! Parameters providing information about the vertical grid. +NK = 50 ! [nondim] + ! The number of model layers. + +! === module MOM_tracer_registry === + +! === module MOM_EOS === + +! === module MOM_restart === + +! === module MOM_tracer_flow_control === +USE_IDEAL_AGE_TRACER = True ! [Boolean] default = False + ! If true, use the ideal_age_example tracer package. +USE_ADVECTION_TEST_TRACER = True ! [Boolean] default = False + ! If true, use the advection_test_tracer tracer package. + +! === module ideal_age_example === + +! === module advection_test_tracer === +ADVECTION_TEST_X_ORIGIN = 19.5 ! [not defined] default = 0.0 + ! The x-coorindate of the center of the test-functions. +ADVECTION_TEST_Y_ORIGIN = 60.5 ! [not defined] default = 0.0 + ! The y-coorindate of the center of the test-functions. +ADVECTION_TEST_X_WIDTH = 1.0 ! [not defined] default = 0.0 + ! The x-width of the test-functions. +ADVECTION_TEST_Y_WIDTH = 1.0 ! [not defined] default = 0.0 + ! The y-width of the test-functions. + +! === module MOM_fixed_initialization === +INPUTDIR = "INPUT" ! default = "." + ! The directory in which input files are found. + +! === module MOM_grid_init === +GRID_CONFIG = "mosaic" ! + ! A character string that determines the method for + ! defining the horizontal grid. Current options are: + ! mosaic - read the grid from a mosaic (supergrid) + ! file set by GRID_FILE. + ! cartesian - use a (flat) Cartesian grid. + ! spherical - use a simple spherical grid. + ! mercator - use a Mercator spherical grid. +GRID_FILE = "ocean_hgrid.nc" ! + ! Name of the file from which to read horizontal grid data. +TOPO_CONFIG = "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 an vertical + ! wall at the southern face. + ! halfpipe - a zonally uniform channel with a half-sine + ! profile in the meridional direction. + ! benchmark - use the benchmark test case topography. + ! DOME - use a slope and channel configuration for the + ! DOME sill-overflow test case. + ! ISOMIP - use a slope and channel configuration for the + ! ISOMIP test case. + ! DOME2D - use a shelf and slope configuration for the + ! DOME2D gravity current/overflow test case. + ! seamount - Gaussian bump for spontaneous motion test case. + ! supercritical - flat but with 8.95 degree land mask. + ! Phillips - ACC-like idealized topography used in the Phillips config. + ! USER - call a user modified routine. +MAXIMUM_DEPTH = 6000.0 ! [m] + ! The maximum depth of the ocean. +MINIMUM_DEPTH = 0.5 ! [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. + +! === module MOM_open_boundary === +! Controls where open boundaries are located, what kind of boundary condition to impose, and what data to apply, if any. +CHANNEL_CONFIG = "global_1deg" ! 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. + +! === module MOM_coord_initialization === +COORD_CONFIG = "file" ! + ! This specifies how layers are to be defined: + ! file - read coordinate information from the file + ! specified by (COORD_FILE). + ! BFB - Custom coords for buoyancy-forced basin case + ! based on SST_S, T_BOT and DRHO_DT. + ! linear - linear based on interfaces not layers + ! layer_ref - linear based on layer densities + ! ts_ref - use reference temperature and salinity + ! ts_range - use range of temperature and salinity + ! (T_REF and S_REF) to determine surface density + ! and GINT calculate internal densities. + ! gprime - use reference density (RHO_0) for surface + ! density and GINT calculate internal densities. + ! ts_profile - use temperature and salinity profiles + ! (read from COORD_FILE) to set layer densities. + ! USER - call a user modified routine. +COORD_FILE = "Layer_coord50.nc" ! + ! The file from which the coordinate densities are read. +REGRIDDING_COORDINATE_MODE = "Z*" ! default = "LAYER" + ! Coordinate mode for vertical regridding. + ! Choose among the following possibilities: + ! LAYER - Isopycnal or stacked shallow water layers + ! Z* - stetched geopotential z* + ! SIGMA - terrain following coordinates + ! RHO - continuous isopycnal + ! HYCOM1 - HyCOM-like hybrid coordinate + ! SLIGHT - stretched coordinates above continuous isopycnal +ALE_COORDINATE_CONFIG = "FILE:vgrid.nc,dz" ! default = "UNIFORM" + ! Determines how to specify the coordinate + ! resolution. Valid options are: + ! PARAM - use the vector-parameter ALE_RESOLUTION + ! UNIFORM - uniformly distributed + ! FILE:string - read from a file. The string specifies + ! the filename and variable name, separated + ! by a comma or space, e.g. FILE:lev.nc,Z + ! FNC1:string - FNC1:dz_min,H_total,power,precision + ! HYBRID:string - read from a file. The string specifies + ! the filename and two variable names, separated + ! by a comma or space, for sigma-2 and dz. e.g. + ! HYBRID:vgrid.nc,sigma2,dz +!ALE_RESOLUTION = 3*10.1, 2*10.2, 10.3, 10.5, 10.7, 10.9, 11.3, 11.7, 12.4, 13.3, 14.6, 16.3, 18.6, 21.7, 25.9, 31.4, 38.5, 47.4, 58.4, 71.3, 86.0, 101.9, 118.1, 134.0, 148.7, 161.6, 172.6, 181.5, 188.6, 194.1, 198.3, 201.4, 203.7, 205.4, 206.7, 207.6, 208.3, 208.7, 209.1, 209.3, 209.5, 209.7, 2*209.8, 2*209.9, 209.0 ! [m] + ! The distribution of vertical resolution for the target + ! grid used for Eulerian-like coordinates. For example, + ! in z-coordinate mode, the parameter is a list of level + ! thicknesses (in m). In sigma-coordinate mode, the list + ! is of non-dimensional fractions of the water column. +REMAPPING_SCHEME = "PPM_H4" ! default = "PLM" + ! This sets the reconstruction scheme used + ! for vertical remapping for all variables. + ! It can be one of the following schemes: + ! PCM (1st-order accurate) + ! PLM (2nd-order accurate) + ! PPM_H4 (3rd-order accurate) + ! PPM_IH4 (3rd-order accurate) + ! PQM_IH4IH3 (4th-order accurate) + ! PQM_IH6IH5 (5th-order accurate) + +! === module MOM_grid === +! Parameters providing information about the lateral grid. + +! === module MOM_state_initialization === +INIT_LAYERS_FROM_Z_FILE = True ! [Boolean] default = False + ! If true, intialize the layer thicknesses, temperatures, + ! and salnities from a Z-space file on a latitude- + ! longitude grid. + +! === module MOM_initialize_layers_from_Z === +TEMP_SALT_Z_INIT_FILE = "WOA05_pottemp_salt.nc" ! default = "temp_salt_z.nc" + ! The name of the z-space input file used to initialize + ! the layer thicknesses, temperatures and salinities. +Z_INIT_FILE_PTEMP_VAR = "PTEMP" ! default = "ptemp" + ! The name of the potential temperature variable in + ! TEMP_SALT_Z_INIT_FILE. +Z_INIT_FILE_SALT_VAR = "SALT" ! default = "salt" + ! The name of the salinity variable in + ! TEMP_SALT_Z_INIT_FILE. +Z_INIT_ALE_REMAPPING = True ! [Boolean] default = False + ! If True, then remap straight to model coordinate from file. + +! === module MOM_diag_mediator === + +! === module MOM_MEKE === +USE_MEKE = True ! [Boolean] default = False + ! If true, turns on the MEKE scheme which calculates + ! a sub-grid mesoscale eddy kinetic energy budget. +MEKE_GMCOEFF = 1.0 ! [nondim] default = -1.0 + ! The efficiency of the conversion of potential energy + ! into MEKE by the thickness mixing parameterization. + ! If MEKE_GMCOEFF is negative, this conversion is not + ! used or calculated. + +! === module MOM_wave_speed === + +! === module MOM_lateral_mixing_coeffs === +USE_VARIABLE_MIXING = True ! [Boolean] default = False + ! If true, the variable mixing code will be called. This + ! allows diagnostics to be created even if the scheme is + ! not used. If KHTR_SLOPE_CFF>0 or KhTh_Slope_Cff>0, + ! this is set to true regardless of what is in the + ! parameter file. +RESOLN_SCALED_KH = True ! [Boolean] default = False + ! If true, the Laplacian lateral viscosity is scaled away + ! when the first baroclinic deformation radius is well + ! resolved. +RESOLN_SCALED_KHTH = True ! [Boolean] default = False + ! If true, the interface depth diffusivity is scaled away + ! when the first baroclinic deformation radius is well + ! resolved. +USE_STORED_SLOPES = True ! [Boolean] default = False + ! If true, the isopycnal slopes are calculated once and + ! stored for re-use. This uses more memory but avoids calling + ! the equation of state more times than should be necessary. +INTERPOLATE_RES_FN = False ! [Boolean] default = True + ! If true, interpolate the resolution function to the + ! velocity points from the thickness points; otherwise + ! interpolate the wave speed and calculate the resolution + ! function independently at each point. +GILL_EQUATORIAL_LD = True ! [Boolean] default = False + ! If true, uses Gill's definition of the baroclinic + ! equatorial deformation radius, otherwise, if false, use + ! Pedlosky's definition. These definitions differ by a factor + ! of 2 infront of the beta term in the denominator. Gill'sis the more appropriate definition. + +! === module MOM_set_visc === +CHANNEL_DRAG = True ! [Boolean] default = False + ! If true, the bottom drag is exerted directly on each + ! layer proportional to the fraction of the bottom it + ! overlies. +HBBL = 10.0 ! [m] + ! The thickness of a bottom boundary layer with a + ! viscosity of KVBBL if BOTTOMDRAGLAW is not defined, or + ! the thickness over which near-bottom velocities are + ! averaged for the drag law if BOTTOMDRAGLAW is defined + ! but LINEAR_DRAG is not. +DRAG_BG_VEL = 0.1 ! [m s-1] default = 0.0 + ! DRAG_BG_VEL is either the assumed bottom velocity (with + ! LINEAR_DRAG) or an unresolved velocity that is + ! combined with the resolved velocity to estimate the + ! velocity magnitude. DRAG_BG_VEL is only used when + ! BOTTOMDRAGLAW is defined. +BBL_USE_EOS = True ! [Boolean] default = False + ! If true, use the equation of state in determining the + ! properties of the bottom boundary layer. Otherwise use + ! the layer target potential densities. +BBL_THICK_MIN = 0.1 ! [m] default = 0.0 + ! The minimum bottom boundary layer thickness that can be + ! used with BOTTOMDRAGLAW. This might be + ! Kv / (cdrag * drag_bg_vel) to give Kv as the minimum + ! near-bottom viscosity. +KV = 1.0E-04 ! [m2 s-1] + ! The background kinematic viscosity in the interior. + ! The molecular value, ~1e-6 m2 s-1, may be used. +TIDES = True ! [Boolean] default = False + ! If true, apply tidal momentum forcing. + +! === module MOM_continuity === + +! === module MOM_continuity_PPM === +ETA_TOLERANCE = 1.0E-06 ! [m] default = 2.5E-09 + ! The tolerance for the differences between the + ! barotropic and baroclinic estimates of the sea surface + ! height due to the fluxes through each face. The total + ! tolerance for SSH is 4 times this value. The default + ! is 0.5*NK*ANGSTROM, and this should not be set less x + ! than about 10^-15*MAXIMUM_DEPTH. +VELOCITY_TOLERANCE = 1.0E-04 ! [m s-1] default = 3.0E+08 + ! The tolerance for barotropic velocity discrepancies + ! between the barotropic solution and the sum of the + ! layer thicknesses. + +! === module MOM_CoriolisAdv === +BOUND_CORIOLIS = True ! [Boolean] default = False + ! If true, the Coriolis terms at u-points are bounded by + ! the four estimates of (f+rv)v from the four neighboring + ! v-points, and similarly at v-points. This option would + ! have no effect on the SADOURNY Coriolis scheme if it + ! were possible to use centered difference thickness fluxes. + +! === module MOM_tidal_forcing === +TIDE_M2 = True ! [Boolean] default = False + ! If true, apply tidal momentum forcing at the M2 + ! frequency. This is only used if TIDES is true. +TIDE_SAL_SCALAR_VALUE = 0.094 ! [m m-1] + ! The constant of proportionality between sea surface + ! height (really it should be bottom pressure) anomalies + ! and bottom geopotential anomalies. This is only used if + ! TIDES and TIDE_USE_SAL_SCALAR are true. + +! === module MOM_PressureForce === + +! === module MOM_PressureForce_AFV === +MASS_WEIGHT_IN_PRESSURE_GRADIENT = True ! [Boolean] default = False + ! If true, use mass weighting when interpolation T/S for + ! top/bottom integrals in AFV pressure gradient calculation. + +! === module MOM_hor_visc === +LAPLACIAN = True ! [Boolean] default = False + ! If true, use a Laplacian horizontal viscosity. +KH_VEL_SCALE = 0.01 ! [m s-1] default = 0.0 + ! The velocity scale which is multiplied by the grid + ! spacing to calculate the Laplacian viscosity. + ! The final viscosity is the largest of this scaled + ! viscosity, the Smagorinsky viscosity and KH. +AH_VEL_SCALE = 0.05 ! [m s-1] default = 0.0 + ! The velocity scale which is multiplied by the cube of + ! the grid spacing to calculate the biharmonic viscosity. + ! The final viscosity is the largest of this scaled + ! viscosity, the Smagorinsky viscosity and AH. +SMAGORINSKY_AH = True ! [Boolean] default = False + ! If true, use a biharmonic Smagorinsky nonlinear eddy + ! viscosity. +SMAG_BI_CONST = 0.06 ! [nondim] default = 0.0 + ! The nondimensional biharmonic Smagorinsky constant, + ! typically 0.015 - 0.06. + +! === module MOM_vert_friction === +U_TRUNC_FILE = "U_velocity_truncations" ! default = "" + ! The absolute path to a file into which the accelerations + ! leading to zonal velocity truncations are written. + ! Undefine this for efficiency if this diagnostic is not + ! needed. +V_TRUNC_FILE = "V_velocity_truncations" ! default = "" + ! The absolute path to a file into which the accelerations + ! leading to meridional velocity truncations are written. + ! Undefine this for efficiency if this diagnostic is not + ! needed. +HMIX_FIXED = 0.5 ! [m] + ! The prescribed depth over which the near-surface + ! viscosity and diffusivity are elevated when the bulk + ! mixed layer is not used. +MAXVEL = 6.0 ! [m s-1] default = 3.0E+08 + ! The maximum velocity allowed before the velocity + ! components are truncated. +CFL_TRUNCATE_RAMP_TIME = 7200.0 ! [s] default = 0.0 + ! The time over which the CFL trunction value is ramped + ! up at the beginning of the run. + +! === module MOM_PointAccel === + +! === module MOM_barotropic === +BOUND_BT_CORRECTION = True ! [Boolean] default = False + ! If true, the corrective pseudo mass-fluxes into the + ! barotropic solver are limited to values that require + ! less than maxCFL_BT_cont to be accommodated. +BT_PROJECT_VELOCITY = True ! [Boolean] default = False + ! If true, step the barotropic velocity first and project + ! out the velocity tendancy by 1+BEBT when calculating the + ! transport. The default (false) is to use a predictor + ! continuity step to find the pressure field, and then + ! to do a corrector continuity step using a weighted + ! average of the old and new velocities, with weights + ! of (1-BEBT) and BEBT. +BEBT = 0.2 ! [nondim] default = 0.1 + ! BEBT determines whether the barotropic time stepping + ! uses the forward-backward time-stepping scheme or a + ! backward Euler scheme. BEBT is valid in the range from + ! 0 (for a forward-backward treatment of nonrotating + ! gravity waves) to 1 (for a backward Euler treatment). + ! In practice, BEBT must be greater than about 0.05. +DTBT = -0.95 ! [s or nondim] default = -0.98 + ! The barotropic time step, in s. DTBT is only used with + ! the split explicit time stepping. To set the time step + ! automatically based the maximum stable value use 0, or + ! a negative value gives the fraction of the stable value. + ! Setting DTBT to 0 is the same as setting it to -0.98. + ! The value of DTBT that will actually be used is an + ! integer fraction of DT, rounding down. + +! === module MOM_thickness_diffuse === +KHTH = 600.0 ! [m2 s-1] default = 0.0 + ! The background horizontal thickness diffusivity. +KHTH_MAX = 900.0 ! [m2 s-1] default = 0.0 + ! The maximum horizontal thickness diffusivity. + +! === module MOM_mixed_layer_restrat === +MIXEDLAYER_RESTRAT = True ! [Boolean] default = False + ! If true, a density-gradient dependent re-stratifying + ! flow is imposed in the mixed layer. Can be used in ALE mode + ! without restriction but in layer mode can only be used if + ! BULKMIXEDLAYER is true. +FOX_KEMPER_ML_RESTRAT_COEF = 20.0 ! [nondim] default = 0.0 + ! A nondimensional coefficient that is proportional to + ! the ratio of the deformation radius to the dominant + ! lengthscale of the submesoscale mixed layer + ! instabilities, times the minimum of the ratio of the + ! mesoscale eddy kinetic energy to the large-scale + ! geostrophic kinetic energy or 1 plus the square of the + ! grid spacing over the deformation radius, as detailed + ! by Fox-Kemper et al. (2010) + +! === module MOM_diag_to_Z === +Z_OUTPUT_GRID_FILE = "analysis_vgrid_lev35.v1.nc" ! default = "" + ! The file that specifies the vertical grid for + ! depth-space diagnostics, or blank to disable + ! depth-space output. +!NK_ZSPACE (from file) = 35 ! [nondim] + ! The number of depth-space levels. This is determined + ! from the size of the variable zw in the output grid file. + +! === module MOM_diabatic_driver === +! The following parameters are used for diabatic processes. +ENERGETICS_SFC_PBL = True ! [Boolean] default = False + ! If true, use an implied energetics planetary boundary + ! layer scheme to determine the diffusivity and viscosity + ! in the surface boundary layer. + +! === module MOM_KPP === +! This is the MOM wrapper to CVmix:KPP +! See http://code.google.com/p/cvmix/ + +! === module MOM_diffConvection === +! This module implements enhanced diffusivity as a +! function of static stability, N^2. +CONVECTION% +%CONVECTION + +! === module MOM_entrain_diffusive === +MAX_ENT_IT = 20 ! default = 5 + ! The maximum number of iterations that may be used to + ! calculate the interior diapycnal entrainment. +TOLERANCE_ENT = 1.0E-05 ! [m] default = 2.683281572999748E-05 + ! The tolerance with which to solve for entrainment values. + +! === module MOM_geothermal === +GEOTHERMAL_SCALE = 0.001 ! [W m-2 or various] default = 0.0 + ! The constant geothermal heat flux, a rescaling + ! factor for the heat flux read from GEOTHERMAL_FILE, or + ! 0 to disable the geothermal heating. +GEOTHERMAL_FILE = "geothermal_heating_cm2g.nc" ! default = "" + ! The file from which the geothermal heating is to be + ! read, or blank to use a constant heating rate. + +! === module MOM_set_diffusivity === +BBL_MIXING_AS_MAX = False ! [Boolean] default = True + ! If true, take the maximum of the diffusivity from the + ! BBL mixing and the other diffusivities. Otherwise, + ! diffusiviy from the BBL_mixing is simply added. +USE_LOTW_BBL_DIFFUSIVITY = True ! [Boolean] default = False + ! If true, uses a simple, imprecise but non-coordinate dependent, model + ! of BBL mixing diffusivity based on Law of the Wall. Otherwise, uses + ! the original BBL scheme. +SIMPLE_TKE_TO_KD = True ! [Boolean] default = False + ! If true, uses a simple estimate of Kd/TKE that will + ! work for arbitrary vertical coordinates. If false, + ! calculates Kd/TKE and bounds based on exact energetics/nfor an isopycnal layer-formulation. +HENYEY_IGW_BACKGROUND = True ! [Boolean] default = False + ! If true, use a latitude-dependent scaling for the near + ! surface background diffusivity, as described in + ! Harrison & Hallberg, JPO 2008. +N2_FLOOR_IOMEGA2 = 0.0 ! [nondim] default = 1.0 + ! The floor applied to N2(k) scaled by Omega^2: + ! If =0., N2(k) is simply positive definite. + ! If =1., N2(k) > Omega^2 everywhere. +KD = 2.0E-05 ! [m2 s-1] + ! The background diapycnal diffusivity of density in the + ! interior. Zero or the molecular value, ~1e-7 m2 s-1, + ! may be used. +KD_MIN = 2.0E-06 ! [m2 s-1] default = 2.0E-07 + ! The minimum diapycnal diffusivity. +KD_MAX = 0.1 ! [m2 s-1] default = -1.0 + ! The maximum permitted increment for the diapycnal + ! diffusivity from TKE-based parameterizations, or a + ! negative value for no limit. +INT_TIDE_DISSIPATION = True ! [Boolean] default = False + ! If true, use an internal tidal dissipation scheme to + ! drive diapycnal mixing, along the lines of St. Laurent + ! et al. (2002) and Simmons et al. (2004). +INT_TIDE_DECAY_SCALE = 300.3003003003003 ! [m] default = 0.0 + ! The decay scale away from the bottom for tidal TKE with + ! the new coding when INT_TIDE_DISSIPATION is used. +KAPPA_ITIDES = 6.28319E-04 ! [m-1] default = 6.283185307179586E-04 + ! A topographic wavenumber used with INT_TIDE_DISSIPATION. + ! The default is 2pi/10 km, as in St.Laurent et al. 2002. +KAPPA_H2_FACTOR = 0.75 ! [nondim] default = 1.0 + ! A scaling factor for the roughness amplitude with nINT_TIDE_DISSIPATION. +TKE_ITIDE_MAX = 0.1 ! [W m-2] default = 1000.0 + ! The maximum internal tide energy source availble to mix + ! above the bottom boundary layer with INT_TIDE_DISSIPATION. +READ_TIDEAMP = True ! [Boolean] default = False + ! If true, read a file (given by TIDEAMP_FILE) containing + ! the tidal amplitude with INT_TIDE_DISSIPATION. +H2_FILE = "sgs_h2.nc" ! + ! The path to the file containing the sub-grid-scale + ! topographic roughness amplitude with INT_TIDE_DISSIPATION. + +! === module MOM_kappa_shear === +! Parameterization of shear-driven turbulence following Jackson, Hallberg and Legg, JPO 2008 +USE_JACKSON_PARAM = True ! [Boolean] default = False + ! If true, use the Jackson-Hallberg-Legg (JPO 2008) + ! shear mixing parameterization. +MAX_RINO_IT = 25 ! [nondim] default = 50 + ! The maximum number of iterations that may be used to + ! estimate the Richardson number driven mixing. + +! === module MOM_CVMix_shear === +! Parameterization of shear-driven turbulence via CVMix (various options) + +! === module MOM_diabatic_aux === +! The following parameters are used for auxiliary diabatic processes. + +! === module MOM_energetic_PBL === + +! === module MOM_regularize_layers === +HMIX_MIN = 2.0 ! [m] default = 0.0 + ! The minimum mixed layer depth if the mixed layer depth + ! is determined dynamically. + +! === module MOM_opacity === +VAR_PEN_SW = True ! [Boolean] default = False + ! If true, use one of the CHL_A schemes specified by + ! OPACITY_SCHEME to determine the e-folding depth of + ! incoming short wave radiation. +CHL_FILE = "seawifs_1998-2006_GOLD_smoothed_2X.nc" ! + ! CHL_FILE is the file containing chl_a concentrations in + ! the variable CHL_A. It is used when VAR_PEN_SW and + ! CHL_FROM_FILE are true. +PEN_SW_NBANDS = 3 ! default = 1 + ! The number of bands of penetrating shortwave radiation. + +! === module MOM_tracer_advect === +TRACER_ADVECTION_SCHEME = "PPM:H3" ! default = "PLM" + ! The horizontal transport scheme for tracers: + ! PLM - Piecewise Linear Method + ! PPM:H3 - Piecewise Parabolic Method (Huyhn 3rd order) + +! === module MOM_tracer_hor_diff === +KHTR = 600.0 ! [m2 s-1] default = 0.0 + ! The background along-isopycnal tracer diffusivity. +KHTR_MIN = 50.0 ! [m2 s-1] default = 0.0 + ! The minimum along-isopycnal tracer diffusivity. +KHTR_MAX = 900.0 ! [m2 s-1] default = 0.0 + ! The maximum along-isopycnal tracer diffusivity. + +! === module MOM_neutral_diffusion === +! This module implements neutral diffusion of tracers +USE_NEUTRAL_DIFFUSION = True ! [Boolean] default = False + ! If true, enables the neutral diffusion module. + +! === module offline_transport === +! This module allows for tracers to be run offline +OFFLINEDIR = "ONLINE/" ! default = "" + ! Input directory where the offline fields can be found +OFF_SUM_FILE = "00010101.off_sum_1day.nc" ! default = "" + ! Filename where the accumulated fields can be found +OFF_SNAP_FILE = "00010101.off_snap_1day.nc" ! default = "" + ! Filename where snapshot fields can be found +NUMTIME = 5 ! default = 0 + ! Number of timelevels in offline input files +NUM_OFF_ITER = 1000 ! + ! Number of iterations to subdivide the offline tracer advection and diffusion +DT_OFFLINE = 8.64E+04 ! [not defined] + ! Length of the offline timestep + +! === module MOM_surface_forcing === +BUOY_CONFIG = "zero" ! + ! The character string that indicates how buoyancy forcing + ! is specified. Valid options include (file), (zero), + ! (linear), (USER), (BFB) and (NONE). +WIND_CONFIG = "zero" ! + ! The character string that indicates how wind forcing + ! is specified. Valid options include (file), (2gyre), + ! (1gyre), (gyres), (zero), and (USER). +READ_GUST_2D = True ! [Boolean] default = False + ! If true, use a 2-dimensional gustiness supplied from + ! an input file +GUST_2D_FILE = "gustiness_qscat.nc" ! + ! The file in which the wind gustiness is found in + ! variable gustiness. + +! === module MOM_restart === + +! === module MOM_sum_output === +MAXTRUNC = 5000 ! [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 energy saves. Set MAXTRUNC to 0 + ! to stop if there is any truncation of velocities. + +! === module MOM_write_cputime === +MAXCPU = 2.88E+04 ! [wall-clock seconds] default = -1.0 + ! The maximum amount of cpu time per processor for which + ! MOM should run before saving a restart file and + ! quitting with a return value that indicates that a + ! further run is required to complete the simulation. + ! If automatic restarts are not desired, use a negative + ! value for MAXCPU. MAXCPU has units of wall-clock + ! seconds, so the actual CPU time used is larger by a + ! factor of the number of processors used. + +! === module MOM_main (MOM_driver) === +DT_FORCING = 7200.0 ! [s] default = 3600.0 + ! The time step for changing forcing, coupling with other + ! components, or potentially writing certain diagnostics. + ! The default value is given by DT. +DO_ONLINE = False ! [Boolean] default = True + ! If true, use the model in prognostic mode where + ! the barotropic and baroclinic dynamics, thermodynamics, + ! etc. are stepped forward integrated in time. + ! If false, the all of the above are bypassed with all + ! fields necessary to integrate only the tracer advection + ! and diffusion equation are read in from files stored from + ! a previous integration of the prognostic model +DAYMAX = 5.0 ! [days] + ! The final time of the whole simulation, in units of + ! TIMEUNIT seconds. This also sets the potential end + ! time of the present run segment if the end time is + ! not set via ocean_solo_nml in input.nml. +RESTART_CONTROL = 3 ! default = 1 + ! An integer whose bits encode which restart files are + ! written. Add 2 (bit 1) for a time-stamped file, and odd + ! (bit 0) for a non-time-stamped file. A non-time-stamped + ! restart file is saved at the end of the run segment + ! for any non-negative value. +RESTINT = 365.0 ! [days] default = 0.0 + ! The interval between saves of the restart file in units + ! of TIMEUNIT. Use 0 (the default) to not save + ! incremental restart files at all. + +! === module MOM_file_parser === diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/README.offline b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/README.offline new file mode 100644 index 0000000000..47161c4aa0 --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/README.offline @@ -0,0 +1,80 @@ +Instructions for running passive tracers offline in MOM6 +Contact: Andrew Shao (andrew.shao@noaa.gov) +Last modified: 7 October 2016 + +---- +QUICK-START +---- +1) Follow instructions to compile MOM6 executables using ice_ocean_SIS2 and ocean_only drivers +2) Link executables to Baltic_ALE_z directory (replace 'intel' and 'repro' as necessary) + ln -s ../../build/intel/ice_ocean_SIS2/repro/MOM6 ./MOM6_coupled + ln -s ../../build/intel/ice_ocean_SIS2/repro/MOM6 ./MOM6_ocean_only +3) Run model forward using the provided script to generate necessary fields + source run_online.sh +4) Run model offline + source run_offline.sh + +---- +OVERVIEW +---- +'Offline tracer modeling' uses physical fields (e.g. mass transports and layer thicknesses) saved +from a previous integration of the physical model to transport passive tracers. These fields are +accumulated or averaged over a period of time (in this test case, 1 day) and used to integrate +portions of the MOM6 code base that handle the 3d advection and diffusion of passive tracers. +This capability has currently targeted the Baltic_ALE_z test case, though some work has also been +done with the OM4 1/2 degree configuration. Work is ongoing to develop recommendations and best +practices for investigators seeking to use MOM6 for offline tracer modeling. + +The subroutine step_tracers that coordinates this can be found in MOM.F90 and is only called +using the solo ocean driver. This is to avoid issues with coupling to other climate components +that may be relying on fluxes from the ocean to be coupled more often than the offline time step. +Other routines related to offline tracer modeling can be found in tracers/MOM_offline_control.F90 + +As can also be seen in the comments for the step_tracers subroutine, an offline time step +comprises the following steps + 1) Using the layer thicknesses and tracer concentrations from the previous timestep, + half of the accumulated vertical mixing (eatr and ebtr) is applied in the call to + tracer_column_fns. + For tracers whose source/sink terms need dt, this value is set to 1/2 dt_offline + 2) Half of the accumulated surface freshwater fluxes are applied + START ITERATION + 3) Accumulated mass fluxes are used to do horizontal transport. The number of iterations + used in advect_tracer is limited to 2 (e.g x->y->x->y). The remaining mass fluxes are + stored for later use and resulting layer thicknesses fed into the next step + 4) Tracers and the h-grid are regridded and remapped in a call to ALE. This allows for + layers which might 'vanish' because of horizontal mass transport to be 'reinflated' + and essentially allows for the vertical transport of tracers + 5) Check that transport is done if the remaining mass fluxes equals 0 or if the max + number of iterations has been reached + END ITERATION + 6) Repeat steps 1 and 2 + 7) Force a remapping to the stored layer thicknesses that correspond to the snapshot of + the online model at the end of an accumulation interval + 8) Reset T/S and h to their stored snapshotted values to prevent model drift + +---- +EVALUATING +---- +A framework for formally regression testing the offline capability still needs to be developed. +However, as a simple way of testing whether the offline model is nominally behaving as expected, +the total inventory of the advection test tracers (tr1, tr2, etc.) should be conserved between +time steps except for the last 4 decimal places. + +---- +MOM_input parameters +---- +OFFLINEDIR ! default = "" + ! Input directory where the offline fields can be found +OFF_SUM_FILE ! default = "" + ! Filename where the accumulated fields can be found +OFF_SNAP_FILE ! default = "" + ! Filename where snapshot fields can be found +START_INDEX = ! default = 1 + ! Which time index to start from +NUMTIME = ! default = 0 + ! Number of timelevels in offline input files +FIELDS_ARE_OFFSET ! [Boolean] default = False + ! True if the time-averaged fields and snapshot fields are offset by one time level +NUM_OFF_ITER ! + ! Number of iterations to subdivide the offline tracer advection and diffusion +DT_OFFLINE ! Length of the offline timestep diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/SIS_input b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/SIS_input new file mode 100644 index 0000000000..32981a4ab5 --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/SIS_input @@ -0,0 +1,122 @@ +!********+*********+*********+*********+*********+*********+*********+* +!* This file determines the adjustable run-time parameters for the * +!* Sea Ice Simulator (SIS), versions 2 and later. Where * +!* appropriate, MKS units are used. * +!********+*********+*********+*********+*********+*********+*********+* +! >>> Baltic sea coupled ice-ocean SIS2 5 layer ice, 63 layer ocean test case. + +! Specify properties of the physical domain. +GRID_CONFIG = "mosaic" ! Method for defining horizontal grid + ! = file|cartesian|spherical|mercator + ! file - read grid from file "GRID_FILE" + ! cartesian - a Cartesian grid + ! spherical - a spherical grid + ! mercator - a Mercator grid +GRID_FILE = "ocean_hgrid.nc" + ! Name of file to read horizontal grid data +INPUTDIR = "INPUT" + ! INPUTDIR is a directory in which NetCDF + ! input files might be found. + +CGRID_ICE_DYNAMICS = True ! If true, use a C-grid discretization of the + ! sea-ice dynamics; if false use a B-grid + ! discretization. + +! Specify the numerical domain. +NIGLOBAL = 23 ! NIGLOBAL and NJGLOBAL are the number of thickness +NJGLOBAL = 14 ! grid points in the zonal and meridional + ! directions of the physical domain. +NCAT_ICE = 5 ! The number of sea ice thickness categories. +NIHALO = 2 ! NIHALO and NJHALO are the number of halo +NJHALO = 2 ! points on each side in the x- and y-directions. + ! If static memory allocation is used, these + ! must match the values of NIHALO_ and NJHALO_ + ! in MOM_memory.h. +IO_LAYOUT = 1, 1 ! The processor layout to be used, or 0,0 to automatically + ! set the io_layout to be the same as the layout. + +REENTRANT_X = False ! If defined, the domain is zonally reentrant. +REENTRANT_Y = False ! If defined, the domain is meridionally + ! reentrant. +TRIPOLAR_N = False ! Use tripolar connectivity at the northern + ! edge of the domain. With TRIPOLAR_N, NIGLOBAL + ! must be even. + +DEBUG = False ! If true, write out verbose debugging data. +SEND_LOG_TO_STDOUT = False ! If true write out log information to stdout. +ICE_STATS_INTERVAL = 1.0 ! The interval in units of TIMEUNIT between + ! writes of the globally summed ice statistics + ! and conservation checks. + +! Specify the time integration scheme for the ice dynamics. +DT_ICE_DYNAMICS = 3600.0 ! The time step used for the slow ice dynamics, + ! including stepping the continuity equation and + ! interactions between the ice mass field and + ! velocities, in s. +INTERSPERSED_ICE_THERMO = False ! If true, the sea ice thermodynamic updates are applied + ! after the new velocities are determined, but before the + ! transport occurs. Otherwise, the ice thermodynamic + ! updates occur at the start of the slow ice update and + ! dynamics and continuity can occur together. + ! The default should be changed to false. + +DT_RHEOLOGY = 100.0 ! The sub-cycling time step, in s, for iterating + ! the rheology and ice momentum equations. If + ! DT_RHEOLOGY is negative, the time step is set + ! via NSTEPS_DYN. +PROJECT_ICE_DRAG_VEL = True ! If true, project forward the ice velocity used in the + ! drag calculation to avoid an instability that can occur + ! when an finite stress is applied to thin ice moving with + ! the velocity of the ocean. +ICE_TDAMP_ELASTIC = 0.0 ! The damping timescale associated with the + ! elastic terms in the sea-ice dynamics. + +SIS_TRACER_ADVECTION_SCHEME = "PPM:H3" ! The horizontal transport scheme for + ! tracers. Valid options include: + ! UPWIND_2D - Non-directionally split upwind + ! PCM - Directionally split peicewise constant + ! PLM - Piecewise Linear Method + ! PPM:H3 - Piecewise Parabolic Method (Huyhn 3rd order) +SIS_CONTINUITY_SCHEME = "UPWIND_2D" ! default = "UPWIND_2D" + ! The horizontal transport scheme used in continuity: + ! UPWIND_2D - Non-directionally split upwind + ! PCM - Directionally split peicewise constant + ! PPM:C2PD - Positive definite PPM with 2nd order edge values + ! PPM:C2MO - Monotonic PPM with 2nd order edge values + +! Specify the ice properties. +ICE_STRENGTH_PSTAR = 2.75e4 ! ICE_STRENGTH_PSTAR is a constant in the + ! expression for the ice strength, P* in + ! Hunke & Dukowics '97, in Pa. +RHO_OCEAN = 1030.0 ! RHO_OCEAN is used in the Boussinesq + ! approximation to calculations of pressure and + ! pressure gradients, in units of kg m-3. +RHO_ICE = 905.0 ! RHO_ICE is the nominal density of sea ice + ! used in SIS, in units of kg m-3. +RHO_SNOW = 330.0 ! RHO_SNOW is the nominal density of snow + ! used in SIS, in units of kg m-3. +CP_ICE = 2100.0 ! The heat capacity of fresh ice, approximated + ! as a constant, in J kg-1 K-1. +CP_SEAWATER = 4200.0 ! The heat capacity of sea water, approximated + ! as a constant, in J kg-1 K-1. +ICE_BULK_SALINITY = 5.0 ! The fixed bulk salinity of sea ice, in g/kg. +ICE_RELATIVE_SALINITY = 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 ! 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 = 8.64e4 ! 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, in s. + +! Specify the properties of the surface forcing. +ICE_OCEAN_STRESS_STAGGER = "C" ! default = "B" + ! 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'. +ADD_DIURNAL_SW = True ! If true, add a synthetic diurnal cycle to + ! the shortwave radiation. diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/SIS_input.ci b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/SIS_input.ci new file mode 100644 index 0000000000..e066cc530f --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/SIS_input.ci @@ -0,0 +1,127 @@ +!********+*********+*********+*********+*********+*********+*********+* +!* This file determines the adjustable run-time parameters for the * +!* Sea Ice Simulator (SIS), versions 2 and later. Where * +!* appropriate, MKS units are used. * +!********+*********+*********+*********+*********+*********+*********+* +! >>> Baltic sea coupled ice-ocean SIS2 5 layer ice, 63 layer ocean test case. + +! Specify properties of the physical domain. +OMEGA = 7.2921e-5 ! The rotation rate of the earth in s-1. +ROTATION = "2omegasinlat" ! Rotation approximation (2omegasinlat, + ! betaplane or USER). +G_EARTH = 9.80 ! G_EARTH is the Earth's gravitational + ! acceleration, in m s-2. +GRID_CONFIG = "mosaic" ! Method for defining horizontal grid + ! = file|cartesian|spherical|mercator + ! file - read grid from file "GRID_FILE" + ! cartesian - a Cartesian grid + ! spherical - a spherical grid + ! mercator - a Mercator grid +GRID_FILE = "ocean_hgrid.nc" + ! Name of file to read horizontal grid data +INPUTDIR = "INPUT" + ! INPUTDIR is a directory in which NetCDF + ! input files might be found. + +CGRID_ICE_DYNAMICS = True ! If true, use a C-grid discretization of the + ! sea-ice dynamics; if false use a B-grid + ! discretization. + +! Specify the numerical domain. +NIGLOBAL = 23 ! NIGLOBAL and NJGLOBAL are the number of thickness +NJGLOBAL = 14 ! grid points in the zonal and meridional + ! directions of the physical domain. +NK = 63 ! The number of layers. +NCAT_ICE = 5 ! The number of sea ice thickness categories. +NIHALO = 2 ! NIHALO and NJHALO are the number of halo +NJHALO = 2 ! points on each side in the x- and y-directions. + ! If static memory allocation is used, these + ! must match the values of NIHALO_ and NJHALO_ + ! in MOM_memory.h. +IO_LAYOUT = 1, 1 ! The processor layout to be used, or 0,0 to automatically + ! set the io_layout to be the same as the layout. + +REENTRANT_X = False ! If defined, the domain is zonally reentrant. +REENTRANT_Y = False ! If defined, the domain is meridionally + ! reentrant. +TRIPOLAR_N = False ! Use tripolar connectivity at the northern + ! edge of the domain. With TRIPOLAR_N, NIGLOBAL + ! must be even. + +DEBUG = False ! If true, write out verbose debugging data. +DEBUG_TRUNCATIONS = False ! If true, calculate all diagnostics that are + ! useful for debugging truncations. +SEND_LOG_TO_STDOUT = False ! If true write out log information to stdout. +ICE_STATS_INTERVAL = 0.25 ! The interval in units of TIMEUNIT between + ! writes of the globally summed ice statistics + ! and conservation checks. + +! Specify the time integration scheme for the ice dynamics. +DT_ICE_DYNAMICS = 3600.0 ! The time step used for the slow ice dynamics, + ! including stepping the continuity equation and + ! interactions between the ice mass field and + ! velocities, in s. +INTERSPERSED_ICE_THERMO = False ! If true, the sea ice thermodynamic updates are applied + ! after the new velocities are determined, but before the + ! transport occurs. Otherwise, the ice thermodynamic + ! updates occur at the start of the slow ice update and + ! dynamics and continuity can occur together. + ! The default should be changed to false. + +DT_RHEOLOGY = 100.0 ! The sub-cycling time step, in s, for iterating + ! the rheology and ice momentum equations. If + ! DT_RHEOLOGY is negative, the time step is set + ! via NSTEPS_DYN. +PROJECT_ICE_DRAG_VEL = True ! If true, project forward the ice velocity used in the + ! drag calculation to avoid an instability that can occur + ! when an finite stress is applied to thin ice moving with + ! the velocity of the ocean. +ICE_TDAMP_ELASTIC = 0.0 ! The damping timescale associated with the + ! elastic terms in the sea-ice dynamics. + +SIS_TRACER_ADVECTION_SCHEME = "PPM:H3" ! The horizontal transport scheme for + ! tracers. Valid options include: + ! UPWIND_2D - Non-directionally split upwind + ! PCM - Directionally split peicewise constant + ! PLM - Piecewise Linear Method + ! PPM:H3 - Piecewise Parabolic Method (Huyhn 3rd order) +SIS_CONTINUITY_SCHEME = "UPWIND_2D" ! default = "UPWIND_2D" + ! The horizontal transport scheme used in continuity: + ! UPWIND_2D - Non-directionally split upwind + ! PCM - Directionally split peicewise constant + ! PPM:C2PD - Positive definite PPM with 2nd order edge values + ! PPM:C2MO - Monotonic PPM with 2nd order edge values + +! Specify the ice properties. +ICE_STRENGTH_PSTAR = 2.75e4 ! ICE_STRENGTH_PSTAR is a constant in the + ! expression for the ice strength, P* in + ! Hunke & Dukowics '97, in Pa. +RHO_OCEAN = 1030.0 ! RHO_OCEAN is used in the Boussinesq + ! approximation to calculations of pressure and + ! pressure gradients, in units of kg m-3. +RHO_ICE = 905.0 ! RHO_ICE is the nominal density of sea ice + ! used in SIS, in units of kg m-3. +RHO_SNOW = 330.0 ! RHO_SNOW is the nominal density of snow + ! used in SIS, in units of kg m-3. +C_P_ICE = 2100.0 ! C_P_ICE is the heat capacity of fresh ice + ! in J kg-1 K-1, approximated as a constant. +C_P = 3925.0 ! C_P is the heat capacity of sea water in + ! J kg-1 K-1, approximated as a constant. +SNOW_ALBEDO = 0.88 ! The albedo of dry snow atop sea ice, ND. +ICE_ALBEDO = 0.68 ! The albedo of dry bare sea ice, ND. +ICE_BULK_SALINITY = 5.0 ! The fixed bulk salinity of sea ice, in g/kg. +ICE_RELATIVE_SALINITY = 0.0 ! The initial salinity of sea ice as a + ! fraction of the salinity of the seawater from + ! which it formed. + +! Specify the properties of the surface forcing. +WIND_STAGGER = "B" ! "A", "B", or "C" to indicate the + ! staggering of the wind stresses between the + ! sea ice and ocean. +ICE_OCEAN_STRESS_STAGGER = "C" ! default = "B" + ! 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'. +ADD_DIURNAL_SW = True ! If true, add a synthetic diurnal cycle to + ! the shortwave radiation. diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/SIS_input_new b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/SIS_input_new new file mode 100644 index 0000000000..704398d802 --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/SIS_input_new @@ -0,0 +1,122 @@ +!********+*********+*********+*********+*********+*********+*********+* +!* This file determines the adjustable run-time parameters for the * +!* Sea Ice Simulator (SIS), versions 2 and later. Where * +!* appropriate, MKS units are used. * +!********+*********+*********+*********+*********+*********+*********+* +! >>> Baltic sea coupled ice-ocean SIS2 5 layer ice, 63 layer ocean test case. + +! Specify properties of the physical domain. +GRID_CONFIG = "mosaic" ! Method for defining horizontal grid + ! = file|cartesian|spherical|mercator + ! file - read grid from file "GRID_FILE" + ! cartesian - a Cartesian grid + ! spherical - a spherical grid + ! mercator - a Mercator grid +GRID_FILE = "ocean_hgrid.nc" + ! Name of file to read horizontal grid data +INPUTDIR = "INPUT" + ! INPUTDIR is a directory in which NetCDF + ! input files might be found. + +CGRID_ICE_DYNAMICS = True ! If true, use a C-grid discretization of the + ! sea-ice dynamics; if false use a B-grid + ! discretization. + +! Specify the numerical domain. +NIGLOBAL = 23 ! NIGLOBAL and NJGLOBAL are the number of thickness +NJGLOBAL = 14 ! grid points in the zonal and meridional + ! directions of the physical domain. +NCAT_ICE = 5 ! The number of sea ice thickness categories. +NIHALO = 2 ! NIHALO and NJHALO are the number of halo +NJHALO = 2 ! points on each side in the x- and y-directions. + ! If static memory allocation is used, these + ! must match the values of NIHALO_ and NJHALO_ + ! in MOM_memory.h. +IO_LAYOUT = 1, 1 ! The processor layout to be used, or 0,0 to automatically + ! set the io_layout to be the same as the layout. + +REENTRANT_X = False ! If defined, the domain is zonally reentrant. +REENTRANT_Y = False ! If defined, the domain is meridionally + ! reentrant. +TRIPOLAR_N = False ! Use tripolar connectivity at the northern + ! edge of the domain. With TRIPOLAR_N, NIGLOBAL + ! must be even. + +DEBUG = False ! If true, write out verbose debugging data. +SEND_LOG_TO_STDOUT = False ! If true write out log information to stdout. +ICE_STATS_INTERVAL = 0.25 ! The interval in units of TIMEUNIT between + ! writes of the globally summed ice statistics + ! and conservation checks. + +! Specify the time integration scheme for the ice dynamics. +DT_ICE_DYNAMICS = 3600.0 ! The time step used for the slow ice dynamics, + ! including stepping the continuity equation and + ! interactions between the ice mass field and + ! velocities, in s. +INTERSPERSED_ICE_THERMO = False ! If true, the sea ice thermodynamic updates are applied + ! after the new velocities are determined, but before the + ! transport occurs. Otherwise, the ice thermodynamic + ! updates occur at the start of the slow ice update and + ! dynamics and continuity can occur together. + ! The default should be changed to false. + +DT_RHEOLOGY = 100.0 ! The sub-cycling time step, in s, for iterating + ! the rheology and ice momentum equations. If + ! DT_RHEOLOGY is negative, the time step is set + ! via NSTEPS_DYN. +PROJECT_ICE_DRAG_VEL = True ! If true, project forward the ice velocity used in the + ! drag calculation to avoid an instability that can occur + ! when an finite stress is applied to thin ice moving with + ! the velocity of the ocean. +ICE_TDAMP_ELASTIC = 0.0 ! The damping timescale associated with the + ! elastic terms in the sea-ice dynamics. + +SIS_TRACER_ADVECTION_SCHEME = "PPM:H3" ! The horizontal transport scheme for + ! tracers. Valid options include: + ! UPWIND_2D - Non-directionally split upwind + ! PCM - Directionally split peicewise constant + ! PLM - Piecewise Linear Method + ! PPM:H3 - Piecewise Parabolic Method (Huyhn 3rd order) +SIS_CONTINUITY_SCHEME = "UPWIND_2D" ! default = "UPWIND_2D" + ! The horizontal transport scheme used in continuity: + ! UPWIND_2D - Non-directionally split upwind + ! PCM - Directionally split peicewise constant + ! PPM:C2PD - Positive definite PPM with 2nd order edge values + ! PPM:C2MO - Monotonic PPM with 2nd order edge values + +! Specify the ice properties. +ICE_STRENGTH_PSTAR = 2.75e4 ! ICE_STRENGTH_PSTAR is a constant in the + ! expression for the ice strength, P* in + ! Hunke & Dukowics '97, in Pa. +RHO_OCEAN = 1030.0 ! RHO_OCEAN is used in the Boussinesq + ! approximation to calculations of pressure and + ! pressure gradients, in units of kg m-3. +RHO_ICE = 905.0 ! RHO_ICE is the nominal density of sea ice + ! used in SIS, in units of kg m-3. +RHO_SNOW = 330.0 ! RHO_SNOW is the nominal density of snow + ! used in SIS, in units of kg m-3. +CP_ICE = 2100.0 ! The heat capacity of fresh ice, approximated + ! as a constant, in J kg-1 K-1. +CP_SEAWATER = 4200.0 ! The heat capacity of sea water, approximated + ! as a constant, in J kg-1 K-1. +ICE_BULK_SALINITY = 5.0 ! The fixed bulk salinity of sea ice, in g/kg. +ICE_RELATIVE_SALINITY = 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 ! 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 = 8.64e4 ! 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, in s. + +! Specify the properties of the surface forcing. +ICE_OCEAN_STRESS_STAGGER = "C" ! default = "B" + ! 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'. +ADD_DIURNAL_SW = True ! If true, add a synthetic diurnal cycle to + ! the shortwave radiation. diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/SIS_input_std b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/SIS_input_std new file mode 100644 index 0000000000..a04ee4eea1 --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/SIS_input_std @@ -0,0 +1,78 @@ +INPUTDIR = "INPUT" +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. +ICE_BULK_SALINITY = 5.0 ! [g/kg] default = 4.0 + ! The fixed bulk salinity of sea ice. +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. +REENTRANT_X = False ! [Boolean] default = True + ! If true, the domain is zonally reentrant. +!SYMMETRIC_MEMORY_ = False ! [Boolean] + ! If defined, the velocity point data domain includes + ! every face of the thickness points. In other words, + ! some arrays are larger than others, depending on where + ! they are on the staggered grid. Also, the starting + ! index of the velocity-point arrays is usually 0, not 1. + ! This can only be set at compile time. +!STATIC_MEMORY_ = False ! [Boolean] + ! If STATIC_MEMORY_ is defined, the principle variables + ! will have sizes that are statically determined at + ! compile time. Otherwise the sizes are not determined + ! until run time. The STATIC option is substantially + ! faster, but does not allow the PE count to be changed + ! at run time. This can only be set at compile time. +NIGLOBAL = 23 ! + ! The total number of thickness grid points in the + ! x-direction in the physical domain. With STATIC_MEMORY_ + ! this is set in SIS2_memory.h at compile time. +NJGLOBAL = 14 ! + ! 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. +!NIPROC = 2 ! + ! The number of processors in the x-direction. With + ! STATIC_MEMORY_ this is set in SIS2_memory.h at compile time. +!NJPROC = 1 ! + ! The number of processors in the x-direction. With + ! STATIC_MEMORY_ this is set in SIS2_memory.h at compile time. +!LAYOUT = 2, 1 ! + ! The processor layout that was acutally used. +IO_LAYOUT = 1, 1 ! default = 0 + ! The processor layout to be used, or 0,0 to automatically + ! set the io_layout to be the same as the layout. +GRID_FILE = "ocean_hgrid.nc" ! + ! Name of the file from which to read horizontal grid data. +GRID_CONFIG = "mosaic" ! + ! The method for defining the horizontal grid. Valid + ! entries include: + ! file - read the grid from GRID_FILE + ! mosaic - read the grid from a mosaic grid file + ! cartesian - a Cartesian grid + ! spherical - a spherical grid + ! mercator - a Mercator grid +DT_ICE_DYNAMICS = 7200.0 ! The time step used for the slow ice dynamics, + ! including stepping the continuity equation and + ! interactions between the ice mass field and + ! velocities, in s. +DT_RHEOLOGY = 100.0 ! The sub-cycling time step, in s, for iterating + ! the rheology and ice momentum equations. If + ! DT_RHEOLOGY is negative, the time step is set + ! via NSTEPS_DYN. + +! === module SIS_tracer_advect === +SIS_TRACER_ADVECTION_SCHEME = "PPM:H3" ! default = "UPWIND_2D" + ! The horizontal transport scheme for tracers: + ! UPWIND_2D - Non-directionally split upwind + ! PCM - Directionally split peicewise constant + ! PLM - Piecewise Linear Method + ! PPM:H3 - Piecewise Parabolic Method (Huyhn 3rd order) + +! === module SIS_tracer_registry === + +! === module SIS_sum_output === +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/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/SIS_override b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/SIS_override new file mode 100644 index 0000000000..8244328586 --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/SIS_override @@ -0,0 +1 @@ +# Blank file in which we can put "overrides" for parameters diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/SIS_parameter_doc.all b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/SIS_parameter_doc.all new file mode 100644 index 0000000000..fca972218e --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/SIS_parameter_doc.all @@ -0,0 +1,445 @@ +! This file was written by the model and records all non-layout parameters used 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. +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 = -1.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 + ! 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 + ! A constant giving the proportionality of the ocean/ice + ! base heat flux to the tempature difference, given by + ! the product of the heat capacity per unit volume of sea + ! water times a molecular diffusive piston velocity. +SNOW_CONDUCT = 0.31 ! [W m-1 K-1] default = 0.31 + ! The conductivity of heat in snow. +COLUMN_CHECK = False ! [Boolean] default = False + ! If true, add code to allow debugging of conservation + ! column-by-column. This does not change answers, but + ! can increase model run time. +IMBALANCE_TOLERANCE = 1.0E-09 ! [nondim] default = 1.0E-09 + ! The tolerance for imbalances to be flagged by COLUMN_CHECK. +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. +DEBUG = False ! [Boolean] default = False + ! If true, write out verbose debugging data. +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. +MIN_H_FOR_TEMP_CALC = 0.0 ! [m] default = 0.0 + ! The minimum ice thickness at which to do temperature + ! calculations. +DO_ICEBERGS = False ! [Boolean] default = False + ! If true, call the iceberg module. +ADD_DIURNAL_SW = True ! [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. +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. +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. +H_TO_KG_M2 = 1.0 ! [kg m-2 H-1] default = 1.0 + ! A constant that translates thicknesses from the model's + ! internal units of thickness to kg m-2. + +! === module MOM_domains === +REENTRANT_X = False ! [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 = False ! [Boolean] default = False + ! Use tripolar connectivity at the northern edge of the + ! domain. With TRIPOLAR_N, NIGLOBAL must be even. +NIGLOBAL = 23 ! + ! The total number of thickness grid points in the + ! x-direction in the physical domain. With STATIC_MEMORY_ + ! this is set in SIS2_memory.h at compile time. +NJGLOBAL = 14 ! + ! 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. + +! === module MOM_hor_index === +! Sets the horizontal array index types. + +! === module SIS_initialize_fixed === +INPUTDIR = "INPUT" ! default = "." + ! The directory in which input files are found. + +! === module MOM_grid_init === +GRID_CONFIG = "mosaic" ! + ! A character string that determines the method for + ! defining the horizontal grid. Current options are: + ! mosaic - read the grid from a mosaic (supergrid) + ! file set by GRID_FILE. + ! cartesian - use a (flat) Cartesian grid. + ! spherical - use a simple spherical grid. + ! mercator - use a Mercator spherical grid. +GRID_FILE = "ocean_hgrid.nc" ! + ! Name of the file from which to read horizontal grid data. +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 an 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 = 608.4598627866924 ! [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.2921E-05 ! [s-1] default = 7.2921E-05 + ! The rotation rate of the earth. +PARALLEL_RESTARTFILES = False ! [Boolean] default = False + ! If true, each processor writes its own restart file, + ! otherwise a single restart file is generated + +! === module hor_grid === +! Parameters providing information about the lateral grid. + +! === module MOM_hor_index === +! Sets the horizontal array index types. +AVAILABLE_DIAGS_FILE = "SIS.available_diags" ! default = "SIS.available_diags" + ! A file into which to write a list of all available + ! ocean diagnostics that can be included in a diag_table. +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 = 4200.0 ! [J kg-1 K-1] default = 4200.0 + ! The heat capacity of sea water, approximated as a + ! constant. +CP_WATER = 4200.0 ! [J kg-1 K-1] default = 4200.0 + ! The heat capacity of water in sea-ice, approximated as + ! a constant. CP_WATER and CP_SEAWATER should be equal, + ! but for computational convenience CP_WATER has often + ! been set equal to CP_ICE instead. +CP_BRINE = 2100.0 ! [J kg-1 K-1] default = 2100.0 + ! The heat capacity of water in brine pockets within the + ! sea-ice, approximated as a constant. CP_BRINE and + ! CP_WATER should be equal, but for computational + ! convenience CP_BRINE has often been 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. +ENTHALPY_UNITS = 1.0 ! [J kg-1] default = 1.0 + ! A constant that rescales enthalpy from J/kg to a + ! different scale in its internal representation. Changing + ! this by a power of 2 is useful for debugging, as answers + ! should not change. A negative values is taken as an inverse. +SNOW_CONDUCTIVITY = 0.31 ! [W m-1 K-1] default = 0.31 + ! The conductivity of heat in snow. +ICE_CONDUCTIVITY = 2.03 ! [W m-1 K-1] default = 2.03 + ! The conductivity of heat in ice. +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_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. +OLD_ICE_HEAT_CAPACITY = False ! [Boolean] default = False + ! If true, use an older linearization of the sea ice heat + ! capacity for temperatures above the freezing point in the + ! calculation of the initial ice temperature estimate. +ICE_DELTA_EDD_R_ICE = 0.0 ! [perhaps 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 ! [perhaps 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 ! [perhaps 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 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. + +! === module SIS_fast_thermo === +! This module applies rapidly varying heat fluxes to the ice and does an implicit surface temperature calculation. + +! === module SIS_slow_thermo === +! This module calculates the slow evolution of the ice mass, heat, and salt budgets. +ICE_BULK_SALINITY = 5.0 ! [g/kg] default = 4.0 + ! The fixed bulk salinity of sea ice. +ICE_RELATIVE_SALINITY = 0.0 ! [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 = False + ! 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 = 8.64E+04 ! [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. + +! === module SIS_slow === +! This module updates the ice momentum and does ice transport. +DT_ICE_DYNAMICS = 3600.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. +TIMEUNIT = 8.64E+04 ! [s] default = 8.64E+04 + ! The time unit for ICE_STATS_INTERVAL. +ICE_STATS_INTERVAL = 1.0 ! [days] default = 1.0 + ! The interval in units of TIMEUNIT between writes of the + ! globally summed ice statistics and conservation checks. +VERBOSE = False ! [Boolean] default = False + ! If true, write out verbose diagnostics. +DT_RHEOLOGY = 100.0 ! [seconds] default = -1.0 + ! The sub-cycling time step for iterating the rheology + ! and ice momentum equations. If DT_RHEOLOGY is negative, + ! the time step is set via NSTEPS_DYN. +ICE_TDAMP_ELASTIC = 0.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 an 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. +DEBUG_REDUNDANT = False ! [Boolean] default = False + ! If true, debug redundant data points. +U_TRUNC_FILE = "" ! default = "" + ! The absolute path to the file where the accelerations + ! leading to zonal velocity truncations are written. + ! Leave this empty for efficiency if this diagnostic is + ! not needed. +V_TRUNC_FILE = "" ! default = "" + ! The absolute path to the file where the accelerations + ! leading to meridional velocity truncations are written. + ! Leave this empty for efficiency if this diagnostic is + ! not needed. +MAX_TRUNC_FILE_SIZE_PER_PE = 50 ! default = 50 + ! The maximum number of colums of truncations that any PE + ! will write out during a run. +NSTEPS_ADV = 1 ! default = 1 + ! The number of advective iterations for each slow time + ! step. +ICE_CHANNEL_VISCOSITY = 0.0 ! [m2 s-1] default = 0.0 + ! A viscosity used in one-cell wide channels to + ! parameterize transport, especially with B-grid sea ice + ! coupled to a C-grid ocean model. +ICE_CHANNEL_SMAG_COEF = 0.15 ! [Nondim] default = 0.15 + ! A Smagorinsky coefficient for viscosity in channels. +ICE_CHANNEL_CFL_LIMIT = 0.25 ! [Nondim] default = 0.25 + ! The CFL limit that is applied to the parameterized + ! viscous transport in single-point channels. +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. +CHECK_ICE_TRANSPORT_CONSERVATION = False ! [Boolean] default = False + ! If true, use add multiple diagnostics of ice and snow + ! mass conservation in the sea-ice transport code. This + ! is expensive and should be used sparingly. +SIS_THICKNESS_ADVECTION_SCHEME = "UPWIND_2D" ! default = "UPWIND_2D" + ! The horizontal transport scheme for thickness: + ! UPWIND_2D - Non-directionally split upwind + ! PCM - Directionally split peicewise constant + ! PLM - Piecewise Linear Method + ! PPM:H3 - Piecewise Parabolic Method (Huyhn 3rd order) +SIS_CONTINUITY_SCHEME = "UPWIND_2D" ! default = "UPWIND_2D" + ! The horizontal transport scheme used in continuity: + ! UPWIND_2D - Non-directionally split upwind + ! PCM - Directionally split peicewise 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" + ! The horizontal transport scheme for tracers: + ! UPWIND_2D - Non-directionally split upwind + ! PCM - Directionally split peicewise constant + ! PLM - Piecewise Linear Method + ! PPM:H3 - Piecewise Parabolic Method (Huyhn 3rd order) + +! === 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 MOM_file_parser === +SEND_LOG_TO_STDOUT = False ! [Boolean] default = False + ! If true, all log messages are also sent to stdout. +REPORT_UNUSED_PARAMS = False ! [Boolean] default = False + ! If true, report any parameter lines that are not used + ! in the run. +FATAL_UNUSED_PARAMS = False ! [Boolean] default = False + ! If true, kill the run if there are any unused + ! parameters. +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 . diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/SIS_parameter_doc.layout b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/SIS_parameter_doc.layout new file mode 100644 index 0000000000..5661810e3c --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/SIS_parameter_doc.layout @@ -0,0 +1,61 @@ +! This file was written by the model and records the layout parameters used at run-time. +GLOBAL_INDEXING = False ! [Boolean] default = False + ! If true, use a global lateral indexing convention, so + ! that corresponding points on different processors have + ! the same index. This does not work with static memory. +!SYMMETRIC_MEMORY_ = False ! [Boolean] + ! If defined, the velocity point data domain includes + ! every face of the thickness points. In other words, + ! some arrays are larger than others, depending on where + ! they are on the staggered grid. Also, the starting + ! index of the velocity-point arrays is usually 0, not 1. + ! This can only be set at compile time. +NONBLOCKING_UPDATES = False ! [Boolean] default = False + ! If true, non-blocking halo updates may be used. +!STATIC_MEMORY_ = False ! [Boolean] + ! If STATIC_MEMORY_ is defined, the principle variables + ! will have sizes that are statically determined at + ! compile time. Otherwise the sizes are not determined + ! until run time. The STATIC option is substantially + ! faster, but does not allow the PE count to be changed + ! at run time. This can only be set 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. +MASKTABLE = "MOM_mask_table" ! default = "MOM_mask_table" + ! A text file to specify n_mask, layout and mask_list. + ! This feature masks out processors that contain only land points. + ! The first line of mask_table is the number of regions to be masked out. + ! The second line is the layout of the model and must be + ! consistent with the actual model layout. + ! The following (n_mask) lines give the logical positions + ! of the processors that are masked out. The mask_table + ! can be created by tools like check_mask. The + ! following example of mask_table masks out 2 processors, + ! (1,2) and (3,6), out of the 24 in a 4x6 layout: + ! 2 + ! 4,6 + ! 1,2 + ! 3,6 +NIPROC = 1 ! + ! The number of processors in the x-direction. With + ! STATIC_MEMORY_ this is set in SIS2_memory.h at compile time. +NJPROC = 1 ! + ! The number of processors in the x-direction. With + ! STATIC_MEMORY_ this is set in SIS2_memory.h at compile time. +LAYOUT = 1, 1 ! + ! The processor layout that was acutally used. +IO_LAYOUT = 1, 1 ! default = 0 + ! The processor layout to be used, or 0,0 to automatically + ! set the io_layout to be the same as the layout. +NIBLOCK = 1 ! default = 1 + ! The number of blocks in the x-direction on each processor (for openmp). +NJBLOCK = 1 ! default = 1 + ! The number of blocks in the y-direction on each processor (for openmp). diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/SIS_parameter_doc.short b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/SIS_parameter_doc.short new file mode 100644 index 0000000000..ca8832db26 --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/SIS_parameter_doc.short @@ -0,0 +1,101 @@ +! This file was written by the model and records the non-default parameters used at run-time. + +! === 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. +ADD_DIURNAL_SW = True ! [Boolean] default = False + ! If true, add a synthetic diurnal cycle to the shortwave + ! radiation. + +! === module MOM_domains === +REENTRANT_X = False ! [Boolean] default = True + ! If true, the domain is zonally reentrant. +NIGLOBAL = 23 ! + ! The total number of thickness grid points in the + ! x-direction in the physical domain. With STATIC_MEMORY_ + ! this is set in SIS2_memory.h at compile time. +NJGLOBAL = 14 ! + ! 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. + +! === module MOM_hor_index === +! Sets the horizontal array index types. + +! === module SIS_initialize_fixed === +INPUTDIR = "INPUT" ! default = "." + ! The directory in which input files are found. + +! === module MOM_grid_init === +GRID_CONFIG = "mosaic" ! + ! A character string that determines the method for + ! defining the horizontal grid. Current options are: + ! mosaic - read the grid from a mosaic (supergrid) + ! file set by GRID_FILE. + ! cartesian - use a (flat) Cartesian grid. + ! spherical - use a simple spherical grid. + ! mercator - use a Mercator spherical grid. +GRID_FILE = "ocean_hgrid.nc" ! + ! Name of the file from which to read horizontal grid data. +!MAXIMUM_DEPTH = 608.4598627866924 ! [m] + ! The (diagnosed) maximum depth of the ocean. + +! === module hor_grid === +! Parameters providing information about the lateral grid. + +! === module MOM_hor_index === +! Sets the horizontal array index types. + +! === module SIS_tracer_registry === + +! === module SIS_tracer_flow_control === + +! === module SIS_fast_thermo === +! This module applies rapidly varying heat fluxes to the ice and does an implicit surface temperature calculation. + +! === module SIS_slow_thermo === +! This module calculates the slow evolution of the ice mass, heat, and salt budgets. +ICE_BULK_SALINITY = 5.0 ! [g/kg] default = 4.0 + ! The fixed bulk salinity of sea ice. +SIS2_FILLING_FRAZIL = True ! [Boolean] default = False + ! 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 = 8.64E+04 ! [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. + +! === module SIS_slow === +! This module updates the ice momentum and does ice transport. +DT_ICE_DYNAMICS = 3600.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. +DT_RHEOLOGY = 100.0 ! [seconds] default = -1.0 + ! The sub-cycling time step for iterating the rheology + ! and ice momentum equations. If DT_RHEOLOGY is negative, + ! the time step is set via NSTEPS_DYN. +ICE_TDAMP_ELASTIC = 0.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). + +! === module SIS_tracer_advect === +SIS_TRACER_ADVECTION_SCHEME = "PPM:H3" ! default = "UPWIND_2D" + ! The horizontal transport scheme for tracers: + ! UPWIND_2D - Non-directionally split upwind + ! PCM - Directionally split peicewise constant + ! PLM - Piecewise Linear Method + ! PPM:H3 - Piecewise Parabolic Method (Huyhn 3rd order) + +! === module SIS_sum_output === + +! === 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/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/data_table b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/data_table new file mode 100644 index 0000000000..5fc61c3e4a --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/data_table @@ -0,0 +1,49 @@ +"ATM", "cfc_11_flux_pcair_atm","CFC_11","INPUT/cfc.bc.nc",.false., 1.0e-12 +"ATM", "cfc_12_flux_pcair_atm","CFC_12","INPUT/cfc.bc.nc",.false., 1.0e-12 +"ATM" , "p_surf" , "SLP" , "./INPUT/slp.clim.nc" , .false. , 1.0 +"ATM" , "p_bot" , "SLP" , "./INPUT/slp.clim.nc" , .false. , 1.0 +"ATM" , "t_bot" , "T_10_MOD" , "./INPUT/t_10_mod.clim.nc" , .false. , 1.0 +"ATM" , "sphum_bot" , "Q_10_MOD" , "./INPUT/q_10_mod.clim.nc" , .false. , 1.0 +"ATM" , "u_bot" , "U_10_MOD" , "./INPUT/u_10_mod.clim.nc" , .false. , 1.0 +"ATM" , "v_bot" , "V_10_MOD" , "./INPUT/v_10_mod.clim.nc" , .false. , 1.0 +"ATM" , "z_bot" , "" , "" , .false. , 10.0 +"ATM" , "gust" , "" , "" , .false. , 0.0 +"ICE" , "lw_flux_dn" , "LWDN_MOD" , "./INPUT/ncar_rad_clim.nc" , .false. , 1.0 +"ICE" , "sw_flux_vis_dir_dn", "SWDN_MOD", "./INPUT/ncar_rad_clim.nc", .false. , 0.285 +"ICE" , "sw_flux_vis_dif_dn", "SWDN_MOD", "./INPUT/ncar_rad_clim.nc", .false. , 0.285 +"ICE" , "sw_flux_nir_dir_dn", "SWDN_MOD", "./INPUT/ncar_rad_clim.nc", .false. , 0.215 +"ICE" , "sw_flux_nir_dif_dn", "SWDN_MOD", "./INPUT/ncar_rad_clim.nc", .false. , 0.215 +"ICE" , "lprec" , "RAIN" , "./INPUT/ncar_precip_clim.nc" , .false. , 0.9933 +"ICE" , "fprec" , "SNOW" , "./INPUT/ncar_precip_clim.nc" , .false. , 0.9933 +"ICE" , "runoff" , "runoff" , "./INPUT/runoff.nc" , .false. , 0.0 +"ICE" , "calving" , "" , "" , .true. , 0.0 +"ICE" , "dhdt" , "" , "" , .true. , 80.0 +"ICE" , "dedt" , "" , "" , .true. , 2.0e-6 +"ICE" , "drdt" , "" , "" , .true. , 10.0 +"ICE", "sic_obs" , "SIC" ,"./INPUT/sst_ice_clim.nc" , .false. , 0.00 +"ICE", "sit_obs" , "SIT" ,"./INPUT/sst_ice_clim.nc" , .false. , 0.00 +"ICE", "sst_obs" , "SST" ,"./INPUT/sst_ice_clim.nc" , .false. , 1.0 +"LND" , "t_surf" , "" , "" , .true. , 273.0 +"LND" , "t_ca" , "" , "" , .true. , 273.0 +"LND" , "q_ca" , "" , "" , .true. , 0.0 +"LND" , "rough_mom" , "" , "" , .true. , 0.01 +"LND" , "rough_heat" , "" , "" , .true. , 0.1 +"LND" , "albedo" , "" , "" , .true. , 0.1 +"LND" , "t_ca" , "" , "" , .true. , 273.0 +"LND" , "t_surf" , "" , "" , .true. , 273.0 +"LND" , "sphum_surf" , "" , "" , .true. , 0.0 +"LND" , "sphum_ca" , "" , "" , .true. , 0.0 +"LND" , "t_flux" , "" , "" , .true. , 0.0 +"LND" , "sphum_flux" , "" , "" , .true. , 0.0 +"LND" , "lw_flux" , "" , "" , .true. , 0.0 +"LND" , "sw_flux" , "" , "" , .true. , 0.0 +"LND" , "lprec" , "" , "" , .true. , 0.0 +"LND" , "fprec" , "" , "" , .true. , 0.0 +"LND" , "dhdt" , "" , "" , .true. , 5.0 +"LND" , "dedt" , "" , "" , .true. , 2e-6 +"LND" , "dedq" , "" , "" , .true. , 0.0 +"LND" , "drdt" , "" , "" , .true. , 5.0 +"LND" , "drag_q" , "" , "" , .true. , 0.0 +"LND" , "p_surf" , "" , "" , .true. , 1.e5 + + diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/diag_table b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/diag_table new file mode 100644 index 0000000000..9a642599c5 --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/diag_table @@ -0,0 +1,71 @@ +GOLD_SIS +1 1 1 0 0 0 +#output files + +"off_snap_1day", 1, "days", 1, "days", "time" +"off_sum_1day", 1, "days", 1, "days", "time" +"off_snap_2day", 2, "days", 1, "days", "time" +"off_sum_2day", 2, "days", 1, "days", "time" +"off_snap_5day", 5, "days", 1, "days", "time" +"off_sum_5day", 5, "days", 1, "days", "time" +"off_snap_10day", 10, "days", 1, "days", "time" +"off_sum_10day", 10, "days", 1, "days", "time" + +# One day resolution +"ocean_model","ea","ea_sum","off_sum_1day","all",sum,"none",1 +"ocean_model","eb","eb_sum","off_sum_1day","all",sum,"none",1 +"ocean_model","uhtr","uhtr","off_sum_1day","all",sum,"none",1 +"ocean_model","vhtr","vhtr","off_sum_1day","all",sum,"none",1 +"ocean_model","KHDT_x","khdt_x","off_sum_1day","all",sum,"none",1 +"ocean_model","KHDT_y","khdt_y","off_sum_1day","all",sum,"none",1 +"ocean_model","massout_flux","massout_flux","off_sum_1day","all",sum,"none",1 +"ocean_model","massin_flux","massin_flux","off_sum_1day","all",sum,"none",1 + +"ocean_model","h","h_end","off_snap_1day","all",.false.,"none",1 +"ocean_model","temp","temp","off_snap_1day","all",.false.,"none",1 +"ocean_model","salt","salt","off_snap_1day","all",.false.,"none",1 + +# Two day resolution +"ocean_model","ea","ea_sum","off_sum_2day","all",sum,"none",1 +"ocean_model","eb","eb_sum","off_sum_2day","all",sum,"none",1 +"ocean_model","uhtr","uhtr","off_sum_2day","all",sum,"none",1 +"ocean_model","vhtr","vhtr","off_sum_2day","all",sum,"none",1 +"ocean_model","KHDT_x","khdt_x","off_sum_2day","all",sum,"none",1 +"ocean_model","KHDT_y","khdt_y","off_sum_2day","all",sum,"none",1 +"ocean_model","massout_flux","massout_flux","off_sum_2day","all",sum,"none",1 +"ocean_model","massin_flux","massin_flux","off_sum_2day","all",sum,"none",1 + + +"ocean_model","h","h_end","off_snap_2day","all",.false.,"none",1 +"ocean_model","temp","temp","off_snap_2day","all",.false.,"none",1 +"ocean_model","salt","salt","off_snap_2day","all",.false.,"none",1 + +# 5 Day resolution +"ocean_model","ea","ea_sum","off_sum_5day","all",sum,"none",1 +"ocean_model","eb","eb_sum","off_sum_5day","all",sum,"none",1 +"ocean_model","uhtr","uhtr","off_sum_5day","all",sum,"none",1 +"ocean_model","vhtr","vhtr","off_sum_5day","all",sum,"none",1 +"ocean_model","KHDT_x","khdt_x","off_sum_5day","all",sum,"none",1 +"ocean_model","KHDT_y","khdt_y","off_sum_5day","all",sum,"none",1 +"ocean_model","massout_flux","massout_flux","off_sum_5day","all",sum,"none",1 +"ocean_model","massin_flux","massin_flux","off_sum_5day","all",sum,"none",1 + + +"ocean_model","h","h_end","off_snap_5day","all",.false.,"none",1 +"ocean_model","temp","temp","off_snap_5day","all",.false.,"none",1 +"ocean_model","salt","salt","off_snap_5day","all",.false.,"none",1 + +# 10 day resolution +"ocean_model","ea","ea_sum","off_sum_10day","all",sum,"none",1 +"ocean_model","eb","eb_sum","off_sum_10day","all",sum,"none",1 +"ocean_model","uhtr","uhtr","off_sum_10day","all",sum,"none",1 +"ocean_model","vhtr","vhtr","off_sum_10day","all",sum,"none",1 +"ocean_model","KHDT_x","khdt_x","off_sum_10day","all",sum,"none",1 +"ocean_model","KHDT_y","khdt_y","off_sum_10day","all",sum,"none",1 +"ocean_model","massout_flux","massout_flux","off_sum_10day","all",sum,"none",1 +"ocean_model","massin_flux","massin_flux","off_sum_10day","all",sum,"none",1 + + +"ocean_model","h","h_end","off_snap_10day","all",.false.,"none",1 +"ocean_model","temp","temp","off_snap_10day","all",.false.,"none",1 +"ocean_model","salt","salt","off_snap_10day","all",.false.,"none",1 diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/diag_table_offline b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/diag_table_offline new file mode 100644 index 0000000000..0cb3ac6801 --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/diag_table_offline @@ -0,0 +1,12 @@ +GOLD_SIS +1 1 1 0 0 0 +#output files +# +"off_snap", 1, "days", 1, "days", "time" + +"ocean_model","uhr","uhr","off_snap","all",.false.,"none",1 +"ocean_model","vhr","vhr","off_snap","all",.false.,"none",1 +"ocean_model","eta_diff","eta_diff","off_snap","all",.false.,"none",1 +"ocean_model","tr1","tr1","off_snap","all",.false.,"none",1 +"ocean_model","age","age","off_snap","all",.false.,"none",1 + diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/diag_table_online b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/diag_table_online new file mode 100644 index 0000000000..4bfe764232 --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/diag_table_online @@ -0,0 +1,20 @@ +GOLD_SIS +1 1 1 0 0 0 +#output files + +"off_snap_1day", 1, "days", 1, "days", "time" +"off_sum_1day", 1, "days", 1, "days", "time" + +# One day resolution +"ocean_model","ea","ea_sum","off_sum_1day","all",sum,"none",1 +"ocean_model","eb","eb_sum","off_sum_1day","all",sum,"none",1 +"ocean_model","uhtr","uhtr","off_sum_1day","all",sum,"none",1 +"ocean_model","vhtr","vhtr","off_sum_1day","all",sum,"none",1 +"ocean_model","KHDT_x","khdt_x","off_sum_1day","all",sum,"none",1 +"ocean_model","KHDT_y","khdt_y","off_sum_1day","all",sum,"none",1 +"ocean_model","massout_flux","massout_flux","off_sum_1day","all",sum,"none",1 +"ocean_model","massin_flux","massin_flux","off_sum_1day","all",sum,"none",1 + +"ocean_model","h","h_end","off_snap_1day","all",.false.,"none",1 +"ocean_model","temp","temp","off_snap_1day","all",.false.,"none",1 +"ocean_model","salt","salt","off_snap_1day","all",.false.,"none",1 diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/field_table b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/field_table new file mode 100644 index 0000000000..dbd7e2e1c6 --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/field_table @@ -0,0 +1,23 @@ + "TRACER", "atmos_mod", "sphum" + "longname", "specific humidity" + "units", "kg/kg" / + +# prognotic cloud scheme tracers + "TRACER", "atmos_mod", "liq_wat" + "longname", "cloud liquid specific humidity" + "units", "kg/kg" / + "TRACER", "atmos_mod", "ice_wat" + "longname", "cloud ice water specific humidity" + "units", "kg/kg" / + "TRACER", "atmos_mod", "cld_amt" + "longname", "cloud fraction" + "units", "none" / + +# test tracer for radon + +# "TRACER", "atmos_mod", "radon" +# "longname", "radon test tracer" +# "units", "kg/kg" / + + "TRACER", "land_mod", "sphum"/ + diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/input.nml b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/input.nml new file mode 100644 index 0000000000..73b5450d5b --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/input.nml @@ -0,0 +1,75 @@ + &MOM_input_nml + output_directory = './', + input_filename = 'n' + restart_input_dir = 'INPUT/', + restart_output_dir = 'RESTART/', + parameter_filename = 'MOM_input', + 'MOM_override' / + + &SIS_input_nml + output_directory = './', + input_filename = 'n' + restart_input_dir = 'INPUT/', + restart_output_dir = 'RESTART/', + parameter_filename = 'SIS_input', + 'SIS_override' / + + &diag_manager_nml + max_output_fields=1000 + max_input_fields=1000 + max_num_axis_sets=1000 + max_files=1000 + max_axes=2000 + / + + &coupler_nml + months = 0, + days = 5, + current_date = 1,1,1,0,0,0, + hours = 0 + minutes = 0 + seconds = 0 + calendar = 'NOLEAP', + dt_cpld = 3600, + dt_atmos = 3600, + do_atmos = .false., + do_land = .false., + do_ice = .true., + do_ocean = .true., + atmos_npes = 0, + ocean_npes = 0, + concurrent = .false. + use_lag_fluxes=.true. / + + &data_override_nml + / + + &fms_io_nml + fms_netcdf_restart=.true. + threading_read='multi' + / + + &fms_nml + clock_grain='MODULE' + domains_stack_size = 2000000 + clock_flags='SYNC' / + + &ice_albedo_nml + t_range = 10. / + + &ice_model_nml + / + + &monin_obukhov_nml + neutral = .true. / + + &ocean_albedo_nml + ocean_albedo_option = 5 / + + &sat_vapor_pres_nml + construct_table_wrt_liq = .true., + construct_table_wrt_liq_and_ice = .true. / + + &xgrid_nml + make_exchange_reproduce = .false. + interp_method = 'second_order' / diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/input.offline.nml b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/input.offline.nml new file mode 100644 index 0000000000..79454d8b77 --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/input.offline.nml @@ -0,0 +1,38 @@ + &MOM_input_nml + output_directory = './', + input_filename = 'n' + restart_input_dir = 'INPUT/', + restart_output_dir = 'RESTART/', + parameter_filename = 'MOM_input', + 'MOM_override' / + + &diag_manager_nml + max_output_fields=1000 + max_input_fields=1000 + max_num_axis_sets=1000 + max_files=1000 + max_axes=2000 + / + + + &data_override_nml + / + + &fms_io_nml + fms_netcdf_restart=.true. + threading_read='multi' + / + + &fms_nml + clock_grain='MODULE' + domains_stack_size = 2000000 + clock_flags='SYNC' / + + &ocean_solo_nml + months = 0 + days = 5 + date_init = 1,1,1,0,0,0 + hours = 0 + minutes = 0 + seconds = 0 + calendar = 'julian' / diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/input.online.nml b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/input.online.nml new file mode 100644 index 0000000000..73b5450d5b --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/input.online.nml @@ -0,0 +1,75 @@ + &MOM_input_nml + output_directory = './', + input_filename = 'n' + restart_input_dir = 'INPUT/', + restart_output_dir = 'RESTART/', + parameter_filename = 'MOM_input', + 'MOM_override' / + + &SIS_input_nml + output_directory = './', + input_filename = 'n' + restart_input_dir = 'INPUT/', + restart_output_dir = 'RESTART/', + parameter_filename = 'SIS_input', + 'SIS_override' / + + &diag_manager_nml + max_output_fields=1000 + max_input_fields=1000 + max_num_axis_sets=1000 + max_files=1000 + max_axes=2000 + / + + &coupler_nml + months = 0, + days = 5, + current_date = 1,1,1,0,0,0, + hours = 0 + minutes = 0 + seconds = 0 + calendar = 'NOLEAP', + dt_cpld = 3600, + dt_atmos = 3600, + do_atmos = .false., + do_land = .false., + do_ice = .true., + do_ocean = .true., + atmos_npes = 0, + ocean_npes = 0, + concurrent = .false. + use_lag_fluxes=.true. / + + &data_override_nml + / + + &fms_io_nml + fms_netcdf_restart=.true. + threading_read='multi' + / + + &fms_nml + clock_grain='MODULE' + domains_stack_size = 2000000 + clock_flags='SYNC' / + + &ice_albedo_nml + t_range = 10. / + + &ice_model_nml + / + + &monin_obukhov_nml + neutral = .true. / + + &ocean_albedo_nml + ocean_albedo_option = 5 / + + &sat_vapor_pres_nml + construct_table_wrt_liq = .true., + construct_table_wrt_liq_and_ice = .true. / + + &xgrid_nml + make_exchange_reproduce = .false. + interp_method = 'second_order' / diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/run_offline.sh b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/run_offline.sh new file mode 100644 index 0000000000..e3b4a63bd6 --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/run_offline.sh @@ -0,0 +1,8 @@ +# Copy over the input files for the offline run +cp diag_table_offline diag_table +cp input.offline.nml input.nml +cp MOM_override_offline MOM_override + + +# Run the forward model +./MOM6_ocean_only diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/run_online.sh b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/run_online.sh new file mode 100644 index 0000000000..a241bd5e39 --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/run_online.sh @@ -0,0 +1,12 @@ +# Copy over the input files for the forward run +cp diag_table_online diag_table +cp input.online.nml input.nml +cp MOM_override_online MOM_override + +# Run the forward model +./MOM6_coupled + +# Make the directory where online fields will be stored and copy diagnostics +mkdir ONLINE +mv *off_snap* ONLINE/ +mv *off_sum* ONLINE/ diff --git a/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/static_input.nml b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/static_input.nml new file mode 100644 index 0000000000..565ece0a87 --- /dev/null +++ b/ice_ocean_SIS2/Baltic_ALE_z_offline_tracers/static_input.nml @@ -0,0 +1,30 @@ + + &fms_io_nml + fms_netcdf_restart=.true. + threading_read='multi' / + + &fms_nml + clock_grain='MODULE' + domains_stack_size = 2000000 + clock_flags='SYNC' / + + &ice_albedo_nml + t_range = 10. / + + &ice_model_nml + / + + &monin_obukhov_nml + neutral = .true. / + + &ocean_albedo_nml + ocean_albedo_option = 5 / + + &sat_vapor_pres_nml + construct_table_wrt_liq = .true., + construct_table_wrt_liq_and_ice = .true. / + + &xgrid_nml + make_exchange_reproduce = .false. + interp_method = 'second_order' / +