From fa8a74473911375b3599a6bd0336843b7804c032 Mon Sep 17 00:00:00 2001 From: yuchengt900 Date: Wed, 13 Nov 2024 22:01:05 -0500 Subject: [PATCH] Added OM4p25 COBALTv3 example --- exps/OM4p25.COBALT/COBALT_parameter_doc.all | 665 +++++ .../COBALT_parameter_doc.debugging | 3 + .../OM4p25.COBALT/COBALT_parameter_doc.layout | 1 + exps/OM4p25.COBALT/COBALT_parameter_doc.short | 13 + exps/OM4p25.COBALT/INPUT/All_edits.nc | 1 + exps/OM4p25.COBALT/INPUT/COBALT_input | 5 + exps/OM4p25.COBALT/INPUT/COBALT_override | 5 + .../GLODAPv2.2016b.oi-filled.20180322.nc | 1 + exps/OM4p25.COBALT/INPUT/JRA_huss.nc | 1 + exps/OM4p25.COBALT/INPUT/JRA_prra.nc | 1 + exps/OM4p25.COBALT/INPUT/JRA_prsn.nc | 1 + exps/OM4p25.COBALT/INPUT/JRA_psl.nc | 1 + exps/OM4p25.COBALT/INPUT/JRA_rlds.nc | 1 + exps/OM4p25.COBALT/INPUT/JRA_rsds.nc | 1 + exps/OM4p25.COBALT/INPUT/JRA_tas.nc | 1 + exps/OM4p25.COBALT/INPUT/JRA_uas.nc | 1 + exps/OM4p25.COBALT/INPUT/JRA_vas.nc | 1 + exps/OM4p25.COBALT/INPUT/MOM_GENERICS.res.nc | 1 + .../INPUT/MOM_channels_global_025 | 9 + exps/OM4p25.COBALT/INPUT/MOM_input | 809 ++++++ exps/OM4p25.COBALT/INPUT/MOM_override | 20 + exps/OM4p25.COBALT/INPUT/MOM_saltrestore | 26 + exps/OM4p25.COBALT/INPUT/Mineral_Flux_AM4.nc | 1 + exps/OM4p25.COBALT/INPUT/SIS_input | 173 ++ exps/OM4p25.COBALT/INPUT/SIS_override | 5 + .../INPUT/Soluble_Fe_Flux_AM4.nc | 1 + .../INPUT/analysis_vgrid_lev35.v1.nc | 1 + .../atmos_mosaic_tile1Xland_mosaic_tile1.nc | 1 + .../atmos_mosaic_tile1Xocean_mosaic_tile1.nc | 1 + .../INPUT/basin_codes.v20140629.nc | 1 + .../INPUT/esm4_drynh4_climo_1993-2014.nc | 1 + .../INPUT/esm4_drynoy_climo_1993-2014.nc | 1 + .../INPUT/esm4_wetnh4_climo_1993-2014.nc | 1 + .../INPUT/esm4_wetnoy_climo_1993-2014.nc | 1 + .../INPUT/geothermal_davies2013_v1.nc | 1 + exps/OM4p25.COBALT/INPUT/grid_spec.nc | 1 + exps/OM4p25.COBALT/INPUT/hycom1_75_800m.nc | 1 + .../INPUT/init_ocean_cobalt.res.nc | 1 + .../INPUT/init_ocean_cobalt_nh3.res.nc | 1 + exps/OM4p25.COBALT/INPUT/land_mask.nc | 1 + .../land_mosaic_tile1Xocean_mosaic_tile1.nc | 1 + exps/OM4p25.COBALT/INPUT/layer_coord.nc | 1 + .../mole_fraction_of_co2_extended_ssp245.nc | 1 + exps/OM4p25.COBALT/INPUT/news_nutrients.nc | 1 + exps/OM4p25.COBALT/INPUT/ocean_hgrid.nc | 1 + exps/OM4p25.COBALT/INPUT/ocean_mask.nc | 1 + exps/OM4p25.COBALT/INPUT/ocean_mosaic.nc | 1 + exps/OM4p25.COBALT/INPUT/ocean_topog.nc | 1 + ...runoff.daitren.clim.1440x1080.v20180328.nc | 1 + .../salt_restore_JRA.1440x1080.v20190706.nc | 1 + .../INPUT/tidal_amplitude.v20140616.nc | 1 + exps/OM4p25.COBALT/INPUT/topog.nc | 1 + exps/OM4p25.COBALT/INPUT/vgrid_75_2m.nc | 1 + exps/OM4p25.COBALT/INPUT/woa18_all_i00_01.nc | 1 + exps/OM4p25.COBALT/INPUT/woa18_all_n00_01.nc | 1 + exps/OM4p25.COBALT/INPUT/woa18_all_o00_01.nc | 1 + exps/OM4p25.COBALT/INPUT/woa18_all_p00_01.nc | 1 + .../woa18_decav_ptemp_monthly_fulldepth_01.nc | 1 + .../woa18_decav_s_monthly_fulldepth_01.nc | 1 + exps/OM4p25.COBALT/MOM_parameter_doc.all | 2588 +++++++++++++++++ .../OM4p25.COBALT/MOM_parameter_doc.debugging | 96 + exps/OM4p25.COBALT/MOM_parameter_doc.layout | 69 + exps/OM4p25.COBALT/MOM_parameter_doc.short | 761 +++++ exps/OM4p25.COBALT/SIS_parameter_doc.all | 562 ++++ .../OM4p25.COBALT/SIS_parameter_doc.debugging | 66 + exps/OM4p25.COBALT/SIS_parameter_doc.layout | 53 + exps/OM4p25.COBALT/SIS_parameter_doc.short | 142 + exps/OM4p25.COBALT/data_table | 74 + exps/OM4p25.COBALT/diag_table | 700 +++++ exps/OM4p25.COBALT/driver.sh | 22 + exps/OM4p25.COBALT/field_table | 744 +++++ exps/OM4p25.COBALT/input.nml | 146 + exps/README.md | 12 + 73 files changed, 7816 insertions(+) create mode 100644 exps/OM4p25.COBALT/COBALT_parameter_doc.all create mode 100644 exps/OM4p25.COBALT/COBALT_parameter_doc.debugging create mode 100644 exps/OM4p25.COBALT/COBALT_parameter_doc.layout create mode 100644 exps/OM4p25.COBALT/COBALT_parameter_doc.short create mode 120000 exps/OM4p25.COBALT/INPUT/All_edits.nc create mode 100644 exps/OM4p25.COBALT/INPUT/COBALT_input create mode 100644 exps/OM4p25.COBALT/INPUT/COBALT_override create mode 120000 exps/OM4p25.COBALT/INPUT/GLODAPv2.2016b.oi-filled.20180322.nc create mode 120000 exps/OM4p25.COBALT/INPUT/JRA_huss.nc create mode 120000 exps/OM4p25.COBALT/INPUT/JRA_prra.nc create mode 120000 exps/OM4p25.COBALT/INPUT/JRA_prsn.nc create mode 120000 exps/OM4p25.COBALT/INPUT/JRA_psl.nc create mode 120000 exps/OM4p25.COBALT/INPUT/JRA_rlds.nc create mode 120000 exps/OM4p25.COBALT/INPUT/JRA_rsds.nc create mode 120000 exps/OM4p25.COBALT/INPUT/JRA_tas.nc create mode 120000 exps/OM4p25.COBALT/INPUT/JRA_uas.nc create mode 120000 exps/OM4p25.COBALT/INPUT/JRA_vas.nc create mode 120000 exps/OM4p25.COBALT/INPUT/MOM_GENERICS.res.nc create mode 100644 exps/OM4p25.COBALT/INPUT/MOM_channels_global_025 create mode 100644 exps/OM4p25.COBALT/INPUT/MOM_input create mode 100644 exps/OM4p25.COBALT/INPUT/MOM_override create mode 100644 exps/OM4p25.COBALT/INPUT/MOM_saltrestore create mode 120000 exps/OM4p25.COBALT/INPUT/Mineral_Flux_AM4.nc create mode 100644 exps/OM4p25.COBALT/INPUT/SIS_input create mode 100644 exps/OM4p25.COBALT/INPUT/SIS_override create mode 120000 exps/OM4p25.COBALT/INPUT/Soluble_Fe_Flux_AM4.nc create mode 120000 exps/OM4p25.COBALT/INPUT/analysis_vgrid_lev35.v1.nc create mode 120000 exps/OM4p25.COBALT/INPUT/atmos_mosaic_tile1Xland_mosaic_tile1.nc create mode 120000 exps/OM4p25.COBALT/INPUT/atmos_mosaic_tile1Xocean_mosaic_tile1.nc create mode 120000 exps/OM4p25.COBALT/INPUT/basin_codes.v20140629.nc create mode 120000 exps/OM4p25.COBALT/INPUT/esm4_drynh4_climo_1993-2014.nc create mode 120000 exps/OM4p25.COBALT/INPUT/esm4_drynoy_climo_1993-2014.nc create mode 120000 exps/OM4p25.COBALT/INPUT/esm4_wetnh4_climo_1993-2014.nc create mode 120000 exps/OM4p25.COBALT/INPUT/esm4_wetnoy_climo_1993-2014.nc create mode 120000 exps/OM4p25.COBALT/INPUT/geothermal_davies2013_v1.nc create mode 120000 exps/OM4p25.COBALT/INPUT/grid_spec.nc create mode 120000 exps/OM4p25.COBALT/INPUT/hycom1_75_800m.nc create mode 120000 exps/OM4p25.COBALT/INPUT/init_ocean_cobalt.res.nc create mode 120000 exps/OM4p25.COBALT/INPUT/init_ocean_cobalt_nh3.res.nc create mode 120000 exps/OM4p25.COBALT/INPUT/land_mask.nc create mode 120000 exps/OM4p25.COBALT/INPUT/land_mosaic_tile1Xocean_mosaic_tile1.nc create mode 120000 exps/OM4p25.COBALT/INPUT/layer_coord.nc create mode 120000 exps/OM4p25.COBALT/INPUT/mole_fraction_of_co2_extended_ssp245.nc create mode 120000 exps/OM4p25.COBALT/INPUT/news_nutrients.nc create mode 120000 exps/OM4p25.COBALT/INPUT/ocean_hgrid.nc create mode 120000 exps/OM4p25.COBALT/INPUT/ocean_mask.nc create mode 120000 exps/OM4p25.COBALT/INPUT/ocean_mosaic.nc create mode 120000 exps/OM4p25.COBALT/INPUT/ocean_topog.nc create mode 120000 exps/OM4p25.COBALT/INPUT/runoff.daitren.clim.1440x1080.v20180328.nc create mode 120000 exps/OM4p25.COBALT/INPUT/salt_restore_JRA.1440x1080.v20190706.nc create mode 120000 exps/OM4p25.COBALT/INPUT/tidal_amplitude.v20140616.nc create mode 120000 exps/OM4p25.COBALT/INPUT/topog.nc create mode 120000 exps/OM4p25.COBALT/INPUT/vgrid_75_2m.nc create mode 120000 exps/OM4p25.COBALT/INPUT/woa18_all_i00_01.nc create mode 120000 exps/OM4p25.COBALT/INPUT/woa18_all_n00_01.nc create mode 120000 exps/OM4p25.COBALT/INPUT/woa18_all_o00_01.nc create mode 120000 exps/OM4p25.COBALT/INPUT/woa18_all_p00_01.nc create mode 120000 exps/OM4p25.COBALT/INPUT/woa18_decav_ptemp_monthly_fulldepth_01.nc create mode 120000 exps/OM4p25.COBALT/INPUT/woa18_decav_s_monthly_fulldepth_01.nc create mode 100644 exps/OM4p25.COBALT/MOM_parameter_doc.all create mode 100644 exps/OM4p25.COBALT/MOM_parameter_doc.debugging create mode 100644 exps/OM4p25.COBALT/MOM_parameter_doc.layout create mode 100644 exps/OM4p25.COBALT/MOM_parameter_doc.short create mode 100644 exps/OM4p25.COBALT/SIS_parameter_doc.all create mode 100644 exps/OM4p25.COBALT/SIS_parameter_doc.debugging create mode 100644 exps/OM4p25.COBALT/SIS_parameter_doc.layout create mode 100644 exps/OM4p25.COBALT/SIS_parameter_doc.short create mode 100644 exps/OM4p25.COBALT/data_table create mode 100644 exps/OM4p25.COBALT/diag_table create mode 100644 exps/OM4p25.COBALT/driver.sh create mode 100644 exps/OM4p25.COBALT/field_table create mode 100644 exps/OM4p25.COBALT/input.nml diff --git a/exps/OM4p25.COBALT/COBALT_parameter_doc.all b/exps/OM4p25.COBALT/COBALT_parameter_doc.all new file mode 100644 index 000000000..178051ef3 --- /dev/null +++ b/exps/OM4p25.COBALT/COBALT_parameter_doc.all @@ -0,0 +1,665 @@ +! This file was written by the model and records all non-layout or debugging parameters used at run-time. + +! === module COBALT === +init = False ! [Boolean] default = False + ! init +htotal_scale_lo = 0.01 ! default = 0.01 + ! scaling factor for initializing carbon chemistry solver +htotal_scale_hi = 100.0 ! default = 100.0 + ! scaling factor for initializing carbon chemistry solver +RHO_0 = 1035.0 ! [kg m-3] default = 1035.0 + ! reference density +a_0 = 2.00907 ! [ml L-1] default = 2.00907 + ! O2 sat. regression coefficient +a_1 = 3.22014 ! [ml L-1] default = 3.22014 + ! O2 sat. regression coefficient +a_2 = 4.0501 ! [ml L-1] default = 4.0501 + ! O2 sat. regression coefficient +a_3 = 4.94457 ! [ml L-1] default = 4.94457 + ! O2 sat. regression coefficient +a_4 = -0.256847 ! [ml L-1] default = -0.256847 + ! O2 sat. regression coefficient +a_5 = 3.88767 ! [ml L-1] default = 3.88767 + ! O2 sat. regression coefficient +b_0 = -0.00624523 ! [ml L-1 (ppt salt)-1)] default = -0.00624523 + ! O2 sat. regression coefficient +b_1 = -0.00737614 ! [ml L-1 (ppt salt)-1] default = -0.00737614 + ! O2 sat. regression coefficient +b_2 = -0.010341 ! [ml L-1 (ppt salt)-1] default = -0.010341 + ! O2 sat. regression coefficient +b_3 = -0.00817083 ! [ml L-1 (ppt salt)-1] default = -0.00817083 + ! O2 sat. regression coefficient +c_0 = -4.88682E-07 ! [ml L-1 (ppt salt)-2] default = -4.88682E-07 + ! O2 sat. regression coefficient +a1_co2 = 2116.8 ! [dimensionless] default = 2116.8 + ! CO2 Schmidt # regression coefficient +a2_co2 = -136.25 ! [deg. C-1] default = -136.25 + ! CO2 Schmidt # regression coefficient +a3_co2 = 4.7353 ! [deg. C-2] default = 4.7353 + ! CO2 Schmidt # regression coefficient +a4_co2 = -0.092307 ! [deg. C-3] default = -0.092307 + ! CO2 Schmidt # regression coefficient +a5_co2 = 7.555E-04 ! [deg. C-4] default = 7.555E-04 + ! CO2 Schmidt # regression coefficient +a1_o2 = 1920.4 ! [dimensionless] default = 1920.4 + ! O2 Schmidt # regression coefficient +a2_o2 = -135.6 ! [deg. C-1] default = -135.6 + ! O2 Schmidt # regression coefficient +a3_o2 = 5.2122 ! [deg. C-2] default = 5.2122 + ! O2 Schmidt # regression coefficient +a4_o2 = -0.10939 ! [deg. C-3] default = -0.10939 + ! O2 Schmidt # regression coefficient +a5_o2 = 9.3777E-04 ! [deg. C-4] default = 9.3777E-04 + ! O2 Schmidt # regression coefficient +n_2_n_denit = 5.9 ! [mol N mol N-1] default = 5.9 + ! moles NO3 used per mole org. N remineralized via denitrification +no3_2_nh4_amx = 0.6 ! [mol N mol N-1] default = 0.6 + ! moles NO3 used per mole NH4+ oxidized to N2 via anammox +o2_2_nfix = 8.125 ! [mol O2 mol N-1] default = 8.125 + ! moles O2 created per mole of N fixed +o2_2_nh4 = 7.375 ! [mol O2 mol N-1] default = 7.375 + ! moles O2 created (consumed) per mole NH4-based prim. prod. (aerobic + ! remineralization to NH4+) +o2_2_nitrif = 2.0 ! [mol O2 mol N-1] default = 2.0 + ! moles O2 consumed per mole of NH4+ nitrified to NO3- +o2_2_no3 = 9.375 ! [mol O2 mol N-1] default = 9.375 + ! moles O2 created per mole of NO3-based prim. prod. +alk_2_n_denit = 1.1694915254237288 ! [mol alk mol N-1] default = 1.1694915254237288 + ! moles alkalinity created per mole NO3- consumed during denitrification +alk_2_nh4_amx = 0.4 ! [mol alk mol N-1] default = 0.4 + ! moles alkalinity removed per mole NH4+ consumed via anammox +k_nh4_Di = 1.0E-07 ! [mol NH4 kg-1] default = 1.0E-07 + ! half-saturation for diazotroph ammonium uptake +k_nh4_Lg = 5.0E-08 ! [mol NH4 kg-1] default = 5.0E-08 + ! half-saturation for large phytoplankton ammonium uptake and growth limitation +k_nh4_Md = 2.0E-08 ! [mol NH4 kg-1] default = 2.0E-08 + ! half-saturation for medium phytoplankton ammonium uptake and growth limitation +k_nh4_Sm = 1.0E-08 ! [mol NH4 kg-1] default = 1.0E-08 + ! half-saturation for small phytoplankton ammonium uptake and growth limitation +k_no3_Di = 5.0E-06 ! [mol NO3 kg-1] default = 5.0E-06 + ! half-saturation for diazotroph nitrate uptake +k_no3_Lg = 2.5E-06 ! [mol NO3 kg-1] default = 2.5E-06 + ! half-saturation for large phytoplankton nitrate uptake and growth limitation +k_no3_Md = 1.0E-06 ! [mol NO3 kg-1] default = 1.0E-06 + ! half-saturation for medium phytoplankton nitrate uptake and growth limitation +k_no3_Sm = 5.0E-07 ! [mol NO3 kg-1] default = 5.0E-07 + ! half-saturation for small phytoplankton nitrate uptake and growth limitation +k_po4_Di = 1.0E-07 ! [mol PO4 kg-1] default = 1.0E-07 + ! half-saturation for diazotroph phosphate uptake and limitation +k_po4_Lg = 5.0E-08 ! [mol PO4 kg-1] default = 5.0E-08 + ! half-saturation for large phytoplankton phosphate uptake and growth limitation +k_po4_Md = 2.0E-08 ! [mol PO4 kg-1] default = 2.0E-08 + ! half-saturation for medium phytoplankton phosphate uptake and growth + ! limitation +k_po4_Sm = 1.0E-08 ! [mol PO4 kg-1] default = 1.0E-08 + ! half-saturation for small phytoplankton phosphate uptake and growth limitation +k_sio4_Lg = 2.0E-06 ! [mol SiO4 kg-1] default = 2.0E-06 + ! half-saturation for large phytoplankton silicate uptake and Si:N ratio +k_sio4_Md = 1.0E-06 ! [mol SiO4 kg-1] default = 1.0E-06 + ! half-saturation for medium phytoplankton silicate uptake and Si:N ratio +k_fed_Di = 4.0E-09 ! [mol Fed kg-1] default = 4.0E-09 + ! half-saturation constant for diazotroph iron uptake and growth limitation +k_fed_Lg = 2.0E-09 ! [mol Fed kg-1] default = 2.0E-09 + ! half-saturation for large phytoplankton iron uptake and growth limitation +k_fed_Md = 8.0E-10 ! [mol Fed kg-1] default = 8.0E-10 + ! half-saturation for medium phytoplankton iron uptake and growth limitation +k_fed_Sm = 4.0E-10 ! [mol Fed kg-1] default = 4.0E-10 + ! half-saturation for small phytoplankton iron uptake and growth limitation +k_fe_2_n_Di = 7.950000000000001E-05 ! [mol Fe (mol N)-1] default = 7.950000000000001E-05 + ! internal iron quota half-saturation for diazotroph growth +k_fe_2_n_Lg = 6.625000000000001E-05 ! [mol Fe (mol N)-1] default = 6.625000000000001E-05 + ! internal iron quota half-saturation for large phytoplankton growth +k_fe_2_n_Md = 2.65E-05 ! [mol Fe (mol N)-1] default = 2.65E-05 + ! internal iron quota half-saturation for medium phytoplankton growth +k_fe_2_n_Sm = 1.325E-05 ! [mol Fe (mol N)-1] default = 1.325E-05 + ! internal iron quota half-saturation for small phytoplankton growth +fe_2_n_max_Di = 0.0033125 ! [mol Fe (mol N)-1] default = 0.0033125 + ! maximum internal iron quota for diazotrophs +fe_2_n_max_Lg = 0.0033125 ! [mol Fe (mol N)-1] default = 0.0033125 + ! maximum internal iron quota for large phytoplankton +fe_2_n_max_Md = 0.00165625 ! [mol Fe (mol N)-1] default = 0.00165625 + ! maximum internal iron quota for medium phytoplankton +fe_2_n_max_Sm = 3.3125E-04 ! [mol Fe (mol N)-1] default = 3.3125E-04 + ! maximum internal iron quota for small phytoplankton +fe_2_n_upt_fac = 6.0E-05 ! [mol Fe (mol N)-1] default = 6.0E-05 + ! scaling factor for iron uptake relative to maximum photosynthesis +alpha_Di_hl = 4.0E-06 ! [g C g Chl-1 (micromol quanta m-2)-1] default = 4.0E-06 + ! Chl-a specific initial slope of photosynth-irrad curve, high-light adapted + ! diazotrophs +alpha_Lg_hl = 4.0E-06 ! [g C g Chl-1 (micromol quanta m-2)-1] default = 4.0E-06 + ! Chl-a specific initial slope of photosynth-irrad curve, high-light adapted + ! large phytoplankton +alpha_Md_hl = 8.0E-06 ! [g C g Chl-1 (micromol quanta m-2)-1] default = 8.0E-06 + ! Chl-a specific initial slope of photosynth-irrad curve, high-light adapted + ! medium phytoplankton +alpha_Sm_hl = 1.6E-05 ! [g C g Chl-1 (micromol quanta m-2)-1] default = 1.6E-05 + ! Chl-a specific initial slope of photosynth-irrad curve, high-light adapted + ! small phytoplankton +alpha_Di_ll = 8.0E-06 ! [g C g Chl-1 (micromol quanta m-2)-1] default = 8.0E-06 + ! Chl-a specific initial slope of photosynth-irrad curve, low-light adapted + ! diazotrophs +alpha_Lg_ll = 8.0E-06 ! [g C g Chl-1 (micromol quanta m-2)-1] default = 8.0E-06 + ! Chl-a specific initial slope of photosynth-irrad curve, low-light adapted + ! large phytoplankton +alpha_Md_ll = 1.6E-05 ! [g C g Chl-1 (micromol quanta m-2)-1] default = 1.6E-05 + ! Chl-a specific initial slope of photosynth-irrad curve, low-light adapted + ! medium phytoplankton +alpha_Sm_ll = 3.2E-05 ! [g C g Chl-1 (micromol quanta m-2)-1] default = 3.2E-05 + ! Chl-a specific initial slope of photosynth-irrad curve, low-light adapted + ! small phytoplankton +kappa_eppley = 0.063 ! [deg C-1] default = 0.063 + ! exponential temperature dependence of phytoplankton rates +P_C_max_Di_hl = 0.6 ! [day-1] default = 0.6 + ! maximum photosynthesis rate at 0 deg. C, high-light adapted diazotrophs +P_C_max_Lg_hl = 1.0 ! [day-1] default = 1.0 + ! maximum photosynthesis rate at 0 deg. C, high-light adapted large + ! phytoplankton +P_C_max_Md_hl = 1.1 ! [day-1] default = 1.1 + ! maximum photosynthesis rate at 0 deg. C, high-light adapted medium + ! phytoplankton +P_C_max_Sm_hl = 1.0 ! [day-1] default = 1.0 + ! maximum photosynthesis rate at 0 deg. C, high-light adapted small + ! phytoplankton +P_C_max_Di_ll = 0.3 ! [day-1] default = 0.3 + ! maximum photosynthesis rate at 0 deg. C, low-light adapted diazotrophs +P_C_max_Lg_ll = 0.5 ! [day-1] default = 0.5 + ! maximum photosynthesis rate at 0 deg. C, low-light adapted large phytoplankton +P_C_max_Md_ll = 0.55 ! [day-1] default = 0.55 + ! maximum photosynthesis rate at 0 deg. C, low-light adapted medium + ! phytoplankton +P_C_max_Sm_ll = 0.5 ! [day-1] default = 0.5 + ! maximum photosynthesis rate at 0 deg. C, low-light adapted small phytoplankton +numlightadapt = 10 ! [number of ecotypes] default = 10 + ! number of light adaptation ecotypes +thetamax_Di = 0.035 ! [g chl g C-1] default = 0.035 + ! maximum chlorophyll to carbon ratio for diazotrophs +thetamax_Lg = 0.07 ! [g chl g C-1] default = 0.07 + ! maximum chlorophyll to carbon ratio for large phytoplankton +thetamax_Md = 0.045 ! [g chl g C-1] default = 0.045 + ! maximum chlorophyll to carbon ratio for medium phytoplankton +thetamax_Sm = 0.035 ! [g chl g C-1] default = 0.035 + ! maximum chlorophyll to carbon ratio for small phytoplankton +bresp_frac_mixed_Di = 0.02 ! [none] default = 0.02 + ! diazotroph basal respiration rate in mixed layer as fraction of max + ! photosynthesis +bresp_frac_mixed_Lg = 0.02 ! [none] default = 0.02 + ! large phytoplankton basal respiration rate in mixed layer as fraction of max + ! photosynthesis +bresp_frac_mixed_Md = 0.02 ! [none] default = 0.02 + ! medium phytoplankton basal respiration rate in mixed layer as fraction of max + ! photosynthesis +bresp_frac_mixed_Sm = 0.02 ! [none] default = 0.02 + ! small phytoplankton basal respiration rate in mixed layer as fraction of max + ! photosynthesis +bresp_frac_strat_Di = 0.01 ! [none] default = 0.01 + ! diazotroph basal respiration rate below mixed layer as fraction of max + ! photosynthesis +bresp_frac_strat_Lg = 0.01 ! [none] default = 0.01 + ! large phytoplankton basal respiration rate below mixed layer as fraction of + ! max photosynthesis +bresp_frac_strat_Md = 0.01 ! [none] default = 0.01 + ! medium phytoplankton basal respiration rate below mixed layer as fraction of + ! max photosynthesis +bresp_frac_strat_Sm = 0.01 ! [none] default = 0.01 + ! small phytoplankton basal respiration rate below mixed layer as fraction of + ! max photosynthesis +thetamin = 0.002 ! [g chl g C-1] default = 0.002 + ! minimum chlorophyll to carbon ratio +zeta = 0.05 ! [none] default = 0.05 + ! cost of biosynthesis +par_adj = 0.83 ! [none] default = 0.83 + ! photosynthetically active fraction of shortwave radiation +gamma_irr_aclm = 1.0 ! [day-1] default = 1.0 + ! time scale for determining the photoacclimation irradiance +gamma_mu_mem = 1.0 ! [day-1] default = 1.0 + ! time scale for determining growth rates for phytoplankton stress calculations +ml_aclm_efold = 2.5 ! [none] default = 2.5 + ! number of e-folding depths for photoacclimation in deep mixed layers +zmld_ref = 10.0 ! [m] default = 10.0 + ! reference depth for mixed layer calculation +densdiff_mld = 0.03 ! [kg m-3] default = 0.03 + ! potential density difference for determining mixed layer depth +do_case2_mod = False ! [Boolean] default = False + ! When true, modify the opacity of case 2 (coastal) waterswhich are identified + ! based on a salinity and depth threshold +min_daylength = 6.0 ! [hours] default = 6.0 + ! minimum daylength for calculating the daytime irradiance +refuge_conc = 1.0E-10 ! [mol N kg-1] default = 1.0E-10 + ! refuge concentration for grazing and loss terms +o2_inhib_Di_pow = 4.0 ! [none] default = 4.0 + ! exponent controlling the shape of the function inhibiting nitrogen fixation at + ! high o2 +o2_inhib_Di_sat = 3.0E-04 ! [mol O2 kg-1] default = 3.0E-04 + ! oxygen concentration where nitrogen fixation is 1/2 maximal values +c_2_n = 6.625 ! [mol C mol N-1] default = 6.625 + ! carbon to nitrogen ratio of organic matter +p_2_n_min_Di = 0.025 ! [mol P mol N-1] default = 0.025 + ! minimum diazotroph P:N ratio +p_2_n_slope_Di = 0.0 ! [mol P mol N-1 mol PO4-1 kg] default = 0.0 + ! increase in diazotroph P:N ratio per unit phosphate concentration +p_2_n_max_Di = 0.025 ! [mol P mol N-1] default = 0.025 + ! maximum diazotroph P:N ratio +p_2_n_min_Sm = 0.032258064516129 ! [mol P mol N-1] default = 0.032258064516129 + ! minimum small phytoplankton P:N ratio +p_2_n_slope_Sm = 4.8E+04 ! [mol P mol N-1 mol PO4-1 kg] default = 4.8E+04 + ! increase in small phytoplankton P:N ratio per unit phosphate concentration +p_2_n_max_Sm = 0.05 ! [mol P mol N-1] default = 0.05 + ! maximum small phytoplankton P:N ratio +p_2_n_min_Md = 0.032258064516129 ! [mol P mol N-1] default = 0.032258064516129 + ! minimum medium phytoplankton P:N ratio +p_2_n_slope_Md = 4.8E+04 ! [mol P mol N-1 mol PO4-1 kg] default = 4.8E+04 + ! increase in medium phytoplankton P:N ratio per unit phosphate concentration +p_2_n_max_Md = 0.0625 ! [mol P mol N-1] default = 0.0625 + ! maximum medium phytoplankton P:N ratio +p_2_n_min_Lg = 0.032258064516129 ! [mol P mol N-1] default = 0.032258064516129 + ! minimum large phytoplankton P:N ratio +p_2_n_slope_Lg = 4.8E+04 ! [mol P mol N-1 mol PO4-1 kg] default = 4.8E+04 + ! increase in large phytoplankton P:N ratio per unit phosphate concentration +p_2_n_max_Lg = 0.0714285714285714 ! [mol P mol N-1] default = 0.0714285714285714 + ! maximum large phytoplankton P:N ratio +si_2_n_max_Lg = 3.0 ! [mol Si mol N-1] default = 3.0 + ! maximum large phytoplankton silica to nitrogen ratio +si_2_n_max_Md = 1.0 ! [mol Si mol N-1] default = 1.0 + ! maximum medium phytoplankton silica to nitrogen ratio +q_p_2_n_smz = 0.05 ! [mol P mol N-1] default = 0.05 + ! Small zooplankton P:N +q_p_2_n_mdz = 0.0555555555555556 ! [mol P mol N-1] default = 0.0555555555555556 + ! Medium zooplankton P:N +q_p_2_n_lgz = 0.0625 ! [mol P mol N-1] default = 0.0625 + ! Large zooplankton P:N +mu_max_bact = 1.0 ! [day-1] default = 1.0 + ! max bacterial growth at 0 deg. C +k_ldon_bact = 5.0E-07 ! [mol ldon kg-1] default = 5.0E-07 + ! half-sat for bacteria uptake of labile dissolved organic nitrogen +ktemp_bact = 0.063 ! [deg. C-1] default = 0.063 + ! exponential temperature dependence of bacteria rates +gge_max_bact = 0.4 ! [none] default = 0.4 + ! maximum gross growth efficiency for bacteria +bresp_bact = 0.0075 ! [day-1] default = 0.0075 + ! basal respiration rate for bacteria at 0 deg. C +q_p_2_n_bact = 0.0625 ! [mol P mol N-1] default = 0.0625 + ! Bacteria P:N +frac_mu_stress_Sm = 0.4 ! [none] default = 0.4 + ! fraction of max growth when stress-dependent losses initiate for small + ! phytoplankton +frac_mu_stress_Di = 0.4 ! [none] default = 0.4 + ! fraction of max growth when stress-dependent losses initiate for diazotrophs +frac_mu_stress_Lg = 0.4 ! [none] default = 0.4 + ! fraction of max growth when stress-dependent losses initiate for large + ! phytoplankton +frac_mu_stress_Md = 0.4 ! [none] default = 0.4 + ! fraction of max growth when stress-dependent losses initiate for medium + ! phytoplankton +agg_Sm = 0.05 ! [day-1 (micromol N kg-1)-1] default = 0.05 + ! aggregation rate constant for small phytoplankton +agg_Di = 0.0 ! [day-1 (micromol N kg-1)-1] default = 0.0 + ! aggregation rate constant for diazotrophs +agg_Lg = 0.25 ! [day-1 (micromol N kg-1)-1] default = 0.25 + ! aggregation rate constant for large phytoplankton +agg_Md = 0.1 ! [day-1 (micromol N kg-1)-1] default = 0.1 + ! aggregation rate constant for medium phytoplankton +vir_Sm = 0.25 ! [day-1 (micromol N kg-1)-1] default = 0.25 + ! virus-driven loss rate constant for small phytoplankton @ 0 deg. C +vir_Di = 0.05 ! [day-1 (micromol N kg-1)-1] default = 0.05 + ! virus-driven loss rate constant for diazotrophs @ 0 deg. C +vir_Lg = 0.05 ! [day-1 (micromol N kg-1)-1] default = 0.05 + ! virus-driven loss rate constant for large phytoplankton @ 0 deg. C +vir_Md = 0.125 ! [day-1 (micromol N kg-1)-1] default = 0.125 + ! virus-driven loss rate constant for medium phytoplankton @ 0 deg. C +vir_Bact = 0.25 ! [day-1 (micromol N kg-1)-1] default = 0.25 + ! virus-driven loss rate constant for bacteria @ 0 deg. C +ktemp_vir = 0.063 ! [deg. C-1] default = 0.063 + ! temperature dependence of viral loss rates +mort_Sm = 0.0 ! [day-1] default = 0.0 + ! mortality (cell death) rate constant for small phytoplankton @ 0 deg. C +mort_Di = 0.0 ! [day-1] default = 0.0 + ! mortality (cell death) rate constant for diazotrophs @ 0 deg. C +mort_Lg = 0.0 ! [day-1] default = 0.0 + ! mortality (cell death) rate constant for large phytoplankton @ 0 deg. C +mort_Md = 0.0 ! [day-1] default = 0.0 + ! mortality (cell death) rate constant for medium phytoplankton @ 0 deg. C +exu_Sm = 0.13 ! [none] default = 0.13 + ! fraction of small phytoplankton net primary production exuded as dissolved + ! organic material +exu_Di = 0.13 ! [none] default = 0.13 + ! fraction of diazotroph net primary production exuded as dissolved organic + ! material +exu_Lg = 0.13 ! [none] default = 0.13 + ! fraction of large phytoplankton net primary production exuded as dissolved + ! organic material +exu_Md = 0.13 ! [none] default = 0.13 + ! fraction of medium phytoplankton net primary production exuded as dissolved + ! organic material +sink_max_Di = 1.0 ! [m day-1] default = 1.0 + ! diazotroph max sink rate (non-aggregated) +sink_max_Lg = 5.0 ! [m day-1] default = 5.0 + ! large phytoplankton max sink rate (non-aggregated) +sink_max_Md = 1.0 ! [m day-1] default = 1.0 + ! medium phytoplankton max sink rate (non-aggregated) +sink_max_Sm = 0.0 ! [m day-1] default = 0.0 + ! small phytoplankton max sink rate (non-aggregated) +imax_smz = 1.136 ! [day-1] default = 1.136 + ! max ingestion rate for small zooplankton @ 0 deg. C +imax_mdz = 0.57 ! [day-1] default = 0.57 + ! max ingestion rate for medium zooplankton @ 0 deg. C +imax_lgz = 0.23 ! [day-1] default = 0.23 + ! max ingestion rate for large zooplankton @ 0 deg. C +ki_smz = 1.25E-06 ! [mol N kg-1] default = 1.25E-06 + ! half-sat for ingestion by small zooplankton +ki_mdz = 1.25E-06 ! [mol N kg-1] default = 1.25E-06 + ! half-sat for ingestion by medium zooplankton +ki_lgz = 1.25E-06 ! [mol N kg-1] default = 1.25E-06 + ! half-sat for ingestion by large zooplankton +ktemp_smz = 0.063 ! [deg. C-1] default = 0.063 + ! exponential temperature dependence of small zooplankton rates +ktemp_mdz = 0.063 ! [deg. C-1] default = 0.063 + ! exponential temperature dependence of medium zooplankton rates +ktemp_lgz = 0.063 ! [deg. C-1] default = 0.063 + ! exponential temperature dependence of large zooplankton rates +smz_ipa_smp = 1.0 ! [none] default = 1.0 + ! innate availability of small phytoplankton to small zooplankton feeding (0-1) +smz_ipa_mdp = 0.4 ! [none] default = 0.4 + ! innate availability of medium phytoplankton to small zooplankton feeding (0-1) +smz_ipa_lgp = 0.0 ! [none] default = 0.0 + ! innate availability of large phytoplankton to small zooplankton feeding (0-1) +smz_ipa_diaz = 0.0 ! [none] default = 0.0 + ! innate availability of diazotrophs to small zooplankton feeding (0-1) +smz_ipa_smz = 0.0 ! [none] default = 0.0 + ! innate availability of small zooplankton to small zooplankton feeding (0-1) +smz_ipa_mdz = 0.0 ! [none] default = 0.0 + ! innate availability of medium zooplankton to small zooplankton feeding (0-1) +smz_ipa_lgz = 0.0 ! [none] default = 0.0 + ! innate availability of large zooplankton to small zooplankton feeding (0-1) +smz_ipa_bact = 0.5 ! [none] default = 0.5 + ! innate availability of bacteria to small zooplankton feeding (0-1) +smz_ipa_det = 0.0 ! [none] default = 0.0 + ! innate availability of detritus to small zooplankton feeding (0-1) +mdz_ipa_smp = 0.4 ! [none] default = 0.4 + ! innate availability of small phytoplankton to medium zooplankton feeding (0-1) +mdz_ipa_mdp = 1.0 ! [none] default = 1.0 + ! innate availability of medium phytoplankton to medium zooplankton feeding + ! (0-1) +mdz_ipa_lgp = 0.0 ! [none] default = 0.0 + ! innate availability of large phytoplankton to medium zooplankton feeding (0-1) +mdz_ipa_diaz = 0.75 ! [none] default = 0.75 + ! innate availability of diazotrophs to medium zooplankton feeding (0-1) +mdz_ipa_smz = 1.0 ! [none] default = 1.0 + ! innate availability of small zooplankton to medium zooplankton feeding (0-1) +mdz_ipa_mdz = 0.0 ! [none] default = 0.0 + ! innate availability of medium zooplankton to medium zooplankton feeding (0-1) +mdz_ipa_lgz = 0.0 ! [none] default = 0.0 + ! innate availability of large zooplankton to medium zooplankton feeding (0-1) +mdz_ipa_bact = 0.0 ! [none] default = 0.0 + ! innate availability of bacteria to medium zooplankton feeding (0-1) +mdz_ipa_det = 0.0 ! [none] default = 0.0 + ! innate availability of detritus to medium zooplankton feeding (0-1) +lgz_ipa_smp = 0.0 ! [none] default = 0.0 + ! innate availability of small phytoplankton to large zooplankton feeding (0-1) +lgz_ipa_mdp = 0.4 ! [none] default = 0.4 + ! innate availability of medium phytoplankton to large zooplankton feeding (0-1) +lgz_ipa_lgp = 1.0 ! [none] default = 1.0 + ! innate availability of large phytoplankton to large zooplankton feeding (0-1) +lgz_ipa_diaz = 0.4 ! [none] default = 0.4 + ! innate availability of diazotrophs to large zooplankton feeding (0-1) +lgz_ipa_smz = 0.0 ! [none] default = 0.0 + ! innate availability of small zooplankton to large zooplankton feeding (0-1) +lgz_ipa_mdz = 1.0 ! [none] default = 1.0 + ! innate availability of medium zooplankton to large zooplankton feeding (0-1) +lgz_ipa_lgz = 0.0 ! [none] default = 0.0 + ! innate availability of large zooplankton to large zooplankton feeding (0-1) +lgz_ipa_bact = 0.0 ! [none] default = 0.0 + ! innate availability of bacteria to large zooplankton feeding (0-1) +lgz_ipa_det = 0.0 ! [none] default = 0.0 + ! innate availability of detritus to large zooplankton feeding (0-1) +nswitch_smz = 2.0 ! [none] default = 2.0 + ! prey switching parameter 1 for small zooplankton +nswitch_mdz = 2.0 ! [none] default = 2.0 + ! prey switching parameter 1 for medium zooplankton +nswitch_lgz = 2.0 ! [none] default = 2.0 + ! prey switching parameter 1 for large zooplankton +mswitch_smz = 2.0 ! [none] default = 2.0 + ! prey switching parameter 2 for small zooplankton +mswitch_mdz = 2.0 ! [none] default = 2.0 + ! prey switching parameter 2 for medium zooplankton +mswitch_lgz = 2.0 ! [none] default = 2.0 + ! prey switching parameter 2 for large zooplankton +gge_max_smz = 0.4 ! [none] default = 0.4 + ! maximum gross growth efficiency for small zooplankton +gge_max_mdz = 0.4 ! [none] default = 0.4 + ! maximum gross growth efficiency for medium zooplankton +gge_max_lgz = 0.4 ! [none] default = 0.4 + ! maximum gross growth efficiency for large zooplankton +bresp_smz = 0.016 ! [day-1] default = 0.016 + ! basal respiration rate for small zooplankton +bresp_mdz = 0.008 ! [day-1] default = 0.008 + ! basal respiration rate for medium zooplankton +bresp_lgz = 0.0032 ! [day-1] default = 0.0032 + ! basal respiration rate for large zooplankton +phi_det_smz = 0.0 ! [none] default = 0.0 + ! fraction of ingestion by small zooplankton to detritus +phi_det_mdz = 0.15 ! [none] default = 0.15 + ! fraction of ingestion by medium zooplankton to detritus +phi_det_lgz = 0.3 ! [none] default = 0.3 + ! fraction of ingestion by large zooplankton to detritus +phi_ldon_smz = 0.1875 ! [none] default = 0.1875 + ! fraction of N ingestion by small zooplankton to labile dissolved organic + ! nitrogen +phi_ldon_mdz = 0.09375 ! [none] default = 0.09375 + ! fraction of N ingestion by medium zooplankton to labile dissolved organic + ! nitrogen +phi_ldon_lgz = 0.0 ! [none] default = 0.0 + ! fraction of N ingestion by large zooplankton to labile dissolved organic + ! nitrogen +phi_ldop_smz = 0.1725 ! [none] default = 0.1725 + ! fraction of P ingestion by small zooplankton to labile dissolved organic + ! phosphorus +phi_ldop_mdz = 0.08625 ! [none] default = 0.08625 + ! fraction of P ingestion by medium zooplankton to labile dissolved organic + ! phosphorus +phi_ldop_lgz = 0.0 ! [none] default = 0.0 + ! fraction of P ingestion by large zooplankton to labile dissolved organic + ! phosphorus +phi_srdon_smz = 0.0225 ! [none] default = 0.0225 + ! fraction of N ingestion by small zooplankton to semi-refractory dissolved + ! organic nitrogen +phi_srdon_mdz = 0.01125 ! [none] default = 0.01125 + ! fraction of N ingestion by medium zooplankton to semi-refractory dissolved + ! organic nitrogen +phi_srdon_lgz = 0.0 ! [none] default = 0.0 + ! fraction of N ingestion by large zooplankton to semi-refractory dissolved + ! organic nitrogen +phi_srdop_smz = 0.0375 ! [none] default = 0.0375 + ! fraction of P ingestion by small zooplankton to semi-refractory dissolved + ! organic phosphorus +phi_srdop_mdz = 0.01875 ! [none] default = 0.01875 + ! fraction of P ingestion by medium zooplankton to semi-refractory dissolved + ! organic phosphorus +phi_srdop_lgz = 0.0 ! [none] default = 0.0 + ! fraction of P ingestion by large zooplankton to semi-refractory dissolved + ! organic phosphorus +phi_sldon_smz = 0.09 ! [none] default = 0.09 + ! fraction of N ingestion by small zooplankton to semi-labile dissolved organic + ! nitrogen +phi_sldon_mdz = 0.045 ! [none] default = 0.045 + ! fraction of N ingestion by medium zooplankton to semi-labile dissolved organic + ! nitrogen +phi_sldon_lgz = 0.0 ! [none] default = 0.0 + ! fraction of N ingestion by large zooplankton to semi-labile dissolved organic + ! nitrogen +phi_sldop_smz = 0.09 ! [none] default = 0.09 + ! fraction of P ingestion by small zooplankton to semi-labile dissolved organic + ! phosphorus +phi_sldop_mdz = 0.045 ! [none] default = 0.045 + ! fraction of P ingestion by medium zooplankton to semi-labile dissolved organic + ! phosphorus +phi_sldop_lgz = 0.0 ! [none] default = 0.0 + ! fraction of P ingestion by large zooplankton to semi-labile dissolved organic + ! phosphorus +phi_ldon_vir = 0.625 ! [none] default = 0.625 + ! fraction of viral lysis of N to labile dissolved organic nitrogen +phi_srdon_vir = 0.075 ! [none] default = 0.075 + ! fraction of viral lysis of N to semi-refractory dissolved organic nitrogen +phi_sldon_vir = 0.3 ! [none] default = 0.3 + ! fraction of viral lysis of N to semi-labile dissolved organic nitrogen +phi_ldop_vir = 0.575 ! [none] default = 0.575 + ! fraction of viral lysis of P to labile dissolved organic phosphorus +phi_srdop_vir = 0.125 ! [none] default = 0.125 + ! fraction of viral lysis of P to semi-refractory dissolved organic phosphorus +phi_sldop_vir = 0.3 ! [none] default = 0.3 + ! fraction of viral lysis of P to semi-labile dissolved organic phosphorus +imax_hp = 0.09 ! [day-1] default = 0.09 + ! max ingestion rate for higher predators @ 0 deg. C +ki_hp = 1.25E-06 ! [mol N kg-1] default = 1.25E-06 + ! half-sat for ingestion by higher predators +coef_hp = 2.0 ! [none] default = 2.0 + ! coefficient for higher predator losses (2=quadratic) +ktemp_hp = 0.063 ! [deg. C-1] default = 0.063 + ! exponential temperature dependence of higher predator rates +nswitch_hp = 2.0 ! [none] default = 2.0 + ! prey switching parameter 1 for higher predators +mswitch_hp = 2.0 ! [none] default = 2.0 + ! prey switching parameter 2 for higher predators +hp_ipa_smp = 0.0 ! [none] default = 0.0 + ! innate availability of small phytoplankton to higher predator feeding (0-1) +hp_ipa_mdp = 0.0 ! [none] default = 0.0 + ! innate availability of medium phytoplankton to higher predator feeding (0-1) +hp_ipa_lgp = 0.0 ! [none] default = 0.0 + ! innate availability of large phytoplankton to higher predator feeding (0-1) +hp_ipa_diaz = 0.0 ! [none] default = 0.0 + ! innate availability of diazotrophs to higher predator feeding (0-1) +hp_ipa_smz = 0.0 ! [none] default = 0.0 + ! innate availability of small zooplankton to higher predator feeding (0-1) +hp_ipa_mdz = 1.0 ! [none] default = 1.0 + ! innate availability of medium zooplankton to higher predator feeding (0-1) +hp_ipa_lgz = 1.0 ! [none] default = 1.0 + ! innate availability of large zooplankton to higher predator feeding (0-1) +hp_ipa_bact = 0.0 ! [none] default = 0.0 + ! innate availability of bacteria to higher predator feeding (0-1) +hp_ipa_det = 0.0 ! [none] default = 0.0 + ! innate availability of detritus to higher predator feeding (0-1) +hp_phi_det = 0.35 ! [none] default = 0.35 + ! fraction of ingestion by higher predators to detritus +ffe_sed_max = 170.0 ! [micromoles Fe m-2 day-1] default = 170.0 + ! maximum iron release from the sediment +ffe_geotherm_ratio = 2.0E-12 ! [mol Fe m-2 s-1 (W m-2)-1] default = 2.0E-12 + ! iron release per unit of geothermal heat +jfe_iceberg_ratio = 1.0E-07 ! [mol Fe kg-1 ice melt] default = 1.0E-07 + ! iron release per kg of ice melt +jno3_iceberg_ratio = 2.0E-06 ! [mol N kg-1 ice melt] default = 2.0E-06 + ! nitrate release per kg of ice melt +jpo4_iceberg_ratio = 1.1E-07 ! [mol P kg-1 ice melt] default = 1.1E-07 + ! phosphate release per kg of ice melt +fe_coast = 0.0 ! [m-1] default = 0.0 + ! coastal iron flux parameter +half_life_14c = 5730.0 ! [s] default = 5730.0 + ! half_life_14c +lambda_14c = 1.209680943385594E-04 ! [-s] default = 1.209680943385594E-04 + ! lambda_14c +ca_2_n_arag = 0.035 ! [mol cadet_arag mol org. C-1] default = 0.055 + ! ratio of aragonite detritus prod. to org. C detritus prod. by aragonite shell + ! formers +ca_2_n_calc = 0.025 ! [mol cadet_calc mol org. C-1] default = 0.05 + ! ratio of calcite detritus prod. to org. C detritus prod. by calcite shell + ! formers +caco3_sat_max = 10.0 ! [none] default = 10.0 + ! cap for positive scaling of caco3 detritus prod with saturation state +k_o2 = 8.0E-06 ! [mol O2 kg-1] default = 8.0E-06 + ! O2 half-saturation for remineralization +k_no3_denit = 1.0E-06 ! [mol NO3 kg-1] default = 1.0E-06 + ! nitrate half-saturation for denitrification +o2_min = 8.0E-07 ! [mol O2 kg-1] default = 8.0E-07 + ! Minimum O2 for aerobic remineralization +kappa_remin = 0.063 ! [deg C-1] default = 0.063 + ! Temperature dependence of remineralization +remin_ramp_scale = 50.0 ! [m] default = 50.0 + ! depth scale from the surface over which remineralization ramps up +gamma_ndet = 3.306878306878307E-06 ! [s-1] default = 3.306878306878307E-06 + ! Remineralization rate for unprotected organic matter +rpcaco3 = 0.0880503144654088 ! [mol N mol Ca-1] default = 0.0880503144654088 + ! Organic matter protection from CaCO3 +rplith = 8.176100628930818E-04 ! [mol N g lith-1] default = 8.176100628930818E-04 + ! Organic matter protection from lithogenic minerals +rpsio2 = 0.019622641509434 ! [mol N mol Si-1] default = 0.019622641509434 + ! Organic matter protection from silica +gamma_cadet_arag = 1.522904483430799E-06 ! [s-1] default = 1.522904483430799E-06 + ! Dissolution rate for aragonite detritus at 0 saturation +gamma_cadet_calc = 8.618074515319488E-07 ! [s-1] default = 8.618074515319488E-07 + ! Dissolution rate for calcite detritus at 0 saturation +kappa_sidet = 0.063 ! [deg C -1] default = 0.063 + ! Temperature dependence of silica dissolution +gamma_sidet = 1.157407407407407E-07 ! [s-1] default = 1.157407407407407E-07 + ! Dissolution rate of silica detritus at 0 deg. C +phi_lith = 0.002 ! [dimensionless] default = 0.002 + ! scaling factor for creating lithogenic detritus via filter feeding +k_lith = 0.5 ! [year-1] default = 0.5 + ! background formation rate of lithogenic detritus +felig_bkg = 5.0E-10 ! [mol Fe kg-1] default = 5.0E-10 + ! background organic ligand concentration +felig_2_don = 5.0E-04 ! [mol lig (mol N)-1] default = 5.0E-04 + ! proportionality for enhancing ligands with non-refractory don +alpha_fescav = 0.0 ! [year-1] default = 0.0 + ! linear iron scavenging rate constant +beta_fescav = 2.5E+09 ! [year-1 (mol ndet kg-1)-1] default = 2.5E+09 + ! iron scavenging rate constant for free iron - detritus interaction +remin_eff_fedet = 0.25 ! [unitless] default = 0.25 + ! iron remineralization efficiency relative to organic matter +io_fescav = 10.0 ! [W m-2] default = 10.0 + ! scaling for weakened iron-ligand binding in high light +fast_fescav_fac = 2.0 ! [none] default = 2.0 + ! multiplier for enhanced scavenging when free iron is above saturation +kfe_eq_lig_ll = 1.0E+12 ! [(mol lig-1 kg)-1] default = 1.0E+12 + ! low light ligand binding strength +kfe_eq_lig_hl = 1.0E+09 ! [(mol lig-1 kg)-1] default = 1.0E+09 + ! high light ligand binding strength +bottom_thickness = 1.0 ! [m] default = 1.0 + ! effective bottom layer thickness for calculating rates of benthic processes +z_sed = 0.1 ! [m] default = 0.1 + ! effective sediment layer thickness +z_burial = 50.0 ! [m] default = 10.0 + ! depth scale for ramping up particulate organic burial +z_denit = 10.0 ! [m] default = 10.0 + ! depth scale for ramping up benthic denitrification +scale_burial = 1.0 ! [none] default = 0.0 + ! scaling factor for particulate organic burial +cased_steady = False ! [Boolean] default = False + ! cased_steady +phi_surfresp_cased = 0.14307 ! [unitless] default = 0.14307 + ! phi_surfresp_cased +phi_deepresp_cased = 4.1228 ! [unitless] default = 4.1228 + ! phi_deepresp_cased +alpha_cased = 2.7488 ! [unitless] default = 2.7488 + ! alpha_cased +beta_cased = -2.2185 ! [unitless] default = -2.2185 + ! beta_cased +gamma_cased = 0.03607 ! [year-1] default = 0.03607 + ! gamma_cased +Co_cased = 8100.0 ! [mol m-3] default = 8100.0 + ! Co_cased +gamma_srdon = 10.0 ! [1/(default*spery)] default = 10.0 + ! gamma_srdon +gamma_srdop = 4.0 ! [1/(default*spery)] default = 4.0 + ! gamma_srdop +gamma_sldon = 90.0 ! [1/(default*sperd)] default = 90.0 + ! gamma_sldon +gamma_sldop = 90.0 ! [1/(default*sperd)] default = 90.0 + ! gamma_sldop +doc_background = 4.0E-05 ! [uM] default = 4.0E-05 + ! doc_background +gamma_nitrif = 30.0 ! [gamma_nitrif /(default*sperd)] default = 30.0 + ! gamma_nitrif +knh4_nitrif = 3.1E-09 ! [mol kg-1] default = 3.1E-09 + ! knh4_nitrif +irr_inhibit = 10.0 ! [W m-2] default = 10.0 + ! irr_inhibit +gamma_nh4amx = 0.0 ! [day-1] default = 0.0 + ! gamma_nh4amx +o2_min_amx = 4.0E-06 ! [mol O2 kg-1] default = 4.0E-06 + ! o2_min_amx +k_no3_amx = 1.0E-06 ! [mol NO3 kg-1] default = 1.0E-06 + ! nitrate half-saturation for anammox +k_o2_nit = 3.9E-06 ! [mol O2 kg-1] default = 3.9E-06 + ! k_o2_nit +o2_min_nit = 1.0E-08 ! [mol O2 kg-1] default = 1.0E-08 + ! o2_min_nit +tracer_debug = False ! [Boolean] default = False + ! tracer_debug diff --git a/exps/OM4p25.COBALT/COBALT_parameter_doc.debugging b/exps/OM4p25.COBALT/COBALT_parameter_doc.debugging new file mode 100644 index 000000000..508da95aa --- /dev/null +++ b/exps/OM4p25.COBALT/COBALT_parameter_doc.debugging @@ -0,0 +1,3 @@ +! This file was written by the model and records the debugging parameters used at run-time. + +! === module COBALT === diff --git a/exps/OM4p25.COBALT/COBALT_parameter_doc.layout b/exps/OM4p25.COBALT/COBALT_parameter_doc.layout new file mode 100644 index 000000000..ddc42a3df --- /dev/null +++ b/exps/OM4p25.COBALT/COBALT_parameter_doc.layout @@ -0,0 +1 @@ +! This file was written by the model and records the layout parameters used at run-time. diff --git a/exps/OM4p25.COBALT/COBALT_parameter_doc.short b/exps/OM4p25.COBALT/COBALT_parameter_doc.short new file mode 100644 index 000000000..0254b89c5 --- /dev/null +++ b/exps/OM4p25.COBALT/COBALT_parameter_doc.short @@ -0,0 +1,13 @@ +! This file was written by the model and records the non-default parameters used at run-time. + +! === module COBALT === +ca_2_n_arag = 0.035 ! [mol cadet_arag mol org. C-1] default = 0.055 + ! ratio of aragonite detritus prod. to org. C detritus prod. by aragonite shell + ! formers +ca_2_n_calc = 0.025 ! [mol cadet_calc mol org. C-1] default = 0.05 + ! ratio of calcite detritus prod. to org. C detritus prod. by calcite shell + ! formers +z_burial = 50.0 ! [m] default = 10.0 + ! depth scale for ramping up particulate organic burial +scale_burial = 1.0 ! [none] default = 0.0 + ! scaling factor for particulate organic burial diff --git a/exps/OM4p25.COBALT/INPUT/All_edits.nc b/exps/OM4p25.COBALT/INPUT/All_edits.nc new file mode 120000 index 000000000..2ccc3db6a --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/All_edits.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/All_edits.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/COBALT_input b/exps/OM4p25.COBALT/INPUT/COBALT_input new file mode 100644 index 000000000..b555e4030 --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/COBALT_input @@ -0,0 +1,5 @@ +! Put the contents of your COBALT_input file here +ca_2_n_arag = 0.035 +ca_2_n_calc = 0.025 +z_burial = 50.0 +scale_burial = 1.0 diff --git a/exps/OM4p25.COBALT/INPUT/COBALT_override b/exps/OM4p25.COBALT/INPUT/COBALT_override new file mode 100644 index 000000000..5ca9999db --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/COBALT_override @@ -0,0 +1,5 @@ +! Put the contents of your COBALT_override file here. +! For parameters which are not specified in the COBALT_input file, just set the new value, ex: +! do_case2_mod = True +! For parameters which are specified in the COBALT_input file, specify an override, ex: +!#override do_case2_mod = True diff --git a/exps/OM4p25.COBALT/INPUT/GLODAPv2.2016b.oi-filled.20180322.nc b/exps/OM4p25.COBALT/INPUT/GLODAPv2.2016b.oi-filled.20180322.nc new file mode 120000 index 000000000..9f2a649a3 --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/GLODAPv2.2016b.oi-filled.20180322.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/GLODAPv2.2016b.oi-filled.20180322.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/JRA_huss.nc b/exps/OM4p25.COBALT/INPUT/JRA_huss.nc new file mode 120000 index 000000000..090fca504 --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/JRA_huss.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/JRA_huss.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/JRA_prra.nc b/exps/OM4p25.COBALT/INPUT/JRA_prra.nc new file mode 120000 index 000000000..51b666e72 --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/JRA_prra.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/JRA_prra.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/JRA_prsn.nc b/exps/OM4p25.COBALT/INPUT/JRA_prsn.nc new file mode 120000 index 000000000..c0460030c --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/JRA_prsn.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/JRA_prsn.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/JRA_psl.nc b/exps/OM4p25.COBALT/INPUT/JRA_psl.nc new file mode 120000 index 000000000..cd2312f77 --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/JRA_psl.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/JRA_psl.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/JRA_rlds.nc b/exps/OM4p25.COBALT/INPUT/JRA_rlds.nc new file mode 120000 index 000000000..df3e12f1a --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/JRA_rlds.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/JRA_rlds.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/JRA_rsds.nc b/exps/OM4p25.COBALT/INPUT/JRA_rsds.nc new file mode 120000 index 000000000..f2b3740c3 --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/JRA_rsds.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/JRA_rsds.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/JRA_tas.nc b/exps/OM4p25.COBALT/INPUT/JRA_tas.nc new file mode 120000 index 000000000..a5fc8d4a9 --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/JRA_tas.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/JRA_tas.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/JRA_uas.nc b/exps/OM4p25.COBALT/INPUT/JRA_uas.nc new file mode 120000 index 000000000..af3d23391 --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/JRA_uas.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/JRA_uas.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/JRA_vas.nc b/exps/OM4p25.COBALT/INPUT/JRA_vas.nc new file mode 120000 index 000000000..ae0a14ef9 --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/JRA_vas.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/JRA_vas.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/MOM_GENERICS.res.nc b/exps/OM4p25.COBALT/INPUT/MOM_GENERICS.res.nc new file mode 120000 index 000000000..7497b362e --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/MOM_GENERICS.res.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/MOM_GENERICS.res.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/MOM_channels_global_025 b/exps/OM4p25.COBALT/INPUT/MOM_channels_global_025 new file mode 100644 index 000000000..b743c3029 --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/MOM_channels_global_025 @@ -0,0 +1,9 @@ +! This file specifies restricted channel widths in MOM. The order is: +! [U|V]_width, min_longitude, max_longitude, min_latitude, max_latitude, width + +U_width, -5.9, -5.4, 35.8, 36.2, 12000.0 ! Gibraltar +U_width, 26.4, 26.8, 40.4, 40.6, 5000.0 ! Dardanelles + +V_width, 28.8, 29.4, 41.1, 41.2, 2500.0 ! Bosporus - should be 1km wide. +V_width, 43.25, 43.5, 12.6, 12.8, 10000.0 ! Red Sea, Bab-el-Mendeb +V_width, 141.5, 141.7, 52.0, 52.15, 2500.0 ! Between Sakhalin & Russia diff --git a/exps/OM4p25.COBALT/INPUT/MOM_input b/exps/OM4p25.COBALT/INPUT/MOM_input new file mode 100644 index 000000000..773e0018a --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/MOM_input @@ -0,0 +1,809 @@ +! This input file provides the adjustable run-time parameters for version 6 of the Modular Ocean Model (MOM6). +! Where appropriate, parameters use usually given in MKS units. + +! This particular file is for the example in ice_ocean_SIS2/OM4_025.JRA. + +! 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. + +! === module MOM_domains === +TRIPOLAR_N = True ! [Boolean] default = False + ! Use tripolar connectivity at the northern edge of the domain. With + ! TRIPOLAR_N, NIGLOBAL must be even. +NIGLOBAL = 1440 ! + ! 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 = 1080 ! + ! 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. +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. +! LAYOUT = 32, 18 ! + ! The processor layout that was actually used. +! IO_LAYOUT = 1, 1 ! default = 1 + ! The processor layout to be used, or 0,0 to automatically set the io_layout to + ! be the same as the layout. + +! === 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. +THICKNESSDIFFUSE_FIRST = True ! [Boolean] default = False + ! If true, do thickness diffusion before dynamics. This is only used if + ! THICKNESSDIFFUSE is true. +DT = 900.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 = 900.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 = True ! [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. +USE_PSURF_IN_EOS = False ! [Boolean] default = False + ! If true, always include the surface pressure contributions in equation of + ! state calculations. +FRAZIL = True ! [Boolean] default = False + ! If true, water freezes if it gets too cold, and 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.) +MIN_SALINITY = 0.01 ! [PPT] default = 0.01 + ! The minimum value of salinity when BOUND_SALINITY=True. The default is 0.01 + ! for backward compatibility but ideally should be 0. +C_P = 3992.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. +BAD_VAL_SSH_MAX = 50.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 = 75.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 = 55.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 = -3.0 ! [deg C] default = -2.1 + ! The value of SST below which a bad value message is triggered, if + ! CHECK_BAD_SURFACE_VALS is true. +DEFAULT_ANSWER_DATE = 20181231 ! default = 99991231 + ! This sets the default value for the various _ANSWER_DATE parameters. +WRITE_GEOM = 0 ! 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_hor_index === +! Sets the horizontal array index types. + +! === 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. + ! Neverland - use the Neverland 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. + ! Kelvin - flat but with rotated land mask. + ! seamount - Gaussian bump for spontaneous motion test case. + ! dumbbell - Sloshing channel with reservoirs on both ends. + ! shelfwave - exponential slope for shelfwave test case. + ! Phillips - ACC-like idealized topography used in the Phillips config. + ! dense - Denmark Strait-like dense water formation and overflow. + ! USER - call a user modified routine. +TOPO_FILE = "ocean_topog.nc" ! default = "topog.nc" + ! The file from which the bathymetry is read. +TOPO_EDITS_FILE = "All_edits.nc" ! default = "" + ! The file from which to read a list of i,j,z topography overrides. +MAXIMUM_DEPTH = 6500.0 ! [m] + ! The maximum depth of the ocean. +MINIMUM_DEPTH = 9.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. +MASKING_DEPTH = 0.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 = "list" ! 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. +CHANNEL_LIST_FILE = "MOM_channels_global_025" ! default = "MOM_channel_list" + ! The file from which the list of narrowed channels is read. + +! === module MOM_verticalGrid === +! Parameters providing information about the vertical grid. +NK = 75 ! [nondim] + ! The number of model layers. + +! === module MOM_tracer_registry === + +! === module MOM_EOS === +DTFREEZE_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_restart === +PARALLEL_RESTARTFILES = True ! [Boolean] default = False + ! If true, each processor writes its own restart file, otherwise a single + ! restart file is generated + +! === 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 === + +! === module MOM_coord_initialization === +COORD_CONFIG = "ALE" ! + ! This specifies how layers are to be defined: + ! ALE or none - used to avoid defining layers in ALE mode + ! 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. +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 = "HYCOM1" ! default = "LAYER" + ! Coordinate mode for vertical regridding. Choose among the following + ! possibilities: LAYER - Isopycnal or stacked shallow water layers + ! ZSTAR, Z* - stretched geopotential z* + ! SIGMA_SHELF_ZSTAR - stretched geopotential z* ignoring shelf + ! SIGMA - terrain following coordinates + ! RHO - continuous isopycnal + ! HYCOM1 - HyCOM-like hybrid coordinate + ! SLIGHT - stretched coordinates above continuous isopycnal + ! ADAPTIVE - optimize for smooth neutral density surfaces +BOUNDARY_EXTRAPOLATION = True ! [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. +ALE_COORDINATE_CONFIG = "HYBRID:hycom1_75_800m.nc,sigma2,FNC1:2,4000,4.5,.01" ! default = "UNIFORM" + ! Determines how to specify the coordinate resolution. Valid options are: + ! PARAM - use the vector-parameter ALE_RESOLUTION + ! UNIFORM[:N] - 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,dz + ! or FILE:lev.nc,interfaces=zw + ! WOA09[:N] - the WOA09 vertical grid (approximately) + ! 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 = 7*2.0, 2*2.01, 2.02, 2.03, 2.05, 2.08, 2.11, 2.15, 2.21, 2.2800000000000002, 2.37, 2.48, 2.61, 2.77, 2.95, 3.17, 3.4299999999999997, 3.74, 4.09, 4.49, 4.95, 5.48, 6.07, 6.74, 7.5, 8.34, 9.280000000000001, 10.33, 11.49, 12.77, 14.19, 15.74, 17.450000000000003, 19.31, 21.35, 23.56, 25.97, 28.580000000000002, 31.41, 34.47, 37.77, 41.32, 45.14, 49.25, 53.65, 58.370000000000005, 63.42, 68.81, 74.56, 80.68, 87.21000000000001, 94.14, 101.51, 109.33, 117.62, 126.4, 135.68, 145.5, 155.87, 166.81, 178.35, 190.51, 203.31, 216.78, 230.93, 245.8, 261.42, 277.83 ! [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. +!TARGET_DENSITIES = 1010.0, 1014.3034, 1017.8088, 1020.843, 1023.5566, 1025.813, 1027.0275, 1027.9114, 1028.6422, 1029.2795, 1029.852, 1030.3762, 1030.8626, 1031.3183, 1031.7486, 1032.1572, 1032.5471, 1032.9207, 1033.2798, 1033.6261, 1033.9608, 1034.2519, 1034.4817, 1034.6774, 1034.8508, 1035.0082, 1035.1533, 1035.2886, 1035.4159, 1035.5364, 1035.6511, 1035.7608, 1035.8661, 1035.9675, 1036.0645, 1036.1554, 1036.2411, 1036.3223, 1036.3998, 1036.4739, 1036.5451, 1036.6137, 1036.68, 1036.7441, 1036.8062, 1036.8526, 1036.8874, 1036.9164, 1036.9418, 1036.9647, 1036.9857, 1037.0052, 1037.0236, 1037.0409, 1037.0574, 1037.0738, 1037.0902, 1037.1066, 1037.123, 1037.1394, 1037.1558, 1037.1722, 1037.1887, 1037.206, 1037.2241, 1037.2435, 1037.2642, 1037.2866, 1037.3112, 1037.3389, 1037.3713, 1037.4118, 1037.475, 1037.6332, 1037.8104, 1038.0 ! [m] + ! HYBRID target densities for interfaces +REGRID_COMPRESSIBILITY_FRACTION = 0.01 ! [nondim] default = 0.0 + ! When interpolating potential density profiles we can add some artificial + ! compressibility solely to make homogeneous regions appear stratified. +MAXIMUM_INT_DEPTH_CONFIG = "FNC1:5,8000.0,1.0,.01" ! 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 +!MAXIMUM_INT_DEPTHS = 0.0, 5.0, 12.75, 23.25, 36.49, 52.480000000000004, 71.22, 92.71000000000001, 116.94000000000001, 143.92000000000002, 173.65, 206.13, 241.36, 279.33000000000004, 320.05000000000007, 363.5200000000001, 409.7400000000001, 458.7000000000001, 510.4100000000001, 564.8700000000001, 622.0800000000002, 682.0300000000002, 744.7300000000002, 810.1800000000003, 878.3800000000003, 949.3300000000004, 1023.0200000000004, 1099.4600000000005, 1178.6500000000005, 1260.5900000000006, 1345.2700000000007, 1432.7000000000007, 1522.8800000000008, 1615.8100000000009, 1711.490000000001, 1809.910000000001, 1911.080000000001, 2015.0000000000011, 2121.670000000001, 2231.080000000001, 2343.2400000000007, 2458.1500000000005, 2575.8100000000004, 2696.2200000000003, 2819.3700000000003, 2945.2700000000004, 3073.9200000000005, 3205.3200000000006, 3339.4600000000005, 3476.3500000000004, 3615.9900000000002, 3758.38, 3903.52, 4051.4, 4202.03, 4355.41, 4511.54, 4670.41, 4832.03, 4996.4, 5163.5199999999995, 5333.379999999999, 5505.989999999999, 5681.3499999999985, 5859.459999999998, 6040.319999999998, 6223.919999999998, 6410.269999999999, 6599.369999999999, 6791.219999999999, 6985.8099999999995, 7183.15, 7383.24, 7586.08, 7791.67, 8000.0 + ! The list of maximum depths for each interface. +MAX_LAYER_THICKNESS_CONFIG = "FNC1:400,31000.0,0.1,.01" ! 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 +!MAX_LAYER_THICKNESS = 400.0, 409.63, 410.32, 410.75, 411.07, 411.32, 411.52, 411.7, 411.86, 412.0, 412.13, 412.24, 412.35, 412.45, 412.54, 412.63, 412.71, 412.79, 412.86, 412.93, 413.0, 413.06, 413.12, 413.18, 413.24, 413.29, 413.34, 413.39, 413.44, 413.49, 413.54, 413.58, 413.62, 413.67, 413.71, 413.75, 413.78, 413.82, 413.86, 413.9, 413.93, 413.97, 414.0, 414.03, 414.06, 414.1, 414.13, 414.16, 414.19, 414.22, 414.24, 414.27, 414.3, 414.33, 414.35, 414.38, 414.41, 414.43, 414.46, 414.48, 414.51, 414.53, 414.55, 414.58, 414.6, 414.62, 414.65, 414.67, 414.69, 414.71, 414.73, 414.75, 414.77, 414.79, 414.83 ! [m] + ! The list of maximum thickness for each layer. +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, initialize the layer thicknesses, temperatures, and salinities from a + ! Z-space file on a latitude-longitude grid. + +! === module MOM_initialize_layers_from_Z === +TEMP_SALT_Z_INIT_FILE = "" ! default = "temp_salt_z.nc" + ! The name of the z-space input file used to initialize temperatures (T) and + ! salinities (S). If T and S are not in the same file, TEMP_Z_INIT_FILE and + ! SALT_Z_INIT_FILE must be set. +TEMP_Z_INIT_FILE = "woa13_decav_ptemp_monthly_fulldepth_01.nc" ! default = "" + ! The name of the z-space input file used to initialize temperatures, only. +SALT_Z_INIT_FILE = "woa13_decav_s_monthly_fulldepth_01.nc" ! default = "" + ! The name of the z-space input file used to initialize temperatures, only. +Z_INIT_FILE_PTEMP_VAR = "ptemp_an" ! default = "ptemp" + ! The name of the potential temperature variable in TEMP_Z_INIT_FILE. +Z_INIT_FILE_SALT_VAR = "s_an" ! default = "salt" + ! The name of the salinity variable in SALT_Z_INIT_FILE. +Z_INIT_ALE_REMAPPING = True ! [Boolean] default = False + ! If True, then remap straight to model coordinate from file. +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. + +! === module MOM_diag_mediator === +NUM_DIAG_COORDS = 2 ! default = 1 + ! The number of diagnostic vertical coordinates to use. For each coordinate, an + ! entry in DIAG_COORDS must be provided. +DIAG_COORDS = "z Z ZSTAR", "rho2 RHO2 RHO" ! + ! A list of string tuples associating diag_table modules to a coordinate + ! definition used for diagnostics. Each string is of the form + ! "MODULE_SUFFIX,PARAMETER_SUFFIX,COORDINATE_NAME". +DIAG_COORD_DEF_RHO2 = "RFNC1:35,999.5,1028,1028.5,8.,1038.,0.0078125" ! default = "WOA09" + ! Determines how to specify the coordinate resolution. Valid options are: + ! PARAM - use the vector-parameter DIAG_COORD_RES_RHO2 + ! UNIFORM[:N] - 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,dz + ! or FILE:lev.nc,interfaces=zw + ! WOA09[:N] - the WOA09 vertical grid (approximately) + ! 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 + +! === 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. +MEKE_BGSRC = 1.0E-13 ! [W kg-1] default = 0.0 + ! A background energy source for MEKE. +MEKE_KHMEKE_FAC = 1.0 ! [nondim] default = 0.0 + ! A factor that maps MEKE%Kh to Kh for MEKE itself. +MEKE_ALPHA_RHINES = 0.15 ! [nondim] default = 0.05 + ! If positive, is a coefficient weighting the Rhines scale in the expression for + ! mixing length used in MEKE-derived diffusivity. +MEKE_ALPHA_EADY = 0.15 ! [nondim] default = 0.05 + ! If positive, is a coefficient weighting the Eady length scale in the + ! expression for mixing length used in MEKE-derived diffusivity. + +! === 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. +KHTR_SLOPE_CFF = 0.25 ! [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. +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 in front of the beta term in the denominator. Gill's + ! is 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. +PRANDTL_TURB = 1.25 ! [nondim] default = 1.0 + ! The turbulent Prandtl number applied to shear instability. +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. +KV_BBL_MIN = 0.0 ! [m2 s-1] default = 1.0E-04 + ! The minimum viscosities in the bottom boundary layer. +KV_TBL_MIN = 0.0 ! [m2 s-1] default = 1.0E-04 + ! The minimum viscosities in the top boundary layer. + +! === module MOM_thickness_diffuse === +KHTH_MAX_CFL = 0.1 ! [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. + +! === module MOM_porous_barriers === +PORBAR_ANSWER_DATE = 99991231 ! default = 20181231 + ! The vintage of the porous barrier weight function calculations. Values below + ! 20220806 recover the old answers in which the layer averaged weights are not + ! strictly limited by an upper-bound of 1.0 . + +! === module MOM_continuity === + +! === module MOM_continuity_PPM === +ETA_TOLERANCE = 1.0E-06 ! [m] default = 3.75E-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 than about + ! 10^-15*MAXIMUM_DEPTH. +ETA_TOLERANCE_AUX = 0.001 ! [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. + +! === module MOM_CoriolisAdv === +CORIOLIS_SCHEME = "SADOURNY75_ENSTRO" ! 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. + +! === module MOM_PressureForce === + +! === module MOM_PressureForce_AFV === +MASS_WEIGHT_IN_PRESSURE_GRADIENT = True ! [Boolean] default = False + ! If true, use mass weighting when interpolating T/S for integrals near the + ! bathymetry in AFV pressure gradient calculations. + +! === module MOM_hor_visc === +LAPLACIAN = True ! [Boolean] default = False + ! If true, use a Laplacian horizontal viscosity. +AH_VEL_SCALE = 0.01 ! [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 and Leith viscosities, 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. +USE_LAND_MASK_FOR_HVISC = False ! [Boolean] default = False + ! If true, use Use the land mask for the computation of thicknesses at velocity + ! locations. This eliminates the dependence on arbitrary values over land or + ! outside of the domain. Default is False in order to maintain answers with + ! legacy experiments but should be changed to True for new experiments. + +! === module MOM_vert_friction === +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. + +! === module MOM_PointAccel === +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. + +! === 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 + ! tendency 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 = True ! [Boolean] default = False + ! If true, add a dynamic pressure due to a viscous ice shelf, for instance. +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.9 ! [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. +BT_USE_OLD_CORIOLIS_BRACKET_BUG = True ! [Boolean] default = False + ! If True, use an order of operations that is not bitwise rotationally symmetric + ! in the meridional Coriolis term of the barotropic solver. + +! === 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 = 1.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_FRONT_LENGTH = 500.0 ! [m] default = 0.0 + ! If non-zero, is the frontal-length scale used to calculate the upscaling of + ! buoyancy gradients that is otherwise represented by the parameter + ! FOX_KEMPER_ML_RESTRAT_COEF. If MLE_FRONT_LENGTH is non-zero, it is recommended + ! to set FOX_KEMPER_ML_RESTRAT_COEF=1.0. +MLE_USE_PBL_MLD = True ! [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_MLD_DECAY_TIME = 2.592E+06 ! [s] default = 0.0 + ! The time-scale for a running-mean filter applied to the mixed-layer depth used + ! in the MLE restratification parameterization. When the MLD deepens below the + ! current running-mean the running-mean is instantaneously set to the current + ! MLD. + +! === 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 = False ! [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. + +! === module MOM_CVMix_KPP === +! This is the MOM wrapper to CVMix:KPP +! See http://cvmix.github.io/ + +! === module MOM_tidal_mixing === +! Vertical Tidal Mixing Parameterization +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 = "POLZIN_09" ! 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-stretched algebraic + ! decay profile. +INT_TIDE_DECAY_SCALE = 300.3003003003003 ! [m] default = 500.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.84 ! [nondim] default = 1.0 + ! A scaling factor for the roughness amplitude with INT_TIDE_DISSIPATION. +TKE_ITIDE_MAX = 0.1 ! [W m-2] default = 1000.0 + ! The maximum internal tide energy source available 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 = "tidal_amplitude.v20140616.nc" ! default = "tideamp.nc" + ! The path to the file containing the spatially varying tidal amplitudes with + ! INT_TIDE_DISSIPATION. +H2_FILE = "ocean_topog.nc" ! + ! The path to the file containing the sub-grid-scale topographic roughness + ! amplitude with INT_TIDE_DISSIPATION. + +! === module MOM_CVMix_conv === +! Parameterization of enhanced mixing due to convection via CVMix + +! === module MOM_geothermal === +GEOTHERMAL_SCALE = 1.0 ! [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_davies2013_v1.nc" ! default = "" + ! The file from which the geothermal heating is to be read, or blank to use a + ! constant heating rate. +GEOTHERMAL_VARNAME = "geothermal_hf" ! default = "geo_heat" + ! The name of the geothermal heating variable in GEOTHERMAL_FILE. + +! === 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, diffusivity 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 for an isopycnal layer-formulation. + +! === module MOM_bkgnd_mixing === +! Adding static vertical background mixing coefficients +KD = 1.5E-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 = 1.5E-07 + ! The minimum diapycnal diffusivity. +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. +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. + +! === 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. +KAPPA_SHEAR_ITER_BUG = True ! [Boolean] default = True + ! If true, use an older, dimensionally inconsistent estimate of the derivative + ! of diffusivity with energy in the Newton's method iteration. The bug causes + ! undercorrections when dz > 1 m. +KAPPA_SHEAR_ALL_LAYER_TKE_BUG = True ! [Boolean] default = True + ! If true, report back the latest estimate of TKE instead of the time average + ! TKE when there is mass in all layers. Otherwise always report the time + ! averaged TKE, as is currently done when there are some massless layers. + +! === module MOM_CVMix_shear === +! Parameterization of shear-driven turbulence via CVMix (various options) + +! === module MOM_CVMix_ddiff === +! Parameterization of mixing due to double diffusion processes via CVMix + +! === module MOM_diabatic_aux === +! The following parameters are used for auxiliary diabatic processes. +PRESSURE_DEPENDENT_FRAZIL = True ! [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. +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-clim-1997-2010.1440x1080.v20180328.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. +CHL_VARNAME = "chlor_a" ! default = "CHL_A" + ! Name of CHL_A variable in CHL_FILE. + +! === module MOM_energetic_PBL === +ML_OMEGA_FRAC = 0.001 ! [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). +TKE_DECAY = 0.01 ! [nondim] default = 2.5 + ! TKE_DECAY relates the vertical rate of decay of the TKE available for + ! mechanical entrainment to the natural Ekman depth. +EPBL_MSTAR_SCHEME = "OM4" ! default = "CONSTANT" + ! EPBL_MSTAR_SCHEME selects the method for setting mstar. Valid values are: + ! CONSTANT - Use a fixed mstar given by MSTAR + ! OM4 - Use L_Ekman/L_Obukhov in the sabilizing limit, as in OM4 + ! REICHL_H18 - Use the scheme documented in Reichl & Hallberg, 2018. +MSTAR_CAP = 10.0 ! [nondim] default = -1.0 + ! If this value is positive, it sets the maximum value of mstar allowed in ePBL. + ! (This is not used if EPBL_MSTAR_SCHEME = CONSTANT). +MSTAR2_COEF1 = 0.29 ! [nondim] default = 0.3 + ! Coefficient in computing mstar when rotation and stabilizing effects are both + ! important (used if EPBL_MSTAR_SCHEME = OM4). +MSTAR2_COEF2 = 0.152 ! [nondim] default = 0.085 + ! Coefficient in computing mstar when only rotation limits the total mixing + ! (used if EPBL_MSTAR_SCHEME = OM4) +NSTAR = 0.06 ! [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. +MSTAR_CONV_ADJ = 0.667 ! [nondim] default = 0.0 + ! Coefficient used for reducing mstar during convection due to reduction of + ! stable density gradient. +USE_MLD_ITERATION = True ! [Boolean] default = False + ! A logical that specifies whether or not to use the distance to the bottom of + ! the actively turbulent boundary layer to help set the EPBL length scale. +EPBL_TRANSITION_SCALE = 0.01 ! [nondim] default = 0.1 + ! A scale for the mixing length in the transition layer at the edge of the + ! boundary layer as a fraction of the boundary layer thickness. +MIX_LEN_EXPONENT = 1.0 ! [nondim] default = 2.0 + ! The exponent applied to the ratio of the distance to the MLD and the MLD depth + ! which determines the shape of the mixing length. This is only used if + ! USE_MLD_ITERATION is True. +USE_LA_LI2016 = True ! [nondim] default = False + ! A logical to use the Li et al. 2016 (submitted) formula to determine the + ! Langmuir number. +EPBL_LANGMUIR_SCHEME = "ADDITIVE" ! default = "NONE" + ! EPBL_LANGMUIR_SCHEME selects the method for including Langmuir turbulence. + ! Valid values are: + ! NONE - Do not do any extra mixing due to Langmuir turbulence + ! RESCALE - Use a multiplicative rescaling of mstar to account for Langmuir + ! turbulence + ! ADDITIVE - Add a Langmuir turblence contribution to mstar to other + ! contributions +LT_ENHANCE_COEF = 0.044 ! [nondim] default = 0.447 + ! Coefficient for Langmuir enhancement of mstar +LT_ENHANCE_EXP = -1.5 ! [nondim] default = -1.33 + ! Exponent for Langmuir enhancementt of mstar +LT_MOD_LAC1 = 0.0 ! [nondim] default = -0.87 + ! Coefficient for modification of Langmuir number due to MLD approaching Ekman + ! depth. +LT_MOD_LAC4 = 0.0 ! [nondim] default = 0.95 + ! Coefficient for modification of Langmuir number due to ratio of Ekman to + ! stable Obukhov depth. +LT_MOD_LAC5 = 0.22 ! [nondim] default = 0.95 + ! Coefficient for modification of Langmuir number due to ratio of Ekman to + ! unstable Obukhov depth. + +! === module MOM_regularize_layers === + +! === module MOM_opacity === +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) + ! PPM - Piecewise Parabolic Method (Colella-Woodward) + +! === module MOM_tracer_hor_diff === +CHECK_DIFFUSIVE_CFL = True ! [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 the greater + ! of 1 or MAX_TR_DIFFUSION_CFL iteration. + +! === module MOM_neutral_diffusion === +! This module implements neutral diffusion of tracers + +! === module MOM_lateral_boundary_diffusion === +! This module implements lateral diffusion of tracers near boundaries + +! === module MOM_sum_output === +MAXTRUNC = 100000 ! [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. +ENERGYSAVEDAYS = 0.25 ! [days] default = 1.0 + ! The interval in units of TIMEUNIT between saves of the energies of the run and + ! other globally summed diagnostics. + +! === module ocean_model_init === + +! === module MOM_surface_forcing === +MAX_P_SURF = 0.0 ! [Pa] default = -1.0 + ! The maximum surface pressure that can be exerted by the atmosphere and + ! floating sea-ice or ice shelves. This is needed because the FMS coupling + ! structure does not limit the water that can be frozen out of the ocean and the + ! ice-ocean heat fluxes are treated explicitly. No limit is applied if a + ! negative value is used. +CD_TIDES = 0.0018 ! [nondim] default = 1.0E-04 + ! The drag coefficient that applies to the tides. +GUST_CONST = 0.0 ! [Pa] default = 0.02 + ! The background gustiness in the winds. +FIX_USTAR_GUSTLESS_BUG = False ! [Boolean] default = False + ! If true correct a bug in the time-averaging of the gustless wind friction + ! velocity +USE_RIGID_SEA_ICE = True ! [Boolean] default = False + ! If true, sea-ice is rigid enough to exert a nonhydrostatic pressure that + ! resist vertical motion. +SEA_ICE_RIGID_MASS = 100.0 ! [kg m-2] default = 1000.0 + ! The mass of sea-ice per unit area at which the sea-ice starts to exhibit + ! rigidity + +! === module MOM_restart === + +! === module MOM_file_parser === diff --git a/exps/OM4p25.COBALT/INPUT/MOM_override b/exps/OM4p25.COBALT/INPUT/MOM_override new file mode 100644 index 000000000..b5d2f89fc --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/MOM_override @@ -0,0 +1,20 @@ +# Turn on generic tracers +USE_generic_tracer = True +#override CHL_FROM_FILE = False +GENERIC_TRACER_IC_FILE = "MOM_GENERICS.res.nc" +#override NUM_DIAG_COORDS = 2 +#override MAX_FIELDS=500 +#override DIAG_COORDS = "z 01 ZSTAR,zsfc 02 ZSTAR" +#override DIAG_COORD_DEF_01 = "WOA09" +#override DIAG_COORD_DEF_02 = "UNIFORM:50,250." +# Use bug fixes not in old OM4 runs. +#override DEFAULT_ANSWER_DATE = 99991231 +#override FLUXCONST = 0.0834 +# New WOA18 temp and salinity initial conditions +#override TEMP_Z_INIT_FILE = "woa18_decav_ptemp_monthly_fulldepth_01.nc" +#override SALT_Z_INIT_FILE = "woa18_decav_s_monthly_fulldepth_01.nc" +#override Z_INIT_REMAP_OLD_ALG = False +#override PHA_MLD_CALC = True +#override PHA_MLD_USE_DELTA_RHO = True +#override PHA_MLD_HREF = 10.0 +#override PHA_MLD_DRHO = 0.03 diff --git a/exps/OM4p25.COBALT/INPUT/MOM_saltrestore b/exps/OM4p25.COBALT/INPUT/MOM_saltrestore new file mode 100644 index 000000000..3888af4eb --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/MOM_saltrestore @@ -0,0 +1,26 @@ +! These parameters are used in CORE mode but should not be used in +! the coupled model (CM4). +RESTORE_SALINITY = True ! [Boolean] default = False + ! If true, the coupled driver will add a globally-balanced + ! fresh-water flux that drives sea-surface salinity + ! toward specified values. +FLUXCONST = 0.1667 ! [m day-1] + ! The constant that relates the restoring surface fluxes + ! to the relative surface anomalies (akin to a piston + ! velocity). Note the non-MKS units. +SALT_RESTORE_FILE = "salt_restore_JRA.1440x1080.v20190706.nc" ! default = "salt_restore.nc" + ! A file in which to find the surface salinity to use for restoring. +SALT_RESTORE_VARIABLE = "sos" ! default = "salt" + ! The name of the surface salinity variable to read from SALT_RESTORE_FILE for + ! restoring salinity. +SRESTORE_AS_SFLUX = True ! [Boolean] default = False + ! If true, the restoring of salinity is applied as a salt + ! flux instead of as a freshwater flux. +MAX_DELTA_SRESTORE = 5.0 ! [PSU or g kg-1] default = 999.0 + ! The maximum salinity difference used in restoring terms. +ADJUST_NET_FRESH_WATER_TO_ZERO = True ! [Boolean] default = False + ! If true, adjusts the net fresh-water forcing seen + ! by the ocean (including restoring) to zero. +USE_NET_FW_ADJUSTMENT_SIGN_BUG = False ! [Boolean] default = True + ! If true, use the wrong sign for the adjustment to + ! the net fresh-water. diff --git a/exps/OM4p25.COBALT/INPUT/Mineral_Flux_AM4.nc b/exps/OM4p25.COBALT/INPUT/Mineral_Flux_AM4.nc new file mode 120000 index 000000000..a8ab09105 --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/Mineral_Flux_AM4.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/Mineral_Flux_AM4.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/SIS_input b/exps/OM4p25.COBALT/INPUT/SIS_input new file mode 100644 index 000000000..a6d927286 --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/SIS_input @@ -0,0 +1,173 @@ +! This input file provides the adjustable run-time parameters for version 2 of the Sea Ice Simulator (SIS2). +! Where appropriate, parameters use usually given in MKS units. + +! This particular file is for the example in ice_ocean_SIS2/OM4_025.JRA. + +! This SIS_input file typically contains only the non-default values that are needed to reproduce this example. +! A full list of parameters for this example can be found in the corresponding SIS_parameter_doc.all file +! which is generated by the model at run-time. + +! === module ice_model === +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. +CONSTANT_COSZEN_IC = 0.0 ! [nondim] default = -1.0 + ! A constant value to use to initialize the cosine of the solar zenith angle for + ! the first radiation step, or a negative number to use the current time and + ! astronomy. +DO_ICEBERGS = True ! [Boolean] default = False + ! If true, call the iceberg module. +! ADD_DIURNAL_SW should only be true if the model is forced with a product that does not include SW forcing! +ADD_DIURNAL_SW = False ! [Boolean] default = False + ! If true, add a synthetic diurnal cycle to the shortwave radiation. + +! === module MOM_domains === +TRIPOLAR_N = True ! [Boolean] default = False + ! Use tripolar connectivity at the northern edge of the domain. With + ! TRIPOLAR_N, NIGLOBAL must be even. +NIGLOBAL = 1440 ! + ! 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 = 1080 ! + ! The total number of thickness grid points in the y-direction in the physical + ! domain. With STATIC_MEMORY_ this is set in SIS2_memory.h at compile time. +NIHALO = 4 ! 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 = 4 ! default = 4 + ! The number of halo points on each side in the y-direction. With + ! STATIC_MEMORY_ this is set as NJHALO_ in SIS2_memory.h at compile time; + ! without STATIC_MEMORY_ the default is NJHALO_ in SIS2_memory.h (if defined) or + ! 2. + +! === module MOM_hor_index === +! Sets the horizontal array index types. + +! === 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. +USE_TRIPOLAR_GEOLONB_BUG = True ! [Boolean] default = False + ! If true, use older code that incorrectly sets the longitude in some points + ! along the tripolar fold to be off by 360 degrees. +!MAXIMUM_DEPTH = 9682.232421875 ! [m] + ! The (diagnosed) maximum depth of the ocean. +OMEGA = 7.292E-05 ! [s-1] default = 7.2921E-05 + ! The rotation rate of the earth. +GRID_ROTATION_ANGLE_BUGS = True ! [Boolean] default = False + ! If true, use an older algorithm to calculate the sine and cosines needed + ! rotate between grid-oriented directions and true north and east. Differences + ! arise at the tripolar fold. + +! === module hor_grid === +! Parameters providing information about the lateral grid. + +! === module MOM_hor_index === +! Sets the horizontal array index types. + +! === module SIS2_ice_thm (thermo) === +! This sub-module calculates ice thermodynamic quantities. +CP_SEAWATER = 3992.0 ! [J kg-1 K-1] default = 4200.0 + ! The heat capacity of sea water, approximated as a constant. + +! === module SIS_tracer_registry === + +! === module SIS_tracer_flow_control === + +! === module SIS_slow_thermo === +! This module calculates the slow evolution of the ice mass, heat, and salt budgets. +ICE_BULK_SALINITY = 0.0 ! [g/kg] default = 4.0 + ! The fixed bulk salinity of sea ice. +ICE_RELATIVE_SALINITY = 0.1 ! [nondim] default = 0.0 + ! The initial salinity of sea ice as a fraction of the salinity of the seawater + ! from which it formed. + +! === module SIS2_ice_thm (updates) === +! This sub-module does updates of the sea-ice due to thermodynamic changes. + +! === module SIS_dyn_trans === +! This module updates the ice momentum and does ice transport. +DT_ICE_DYNAMICS = 1200.0 ! [seconds] default = -1.0 + ! The time step used for the slow ice dynamics, including stepping the + ! continuity equation and interactions between the ice mass field and + ! velocities. If 0 or negative the coupling time step will be used. +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. +DT_RHEOLOGY = 50.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. +SIS_THICKNESS_ADVECTION_SCHEME = "PCM" ! default = "UPWIND_2D" + ! The horizontal transport scheme for thickness: + ! UPWIND_2D - Non-directionally split upwind + ! PCM - Directionally split piecewise constant + ! PLM - Piecewise Linear Method + ! PPM:H3 - Piecewise Parabolic Method (Huyhn 3rd order) +INCONSISTENT_COVER_BUG = True ! [Boolean] default = True + ! If true, omit a recalculation of the fractional ice-free areal coverage after + ! the adjustment of the ice categories. +SIS_CONTINUITY_SCHEME = "PCM" ! default = "UPWIND_2D" + ! The horizontal transport scheme used in continuity: + ! UPWIND_2D - Non-directionally split upwind + ! PCM - Directionally split piecewise constant + ! PPM:C2PD - Positive definite PPM with 2nd order edge values + ! PPM:C2MO - Monotonic PPM with 2nd order edge values + +! === 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 piecewise constant + ! PLM - Piecewise Linear Method + ! PPM:H3 - Piecewise Parabolic Method (Huyhn 3rd order) +CFL_MASS_NEGLECT_BUG = True ! [Boolean] default = True + ! If true use a globally constant negligible volume in the denominator of the + ! tracer advection CFL calculation, reproducing an older incorrect expression, + ! rather than using a proper scaling of this negligible mass with cell area. + +! === module SIS_sum_output === +MAXTRUNC = 200 ! [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. + +! === module SIS_ice_diagnostics === +! This module handles sea-ice state diagnostics. + +! === module SIS_fast_thermo === +! This module applies rapidly varying heat fluxes to the ice and does an implicit surface temperature +! calculation. + +! === module SIS2_ice_thm (updates) === +! This sub-module does updates of the sea-ice due to thermodynamic changes. + +! === module SIS_optics === +! This module calculates the albedo and absorption profiles for shortwave radiation. +ICE_DELTA_EDD_R_ICE = 1.0 ! [nondimensional] default = 0.0 + ! A dreadfully documented tuning parameter for the radiative propeties of sea + ! ice with the delta-Eddington radiative transfer calculation. +ICE_DELTA_EDD_R_SNOW = 1.0 ! [nondimensional] default = 0.0 + ! A dreadfully documented tuning parameter for the radiative propeties of snow + ! on sea ice with the delta-Eddington radiative transfer calculation. +ICE_DELTA_EDD_R_POND = 1.0 ! [nondimensional] default = 0.0 + ! A dreadfully documented tuning parameter for the radiative propeties of + ! meltwater ponds on sea ice with the delta-Eddington radiative transfer + ! calculation. + +! === module MOM_file_parser === +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/exps/OM4p25.COBALT/INPUT/SIS_override b/exps/OM4p25.COBALT/INPUT/SIS_override new file mode 100644 index 000000000..9f3c37062 --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/SIS_override @@ -0,0 +1,5 @@ +#override U_TRUNC_FILE = "SIS_U_truncations" +#override V_TRUNC_FILE = "SIS_V_truncations" +#override MIN_OCN_INTERTIAL_H = 2. +#override ADD_DIURNAL_SW = False +#override ICE_STATS_INTERVAL = 30 diff --git a/exps/OM4p25.COBALT/INPUT/Soluble_Fe_Flux_AM4.nc b/exps/OM4p25.COBALT/INPUT/Soluble_Fe_Flux_AM4.nc new file mode 120000 index 000000000..478f28b96 --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/Soluble_Fe_Flux_AM4.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/Soluble_Fe_Flux_AM4.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/analysis_vgrid_lev35.v1.nc b/exps/OM4p25.COBALT/INPUT/analysis_vgrid_lev35.v1.nc new file mode 120000 index 000000000..1245a0b18 --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/analysis_vgrid_lev35.v1.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/analysis_vgrid_lev35.v1.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/atmos_mosaic_tile1Xland_mosaic_tile1.nc b/exps/OM4p25.COBALT/INPUT/atmos_mosaic_tile1Xland_mosaic_tile1.nc new file mode 120000 index 000000000..fd519d109 --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/atmos_mosaic_tile1Xland_mosaic_tile1.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/atmos_mosaic_tile1Xland_mosaic_tile1.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/atmos_mosaic_tile1Xocean_mosaic_tile1.nc b/exps/OM4p25.COBALT/INPUT/atmos_mosaic_tile1Xocean_mosaic_tile1.nc new file mode 120000 index 000000000..c40bd322c --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/atmos_mosaic_tile1Xocean_mosaic_tile1.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/atmos_mosaic_tile1Xocean_mosaic_tile1.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/basin_codes.v20140629.nc b/exps/OM4p25.COBALT/INPUT/basin_codes.v20140629.nc new file mode 120000 index 000000000..6a856b8f6 --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/basin_codes.v20140629.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/basin_codes.v20140629.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/esm4_drynh4_climo_1993-2014.nc b/exps/OM4p25.COBALT/INPUT/esm4_drynh4_climo_1993-2014.nc new file mode 120000 index 000000000..fa5a383f1 --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/esm4_drynh4_climo_1993-2014.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/esm4_drynh4_climo_1993-2014.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/esm4_drynoy_climo_1993-2014.nc b/exps/OM4p25.COBALT/INPUT/esm4_drynoy_climo_1993-2014.nc new file mode 120000 index 000000000..8b5f82520 --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/esm4_drynoy_climo_1993-2014.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/esm4_drynoy_climo_1993-2014.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/esm4_wetnh4_climo_1993-2014.nc b/exps/OM4p25.COBALT/INPUT/esm4_wetnh4_climo_1993-2014.nc new file mode 120000 index 000000000..1cc2cffa1 --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/esm4_wetnh4_climo_1993-2014.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/esm4_wetnh4_climo_1993-2014.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/esm4_wetnoy_climo_1993-2014.nc b/exps/OM4p25.COBALT/INPUT/esm4_wetnoy_climo_1993-2014.nc new file mode 120000 index 000000000..be9f0bd1d --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/esm4_wetnoy_climo_1993-2014.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/esm4_wetnoy_climo_1993-2014.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/geothermal_davies2013_v1.nc b/exps/OM4p25.COBALT/INPUT/geothermal_davies2013_v1.nc new file mode 120000 index 000000000..6e00fb994 --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/geothermal_davies2013_v1.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/geothermal_davies2013_v1.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/grid_spec.nc b/exps/OM4p25.COBALT/INPUT/grid_spec.nc new file mode 120000 index 000000000..5a573ba3c --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/grid_spec.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/grid_spec.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/hycom1_75_800m.nc b/exps/OM4p25.COBALT/INPUT/hycom1_75_800m.nc new file mode 120000 index 000000000..eb566dafd --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/hycom1_75_800m.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/hycom1_75_800m.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/init_ocean_cobalt.res.nc b/exps/OM4p25.COBALT/INPUT/init_ocean_cobalt.res.nc new file mode 120000 index 000000000..1e0ec581d --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/init_ocean_cobalt.res.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/init_ocean_cobalt.res.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/init_ocean_cobalt_nh3.res.nc b/exps/OM4p25.COBALT/INPUT/init_ocean_cobalt_nh3.res.nc new file mode 120000 index 000000000..5ccdd1db0 --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/init_ocean_cobalt_nh3.res.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/init_ocean_cobalt_nh3.res.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/land_mask.nc b/exps/OM4p25.COBALT/INPUT/land_mask.nc new file mode 120000 index 000000000..594392342 --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/land_mask.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/land_mask.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/land_mosaic_tile1Xocean_mosaic_tile1.nc b/exps/OM4p25.COBALT/INPUT/land_mosaic_tile1Xocean_mosaic_tile1.nc new file mode 120000 index 000000000..53ecbb780 --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/land_mosaic_tile1Xocean_mosaic_tile1.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/land_mosaic_tile1Xocean_mosaic_tile1.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/layer_coord.nc b/exps/OM4p25.COBALT/INPUT/layer_coord.nc new file mode 120000 index 000000000..db87d247a --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/layer_coord.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/layer_coord.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/mole_fraction_of_co2_extended_ssp245.nc b/exps/OM4p25.COBALT/INPUT/mole_fraction_of_co2_extended_ssp245.nc new file mode 120000 index 000000000..4b234cca6 --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/mole_fraction_of_co2_extended_ssp245.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/mole_fraction_of_co2_extended_ssp245.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/news_nutrients.nc b/exps/OM4p25.COBALT/INPUT/news_nutrients.nc new file mode 120000 index 000000000..37402a076 --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/news_nutrients.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/news_nutrients.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/ocean_hgrid.nc b/exps/OM4p25.COBALT/INPUT/ocean_hgrid.nc new file mode 120000 index 000000000..03cb11457 --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/ocean_hgrid.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/ocean_hgrid.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/ocean_mask.nc b/exps/OM4p25.COBALT/INPUT/ocean_mask.nc new file mode 120000 index 000000000..e9f4cf70f --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/ocean_mask.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/ocean_mask.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/ocean_mosaic.nc b/exps/OM4p25.COBALT/INPUT/ocean_mosaic.nc new file mode 120000 index 000000000..dd362896c --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/ocean_mosaic.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/ocean_mosaic.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/ocean_topog.nc b/exps/OM4p25.COBALT/INPUT/ocean_topog.nc new file mode 120000 index 000000000..2b923126e --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/ocean_topog.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/ocean_topog.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/runoff.daitren.clim.1440x1080.v20180328.nc b/exps/OM4p25.COBALT/INPUT/runoff.daitren.clim.1440x1080.v20180328.nc new file mode 120000 index 000000000..5b6f05056 --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/runoff.daitren.clim.1440x1080.v20180328.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/runoff.daitren.clim.1440x1080.v20180328.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/salt_restore_JRA.1440x1080.v20190706.nc b/exps/OM4p25.COBALT/INPUT/salt_restore_JRA.1440x1080.v20190706.nc new file mode 120000 index 000000000..9ee728e51 --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/salt_restore_JRA.1440x1080.v20190706.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/salt_restore_JRA.1440x1080.v20190706.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/tidal_amplitude.v20140616.nc b/exps/OM4p25.COBALT/INPUT/tidal_amplitude.v20140616.nc new file mode 120000 index 000000000..eca3c5d64 --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/tidal_amplitude.v20140616.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/tidal_amplitude.v20140616.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/topog.nc b/exps/OM4p25.COBALT/INPUT/topog.nc new file mode 120000 index 000000000..e88055d2e --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/topog.nc @@ -0,0 +1 @@ +ocean_topog.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/vgrid_75_2m.nc b/exps/OM4p25.COBALT/INPUT/vgrid_75_2m.nc new file mode 120000 index 000000000..95d4a74cc --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/vgrid_75_2m.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/vgrid_75_2m.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/woa18_all_i00_01.nc b/exps/OM4p25.COBALT/INPUT/woa18_all_i00_01.nc new file mode 120000 index 000000000..827dc7946 --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/woa18_all_i00_01.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/woa18_all_i00_01.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/woa18_all_n00_01.nc b/exps/OM4p25.COBALT/INPUT/woa18_all_n00_01.nc new file mode 120000 index 000000000..b49809880 --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/woa18_all_n00_01.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/woa18_all_n00_01.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/woa18_all_o00_01.nc b/exps/OM4p25.COBALT/INPUT/woa18_all_o00_01.nc new file mode 120000 index 000000000..7614848e1 --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/woa18_all_o00_01.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/woa18_all_o00_01.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/woa18_all_p00_01.nc b/exps/OM4p25.COBALT/INPUT/woa18_all_p00_01.nc new file mode 120000 index 000000000..961738fbc --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/woa18_all_p00_01.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/woa18_all_p00_01.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/woa18_decav_ptemp_monthly_fulldepth_01.nc b/exps/OM4p25.COBALT/INPUT/woa18_decav_ptemp_monthly_fulldepth_01.nc new file mode 120000 index 000000000..7c79a5498 --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/woa18_decav_ptemp_monthly_fulldepth_01.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/woa18_decav_ptemp_monthly_fulldepth_01.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/INPUT/woa18_decav_s_monthly_fulldepth_01.nc b/exps/OM4p25.COBALT/INPUT/woa18_decav_s_monthly_fulldepth_01.nc new file mode 120000 index 000000000..bf1eb21b7 --- /dev/null +++ b/exps/OM4p25.COBALT/INPUT/woa18_decav_s_monthly_fulldepth_01.nc @@ -0,0 +1 @@ +../../datasets/OM4_025.JRA/woa18_decav_s_monthly_fulldepth_01.nc \ No newline at end of file diff --git a/exps/OM4p25.COBALT/MOM_parameter_doc.all b/exps/OM4p25.COBALT/MOM_parameter_doc.all new file mode 100644 index 000000000..c3e6041f3 --- /dev/null +++ b/exps/OM4p25.COBALT/MOM_parameter_doc.all @@ -0,0 +1,2588 @@ +! This file was written by the model and records all non-layout or debugging parameters used at run-time. + +! === module MOM === +SPLIT = True ! [Boolean] default = True + ! Use the split time stepping if true. +SPLIT_RK2B = False ! [Boolean] default = False + ! If true, use a version of the split explicit time stepping scheme that + ! exchanges velocities with step_MOM that have the average barotropic phase over + ! a baroclinic timestep rather than the instantaneous barotropic phase. +CALC_RHO_FOR_SEA_LEVEL = False ! [Boolean] default = False + ! If true, the in-situ density is used to calculate the effective sea level that + ! is returned to the coupler. If false, the Boussinesq parameter RHO_0 is used. +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. +USE_CONTEMP_ABSSAL = False ! [Boolean] default = False + ! If true, the prognostics T&S are the conservative temperature and absolute + ! salinity. Care should be taken to convert them to potential temperature and + ! practical salinity before exchanging them with the coupler and/or reporting + ! T&S diagnostics. +ADIABATIC = False ! [Boolean] default = False + ! There are no diapycnal mass fluxes if ADIABATIC is true. This assumes that KD + ! = 0.0 and that there is no buoyancy forcing, but makes the model faster by + ! eliminating subroutine calls. +DO_DYNAMICS = True ! [Boolean] default = True + ! If False, skips the dynamics calls that update u & v, as well as the gravity + ! wave adjustment to h. This may be a fragile feature, but can be useful during + ! development +OFFLINE_TRACER_MODE = False ! [Boolean] default = False + ! If true, barotropic and baroclinic dynamics, thermodynamics are all bypassed + ! with all the fields necessary to integrate the tracer advection and diffusion + ! equation are read in from files stored from a previous integration of the + ! prognostic model. NOTE: This option only used in the ocean_solo_driver. +USE_REGRIDDING = True ! [Boolean] default = False + ! If True, use the ALE algorithm (regridding/remapping). If False, use the + ! layered isopycnal algorithm. +REMAP_UV_USING_OLD_ALG = True ! [Boolean] default = False + ! 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. +REMAP_AUXILIARY_VARS = False ! [Boolean] default = False + ! If true, apply ALE remapping to all of the auxiliary 3-dimensional variables + ! that are needed to reproduce across restarts, similarly to what is already + ! being done with the primary state variables. The default should be changed to + ! true. +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, isopycnal surfaces are diffused with a Laplacian coefficient of KHTH. +APPLY_INTERFACE_FILTER = False ! [Boolean] default = False + ! If true, model interface heights are subjected to a grid-scale dependent + ! spatial smoothing, often with biharmonic filter. +THICKNESSDIFFUSE_FIRST = True ! [Boolean] default = False + ! If true, do thickness diffusion or interface height smoothing before dynamics. + ! This is only used if THICKNESSDIFFUSE or APPLY_INTERFACE_FILTER is true. +USE_POROUS_BARRIER = True ! [Boolean] default = True + ! If true, use porous barrier to constrain the widths and face areas at the + ! edges of the grid cells. +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. +DT = 900.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 = 900.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 = True ! [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. +HFREEZE = -1.0 ! [m] default = -1.0 + ! If HFREEZE > 0, melt potential will be computed. The actual depth over which + ! melt potential is computed will be min(HFREEZE, OBLD), where OBLD is the + ! boundary layer depth. If HFREEZE <= 0 (default), melt potential will not be + ! computed. +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 = 7200.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 0, DTBT will be set 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 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.) +MIN_SALINITY = 0.01 ! [PPT] default = 0.0 + ! The minimum value of salinity when BOUND_SALINITY=True. +SALINITY_UNDERFLOW = 0.0 ! [PPT] default = 0.0 + ! A tiny value of salinity below which the it is set to 0. For reference, one + ! molecule of salt per square meter of ocean is of order 1e-29 ppt. +TEMPERATURE_UNDERFLOW = 0.0 ! [degC] default = 0.0 + ! A tiny magnitude of temperatures below which they are set to 0. +C_P = 3992.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. +USE_PSURF_IN_EOS = False ! [Boolean] default = True + ! If true, always include the surface pressure contributions in equation of + ! state calculations. +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 = 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. +ALTERNATE_FIRST_DIRECTION = False ! [Boolean] default = False + ! If true, after every dynamic timestep alternate whether the x- or y- direction + ! updates occur first in directionally split parts of the calculation. If this + ! is true, FIRST_DIRECTION applies at the start of a new run or if the next + ! first direction can not be found in the restart file. +CHECK_BAD_SURFACE_VALS = True ! [Boolean] default = False + ! If true, check the surface state for ridiculous values. +BAD_VAL_SSH_MAX = 50.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 = 75.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 = 55.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 = -3.0 ! [deg C] default = -2.1 + ! The value of SST below which a bad value message is triggered, if + ! CHECK_BAD_SURFACE_VALS is true. +BAD_VAL_COLUMN_THICKNESS = 0.0 ! [m] default = 0.0 + ! The value of column thickness below which a bad value message is triggered, if + ! CHECK_BAD_SURFACE_VALS is true. +DEFAULT_ANSWER_DATE = 99991231 ! default = 99991231 + ! This sets the default value for the various _ANSWER_DATE parameters. +SURFACE_ANSWER_DATE = 99991231 ! default = 99991231 + ! The vintage of the expressions for the surface properties. Values below + ! 20190101 recover the answers from the end of 2018, while higher values use + ! updated and more robust forms of the same expressions. +USE_DIABATIC_TIME_BUG = False ! [Boolean] default = False + ! If true, uses the wrong calendar time for diabatic processes, as was done in + ! MOM6 versions prior to February 2018. This is not recommended. +SAVE_INITIAL_CONDS = False ! [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 = 0 ! 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. +USE_DBCLIENT = False ! [Boolean] default = False + ! If true, initialize a client to a remote database that can be used for online + ! analysis and machine-learning inference. +ICE_SHELF = False ! [Boolean] default = False + ! If true, enables the ice shelf model. +USE_PARTICLES = False ! [Boolean] default = False + ! If true, use the particles package. +USE_UH_PARTICLES = False ! [Boolean] default = False + ! If true, use the uh velocity in the particles package. +ENSEMBLE_OCEAN = False ! [Boolean] default = False + ! If False, The model is being run in serial mode as a single realization. If + ! True, The current model realization is part of a larger ensemble and at the + ! end of step MOM, we will perform a gather of the ensemble members for + ! statistical evaluation and/or data assimilation. +HOMOGENIZE_FORCINGS = False ! [Boolean] default = False + ! If True, homogenize the forces and fluxes. + +! === module MOM_domains === +REENTRANT_X = True ! [Boolean] default = True + ! If true, the domain is zonally reentrant. +REENTRANT_Y = False ! [Boolean] default = False + ! If true, the domain is meridionally reentrant. +TRIPOLAR_N = True ! [Boolean] default = False + ! Use tripolar connectivity at the northern edge of the domain. With + ! TRIPOLAR_N, NIGLOBAL must be even. +NIGLOBAL = 1440 ! + ! 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 = 1080 ! + ! 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. +NIHALO = 4 ! default = 4 + ! The number of halo points on each side in the x-direction. How this is set + ! varies with the calling component and static or dynamic memory configuration. +NJHALO = 4 ! default = 4 + ! The number of halo points on each side in the y-direction. How this is set + ! varies with the calling component and static or dynamic memory configuration. + +! === module MOM_hor_index === +! Sets the horizontal array index types. + +! === module MOM_grid === +! Parameters providing information about the lateral grid. +REFERENCE_HEIGHT = 0.0 ! [m] default = 0.0 + ! A reference value for geometric height fields, such as bathyT. + +! === 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. +USE_TRIPOLAR_GEOLONB_BUG = False ! [Boolean] default = False + ! If true, use older code that incorrectly sets the longitude in some points + ! along the tripolar fold to be off by 360 degrees. +RAD_EARTH = 6.378E+06 ! [m] default = 6.378E+06 + ! The radius of the Earth. +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. + ! bbuilder - build topography from list of functions. + ! benchmark - use the benchmark test case topography. + ! Neverworld - use the Neverworld 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. + ! Kelvin - flat but with rotated land mask. + ! seamount - Gaussian bump for spontaneous motion test case. + ! dumbbell - Sloshing channel with reservoirs on both ends. + ! shelfwave - exponential slope for shelfwave test case. + ! Phillips - ACC-like idealized topography used in the Phillips config. + ! dense - Denmark Strait-like dense water formation and overflow. + ! USER - call a user modified routine. +TOPO_FILE = "ocean_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 = "All_edits.nc" ! default = "" + ! The file from which to read a list of i,j,z topography overrides. +ALLOW_LANDMASK_CHANGES = False ! [Boolean] default = False + ! If true, allow topography overrides to change land mask. +MINIMUM_DEPTH = 9.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. +MASKING_DEPTH = 0.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 it has the special default value. +MAXIMUM_DEPTH = 6500.0 ! [m] + ! The maximum depth of the ocean. + +! === 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. +CHANNEL_CONFIG = "list" ! 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. +CHANNEL_LIST_FILE = "MOM_channels_global_025" ! default = "MOM_channel_list" + ! The file from which the list of narrowed channels is read. +CHANNEL_LIST_360_LON_CHECK = True ! [Boolean] default = True + ! If true, the channel configuration list works for any longitudes in the range + ! of -360 to 360. +FATAL_UNUSED_CHANNEL_WIDTHS = False ! [Boolean] default = False + ! If true, trigger a fatal error if there are any channel widths in + ! CHANNEL_LIST_FILE that do not cause any open face widths to change. +SUBGRID_TOPO_AT_VEL = False ! [Boolean] default = False + ! If true, use variables from TOPO_AT_VEL_FILE as parameters for porous barrier. +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. +GRID_ROTATION_ANGLE_BUGS = False ! [Boolean] default = False + ! If true, use an older algorithm to calculate the sine and cosines needed + ! rotate between grid-oriented directions and true north and east. Differences + ! arise at the tripolar fold. + +! === 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 minimum 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 = 75 ! [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", "JACKETT_MCD", "WRIGHT", + ! "WRIGHT_REDUCED", "WRIGHT_FULL", "NEMO", "ROQUET_RHO", "ROQUET_SPV" and + ! "TEOS10". This is only used if USE_EOS is true. +USE_WRIGHT_2ND_DERIV_BUG = False ! [Boolean] default = False + ! If true, use a bug in the calculation of the second derivatives of density + ! with temperature and with temperature and pressure that causes some terms to + ! be only 2/3 of what they should be. +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", "TEOS_POLY", + ! "TEOS10" +TFREEZE_S0_P0 = 0.0 ! [degC] default = 0.0 + ! When TFREEZE_FORM=LINEAR, this is the freezing potential temperature at S=0, + ! P=0. +DTFREEZE_DS = -0.054 ! [degC ppt-1] default = -0.054 + ! When TFREEZE_FORM=LINEAR, this is the derivative of the freezing potential + ! temperature with salinity. +DTFREEZE_DP = -7.75E-08 ! [degC 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 = True ! [Boolean] default = False + ! If true, the IO layout is used to group processors that write to the same + ! restart file or each processor writes its own (numbered) restart file. If + ! false, a single restart file is generated combining output from all PEs. +RESTARTFILE = "MOM.res" ! default = "MOM.res" + ! The name-root of the restart file. +MAX_FIELDS = 500 ! default = 100 + ! The maximum number of restart fields that can be used. +RESTART_CHECKSUMS_REQUIRED = True ! [Boolean] default = True + ! If true, require the restart checksums to match and error out otherwise. Users + ! may want to avoid this comparison if for example the restarts are made from a + ! run with a different mask_table than the current run, in which case the + ! checksums will not match and cause crash. +STREAMING_FILTER_M2 = False ! [Boolean] default = False + ! If true, turn on streaming band-pass filter for detecting instantaneous tidal + ! signals. +STREAMING_FILTER_K1 = False ! [Boolean] default = False + ! If true, turn on streaming band-pass filter for detecting instantaneous tidal + ! signals. + +! === 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_RGC_TRACER = False ! [Boolean] default = False + ! If true, use the RGC_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 = False ! [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_CFC_CAP = False ! [Boolean] default = False + ! If true, use the MOM_CFC_cap tracer package. +USE_generic_tracer = True ! [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. +USE_BOUNDARY_IMPULSE_TRACER = False ! [Boolean] default = False + ! If true, use the boundary impulse tracer. +USE_DYED_OBC_TRACER = False ! [Boolean] default = False + ! If true, use the dyed_obc_tracer tracer package. +USE_NW2_TRACERS = False ! [Boolean] default = False + ! If true, use the NeverWorld2 tracers. + +! === 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 boundary 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 boundary 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 boundary layer and ages at unit rate in the + ! interior. +DO_BL_RESIDENCE = False ! [Boolean] default = False + ! If true, use a residence tracer that is set to 0 age in the interior and ages + ! at unit rate in the boundary layer. +USE_REAL_BL_DEPTH = False ! [Boolean] default = False + ! If true, the ideal age tracers will use the boundary layer depth diagnosed + ! from the BL or bulkmixedlayer scheme. +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 +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 register_MOM_generic_tracer === +GENERIC_TRACER_IC_FILE = "MOM_GENERICS.res.nc" ! default = "" + ! The file in which the generic tracer initial values can be found, or an empty + ! string for internal initialization. +GENERIC_TRACER_IC_FILE_IS_Z = False ! [Boolean] default = False + ! If true, GENERIC_TRACER_IC_FILE is in depth space, not layer space. + +! === module MOM_coord_initialization === +COORD_CONFIG = "ALE" ! default = "none" + ! This specifies how layers are to be defined: + ! ALE or none - used to avoid defining layers in ALE mode + ! 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. +LIGHTEST_DENSITY = 1035.0 ! [kg m-3] default = 1035.0 + ! The reference potential density used for layer 1. +REGRIDDING_COORDINATE_MODE = "HYCOM1" ! default = "LAYER" + ! Coordinate mode for vertical regridding. Choose among the following + ! possibilities: LAYER - Isopycnal or stacked shallow water layers + ! ZSTAR, Z* - stretched geopotential z* + ! SIGMA_SHELF_ZSTAR - stretched geopotential z* ignoring shelf + ! SIGMA - terrain following coordinates + ! RHO - continuous isopycnal + ! HYCOM1 - HyCOM-like hybrid coordinate + ! HYBGEN - Hybrid coordinate from the Hycom hybgen code + ! ADAPTIVE - optimize for smooth neutral density surfaces +REGRIDDING_COORDINATE_UNITS = "m" ! default = "m" + ! Units of the regridding coordinate. +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_CW (3rd-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) +REMAPPING_ANSWER_DATE = 99991231 ! default = 99991231 + ! The vintage of the expressions and order of arithmetic to use for remapping. + ! Values below 20190101 result in the use of older, less accurate expressions + ! that were in use at the end of 2018. Higher values result in the use of more + ! robust and accurate forms of mathematically equivalent expressions. +REGRIDDING_ANSWER_DATE = 20181231 ! default = 20181231 + ! The vintage of the expressions and order of arithmetic to use for regridding. + ! Values below 20190101 result in the use of older, less accurate expressions + ! that were in use at the end of 2018. Higher values result in the use of more + ! robust and accurate forms of mathematically equivalent expressions. +BOUNDARY_EXTRAPOLATION = True ! [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. +ALE_COORDINATE_CONFIG = "HYBRID:hycom1_75_800m.nc,sigma2,FNC1:2,4000,4.5,.01" ! default = "UNIFORM" + ! Determines how to specify the coordinate resolution. Valid options are: + ! PARAM - use the vector-parameter ALE_RESOLUTION + ! UNIFORM[:N] - 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,dz + ! or FILE:lev.nc,interfaces=zw + ! WOA09[:N] - the WOA09 vertical grid (approximately) + ! WOA09INT[:N] - layers spanned by the WOA09 depths + ! WOA23INT[:N] - layers spanned by the WOA23 depths + ! 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 = 7*2.0, 2*2.01, 2.02, 2.03, 2.05, 2.08, 2.11, 2.15, 2.21, 2.2800000000000002, 2.37, 2.48, 2.61, 2.77, 2.95, 3.17, 3.4299999999999997, 3.74, 4.09, 4.49, 4.95, 5.48, 6.07, 6.74, 7.5, 8.34, 9.280000000000001, 10.33, 11.49, 12.77, 14.19, 15.74, 17.450000000000003, 19.31, 21.35, 23.56, 25.97, 28.580000000000002, 31.41, 34.47, 37.77, 41.32, 45.14, 49.25, 53.65, 58.370000000000005, 63.42, 68.81, 74.56, 80.68, 87.21000000000001, 94.14, 101.51, 109.33, 117.62, 126.4, 135.68, 145.5, 155.87, 166.81, 178.35, 190.51, 203.31, 216.78, 230.93, 245.8, 261.42, 277.83 ! [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. +!TARGET_DENSITIES = 1010.0, 1014.3034, 1017.8088, 1020.843, 1023.5566, 1025.813, 1027.0275, 1027.9114, 1028.6422, 1029.2795, 1029.852, 1030.3762, 1030.8626, 1031.3183, 1031.7486, 1032.1572, 1032.5471, 1032.9207, 1033.2798, 1033.6261, 1033.9608, 1034.2519, 1034.4817, 1034.6774, 1034.8508, 1035.0082, 1035.1533, 1035.2886, 1035.4159, 1035.5364, 1035.6511, 1035.7608, 1035.8661, 1035.9675, 1036.0645, 1036.1554, 1036.2411, 1036.3223, 1036.3998, 1036.4739, 1036.5451, 1036.6137, 1036.68, 1036.7441, 1036.8062, 1036.8526, 1036.8874, 1036.9164, 1036.9418, 1036.9647, 1036.9857, 1037.0052, 1037.0236, 1037.0409, 1037.0574, 1037.0738, 1037.0902, 1037.1066, 1037.123, 1037.1394, 1037.1558, 1037.1722, 1037.1887, 1037.206, 1037.2241, 1037.2435, 1037.2642, 1037.2866, 1037.3112, 1037.3389, 1037.3713, 1037.4118, 1037.475, 1037.6332, 1037.8104, 1038.0 ! [m] + ! HYBRID target densities for interfaces +REGRID_COMPRESSIBILITY_FRACTION = 0.01 ! [nondim] default = 0.0 + ! When interpolating potential density profiles we can add some artificial + ! compressibility solely to make homogeneous regions appear stratified. +MIN_THICKNESS = 0.001 ! [m] default = 0.001 + ! When regridding, this is the minimum layer thickness allowed. +HYCOM1_ONLY_IMPROVES = False ! [Boolean] default = False + ! When regridding, an interface is only moved if this improves the fit to the + ! target density. +MAXIMUM_INT_DEPTH_CONFIG = "FNC1:5,8000.0,1.0,.01" ! 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 +!MAXIMUM_INT_DEPTHS = 0.0, 5.0, 12.75, 23.25, 36.49, 52.480000000000004, 71.22, 92.71000000000001, 116.94000000000001, 143.92000000000002, 173.65, 206.13, 241.36, 279.33000000000004, 320.05000000000007, 363.5200000000001, 409.7400000000001, 458.7000000000001, 510.4100000000001, 564.8700000000001, 622.0800000000002, 682.0300000000002, 744.7300000000002, 810.1800000000003, 878.3800000000003, 949.3300000000004, 1023.0200000000004, 1099.4600000000005, 1178.6500000000005, 1260.5900000000006, 1345.2700000000007, 1432.7000000000007, 1522.8800000000008, 1615.8100000000009, 1711.490000000001, 1809.910000000001, 1911.080000000001, 2015.0000000000011, 2121.670000000001, 2231.080000000001, 2343.2400000000007, 2458.1500000000005, 2575.8100000000004, 2696.2200000000003, 2819.3700000000003, 2945.2700000000004, 3073.9200000000005, 3205.3200000000006, 3339.4600000000005, 3476.3500000000004, 3615.9900000000002, 3758.38, 3903.52, 4051.4, 4202.03, 4355.41, 4511.54, 4670.41, 4832.03, 4996.4, 5163.5199999999995, 5333.379999999999, 5505.989999999999, 5681.3499999999985, 5859.459999999998, 6040.319999999998, 6223.919999999998, 6410.269999999999, 6599.369999999999, 6791.219999999999, 6985.8099999999995, 7183.15, 7383.24, 7586.08, 7791.67, 8000.0 + ! The list of maximum depths for each interface. +MAX_LAYER_THICKNESS_CONFIG = "FNC1:400,31000.0,0.1,.01" ! 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 +!MAX_LAYER_THICKNESS = 400.0, 409.63, 410.32, 410.75, 411.07, 411.32, 411.52, 411.7, 411.86, 412.0, 412.13, 412.24, 412.35, 412.45, 412.54, 412.63, 412.71, 412.79, 412.86, 412.93, 413.0, 413.06, 413.12, 413.18, 413.24, 413.29, 413.34, 413.39, 413.44, 413.49, 413.54, 413.58, 413.62, 413.67, 413.71, 413.75, 413.78, 413.82, 413.86, 413.9, 413.93, 413.97, 414.0, 414.03, 414.06, 414.1, 414.13, 414.16, 414.19, 414.22, 414.24, 414.27, 414.3, 414.33, 414.35, 414.38, 414.41, 414.43, 414.46, 414.48, 414.51, 414.53, 414.55, 414.58, 414.6, 414.62, 414.65, 414.67, 414.69, 414.71, 414.73, 414.75, 414.77, 414.79, 414.83 ! [m] + ! The list of maximum thickness for each layer. +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) + ! PLM_HYBGEN (2nd-order accurate) + ! PPM_H4 (3rd-order accurate) + ! PPM_IH4 (3rd-order accurate) + ! PPM_HYBGEN (3rd-order accurate) + ! WENO_HYBGEN (3rd-order accurate) + ! PQM_IH4IH3 (4th-order accurate) + ! PQM_IH6IH5 (5th-order accurate) +VELOCITY_REMAPPING_SCHEME = "PPM_H4" ! default = "PPM_H4" + ! This sets the reconstruction scheme used for vertical remapping of velocities. + ! By default it is the same as REMAPPING_SCHEME. It can be one of the following + ! schemes: + ! PCM (1st-order accurate) + ! PLM (2nd-order accurate) + ! PLM_HYBGEN (2nd-order accurate) + ! PPM_H4 (3rd-order accurate) + ! PPM_IH4 (3rd-order accurate) + ! PPM_HYBGEN (3rd-order accurate) + ! WENO_HYBGEN (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-monotonicity 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_BOUNDARY_EXTRAP = False ! [Boolean] default = False + ! If true, values at the interfaces of boundary cells are extrapolated instead + ! of piecewise constant +INIT_BOUNDARY_EXTRAP = False ! [Boolean] default = False + ! If true, values at the interfaces of boundary cells are extrapolated instead + ! of piecewise constant during initialization.Defaults to REMAP_BOUNDARY_EXTRAP. +REMAPPING_USE_OM4_SUBCELLS = True ! [Boolean] default = True + ! This selects the remapping algorithm used in OM4 that does not use the full + ! reconstruction for the top- and lower-most sub-layers, but instead assumes + ! they are always vanished (untrue) and so just uses their edge values. We + ! recommend setting this option to false. +PARTIAL_CELL_VELOCITY_REMAP = False ! [Boolean] default = False + ! If true, use partial cell thicknesses at velocity points that are masked out + ! where they extend below the shallower of the neighboring bathymetry for + ! remapping velocity. +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 weights adopt a cubic profile. +REMAP_VEL_MASK_BBL_THICK = -0.001 ! [m] default = -0.001 + ! A thickness of a bottom boundary layer below which velocities in thin layers + ! are zeroed out after remapping, following practice with Hybgen remapping, or a + ! negative value to avoid such filtering altogether. + +! === module MOM_state_initialization === +FATAL_INCONSISTENT_RESTART_TIME = False ! [Boolean] default = False + ! If true and a time_in value is provided to MOM_initialize_state, verify that + ! the time read from a restart file is the same as time_in, and issue a fatal + ! error if it is not. Otherwise, simply set the time to time_in if present. +INIT_LAYERS_FROM_Z_FILE = True ! [Boolean] default = False + ! If true, initialize the layer thicknesses, temperatures, and salinities from a + ! Z-space file on a latitude-longitude grid. + +! === module MOM_initialize_layers_from_Z === +TEMP_SALT_Z_INIT_FILE = "" ! default = "temp_salt_z.nc" + ! The name of the z-space input file used to initialize temperatures (T) and + ! salinities (S). If T and S are not in the same file, TEMP_Z_INIT_FILE and + ! SALT_Z_INIT_FILE must be set. +TEMP_Z_INIT_FILE = "woa18_decav_ptemp_monthly_fulldepth_01.nc" ! default = "" + ! The name of the z-space input file used to initialize temperatures, only. +SALT_Z_INIT_FILE = "woa18_decav_s_monthly_fulldepth_01.nc" ! default = "" + ! The name of the z-space input file used to initialize temperatures, only. +Z_INIT_FILE_PTEMP_VAR = "ptemp_an" ! default = "ptemp" + ! The name of the potential temperature variable in TEMP_Z_INIT_FILE. +Z_INIT_FILE_SALT_VAR = "s_an" ! default = "salt" + ! The name of the salinity variable in 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 = False ! [Boolean] default = False + ! If false, uses the preferred remapping algorithm for initialization. If true, + ! use an older, less robust algorithm for remapping. +TEMP_SALT_INIT_VERTICAL_REMAP_ONLY = False ! [Boolean] default = False + ! If true, initial conditions are on the model horizontal grid. Extrapolation + ! over missing ocean values is done using an ICE-9 procedure with vertical ALE + ! remapping . +Z_INIT_REMAPPING_USE_OM4_SUBCELLS = True ! [Boolean] default = True + ! If true, use the OM4 remapping-via-subcells algorithm for initialization. See + ! REMAPPING_USE_OM4_SUBCELLS for more details. We recommend setting this option + ! to false. +HOR_REGRID_ANSWER_DATE = 99991231 ! default = 99991231 + ! The vintage of the order of arithmetic for horizontal regridding. Dates + ! before 20190101 give the same answers as the code did in late 2018, while + ! later versions add parentheses for rotational symmetry. Dates after 20230101 + ! use reproducing sums for global averages. +LAND_FILL_TEMP = 0.0 ! [degC] default = 0.0 + ! A value to use to fill in ocean temperatures on land points. +LAND_FILL_SALIN = 35.0 ! [ppt] default = 35.0 + ! A value to use to fill in ocean salinities on land points. +HORIZ_INTERP_TOL_TEMP = 0.001 ! [degC] default = 0.001 + ! The tolerance in temperature changes between iterations when interpolating + ! from an input dataset using horiz_interp_and_extrap_tracer. This routine + ! converges slowly, so an overly small tolerance can get expensive. +HORIZ_INTERP_TOL_SALIN = 0.001 ! [ppt] default = 0.001 + ! The tolerance in salinity changes between iterations when interpolating from + ! an input dataset using horiz_interp_and_extrap_tracer. This routine converges + ! slowly, so an overly small tolerance can get expensive. +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 pressure matches the imposed surface pressure which is + ! read from file. +REGRID_ACCELERATE_INIT = False ! [Boolean] default = False + ! If true, runs REGRID_ACCELERATE_ITERATIONS iterations of the regridding + ! algorithm to push the initial grid to be consistent with the initial + ! condition. Useful only for state-based and iterative coordinates. +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. +ODA_INCUPD = False ! [Boolean] default = False + ! If true, oda incremental updates will be applied everywhere in the domain. +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 via SPONGE_CONFIG. + +! === module MOM_diag_mediator === +NUM_DIAG_COORDS = 2 ! default = 1 + ! The number of diagnostic vertical coordinates to use. For each coordinate, an + ! entry in DIAG_COORDS must be provided. +DIAG_REMAPPING_USE_OM4_SUBCELLS = True ! [Boolean] default = True + ! If true, use the OM4 remapping-via-subcells algorithm for diagnostics. See + ! REMAPPING_USE_OM4_SUBCELLS for details. We recommend setting this option to + ! false. +USE_INDEX_DIAGNOSTIC_AXES = False ! [Boolean] default = False + ! If true, use a grid index coordinate convention for diagnostic axes. +DIAG_COORDS = "z 01 ZSTAR", "zsfc 02 ZSTAR" ! + ! A list of string tuples associating diag_table modules to a coordinate + ! definition used for diagnostics. Each string is of the form + ! "MODULE_SUFFIX,PARAMETER_SUFFIX,COORDINATE_NAME". +DIAG_MISVAL = 1.0E+20 ! [various] default = 1.0E+20 + ! Set the default missing value to use for diagnostics. +DIAG_AS_CHKSUM = False ! [Boolean] default = False + ! Instead of writing diagnostics to the diag manager, write a text file + ! containing the checksum (bitcount) of the array. +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. +DIAG_COORD_DEF_01 = "WOA09" ! default = "WOA09" + ! Determines how to specify the coordinate resolution. Valid options are: + ! PARAM - use the vector-parameter DIAG_COORD_RES_01 + ! UNIFORM[:N] - 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,dz + ! or FILE:lev.nc,interfaces=zw + ! WOA09[:N] - the WOA09 vertical grid (approximately) + ! WOA09INT[:N] - layers spanned by the WOA09 depths + ! WOA23INT[:N] - layers spanned by the WOA23 depths + ! 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 +DIAG_COORD_DEF_02 = "UNIFORM:50,250." ! default = "WOA09" + ! Determines how to specify the coordinate resolution. Valid options are: + ! PARAM - use the vector-parameter DIAG_COORD_RES_02 + ! UNIFORM[:N] - 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,dz + ! or FILE:lev.nc,interfaces=zw + ! WOA09[:N] - the WOA09 vertical grid (approximately) + ! WOA09INT[:N] - layers spanned by the WOA09 depths + ! WOA23INT[:N] - layers spanned by the WOA23 depths + ! 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 + +! === 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_IN_DYNAMICS = True ! [Boolean] default = True + ! If true, step MEKE forward with the dynamicsotherwise with the tracer + ! timestep. +EKE_SOURCE = "prog" ! default = "prog" + ! Determine the where EKE comes from: + ! 'prog': Calculated solving EKE equation + ! 'file': Read in from a file + ! 'dbclient': Retrieved from ML-database +MEKE_DAMPING = 0.0 ! [s-1] default = 0.0 + ! The local depth-independent 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_GEOMETRIC = False ! [Boolean] default = False + ! If MEKE_GEOMETRIC is true, uses the GM coefficient formulation from the + ! GEOMETRIC framework (Marshall et al., 2012). +MEKE_GEOMETRIC_ALPHA = 0.05 ! [nondim] default = 0.05 + ! The nondimensional coefficient governing the efficiency of the GEOMETRIC + ! thickness diffusion. +MEKE_EQUILIBRIUM_ALT = False ! [Boolean] default = False + ! If true, use an alternative formula for computing the (equilibrium)initial + ! value of MEKE. +MEKE_EQUILIBRIUM_RESTORING = False ! [Boolean] default = False + ! If true, restore MEKE back to its equilibrium value, which is calculated at + ! each time step. +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_BHFRCOEFF = -1.0 ! [nondim] default = -1.0 + ! The efficiency of the conversion of mean energy into MEKE by the biharmonic + ! dissipation. If MEKE_bhFRCOEFF is negative, this conversion is not used or + ! calculated. +MEKE_GMECOEFF = -1.0 ! [nondim] default = -1.0 + ! The efficiency of the conversion of MEKE into mean energy by GME. If + ! MEKE_GMECOEFF is negative, this conversion is not used or calculated. +MEKE_BGSRC = 1.0E-13 ! [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_GM_SRC_ALT = False ! [Boolean] default = False + ! If true, use the GM energy conversion form S^2*N^2*kappa rather than the + ! streamfunction for the MEKE GM source term. +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 = 1.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_MIN_LSCALE = False ! [Boolean] default = False + ! If true, use a strict minimum of provided length scales rather than harmonic + ! mean. +MEKE_RD_MAX_SCALE = False ! [Boolean] 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_KU = 0.0 ! [nondim] default = 0.0 + ! If non-zero, is the scaling coefficient in the expression forviscosity used to + ! parameterize harmonic lateral momentum mixing byunresolved eddies represented + ! by MEKE. Can be negative torepresent backscatter from the unresolved eddies. +MEKE_VISCOSITY_COEFF_AU = 0.0 ! [nondim] default = 0.0 + ! If non-zero, is the scaling coefficient in the expression forviscosity used to + ! parameterize biharmonic lateral momentum mixing byunresolved eddies + ! represented by MEKE. Can be negative torepresent 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 diffusivity. +MEKE_FIXED_TOTAL_DEPTH = True ! [Boolean] default = True + ! If true, use the nominal bathymetric depth as the estimate of the time-varying + ! ocean depth. Otherwise base the depth on the total ocean massper unit area. +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 diffusivity. +MEKE_ALPHA_RHINES = 0.15 ! [nondim] default = 0.0 + ! If positive, is a coefficient weighting the Rhines scale in the expression for + ! mixing length used in MEKE-derived diffusivity. +MEKE_ALPHA_EADY = 0.15 ! [nondim] default = 0.0 + ! If positive, is a coefficient weighting the Eady length scale in the + ! expression for mixing length used in MEKE-derived diffusivity. +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 diffusivity. +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 diffusivity. +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 biharmonic + ! 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 biharmonic 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 accommodate a mismatch + ! between the advecting barotropic flow and the vertical structure of MEKE. +MEKE_TOPOGRAPHIC_BETA = 0.0 ! [nondim] default = 0.0 + ! A scale factor to determine how much topographic beta is weighed in computing + ! beta in the expression of Rhines scale. Use 1 if full topographic beta effect + ! is considered; use 0 if it's completely ignored. +CDRAG = 0.003 ! [nondim] default = 0.003 + ! CDRAG is the drag coefficient relating the magnitude of the velocity field to + ! the bottom stress. +MEKE_CDRAG = 0.003 ! [nondim] default = 0.003 + ! Drag coefficient relating the magnitude of the velocity field to the bottom + ! stress in MEKE. + +! === 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. +USE_VISBECK = False ! [Boolean] default = False + ! If true, use the Visbeck et al. (1997) formulation for + ! thickness diffusivity. +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. +DEPTH_SCALED_KHTH = False ! [Boolean] default = False + ! If true, KHTH is scaled away when the depth is shallowerthan a reference + ! depth: KHTH = MIN(1,H/H0)**N * KHTH, where H0 is a reference depth, controlled + ! via DEPTH_SCALED_KHTH_H0, and the exponent (N) is controlled via + ! DEPTH_SCALED_KHTH_EXP. +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. +RESOLN_USE_EBT = False ! [Boolean] default = False + ! If true, uses the equivalent barotropic wave speed instead of first baroclinic + ! wave for calculating the resolution fn. +BACKSCAT_EBT_POWER = 0.0 ! [nondim] default = 0.0 + ! Power to raise EBT vertical structure to when backscatter has vertical + ! structure. +KHTH_USE_EBT_STRUCT = False ! [Boolean] default = False + ! If true, uses the equivalent barotropic structure as the vertical structure of + ! thickness diffusivity. +KD_GL90_USE_EBT_STRUCT = False ! [Boolean] default = False + ! If true, uses the equivalent barotropic structure as the vertical structure of + ! diffusivity in the GL90 scheme. +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.25 ! [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. +VERY_SMALL_FREQUENCY = 1.0E-17 ! [s-1] default = 1.0E-17 + ! A miniscule frequency that is used to avoid division by 0. The default value + ! is roughly (pi / (the age of the universe)). +USE_STANLEY_ISO = False ! [Boolean] default = False + ! If true, turn on Stanley SGS T variance parameterization in isopycnal slope + ! code. +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 ! [m2 s-1] default = 1.0E-06 + ! A diapycnal diffusivity that is used to interpolate more sensible values of T + ! & S into thin layers. +USE_SIMPLER_EADY_GROWTH_RATE = False ! [Boolean] default = False + ! If true, use a simpler method to calculate the Eady growth rate that avoids + ! division by layer thickness. Recommended. +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 or nondim] default = 0.0 + ! The fixed length scale in the Visbeck formula, or if negative a nondimensional + ! scaling factor relating this length scale squared to the cell areas. +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 ! 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 ! 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 = False + ! 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 = True + ! 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 in front of the beta term in the denominator. Gill's + ! is the more appropriate definition. +INTERNAL_WAVE_SPEED_TOL = 0.001 ! [nondim] default = 0.001 + ! The fractional tolerance for finding the wave speeds. +INTERNAL_WAVE_SPEED_MIN = 0.0 ! [m s-1] default = 0.0 + ! A floor in the first mode speed below which 0 used instead. +INTERNAL_WAVE_SPEED_BETTER_EST = True ! [Boolean] default = True + ! If true, use a more robust estimate of the first mode wave speed as the + ! starting point for iterations. +EBT_REMAPPING_USE_OM4_SUBCELLS = True ! [Boolean] default = True + ! If true, use the OM4 remapping-via-subcells algorithm for calculating EBT + ! structure. See REMAPPING_USE_OM4_SUBCELLS for details. We recommend setting + ! this option to false. +USE_QG_LEITH_GM = False ! [Boolean] default = False + ! If true, use the QG Leith viscosity as the GM coefficient. + +! === module MOM_set_visc === +SET_VISC_ANSWER_DATE = 99991231 ! default = 99991231 + ! The vintage of the order of arithmetic and expressions in the set viscosity + ! calculations. Values below 20190101 recover the answers from the end of 2018, + ! while higher values use updated and more robust forms of the same expressions. +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. +DRAG_AS_BODY_FORCE = False ! [Boolean] default = False + ! If true, the bottom stress is imposed as an explicit body force applied over a + ! fixed distance from the bottom, rather than as an implicit calculation based + ! on an enhanced near-bottom viscosity. The thickness of the bottom boundary + ! layer is HBBL. +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. +PRANDTL_TURB = 1.25 ! [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 increased by + ! KV_EXTRA_BBL 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. +BBL_USE_TIDAL_BG = False ! [Boolean] default = False + ! Flag to use the tidal RMS amplitude in place of constant background velocity + ! for computing u* in the BBL. This flag is only used when BOTTOMDRAGLAW is true + ! and LINEAR_DRAG is false. +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 = True + ! If true, use the equation of state in determining the properties of the bottom + ! boundary layer. Otherwise use the layer target potential densities. The + ! default of this parameter is the value of USE_EOS. +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 = 0.0 ! [m2 s-1] default = 1.0E-04 + ! The minimum viscosities in the bottom boundary layer. +KV_TBL_MIN = 0.0 ! [m2 s-1] default = 1.0E-04 + ! The minimum viscosities in the top boundary layer. +CORRECT_BBL_BOUNDS = False ! [Boolean] default = False + ! If true, uses the correct bounds on the BBL thickness and viscosity so that + ! the bottom layer feels the intended drag. +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. +TRIG_CHANNEL_DRAG_WIDTHS = True ! [Boolean] default = True + ! If true, use trigonometric expressions to determine the fractional open + ! interface lengths for concave topography. +CHANNEL_DRAG_MAX_BBL_THICK = 5.0 ! [m] default = 5.0 + ! The maximum bottom boundary layer thickness over which the channel drag is + ! exerted, or a negative value for no fixed limit, instead basing the BBL + ! thickness on the bottom stress, rotation and stratification. The default is + ! proportional to HBBL if USE_JACKSON_PARAM or DRAG_AS_BODY_FORCE is true. + +! === module MOM_thickness_diffuse === +KHTH = 0.0 ! [m2 s-1] default = 0.0 + ! The background horizontal thickness diffusivity. +READ_KHTH = False ! [Boolean] default = False + ! If true, read a file (given by KHTH_FILE) containing the spatially varying + ! horizontal isopycnal height diffusivity. +KHTH_MIN = 0.0 ! [m2 s-1] default = 0.0 + ! The minimum horizontal thickness diffusivity. +KHTH_MAX = 0.0 ! [m2 s-1] default = 0.0 + ! The maximum horizontal thickness diffusivity. +KHTH_MAX_CFL = 0.1 ! [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. +KH_ETA_CONST = 0.0 ! [m2 s-1] default = 0.0 + ! The background horizontal diffusivity of the interface heights (without + ! considering the layer density structure). If diffusive CFL limits are + ! encountered, the diffusivities of the isopycnals and the interfaces heights + ! are scaled back proportionately. +KH_ETA_VEL_SCALE = 0.0 ! [m s-1] default = 0.0 + ! A velocity scale that is multiplied by the grid spacing to give a contribution + ! to the horizontal diffusivity of the interface heights (without considering + ! the layer density structure). +DETANGLE_INTERFACES = False ! [Boolean] default = False + ! If defined add 3-d structured enhanced interface height diffusivities to + ! horizontally 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. +KHTH_USE_FGNV_STREAMFUNCTION = False ! [Boolean] default = False + ! If true, use the streamfunction formulation of Ferrari et al., 2010, which + ! effectively emphasizes graver vertical modes by smoothing in the vertical. +USE_STANLEY_GM = False ! [Boolean] default = False + ! If true, turn on Stanley SGS T variance parameterization in GM code. +USE_KH_IN_MEKE = False ! [Boolean] default = False + ! If true, uses the thickness diffusivity calculated here to diffuse MEKE. +USE_GME = False ! [Boolean] default = False + ! If true, use the GM+E backscatter scheme in association with the Gent and + ! McWilliams parameterization. +USE_GM_WORK_BUG = False ! [Boolean] default = False + ! If true, compute the top-layer work tendency on the u-grid with the incorrect + ! sign, for legacy reproducibility. +STOCH_EOS = False ! [Boolean] default = False + ! If true, stochastic perturbations are applied to the EOS in the PGF. +STANLEY_COEFF = -1.0 ! [nondim] default = -1.0 + ! Coefficient correlating the temperature gradient and SGS T variance. + +! === module MOM_porous_barriers === +PORBAR_ANSWER_DATE = 99991231 ! default = 99991231 + ! The vintage of the porous barrier weight function calculations. Values below + ! 20220806 recover the old answers in which the layer averaged weights are not + ! strictly limited by an upper-bound of 1.0 . +PORBAR_MASKING_DEPTH = 0.0 ! [m] default = 0.0 + ! If the effective average depth at the velocity cell is shallower than this + ! number, then porous barrier is not applied at that location. + ! PORBAR_MASKING_DEPTH is assumed to be positive below the sea surface. +PORBAR_ETA_INTERP = "MAX" ! default = "MAX" + ! A string describing the method that decides how the interface heights at the + ! velocity points are calculated. Valid values are: + ! MAX (the default) - maximum of the adjacent cells + ! MIN - minimum of the adjacent cells + ! ARITHMETIC - arithmetic mean of the adjacent cells + ! HARMONIC - harmonic mean of the adjacent cells + +! === module MOM_dynamics_split_RK2 === +TIDES = False ! [Boolean] default = False + ! If true, apply tidal momentum forcing. +CALCULATE_SAL = False ! [Boolean] default = False + ! If true, calculate self-attraction and loading. +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 SPLIT 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. +STORE_CORIOLIS_ACCEL = True ! [Boolean] default = True + ! If true, calculate the Coriolis accelerations at the end of each timestep for + ! use in the predictor step of the next split RK2 timestep. +FPMIX = False ! [Boolean] default = False + ! If true, apply profiles of momentum flux magnitude and direction +VISC_REM_BUG = True ! [Boolean] default = True + ! If true, visc_rem_[uv] in split mode is incorrectly calculated or accounted + ! for in three places. This parameter controls the defaults of three individual + ! flags, VISC_REM_TIMESTEP_FIX in MOM_dynamics_split_RK2(b), + ! VISC_REM_BT_WEIGHT_FIX in MOM_barotropic, and VISC_REM_CONT_HVEL_FIX in + ! MOM_continuity_PPM. Eventually, the three individual flags should be removed + ! after tests and the default of VISC_REM_BUG should be to False. +VISC_REM_TIMESTEP_FIX = False ! [Boolean] default = False + ! If true, use dt rather than dt_pred in vertvisc_remnant() at the end of + ! predictor stage for the following continuity() call and btstep() call in the + ! corrector step. This flag should be used with VISC_REM_BT_WEIGHT_FIX. + +! === 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 + ! properties. 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 = 3.75E-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 than about + ! 10^-15*MAXIMUM_DEPTH. +VELOCITY_TOLERANCE = 3.0E+08 ! [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. +VISC_REM_CONT_HVEL_FIX = False ! [Boolean] default = False + ! If true, velocity cell thickness h_[uv] from the continuity solver is not + ! multiplied by visc_rem_[uv]. Default of this flag is set by VISC_REM_BUG. + +! === 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_ENSTRO" ! 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_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_FV === +RHO_PGF_REF = 1035.0 ! [kg m-3] default = 1035.0 + ! The reference density that is subtracted off when calculating pressure + ! gradient forces. Its inverse is subtracted off of specific volumes when in + ! non-Boussinesq mode. The default is RHO_0. +SSH_IN_EOS_PRESSURE_FOR_PGF = False ! [Boolean] default = False + ! If true, include contributions from the sea surface height in the height-based + ! pressure used in the equation of state calculations for the Boussinesq + ! pressure gradient forces, including adjustments for atmospheric or sea-ice + ! pressure. +MASS_WEIGHT_IN_PRESSURE_GRADIENT = True ! [Boolean] default = False + ! If true, use mass weighting when interpolating T/S for integrals near the + ! bathymetry in FV pressure gradient calculations. +MASS_WEIGHT_IN_PRESSURE_GRADIENT_TOP = False ! [Boolean] default = False + ! If true and MASS_WEIGHT_IN_PRESSURE_GRADIENT is true, use mass weighting when + ! interpolating T/S for integrals near the top of the water column in FV + ! pressure gradient calculations. +CORRECTION_INTXPA = False ! [Boolean] default = False + ! If true, use a correction for surface pressure curvature in intx_pa. +RESET_INTXPA_INTEGRAL = False ! [Boolean] default = False + ! If true, reset INTXPA to match pressures at first nonvanished cell. Includes + ! pressure correction. +USE_INACCURATE_PGF_RHO_ANOM = False ! [Boolean] default = False + ! If true, use a form of the PGF that uses the reference density in an + ! inaccurate way. This is not recommended. +RECONSTRUCT_FOR_PRESSURE = True ! [Boolean] default = True + ! If True, use vertical reconstruction of T & S within the integrals of the FV + ! pressure gradient calculation. If False, use the constant-by-layer algorithm. + ! The default is set by USE_REGRIDDING. +PRESSURE_RECONSTRUCTION_SCHEME = 1 ! default = 1 + ! Order of vertical reconstruction of T/S to use in the integrals within the FV + ! pressure gradient calculation. + ! 0: PCM or no reconstruction. + ! 1: PLM reconstruction. + ! 2: PPM reconstruction. +BOUNDARY_EXTRAPOLATION_PRESSURE = True ! [Boolean] default = True + ! If true, the reconstruction of T & S for pressure in boundary cells is + ! extrapolated, rather than using PCM in these cells. If true, the same order + ! polynomial is used as is used for the interior cells. +USE_STANLEY_PGF = False ! [Boolean] default = False + ! If true, turn on Stanley SGS T variance parameterization in PGF code. + +! === module MOM_Zanna_Bolton === +USE_ZB2020 = False ! [Boolean] default = False + ! If true, turns on Zanna-Bolton-2020 (ZB) subgrid momentum parameterization of + ! mesoscale eddies. + +! === module MOM_hor_visc === +HOR_VISC_ANSWER_DATE = 99991231 ! default = 99991231 + ! The vintage of the order of arithmetic and expressions in the horizontal + ! viscosity calculations. Values below 20190101 recover the answers from the + ! end of 2018, while higher values use updated and more robust forms of the same + ! expressions. +USE_CONT_THICKNESS = False ! [Boolean] default = False + ! If true, use thickness at velocity points from continuity solver. This option + ! currently only works with split mode. +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_BG_MIN = 0.0 ! [m2 s-1] default = 0.0 + ! The minimum value allowed for Laplacian horizontal viscosity, KH. +KH_VEL_SCALE = 0.0 ! [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 and Leith viscosities, and KH. +KH_SIN_LAT = 0.0 ! [m2 s-1] default = 0.0 + ! The amplitude of a latitudinally-dependent background viscosity of the form + ! KH_SIN_LAT*(SIN(LAT)**KH_PWR_OF_SINE). +SMAGORINSKY_KH = False ! [Boolean] default = False + ! If true, use a Smagorinsky nonlinear eddy viscosity. +LEITH_KH = False ! [Boolean] default = False + ! If true, use a Leith nonlinear eddy viscosity. +RES_SCALE_MEKE_VISC = False ! [Boolean] default = False + ! If true, the viscosity contribution from MEKE is scaled by the resolution + ! function. +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. +EY24_EBT_BS = False ! [Boolean] default = False + ! If true, use the the backscatter scheme (EBT mode with kill switch)developed + ! by Yankovsky et al. (2024). +ANISOTROPIC_VISCOSITY = False ! [Boolean] default = False + ! If true, allow anistropic viscosity in the Laplacian horizontal viscosity. +ADD_LES_VISCOSITY = False ! [Boolean] default = False + ! If true, adds the viscosity from Smagorinsky and Leith to the background + ! viscosity instead of taking the maximum. +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.01 ! [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 and Leith viscosities, and AH. +AH_TIME_SCALE = 0.0 ! [s] default = 0.0 + ! A time scale whose inverse is multiplied by the fourth power of the grid + ! spacing to calculate biharmonic viscosity. The final viscosity is the largest + ! of all viscosity formulations in use. 0.0 means that it's not used. +SMAGORINSKY_AH = True ! [Boolean] default = False + ! If true, use a biharmonic Smagorinsky nonlinear eddy viscosity. +LEITH_AH = False ! [Boolean] default = False + ! If true, use a biharmonic Leith nonlinear eddy viscosity. +USE_LEITHY = False ! [Boolean] default = False + ! If true, use a biharmonic Leith nonlinear eddy viscosity together with a + ! harmonic backscatter. +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. +RE_AH = 0.0 ! [nondim] default = 0.0 + ! If nonzero, the biharmonic coefficient is scaled so that the biharmonic + ! Reynolds number is equal to this. +BACKSCATTER_UNDERBOUND = True ! [Boolean] default = True + ! If true, the bounds on the biharmonic viscosity are allowed to increase where + ! the Laplacian viscosity is negative (due to backscatter parameterizations) + ! beyond the largest timestep-dependent stable values of biharmonic viscosity + ! when no Laplacian viscosity is applied. The default is true for historical + ! reasons, but this option probably should not be used because it can contribute + ! to numerical instabilities. +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. +USE_LAND_MASK_FOR_HVISC = False ! [Boolean] default = True + ! If true, use the land mask for the computation of thicknesses at velocity + ! locations. This eliminates the dependence on arbitrary values over land or + ! outside of the domain. +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. +USE_KH_BG_2D = False ! [Boolean] default = False + ! If true, read a file containing 2-d background harmonic viscosities. The final + ! viscosity is the maximum of the other terms and this background value. +FRICTWORK_BUG = True ! [Boolean] default = True + ! If true, retain an answer-changing bug in calculating the FrictWork, which + ! cancels the h in thickness flux and the h at velocity point. This isnot + ! recommended. + +! === module MOM_vert_friction === +VERT_FRICTION_ANSWER_DATE = 99991231 ! default = 99991231 + ! The vintage of the order of arithmetic and expressions in the viscous + ! calculations. Values below 20190101 recover the answers from the end of 2018, + ! while higher values use expressions that do not use an arbitrary hard-coded + ! maximum viscous coupling coefficient between layers. Values below 20230601 + ! recover a form of the viscosity within the mixed layer that breaks up the + ! magnitude of the wind stress in some non-Boussinesq cases. +DIRECT_STRESS = False ! [Boolean] default = False + ! If true, the wind stress is distributed over the topmost HMIX_STRESS of fluid + ! (like in HYCOM), and an added mixed layer viscosity or a physically based + ! boundary layer turbulence parameterization is not needed for stability. +FIXED_DEPTH_LOTW_ML = False ! [Boolean] default = False + ! If true, use a Law-of-the-wall prescription for the mixed layer viscosity + ! within a boundary layer that is the lesser of HMIX_FIXED and the total depth + ! of the ocean in a column. +LOTW_VISCOUS_ML_FLOOR = False ! [Boolean] default = False + ! If true, use a Law-of-the-wall prescription to set a lower bound on the + ! viscous coupling between layers within the surface boundary layer, based the + ! distance of interfaces from the surface. This only acts when there are large + ! changes in the thicknesses of successive layers or when the viscosity is set + ! externally and the wind stress has subsequently increased. +VON_KARMAN_CONST = 0.41 ! [nondim] default = 0.41 + ! The value the von Karman constant as used for mixed layer viscosity. +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. +USE_GL90_IN_SSW = False ! [Boolean] default = False + ! If true, use simpler method to calculate 1/N^2 in GL90 vertical viscosity + ! coefficient. This method is valid in stacked shallow water mode. +KV_ML_INVZ2 = 1.0E-04 ! [m2 s-1] default = 1.0E-04 + ! An extra kinematic viscosity in a mixed layer of thickness HMIX_FIXED, with + ! the actual viscosity scaling as 1/(z*HMIX_FIXED)^2, where z is the distance + ! from the surface, to allow for finite wind stresses to be transmitted through + ! infinitesimally thin surface layers. This is an older option for numerical + ! convenience without a strong physical basis, and its use is now discouraged. +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 = 0.0 ! [s] default = 0.0 + ! The time over which the CFL truncation 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. +STOKES_MIXING_COMBINED = False ! [Boolean] default = False + ! Flag to use Stokes drift Mixing via the Lagrangian current (Eulerian plus + ! Stokes drift). Still needs work and testing, so not recommended for use. +VEL_UNDERFLOW = 0.0 ! [m s-1] default = 0.0 + ! A negligibly small velocity magnitude below which velocity components are set + ! to 0. A reasonable value might be 1e-30 m/s, which is less than an Angstrom + ! divided by the age of the universe. + +! === module MOM_barotropic === +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. +INTEGRAL_BT_CONTINUITY = False ! [Boolean] default = False + ! If true, use the time-integrated velocity over the barotropic steps to + ! determine the integrated transports used to update the continuity equation. + ! Otherwise the transports are the sum of the transports based on a series of + ! instantaneous velocities and the BT_CONT_TYPE for transports. This is only + ! valid if USE_BT_CONT_TYPE = True. +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 velocities + ! 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. +BT_PROJECT_VELOCITY = True ! [Boolean] default = False + ! If true, step the barotropic velocity first and project out the velocity + ! tendency 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_NONLIN_STRESS = False ! [Boolean] default = False + ! If true, use the full depth of the ocean at the start of the barotropic step + ! when calculating the surface stress contribution to the barotropic + ! acclerations. Otherwise use the depth based on bathyT. +DYNAMIC_SURFACE_PRESSURE = True ! [Boolean] default = False + ! If true, add a dynamic pressure due to a viscous ice shelf, for instance. +ICE_LENGTH_DYN_PSURF = 1.0E+04 ! [m] default = 1.0E+04 + ! The length scale at which the Rayleigh damping rate due to the ice strength + ! should be the same as if a Laplacian were applied, if DYNAMIC_SURFACE_PRESSURE + ! is true. +DEPTH_MIN_DYN_PSURF = 1.0E-06 ! [m] default = 1.0E-06 + ! The minimum depth to use in limiting the size of the dynamic surface pressure + ! for stability, if DYNAMIC_SURFACE_PRESSURE is true.. +CONST_DYN_PSURF = 0.9 ! [nondim] default = 0.9 + ! The constant that scales the dynamic surface pressure, if + ! DYNAMIC_SURFACE_PRESSURE is true. Stable values are < ~1.0. +BT_CORIOLIS_SCALE = 1.0 ! [nondim] default = 1.0 + ! A factor by which the barotropic Coriolis anomaly terms are scaled. +BAROTROPIC_ANSWER_DATE = 99991231 ! default = 99991231 + ! The vintage of the expressions in the barotropic solver. Values below 20190101 + ! recover the answers from the end of 2018, while higher values use more + ! efficient or general expressions. +VISC_REM_BT_WEIGHT_FIX = False ! [Boolean] default = False + ! If true, use a normalized weight function for vertical averages of baroclinic + ! velocity and forcing. Default of this flag is set by VISC_REM_BUG. This flag + ! should be used with VISC_REM_TIMESTEP_FIX. +TIDAL_SAL_FLATHER = False ! [Boolean] default = False + ! If true, then apply adjustments to the external gravity wave speed used with + ! the Flather OBC routine consistent with the barotropic solver. This applies to + ! cases with tidal forcing using the scalar self-attraction approximation. The + ! default is currently False in order to retain previous answers but should be + ! set to True for new experiments +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. +BT_LINEAR_WAVE_DRAG = False ! [Boolean] default = False + ! If true, apply a linear drag to the barotropic velocities, using rates set by + ! lin_drag_u & _v divided by the depth of the ocean. This was introduced to + ! facilitate tide modeling. +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. +LINEARIZED_BT_CORIOLIS = True ! [Boolean] default = True + ! If true use the bottom depth instead of the total water column thickness in + ! the barotropic Coriolis term calculations. +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.9 ! [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. +BT_USE_OLD_CORIOLIS_BRACKET_BUG = True ! [Boolean] default = False + ! If True, use an order of operations that is not bitwise rotationally symmetric + ! in the meridional Coriolis term of the barotropic solver. + +! === 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. +MLE% +USE_BODNER23 = False ! [Boolean] default = False + ! If true, use the Bodner et al., 2023, formulation of the re-stratifying + ! mixed-layer restratification parameterization. This only works in ALE mode. +%MLE +FOX_KEMPER_ML_RESTRAT_COEF = 1.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. + ! (2011) +USE_STANLEY_ML = False ! [Boolean] default = False + ! If true, turn on Stanley SGS T variance parameterization in ML restrat code. +FOX_KEMPER_ML_RESTRAT_COEF2 = 0.0 ! [nondim] default = 0.0 + ! As for FOX_KEMPER_ML_RESTRAT_COEF but used in a second application of the MLE + ! restratification parameterization. +MLE_FRONT_LENGTH = 500.0 ! [m] default = 0.0 + ! If non-zero, is the frontal-length scale used to calculate the upscaling of + ! buoyancy gradients that is otherwise represented by the parameter + ! FOX_KEMPER_ML_RESTRAT_COEF. If MLE_FRONT_LENGTH is non-zero, it is recommended + ! to set FOX_KEMPER_ML_RESTRAT_COEF=1.0. +MLE_USE_PBL_MLD = True ! [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_MLD_DECAY_TIME = 2.592E+06 ! [s] default = 0.0 + ! The time-scale for a running-mean filter applied to the mixed-layer depth used + ! in the MLE restratification parameterization. When the MLD deepens below the + ! current running-mean the running-mean is instantaneously set to the current + ! MLD. +MLE_MLD_DECAY_TIME2 = 0.0 ! [s] default = 0.0 + ! The time-scale for a running-mean filter applied to the filtered mixed-layer + ! depth used in a second MLE restratification parameterization. When the MLD + ! deepens below the current running-mean the running-mean is instantaneously set + ! to the current MLD. +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. +MLE_MLD_STRETCH = 1.0 ! [nondim] default = 1.0 + ! A scaling coefficient for stretching/shrinking the MLD used in the MLE scheme. + ! This simply multiplies MLD wherever used. +KV_RESTRAT = 0.0 ! [m2 s-1] default = 0.0 + ! A small viscosity that sets a floor on the momentum mixing rate during + ! restratification. If this is positive, it will prevent some possible + ! divisions by zero even if ustar, RESTRAT_USTAR_MIN, and f are all 0. +RESTRAT_USTAR_MIN = 1.45842E-18 ! [m s-1] default = 1.45842E-18 + ! The minimum value of ustar that will be used by the mixed layer + ! restratification module. This can be tiny, but if this is greater than 0, it + ! will prevent divisions by zero when f and KV_RESTRAT are zero. + +! === module MOM_diagnostics === +DIAG_EBT_MONO_N2_COLUMN_FRACTION = 0.0 ! [nondim] default = 0.0 + ! The lower fraction of water column over which N2 is limited as monotonic for + ! the purposes of calculating the equivalent barotropic wave speed. +DIAG_EBT_MONO_N2_DEPTH = -1.0 ! [m] default = -1.0 + ! The depth below which N2 is limited as monotonic for the purposes of + ! calculating the equivalent barotropic wave speed. +INTWAVE_REMAPPING_USE_OM4_SUBCELLS = True ! [Boolean] default = True + ! If true, use the OM4 remapping-via-subcells algorithm for calculating EBT + ! structure. See REMAPPING_USE_OM4_SUBCELLS for details. We recommend setting + ! this option to false. + +! === module MOM_diabatic_driver === +! The following parameters are used for diabatic processes. +USE_LEGACY_DIABATIC_DRIVER = True ! [Boolean] default = True + ! If true, use a legacy version of the diabatic subroutine. This is temporary + ! and is needed to avoid change in answers. +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 = False ! [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. +PRANDTL_EPBL = 1.0 ! [nondim] default = 1.0 + ! The Prandtl number used by ePBL to convert vertical diffusivities into + ! viscosities. +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 topmost non-vanished layers of the + ! updated state. +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. +MIX_BOUNDARY_TRACER_ALE = False ! [Boolean] default = False + ! If true and in ALE mode, 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 = 1.5E-06 ! [m2 s-1] default = 1.5E-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 +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. +MLD_EN_VALS = 3*0.0 ! [J/m2] default = 0.0 + ! The energy values used to compute MLDs. If not set (or all set to 0.), the + ! default will overwrite to 25., 2500., 250000. +HREF_FOR_MLD = 0.0 ! [m] default = 0.0 + ! Reference depth used to calculate the potential density used to find the mixed + ! layer depth based on a delta rho = 0.03 kg/m3. +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. +DIAG_DEPTH_SUBML_N2 = 50.0 ! [m] default = 50.0 + ! The distance over which to calculate a diagnostic of the stratification at the + ! base of the mixed layer. + +! === module MOM_CVMix_KPP === +! This is the MOM wrapper to CVMix:KPP +! See http://cvmix.github.io/ +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. + +! === module MOM_CVMix_conv === +! Parameterization of enhanced mixing due to convection via CVMix +USE_CVMix_CONVECTION = False ! [Boolean] default = False + ! If true, turns on the enhanced mixing due to convection via CVMix. This scheme + ! increases diapycnal diffs./viscs. at statically unstable interfaces. Relevant + ! parameters are contained in the CVMix_CONVECTION% parameter block. + +! === module MOM_geothermal === +GEOTHERMAL_SCALE = 1.0 ! [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_davies2013_v1.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_VARNAME = "geothermal_hf" ! default = "geo_heat" + ! The name of the geothermal heating variable in GEOTHERMAL_FILE. + +! === module MOM_set_diffusivity === +FLUX_RI_MAX = 0.2 ! [nondim] 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). +SET_DIFF_ANSWER_DATE = 99991231 ! default = 99991231 + ! The vintage of the order of arithmetic and expressions in the set diffusivity + ! calculations. Values below 20190101 recover the answers from the end of 2018, + ! while higher values use updated and more robust forms of the same expressions. + +! === module MOM_tidal_mixing === +! Vertical Tidal Mixing Parameterization +USE_CVMix_TIDAL = False ! [Boolean] default = False + ! If true, turns on tidal mixing via CVMix +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). +TIDAL_MIXING_ANSWER_DATE = 99991231 ! default = 99991231 + ! The vintage of the order of arithmetic and expressions in the tidal mixing + ! calculations. Values below 20190101 recover the answers from the end of 2018, + ! while higher values use updated and more robust forms of the same expressions. +INT_TIDE_PROFILE = "POLZIN_09" ! 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-stretched 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). +NU_POLZIN = 0.0697 ! [nondim] default = 0.0697 + ! When the Polzin decay profile is used, this is a non-dimensional constant in + ! the expression for the vertical scale of decay for the tidal energy + ! dissipation. +NBOTREF_POLZIN = 9.61E-04 ! [s-1] default = 9.61E-04 + ! When the Polzin decay profile is used, this is the reference value of the + ! buoyancy frequency at the ocean bottom in the Polzin formulation for the + ! vertical scale of decay for the tidal energy dissipation. +POLZIN_DECAY_SCALE_FACTOR = 1.0 ! [nondim] default = 1.0 + ! When the Polzin decay profile is used, this is a scale factor for the vertical + ! scale of decay of the tidal energy dissipation. +POLZIN_SCALE_MAX_FACTOR = 1.0 ! [nondim] default = 1.0 + ! When the Polzin decay profile is used, this is a factor to limit the vertical + ! scale of decay of the tidal energy dissipation to + ! POLZIN_DECAY_SCALE_MAX_FACTOR times the depth of the ocean. +POLZIN_MIN_DECAY_SCALE = 0.0 ! [m] default = 0.0 + ! When the Polzin decay profile is used, this is the minimum vertical decay + ! scale for the vertical profile + ! of internal tide dissipation with the Polzin (2009) formulation +INT_TIDE_DECAY_SCALE = 300.3003003003003 ! [m] default = 500.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.84 ! [nondim] default = 1.0 + ! A scaling factor for the roughness amplitude with INT_TIDE_DISSIPATION. +TKE_ITIDE_MAX = 0.1 ! [W m-2] default = 1000.0 + ! The maximum internal tide energy source available 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 = "tidal_amplitude.v20140616.nc" ! default = "tideamp.nc" + ! The path to the file containing the spatially varying tidal amplitudes with + ! INT_TIDE_DISSIPATION. +TIDEAMP_VARNAME = "tideamp" ! default = "tideamp" + ! The name of the tidal amplitude variable in the input file. +H2_FILE = "ocean_topog.nc" ! + ! The path to the file containing the sub-grid-scale topographic roughness + ! amplitude with INT_TIDE_DISSIPATION. +ROUGHNESS_VARNAME = "h2" ! default = "h2" + ! The name in the input file of the squared sub-grid-scale topographic roughness + ! amplitude variable. +FRACTIONAL_ROUGHNESS_MAX = 0.1 ! [nondim] default = 0.1 + ! The maximum topographic roughness amplitude as a fraction of the mean depth, + ! or a negative value for no limitations on roughness. +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 = 200.0 ! [m] default = 200.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 for now + ! is 200 m. 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, diffusivity 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. +VON_KARMAN_BBL = 0.41 ! [nondim] default = 0.41 + ! The value the von Karman constant as used in calculating the BBL diffusivity. +LOTW_BBL_ANSWER_DATE = 20190101 ! default = 20190101 + ! The vintage of the order of arithmetic and expressions in the LOTW_BBL + ! calculations. Values below 20240630 recover the original answers, while + ! higher values use more accurate expressions. This only applies when + ! USE_LOTW_BBL_DIFFUSIVITY is true. +DZ_BBL_AVG_MIN = 0.0 ! [m] default = 0.0 + ! A minimal distance over which to average to determine the average bottom + ! boundary layer density. +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 for an isopycnal layer-formulation. + +! === module MOM_bkgnd_mixing === +! Adding static vertical background mixing coefficients +KD = 1.5E-05 ! [m2 s-1] default = 0.0 + ! 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 = 1.5E-07 + ! The minimum diapycnal diffusivity. +BRYAN_LEWIS_DIFFUSIVITY = False ! [Boolean] default = False + ! If true, use a Bryan & Lewis (JGR 1979) like tanh profile of background + ! diapycnal diffusivity with depth. This is done via CVMix. +HORIZ_VARYING_BACKGROUND = False ! [Boolean] default = False + ! If true, apply vertically uniform, latitude-dependent background diffusivity, + ! as described in Danabasoglu et al., 2012 +PRANDTL_BKGND = 1.0 ! [nondim] default = 1.0 + ! Turbulent Prandtl number used to convert vertical background diffusivities + ! into viscosities. +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_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. +HENYEY_MAX_LAT = 95.0 ! [degN] default = 95.0 + ! A latitude poleward of which the Henyey profile is returned to the minimum + ! diffusivity +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_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. +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. +DOUBLE_DIFFUSION = False ! [Boolean] default = False + ! If true, increase diffusivites for temperature or salinity based on the + ! double-diffusive parameterization described in Large et al. (1994). + +! === 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. +VERTEX_SHEAR = False ! [Boolean] default = False + ! If true, do the calculations of the shear-driven mixing at the cell vertices + ! (i.e., the vorticity points). +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 = 1.5E-05 ! [m2 s-1] default = 1.5E-05 + ! The background diffusivity that is used to smooth the density and shear + ! profiles before solving for the diffusivities. The default is the greater of + ! KD and 1e-7 m2 s-1. +KD_SEED_KAPPA_SHEAR = 1.0 ! [m2 s-1] default = 1.0 + ! A moderately large seed value of diapycnal diffusivity that is used as a + ! starting turbulent diffusivity in the iterations to find an energetically + ! constrained solution for the shear-driven diffusivity. +KD_TRUNC_KAPPA_SHEAR = 1.5E-07 ! [m2 s-1] default = 1.5E-07 + ! The value of shear-driven diffusivity that is considered negligible and is + ! rounded down to 0. The default is 1% of KD_KAPPA_SHEAR_0. +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. +LZ_RESCALE = 1.0 ! [nondim] default = 1.0 + ! A coefficient to rescale the distance to the nearest solid boundary. This + ! adjustment is to account for regions where 3 dimensional turbulence prevents + ! the growth of shear instabilies [nondim]. +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 ! default = 13 + ! The maximum number of iterations that may be used to estimate the + ! time-averaged diffusivity. +KAPPA_SHEAR_MAX_KAP_SRC_CHG = 10.0 ! [nondim] default = 10.0 + ! The maximum permitted increase in the kappa source within an iteration + ! relative to the local source; this must be greater than 1. The lower limit + ! for the permitted fractional decrease is (1 - 0.5/kappa_src_max_chg). These + ! limits could perhaps be made dynamic with an improved iterative solver. +KAPPA_SHEAR_ITER_BUG = True ! [Boolean] default = False + ! If true, use an older, dimensionally inconsistent estimate of the derivative + ! of diffusivity with energy in the Newton's method iteration. The bug causes + ! undercorrections when dz > 1 m. +KAPPA_SHEAR_ALL_LAYER_TKE_BUG = True ! [Boolean] default = False + ! If true, report back the latest estimate of TKE instead of the time average + ! TKE when there is mass in all layers. Otherwise always report the time + ! averaged TKE, as is currently done when there are some massless layers. +USE_RESTRICTIVE_TOLERANCE_CHECK = False ! [Boolean] default = False + ! If true, uses the more restrictive tolerance check to determine if a timestep + ! is acceptable for the KS_it outer iteration loop. False uses the original + ! less restrictive check. + +! === 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_CVMix_ddiff === +! Parameterization of mixing due to double diffusion processes via CVMix +USE_CVMIX_DDIFF = False ! [Boolean] default = False + ! If true, turns on double diffusive processes via CVMix. Note that double + ! diffusive processes on viscosity are ignored in CVMix, see + ! http://cvmix.github.io/ for justification. + +! === 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. +SALT_EXTRACTION_LIMIT = 0.9999 ! [nondim] default = 0.9999 + ! An upper limit on the fraction of the salt in a layer that can be lost to the + ! net surface salt fluxes within a timestep. +PRESSURE_DEPENDENT_FRAZIL = True ! [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. +IGNORE_FLUXES_OVER_LAND = False ! [Boolean] default = False + ! If true, the model does not check if fluxes are being applied over land + ! points. This is needed when the ocean is coupled with ice shelves and sea ice, + ! since the sea ice mask needs to be different than the ocean mask to avoid sea + ! ice formation under ice shelves. This flag only works when use_ePBL = True. +DO_RIVERMIX = False ! [Boolean] default = False + ! If true, apply additional mixing wherever 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. +DO_BRINE_PLUME = False ! [Boolean] default = False + ! If true, use a brine plume parameterization from Nguyen et al., 2009. +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_FROM_FILE = False ! [Boolean] default = True + ! If true, chl_a is read from a file. + +! === module MOM_energetic_PBL === +ML_OMEGA_FRAC = 0.001 ! [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). +EKMAN_SCALE_COEF = 1.0 ! [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. +EPBL_ANSWER_DATE = 99991231 ! default = 99991231 + ! The vintage of the order of arithmetic and expressions in the energetic PBL + ! calculations. Values below 20190101 recover the answers from the end of 2018, + ! while higher values use updated and more robust forms of the same expressions. + ! Values below 20240101 use A**(1./3.) to estimate the cube root of A in several + ! expressions, while higher values use the integer root function cuberoot(A) and + ! therefore can work with scaled variables. +EPBL_ORIGINAL_PE_CALC = True ! [Boolean] default = True + ! If true, the ePBL code uses the original form of the potential energy change + ! code. Otherwise, the newer version that can work with successive increments + ! to the diffusivity in upward or downward passes is used. +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 = 0.01 ! [nondim] default = 2.5 + ! TKE_DECAY relates the vertical rate of decay of the TKE available for + ! mechanical entrainment to the natural Ekman depth. +EPBL_MSTAR_SCHEME = "OM4" ! default = "CONSTANT" + ! EPBL_MSTAR_SCHEME selects the method for setting mstar. Valid values are: + ! CONSTANT - Use a fixed mstar given by MSTAR + ! OM4 - Use L_Ekman/L_Obukhov in the stabilizing limit, as in OM4 + ! REICHL_H18 - Use the scheme documented in Reichl & Hallberg, 2018. +MSTAR_CAP = 10.0 ! [nondim] default = -1.0 + ! If this value is positive, it sets the maximum value of mstar allowed in ePBL. + ! (This is not used if EPBL_MSTAR_SCHEME = CONSTANT). +MSTAR2_COEF1 = 0.29 ! [nondim] default = 0.3 + ! Coefficient in computing mstar when rotation and stabilizing effects are both + ! important (used if EPBL_MSTAR_SCHEME = OM4). +MSTAR2_COEF2 = 0.152 ! [nondim] default = 0.085 + ! Coefficient in computing mstar when only rotation limits the total mixing + ! (used if EPBL_MSTAR_SCHEME = OM4) +NSTAR = 0.06 ! [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. +MSTAR_CONV_ADJ = 0.667 ! [nondim] default = 0.0 + ! Coefficient used for reducing mstar during convection due to reduction of + ! stable density gradient. +USE_MLD_ITERATION = True ! [Boolean] default = True + ! A logical that specifies whether or not to use the distance to the bottom of + ! the actively turbulent boundary layer to help set the EPBL length scale. +EPBL_TRANSITION_SCALE = 0.01 ! [nondim] default = 0.1 + ! A scale for the mixing length in the transition layer at the edge of the + ! boundary layer as a fraction of the boundary layer thickness. +MLD_ITERATION_GUESS = False ! [Boolean] default = False + ! If true, use the previous timestep MLD as a first guess in the MLD iteration, + ! otherwise use half the ocean depth as the first guess of the boundary layer + ! depth. The default is false to facilitate reproducibility. +EPBL_MLD_TOLERANCE = 1.0 ! [meter] default = 1.0 + ! The tolerance for the iteratively determined mixed layer depth. This is only + ! used with USE_MLD_ITERATION. +EPBL_MLD_BISECTION = False ! [Boolean] default = False + ! If true, use bisection with the iterative determination of the self-consistent + ! mixed layer depth. Otherwise use the false position after a maximum and + ! minimum bound have been evaluated and the returned value or bisection before + ! this. +EPBL_MLD_MAX_ITS = 20 ! default = 20 + ! The maximum number of iterations that can be used to find a self-consistent + ! mixed layer depth. If EPBL_MLD_BISECTION is true, the maximum number + ! iteractions needed is set by Depth/2^MAX_ITS < EPBL_MLD_TOLERANCE. +EPBL_MIN_MIX_LEN = 0.0 ! [meter] default = 0.0 + ! The minimum mixing length scale that will be used by ePBL. The default (0) + ! does not set a minimum. +MIX_LEN_EXPONENT = 1.0 ! [nondim] default = 2.0 + ! The exponent applied to the ratio of the distance to the MLD and the MLD depth + ! which determines the shape of the mixing length. This is only used if + ! USE_MLD_ITERATION is True. +EPBL_VEL_SCALE_SCHEME = "CUBE_ROOT_TKE" ! default = "CUBE_ROOT_TKE" + ! Selects the method for translating TKE into turbulent velocities. Valid values + ! are: + ! CUBE_ROOT_TKE - A constant times the cube root of remaining TKE. + ! REICHL_H18 - Use the scheme based on a combination of w* and v* as + ! documented in Reichl & Hallberg, 2018. +WSTAR_USTAR_COEF = 1.0 ! [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 +EPBL_VEL_SCALE_FACTOR = 1.0 ! [nondim] default = 1.0 + ! An overall nondimensional scaling factor for wT. Making this larger increases + ! the PBL diffusivity. +VSTAR_SURF_FAC = 1.2 ! [nondim] default = 1.2 + ! The proportionality times ustar to set vstar at the surface. +USE_LA_LI2016 = True ! [Boolean] default = False + ! A logical to use the Li et al. 2016 (submitted) formula to determine the + ! Langmuir number. +EPBL_LANGMUIR_SCHEME = "ADDITIVE" ! default = "NONE" + ! EPBL_LANGMUIR_SCHEME selects the method for including Langmuir turbulence. + ! Valid values are: + ! NONE - Do not do any extra mixing due to Langmuir turbulence + ! RESCALE - Use a multiplicative rescaling of mstar to account for Langmuir + ! turbulence + ! ADDITIVE - Add a Langmuir turblence contribution to mstar to other + ! contributions +LT_ENHANCE_COEF = 0.044 ! [nondim] default = 0.447 + ! Coefficient for Langmuir enhancement of mstar +LT_ENHANCE_EXP = -1.5 ! [nondim] default = -1.33 + ! Exponent for Langmuir enhancementt of mstar +LT_MOD_LAC1 = 0.0 ! [nondim] default = -0.87 + ! Coefficient for modification of Langmuir number due to MLD approaching Ekman + ! depth. +LT_MOD_LAC2 = 0.0 ! [nondim] default = 0.0 + ! Coefficient for modification of Langmuir number due to MLD approaching stable + ! Obukhov depth. +LT_MOD_LAC3 = 0.0 ! [nondim] default = 0.0 + ! Coefficient for modification of Langmuir number due to MLD approaching + ! unstable Obukhov depth. +LT_MOD_LAC4 = 0.0 ! [nondim] default = 0.95 + ! Coefficient for modification of Langmuir number due to ratio of Ekman to + ! stable Obukhov depth. +LT_MOD_LAC5 = 0.22 ! [nondim] default = 0.95 + ! Coefficient for modification of Langmuir number due to ratio of Ekman to + ! unstable Obukhov depth. +!EPBL_USTAR_MIN = 1.45842E-18 ! [m s-1] + ! The (tiny) minimum friction velocity used within the ePBL code, derived from + ! OMEGA and ANGSTROM. + +! === 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. + +! === module MOM_opacity === +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. +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. +OPTICS_ANSWER_DATE = 99991231 ! default = 99991231 + ! The vintage of the order of arithmetic and expressions in the optics + ! calculations. Values below 20190101 recover the answers from the end of 2018, + ! while higher values use updated and more robust forms of the same expressions. +PEN_SW_FLUX_ABSORB = 2.5E-11 ! [degC m s-1] default = 2.5E-11 + ! A minimum remaining shortwave heating rate that will be simply absorbed in the + ! next sufficiently thick layers for computational efficiency, instead of + ! continuing to penetrate. The default, 2.5e-11 degC m s-1, is about 1e-4 W m-2 + ! or 0.08 degC m century-1, but 0 is also a valid value. +PEN_SW_ABSORB_MINTHICK = 1.0 ! [m] default = 1.0 + ! A thickness that is used to absorb the remaining penetrating shortwave heat + ! flux when it drops below PEN_SW_FLUX_ABSORB. +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) + ! PPM - Piecewise Parabolic Method (Colella-Woodward) +USE_HUYNH_STENCIL_BUG = False ! [Boolean] default = False + ! If true, use a stencil width of 2 in PPM:H3 tracer advection. This is + ! incorrect and will produce regressions in certain configurations, but may be + ! required to reproduce results in legacy simulations. + +! === module MOM_tracer_hor_diff === +KHTR = 0.0 ! [m2 s-1] default = 0.0 + ! The background along-isopycnal tracer diffusivity. +KHTR_USE_EBT_STRUCT = False ! [Boolean] default = False + ! If true, uses the equivalent barotropic structure as the vertical structure of + ! the tracer diffusivity. +KHTR_MIN = 0.0 ! [m2 s-1] default = 0.0 + ! The minimum along-isopycnal tracer diffusivity. +KHTR_MAX = 0.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 passivity is the ratio between along isopycnal mixing 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 mixing 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 = True ! [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 the greater + ! of 1 or MAX_TR_DIFFUSION_CFL iteration. +MAX_TR_DIFFUSION_CFL = -1.0 ! [nondim] default = -1.0 + ! If positive, locally limit the along-isopycnal tracer diffusivity to keep the + ! diffusive CFL locally at or below this value. The number of diffusive + ! iterations is often this value or the next greater integer. +RECALC_NEUTRAL_SURF = False ! [Boolean] default = False + ! If true, then recalculate the neutral surfaces if the + ! diffusive CFL is exceeded. If false, assume that the + ! positions of the surfaces do not change + +! === module MOM_neutral_diffusion === +! This module implements neutral diffusion of tracers +USE_NEUTRAL_DIFFUSION = False ! [Boolean] default = False + ! If true, enables the neutral diffusion module. + +! === module MOM_hor_bnd_diffusion === +! This module implements horizontal diffusion of tracers near boundaries +USE_HORIZONTAL_BOUNDARY_DIFFUSION = False ! [Boolean] default = False + ! If true, enables the horizonal boundary tracer's diffusion module. +PHA_MLD_CALC = True ! [Boolean] default = False + ! If false, use a fixed value for the photoacclimation mixed layer depth within + ! the generic tracer update. This MLD is only used for photoacclimation. This + ! variable should be set to true if using COBALTv3 for the BGC. +PHA_MLD_USE_DELTA_RHO = True ! [Boolean] default = False + ! If true, use a density difference to find the photoacclimation mixed layer + ! depth within the generic tracer update. This MLD is only used for + ! photoacclimation. +PHA_MLD_USE_DELTA_ENG = False ! [Boolean] default = False + ! If true, use an energy difference to find the photoacclimation mixed layer + ! depth with the generic tracer update. This MLD is only used for + ! photoacclimation. +PHA_MLD_HREF = 10.0 ! [m] default = 0.0 + ! The reference depth for a density difference based photoacclimation MLD [m]. +PHA_MLD_DRHO = 0.03 ! [kg/m3] default = 0.03 + ! The density difference for a density difference based photoacclimation MLD [kg + ! m-3]. +OBSOLETE_DIAGNOSTIC_IS_FATAL = True ! [Boolean] default = True + ! If an obsolete diagnostic variable appears in the diag_table, cause a FATAL + ! error rather than issue a WARNING. + +! === 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 = 100000 ! [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. +ENERGYSAVEDAYS = 0.25 ! [days] default = 1.0 + ! The interval in units of TIMEUNIT between saves of the energies of the run and + ! other globally summed diagnostics. +ENERGYSAVEDAYS_GEOMETRIC = 0.0 ! [days] default = 0.0 + ! The starting interval in units of TIMEUNIT for the first call to save the + ! energies of the run and other globally summed diagnostics. The interval + ! increases by a factor of 2. after each call to write_energy. + +! === module ocean_stochastics_init === +DO_SPPT = False ! [Boolean] default = False + ! If true, then stochastically perturb the thermodynamic tendemcies of T,S, amd + ! h. Amplitude and correlations are controlled by the nam_stoch namelist in the + ! UFS model only. +PERT_EPBL = False ! [Boolean] default = False + ! If true, then stochastically perturb the kinetic energy production and + ! dissipation terms. Amplitude and correlations are controlled by the nam_stoch + ! namelist in the UFS model only. + +! === module ocean_model_init === +SINGLE_STEPPING_CALL = True ! [Boolean] default = True + ! If true, advance the state of MOM with a single step including both dynamics + ! and thermodynamics. If false, the two phases are advanced with separate + ! calls. +RESTART_CONTROL = 1 ! 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 + ! restart file will be saved at the end of the run segment for any non-negative + ! value. +OCEAN_SURFACE_STAGGER = "C" ! default = "C" + ! A case-insensitive character string to indicate the staggering of the surface + ! velocity field that is returned to the coupler. Valid values include 'A', + ! 'B', or 'C'. +ICEBERGS_APPLY_RIGID_BOUNDARY = False ! [Boolean] default = False + ! If true, allows icebergs to change boundary condition felt by ocean + +! === module MOM_surface_forcing === +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. +MAX_P_SURF = 0.0 ! [Pa] default = -1.0 + ! The maximum surface pressure that can be exerted by the atmosphere and + ! floating sea-ice or ice shelves. This is needed because the FMS coupling + ! structure does not limit the water that can be frozen out of the ocean and the + ! ice-ocean heat fluxes are treated explicitly. No limit is applied if a + ! negative value is used. +RESTORE_SALINITY = True ! [Boolean] default = False + ! If true, the coupled driver will add a globally-balanced fresh-water flux that + ! drives sea-surface salinity toward specified values. +RESTORE_TEMPERATURE = False ! [Boolean] default = False + ! If true, the coupled driver will add a heat flux that drives sea-surface + ! temperature toward specified values. +ADJUST_NET_SRESTORE_TO_ZERO = True ! [Boolean] default = True + ! If true, adjusts the salinity restoring seen to zero whether restoring is via + ! a salt flux or virtual precip. +ADJUST_NET_SRESTORE_BY_SCALING = False ! [Boolean] default = False + ! If true, adjustments to salt restoring to achieve zero net are made by scaling + ! values without moving the zero contour. +ADJUST_NET_FRESH_WATER_TO_ZERO = True ! [Boolean] default = False + ! If true, adjusts the net fresh-water forcing seen by the ocean (including + ! restoring) to zero. +USE_NET_FW_ADJUSTMENT_SIGN_BUG = False ! [Boolean] default = False + ! If true, use the wrong sign for the adjustment to the net fresh-water. +ADJUST_NET_FRESH_WATER_BY_SCALING = False ! [Boolean] default = False + ! If true, adjustments to net fresh water to achieve zero net are made by + ! scaling values without moving the zero contour. +ICE_SALT_CONCENTRATION = 0.005 ! [kg/kg] default = 0.005 + ! The assumed sea-ice salinity needed to reverse engineer the melt flux (or + ! ice-ocean fresh-water flux). +USE_LIMITED_PATM_SSH = True ! [Boolean] default = True + ! If true, return the sea surface height with the correction for the atmospheric + ! (and sea-ice) pressure limited by max_p_surf instead of the full atmospheric + ! pressure. +APPROX_NET_MASS_SRC = False ! [Boolean] default = False + ! If true, use the net mass sources from the ice-ocean boundary type without any + ! further adjustments to drive the ocean dynamics. The actual net mass source + ! may differ due to internal corrections. +WIND_STAGGER = "C" ! default = "C" + ! A case-insensitive character string to indicate the staggering of the input + ! wind stress field. Valid values are 'A', 'B', or 'C'. +WIND_STRESS_MULTIPLIER = 1.0 ! [nondim] default = 1.0 + ! A factor multiplying the wind-stress given to the ocean by the coupler. This + ! is used for testing and should be =1.0 for any production runs. +FLUXCONST = 0.0834 ! [m day-1] default = 0.0 + ! The constant that relates the restoring surface fluxes to the relative surface + ! anomalies (akin to a piston velocity). Note the non-MKS units. +FLUXCONST_SALT = 0.0834 ! [m day-1] default = 0.0834 + ! The constant that relates the restoring surface salt fluxes to the relative + ! surface anomalies (akin to a piston velocity). Note the non-MKS units. +SALT_RESTORE_FILE = "salt_restore_JRA.1440x1080.v20190706.nc" ! default = "salt_restore.nc" + ! A file in which to find the surface salinity to use for restoring. +SALT_RESTORE_VARIABLE = "sos" ! default = "salt" + ! The name of the surface salinity variable to read from SALT_RESTORE_FILE for + ! restoring salinity. +SRESTORE_AS_SFLUX = True ! [Boolean] default = False + ! If true, the restoring of salinity is applied as a salt flux instead of as a + ! freshwater flux. +MAX_DELTA_SRESTORE = 5.0 ! [PSU or g kg-1] default = 999.0 + ! The maximum salinity difference used in restoring terms. +MASK_SRESTORE_UNDER_ICE = False ! [Boolean] default = False + ! If true, disables SSS restoring under sea-ice based on a frazil criteria + ! (SST<=Tf). Only used when RESTORE_SALINITY is True. +MASK_SRESTORE_MARGINAL_SEAS = False ! [Boolean] default = False + ! If true, disable SSS restoring in marginal seas. Only used when + ! RESTORE_SALINITY is True. +BASIN_FILE = "basin.nc" ! default = "basin.nc" + ! A file in which to find the basin masks, in variable 'basin'. +MASK_SRESTORE = False ! [Boolean] default = False + ! If true, read a file (salt_restore_mask) containing a mask for SSS restoring. +RESTORE_FLUX_RHO = 1035.0 ! [kg m-3] default = 1035.0 + ! The density that is used to convert piston velocities into salt or heat fluxes + ! with RESTORE_SALINITY or RESTORE_TEMPERATURE. +CD_TIDES = 0.0018 ! [nondim] default = 1.0E-04 + ! The drag coefficient that applies to the tides. +TKE_TIDAL_RHO = 1035.0 ! [kg m-3] default = 1035.0 + ! The constant bottom density used to translate tidal amplitudes into the tidal + ! bottom TKE input used with INT_TIDE_DISSIPATION. +READ_GUST_2D = False ! [Boolean] default = False + ! If true, use a 2-dimensional gustiness supplied from an input file +GUST_CONST = 0.0 ! [Pa] default = 0.0 + ! The background gustiness in the winds. +SURFACE_FORCING_ANSWER_DATE = 99991231 ! default = 99991231 + ! The vintage of the order of arithmetic and expressions in the gustiness + ! calculations. Values below 20190101 recover the answers from the end of 2018, + ! while higher values use a simpler expression to calculate gustiness. +USTAR_GUSTLESS_BUG = True ! [Boolean] default = False + ! If true include a bug in the time-averaging of the gustless wind friction + ! velocity +USE_RIGID_SEA_ICE = True ! [Boolean] default = False + ! If true, sea-ice is rigid enough to exert a nonhydrostatic pressure that + ! resist vertical motion. +SEA_ICE_MEAN_DENSITY = 900.0 ! [kg m-3] default = 900.0 + ! A typical density of sea ice, used with the kinematic viscosity, when + ! USE_RIGID_SEA_ICE is true. +SEA_ICE_VISCOSITY = 1.0E+09 ! [m2 s-1] default = 1.0E+09 + ! The kinematic viscosity of sufficiently thick sea ice for use in calculating + ! the rigidity of sea ice. +SEA_ICE_RIGID_MASS = 100.0 ! [kg m-2] default = 1000.0 + ! The mass of sea-ice per unit area at which the sea-ice starts to exhibit + ! rigidity +ALLOW_ICEBERG_FLUX_DIAGNOSTICS = False ! [Boolean] default = False + ! If true, makes available diagnostics of fluxes from icebergs as seen by MOM6. +ALLOW_FLUX_ADJUSTMENTS = False ! [Boolean] default = False + ! If true, allows flux adjustments to specified via the data_table using the + ! component name 'OCN'. + +! === module MOM_restart === +USE_WAVES = False ! [Boolean] default = False + ! If true, enables surface wave modules. +WAVE_INTERFACE_ANSWER_DATE = 20221231 ! default = 20221231 + ! The vintage of the order of arithmetic and expressions in the surface wave + ! calculations. Values below 20230101 recover the answers from the end of 2022, + ! while higher values use updated and more robust forms of the same expressions: + ! < 20230101 - Original answers for wave interface routines + ! >= 20230101 - More robust expressions for Update_Stokes_Drift + ! >= 20230102 - More robust expressions for get_StokesSL_LiFoxKemper + ! >= 20230103 - More robust expressions for ust_2_u10_coare3p5 +LA_DEPTH_RATIO = 0.04 ! [nondim] default = 0.04 + ! The depth (normalized by BLD) to average Stokes drift over in Langmuir number + ! calculation, where La = sqrt(ust/Stokes). +LA_DEPTH_MIN = 0.1 ! [m] default = 0.1 + ! The minimum depth over which to average the Stokes drift in the Langmuir + ! number calculation. +VISCOSITY_AIR = 1.0E-06 ! [m2 s-1] default = 1.0E-06 + ! A typical viscosity of air at sea level, as used in wave calculations +VON_KARMAN_WAVES = 0.4 ! [nondim] default = 0.4 + ! The value the von Karman constant as used for surface wave calculations. +RHO_AIR = 1.225 ! [kg m-3] default = 1.225 + ! A typical density of air at sea level, as used in wave calculations +RHO_SFC_WAVES = 1035.0 ! [kg m-3] default = 1035.0 + ! A typical surface density of seawater, as used in wave calculations in + ! comparison with the density of air. The default is RHO_0. +WAVE_HEIGHT_SCALE_FACTOR = 0.0246 ! [s2 m-1] default = 0.0246 + ! A factor relating the square of the 10 m wind speed to the significant wave + ! height, with a default value based on the Pierson-Moskowitz spectrum. +CHARNOCK_MIN = 0.028 ! [nondim] default = 0.028 + ! The minimum value of the Charnock coefficient, which relates the square of the + ! air friction velocity divided by the gravitational acceleration to the wave + ! roughness length. +CHARNOCK_SLOPE_U10 = 0.0017 ! [s m-1] default = 0.0017 + ! The partial derivative of the Charnock coefficient with the 10 m wind speed. + ! Note that in eq. 13 of the Edson et al. 2013 describing the COARE 3.5 bulk + ! flux algorithm, this slope is given as 0.017. However, 0.0017 reproduces the + ! curve in their figure 6, so that is the default value used in MOM6. +CHARNOCK_0_WIND_INTERCEPT = -0.005 ! [nondim] default = -0.005 + ! The intercept of the fit for the Charnock coefficient in the limit of no wind. + ! Note that this can be negative because CHARNOCK_MIN will keep the final value + ! for the Charnock coefficient from being from being negative. + +! === module MOM_file_parser === +SEND_LOG_TO_STDOUT = False ! [Boolean] default = False + ! If true, all log messages are also sent to stdout. +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/exps/OM4p25.COBALT/MOM_parameter_doc.debugging b/exps/OM4p25.COBALT/MOM_parameter_doc.debugging new file mode 100644 index 000000000..fb34ffff4 --- /dev/null +++ b/exps/OM4p25.COBALT/MOM_parameter_doc.debugging @@ -0,0 +1,96 @@ +! This file was written by the model and records the debugging parameters used at run-time. + +! === module MOM_unit_scaling === +! Parameters for doing unit scaling of variables. +Z_RESCALE_POWER = 0 ! default = 0 + ! An integer power of 2 that is used to rescale the model's internal units of + ! depths and heights. Valid values range from -300 to 300. +L_RESCALE_POWER = 0 ! default = 0 + ! An integer power of 2 that is used to rescale the model's internal units of + ! lateral distances. Valid values range from -300 to 300. +T_RESCALE_POWER = 0 ! default = 0 + ! An integer power of 2 that is used to rescale the model's internal units of + ! time. Valid values range from -300 to 300. +R_RESCALE_POWER = 0 ! default = 0 + ! An integer power of 2 that is used to rescale the model's internal units of + ! density. Valid values range from -300 to 300. +Q_RESCALE_POWER = 0 ! default = 0 + ! An integer power of 2 that is used to rescale the model's internal units of + ! heat content. Valid values range from -300 to 300. +C_RESCALE_POWER = 0 ! default = 0 + ! An integer power of 2 that is used to rescale the model's internal units of + ! temperature. Valid values range from -300 to 300. +S_RESCALE_POWER = 0 ! default = 0 + ! An integer power of 2 that is used to rescale the model's internal units of + ! salinity. Valid values range from -300 to 300. + +! === module MOM === +VERBOSITY = 2 ! default = 2 + ! Integer controlling level of messaging + ! 0 = Only FATAL messages + ! 2 = Only FATAL, WARNING, NOTE [default] + ! 9 = All) +DO_UNIT_TESTS = False ! [Boolean] default = False + ! If True, exercises unit tests at model start up. +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. +ROTATE_INDEX = False ! [Boolean] default = False + ! Enable rotation of the horizontal indices. +DEBUG_CHKSUMS = False ! [Boolean] default = False + ! If true, checksums are performed on arrays in the various vec_chksum routines. +DEBUG_REDUNDANT = False ! [Boolean] default = False + ! If true, debug redundant data points during calls to the various vec_chksum + ! routines. + +! === module MOM_verticalGrid === +! Parameters providing information about the vertical grid. +H_RESCALE_POWER = 0 ! [nondim] default = 0 + ! An integer power of 2 that is used to rescale the model's intenal units of + ! thickness. Valid values range from -300 to 300. + +! === 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. + +! === module MOM_PointAccel === +MAX_TRUNC_FILE_SIZE_PER_PE = 50 ! default = 50 + ! The maximum number of columns of truncations that any PE will write out during + ! a run. +DEBUG_FULL_COLUMN = False ! [Boolean] default = False + ! If true, write out the accelerations in all massive layers; otherwise just + ! document the ones with large velocities. + +! === module MOM_barotropic === +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. + +! === module MOM_diabatic_driver === +! The following parameters are used for diabatic processes. +DEBUG_CONSERVATION = False ! [Boolean] default = False + ! If true, monitor conservation and extrema. + +! === module MOM_kappa_shear === +! Parameterization of shear-driven turbulence following Jackson, Hallberg and Legg, JPO 2008 +WRITE_TRACER_MIN_MAX = False ! [Boolean] default = False + ! If true, write the maximum and minimum values of temperature, salinity and + ! some tracer concentrations to stdout when the energy files are written. + +! === module MOM_surface_forcing === +CHECK_NO_LAND_FLUXES = False ! [Boolean] default = False + ! If true, checks that values from IOB fluxes are zero above land points (i.e. + ! G%mask2dT = 0). + +! === module MOM_file_parser === +REPORT_UNUSED_PARAMS = True ! [Boolean] default = True + ! 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. diff --git a/exps/OM4p25.COBALT/MOM_parameter_doc.layout b/exps/OM4p25.COBALT/MOM_parameter_doc.layout new file mode 100644 index 000000000..e2b22189a --- /dev/null +++ b/exps/OM4p25.COBALT/MOM_parameter_doc.layout @@ -0,0 +1,69 @@ +! This file was written by the model and records the layout parameters used at run-time. + +! === module MOM === +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. + +! === module MOM_domains === +!SYMMETRIC_MEMORY_ = True ! [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. +THIN_HALO_UPDATES = True ! [Boolean] default = True + ! If true, optional arguments may be used to specify the width of the halos that + ! are updated with each call. +!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. +AUTO_MASKTABLE = False ! [Boolean] default = False + ! Turn on automatic mask table generation to eliminate land blocks. +MASKTABLE = "mask_table.1809.90x72.4671" ! 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 = 90 ! + ! The number of processors in the x-direction. With STATIC_MEMORY_ this is set + ! in MOM_memory.h at compile time. +NJPROC = 72 ! + ! The number of processors in the y-direction. With STATIC_MEMORY_ this is set + ! in MOM_memory.h at compile time. +LAYOUT = 90, 72 ! + ! The processor layout that was actually used. +IO_LAYOUT = 1, 4 ! default = 1 + ! 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 lateral grid. +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). + +! === module MOM_barotropic === +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 = 4 ! + ! The barotropic x-halo size that is actually used. +!BT y-halo = 4 ! + ! The barotropic y-halo size that is actually used. diff --git a/exps/OM4p25.COBALT/MOM_parameter_doc.short b/exps/OM4p25.COBALT/MOM_parameter_doc.short new file mode 100644 index 000000000..bedd09899 --- /dev/null +++ b/exps/OM4p25.COBALT/MOM_parameter_doc.short @@ -0,0 +1,761 @@ +! 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. +REMAP_UV_USING_OLD_ALG = True ! [Boolean] default = False + ! 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. +THICKNESSDIFFUSE = True ! [Boolean] default = False + ! If true, isopycnal surfaces are diffused with a Laplacian coefficient of KHTH. +THICKNESSDIFFUSE_FIRST = True ! [Boolean] default = False + ! If true, do thickness diffusion or interface height smoothing before dynamics. + ! This is only used if THICKNESSDIFFUSE or APPLY_INTERFACE_FILTER is true. +DT = 900.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 = 900.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 = True ! [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. +FRAZIL = True ! [Boolean] default = False + ! If true, water freezes if it gets too cold, and 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.) +MIN_SALINITY = 0.01 ! [PPT] default = 0.0 + ! The minimum value of salinity when BOUND_SALINITY=True. +C_P = 3992.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. +USE_PSURF_IN_EOS = False ! [Boolean] default = True + ! If true, always include the surface pressure contributions in equation of + ! state calculations. +CHECK_BAD_SURFACE_VALS = True ! [Boolean] default = False + ! If true, check the surface state for ridiculous values. +BAD_VAL_SSH_MAX = 50.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 = 75.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 = 55.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 = -3.0 ! [deg C] default = -2.1 + ! The value of SST below which a bad value message is triggered, if + ! CHECK_BAD_SURFACE_VALS is true. +WRITE_GEOM = 0 ! 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 === +TRIPOLAR_N = True ! [Boolean] default = False + ! Use tripolar connectivity at the northern edge of the domain. With + ! TRIPOLAR_N, NIGLOBAL must be even. +NIGLOBAL = 1440 ! + ! 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 = 1080 ! + ! 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_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. + ! bbuilder - build topography from list of functions. + ! benchmark - use the benchmark test case topography. + ! Neverworld - use the Neverworld 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. + ! Kelvin - flat but with rotated land mask. + ! seamount - Gaussian bump for spontaneous motion test case. + ! dumbbell - Sloshing channel with reservoirs on both ends. + ! shelfwave - exponential slope for shelfwave test case. + ! Phillips - ACC-like idealized topography used in the Phillips config. + ! dense - Denmark Strait-like dense water formation and overflow. + ! USER - call a user modified routine. +TOPO_FILE = "ocean_topog.nc" ! default = "topog.nc" + ! The file from which the bathymetry is read. +TOPO_EDITS_FILE = "All_edits.nc" ! default = "" + ! The file from which to read a list of i,j,z topography overrides. +MINIMUM_DEPTH = 9.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. +MASKING_DEPTH = 0.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 it has the special default value. +MAXIMUM_DEPTH = 6500.0 ! [m] + ! The maximum depth of the ocean. +CHANNEL_CONFIG = "list" ! 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. +CHANNEL_LIST_FILE = "MOM_channels_global_025" ! default = "MOM_channel_list" + ! The file from which the list of narrowed channels is read. + +! === module MOM_verticalGrid === +! Parameters providing information about the vertical grid. +NK = 75 ! [nondim] + ! The number of model layers. + +! === module MOM_EOS === +DTFREEZE_DP = -7.75E-08 ! [degC 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 = True ! [Boolean] default = False + ! If true, the IO layout is used to group processors that write to the same + ! restart file or each processor writes its own (numbered) restart file. If + ! false, a single restart file is generated combining output from all PEs. +MAX_FIELDS = 500 ! default = 100 + ! The maximum number of restart fields that can be used. + +! === module MOM_tracer_flow_control === +USE_IDEAL_AGE_TRACER = True ! [Boolean] default = False + ! If true, use the ideal_age_example tracer package. +USE_generic_tracer = True ! [Boolean] default = False + ! If true and _USE_GENERIC_TRACER is defined as a preprocessor macro, use the + ! MOM_generic_tracer packages. + +! === module ideal_age_example === + +! === module register_MOM_generic_tracer === +GENERIC_TRACER_IC_FILE = "MOM_GENERICS.res.nc" ! default = "" + ! The file in which the generic tracer initial values can be found, or an empty + ! string for internal initialization. + +! === module MOM_coord_initialization === +COORD_CONFIG = "ALE" ! default = "none" + ! This specifies how layers are to be defined: + ! ALE or none - used to avoid defining layers in ALE mode + ! 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. +REGRIDDING_COORDINATE_MODE = "HYCOM1" ! default = "LAYER" + ! Coordinate mode for vertical regridding. Choose among the following + ! possibilities: LAYER - Isopycnal or stacked shallow water layers + ! ZSTAR, Z* - stretched geopotential z* + ! SIGMA_SHELF_ZSTAR - stretched geopotential z* ignoring shelf + ! SIGMA - terrain following coordinates + ! RHO - continuous isopycnal + ! HYCOM1 - HyCOM-like hybrid coordinate + ! HYBGEN - Hybrid coordinate from the Hycom hybgen code + ! ADAPTIVE - optimize for smooth neutral density surfaces +BOUNDARY_EXTRAPOLATION = True ! [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. +ALE_COORDINATE_CONFIG = "HYBRID:hycom1_75_800m.nc,sigma2,FNC1:2,4000,4.5,.01" ! default = "UNIFORM" + ! Determines how to specify the coordinate resolution. Valid options are: + ! PARAM - use the vector-parameter ALE_RESOLUTION + ! UNIFORM[:N] - 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,dz + ! or FILE:lev.nc,interfaces=zw + ! WOA09[:N] - the WOA09 vertical grid (approximately) + ! WOA09INT[:N] - layers spanned by the WOA09 depths + ! WOA23INT[:N] - layers spanned by the WOA23 depths + ! 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 = 7*2.0, 2*2.01, 2.02, 2.03, 2.05, 2.08, 2.11, 2.15, 2.21, 2.2800000000000002, 2.37, 2.48, 2.61, 2.77, 2.95, 3.17, 3.4299999999999997, 3.74, 4.09, 4.49, 4.95, 5.48, 6.07, 6.74, 7.5, 8.34, 9.280000000000001, 10.33, 11.49, 12.77, 14.19, 15.74, 17.450000000000003, 19.31, 21.35, 23.56, 25.97, 28.580000000000002, 31.41, 34.47, 37.77, 41.32, 45.14, 49.25, 53.65, 58.370000000000005, 63.42, 68.81, 74.56, 80.68, 87.21000000000001, 94.14, 101.51, 109.33, 117.62, 126.4, 135.68, 145.5, 155.87, 166.81, 178.35, 190.51, 203.31, 216.78, 230.93, 245.8, 261.42, 277.83 ! [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. +!TARGET_DENSITIES = 1010.0, 1014.3034, 1017.8088, 1020.843, 1023.5566, 1025.813, 1027.0275, 1027.9114, 1028.6422, 1029.2795, 1029.852, 1030.3762, 1030.8626, 1031.3183, 1031.7486, 1032.1572, 1032.5471, 1032.9207, 1033.2798, 1033.6261, 1033.9608, 1034.2519, 1034.4817, 1034.6774, 1034.8508, 1035.0082, 1035.1533, 1035.2886, 1035.4159, 1035.5364, 1035.6511, 1035.7608, 1035.8661, 1035.9675, 1036.0645, 1036.1554, 1036.2411, 1036.3223, 1036.3998, 1036.4739, 1036.5451, 1036.6137, 1036.68, 1036.7441, 1036.8062, 1036.8526, 1036.8874, 1036.9164, 1036.9418, 1036.9647, 1036.9857, 1037.0052, 1037.0236, 1037.0409, 1037.0574, 1037.0738, 1037.0902, 1037.1066, 1037.123, 1037.1394, 1037.1558, 1037.1722, 1037.1887, 1037.206, 1037.2241, 1037.2435, 1037.2642, 1037.2866, 1037.3112, 1037.3389, 1037.3713, 1037.4118, 1037.475, 1037.6332, 1037.8104, 1038.0 ! [m] + ! HYBRID target densities for interfaces +REGRID_COMPRESSIBILITY_FRACTION = 0.01 ! [nondim] default = 0.0 + ! When interpolating potential density profiles we can add some artificial + ! compressibility solely to make homogeneous regions appear stratified. +MAXIMUM_INT_DEPTH_CONFIG = "FNC1:5,8000.0,1.0,.01" ! 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 +!MAXIMUM_INT_DEPTHS = 0.0, 5.0, 12.75, 23.25, 36.49, 52.480000000000004, 71.22, 92.71000000000001, 116.94000000000001, 143.92000000000002, 173.65, 206.13, 241.36, 279.33000000000004, 320.05000000000007, 363.5200000000001, 409.7400000000001, 458.7000000000001, 510.4100000000001, 564.8700000000001, 622.0800000000002, 682.0300000000002, 744.7300000000002, 810.1800000000003, 878.3800000000003, 949.3300000000004, 1023.0200000000004, 1099.4600000000005, 1178.6500000000005, 1260.5900000000006, 1345.2700000000007, 1432.7000000000007, 1522.8800000000008, 1615.8100000000009, 1711.490000000001, 1809.910000000001, 1911.080000000001, 2015.0000000000011, 2121.670000000001, 2231.080000000001, 2343.2400000000007, 2458.1500000000005, 2575.8100000000004, 2696.2200000000003, 2819.3700000000003, 2945.2700000000004, 3073.9200000000005, 3205.3200000000006, 3339.4600000000005, 3476.3500000000004, 3615.9900000000002, 3758.38, 3903.52, 4051.4, 4202.03, 4355.41, 4511.54, 4670.41, 4832.03, 4996.4, 5163.5199999999995, 5333.379999999999, 5505.989999999999, 5681.3499999999985, 5859.459999999998, 6040.319999999998, 6223.919999999998, 6410.269999999999, 6599.369999999999, 6791.219999999999, 6985.8099999999995, 7183.15, 7383.24, 7586.08, 7791.67, 8000.0 + ! The list of maximum depths for each interface. +MAX_LAYER_THICKNESS_CONFIG = "FNC1:400,31000.0,0.1,.01" ! 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 +!MAX_LAYER_THICKNESS = 400.0, 409.63, 410.32, 410.75, 411.07, 411.32, 411.52, 411.7, 411.86, 412.0, 412.13, 412.24, 412.35, 412.45, 412.54, 412.63, 412.71, 412.79, 412.86, 412.93, 413.0, 413.06, 413.12, 413.18, 413.24, 413.29, 413.34, 413.39, 413.44, 413.49, 413.54, 413.58, 413.62, 413.67, 413.71, 413.75, 413.78, 413.82, 413.86, 413.9, 413.93, 413.97, 414.0, 414.03, 414.06, 414.1, 414.13, 414.16, 414.19, 414.22, 414.24, 414.27, 414.3, 414.33, 414.35, 414.38, 414.41, 414.43, 414.46, 414.48, 414.51, 414.53, 414.55, 414.58, 414.6, 414.62, 414.65, 414.67, 414.69, 414.71, 414.73, 414.75, 414.77, 414.79, 414.83 ! [m] + ! The list of maximum thickness for each layer. +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) + ! PLM_HYBGEN (2nd-order accurate) + ! PPM_H4 (3rd-order accurate) + ! PPM_IH4 (3rd-order accurate) + ! PPM_HYBGEN (3rd-order accurate) + ! WENO_HYBGEN (3rd-order accurate) + ! PQM_IH4IH3 (4th-order accurate) + ! PQM_IH6IH5 (5th-order accurate) + +! === module MOM_state_initialization === +INIT_LAYERS_FROM_Z_FILE = True ! [Boolean] default = False + ! If true, initialize the layer thicknesses, temperatures, and salinities from a + ! Z-space file on a latitude-longitude grid. + +! === module MOM_initialize_layers_from_Z === +TEMP_SALT_Z_INIT_FILE = "" ! default = "temp_salt_z.nc" + ! The name of the z-space input file used to initialize temperatures (T) and + ! salinities (S). If T and S are not in the same file, TEMP_Z_INIT_FILE and + ! SALT_Z_INIT_FILE must be set. +TEMP_Z_INIT_FILE = "woa18_decav_ptemp_monthly_fulldepth_01.nc" ! default = "" + ! The name of the z-space input file used to initialize temperatures, only. +SALT_Z_INIT_FILE = "woa18_decav_s_monthly_fulldepth_01.nc" ! default = "" + ! The name of the z-space input file used to initialize temperatures, only. +Z_INIT_FILE_PTEMP_VAR = "ptemp_an" ! default = "ptemp" + ! The name of the potential temperature variable in TEMP_Z_INIT_FILE. +Z_INIT_FILE_SALT_VAR = "s_an" ! default = "salt" + ! The name of the salinity variable in 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 === +NUM_DIAG_COORDS = 2 ! default = 1 + ! The number of diagnostic vertical coordinates to use. For each coordinate, an + ! entry in DIAG_COORDS must be provided. +DIAG_COORDS = "z 01 ZSTAR", "zsfc 02 ZSTAR" ! + ! A list of string tuples associating diag_table modules to a coordinate + ! definition used for diagnostics. Each string is of the form + ! "MODULE_SUFFIX,PARAMETER_SUFFIX,COORDINATE_NAME". +DIAG_COORD_DEF_02 = "UNIFORM:50,250." ! default = "WOA09" + ! Determines how to specify the coordinate resolution. Valid options are: + ! PARAM - use the vector-parameter DIAG_COORD_RES_02 + ! UNIFORM[:N] - 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,dz + ! or FILE:lev.nc,interfaces=zw + ! WOA09[:N] - the WOA09 vertical grid (approximately) + ! WOA09INT[:N] - layers spanned by the WOA09 depths + ! WOA23INT[:N] - layers spanned by the WOA23 depths + ! 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 + +! === 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. +MEKE_BGSRC = 1.0E-13 ! [W kg-1] default = 0.0 + ! A background energy source for MEKE. +MEKE_KHMEKE_FAC = 1.0 ! [nondim] default = 0.0 + ! A factor that maps MEKE%Kh to Kh for MEKE itself. +MEKE_ALPHA_RHINES = 0.15 ! [nondim] default = 0.0 + ! If positive, is a coefficient weighting the Rhines scale in the expression for + ! mixing length used in MEKE-derived diffusivity. +MEKE_ALPHA_EADY = 0.15 ! [nondim] default = 0.0 + ! If positive, is a coefficient weighting the Eady length scale in the + ! expression for mixing length used in MEKE-derived diffusivity. + +! === 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. +KHTR_SLOPE_CFF = 0.25 ! [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. + +! === 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. +PRANDTL_TURB = 1.25 ! [nondim] default = 1.0 + ! The turbulent Prandtl number applied to shear instability. +HBBL = 10.0 ! [m] + ! The thickness of a bottom boundary layer with a viscosity increased by + ! KV_EXTRA_BBL 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_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. +KV_BBL_MIN = 0.0 ! [m2 s-1] default = 1.0E-04 + ! The minimum viscosities in the bottom boundary layer. +KV_TBL_MIN = 0.0 ! [m2 s-1] default = 1.0E-04 + ! The minimum viscosities in the top boundary layer. + +! === module MOM_thickness_diffuse === +KHTH_MAX_CFL = 0.1 ! [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. + +! === module MOM_porous_barriers === + +! === module MOM_dynamics_split_RK2 === + +! === module MOM_continuity_PPM === +ETA_TOLERANCE = 1.0E-06 ! [m] default = 3.75E-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 than about + ! 10^-15*MAXIMUM_DEPTH. + +! === module MOM_CoriolisAdv === +CORIOLIS_SCHEME = "SADOURNY75_ENSTRO" ! 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. + +! === module MOM_PressureForce === + +! === module MOM_PressureForce_FV === +MASS_WEIGHT_IN_PRESSURE_GRADIENT = True ! [Boolean] default = False + ! If true, use mass weighting when interpolating T/S for integrals near the + ! bathymetry in FV pressure gradient calculations. + +! === module MOM_Zanna_Bolton === + +! === module MOM_hor_visc === +LAPLACIAN = True ! [Boolean] default = False + ! If true, use a Laplacian horizontal viscosity. +AH_VEL_SCALE = 0.01 ! [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 and Leith viscosities, 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. +USE_LAND_MASK_FOR_HVISC = False ! [Boolean] default = True + ! If true, use the land mask for the computation of thicknesses at velocity + ! locations. This eliminates the dependence on arbitrary values over land or + ! outside of the domain. + +! === module MOM_vert_friction === +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. + +! === 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 + ! tendency 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 = True ! [Boolean] default = False + ! If true, add a dynamic pressure due to a viscous ice shelf, for instance. +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.9 ! [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. +BT_USE_OLD_CORIOLIS_BRACKET_BUG = True ! [Boolean] default = False + ! If True, use an order of operations that is not bitwise rotationally symmetric + ! in the meridional Coriolis term of the barotropic solver. + +! === 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. +MLE% +%MLE +FOX_KEMPER_ML_RESTRAT_COEF = 1.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. + ! (2011) +MLE_FRONT_LENGTH = 500.0 ! [m] default = 0.0 + ! If non-zero, is the frontal-length scale used to calculate the upscaling of + ! buoyancy gradients that is otherwise represented by the parameter + ! FOX_KEMPER_ML_RESTRAT_COEF. If MLE_FRONT_LENGTH is non-zero, it is recommended + ! to set FOX_KEMPER_ML_RESTRAT_COEF=1.0. +MLE_USE_PBL_MLD = True ! [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_MLD_DECAY_TIME = 2.592E+06 ! [s] default = 0.0 + ! The time-scale for a running-mean filter applied to the mixed-layer depth used + ! in the MLE restratification parameterization. When the MLD deepens below the + ! current running-mean the running-mean is instantaneously set to the current + ! MLD. + +! === module MOM_diagnostics === + +! === 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 = False ! [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. + +! === module MOM_geothermal === +GEOTHERMAL_SCALE = 1.0 ! [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_davies2013_v1.nc" ! default = "" + ! The file from which the geothermal heating is to be read, or blank to use a + ! constant heating rate. +GEOTHERMAL_VARNAME = "geothermal_hf" ! default = "geo_heat" + ! The name of the geothermal heating variable in GEOTHERMAL_FILE. + +! === module MOM_set_diffusivity === + +! === module MOM_tidal_mixing === +! Vertical Tidal Mixing Parameterization +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 = "POLZIN_09" ! 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-stretched algebraic + ! decay profile. +INT_TIDE_DECAY_SCALE = 300.3003003003003 ! [m] default = 500.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.84 ! [nondim] default = 1.0 + ! A scaling factor for the roughness amplitude with INT_TIDE_DISSIPATION. +TKE_ITIDE_MAX = 0.1 ! [W m-2] default = 1000.0 + ! The maximum internal tide energy source available 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 = "tidal_amplitude.v20140616.nc" ! default = "tideamp.nc" + ! The path to the file containing the spatially varying tidal amplitudes with + ! INT_TIDE_DISSIPATION. +H2_FILE = "ocean_topog.nc" ! + ! The path to the file containing the sub-grid-scale topographic roughness + ! amplitude with INT_TIDE_DISSIPATION. +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, diffusivity 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 for an isopycnal layer-formulation. + +! === module MOM_bkgnd_mixing === +! Adding static vertical background mixing coefficients +KD = 1.5E-05 ! [m2 s-1] default = 0.0 + ! 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 = 1.5E-07 + ! The minimum diapycnal diffusivity. +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. +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. + +! === 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. +KAPPA_SHEAR_ITER_BUG = True ! [Boolean] default = False + ! If true, use an older, dimensionally inconsistent estimate of the derivative + ! of diffusivity with energy in the Newton's method iteration. The bug causes + ! undercorrections when dz > 1 m. +KAPPA_SHEAR_ALL_LAYER_TKE_BUG = True ! [Boolean] default = False + ! If true, report back the latest estimate of TKE instead of the time average + ! TKE when there is mass in all layers. Otherwise always report the time + ! averaged TKE, as is currently done when there are some massless layers. + +! === module MOM_diabatic_aux === +! The following parameters are used for auxiliary diabatic processes. +PRESSURE_DEPENDENT_FRAZIL = True ! [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. +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_FROM_FILE = False ! [Boolean] default = True + ! If true, chl_a is read from a file. + +! === module MOM_energetic_PBL === +ML_OMEGA_FRAC = 0.001 ! [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). +TKE_DECAY = 0.01 ! [nondim] default = 2.5 + ! TKE_DECAY relates the vertical rate of decay of the TKE available for + ! mechanical entrainment to the natural Ekman depth. +EPBL_MSTAR_SCHEME = "OM4" ! default = "CONSTANT" + ! EPBL_MSTAR_SCHEME selects the method for setting mstar. Valid values are: + ! CONSTANT - Use a fixed mstar given by MSTAR + ! OM4 - Use L_Ekman/L_Obukhov in the stabilizing limit, as in OM4 + ! REICHL_H18 - Use the scheme documented in Reichl & Hallberg, 2018. +MSTAR_CAP = 10.0 ! [nondim] default = -1.0 + ! If this value is positive, it sets the maximum value of mstar allowed in ePBL. + ! (This is not used if EPBL_MSTAR_SCHEME = CONSTANT). +MSTAR2_COEF1 = 0.29 ! [nondim] default = 0.3 + ! Coefficient in computing mstar when rotation and stabilizing effects are both + ! important (used if EPBL_MSTAR_SCHEME = OM4). +MSTAR2_COEF2 = 0.152 ! [nondim] default = 0.085 + ! Coefficient in computing mstar when only rotation limits the total mixing + ! (used if EPBL_MSTAR_SCHEME = OM4) +NSTAR = 0.06 ! [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. +MSTAR_CONV_ADJ = 0.667 ! [nondim] default = 0.0 + ! Coefficient used for reducing mstar during convection due to reduction of + ! stable density gradient. +EPBL_TRANSITION_SCALE = 0.01 ! [nondim] default = 0.1 + ! A scale for the mixing length in the transition layer at the edge of the + ! boundary layer as a fraction of the boundary layer thickness. +MIX_LEN_EXPONENT = 1.0 ! [nondim] default = 2.0 + ! The exponent applied to the ratio of the distance to the MLD and the MLD depth + ! which determines the shape of the mixing length. This is only used if + ! USE_MLD_ITERATION is True. +USE_LA_LI2016 = True ! [Boolean] default = False + ! A logical to use the Li et al. 2016 (submitted) formula to determine the + ! Langmuir number. +EPBL_LANGMUIR_SCHEME = "ADDITIVE" ! default = "NONE" + ! EPBL_LANGMUIR_SCHEME selects the method for including Langmuir turbulence. + ! Valid values are: + ! NONE - Do not do any extra mixing due to Langmuir turbulence + ! RESCALE - Use a multiplicative rescaling of mstar to account for Langmuir + ! turbulence + ! ADDITIVE - Add a Langmuir turblence contribution to mstar to other + ! contributions +LT_ENHANCE_COEF = 0.044 ! [nondim] default = 0.447 + ! Coefficient for Langmuir enhancement of mstar +LT_ENHANCE_EXP = -1.5 ! [nondim] default = -1.33 + ! Exponent for Langmuir enhancementt of mstar +LT_MOD_LAC1 = 0.0 ! [nondim] default = -0.87 + ! Coefficient for modification of Langmuir number due to MLD approaching Ekman + ! depth. +LT_MOD_LAC4 = 0.0 ! [nondim] default = 0.95 + ! Coefficient for modification of Langmuir number due to ratio of Ekman to + ! stable Obukhov depth. +LT_MOD_LAC5 = 0.22 ! [nondim] default = 0.95 + ! Coefficient for modification of Langmuir number due to ratio of Ekman to + ! unstable Obukhov depth. + +! === module MOM_opacity === +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) + ! PPM - Piecewise Parabolic Method (Colella-Woodward) + +! === module MOM_tracer_hor_diff === +CHECK_DIFFUSIVE_CFL = True ! [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 the greater + ! of 1 or MAX_TR_DIFFUSION_CFL iteration. +PHA_MLD_CALC = True ! [Boolean] default = False + ! If false, use a fixed value for the photoacclimation mixed layer depth within + ! the generic tracer update. This MLD is only used for photoacclimation. This + ! variable should be set to true if using COBALTv3 for the BGC. +PHA_MLD_USE_DELTA_RHO = True ! [Boolean] default = False + ! If true, use a density difference to find the photoacclimation mixed layer + ! depth within the generic tracer update. This MLD is only used for + ! photoacclimation. +PHA_MLD_HREF = 10.0 ! [m] default = 0.0 + ! The reference depth for a density difference based photoacclimation MLD [m]. + +! === module MOM_sum_output === +MAXTRUNC = 100000 ! [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. +ENERGYSAVEDAYS = 0.25 ! [days] default = 1.0 + ! The interval in units of TIMEUNIT between saves of the energies of the run and + ! other globally summed diagnostics. + +! === module ocean_stochastics_init === + +! === module ocean_model_init === + +! === module MOM_surface_forcing === +MAX_P_SURF = 0.0 ! [Pa] default = -1.0 + ! The maximum surface pressure that can be exerted by the atmosphere and + ! floating sea-ice or ice shelves. This is needed because the FMS coupling + ! structure does not limit the water that can be frozen out of the ocean and the + ! ice-ocean heat fluxes are treated explicitly. No limit is applied if a + ! negative value is used. +RESTORE_SALINITY = True ! [Boolean] default = False + ! If true, the coupled driver will add a globally-balanced fresh-water flux that + ! drives sea-surface salinity toward specified values. +ADJUST_NET_FRESH_WATER_TO_ZERO = True ! [Boolean] default = False + ! If true, adjusts the net fresh-water forcing seen by the ocean (including + ! restoring) to zero. +FLUXCONST = 0.0834 ! [m day-1] default = 0.0 + ! The constant that relates the restoring surface fluxes to the relative surface + ! anomalies (akin to a piston velocity). Note the non-MKS units. +SALT_RESTORE_FILE = "salt_restore_JRA.1440x1080.v20190706.nc" ! default = "salt_restore.nc" + ! A file in which to find the surface salinity to use for restoring. +SALT_RESTORE_VARIABLE = "sos" ! default = "salt" + ! The name of the surface salinity variable to read from SALT_RESTORE_FILE for + ! restoring salinity. +SRESTORE_AS_SFLUX = True ! [Boolean] default = False + ! If true, the restoring of salinity is applied as a salt flux instead of as a + ! freshwater flux. +MAX_DELTA_SRESTORE = 5.0 ! [PSU or g kg-1] default = 999.0 + ! The maximum salinity difference used in restoring terms. +CD_TIDES = 0.0018 ! [nondim] default = 1.0E-04 + ! The drag coefficient that applies to the tides. +USTAR_GUSTLESS_BUG = True ! [Boolean] default = False + ! If true include a bug in the time-averaging of the gustless wind friction + ! velocity +USE_RIGID_SEA_ICE = True ! [Boolean] default = False + ! If true, sea-ice is rigid enough to exert a nonhydrostatic pressure that + ! resist vertical motion. +SEA_ICE_RIGID_MASS = 100.0 ! [kg m-2] default = 1000.0 + ! The mass of sea-ice per unit area at which the sea-ice starts to exhibit + ! rigidity + +! === module MOM_restart === diff --git a/exps/OM4p25.COBALT/SIS_parameter_doc.all b/exps/OM4p25.COBALT/SIS_parameter_doc.all new file mode 100644 index 000000000..a33c4df7d --- /dev/null +++ b/exps/OM4p25.COBALT/SIS_parameter_doc.all @@ -0,0 +1,562 @@ +! This file was written by the model and records all non-layout or debugging 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 = True + ! If true, use a C-grid discretization of the sea-ice dynamics; if false use a + ! B-grid discretization. +USE_SLAB_ICE = False ! [Boolean] default = False + ! If true, use the very old slab-style ice. +SINGLE_ICE_STATE_TYPE = True ! [Boolean] default = True + ! If true, the fast and slow portions of the ice use a single common + ! ice_state_type. Otherwise they point to different ice_state_types that need + ! to be explicitly copied back and forth. +EULERIAN_TSURF = True ! [Boolean] default = True + ! If true, use previous calculations of the ice-top surface skin temperature for + ! tsurf at the start of atmospheric time stepping, including interpolating + ! between tsurf values from other categories in the same location. +ICE_OCEAN_STRESS_STAGGER = "C" ! default = "C" + ! A case-insensitive character string to indicate the staggering of the stress + ! field on the ocean that is returned to the coupler. Valid values include 'A', + ! 'B', or 'C', with a default that follows the value of CGRID_ICE_DYNAMICS. +RHO_OCEAN = 1030.0 ! [kg m-3] default = 1030.0 + ! The nominal density of sea water as used by SIS. +RHO_ICE = 905.0 ! [kg m-3] default = 905.0 + ! The nominal density of sea ice as used by SIS. +RHO_SNOW = 330.0 ! [kg m-3] default = 330.0 + ! The nominal density of snow as used by SIS. +G_EARTH = 9.8 ! [m s-2] default = 9.8 + ! The gravitational acceleration of the Earth. +MOMENTUM_ROUGH_ICE = 1.0E-04 ! [m] default = 1.0E-04 + ! The default momentum roughness length scale for the ocean. +HEAT_ROUGH_ICE = 1.0E-04 ! [m] default = 1.0E-04 + ! The default roughness length scale for the turbulent transfer of heat into the + ! ocean. +CONSTANT_COSZEN_IC = 0.0 ! [nondim] default = -1.0 + ! A constant value to use to initialize the cosine of the solar zenith angle for + ! the first radiation step, or a negative number to use the current time and + ! astronomy. +DT_RADIATION = 3600.0 ! [s] default = 3600.0 + ! 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. +ICE_BOUNDS_CHECK = True ! [Boolean] default = True + ! If true, periodically check the values of ice and snow temperatures and + ! thicknesses to ensure that they are sensible, and issue warnings if they are + ! not. This does not change answers, but can increase model run time. +FIRST_DIRECTION = 0 ! default = 0 + ! An integer that indicates which direction goes first in parts of the code that + ! use directionally split updates, with even numbers (or 0) used for x- first + ! and odd numbers used for y-first. +ICE_SEES_ATMOS_WINDS = True ! [Boolean] default = True + ! If true, the sea ice is being given wind stresses with the atmospheric sign + ! convention, and need to have their sign changed. +APPLY_SLP_TO_OCEAN = False ! [Boolean] default = False + ! If true, apply the atmospheric sea level pressure to the ocean. +PASS_STRESS_MAG_TO_OCEAN = False ! [Boolean] default = False + ! If true, provide the time and area weighted mean magnitude of the stresses on + ! the ocean to the ocean. +DO_ICEBERGS = True ! [Boolean] default = False + ! If true, call the iceberg module. +PASS_ICEBERG_AREA_TO_OCEAN = False ! [Boolean] default = False + ! If true, iceberg area is passed through coupler +ADD_DIURNAL_SW = False ! [Boolean] default = False + ! If true, add a synthetic diurnal cycle to the shortwave radiation. +DO_SUN_ANGLE_FOR_ALB = False ! [Boolean] default = False + ! If true, find the sun angle for calculating the ocean albedo within the sea + ! ice model. +DO_RIDGING = False ! [Boolean] default = False + ! If true, call the ridging routines. +RESTARTFILE = "ice_model.res.nc" ! default = "ice_model.res.nc" + ! The name of the restart file. +FAST_ICE_RESTARTFILE = "ice_model.res.nc" ! default = "ice_model.res.nc" + ! The name of the restart file for those elements of the the sea ice that are + ! handled by the fast ice PEs. +APPLY_MASKS_AFTER_RESTART = True ! [Boolean] default = True + ! If true, applies masks to mH_ice,mH_snow and part_size after a restart. +WRITE_GEOM = 1 ! default = 1 + ! If =0, never write the geometry and vertical grid files. If =1, write the + ! geometry and vertical grid files only for a new simulation. If =2, always + ! write the geometry and vertical grid files. Other values are invalid. +INTERPOLATE_FLUXES = True ! [Boolean] default = True + ! If true, interpolate a linearized version of the fast fluxes into arealess + ! categories. +REDO_FAST_ICE_UPDATE = False ! [Boolean] default = False + ! If true, recalculate the thermal updates from the fast dynamics on the slowly + ! evolving ice state, rather than copying over the slow ice state to the fast + ! ice state. +READ_HLIM_VALS = False ! [Boolean] default = False + ! If true, read the lower limits on the ice thicknesscategories. +NCAT_ICE = 5 ! [nondim] default = 5 + ! The number of sea ice thickness categories. +NK_ICE = 4 ! [nondim] default = 4 + ! The number of layers within the sea ice. +NK_SNOW = 1 ! [nondim] default = 1 + ! The number of layers within the snow atop the sea ice. +MIN_OCEAN_PARTSIZE = 0.0 ! [nondim] default = 0.0 + ! The minimum value for the fractional open-ocean area. This can be 0, but for + ! some purposes it may be useful to set this to a miniscule value (like 1e-40) + ! that will be lost to roundoff during any sums so that the open ocean fluxes + ! can be used in with new categories. + +! === module MOM_domains === +REENTRANT_X = True ! [Boolean] default = True + ! If true, the domain is zonally reentrant. +REENTRANT_Y = False ! [Boolean] default = False + ! If true, the domain is meridionally reentrant. +TRIPOLAR_N = True ! [Boolean] default = False + ! Use tripolar connectivity at the northern edge of the domain. With + ! TRIPOLAR_N, NIGLOBAL must be even. +NIGLOBAL = 1440 ! + ! 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 = 1080 ! + ! The total number of thickness grid points in the y-direction in the physical + ! domain. With STATIC_MEMORY_ this is set in SIS2_memory.h at compile time. +NIHALO = 4 ! default = 4 + ! The number of halo points on each side in the x-direction. How this is set + ! varies with the calling component and static or dynamic memory configuration. +NJHALO = 4 ! default = 4 + ! The number of halo points on each side in the y-direction. How this is set + ! varies with the calling component and static or dynamic memory configuration. + +! === module MOM_hor_index === +! Sets the horizontal array index types. + +! === module SIS_restart === +PARALLEL_RESTARTFILES = False ! [Boolean] default = False + ! If true, each processor writes its own restart file, otherwise a single + ! restart file is generated +MAX_FIELDS = 100 ! default = 100 + ! The maximum number of restart fields that can be used. +RESTART_CHECKSUMS_REQUIRED = True ! [Boolean] default = True + ! If true, require the restart checksums to match and error out otherwise. Users + ! may want to avoid this comparison if for example the restarts are made from a + ! run with a different mask_table than the current run, in which case the + ! checksums will not match. + +! === 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. +USE_TRIPOLAR_GEOLONB_BUG = True ! [Boolean] default = False + ! If true, use older code that incorrectly sets the longitude in some points + ! along the tripolar fold to be off by 360 degrees. +RAD_EARTH = 6.378E+06 ! [m] default = 6.378E+06 + ! The radius of the Earth. +TOPO_CONFIG = "file" ! default = "file" + ! This specifies how bathymetry is specified: + ! file - read bathymetric information from the file + ! specified by (TOPO_FILE). + ! flat - flat bottom set to MAXIMUM_DEPTH. + ! bowl - an analytically specified bowl-shaped basin + ! ranging between MAXIMUM_DEPTH and MINIMUM_DEPTH. + ! spoon - a similar shape to 'bowl', but with a vertical + ! wall at the southern face. + ! halfpipe - a zonally uniform channel with a half-sine + ! profile in the meridional direction. +TOPO_FILE = "topog.nc" ! default = "topog.nc" + ! The file from which the bathymetry is read. +TOPO_VARNAME = "depth" ! default = "depth" + ! The name of the bathymetry variable in TOPO_FILE. +TOPO_EDITS_FILE = "" ! default = "" + ! The file from which to read a list of i,j,z topography overrides. +ALLOW_LANDMASK_CHANGES = False ! [Boolean] default = False + ! If true, allow topography overrides to change land mask. +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 it has the special default value. +!MAXIMUM_DEPTH = 9682.232421875 ! [m] + ! The (diagnosed) maximum depth of the ocean. + +! === module SIS_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. +CHANNEL_CONFIG = "none" ! default = "none" + ! A parameter that determines which set of channels are restricted to specific + ! widths. Options are: + ! none - All channels have the grid width. + ! global_1deg - Sets 16 specific channels appropriate + ! for a 1-degree model, as used in CM2G. + ! list - Read the channel locations and widths from a + ! text file, like MOM_channel_list in the MOM_SIS + ! test case. + ! file - Read open face widths everywhere from a + ! NetCDF file on the model grid. +ROTATION = "2omegasinlat" ! default = "2omegasinlat" + ! This specifies how the Coriolis parameter is specified: + ! 2omegasinlat - Use twice the planetary rotation rate + ! times the sine of latitude. + ! betaplane - Use a beta-plane or f-plane. + ! USER - call a user modified routine. +OMEGA = 7.292E-05 ! [s-1] default = 7.2921E-05 + ! The rotation rate of the earth. +GRID_ROTATION_ANGLE_BUGS = True ! [Boolean] default = False + ! If true, use an older algorithm to calculate the sine and cosines needed + ! rotate between grid-oriented directions and true north and east. Differences + ! arise at the tripolar fold. + +! === module hor_grid === +! Parameters providing information about the lateral grid. + +! === module MOM_hor_index === +! Sets the horizontal array index types. +SIS_AVAILABLE_DIAGS_FILE = "SIS.available_diags" ! default = "SIS.available_diags" + ! A file into which to write a list of all available sea ice diagnostics that + ! can be included in a diag_table. + +! === module SIS2_ice_thm (thermo) === +! This sub-module calculates ice thermodynamic quantities. +LATENT_HEAT_FUSION = 3.34E+05 ! [J kg-1] default = 3.34E+05 + ! The latent heat of fusion as used by SIS. +LATENT_HEAT_VAPOR = 2.5E+06 ! [J kg-1] default = 2.5E+06 + ! The latent heat of vaporization of water at 0C as used by SIS. +CP_ICE = 2100.0 ! [J kg-1 K-1] default = 2100.0 + ! The heat capacity of fresh ice, approximated as a constant. +CP_SEAWATER = 3992.0 ! [J kg-1 K-1] default = 4200.0 + ! The heat capacity of sea water, approximated as a constant. +CP_BRINE = 3992.0 ! [J kg-1 K-1] default = 3992.0 + ! The heat capacity of water in brine pockets within the sea-ice, approximated + ! as a constant. CP_BRINE and CP_SEAWATER should be equal, but for + ! computational convenience CP_BRINE can be set equal to CP_ICE. +DTFREEZE_DS = -0.054 ! [deg C PSU-1] default = -0.054 + ! The derivative of the freezing temperature with salinity. +ENTHALPY_LIQUID_0 = 0.0 ! [J kg-1] default = 0.0 + ! The enthalpy of liquid fresh water at 0 C. The solutions should be physically + ! consistent when this is adjusted, because only the relative value is of + ! physical meaning, but roundoff errors can change the solution. +SUBLIMATION_BUG = False ! [Boolean] default = False + ! If true use an older calculation that omits the latent heat of fusion from the + ! latent heat of sublimation. This variable should be obsoleted as soon as + ! possible. + +! === module SIS_tracer_registry === + +! === module SIS_tracer_flow_control === +USE_ICE_AGE_TRACER = False ! [Boolean] default = False + ! If true, use the concentration based age tracer package. +SIS_FAST_AVAILABLE_DIAGS_FILE = "SIS_fast.available_diags" ! default = "SIS_fast.available_diags" + ! A file into which to write a list of all available sea ice diagnostics that + ! can be included in a diag_table. +CONCENTRATION_INIT_CONFIG = "data_override" ! default = "data_override" + ! A string that determines how the initial total sea ice concentration is + ! initialized for a new run: + ! file - read sea ice concentrations from a specified file + ! data_override - use the data_override capability or zero everywhere + ! zero - there is no sea ice anywhere + ! latitudes - initial sea ice concentration is a function of latitude. +ICE_THICKNESS_INIT_CONFIG = "data_override" ! default = "data_override" + ! A string that determines how the initial sea ice thickness is initialized for + ! a new run: + ! file - read sea ice thickesses from a specified file + ! data_override - use the data_override capability or zero everywhere + ! uniform - sea ice has uniform thickness where the concentration is + ! nonzero. +SNOW_THICKNESS_INIT_CONFIG = "data_override" ! default = "data_override" + ! A string that determines how the initial total snow thickness is initialized + ! for a new run: + ! file - read sea ice concentrations from a specified file + ! data_override - use the data_override capability or zero everywhere + ! uniform - snow has uniform thickness where the concentration is nonzero. +ICE_SALINITY_INIT_CONFIG = "uniform" ! default = "uniform" + ! A string that determines how the sea ice salinity is initialized for a new + ! run: + ! uniform - Use a constant ice salinity initial condition + ! file - Read sea ice salinities from a specified file + ! data_override - use the data_override capability or zero everywhere. +ICE_ENTHALPY_INIT_CONFIG = "uniform_temp" ! default = "uniform_temp" + ! A string that determines how the sea ice enthalpy is initialized for a new + ! run: + ! uniform_temp - Use a constant ice temperature initial condition + ! relative_temp - Use an ice temperature initial condition with a + ! specified depression below the bulk ice freezing point + ! file - Read sea ice temperatures or enthalpies from a specified file + ! data_override - use the data_override capability or freezing enthalpy + ! everywhere. +SNOW_ENTHALPY_INIT_CONFIG = "uniform_temp" ! default = "uniform_temp" + ! A string that determines how the snow enthalpy is initialized for a new run: + ! uniform_temp - Use a constant ice temperature initial condition + ! relative_temp - Use an ice temperature initial condition with a + ! specified depression below the bulk ice freezing point + ! file - Read sea ice temperatures or enthalpies from a specified file + ! data_override - use the data_override capability or freezing enthalpy + ! everywhere. +ICE_SALINITY_IC = 0.0 ! [g kg-1] default = 0.0 + ! The uniform sea ice salinity used for the initial condition +ICE_TEMPERATURE_IC = -4.0 ! [degC] default = -4.0 + ! The uniform sea ice and snow temperature used for the initial condition + +! === module SIS_slow_thermo === +! This module calculates the slow evolution of the ice mass, heat, and salt budgets. +ICE_BULK_SALINITY = 0.0 ! [g/kg] default = 4.0 + ! The fixed bulk salinity of sea ice. +ICE_RELATIVE_SALINITY = 0.1 ! [nondim] default = 0.0 + ! The initial salinity of sea ice as a fraction of the salinity of the seawater + ! from which it formed. +SIS2_FILLING_FRAZIL = True ! [Boolean] default = True + ! If true, apply frazil to fill as many categories as possible to fill in a + ! uniform (minimum) amount of ice in all the thinnest categories. Otherwise the + ! frazil is always assigned to a single category. +FILLING_FRAZIL_TIMESCALE = 0.0 ! [s] default = 0.0 + ! A timescale with which the filling frazil causes the thinest cells to attain + ! similar thicknesses, or a negative number to apply the frazil flux uniformly. +APPLY_ICE_LIMIT = False ! [Boolean] default = False + ! If true, restore the sea ice state toward climatology. +DO_ICE_RESTORE = False ! [Boolean] default = False + ! If true, restore the sea ice state toward climatology. +NUDGE_SEA_ICE = False ! [Boolean] default = False + ! If true, constrain the sea ice concentrations using observations. +TRANSMUTE_SEA_ICE = False ! [Boolean] default = False + ! If true, allow ice to be transmuted directly into seawater with a spatially + ! varying rate as a form of outflow open boundary condition. + +! === module SIS2_ice_thm (updates) === +! This sub-module does updates of the sea-ice due to thermodynamic changes. +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. +MIN_H_FOR_TEMP_CALC = 0.0 ! [m] default = 0.0 + ! The minimum ice thickness at which to do temperature calculations. +DO_POND = False ! [Boolean] default = False + ! If true, calculate melt ponds and use them for shortwave radiation + ! calculation. +TDRAIN = -0.8 ! [degC] default = -0.8 + ! Melt ponds drain to sea level when ice average temp. exceeds TDRAIN (stand-in + ! for mushy layer thermo) +R_MIN_POND = 0.15 ! [nondim] default = 0.15 + ! Minimum retention rate of surface water sources in melt pond (retention scales + ! linearly with ice cover) +R_MAX_POND = 0.9 ! [nondim] default = 0.9 + ! Maximum retention rate of surface water sources in melt pond (retention scales + ! linearly with ice cover) +MIN_POND_FRAC = 0.2 ! [nondim] default = 0.2 + ! Minimum melt pond cover (by ponds at sea level) pond drains to this when ice + ! is porous. +MAX_POND_FRAC = 0.5 ! [nondim] default = 0.5 + ! Maximum melt pond cover - associated with pond volume that suppresses ice top + ! to waterline +ICE_TEMP_RANGE_ESTIMATE = 40.0 ! [degC] default = 40.0 + ! An estimate of the range of snow and ice temperatures that is used to evaluate + ! whether an explicit diffusive form of the heat fluxes or an inversion based on + ! the layer heat budget is more likely to be more accurate. Setting this to 0 + ! causes the explicit diffusive form. to always be used. + +! === module SIS_dyn_trans === +! This module updates the ice momentum and does ice transport. +DT_ICE_DYNAMICS = 1200.0 ! [seconds] default = -1.0 + ! The time step used for the slow ice dynamics, including stepping the + ! continuity equation and interactions between the ice mass field and + ! velocities. If 0 or negative the coupling time step will be used. +MERGED_CONTINUITY = False ! [Boolean] default = False + ! If true, update the continuity equations for the ice, snow, and melt pond + ! water together summed across categories, with proportionate fluxes for each + ! part. Otherwise the media are updated separately. +NSTEPS_ADV = 1 ! default = 1 + ! The number of advective iterations for each slow dynamics time step. +ICEBERG_WINDSTRESS_BUG = False ! [Boolean] default = False + ! If true, use older code that applied an old ice-ocean stress to the icebergs + ! in place of the current air-ocean stress. This option is here for backward + ! compatibility, but should be avoided. +WARSAW_SUM_ORDER = True ! [Boolean] default = True + ! If true, use the order of sums in the Warsaw version of SIS2. The default is + ! the opposite of MERGED_CONTINUITY. This option exists for backward + ! compatibilty but may eventually be obsoleted. +TIMEUNIT = 8.64E+04 ! [s] default = 8.64E+04 + ! The time unit for ICE_STATS_INTERVAL. +ICE_STATS_INTERVAL = 30.0 ! [days] default = 1.0 + ! The interval in units of TIMEUNIT between writes of the globally summed ice + ! statistics and conservation checks. +DT_RHEOLOGY = 50.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.2 ! [s or nondim] default = -0.2 + ! The damping timescale associated with the elastic terms in the sea-ice + ! dynamics equations (if positive) or the fraction of DT_ICE_DYNAMICS (if + ! negative). +WEAK_LOW_SHEAR_ICE = False ! [Boolean] default = False + ! If true, the divergent stresses go toward 0 in the C-grid dynamics when the + ! shear magnitudes are very weak. Otherwise they go to -P_ice. This setting is + ! temporary. +PROJECT_ICE_DRAG_VEL = True ! [Boolean] default = True + ! If true, project forward the ice velocity used in the drag calculation to + ! avoid an instability that can occur when a finite stress is applied to thin + ! ice moving with the velocity of the ocean. +ICE_YIELD_ELLIPTICITY = 2.0 ! [Nondim] default = 2.0 + ! The ellipticity coefficient for the plastic yield curve in the sea-ice + ! rheology. For an infinite ellipticity (i.e., a cavitating fluid rheology), + ! use 0. +ICE_STRENGTH_PSTAR = 2.75E+04 ! [Pa] default = 2.75E+04 + ! A constant in the expression for the ice strength, P* in Hunke & Dukowicz + ! 1997. +ICE_STRENGTH_CSTAR = 20.0 ! [nondim] default = 20.0 + ! A constant in the exponent of the expression for the ice strength, c* in Hunke + ! & Dukowicz 1997. +ICE_CDRAG_WATER = 0.00324 ! [nondim] default = 0.00324 + ! The drag coefficient between the sea ice and water. +MIN_OCN_INTERTIAL_H = 2.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. +VEL_UNDERFLOW = 0.0 ! [m s-1] default = 0.0 + ! A negligibly small velocity magnitude below which velocity components are set + ! to 0. A reasonable value might be 1e-30 m/s, which is less than an Angstrom + ! divided by the age of the universe. +STRESS_UNDERFLOW = 0.0 ! [Pa m] default = 0.0 + ! A negligibly small magnitude below which ice stress tensor components are set + ! to 0. A reasonable value might be 1e-15 kg m-1 s-1 times vel_underflow. +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. +LEMIEUX_LANDFAST = False ! [Boolean] default = False + ! If true, turn on Lemieux landfast ice parameterization. +ITD_LANDFAST = False ! [Boolean] default = False + ! If true, turn on probabilistic landfast ice parameterization. +RECATEGORIZE_ICE = True ! [Boolean] default = True + ! If true, readjust the distribution into ice thickness categories after + ! advection. +SEA_ICE_ROLL_FACTOR = 1.0 ! [Nondim] default = 1.0 + ! A factor by which the propensity of small amounts of thick sea-ice to become + ! thinner by rolling is increased or 0 to disable rolling. This can be thought + ! of as the minimum number of ice floes in a grid cell divided by the horizontal + ! floe aspect ratio. Sensible values are 0 (no rolling) or larger than 1. +ICE_COVER_DISCARD = -1.0 ! [nondim] default = -1.0 + ! A tiny fractional ice coverage which if positive causes the mass in categories + ! with less than this coverage to be discarded. +SIS_THICKNESS_ADVECTION_SCHEME = "PCM" ! default = "UPWIND_2D" + ! The horizontal transport scheme for thickness: + ! UPWIND_2D - Non-directionally split upwind + ! PCM - Directionally split piecewise constant + ! PLM - Piecewise Linear Method + ! PPM:H3 - Piecewise Parabolic Method (Huyhn 3rd order) +INCONSISTENT_COVER_BUG = True ! [Boolean] default = False + ! If true, omit a recalculation of the fractional ice-free areal coverage after + ! the adjustment of the ice categories. +SIS_CONTINUITY_SCHEME = "PCM" ! default = "UPWIND_2D" + ! The horizontal transport scheme used in continuity: + ! UPWIND_2D - Non-directionally split upwind + ! PCM - Directionally split piecewise constant + ! PPM:C2PD - Positive definite PPM with 2nd order edge values + ! PPM:C2MO - Monotonic PPM with 2nd order edge values +CONT_PPM_VOLUME_BASED_CFL = False ! [Boolean] default = False + ! If true, use the ratio of the open face lengths to the tracer cell areas when + ! estimating CFL numbers. +CONTINUITY_H_NEGLECT = 0.0 ! [kg m-2] default = 0.0 + ! The category ice mass per ocean cell area below which the transport within + ! this thickness category of out of a cell is set to zero. A suggested + ! non-default value might be of order 3e-32 kg m-2, which is one molecule of ice + ! per square kilometer. +CONTINUITY_FRAC_NEGLECT = 0.0 ! [nondim] default = 0.0 + ! When the total fluxes are distributed between categories with + ! MERGED_CONTINUITY, any category whose ice is less than this fraction of the + ! total mass contributes no flux. Without MERGED_CONTINUITY, any snow or melt + ! pond transport that is less than this fraction of the ice transport is zeroed + ! out. A suggested non-default value might be of order 1e-20. + +! === 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 piecewise constant + ! PLM - Piecewise Linear Method + ! PPM:H3 - Piecewise Parabolic Method (Huyhn 3rd order) +CFL_MASS_NEGLECT_BUG = True ! [Boolean] default = False + ! If true use a globally constant negligible volume in the denominator of the + ! tracer advection CFL calculation, reproducing an older incorrect expression, + ! rather than using a proper scaling of this negligible mass with cell area. +ADCROFT_ADVECTIVE_CFL = False ! [Boolean] default = False + ! If true use the Adcroft reciprocal of the cell mass when calculating the + ! advective CFL numbers used in PPM tracer advection schemes, rather than adding + ! a small mass in the denominator of the advective CFL ratio. + +! === 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 = 200 ! [truncations save_interval-1] default = 0 + ! The run will be stopped, and the day set to a very large value if the velocity + ! is truncated more than MAXTRUNC times between writing ice statistics. Set + ! MAXTRUNC to 0 to stop if there is any truncation of sea ice velocities. +STATISTICS_FILE = "seaice.stats" ! default = "seaice.stats" + ! The file to use to write the globally integrated statistics. + +! === module SIS_ice_diagnostics === +! This module handles sea-ice state diagnostics. + +! === module SIS_fast_thermo === +! This module applies rapidly varying heat fluxes to the ice and does an implicit surface temperature +! calculation. +REORDER_0C_HEATFLUX = False ! [Boolean] default = False + ! If true, rearrange the calculation of the heat fluxes projected back to 0C to + ! work on each contribution separately, so that they can be indentically + ! replicated if there is a single fast timestep per coupled timestep and + ! REDO_FAST_ICE_UPDATE=True. +MAX_TSKIN_ITT = 10 ! default = 10 + ! The maximum number of iterations of the skin temperature and optical + ! properties during redo_update_ice_model_fast. + +! === module SIS2_ice_thm (updates) === +! This sub-module does updates of the sea-ice due to thermodynamic changes. + +! === module SIS_optics === +! This module calculates the albedo and absorption profiles for shortwave radiation. +DO_DELTA_EDDINGTON_SW = True ! [Boolean] default = True + ! If true, a delta-Eddington radiative transfer calculation for the shortwave + ! radiation within the sea-ice. +ICE_DELTA_EDD_R_ICE = 1.0 ! [nondimensional] default = 0.0 + ! A dreadfully documented tuning parameter for the radiative propeties of sea + ! ice with the delta-Eddington radiative transfer calculation. +ICE_DELTA_EDD_R_SNOW = 1.0 ! [nondimensional] default = 0.0 + ! A dreadfully documented tuning parameter for the radiative propeties of snow + ! on sea ice with the delta-Eddington radiative transfer calculation. +ICE_DELTA_EDD_R_POND = 1.0 ! [nondimensional] default = 0.0 + ! A dreadfully documented tuning parameter for the radiative propeties of + ! meltwater ponds on sea ice with the delta-Eddington radiative transfer + ! calculation. + +! === module MOM_file_parser === +SEND_LOG_TO_STDOUT = False ! [Boolean] default = False + ! If true, all log messages are also sent to stdout. +DOCUMENT_FILE = "SIS_parameter_doc" ! default = "SIS_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/exps/OM4p25.COBALT/SIS_parameter_doc.debugging b/exps/OM4p25.COBALT/SIS_parameter_doc.debugging new file mode 100644 index 000000000..ff3f203b2 --- /dev/null +++ b/exps/OM4p25.COBALT/SIS_parameter_doc.debugging @@ -0,0 +1,66 @@ +! This file was written by the model and records the debugging parameters used at run-time. + +! === module MOM_unit_scaling === +! Parameters for doing unit scaling of variables. +Z_RESCALE_POWER = 0 ! default = 0 + ! An integer power of 2 that is used to rescale the model's internal units of + ! depths and heights. Valid values range from -300 to 300. +L_RESCALE_POWER = 0 ! default = 0 + ! An integer power of 2 that is used to rescale the model's internal units of + ! lateral distances. Valid values range from -300 to 300. +T_RESCALE_POWER = 0 ! default = 0 + ! An integer power of 2 that is used to rescale the model's internal units of + ! time. Valid values range from -300 to 300. +R_RESCALE_POWER = 0 ! default = 0 + ! An integer power of 2 that is used to rescale the model's internal units of + ! density. Valid values range from -300 to 300. +Q_RESCALE_POWER = 0 ! default = 0 + ! An integer power of 2 that is used to rescale the model's internal units of + ! heat content. Valid values range from -300 to 300. +C_RESCALE_POWER = 0 ! default = 0 + ! An integer power of 2 that is used to rescale the model's internal units of + ! temperature. Valid values range from -300 to 300. +S_RESCALE_POWER = 0 ! default = 0 + ! An integer power of 2 that is used to rescale the model's internal units of + ! salinity. Valid values range from -300 to 300. +DEBUG = False ! [Boolean] default = False + ! If true, write out verbose debugging data. +DEBUG_SLOW_ICE = False ! [Boolean] default = False + ! If true, write out verbose debugging data on the slow ice PEs. +DEBUG_FAST_ICE = False ! [Boolean] default = False + ! If true, write out verbose debugging data on the fast ice PEs. +DEBUG_CHKSUMS = False ! [Boolean] default = False + ! If true, checksums are performed on arrays in the various vec_chksum routines. +DEBUG_REDUNDANT = False ! [Boolean] default = False + ! If true, debug redundant data points during calls to the various vec_chksum + ! routines. +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. +VERBOSE = False ! [Boolean] default = False + ! If true, write out verbose diagnostics. +DEBUG_EVP_SUBSTEPS = False ! [Boolean] default = False + ! If true, write out verbose debugging data for each of the steps within the EVP + ! solver. +U_TRUNC_FILE = "SIS_U_truncations" ! 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 = "SIS_V_truncations" ! 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. +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. + +! === module MOM_file_parser === +REPORT_UNUSED_PARAMS = True ! [Boolean] default = True + ! 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. diff --git a/exps/OM4p25.COBALT/SIS_parameter_doc.layout b/exps/OM4p25.COBALT/SIS_parameter_doc.layout new file mode 100644 index 000000000..b566fde81 --- /dev/null +++ b/exps/OM4p25.COBALT/SIS_parameter_doc.layout @@ -0,0 +1,53 @@ +! 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. + +! === module MOM_domains === +!SYMMETRIC_MEMORY_ = True ! [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. +THIN_HALO_UPDATES = True ! [Boolean] default = True + ! If true, optional arguments may be used to specify the width of the halos that + ! are updated with each call. +!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. +AUTO_MASKTABLE = False ! [Boolean] default = False + ! Turn on automatic mask table generation to eliminate land blocks. +MASKTABLE = "mask_table.1809.90x72.4671" ! 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 = 90 ! + ! The number of processors in the x-direction. With STATIC_MEMORY_ this is set + ! in SIS2_memory.h at compile time. +NJPROC = 72 ! + ! The number of processors in the y-direction. With STATIC_MEMORY_ this is set + ! in SIS2_memory.h at compile time. +LAYOUT = 90, 72 ! + ! The processor layout that was actually used. +IO_LAYOUT = 1, 4 ! default = 1 + ! 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/exps/OM4p25.COBALT/SIS_parameter_doc.short b/exps/OM4p25.COBALT/SIS_parameter_doc.short new file mode 100644 index 000000000..b98e67bb3 --- /dev/null +++ b/exps/OM4p25.COBALT/SIS_parameter_doc.short @@ -0,0 +1,142 @@ +! This file was written by the model and records the non-default parameters used at run-time. + +! === module ice_model === +CONSTANT_COSZEN_IC = 0.0 ! [nondim] default = -1.0 + ! A constant value to use to initialize the cosine of the solar zenith angle for + ! the first radiation step, or a negative number to use the current time and + ! astronomy. +DO_ICEBERGS = True ! [Boolean] default = False + ! If true, call the iceberg module. + +! === module MOM_domains === +TRIPOLAR_N = True ! [Boolean] default = False + ! Use tripolar connectivity at the northern edge of the domain. With + ! TRIPOLAR_N, NIGLOBAL must be even. +NIGLOBAL = 1440 ! + ! 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 = 1080 ! + ! 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 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. +USE_TRIPOLAR_GEOLONB_BUG = True ! [Boolean] default = False + ! If true, use older code that incorrectly sets the longitude in some points + ! along the tripolar fold to be off by 360 degrees. +!MAXIMUM_DEPTH = 9682.232421875 ! [m] + ! The (diagnosed) maximum depth of the ocean. +OMEGA = 7.292E-05 ! [s-1] default = 7.2921E-05 + ! The rotation rate of the earth. +GRID_ROTATION_ANGLE_BUGS = True ! [Boolean] default = False + ! If true, use an older algorithm to calculate the sine and cosines needed + ! rotate between grid-oriented directions and true north and east. Differences + ! arise at the tripolar fold. + +! === module hor_grid === +! Parameters providing information about the lateral grid. + +! === module SIS2_ice_thm (thermo) === +! This sub-module calculates ice thermodynamic quantities. +CP_SEAWATER = 3992.0 ! [J kg-1 K-1] default = 4200.0 + ! The heat capacity of sea water, approximated as a constant. + +! === module SIS_tracer_registry === + +! === module SIS_tracer_flow_control === + +! === module SIS_slow_thermo === +! This module calculates the slow evolution of the ice mass, heat, and salt budgets. +ICE_BULK_SALINITY = 0.0 ! [g/kg] default = 4.0 + ! The fixed bulk salinity of sea ice. +ICE_RELATIVE_SALINITY = 0.1 ! [nondim] default = 0.0 + ! The initial salinity of sea ice as a fraction of the salinity of the seawater + ! from which it formed. + +! === module SIS2_ice_thm (updates) === +! This sub-module does updates of the sea-ice due to thermodynamic changes. + +! === module SIS_dyn_trans === +! This module updates the ice momentum and does ice transport. +DT_ICE_DYNAMICS = 1200.0 ! [seconds] default = -1.0 + ! The time step used for the slow ice dynamics, including stepping the + ! continuity equation and interactions between the ice mass field and + ! velocities. If 0 or negative the coupling time step will be used. +ICE_STATS_INTERVAL = 30.0 ! [days] default = 1.0 + ! The interval in units of TIMEUNIT between writes of the globally summed ice + ! statistics and conservation checks. +DT_RHEOLOGY = 50.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. +MIN_OCN_INTERTIAL_H = 2.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. +SIS_THICKNESS_ADVECTION_SCHEME = "PCM" ! default = "UPWIND_2D" + ! The horizontal transport scheme for thickness: + ! UPWIND_2D - Non-directionally split upwind + ! PCM - Directionally split piecewise constant + ! PLM - Piecewise Linear Method + ! PPM:H3 - Piecewise Parabolic Method (Huyhn 3rd order) +INCONSISTENT_COVER_BUG = True ! [Boolean] default = False + ! If true, omit a recalculation of the fractional ice-free areal coverage after + ! the adjustment of the ice categories. +SIS_CONTINUITY_SCHEME = "PCM" ! default = "UPWIND_2D" + ! The horizontal transport scheme used in continuity: + ! UPWIND_2D - Non-directionally split upwind + ! PCM - Directionally split piecewise constant + ! PPM:C2PD - Positive definite PPM with 2nd order edge values + ! PPM:C2MO - Monotonic PPM with 2nd order edge values + +! === 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 piecewise constant + ! PLM - Piecewise Linear Method + ! PPM:H3 - Piecewise Parabolic Method (Huyhn 3rd order) +CFL_MASS_NEGLECT_BUG = True ! [Boolean] default = False + ! If true use a globally constant negligible volume in the denominator of the + ! tracer advection CFL calculation, reproducing an older incorrect expression, + ! rather than using a proper scaling of this negligible mass with cell area. + +! === module SIS_sum_output === +MAXTRUNC = 200 ! [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. + +! === module SIS_ice_diagnostics === +! This module handles sea-ice state diagnostics. + +! === module SIS_fast_thermo === +! This module applies rapidly varying heat fluxes to the ice and does an implicit surface temperature +! calculation. + +! === module SIS2_ice_thm (updates) === +! This sub-module does updates of the sea-ice due to thermodynamic changes. + +! === module SIS_optics === +! This module calculates the albedo and absorption profiles for shortwave radiation. +ICE_DELTA_EDD_R_ICE = 1.0 ! [nondimensional] default = 0.0 + ! A dreadfully documented tuning parameter for the radiative propeties of sea + ! ice with the delta-Eddington radiative transfer calculation. +ICE_DELTA_EDD_R_SNOW = 1.0 ! [nondimensional] default = 0.0 + ! A dreadfully documented tuning parameter for the radiative propeties of snow + ! on sea ice with the delta-Eddington radiative transfer calculation. +ICE_DELTA_EDD_R_POND = 1.0 ! [nondimensional] default = 0.0 + ! A dreadfully documented tuning parameter for the radiative propeties of + ! meltwater ponds on sea ice with the delta-Eddington radiative transfer + ! calculation. diff --git a/exps/OM4p25.COBALT/data_table b/exps/OM4p25.COBALT/data_table new file mode 100644 index 000000000..e70ab5f34 --- /dev/null +++ b/exps/OM4p25.COBALT/data_table @@ -0,0 +1,74 @@ + "ATM", "p_surf", "psl", "./INPUT/JRA_psl.nc", "bilinear", 1.0 + "ATM", "p_bot", "psl", "./INPUT/JRA_psl.nc", "bilinear", 1.0 + "ATM", "t_bot", "tas", "./INPUT/JRA_tas.nc", "bilinear", 1.0 + "ATM", "sphum_bot", "huss", "./INPUT/JRA_huss.nc", "bilinear", 1.0 + "ATM", "u_bot", "uas", "./INPUT/JRA_uas.nc", "bicubic", 1.0 + "ATM", "v_bot", "vas", "./INPUT/JRA_vas.nc", "bicubic", 1.0 + "ATM", "z_bot", "", "", "bilinear", 10.0 + "ATM", "gust", "", "", "bilinear", 1.0e-4 + "ICE", "lw_flux_dn", "rlds", "./INPUT/JRA_rlds.nc", "bilinear", 1.0 + "ICE", "sw_flux_vis_dir_dn", "rsds", "./INPUT/JRA_rsds.nc", "bilinear", 0.285 + "ICE", "sw_flux_vis_dif_dn", "rsds", "./INPUT/JRA_rsds.nc", "bilinear", 0.285 + "ICE", "sw_flux_nir_dir_dn", "rsds", "./INPUT/JRA_rsds.nc", "bilinear", 0.215 + "ICE", "sw_flux_nir_dif_dn", "rsds", "./INPUT/JRA_rsds.nc", "bilinear", 0.215 + "ICE", "lprec", "prra", "./INPUT/JRA_prra.nc", "bilinear", 1.0 + "ICE", "fprec", "prsn", "./INPUT/JRA_prsn.nc", "bilinear", 1.0 + "ICE", "calving", "", "", "none", 0.0 + "ICE", "dhdt", "", "", "none", 80.0 + "ICE", "dedt", "", "", "none", 2.0e-6 + "ICE", "drdt", "", "", "none", 10.0 + "LND", "t_surf", "", "", "none", 273.0 + "LND", "t_ca", "", "", "none", 273.0 + "LND", "q_ca", "", "", "none", 0.0 + "LND", "rough_mom", "", "", "none", 0.01 + "LND", "rough_heat", "", "", "none", 0.1 + "LND", "albedo", "", "", "none", 0.1 + "LND", "sphum_surf", "", "", "none", 0.0 + "LND", "sphum_ca", "", "", "none", 0.0 + "LND", "t_flux", "", "", "none", 0.0 + "LND", "sphum_flux", "", "", "none", 0.0 + "LND", "lw_flux", "", "", "none", 0.0 + "LND", "sw_flux", "", "", "none", 0.0 + "LND", "lprec", "", "", "none", 0.0 + "LND", "fprec", "", "", "none", 0.0 + "LND", "dhdt", "", "", "none", 5.0 + "LND", "dedt", "", "", "none", 2e-6 + "LND", "dedq", "", "", "none", 0.0 + "LND", "drdt", "", "", "none", 5.0 + "LND", "drag_q", "", "", "none", 0.0 + "LND", "p_surf", "", "", "none", 1.e5 + "ICE", "runoff", "runoff", "./INPUT/runoff.daitren.clim.1440x1080.v20180328.nc", "none", 1.0 +"OCN", "runoff_no3_flux_ice_ocn", "NO3_CONC", "./INPUT/news_nutrients.nc","none",1.0e-3 +"OCN", "runoff_ldon_flux_ice_ocn", "LDON_CONC", "./INPUT/news_nutrients.nc","none",1.0e-3 +"OCN", "runoff_sldon_flux_ice_ocn", "SLDON_CONC", "./INPUT/news_nutrients.nc","none",1.0e-3 +"OCN", "runoff_srdon_flux_ice_ocn", "SRDON_CONC", "./INPUT/news_nutrients.nc","none",1.0e-3 +"OCN", "runoff_ndet_flux_ice_ocn", "NDET_CONC", "./INPUT/news_nutrients.nc","none",1.0e-3 +"OCN", "runoff_po4_flux_ice_ocn", "PO4_CONC", "./INPUT/news_nutrients.nc","none",1.0e-3 +"OCN", "runoff_ldop_flux_ice_ocn", "LDOP_CONC", "./INPUT/news_nutrients.nc","none",1.0e-3 +"OCN", "runoff_sldop_flux_ice_ocn", "SLDOP_CONC", "./INPUT/news_nutrients.nc","none",1.0e-3 +"OCN", "runoff_srdop_flux_ice_ocn", "SRDOP_CONC", "./INPUT/news_nutrients.nc","none",1.0e-3 +"OCN", "runoff_pdet_flux_ice_ocn", "PDET_CONC", "./INPUT/news_nutrients.nc","none",1.0e-3 +"OCN", "runoff_fed_flux_ice_ocn", "FED_CONC", "./INPUT/news_nutrients.nc","none",1.0e-3 +"OCN", "runoff_alk_flux_ice_ocn", "", "", "none", 0.42e-3 +"OCN", "runoff_dic_flux_ice_ocn", "", "", "none", 0.32e-3 +"OCN", "runoff_lith_flux_ice_ocn", "", "", "none", 13.0e-3 +# +# jgj data table for o2 gas exchange +# +"ATM", "o2_flux_pcair_atm", "" , "" , "none", 0.214 +# +"ATM", "co2_flux_pcair_atm", "mole_fraction_of_carbon_dioxide_in_air", "INPUT/mole_fraction_of_co2_extended_ssp245.nc", "bilinear", 1.0e-06 +"ATM", "co2_bot", "mole_fraction_of_carbon_dioxide_in_air", "INPUT/mole_fraction_of_co2_extended_ssp245.nc", "bilinear", 1.0e-06 +"ATM", "co2_dvmr_restore", "mole_fraction_of_carbon_dioxide_in_air", "INPUT/mole_fraction_of_co2_extended_ssp245.nc", "bilinear", 1.0e-06 +#ocean-ice specific +"OCN", "dry_dep_fed_flux_ice_ocn", "FLUX", "./INPUT/Soluble_Fe_Flux_AM4.nc", "bilinear", -1.0 +"OCN", "dry_dep_lith_flux_ice_ocn", "FLUX_MINERAL", "./INPUT/Mineral_Flux_AM4.nc", "bilinear", -1.0 +"OCN", "dry_dep_po4_flux_ice_ocn", "FLUX_MINERAL", "./INPUT/Mineral_Flux_AM4.nc", "bilinear", -4.0e-6 +#"OCN", "wet_dep_no3_flux_ice_ocn", "NO3_WET_DEP", "./INPUT/depflux_total.mean.1860.nc", "bilinear", -1.0 +#"OCN", "dry_dep_no3_flux_ice_ocn", "NO3_DRY_DEP", "./INPUT/depflux_total.mean.1860.nc", "bilinear", -1.0 +#"OCN", "wet_dep_nh4_flux_ice_ocn", "NH4_WET_DEP", "./INPUT/depflux_total.mean.1860.nc", "bilinear", -1.0 +#"OCN", "dry_dep_nh4_flux_ice_ocn", "NH4_DRY_DEP", "./INPUT/depflux_total.mean.1860.nc", "bilinear", -1.0 +"OCN", "wet_dep_no3_flux_ice_ocn", "wetnoy", "./INPUT/esm4_wetnoy_climo_1993-2014.nc", "bilinear", -1.0 +"OCN", "dry_dep_no3_flux_ice_ocn", "drynoy", "./INPUT/esm4_drynoy_climo_1993-2014.nc", "bilinear", -1.0 +"OCN", "wet_dep_nh4_flux_ice_ocn", "wetnh4", "./INPUT/esm4_wetnh4_climo_1993-2014.nc", "bilinear", -1.0 +"OCN", "dry_dep_nh4_flux_ice_ocn", "drynh4", "./INPUT/esm4_drynh4_climo_1993-2014.nc", "bilinear", -1.0 diff --git a/exps/OM4p25.COBALT/diag_table b/exps/OM4p25.COBALT/diag_table new file mode 100644 index 000000000..19fbc86bc --- /dev/null +++ b/exps/OM4p25.COBALT/diag_table @@ -0,0 +1,700 @@ +OM4_025_COBALTv3_jra55_const +1958 1 1 0 0 0 + # MOM6 ocean diagnostics files +"ocean_daily", 1, "days", 1, "days", "time" +"ocean_month", 1, "months", 1, "days", "time" +"ocean_month_z", 1, "months", 1, "days", "time" +"ocean_annual", 12, "months", 1, "days", "time" +"ocean_annual_z", 12, "months", 1, "days", "time" +"ocean_static", -1, "months", 1, "days", "time" +# ocean static information +"ocean_model", "areacello", "areacello", "ocean_static", "all", "none", "none", 2 # Ocean Grid-Cell Area +"ocean_model", "deptho", "deptho", "ocean_static", "all", "none", "none", 2 # Sea Floor Depth +"ocean_model", "sftof", "sftof", "ocean_static", "all", "none", "none", 2 # Sea Area Fraction +"ocean_model", "Coriolis", "Coriolis", "ocean_static", "all", "none", "none", 2 # Coriolis parameter at corner (Bu) points +"ocean_model", "geolon", "geolon", "ocean_static", "all", "none", "none", 2 # Longitude of tracer (T) points +"ocean_model", "geolat", "geolat", "ocean_static", "all", "none", "none", 2 # Latitude of tracer (T) points +"ocean_model", "geolon_c", "geolon_c", "ocean_static", "all", "none", "none", 2 # Longitude of corner (Bu) points +"ocean_model", "geolat_c", "geolat_c", "ocean_static", "all", "none", "none", 2 # Latitude of corner (Bu) points +"ocean_model", "geolon_u", "geolon_u", "ocean_static", "all", "none", "none", 2 # Longitude of zonal velocity (Cu) points +"ocean_model", "geolat_u", "geolat_u", "ocean_static", "all", "none", "none", 2 # Latitude of zonal velocity (Cu) points +"ocean_model", "geolon_v", "geolon_v", "ocean_static", "all", "none", "none", 2 # Longitude of meridional velocity (Cv) points +"ocean_model", "geolat_v", "geolat_v", "ocean_static", "all", "none", "none", 2 # Latitude of meridional velocity (Cv) points +"ocean_model", "wet", "wet", "ocean_static", "all", "none", "none", 2 # 0 if land, 1 if ocean at tracer points +"ocean_model", "wet_c", "wet_c", "ocean_static", "all", "none", "none", 2 # 0 if land, 1 if ocean at corner (Bu) points +"ocean_model", "wet_u", "wet_u", "ocean_static", "all", "none", "none", 2 # 0 if land, 1 if ocean at zonal velocity (Cu) points +"ocean_model", "wet_v", "wet_v", "ocean_static", "all", "none", "none", 2 # 0 if land, 1 if ocean at meridional velocity (Cv) points +"ocean_model", "dxt", "dxt", "ocean_static", "all", "none", "none", 2 # Delta(x) at thickness/tracer points (meter) +"ocean_model", "dyt", "dyt", "ocean_static", "all", "none", "none", 2 # Delta(y) at thickness/tracer points (meter) +"ocean_model", "dxCu", "dxCu", "ocean_static", "all", "none", "none", 2 # Delta(x) at u points (meter) +"ocean_model", "dyCu", "dyCu", "ocean_static", "all", "none", "none", 2 # Delta(y) at u points (meter) +"ocean_model", "dxCv", "dxCv", "ocean_static", "all", "none", "none", 2 # Delta(x) at v points (meter) +"ocean_model", "dyCv", "dyCv", "ocean_static", "all", "none", "none", 2 # Delta(y) at v points (meter) +"ocean_model", "areacello_cu","areacello_cu","ocean_static", "all", "none", "none", 2 # Ocean Grid-Cell Area +"ocean_model", "areacello_cv","areacello_cv","ocean_static", "all", "none", "none", 2 # Ocean Grid-Cell Area +"ocean_model", "areacello_bu","areacello_bu","ocean_static", "all", "none", "none", 2 # Ocean Grid-Cell Area +# Daily ocean +"ocean_model", "ssh", "ssh", "ocean_daily", "all", "mean", "none",2 # Sea Surface Height +"ocean_model", "ssh", "sshmin", "ocean_daily", "all", "min", "none",2 # Sea Surface Height +"ocean_model", "ssh", "sshmax", "ocean_daily", "all", "max", "none",2 # Sea Surface Height +"ocean_model", "tos", "tos", "ocean_daily", "all", "mean", "none",2 # Sea Surface Temperature +"ocean_model", "tos", "tosmin", "ocean_daily", "all", "min" , "none",2 # Sea Surface Temperature +"ocean_model", "tos", "tosmax", "ocean_daily", "all", "max" , "none",2 # Sea Surface Temperature +"ocean_model", "tossq", "tossq", "ocean_daily", "all", "mean", "none",2 # Square of Sea Surface Temperature +"ocean_model", "tob", "tob", "ocean_daily", "all", "mean", "none",2 # Sea Water Potential Temperature at Sea Floor +"ocean_model", "sos", "sos", "ocean_daily", "all", "mean", "none",2 # Sea Surface Salinity +"ocean_model", "sossq", "sossq", "ocean_daily", "all", "mean", "none",2 # Square of Sea Surface Salinity +"ocean_model", "sob", "sob", "ocean_daily", "all", "mean", "none",2 # Sea Water Salinity at Sea Floor +"ocean_model", "SSU", "ssu", "ocean_daily", "all", "mean", "none",2 # Sea Surface Zonal Velocity +"ocean_model", "SSV", "ssv", "ocean_daily", "all", "mean", "none",2 # Sea Surface Meridional Velocity +"ocean_model", "ePBL_h_ML", "omldamax", "ocean_daily", "all", "max", "none",2 # Surface boundary layer depth +# Monthly ocean in z* coordinates +"ocean_model_z", "volcello", "volcello", "ocean_month_z", "all", "mean", "none",2 # Ocean grid-cell volume +"ocean_model_z", "thetao", "thetao", "ocean_month_z", "all", "mean", "none",2 # Sea Water Potential Temperature +"ocean_model_z", "so", "so", "ocean_month_z", "all", "mean", "none",2 # Sea Water Salinity +"ocean_model_z", "uo", "uo", "ocean_month_z", "all", "mean", "none",2 # Sea Water X Velocity +"ocean_model_z", "vo", "vo", "ocean_month_z", "all", "mean", "none",2 # Sea Water Y Velocity +"ocean_model_z", "umo", "umo", "ocean_month_z", "all", "mean", "none",2 # Ocean Mass X Transport +"ocean_model_z", "vmo", "vmo", "ocean_month_z", "all", "mean", "none",2 # Ocean Mass Y Transport +"ocean_model_z", "uhml", "uhml", "ocean_month_z", "all", "mean", "none",2 # Zonal Thickness Flux to Restratify Mixed Layer +"ocean_model_z", "vhml", "vhml", "ocean_month_z", "all", "mean", "none",2 # Meridional Thickness Flux to Restratify Mixed Layer +"ocean_model_z", "rhopot0", "rhopot0", "ocean_month_z", "all", "mean", "none",2 # Potential density referenced to surface +"ocean_model_z", "rhoinsitu", "rhoinsitu", "ocean_month_z", "all", "mean", "none",2 # In situ density +# Monthly ocean +"ocean_model", "pbo", "pbo", "ocean_month", "all", "mean", "none",2 # Sea Water Pressure at Sea Floor +"ocean_model", "zos", "zos", "ocean_month", "all", "mean", "none",2 # Sea surface height above geoid +"ocean_model", "ssh", "ssh", "ocean_month", "all", "mean", "none",2 # Sea Surface Height +"ocean_model", "zossq", "zossq", "ocean_month", "all", "mean", "none",2 # Square of sea surface height above geoid +"ocean_model", "tos", "tos", "ocean_month", "all", "mean", "none",2 # Sea Surface Temperature +"ocean_model", "tossq", "tossq", "ocean_month", "all", "mean", "none",2 # Square of Sea Surface Temperature +"ocean_model", "tob", "tob", "ocean_month", "all", "mean", "none",2 # Sea Water Potential Temperature at Sea Floor +"ocean_model", "sos", "sos", "ocean_month", "all", "mean", "none",2 # Sea Surface Salinity +"ocean_model", "sossq", "sossq", "ocean_month", "all", "mean", "none",2 # Square of Sea Surface Salinity +"ocean_model", "sob", "sob", "ocean_month", "all", "mean", "none",2 # Sea Water Salinity at Sea Floor +"ocean_model", "mlotst", "mlotstmin", "ocean_month", "all", "min", "none",2 # Ocean Mixed Layer Thickness Defined by Sigma T +"ocean_model", "mlotst", "mlotstmax", "ocean_month", "all", "max", "none",2 # Ocean Mixed Layer Thickness Defined by Sigma T +"ocean_model", "T_adx_2d", "T_adx_2d", "ocean_month", "all", "mean", "none",2 # Vertically Integrated Advective Zonal Flux of Heat +"ocean_model", "T_ady_2d", "T_ady_2d", "ocean_month", "all", "mean", "none",2 # Vertically Integrated Advective Meridional Flux of Heat +"ocean_model", "S_adx_2d", "S_adx_2d", "ocean_month", "all", "mean", "none",2 # Vertically Integrated Advective Zonal Flux of Salt +"ocean_model", "S_ady_2d", "S_ady_2d", "ocean_month", "all", "mean", "none",2 # Vertically Integrated Advective Meridional Flux of Salt +"ocean_model", "umo_2d", "umo_2d", "ocean_month", "all", "mean", "none",2 # Ocean Mass X Transport Vertical Sum +"ocean_model", "vmo_2d", "vmo_2d", "ocean_month", "all", "mean", "none",2 # Ocean Mass Y Transport Vertical Sum +"ocean_model", "prlq", "prlq", "ocean_month", "all", "mean", "none",2 # Rainfall Flux where Ice Free Ocean over Sea +"ocean_model", "prsn", "prsn", "ocean_month", "all", "mean", "none",2 # Snowfall Flux where Ice Free Ocean over Sea +"ocean_model", "evs", "evs", "ocean_month", "all", "mean", "none",2 # Water Evaporation Flux Where Ice Free Ocean over Sea +"ocean_model", "friver", "friver", "ocean_month", "all", "mean", "none",2 # Water Flux into Sea Water From Rivers +"ocean_model", "ficeberg", "ficeberg", "ocean_month", "all", "mean", "none",2 # Water Flux into Seawater from Icebergs +"ocean_model", "fsitherm", "fsitherm", "ocean_month", "all", "mean", "none",2 # water flux to ocean from sea ice melt(> 0) or form(< 0) +"ocean_model", "wfo", "wfo", "ocean_month", "all", "mean", "none",2 # Water Flux Into Sea Water +"ocean_model", "net_massout", "net_massout", "ocean_month", "all", "mean", "none",2 # Net mass leaving the ocean due to evaporation, seaice formation +"ocean_model", "net_massin", "net_massin", "ocean_month", "all", "mean", "none",2 # Net mass entering ocean due to precip, runoff, ice melt +"ocean_model", "sfdsi", "sfdsi", "ocean_month", "all", "mean", "none",2 # Downward Sea Ice Basal Salt Flux +"ocean_model", "hfrainds", "hfrainds", "ocean_month", "all", "mean", "none",2 # Heat content (relative to 0degC) of liquid+frozen precip entering ocean +"ocean_model", "hfevapds", "hfevapds", "ocean_month", "all", "mean", "none",2 # Heat Content (relative to 0degC) of Water Leaving Ocean via Evaporation and Ice Formation +"ocean_model", "hfrunoffds", "hfrunoffds", "ocean_month", "all", "mean", "none",2 # Heat content (relative to 0C) of liquid+solid runoff into ocean +"ocean_model", "hfsnthermds", "hfsnthermds", "ocean_month", "all", "mean", "none",2 # Latent Heat to Melt Frozen Precipitation +"ocean_model", "hfsifrazil", "hfsifrazil", "ocean_month", "all", "mean", "none",2 # Heat Flux into Sea Water due to Frazil Ice Formation +"ocean_model", "hfibthermds", "hfibthermds", "ocean_month", "all", "mean", "none",2 # Latent Heat to Melt Frozen Runoff/Iceberg +"ocean_model", "rlntds", "rlntds", "ocean_month", "all", "mean", "none",2 # Surface Net Downward Longwave Radiation +"ocean_model", "hflso", "hflso", "ocean_month", "all", "mean", "none",2 # Surface Downward Latent Heat Flux due to Evap + Melt Snow/Ice +"ocean_model", "hfsso", "hfsso", "ocean_month", "all", "mean", "none",2 # Surface Downward Sensible Heat Flux +"ocean_model", "rsntds", "rsntds", "ocean_month", "all", "mean", "none",2 # Net Downward Shortwave Radiation at Sea Water Surface +"ocean_model", "hfds", "hfds", "ocean_month", "all", "mean", "none",2 # Surface ocean heat flux from SW+LW+latent+sensible+masstransfer+frazil+seaice_melt_heat +"ocean_model", "rsdo", "rsdo", "ocean_month", "all", "mean", "none",2 # Downwelling Shortwave Flux in Sea Water at Grid Cell Upper Interface +"ocean_model", "net_heat_coupler", "net_heat_coupler", "ocean_month", "all", "mean", "none",2 # Surface ocean heat flux from SW+LW+latent+sensible+seaice_melt_heat (via the coupler) +"ocean_model", "heat_content_massin", "heat_content_massin", "ocean_month", "all", "mean", "none",2 # Heat content (relative to 0degC) of net mass entering ocean ocean +"ocean_model", "heat_content_massout", "heat_content_massout", "ocean_month", "all", "mean", "none",2 # Heat content (relative to 0degC) of net mass leaving ocean ocean via evap and ice form +"ocean_model", "heat_content_surfwater", "heat_content_surfwater", "ocean_month", "all", "mean", "none",2 # Heat content (relative to 0degC) of net water crossing ocean surface (frozen+liquid) +"ocean_model", "heat_content_fprec", "heat_content_fprec", "ocean_month", "all", "mean", "none",2 # Heat content (relative to 0degC) of frozen prec entering ocean +"ocean_model", "heat_content_cond", "heat_content_cond", "ocean_month", "all", "mean", "none",2 # Heat content (relative to 0degC) of water condensing into ocean +"ocean_model", "LwLatSens", "LwLatSens", "ocean_month", "all", "mean", "none",2 # Combined longwave, latent, and sensible heating at ocean surface +"ocean_model", "Heat_PmE", "Heat_PmE", "ocean_month", "all", "mean", "none",2 # Heat flux into ocean from mass flux into ocean +"ocean_model", "tauuo", "tauuo", "ocean_month", "all", "mean", "none",2 # Surface Downward X Stress +"ocean_model", "tauvo", "tauvo", "ocean_month", "all", "mean", "none",2 # Surface Downward Y Stress +"ocean_model", "ustar", "ustar", "ocean_month", "all", "mean", "none",2 # Surface friction velocity = [(gustiness + tau_magnitude)/rho0]^(1/2) +"ocean_model", "speed", "speed", "ocean_month", "all", "mean", "none",2 # Sea Surface Speed +"ocean_model", "MLD_003", "MLD_003", "ocean_month", "all", "mean", "none",2 # Mixed layer depth (delta rho = 0.03) +"ocean_model", "MLD_003", "MLD_003_min", "ocean_month", "all", "min", "none",2 # Mixed layer depth (delta rho = 0.03) +"ocean_model", "MLD_003", "MLD_003_max", "ocean_month", "all", "max", "none",2 # Mixed layer depth (delta rho = 0.03) +"ocean_model", "MLD_restrat", "MLD_restrat", "ocean_month", "all", "mean", "none",2 # Mixed Layer Depth as used in the mixed-layer restratification parameterization +"ocean_model", "udml_restrat", "udml_restrat", "ocean_month", "all", "mean", "none",2 # Transport stream function amplitude for zonal restratification of mixed layer +"ocean_model", "vdml_restrat", "vdml_restrat", "ocean_month", "all", "mean", "none",2 # Transport stream function amplitude for meridional restratification of mixed layer +"ocean_model", "uml_restrat", "uml_restrat", "ocean_month", "all", "mean", "none",2 # Surface zonal velocity component of mixed layer restratification +"ocean_model", "vml_restrat", "vml_restrat", "ocean_month", "all", "mean", "none",2 # Surface meridional velocity component of mixed layer restratification +"ocean_model", "MLD_EN1", "MLD_EN1", "ocean_month", "all", "mean", "none",2 # Mixed layer depth for energy value set to 25.00 J/m2 (Energy set by 1st MLD_EN_VALS) +"ocean_model", "MLD_EN1", "MLD_EN1_min", "ocean_month", "all", "min", "none",2 # Mixed layer depth for energy value set to 25.00 J/m2 (Energy set by 1st MLD_EN_VALS) +"ocean_model", "MLD_EN1", "MLD_EN1_max", "ocean_month", "all", "max", "none",2 # Mixed layer depth for energy value set to 25.00 J/m2 (Energy set by 1st MLD_EN_VALS) +"ocean_model", "MSTAR", "MSTAR", "ocean_month", "all", "mean", "none",2 # Total mstar that is used. +# Annual ocean in z* coordinates +"ocean_model_z", "volcello", "volcello", "ocean_annual_z", "all", "mean", "none",2 # Ocean grid-cell volume +"ocean_model_z", "thetao", "thetao", "ocean_annual_z", "all", "mean", "none",2 # Sea Water Potential Temperature +"ocean_model_z", "thetao_xyave", "thetao_xyave", "ocean_annual_z", "all", "mean", "none",2 # Sea Water Potential Temperature +"ocean_model_z", "so", "so", "ocean_annual_z", "all", "mean", "none",2 # Sea Water Salinity +"ocean_model_z", "so_xyave", "so_xyave", "ocean_annual_z", "all", "mean", "none",2 # Sea Water Salinity +"ocean_model_z", "uo", "uo", "ocean_annual_z", "all", "mean", "none",2 # Sea Water X Velocity +"ocean_model_z", "vo", "vo", "ocean_annual_z", "all", "mean", "none",2 # Sea Water Y Velocity +"ocean_model_z", "umo", "umo", "ocean_annual_z", "all", "mean", "none",2 # Ocean Mass X Transport +"ocean_model_z", "vmo", "vmo", "ocean_annual_z", "all", "mean", "none",2 # Ocean Mass Y Transport +"ocean_model_z", "uhml", "uhml", "ocean_annual_z", "all", "mean", "none",2 # Zonal Thickness Flux to Restratify Mixed Layer +"ocean_model_z", "vhml", "vhml", "ocean_annual_z", "all", "mean", "none",2 # Meridional Thickness Flux to Restratify Mixed Layer +"ocean_model_z", "uh", "uh", "ocean_annual_z", "all", "mean", "none",2 # Zonal Thickness Flux +"ocean_model_z", "vh", "vh", "ocean_annual_z", "all", "mean", "none",2 # Meridional Thickness Flux +"ocean_model_z", "T_adx", "T_adx", "ocean_annual_z", "all", "mean", "none",2 # Advective (by residual mean) Zonal Flux of Heat +"ocean_model_z", "T_ady", "T_ady", "ocean_annual_z", "all", "mean", "none",2 # Advective (by residual mean) Meridional Flux of Heat +"ocean_model_z", "S_adx", "S_adx", "ocean_annual_z", "all", "mean", "none",2 # Advective (by residual mean) Zonal Flux of Salt +"ocean_model_z", "S_ady", "S_ady", "ocean_annual_z", "all", "mean", "none",2 # Advective (by residual mean) Meridional Flux of Salt +"ocean_model_z", "rsdoabsorb", "rsdoabsorb", "ocean_annual_z", "all", "mean", "none",2 # Convergence of Penetrative Shortwave Flux in Sea Water Layer +"ocean_model_z", "opottemptend", "opottemptend", "ocean_annual_z", "all", "mean", "none",2 # Tendency of Sea Water Potential Temperature Expressed as Heat Content +"ocean_model_z", "opottempdiff", "opottempdiff", "ocean_annual_z", "all", "mean", "none",2 # Tendency of sea water potential temperature expressed as heat content due to parameterized dianeutral mixing +"ocean_model_z", "osalttend", "osalttend", "ocean_annual_z", "all", "mean", "none",2 # Tendency of Sea Water Salinity Expressed as Salt Content +"ocean_model_z", "osaltpmdiff", "osaltpmdiff", "ocean_annual_z", "all", "mean", "none",2 # Tendency of sea water salinity expressed as salt content due to parameterized mesoscale neutral diffusion +"ocean_model_z", "osaltdiff", "osaltdiff", "ocean_annual_z", "all", "mean", "none",2 # Tendency of sea water salinity expressed as salt content due to parameterized dianeutral mixing +"ocean_model_z", "frazil_heat_tendency", "frazil_heat_tendency", "ocean_annual_z", "all", "mean", "none",2 # Heat tendency due to frazil formation +"ocean_model_z", "T_advection_xy", "T_advection_xy", "ocean_annual_z", "all", "mean", "none",2 # Horizontal convergence of residual mean advective fluxes of heat +"ocean_model_z", "S_advection_xy", "S_advection_xy", "ocean_annual_z", "all", "mean", "none",2 # Horizontal convergence of residual mean advective fluxes of salt +"ocean_model_z", "Th_tendency_vert_remap", "Th_tendency_vert_remap", "ocean_annual_z", "all", "mean", "none",2 # Vertical remapping tracer content tendency for Heat +"ocean_model_z", "Sh_tendency_vert_remap", "Sh_tendency_vert_remap", "ocean_annual_z", "all", "mean", "none",2 # Vertical remapping tracer content tendency for Salt +"ocean_model_z", "boundary_forcing_heat_tendency", "boundary_forcing_heat_tendency", "ocean_annual_z", "all", "mean", "none",2 # Boundary forcing heat tendency +"ocean_model_z", "boundary_forcing_salt_tendency", "boundary_forcing_salt_tendency", "ocean_annual_z", "all", "mean", "none",2 # Boundary forcing salt tendency +"ocean_model_z", "difvho", "difvho", "ocean_annual_z", "all", "mean", "none",2 # Ocean vertical heat diffusivity +"ocean_model_z", "difvso", "difvso", "ocean_annual_z", "all", "mean", "none",2 # Ocean vertical salt diffusivity +"ocean_model_z", "difmxybo", "difmxybo", "ocean_annual_z", "all", "mean", "none",2 # Ocean lateral biharmonic viscosity +"ocean_model_z", "Kd_interface", "Kd_interface", "ocean_annual_z", "all", "mean", "none",2 # Total diapycnal diffusivity at interfaces +"ocean_model_z", "Kd_shear", "Kd_shear", "ocean_annual_z", "all", "mean", "none",2 # Shear-driven Diapycnal Diffusivity +"ocean_model_z", "Kd_ePBL", "Kd_ePBL", "ocean_annual_z", "all", "mean", "none",2 # ePBL diapycnal diffusivity at interfaces +"ocean_model_z", "Kd_heat", "Kd_heat", "ocean_annual_z", "all", "mean", "none",2 # Total diapycnal diffusivity for heat at interfaces +"ocean_model_z", "Kd_salt", "Kd_salt", "ocean_annual_z", "all", "mean", "none",2 # Total diapycnal diffusivity for salt at interfaces +"ocean_model_z", "rhopot0", "rhopot0", "ocean_annual_z", "all", "mean", "none",2 # Potential density referenced to surface +"ocean_model_z", "rhoinsitu", "rhoinsitu", "ocean_annual_z", "all", "mean", "none",2 # In situ density +# Annual ocean +"ocean_model", "volcello", "volcello", "ocean_annual", "all", "mean", "none",2 # Ocean grid-cell volume +"ocean_model", "pbo", "pbo", "ocean_annual", "all", "mean", "none",2 # Sea Water Pressure at Sea Floor +"ocean_model", "masscello", "masscello", "ocean_annual", "all", "mean", "none",2 # Mass per unit area of liquid ocean grid cell +"ocean_model", "thkcello", "thkcello", "ocean_annual", "all", "mean", "none",2 # Cell Thickness +"ocean_model", "ssh", "ssh", "ocean_annual", "all", "mean", "none",2 # Sea Surface Height +"ocean_model", "zossq", "zossq", "ocean_annual", "all", "mean", "none",2 # Square of sea surface height above geoid +"ocean_model", "thetao", "thetao", "ocean_annual", "all", "mean", "none",2 # Sea Water Potential Temperature +"ocean_model", "tos", "tos", "ocean_annual", "all", "mean", "none",2 # Sea Surface Temperature +"ocean_model", "tossq", "tossq", "ocean_annual", "all", "mean", "none",2 # Square of Sea Surface Temperature +"ocean_model", "tob", "tob", "ocean_annual", "all", "mean", "none",2 # Sea Water Potential Temperature at Sea Floor +"ocean_model", "so", "so", "ocean_annual", "all", "mean", "none",2 # Sea Water Salinity +"ocean_model", "sos", "sos", "ocean_annual", "all", "mean", "none",2 # Sea Surface Salinity +"ocean_model", "sossq", "sossq", "ocean_annual", "all", "mean", "none",2 # Square of Sea Surface Salinity +"ocean_model", "sob", "sob", "ocean_annual", "all", "mean", "none",2 # Sea Water Salinity at Sea Floor +"ocean_model", "mlotst", "mlotstmin", "ocean_annual", "all", "min", "none",2 # Ocean Mixed Layer Thickness Defined by Sigma T +"ocean_model", "mlotst", "mlotstmax", "ocean_annual", "all", "max", "none",2 # Ocean Mixed Layer Thickness Defined by Sigma T +"ocean_model", "T_adx_2d", "T_adx_2d", "ocean_annual", "all", "mean", "none",2 # Vertically Integrated Advective Zonal Flux of Heat +"ocean_model", "T_ady_2d", "T_ady_2d", "ocean_annual", "all", "mean", "none",2 # Vertically Integrated Advective Meridional Flux of Heat +"ocean_model", "umo_2d", "umo_2d", "ocean_annual", "all", "mean", "none",2 # Ocean Mass X Transport Vertical Sum +"ocean_model", "vmo_2d", "vmo_2d", "ocean_annual", "all", "mean", "none",2 # Ocean Mass Y Transport Vertical Sum +"ocean_model", "prlq", "prlq", "ocean_annual", "all", "mean", "none",2 # Rainfall Flux where Ice Free Ocean over Sea +"ocean_model", "prsn", "prsn", "ocean_annual", "all", "mean", "none",2 # Snowfall Flux where Ice Free Ocean over Sea +"ocean_model", "evs", "evs", "ocean_annual", "all", "mean", "none",2 # Water Evaporation Flux Where Ice Free Ocean over Sea +"ocean_model", "friver", "friver", "ocean_annual", "all", "mean", "none",2 # Water Flux into Sea Water From Rivers +"ocean_model", "wfo", "wfo", "ocean_annual", "all", "mean", "none",2 # Water Flux Into Sea Water +"ocean_model", "net_massout", "net_massout", "ocean_annual", "all", "mean", "none",2 # Net mass leaving the ocean due to evaporation, seaice formation +"ocean_model", "net_massin", "net_massin", "ocean_annual", "all", "mean", "none",2 # Net mass entering ocean due to precip, runoff, ice melt +"ocean_model", "sfdsi", "sfdsi", "ocean_annual", "all", "mean", "none",2 # Downward Sea Ice Basal Salt Flux +"ocean_model", "hfrainds", "hfrainds", "ocean_annual", "all", "mean", "none",2 # Heat content (relative to 0degC) of liquid+frozen precip entering ocean +"ocean_model", "hfevapds", "hfevapds", "ocean_annual", "all", "mean", "none",2 # Heat Content (relative to 0degC) of Water Leaving Ocean via Evaporation and Ice Formation +"ocean_model", "hfrunoffds", "hfrunoffds", "ocean_annual", "all", "mean", "none",2 # Heat content (relative to 0C) of liquid+solid runoff into ocean +"ocean_model", "hfsnthermds", "hfsnthermds", "ocean_annual", "all", "mean", "none",2 # Latent Heat to Melt Frozen Precipitation +"ocean_model", "hfsifrazil", "hfsifrazil", "ocean_annual", "all", "mean", "none",2 # Heat Flux into Sea Water due to Frazil Ice Formation +"ocean_model", "rlntds", "rlntds", "ocean_annual", "all", "mean", "none",2 # Surface Net Downward Longwave Radiation +"ocean_model", "hflso", "hflso", "ocean_annual", "all", "mean", "none",2 # Surface Downward Latent Heat Flux due to Evap + Melt Snow/Ice +"ocean_model", "hfsso", "hfsso", "ocean_annual", "all", "mean", "none",2 # Surface Downward Sensible Heat Flux +"ocean_model", "rsntds", "rsntds", "ocean_annual", "all", "mean", "none",2 # Net Downward Shortwave Radiation at Sea Water Surface +"ocean_model", "rsdo", "rsdo", "ocean_annual", "all", "mean", "none",2 # Downwelling Shortwave Flux in Sea Water at Grid Cell Upper Interface +"ocean_model", "hfds", "hfds", "ocean_annual", "all", "mean", "none",2 # Surface ocean heat flux from SW+LW+latent+sensible+masstransfer+frazil+seaice_melt_heat +"ocean_model", "net_heat_coupler", "net_heat_coupler", "ocean_annual", "all", "mean", "none",2 # Surface ocean heat flux from SW+LW+latent+sensible+seaice_melt_heat (via the coupler) +"ocean_model", "heat_content_massin", "heat_content_massin", "ocean_annual", "all", "mean", "none",2 # Heat content (relative to 0degC) of net mass entering ocean ocean +"ocean_model", "heat_content_massout", "heat_content_massout", "ocean_annual", "all", "mean", "none",2 # Heat content (relative to 0degC) of net mass leaving ocean ocean via evap and ice form +"ocean_model", "heat_content_surfwater", "heat_content_surfwater", "ocean_annual", "all", "mean", "none",2 # Heat content (relative to 0degC) of net water crossing ocean surface (frozen+liquid) +"ocean_model", "heat_content_fprec", "heat_content_fprec", "ocean_annual", "all", "mean", "none",2 # Heat content (relative to 0degC) of frozen prec entering ocean +"ocean_model", "heat_content_cond", "heat_content_cond", "ocean_annual", "all", "mean", "none",2 # Heat content (relative to 0degC) of water condensing into ocean +"ocean_model", "LwLatSens", "LwLatSens", "ocean_annual", "all", "mean", "none",2 # Combined longwave, latent, and sensible heating at ocean surface +"ocean_model", "Heat_PmE", "Heat_PmE", "ocean_annual", "all", "mean", "none",2 # Heat flux into ocean from mass flux into ocean +"ocean_model", "nonpenSW", "nonpenSW", "ocean_annual", "all", "mean", "none",2 # Non-downwelling SW radiation (i.e., SW absorbed in ocean surface with LW,SENS,LAT) +"ocean_model", "tauuo", "tauuo", "ocean_annual", "all", "mean", "none",2 # Surface Downward X Stress +"ocean_model", "tauvo", "tauvo", "ocean_annual", "all", "mean", "none",2 # Surface Downward Y Stress +"ocean_model", "ustar", "ustar", "ocean_annual", "all", "mean", "none",2 # Surface friction velocity = [(gustiness + tau_magnitude)/rho0]^(1/2) +"ocean_model", "opottempmint", "opottempmint", "ocean_annual", "all", "mean", "none",2 # integral_wrt_depth_of_product_of_sea_water_density_and_potential_temperature +"ocean_model", "somint", "somint", "ocean_annual", "all", "mean", "none",2 # integral_wrt_depth_of_product_of_sea_water_density_and_salinity +"ocean_model", "difmxybo", "difmxybo", "ocean_annual", "all", "mean", "none",2 # Ocean lateral biharmonic viscosity +"ocean_model", "e", "e", "ocean_annual", "all", "mean", "none",2 # Interface Height Relative to Mean Sea Level +"ocean_model", "speed", "speed", "ocean_annual", "all", "mean", "none",2 # Sea Surface Speed +"ocean_model", "KE", "KE", "ocean_annual", "all", "mean", "none",2 # Layer kinetic energy per unit mass +"ocean_model", "mass_wt", "mass_wt", "ocean_annual", "all", "mean", "none",2 # The column mass for calculating mass-weighted average properties +"ocean_model", "MLD_003", "MLD_003", "ocean_annual", "all", "mean", "none",2 # Mixed layer depth (delta rho = 0.03) +"ocean_model", "MLD_003", "MLD_003_min", "ocean_annual", "all", "min", "none",2 # Mixed layer depth (delta rho = 0.03) +"ocean_model", "MLD_003", "MLD_003_max", "ocean_annual", "all", "max", "none",2 # Mixed layer depth (delta rho = 0.03) +"ocean_model", "MLD_EN1", "MLD_EN1", "ocean_annual", "all", "mean", "none",2 # Mixed layer depth for energy value set to 25.00 J/m2 (Energy set by 1st MLD_EN_VALS) +"ocean_model", "MLD_EN1", "MLD_EN1_min", "ocean_annual", "all", "min", "none",2 # Mixed layer depth for energy value set to 25.00 J/m2 (Energy set by 1st MLD_EN_VALS) +"ocean_model", "MLD_EN1", "MLD_EN1_max", "ocean_annual", "all", "max", "none",2 # Mixed layer depth for energy value set to 25.00 J/m2 (Energy set by 1st MLD_EN_VALS) +"ocean_model", "MSTAR", "MSTAR", "ocean_annual", "all", "mean", "none",2 # Total mstar that is used. +"ocean_model", "subML_N2", "subML_N2", "ocean_annual", "all", "mean", "none",2 # Squared buoyancy frequency below mixed layer +"ocean_model", "tos", "tos_max", "ocean_annual", "all", "max", "none",2 # Sea Surface Temperature +"ocean_model", "tos", "tos_min", "ocean_annual", "all", "min", "none",2 # Sea Surface Temperature +"ocean_model","diabatic_diff_temp_tendency","diabatic_diff_temp_tendency","ocean_annual","all","mean","none",2 # Diabatic diffusion temperature tendency +"ocean_model","diabatic_diff_saln_tendency","diabatic_diff_saln_tendency","ocean_annual","all","mean","none",2 # Diabatic diffusion salinity tendency +"ocean_model", "T_tendency", "T_tendency", "ocean_annual","all","mean","none",2 # Net time tendency for potential temperature +"ocean_model", "S_tendency", "S_tendency", "ocean_annual","all","mean","none",2 # Net time tendency for salinity +"ocean_model", "opottemptend_2d", "opottemptend_2d", "ocean_annual","all","mean","none",2 # Tendency of Sea Water Potential Temperature Expressed as Heat Content Vertical Sum +"ocean_model", "osalttend_2d", "osalttend_2d", "ocean_annual","all","mean","none",2 # Tendency of Sea Water Salinity Expressed as Salt Content Vertical Sum +"ocean_model", "T_advection_xy_2d", "T_advection_xy_2d", "ocean_annual","all","mean","none",2 # Vertical sum of horizontal convergence of residual mean advective fluxes of heat +"ocean_model", "S_advection_xy_2d", "S_advection_xy_2d", "ocean_annual","all","mean","none",2 # Vertical sum of horizontal convergence of residual mean advective fluxes of salt +"ocean_model","T_tendency_vert_remap", "T_tendency_vert_remap", "ocean_annual","all","mean","none",2 # Vertical remapping tracer concentration tendency for temp +"ocean_model","S_tendency_vert_remap", "S_tendency_vert_remap", "ocean_annual","all","mean","none",2 # Vertical remapping tracer concentration tendency for salt +"ocean_model","Th_tendency_vert_remap_2d", "Th_tendency_vert_remap_2d", "ocean_annual","all","mean","none",2 # Vertical sum of vertical remapping tracer content tendency for Heat +"ocean_model","Sh_tendency_vert_remap_2d", "Sh_tendency_vert_remap_2d", "ocean_annual","all","mean","none",2 # Vertical sum of vertical remapping tracer content tendency for Salt +"ocean_model","frazil_heat_tendency_2d" ,"frazil_heat_tendency_2d", "ocean_annual","all","mean","none",2 # Depth integrated heat tendency due to frazil formation +"ocean_model","boundary_forcing_heat_tendency_2d" ,"boundary_forcing_heat_tendency_2d","ocean_annual","all","mean","none",2 # Depth integrated boundary forcing of ocean heat +"ocean_model","boundary_forcing_salt_tendency_2d" ,"boundary_forcing_salt_tendency_2d","ocean_annual","all","mean","none",2 # Depth integrated boundary forcing of ocean salt +# SIS2 sea-ice diagnostics files +"ice_daily", 1, "days", 1, "days", "time" +"ice_month", 1, "months", 1, "days", "time" +"ice_static", -1, "months", 1, "days", "time" +# sea-ice static information +"ice_model", "CELL_AREA", "CELL_AREA", "ice_static", "all", "none", "none", 2 # cell area +"ice_model", "COSROT", "COSROT", "ice_static", "all", "none", "none", 2 # COSROT,SINROT points east +"ice_model", "GEOLAT", "GEOLAT", "ice_static", "all", "none", "none", 2 # latitude +"ice_model", "GEOLON", "GEOLON", "ice_static", "all", "none", "none", 2 # longitude +"ice_model", "SINROT", "SINROT", "ice_static", "all", "none", "none", 2 # -SINROT,COSROT points north +# Daily sea-ice +"ice_model", "EXT", "EXT", "ice_daily", "all", "mean", "none", 2 # ice extension +"ice_model", "siconc", "siconc", "ice_daily", "all", "mean", "none", 2 # ice concentration +# Monthly sea-ice +"ice_model", "ALB", "ALB", "ice_month", "all", "mean", "none", 2 # Shortwave flux weighted surface albedo, or 1 if no SW +"ice_model", "BHEAT", "BHEAT", "ice_month", "all", "mean", "none", 2 # ocean to ice heat flux +"ice_model", "BMELT", "BMELT", "ice_month", "all", "mean", "none", 2 # bottom surface melting energy flux +"ice_model", "BSNK", "BSNK", "ice_month", "all", "mean", "none", 2 # frozen water local bottom sink +"ice_model", "CN", "CN", "ice_month", "all", "mean", "none", 2 # ice concentration +"ice_model", "E2MELT", "E2MELT", "ice_month", "all", "mean", "none", 2 # heat needed to melt ice +"ice_model", "EXT", "EXT", "ice_month", "all", "mean", "none", 2 # ice extension +"ice_model", "EXT", "EXT_MIN", "ice_month", "all", "min", "none", 2 # ice extension min +"ice_model", "EXT", "EXT_MAX", "ice_month", "all", "max", "none", 2 # ice extension max +"ice_model", "FA_X", "FA_X", "ice_month", "all", "mean", "none", 2 # Air stress on ice on C-grid - x component +"ice_model", "FA_Y", "FA_Y", "ice_month", "all", "mean", "none", 2 # Air stress on ice on C-grid - y component +"ice_model", "FI_X", "FI_X", "ice_month", "all", "mean", "none", 2 # ice internal stress - x component +"ice_model", "FI_Y", "FI_Y", "ice_month", "all", "mean", "none", 2 # ice internal stress - y component +"ice_model", "FRAZIL", "FRAZIL", "ice_month", "all", "mean", "none", 2 # energy flux of frazil formation +"ice_model", "IX_TRANS", "IX_TRANS", "ice_month", "all", "mean", "none", 2 # x-direction ice transport +"ice_model", "IY_TRANS", "IY_TRANS", "ice_month", "all", "mean", "none", 2 # y-direction ice transport +"ice_model", "LSNK", "LSNK", "ice_month", "all", "mean", "none", 2 # frozen water local sink +"ice_model", "LSRC", "LSRC", "ice_month", "all", "mean", "none", 2 # frozen water local source +"ice_model", "RAIN", "RAIN", "ice_month", "all", "mean", "none", 2 # rate of rain fall +"ice_model", "SALTF", "SALTF", "ice_month", "all", "mean", "none", 2 # ice to ocean salt flux +"ice_model", "SNOWFL", "SNOWFL", "ice_month", "all", "mean", "none", 2 # rate of snow fall +"ice_model", "SN2IC", "SN2IC", "ice_month", "all", "mean", "none", 2 # rate of snow to ice conversion +"ice_model", "TMELT", "TMELT", "ice_month", "all", "mean", "none", 2 # upper surface melting energy flux +"ice_model", "TSN", "TSN", "ice_month", "all", "mean", "none", 2 # snow layer temperature +"ice_model", "T1", "T1", "ice_month", "all", "mean", "none", 2 # ice layer 1 temperature +"ice_model", "T2", "T2", "ice_month", "all", "mean", "none", 2 # ice layer 2 temperature +"ice_model", "T3", "T3", "ice_month", "all", "mean", "none", 2 # ice layer 3 temperature +"ice_model", "T4", "T4", "ice_month", "all", "mean", "none", 2 # ice layer 4 temperature +"ice_model", "XPRT", "XPRT", "ice_month", "all", "mean", "none", 2 # frozen water transport convergence +"ice_model", "siu", "siu", "ice_month", "all", "mean", "none", 2 # ice velocity - x component +"ice_model", "siv", "siv", "ice_month", "all", "mean", "none", 2 # ice velocity - y component +"ice_model", "sispeed", "sispeed", "ice_month", "all", "mean", "none", 2 # ice speed +"ice_model", "STRENGTH_hf","STRENGTH_hf", "ice_month", "all", "mean", "none", 2 # ice strength +"ice_model", "sitimefrac", "sitimefrac", "ice_month", "all", "mean", "none", 2 # time fraction of ice cover +"ice_model", "sitemptop", "sitemptop", "ice_month", "all", "mean", "none", 2 # surface temperature +"ice_model", "siconc", "siconc", "ice_month", "all", "mean", "none", 2 # ice concentration +"ice_model", "sisnconc", "sisnconc", "ice_month", "all", "mean", "none", 2 # snow concentration +"ice_model", "simass", "simass", "ice_month", "all", "mean", "none", 2 # ice mass +"ice_model", "sisnmass", "sisnmass", "ice_month", "all", "mean", "none", 2 # snow mass +"ice_model", "sisnthick", "sisnthick", "ice_month", "all", "mean", "none", 2 # snow thickness +"ice_model", "sithick", "sithick", "ice_month", "all", "mean", "none", 2 # ice thickness +"ice_model", "sivol", "sivol", "ice_month", "all", "mean", "none", 2 # ice volume +"ice_model", "MIB", "MIB", "ice_month", "all", "mean", "none", 2 # ice + snow + bergs mass +# CEFI OBGC/COBALT diagnostics files +"ocean_cobalt_sfc", 1, "months", 1, "days", "time" +"ocean_cobalt_btm", 1, "months", 1, "days", "time" +"ocean_cobalt_tracers_int", 1, "months", 1, "days", "time" +"ocean_cobalt_fluxes_int", 1, "months", 1, "days", "time" +"ocean_cobalt_fdet_100", 1, "months", 1, "days", "time" +"ocean_cobalt_tracers_month_z", 1, "months", 1, "days", "time" +"ocean_cobalt_daily_2d", 24, "hours", 1, "days", "time" +"ocean_cobalt_omip_sfc", 1, "months", 1, "days", "time" +"ocean_cobalt_omip_2d", 1, "months", 1, "days", "time" +# Daily COBALT 2D fileds +"generic_cobalt", "phos", "phos", "ocean_cobalt_daily_2d","all","mean","none",2 # Surface pH +"generic_cobalt", "no3os", "no3os", "ocean_cobalt_daily_2d","all","mean","none",2 # Surface Dissolved Nitrate Concentration +"generic_cobalt", "pco2surf", "pco2surf", "ocean_cobalt_daily_2d","all","mean","none",2 # Oceanic pCO2 +"generic_cobalt", "mesozoo_200", "mesozoo_200", "ocean_cobalt_daily_2d","all","mean","none",2 # Mesozooplankton biomass, 200m integral +"generic_cobalt", "btm_o2", "btm_o2", "ocean_cobalt_daily_2d","all","mean","none",2 # Bottom Oxygen +"generic_cobalt", "btm_co3_sol_arag", "btm_co3_sol_arag", "ocean_cobalt_daily_2d","all","mean","none",2 # Bottom Aragonite Solubility +"generic_cobalt", "btm_co3_sol_calc", "btm_co3_sol_calc", "ocean_cobalt_daily_2d","all","mean","none",2 # Bottom Calcite Solubility +"generic_cobalt", "btm_co3_ion", "btm_co3_ion", "ocean_cobalt_daily_2d","all","mean","none",2 # Bottom Carbonate Ion +"generic_cobalt", "btm_htotal", "btm_htotal", "ocean_cobalt_daily_2d","all","mean","none",2 # Bottom Htotal +"generic_cobalt","chlos", "chlos", "ocean_cobalt_daily_2d","all","mean","none",2 # Surface Mass Concentration of Total Phytoplankton expressed as Chlorophyll in sea water +"generic_cobalt","phycos", "phycos", "ocean_cobalt_daily_2d","all","mean","none",2 # Surface Phytoplankton Carbon Concentration +# Monthly COBALT surface fields (2D) +"generic_cobalt","dic_csurf", "dic_csurf", "ocean_cobalt_sfc","all","mean","none",2 # Ocean surface gas concentration of dic +"generic_cobalt","dic_deltap", "dic_deltap", "ocean_cobalt_sfc","all","mean","none",2 # Ocn minus Atm pressure of dic +"generic_cobalt","dic_kw", "dic_kw", "ocean_cobalt_sfc","all","mean","none",2 # Gas Exchange piston velocity for dic +"generic_cobalt","dic_sc_no", "dic_sc_no", "ocean_cobalt_sfc","all","mean","none",2 # Ocean surface Schmidt Number for dic +"generic_cobalt","pco2surf", "pco2surf", "ocean_cobalt_sfc","all","mean","none",2 # Oceanic pCO2 +"generic_cobalt","o2_alpha", "o2_alpha", "ocean_cobalt_sfc","all","mean","none",2 # Atmospheric saturation for o2 +"generic_cobalt","o2_csurf", "o2_csurf", "ocean_cobalt_sfc","all","mean","none",2 # Ocean surface gas concentration of o2 +"generic_cobalt","o2_deltap", "o2_deltap", "ocean_cobalt_sfc","all","mean","none",2 # Ocn minus Atm pressure of o2 +"generic_cobalt","o2_kw", "o2_kw", "ocean_cobalt_sfc","all","mean","none",2 # Gas Exchange piston velocity for o2 +"generic_cobalt","o2_sc_no", "o2_sc_no", "ocean_cobalt_sfc","all","mean","none",2 # Ocean surface Schmidt Number for o2 +"generic_cobalt","dic_stf_gas", "dic_stf_gas", "ocean_cobalt_sfc","all","mean","none",2 # Gas exchange flux of dic into Ocean Surface +"generic_cobalt","o2_stf_gas", "o2_stf_gas", "ocean_cobalt_sfc","all","mean","none",2 # Gas exchange flux of o2 into Ocean Surface +"generic_cobalt","dep_dry_fed", "dep_dry_fed", "ocean_cobalt_sfc","all","mean","none",2 # Dry Deposition of Iron to the ocean +"generic_cobalt","dep_dry_nh4", "dep_dry_nh4", "ocean_cobalt_sfc","all","mean","none",2 # Dry Deposition of Ammonia to the ocean +"generic_cobalt","dep_dry_no3", "dep_dry_no3", "ocean_cobalt_sfc","all","mean","none",2 # Dry Deposition of Nitrate to the ocean +"generic_cobalt","dep_dry_po4", "dep_dry_po4", "ocean_cobalt_sfc","all","mean","none",2 # Dry Deposition of Phosphate to the ocean +"generic_cobalt","dep_dry_lith", "dep_dry_lith", "ocean_cobalt_sfc","all","mean","none",2 # Dry Deposition of Lithogenic Material +"generic_cobalt","dep_wet_fed", "dep_wet_fed", "ocean_cobalt_sfc","all","mean","none",2 # Wet Deposition of Iron to the ocean +"generic_cobalt","dep_wet_nh4", "dep_wet_nh4", "ocean_cobalt_sfc","all","mean","none",2 # Wet Deposition of Ammonia to the ocean +"generic_cobalt","dep_wet_no3", "dep_wet_no3", "ocean_cobalt_sfc","all","mean","none",2 # Wet Deposition of Nitrate to the ocean +"generic_cobalt","dep_wet_lith", "dep_wet_lith", "ocean_cobalt_sfc","all","mean","none",2 # Wet Deposition of Lithogenic Material +"generic_cobalt","runoff_flux_alk", "runoff_flux_alk", "ocean_cobalt_sfc","all","mean","none",2 # Alkalinity runoff flux to the ocean +"generic_cobalt","runoff_flux_dic", "runoff_flux_dic", "ocean_cobalt_sfc","all","mean","none",2 # Dissolved Inorganic Carbon runoff flux to the ocean +"generic_cobalt","runoff_flux_fed", "runoff_flux_fed", "ocean_cobalt_sfc","all","mean","none",2 # Iron runoff flux to the ocean +"generic_cobalt","runoff_flux_lith", "runoff_flux_lith", "ocean_cobalt_sfc","all","mean","none",2 # Lithogenic runoff flux to the ocean +"generic_cobalt","runoff_flux_no3", "runoff_flux_no3", "ocean_cobalt_sfc","all","mean","none",2 # Nitrate runoff flux to the ocean +"generic_cobalt","runoff_flux_ldon", "runoff_flux_ldon", "ocean_cobalt_sfc","all","mean","none",2 # LDON runoff flux to the ocean +"generic_cobalt","runoff_flux_sldon", "runoff_flux_sldon","ocean_cobalt_sfc","all","mean","none",2 # SLDON runoff flux to the ocean +"generic_cobalt","runoff_flux_srdon", "runoff_flux_srdon","ocean_cobalt_sfc","all","mean","none",2 # SRDON runoff flux to the ocean +"generic_cobalt","runoff_flux_ndet", "runoff_flux_ndet", "ocean_cobalt_sfc","all","mean","none",2 # NDET runoff flux to the ocean +"generic_cobalt","runoff_flux_pdet", "runoff_flux_pdet", "ocean_cobalt_sfc","all","mean","none",2 # PDET runoff flux to the ocean +"generic_cobalt","runoff_flux_po4", "runoff_flux_po4", "ocean_cobalt_sfc","all","mean","none",2 # PO4 runoff flux to the ocean +"generic_cobalt","runoff_flux_ldop", "runoff_flux_ldop", "ocean_cobalt_sfc","all","mean","none",2 # LDOP runoff flux to the ocean +"generic_cobalt","runoff_flux_sldop", "runoff_flux_sldop","ocean_cobalt_sfc","all","mean","none",2 # SLDOP runoff flux to the ocean +"generic_cobalt","runoff_flux_srdop", "runoff_flux_srdop","ocean_cobalt_sfc","all","mean","none",2 # SRDOP runoff flux to the ocean +"generic_cobalt","sfc_def_fe_di", "sfc_def_fe_di", "ocean_cobalt_sfc","all","mean","none",2 # Surface diazotroph iron deficiency +"generic_cobalt","sfc_def_fe_lgp", "sfc_def_fe_lgp", "ocean_cobalt_sfc","all","mean","none",2 # Surface large phyto. iron deficiency +"generic_cobalt","sfc_def_fe_mdp", "sfc_def_fe_mdp", "ocean_cobalt_sfc","all","mean","none",2 # Surface medium phyto. iron deficiency +"generic_cobalt","sfc_def_fe_smp", "sfc_def_fe_smp", "ocean_cobalt_sfc","all","mean","none",2 # Surface small phyto. iron deficiency +"generic_cobalt","sfc_felim_di", "sfc_felim_di", "ocean_cobalt_sfc","all","mean","none",2 # Surface diazotroph iron uptake limitation +"generic_cobalt","sfc_felim_lgp", "sfc_felim_lgp", "ocean_cobalt_sfc","all","mean","none",2 # Surface large phyto. iron uptake limitation +"generic_cobalt","sfc_felim_mdp", "sfc_felim_mdp", "ocean_cobalt_sfc","all","mean","none",2 # Surface medium phyto. iron uptake limitation +"generic_cobalt","sfc_felim_smp", "sfc_felim_smp", "ocean_cobalt_sfc","all","mean","none",2 # Surface small phyto. iron uptake limitation +"generic_cobalt","sfc_irrlim_di", "sfc_irrlim_di", "ocean_cobalt_sfc","all","mean","none",2 # Surface diazotroph light limitation +"generic_cobalt","sfc_irrlim_lgp", "sfc_irrlim_lgp", "ocean_cobalt_sfc","all","mean","none",2 # Surface large phyto. light limitation +"generic_cobalt","sfc_irrlim_mdp", "sfc_irrlim_mdp", "ocean_cobalt_sfc","all","mean","none",2 # Surface medium phyto. light limitation +"generic_cobalt","sfc_irrlim_smp", "sfc_irrlim_smp", "ocean_cobalt_sfc","all","mean","none",2 # Surface small phyto. light limitation +"generic_cobalt","sfc_theta_di", "sfc_theta_di", "ocean_cobalt_sfc","all","mean","none",2 # Surface diazotroph Chl:C +"generic_cobalt","sfc_theta_lgp", "sfc_theta_lgp", "ocean_cobalt_sfc","all","mean","none",2 # Surface large phyto. Chl:C +"generic_cobalt","sfc_theta_mdp", "sfc_theta_mdp", "ocean_cobalt_sfc","all","mean","none",2 # Surface medium phyto. Chl:C +"generic_cobalt","sfc_theta_smp", "sfc_theta_smp", "ocean_cobalt_sfc","all","mean","none",2 # Surface small phyto. Chl:C +"generic_cobalt","sfc_mu_di", "sfc_mu_di", "ocean_cobalt_sfc","all","mean","none",2 # Surface diazotroph growth rate +"generic_cobalt","sfc_mu_lgp", "sfc_mu_lgp", "ocean_cobalt_sfc","all","mean","none",2 # Surface large phyto. Chl:C +"generic_cobalt","sfc_mu_mdp", "sfc_mu_mdp", "ocean_cobalt_sfc","all","mean","none",2 # Surface medium phyto. Chl:C +"generic_cobalt","sfc_mu_smp", "sfc_mu_smp", "ocean_cobalt_sfc","all","mean","none",2 # Surface small phyto. Chl:C +"generic_cobalt","sfc_nh4lim_lgp", "sfc_nh4lim_lgp", "ocean_cobalt_sfc","all","mean","none",2 # Surface large phyto. ammonia limitation +"generic_cobalt","sfc_nh4lim_mdp", "sfc_nh4lim_mdp", "ocean_cobalt_sfc","all","mean","none",2 # Surface medium phyto. ammonia limitation +"generic_cobalt","sfc_nh4lim_smp", "sfc_nh4lim_smp", "ocean_cobalt_sfc","all","mean","none",2 # Surface small phyto. ammonia limitation +"generic_cobalt","sfc_no3lim_lgp", "sfc_no3lim_lgp", "ocean_cobalt_sfc","all","mean","none",2 # Surface large phyto. nitrate limitation +"generic_cobalt","sfc_no3lim_mdp", "sfc_no3lim_mdp", "ocean_cobalt_sfc","all","mean","none",2 # Surface medium phyto. nitrate limitation +"generic_cobalt","sfc_no3lim_smp", "sfc_no3lim_smp", "ocean_cobalt_sfc","all","mean","none",2 # Surface small phyto. nitrate limitation +"generic_cobalt","sfc_po4lim_di", "sfc_po4lim_di", "ocean_cobalt_sfc","all","mean","none",2 # Surface diazotroph phosphate limitation +"generic_cobalt","sfc_po4lim_lgp", "sfc_po4lim_lgp", "ocean_cobalt_sfc","all","mean","none",2 # Surface large phyto. phosphate limitation +"generic_cobalt","sfc_po4lim_mdp", "sfc_po4lim_mdp", "ocean_cobalt_sfc","all","mean","none",2 # Surface medium phyto. phosphate limitation +"generic_cobalt","sfc_po4lim_smp", "sfc_po4lim_smp", "ocean_cobalt_sfc","all","mean","none",2 # Surface small phyto. phosphate limitation +"generic_cobalt","sfc_q_fe_2_n_di", "sfc_q_fe_2_n_di", "ocean_cobalt_sfc","all","mean","none",2 # Surface diazotroph iron:nitrogen +"generic_cobalt","sfc_q_fe_2_n_lgp", "sfc_q_fe_2_n_lgp", "ocean_cobalt_sfc","all","mean","none",2 # Surface large phyto. iron:nitrogen +"generic_cobalt","sfc_q_fe_2_n_mdp", "sfc_q_fe_2_n_mdp", "ocean_cobalt_sfc","all","mean","none",2 # Surface medium phyto. iron:nitrogen +"generic_cobalt","sfc_q_fe_2_n_smp", "sfc_q_fe_2_n_smp", "ocean_cobalt_sfc","all","mean","none",2 # Surface small phyto. iron:nitrogen +"generic_cobalt","nh4_stf", "nh4_stf", "ocean_cobalt_sfc","all","mean","none",2 # Total flux of nh4 into Ocean Surface +"generic_cobalt","sfc_no3", "sfc_no3", "ocean_cobalt_sfc","all","mean","none",2 # Surface NO3 +"generic_cobalt","sfc_po4", "sfc_po4", "ocean_cobalt_sfc","all","mean","none",2 # Surface PO4 +"generic_cobalt","sfc_sio4", "sfc_sio4", "ocean_cobalt_sfc","all","mean","none",2 # Surface SiO4 +"generic_cobalt","sfc_co3_sol_arag", "sfc_co3_sol_arag", "ocean_cobalt_sfc","all","mean","none",2 # Surface Carbonate Ion Solubility for Aragonite +"generic_cobalt","sfc_co3_sol_calc", "sfc_co3_sol_calc", "ocean_cobalt_sfc","all","mean","none",2 # Surface Carbonate Ion Solubility for Calcite +"generic_cobalt","sfc_co3_ion", "sfc_co3_ion", "ocean_cobalt_sfc","all","mean","none",2 # Surface Carbonate Ion +# Monthly COBALT bottom fields (2D) +"generic_cobalt","btm_temp", "btm_temp", "ocean_cobalt_btm","all","mean","none",2 # Bottom Temperature +"generic_cobalt","btm_o2", "btm_o2", "ocean_cobalt_btm","all","mean","none",2 # Bottom Oxygen +"generic_cobalt","ffedet_btm", "ffedet_btm", "ocean_cobalt_btm","all","mean","none",2 # fedet sinking flux burial +"generic_cobalt","ffedi_btm", "ffedi_btm", "ocean_cobalt_btm","all","mean","none",2 # diazo Fe sinking flux to bottom +"generic_cobalt","ffetot_btm", "ffetot_btm", "ocean_cobalt_btm","all","mean","none",2 # Total Fe sinking flux to bottom +"generic_cobalt","ffemd_btm", "ffemd_btm", "ocean_cobalt_btm","all","mean","none",2 # medium phyto Fe sinking flux to bottom +"generic_cobalt","ffelg_btm", "ffelg_btm", "ocean_cobalt_btm","all","mean","none",2 # large phyto Fe sinking flux to bottom +"generic_cobalt","ffe_sed", "ffe_sed", "ocean_cobalt_btm","all","mean","none",2 # Sediment iron efflux +"generic_cobalt","flithdet_btm", "flithdet_btm", "ocean_cobalt_btm","all","mean","none",2 # Lithogenic detrital sinking flux burial +"generic_cobalt","fndet_btm", "fndet_btm", "ocean_cobalt_btm","all","mean","none",2 # ndet sinking flux to bottom +"generic_cobalt","fndi_btm", "fndi_btm", "ocean_cobalt_btm","all","mean","none",2 # diazo N sinking flux to bottom +"generic_cobalt","fntot_btm", "fntot_btm", "ocean_cobalt_btm","all","mean","none",2 # Total N sinking flux to bottom +"generic_cobalt","fnmd_btm", "fnmd_btm", "ocean_cobalt_btm","all","mean","none",2 # medium phyto N sinking flux to bottom +"generic_cobalt","fnlg_btm", "fnlg_btm", "ocean_cobalt_btm","all","mean","none",2 # large phyto N sinking flux to bottom +"generic_cobalt","fpdet_btm", "fpdet_btm", "ocean_cobalt_btm","all","mean","none",2 # pdet sinking flux to bottom +"generic_cobalt","fpdi_btm", "fpdi_btm", "ocean_cobalt_btm","all","mean","none",2 # diazo P sinking flux to bottom +"generic_cobalt","fptot_btm", "fptot_btm", "ocean_cobalt_btm","all","mean","none",2 # Total P sinking flux to bottom +"generic_cobalt","fpmd_btm", "fpmd_btm", "ocean_cobalt_btm","all","mean","none",2 # medium phyto P sinking flux to bottom +"generic_cobalt","fplg_btm", "fplg_btm", "ocean_cobalt_btm","all","mean","none",2 # large phyto P sinking flux to bottom +"generic_cobalt","fsidet_btm", "fsidet_btm", "ocean_cobalt_btm","all","mean","none",2 # sidet sinking flux to bottom +"generic_cobalt","fsimd_btm", "fsimd_btm", "ocean_cobalt_btm","all","mean","none",2 # medium phyto Si sinking flux to bottom +"generic_cobalt","fsilg_btm", "fsilg_btm", "ocean_cobalt_btm","all","mean","none",2 # large phyto Si sinking flux to bottom +"generic_cobalt","fcadet_arag_btm", "fcadet_arag_btm", "ocean_cobalt_btm","all","mean","none",2 # Aragonite sinking flux at bottom +"generic_cobalt","fcadet_calc_btm", "fcadet_calc_btm", "ocean_cobalt_btm","all","mean","none",2 # Calcite sinking flux at bottom +"generic_cobalt","fcased_burial", "fcased_burial", "ocean_cobalt_btm","all","mean","none",2 # Calcite permanent burial flux +"generic_cobalt","fcased_redis", "fcased_redis", "ocean_cobalt_btm","all","mean","none",2 # Calcite redissolution from sediments +"generic_cobalt","fnfeso4red_sed", "fnfeso4red_sed", "ocean_cobalt_btm","all","mean","none",2 # Sediment Ndet Fe and SO4 reduction flux +"generic_cobalt","fno3denit_sed", "fno3denit_sed", "ocean_cobalt_btm","all","mean","none",2 # Sediment denitrification flux +"generic_cobalt","fnoxic_sed", "fnoxic_sed", "ocean_cobalt_btm","all","mean","none",2 # Sediment oxic Ndet remineralization flux +"generic_cobalt","cased_2d", "cased", "ocean_cobalt_btm","all","mean","none",2 # calcium carbonate in sediment +"generic_cobalt","btm_co3_sol_arag", "btm_co3_sol_arag","ocean_cobalt_btm","all","mean","none",2 # Bottom Aragonite Solubility +"generic_cobalt","btm_co3_sol_calc", "btm_co3_sol_calc","ocean_cobalt_btm","all","mean","none",2 # Bottom Calcite Solubility +"generic_cobalt","btm_co3_ion", "btm_co3_ion", "ocean_cobalt_btm","all","mean","none",2 # Bottom Carbonate Ion +"generic_cobalt","btm_htotal", "btm_htotal", "ocean_cobalt_btm","all","mean","none",2 # Bottom Htotal +"generic_cobalt","fcased_redis_surfresp","fcased_redis_surfresp","ocean_cobalt_btm","all","mean","none",2 # Calcite redissolution rom sediments, surfresp +"generic_cobalt","cased_redis_coef", "cased_redis_coef", "ocean_cobalt_btm","all","mean","none",2 # Calcite redissolution from sediments, deepresp coefficient, +"generic_cobalt","cased_redis_delz", "cased_redis_delz", "ocean_cobalt_btm","all","mean","none",2 # Calcite redissolution from sediments, effective depth +# COBALT downward fluxes at 100 meters +"generic_cobalt","fndet_100", "fndet_100", "ocean_cobalt_fdet_100","all","mean","none",2 # Nitrogen detritus sinking flux @ 100m +"generic_cobalt","fntot_100", "fntot_100", "ocean_cobalt_fdet_100","all","mean","none",2 # total nitrogen sinking flux @ 100m +"generic_cobalt","fpdet_100", "fpdet_100", "ocean_cobalt_fdet_100","all","mean","none",2 # Phosphorous detritus sinking flux @ 100m +"generic_cobalt","fptot_100", "fptot_100", "ocean_cobalt_fdet_100","all","mean","none",2 # total phosphorous sinking flux @ 100m +"generic_cobalt","ffedet_100", "ffedet_100", "ocean_cobalt_fdet_100","all","mean","none",2 # Iron detritus sinking flux @ 100m +"generic_cobalt","fsidet_100", "fsidet_100", "ocean_cobalt_fdet_100","all","mean","none",2 # Silicon detritus sinking flux @ 100m +"generic_cobalt","fcadet_calc_100", "fcadet_calc_100", "ocean_cobalt_fdet_100","all","mean","none",2 # Calcite detritus sinking flux @ 100m +"generic_cobalt","fcadet_arag_100", "fcadet_arag_100", "ocean_cobalt_fdet_100","all","mean","none",2 # Aragonite detritus sinking flux @ 100m +"generic_cobalt","flithdet_100", "flithdet_100", "ocean_cobalt_fdet_100","all","mean","none",2 # Lithogenic detritus sinking flux @ 100m +# COBALT integrated tracer variables at 100 meters +"generic_cobalt","nsmp_100", "nsmp_100", "ocean_cobalt_tracers_int","all","mean","none",2 # Small phytoplankton nitrogen biomass in upper 100m +"generic_cobalt","nmdp_100", "nmdp_100", "ocean_cobalt_tracers_int","all","mean","none",2 # Medium phytoplankton nitrogen biomass in upper 100m +"generic_cobalt","nlgp_100", "nlgp_100", "ocean_cobalt_tracers_int","all","mean","none",2 # Large phytoplankton nitrogen biomass in upper 100m +"generic_cobalt","ndi_100", "ndi_100", "ocean_cobalt_tracers_int","all","mean","none",2 # Diazotroph nitrogen biomass in upper 100m +"generic_cobalt","silgp_100", "silgp_100", "ocean_cobalt_tracers_int","all","mean","none",2 # Large phytoplankton silicon biomass in upper 100m +"generic_cobalt","simdp_100", "simdp_100", "ocean_cobalt_tracers_int","all","mean","none",2 # Medium phytoplankton silicon biomass in upper 100m +"generic_cobalt","nsmz_100", "nsmz_100", "ocean_cobalt_tracers_int","all","mean","none",2 # Small zooplankton nitrogen biomass in upper 100m +"generic_cobalt","nmdz_100", "nmdz_100", "ocean_cobalt_tracers_int","all","mean","none",2 # Medium zooplankton nitrogen biomass in upper 100m +"generic_cobalt","nlgz_100", "nlgz_100", "ocean_cobalt_tracers_int","all","mean","none",2 # Large zooplankton nitrogen biomass in upper 100m +"generic_cobalt","nbact_100", "nbact_100", "ocean_cobalt_tracers_int","all","mean","none",2 # Bacterial nitrogen biomass in upper 100m +"generic_cobalt","don_100", "don_100", "ocean_cobalt_tracers_int","all","mean","none",2 # Dissolved organic nitrogen (sr+sl+l) in upper 100m +"generic_cobalt","ndet_100", "ndet_100", "ocean_cobalt_tracers_int","all","mean","none",2 # Nitrogen detritus biomass in upper 100m +"generic_cobalt","mesozoo_200", "mesozoo_200", "ocean_cobalt_tracers_int","all","mean","none",2 # Mesozooplankton biomass, 200m integral +# Generic COBALT integrated flux variables +"generic_cobalt","jprod_nsmp_100", "jprod_nsmp_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Small phyto. nitrogen prim. prod. integral in upper 100m +"generic_cobalt","jprod_nmdp_100", "jprod_nmdp_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Medium phyto. nitrogen prim. prod. integral in upper 100m +"generic_cobalt","jprod_nlgp_100", "jprod_nlgp_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Large phyto. nitrogen prim. prod. integral in upper 100m +"generic_cobalt","jprod_ndi_100", "jprod_ndi_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Diazotroph nitrogen prim. prod. integral in upper 100m +"generic_cobalt","jprod_nsmp_new_100", "jprod_nsmp_new_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Small phyto. new (NO3-based) prim. prod. integral in upper 100m +"generic_cobalt","jprod_nmdp_new_100", "jprod_nmdp_new_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Medium phyto. new (NO3-based) prim. prod. integral in upper 100m +"generic_cobalt","jprod_nlgp_new_100", "jprod_nlgp_new_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Large phyto. new (NO3-based) prim. prod. integral in upper 100m +"generic_cobalt","jprod_ndi_new_100", "jprod_ndi_new_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Diazotroph new (NO3-based) prim. prod. integral in upper 100m +"generic_cobalt","jprod_ndi_n2_100", "jprod_ndi_n2_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Diazotroph nitrogen fixation in upper 100m +"generic_cobalt","jprod_nsmz_100", "jprod_nsmz_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Small zooplankton nitrogen prod. integral in upper 100m +"generic_cobalt","jprod_nmdz_100", "jprod_nmdz_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Medium zooplankton nitrogen prod. integral in upper 100m +"generic_cobalt","jprod_nlgz_100", "jprod_nlgz_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Large zooplankton nitrogen prod. integral in upper 100m +"generic_cobalt","jprod_nbact_100", "jprod_nbact_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Bacteria nitrogen prod. integral in upper 100m +"generic_cobalt","jprod_mesozoo_200", "jprod_mesozoo_200", "ocean_cobalt_fluxes_int","all","mean","none",2 # Mesozooplankton Production, 200m integration +"generic_cobalt","jzloss_nsmp_100", "jzloss_nsmp_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Small phyto. nitrogen loss to zooplankton integral in upper 100m +"generic_cobalt","jzloss_nmdp_100", "jzloss_nmdp_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Medium phyto. nitrogen loss to zooplankton integral in upper 100m +"generic_cobalt","jzloss_nlgp_100", "jzloss_nlgp_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Large phyto. nitrogen loss to zooplankton integral in upper 100m +"generic_cobalt","jzloss_ndi_100", "jzloss_ndi_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Diazotroph nitrogen loss to zooplankton integral in upper 100m +"generic_cobalt","jaggloss_nsmp_100", "jaggloss_nsmp_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Small phyto. nitrogen aggregation loss integral in upper 100m +"generic_cobalt","jaggloss_nmdp_100", "jaggloss_nmdp_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Medium phyto. nitrogen aggregation loss integral in upper 100m +"generic_cobalt","jaggloss_nlgp_100", "jaggloss_nlgp_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Large phyto. nitrogen aggregation loss integral in upper 100m +"generic_cobalt","jvirloss_nsmp_100", "jvirloss_nsmp_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Small phyto. nitrogen virus loss integral in upper 100m +"generic_cobalt","jvirloss_nmdp_100", "jvirloss_nmdp_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Medium phyto. nitrogen virus loss integral in upper 100m +"generic_cobalt","jvirloss_nlgp_100", "jvirloss_nlgp_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Large phyto. nitrogen virus loss integral in upper 100m +"generic_cobalt","jmortloss_nsmp_100", "jmortloss_nsmp_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Small phyto. nitrogen mortality loss integral in upper 100m +"generic_cobalt","jmortloss_nmdp_100", "jmortloss_nmdp_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Medium phyto. nitrogen mortality loss integral in upper 100m +"generic_cobalt","jmortloss_nlgp_100", "jmortloss_nlgp_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Large phyto. nitrogen mortality loss integral in upper 100m +"generic_cobalt","jmortloss_ndi_100", "jmortloss_ndi_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Diazotroph nitrogen mortality loss integral in upper 100m +"generic_cobalt","jexuloss_nsmp_100", "jexuloss_nsmp_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Small phyto. nitrogen exudation loss integral in upper 100m +"generic_cobalt","jexuloss_nmdp_100", "jexuloss_nmdp_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Medium phyto. nitrogen exudation loss integral in upper 100m +"generic_cobalt","jexuloss_nlgp_100", "jexuloss_nlgp_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Large phyto. nitrogen exudation loss integral in upper 100m +"generic_cobalt","jexuloss_ndi_100", "jexuloss_ndi_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Diazotroph nitrogen exudation loss integral in upper 100m +"generic_cobalt","jingest_n_nsmz_100", "jingest_n_nsmz_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Small zooplankton nitrogen ingestion integral in upper 100m +"generic_cobalt","jingest_n_nmdz_100", "jingest_n_nmdz_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Medium zooplankton nitrogen ingestion integral in upper 100m +"generic_cobalt","jingest_n_nlgz_100", "jingest_n_nlgz_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Large zooplankton nitrogen ingestion integral in upper 100m +"generic_cobalt","jingest_n_hp_100", "jingest_n_hp_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Higher predator ingestion of nitrogen integral in upper 100m +"generic_cobalt","jzloss_nsmz_100", "jzloss_nsmz_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Small zooplankton nitrogen loss to zooplankton integral in upper 100m +"generic_cobalt","jzloss_nmdz_100", "jzloss_nmdz_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Medium zooplankton nitrogen loss to zooplankton integral in upper 100m +"generic_cobalt","jhploss_nmdz_100", "jhploss_nmdz_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Medium zooplankton nitrogen loss to higher preds. integral in upper 100m +"generic_cobalt","jhploss_nlgz_100", "jhploss_nlgz_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Large zooplankton nitrogen loss to higher preds. integral in upper 100m +"generic_cobalt","jprod_ndet_nmdz_100", "jprod_ndet_nmdz_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Medium zooplankton nitrogen detritus prod. integral in upper 100m +"generic_cobalt","jprod_ndet_nlgz_100", "jprod_ndet_nlgz_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Large zooplankton nitrogen detritus prod. integral in upper 100m +"generic_cobalt","jprod_ndet_hp_100", "jprod_ndet_hp_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Higher predator nitrogen detritus prod. integral in upper 100m +"generic_cobalt","jprod_don_nsmz_100", "jprod_don_nsmz_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Small zooplankton dissolved org. nitrogen prod. integral in upper 100m +"generic_cobalt","jprod_don_nmdz_100", "jprod_don_nmdz_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Medium zooplankton dissolved org. nitrogen prod. integral in upper 100m +"generic_cobalt","jremin_n_nsmz_100", "jremin_n_nsmz_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Small zooplankton nitrogen remineralization integral in upper 100m +"generic_cobalt","jremin_n_nmdz_100", "jremin_n_nmdz_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Medium zooplankton nitrogen remineralization integral in upper 100m +"generic_cobalt","jremin_n_nlgz_100", "jremin_n_nlgz_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Large zooplankton nitrogen remineralization integral in upper 100m +"generic_cobalt","jremin_n_hp_100", "jremin_n_hp_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Higher predator nitrogen remineralization integral in upper 100m +"generic_cobalt","juptake_ldon_nbact_100", "juptake_ldon_nbact_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Bacterial uptake of labile dissolved org. nitrogen in upper 100m +"generic_cobalt","jvirloss_nbact_100", "jvirloss_nbact_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Bacteria nitrogen loss to viruses integral in upper 100m +"generic_cobalt","jzloss_nbact_100", "jzloss_nbact_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Bacteria nitrogen loss to zooplankton integral in upper 100m +"generic_cobalt","jremin_n_nbact_100", "jremin_n_nbact_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Bacteria nitrogen remineralization integral in upper 100m +"generic_cobalt","jprod_lithdet_100", "jprod_lithdet_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Lithogenic detritus production integral in upper 100m +"generic_cobalt","jprod_sidet_100", "jprod_sidet_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Silica detritus production integral in upper 100m +"generic_cobalt","jprod_cadet_calc_100", "jprod_cadet_calc_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Calcite detritus production integral in upper 100m +"generic_cobalt","jprod_cadet_arag_100", "jprod_cadet_arag_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Aragonite detritus production integral in upper 100m +"generic_cobalt ","jremin_ndet_100", "jremin_ndet_100", "ocean_cobalt_fluxes_int","all","mean","none",2 # Remineralization of nitrogen detritus integral in upper 100m +"generic_cobalt ","wc_vert_int_jdiss_sidet","wc_vert_int_jdiss_sidet", "ocean_cobalt_fluxes_int","all","mean","none",2 # Water column silica dissolution vertical integral +"generic_cobalt ","wc_vert_int_jdiss_cadet","wc_vert_int_jdiss_cadet", "ocean_cobalt_fluxes_int","all","mean","none",2 # Water column calcium carbonate dissolution vertical integral +"generic_cobalt ","wc_vert_int_jo2resp", "wc_vert_int_jo2resp", "ocean_cobalt_fluxes_int","all","mean","none",2 # Water column oxygen respired vertical integral +"generic_cobalt ","wc_vert_int_jprod_cadet","wc_vert_int_jprod_cadet", "ocean_cobalt_fluxes_int","all","mean","none",2 # Water column calcium carbonate production vertical integral +"generic_cobalt ","wc_vert_int_jno3denit", "wc_vert_int_jno3denit", "ocean_cobalt_fluxes_int","all","mean","none",2 # Water column denitrification vertical integral +"generic_cobalt ","wc_vert_int_jprod_no3nitrif","wc_vert_int_jprod_no3nitrif","ocean_cobalt_fluxes_int","all","mean","none",2 # Water column nitrification vertical integral +"generic_cobalt ","wc_vert_int_juptake_nh4","wc_vert_int_juptake_nh4", "ocean_cobalt_fluxes_int","all","mean","none",2 # Water column ammonia based NPP vertical integral +"generic_cobalt ","wc_vert_int_juptake_no3","wc_vert_int_juptake_no3", "ocean_cobalt_fluxes_int","all","mean","none",2 # Water column nitrate based NPP, vertical integral +"generic_cobalt ","wc_vert_int_nfix", "wc_vert_int_nfix", "ocean_cobalt_fluxes_int","all","mean","none",2 # Nitrogen fixation vertical integral +"generic_cobalt ","wc_vert_int_jprod_nh4", "wc_vert_int_jprod_nh4", "ocean_cobalt_fluxes_int","all","mean","none",2 # Water column ammonia production vertical integral +"generic_cobalt ","wc_vert_int_npp", "wc_vert_int_npp", "ocean_cobalt_fluxes_int","all","mean","none",2 # Water column net primary production vertical integral +# Monthly cobalt tracers in z* coordinates +"generic_cobalt_z","htotal", "htotal", "ocean_cobalt_tracers_month_z","all","mean","none",2 # H+ ion concentration +"ocean_model_z","volcello", "volcello", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Ocean grid-cell volume +"generic_cobalt_z","no3", "no3", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Nitrate +"generic_cobalt_z","o2", "o2", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Oxygen +"generic_cobalt_z","o2", "o2min", "ocean_cobalt_tracers_month_z","all","min","none",2 # Oxygen +"generic_cobalt_z","o2", "o2max", "ocean_cobalt_tracers_month_z","all","max","none",2 # Oxygen +"generic_cobalt_z","omega_arag", "omega_arag", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Carbonate Ion Saturation State for Aragonite +"generic_cobalt_z","omega_calc", "omega_calc", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Carbonate Ion Saturation State for Calcite +"generic_cobalt_z","ndi", "ndi", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Diazotroph Nitrogen +"generic_cobalt_z","nlg", "nlg", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Large Phytoplankton Nitrogen +"generic_cobalt_z","nmd", "nmd", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Medium Phytoplankton Nitrogen +"generic_cobalt_z","nsm", "nsm", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Small Phytoplankton Nitrogen +"generic_cobalt_z","pdi", "pdi", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Diazotroph Phosphorus +"generic_cobalt_z","plg", "plg", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Large Phytoplankton Phosphorus +"generic_cobalt_z","pmd", "pmd", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Medium Phytoplankton Phosphorus +"generic_cobalt_z","psm", "psm", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Small Phytoplankton Phosphorus +"generic_cobalt_z","q_p_2_n_Sm", "q_p_2_n_Sm", "ocean_cobalt_tracers_month_z","all","mean","none",2 # P:N ratio of Small Phyto +"generic_cobalt_z","q_p_2_n_Md", "q_p_2_n_Md", "ocean_cobalt_tracers_month_z","all","mean","none",2 # P:N ratio of Medium Phyto +"generic_cobalt_z","q_p_2_n_Lg", "q_p_2_n_Lg", "ocean_cobalt_tracers_month_z","all","mean","none",2 # P:N ratio of Large Phyto +"generic_cobalt_z","q_p_2_n_Di", "q_p_2_n_Di", "ocean_cobalt_tracers_month_z","all","mean","none",2 # P:N ratio of Diaz. Phyto +"generic_cobalt_z","silg", "silg", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Large Phytoplankton Silicon +"generic_cobalt_z","simd", "simd", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Medium Phytoplankton Silicon +"generic_cobalt_z","chl", "chl", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Chlorophyll +"generic_cobalt_z","chl_Lg", "chl_Lg", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Large Phyto. Chlorophyll +"generic_cobalt_z","chl_Md", "chl_Md", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Medium Phyto. Chlorophyll +"generic_cobalt_z","chl_Sm", "chl_Sm", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Small Phyto. Chlorophyll +"generic_cobalt_z","chl_Di", "chl_Di", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Diaz. Phyto. Chlorophyll +"generic_cobalt_z","mu_Lg", "mu_Lg", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Large Phyto. Overall Growth Rate +"generic_cobalt_z","mu_Md", "mu_Md", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Medium Phyto. Overall Growth Rate +"generic_cobalt_z","mu_Sm", "mu_Sm", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Small Phyto. Growth Rate +"generic_cobalt_z","mu_Di", "mu_Di", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Diaz. Phyto. Overall Growth Rate +"generic_cobalt_z","irrlim_Lg", "irrlim_Lg", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Large Phyto. Light Limitation +"generic_cobalt_z","irrlim_Md", "irrlim_Md", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Medium Phyto. Light Limitation +"generic_cobalt_z","irrlim_Sm", "irrlim_Sm", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Small Phyto. Light Limitation +"generic_cobalt_z","irrlim_Di", "irrlim_Di", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Diaz. Phyto. Light Limitation +"generic_cobalt_z","nbact", "nbact", "ocean_cobalt_tracers_month_z","all","mean","none",2 # bacterial +"generic_cobalt_z","nsmz", "nsmz", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Small Zooplankton Nitrogen +"generic_cobalt_z","nmdz", "nmdz", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Medium-sized zooplankton Nitrogen +"generic_cobalt_z","nlgz", "nlgz", "ocean_cobalt_tracers_month_z","all","mean","none",2 # large Zooplankton Nitrogen +"generic_cobalt_z","po4", "po4", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Phosphate +"generic_cobalt_z","nh4", "nh4", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Ammonia +"generic_cobalt_z","fed", "fed", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Dissolved Iron +"generic_cobalt_z","fedet", "fedet", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Detrital Iron +"generic_cobalt_z","ndet", "ndet", "ocean_cobalt_tracers_month_z","all","mean","none",2 # ndet +"generic_cobalt_z","feprime", "feprime", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Free iron concentration +"generic_cobalt_z","theta_Lg", "theta_Lg", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Large Phyto. Chl:C +"generic_cobalt_z","theta_Md", "theta_Md", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Medium Phyto. Chl:C +"generic_cobalt_z","theta_Sm", "theta_Sm", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Small Phyto. Chl:C +"generic_cobalt_z","theta_Di", "theta_Di", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Diaz. Phyto. Chl:C +"generic_cobalt_z","irr_mix", "irr_mix", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Instantaneous light, avg over mixing layer +"generic_cobalt_z","irr_inst", "irr_inst", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Instantaneous Light +"generic_cobalt_z","dissic", "dissic", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Dissolved Inorganic Carbon Concentration +"generic_cobalt_z","dissoc", "dissoc", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Dissolved Organic Carbon Concentration +"generic_cobalt_z","talk", "talk", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Total Alkalinity +"generic_cobalt_z","si", "si", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Total Dissolved Inorganic Silicon Concentration +"generic_cobalt_z","co3", "co3", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Carbonate Ion Concentration +"generic_cobalt_z","calc", "calc", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Calcite Concentration +"generic_cobalt_z","zmeso", "zmeso", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Mole Concentration of Mesozooplankton expressed as Carbon in sea water +"generic_cobalt_z","zmicro", "zmicro", "ocean_cobalt_tracers_month_z","all","mean","none",2 # Mole Concentration of Microzooplankton expressed as Carbon in sea water +# 2-D Monthly Marine Biogeochemical Surface Tracer Fields +"generic_cobalt","dissicos", "dissicos", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Dissolved Inorganic Carbon Concentration +"generic_cobalt","dissocos", "dissocos", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Dissolved Organic Carbon Concentration +"generic_cobalt","phycos", "phycos", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Phytoplankton Carbon Concentration +"generic_cobalt","zoocos", "zoocos", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Zooplankton Carbon Concentration +"generic_cobalt","baccos", "baccos", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Bacterial Carbon Concentration +"generic_cobalt","detocos", "detocos", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Detrital Organic Carbon Concentration +"generic_cobalt","calcos", "calcos", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Calcite Concentration +"generic_cobalt","aragos", "aragos", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Aragonite Concentration +"generic_cobalt","phydiatos", "phydiatos", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Mole Concentration of Diatoms expressed as Carbon in sea water +"generic_cobalt","phydiazos", "phydiazos", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Mole Concentration of Diazotrophs expressed as Carbon in sea water +"generic_cobalt","phypicoos", "phypicoos", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Mole Concentration of Picophytoplankton expressed as Carbon in sea water +"generic_cobalt","phymiscos", "phymiscos", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Mole Concentration of Miscellaneous Phytoplankton expressed as Carbon in sea water +"generic_cobalt","zmicroos", "zmicroos", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Mole Concentration of Microzooplankton expressed as Carbon in sea water +"generic_cobalt","zmesoos", "zmesoos", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Mole Concentration of Mesozooplankton expressed as Carbon in sea water +"generic_cobalt","talkos", "talkos", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Total Alkalinity +"generic_cobalt","phos", "phos", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface pH +"generic_cobalt","o2os", "o2os", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Dissolved Oxygen Concentration +"generic_cobalt","o2satos", "o2satos", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Dissolved Oxygen Concentration at Saturation +"generic_cobalt","no3os", "no3os", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Dissolved Nitrate Concentration +"generic_cobalt","nh4os", "nh4os", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Dissolved Ammonium Concentration +"generic_cobalt","po4os", "po4os", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Total Dissolved Inorganic Phosphorus Concentration +"generic_cobalt","dfeos", "dfeos", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Dissolved Iron Concentration +"generic_cobalt","sios", "sios", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Total Dissolved Inorganic Silicon Concentration +"generic_cobalt","chlos", "chlos", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Mass Concentration of Total Phytoplankton expressed as Chlorophyll in sea water +"generic_cobalt","chldiatos", "chldiatos", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Mass Concentration of Diatoms expressed as Chlorophyll in sea water +"generic_cobalt","chldiazos", "chldiazos", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Mass Concentration of Diazotrophs expressed as Chlorophyll in sea water +"generic_cobalt","chlpicoos", "chlpicoos", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Mass Concentration of Picophytoplankton expressed as Chlorophyll in sea water +"generic_cobalt","chlmiscos", "chlmiscos", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Mass Concentration of Other Phytoplankton expressed as Chlorophyll in sea water +"generic_cobalt","ponos", "ponos", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Mole Concentration of Particulate Organic Matter expressed as Nitrogen in sea water +"generic_cobalt","popos", "popos", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Mole Concentration of Particulate Organic Matter expressed as Phosphorus in sea water +"generic_cobalt","bfeos", "bfeos", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Mole Concentration of Particulate Organic Matter expressed as Iron in sea water +"generic_cobalt","bsios", "bsios", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Mole Concentration of Particulate Organic Matter expressed as Silicon in sea water +"generic_cobalt","phynos", "phynos", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Mole Concentration of Phytoplankton Nitrogen in sea water +"generic_cobalt","phypos", "phypos", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Mole Concentration of Total Phytoplankton expressed as Phosphorus in sea water +"generic_cobalt","phyfeos", "phyfeos", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Mole Concentration of Total Phytoplankton expressed as Iron in sea water +"generic_cobalt","physios", "physios", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Mole Concentration of Total Phytoplankton expressed as Silicon in sea water +"generic_cobalt","co3os", "co3os", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Carbonate Ion Concentration +"generic_cobalt","co3satcalcos", "co3satcalcos", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Mole Concentration of Carbonate Ion in Equilibrium with Pure Calcite in sea water +"generic_cobalt","co3sataragos", "co3sataragos", "ocean_cobalt_omip_sfc","all","mean","none",2 # Surface Mole Concentration of Carbonate Ion in Equilibrium with Pure Aragonite in sea water +# Additional 2-D monthly Marine Biogeochemical Fields (e.g. vertically integrated, 100m, etc) +"generic_cobalt","limndiat", "limndiat", "ocean_cobalt_omip_2d","all","mean","none",2 # Nitrogen Limitation of Diatoms +"generic_cobalt","limnpico", "limnpico", "ocean_cobalt_omip_2d","all","mean","none",2 # Nitrogen Limitation of Picophytoplankton +"generic_cobalt","limnmisc", "limnmisc", "ocean_cobalt_omip_2d","all","mean","none",2 # Nitrogen Limitation of Other Phytoplankton +"generic_cobalt","limirrdiat", "limirrdiat", "ocean_cobalt_omip_2d","all","mean","none",2 # Irradiance Limitation of Diatoms +"generic_cobalt","limirrdiaz", "limirrdiaz", "ocean_cobalt_omip_2d","all","mean","none",2 # Irradiance Limitation of Diazotrophs +"generic_cobalt","limirrpico", "limirrpico", "ocean_cobalt_omip_2d","all","mean","none",2 # Irradiance Limitation of Picophytoplankton +"generic_cobalt","limirrmisc", "limirrmisc", "ocean_cobalt_omip_2d","all","mean","none",2 # Irradiance Limitation of Other Phytoplankton +"generic_cobalt","limfediat", "limfediat", "ocean_cobalt_omip_2d","all","mean","none",2 # Iron Limitation of Diatoms +"generic_cobalt","limfediaz", "limfediaz", "ocean_cobalt_omip_2d","all","mean","none",2 # Iron Limitation of Diazotrophs +"generic_cobalt","limfepico", "limfepico", "ocean_cobalt_omip_2d","all","mean","none",2 # Iron Limitation of Picophytoplankton +"generic_cobalt","limfemisc", "limfemisc", "ocean_cobalt_omip_2d","all","mean","none",2 # Iron Limitation of Other Phytoplankton +"generic_cobalt","limpdiat", "limpdiat", "ocean_cobalt_omip_2d","all","mean","none",2 # Phosphorus Limitation of Diatoms +"generic_cobalt","limpdiaz", "limpdiaz", "ocean_cobalt_omip_2d","all","mean","none",2 # Phosphorus Limitation of Diazotrophs +"generic_cobalt","limppico", "limppico", "ocean_cobalt_omip_2d","all","mean","none",2 # Phosphorus Limitation of Picophytoplankton +"generic_cobalt","limpmisc", "limpmisc", "ocean_cobalt_omip_2d","all","mean","none",2 # Phosphorus Limitation of Other Phytoplankton +"generic_cobalt","intpp", "intpp", "ocean_cobalt_omip_2d","all","mean","none",2 # Primary Organic Carbon Production by All Types of Phytoplankton +"generic_cobalt","intppnitrate", "intppnitrate", "ocean_cobalt_omip_2d","all","mean","none",2 # Primary Organic Carbon Production by Phytoplankton Based on Nitrate Uptake Alone +"generic_cobalt","intppdiat", "intppdiat", "ocean_cobalt_omip_2d","all","mean","none",2 # Net Primary Organic Carbon Production by Diatoms +"generic_cobalt","intppdiaz", "intppdiaz", "ocean_cobalt_omip_2d","all","mean","none",2 # Net Primary Mole Productivity of Carbon by Diazotrophs +"generic_cobalt","intpppico", "intpppico", "ocean_cobalt_omip_2d","all","mean","none",2 # Net Primary Mole Productivity of Carbon by Picophytoplankton +"generic_cobalt","intppmisc", "intppmisc", "ocean_cobalt_omip_2d","all","mean","none",2 # Net Primary Organic Carbon Production by Other Phytoplankton +"generic_cobalt","intpbn", "intpbn", "ocean_cobalt_omip_2d","all","mean","none",2 # Nitrogen Production +"generic_cobalt","intpbp", "intpbp", "ocean_cobalt_omip_2d","all","mean","none",2 # Phosphorus Production +"generic_cobalt","intpbfe", "intpbfe", "ocean_cobalt_omip_2d","all","mean","none",2 # Iron Production +"generic_cobalt","intpbsi", "intpbsi", "ocean_cobalt_omip_2d","all","mean","none",2 # Silicon Production +"generic_cobalt","intpcalcite", "intpcalcite", "ocean_cobalt_omip_2d","all","mean","none",2 # Calcite Production +"generic_cobalt","intparag", "intparag", "ocean_cobalt_omip_2d","all","mean","none",2 # Aragonite Production +"generic_cobalt","epc100", "epc100", "ocean_cobalt_omip_2d","all","mean","none",2 # Downward Flux of Particulate Organic Carbon +"generic_cobalt","epn100", "epn100", "ocean_cobalt_omip_2d","all","mean","none",2 # Downward Flux of Particulate Nitrogen +"generic_cobalt","epp100", "epp100", "ocean_cobalt_omip_2d","all","mean","none",2 # Downward Flux of Particulate Phosphorus +"generic_cobalt","epfe100", "epfe100", "ocean_cobalt_omip_2d","all","mean","none",2 # Downward Flux of Particulate Iron +"generic_cobalt","epsi100", "epsi100", "ocean_cobalt_omip_2d","all","mean","none",2 # Downward Flux of Particulate Silicon +"generic_cobalt","epcalc100", "epcalc100", "ocean_cobalt_omip_2d","all","mean","none",2 # Downward Flux of Calcite +"generic_cobalt","eparag100", "eparag100", "ocean_cobalt_omip_2d","all","mean","none",2 # Downward Flux of Aragonite +"generic_cobalt","intdic", "intdic", "ocean_cobalt_omip_2d","all","mean","none",2 # Dissolved Inorganic Carbon Content +"generic_cobalt","intdoc", "intdoc", "ocean_cobalt_omip_2d","all","mean","none",2 # Dissolved Organic Carbon Content +"generic_cobalt","intpoc", "intpoc", "ocean_cobalt_omip_2d","all","mean","none",2 # Particulate Organic Carbon Content +"generic_cobalt","spco2", "spco2", "ocean_cobalt_omip_2d","all","mean","none",2 # Surface Aqueous Partial Pressure of CO2 +"generic_cobalt","dpco2", "dpco2", "ocean_cobalt_omip_2d","all","mean","none",2 # Delta PCO2 +"generic_cobalt","dpo2", "dpo2", "ocean_cobalt_omip_2d","all","mean","none",2 # Delta PO2 +"generic_cobalt","fgco2", "fgco2", "ocean_cobalt_omip_2d","all","mean","none",2 # Surface Downward Flux of Total CO2 +"generic_cobalt","fgo2", "fgo2", "ocean_cobalt_omip_2d","all","mean","none",2 # Surface Downward Flux of O2 +"generic_cobalt","icfriver", "icfriver", "ocean_cobalt_omip_2d","all","mean","none",2 # Flux of Inorganic Carbon Into Ocean Surface by Runoff +"generic_cobalt","fric", "fric", "ocean_cobalt_omip_2d","all","mean","none",2 # Downward Inorganic Carbon Flux at Ocean Bottom +"generic_cobalt","ocfriver", "ocfriver", "ocean_cobalt_omip_2d","all","mean","none",2 # Flux of Organic Carbon Into Ocean Surface by Runoff +"generic_cobalt","froc", "froc", "ocean_cobalt_omip_2d","all","mean","none",2 # Downward Organic Carbon Flux at Ocean Bottom +"generic_cobalt","intpn2", "intpn2", "ocean_cobalt_omip_2d","all","mean","none",2 # Nitrogen Fixation Rate in Ocean +"generic_cobalt","fsn", "fsn", "ocean_cobalt_omip_2d","all","mean","none",2 # Surface Downward Net Flux of Nitrogen +"generic_cobalt","frn", "frn", "ocean_cobalt_omip_2d","all","mean","none",2 # Nitrogen Loss to Sediments and through Denitrification +"generic_cobalt","fsfe", "fsfe", "ocean_cobalt_omip_2d","all","mean","none",2 # Surface Downward Net Flux of Iron +"generic_cobalt","frfe", "frfe", "ocean_cobalt_omip_2d","all","mean","none",2 # Iron Loss to Sediments +# MOM6 ocean diagnostics only used in a CORE/OMIP (no interactive atmos). +# These terms provide diagnostics for the surface salinity / fresh water restoring. +"ocean_model", "vprec", "vprec", "ocean_annual", "all", "mean", "none",2 +"ocean_model", "salt_flux_added", "salt_flux_added", "ocean_annual", "all", "mean", "none",2 +"ocean_model", "vprec", "vprec", "ocean_month", "all", "mean", "none",2 +"ocean_model", "salt_flux_added", "salt_flux_added", "ocean_month", "all", "mean", "none",2 +# +"ocean_model_z", "opottemppmdiff", "opottemppmdiff", "ocean_annual_z", "all", "mean", "none",2 diff --git a/exps/OM4p25.COBALT/driver.sh b/exps/OM4p25.COBALT/driver.sh new file mode 100644 index 000000000..b336d0f1e --- /dev/null +++ b/exps/OM4p25.COBALT/driver.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +#SBATCH --nodes=5 +#SBATCH --time=60 +#SBATCH --job-name="OM4p25.COBALT" +#SBATCH --output=OM4p25.COBALT_o.%j +#SBATCH --error=OM4p25.COBALT_e.%j +#SBATCH --qos=normal +#SBATCH --partition=batch +#SBATCH --clusters=c6 +#SBATCH --account=ira-cefi + +# +echo "link datasets ..." +pushd ../ +ln -fs /gpfs/f6/ira-cefi/world-shared/datasets ./ +popd + +# Avoid job errors because of filesystem synchronization delays +sync && sleep 1 + +srun --ntasks=900 --cpus-per-task=1 --export=ALL ../../builds/build/gaea-ncrc6.intel23/ocean_ice/repro/MOM6SIS2 diff --git a/exps/OM4p25.COBALT/field_table b/exps/OM4p25.COBALT/field_table new file mode 100644 index 000000000..0019a9d80 --- /dev/null +++ b/exps/OM4p25.COBALT/field_table @@ -0,0 +1,744 @@ +# specific humidity for moist runs + "TRACER", "atmos_mod", "sphum" + "longname", "specific humidity" + "units", "kg/kg" / +## "profile_type", "fixed", "surface_value=3.e-6" / +# prognostic 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" / +# sphum must be present on land as well + "TRACER", "land_mod", "sphum" + "longname", "specific humidity" + "units", "kg/kg" / +# test tracer for radon +# +# "TRACER", "atmos_mod", "radon" +# "longname", "radon test tracer" +# "units", "kg/kg" / +###................................................. +###................................................. +### COBALT field table for initializing tracers +## jgj 2013/01/23 updated for COBALT +## jgj 2018/05/09 updated for GLODAP v2 and regridded COBALT history file +"namelists","ocean_mod","generic_cobalt/*global*" +/ +"namelists","ocean_mod","generic_cobalt" +init = f +# +# JGJ 2015/07/28 +# field table entries for initialization of cobalt tracers +# all unit conversions will be specified in the code based on +# valid src_var_unit and internal model unit. +# If field table src_var_unit does not match valid src_var_unit +# in code, model will give fatal error. +# valid src_var_units: +# NO3, PO4, SiO4 : micromoles_per_liter +# O2 : milliliters_per_liter +# DIC, ALK : micromoles_per_kg +# all other fields : none +# valid src_var_record : 0-12, where 0 is Annual, 1-12 for Jan-Dec +# 2015/10/05: Use annual data for WOA13 N, P, Si, O2 since monthly data does not extend to depth +# airsea and ice_ocean fluxes are handled by coupler, so are initialized in COBALT. +# +# 2015/09/28 jgj updated to provide valid_min, valid_max for tracers to ensure +# tracers remain positive after interpolation +# note that values of valid_min and valid_max are in model units not src_units +# currently only alk, dic and htotal have both a valid_min and valid_max +# specified in field_table, but valid_max is ignored for now by code. +# as of 2015/10/06 src_var_record and src_var_gridspec are not yet implemented +# +# 2015/10/14 change valid_min for alk and dic to 0 since land values get filled with valid_min +# also remove valid_max for alk and dic +# +#------------------------------------------------------------------------------------------------ +# +# NO3 from WOA2018 +no3_src_file = INPUT/woa18_all_n00_01.nc +no3_src_var_name = n_an +no3_src_var_unit = micromoles_per_kg +no3_dest_var_name = no3 +no3_dest_var_unit = mol kg-1 +no3_src_var_record = 1 +no3_src_var_gridspec = NONE +no3_valid_min = 0.0 +# +# O2 from WOA2018 +o2_src_file = INPUT/woa18_all_o00_01.nc +o2_src_var_name = o_an +o2_src_var_unit = micromoles_per_kg +o2_dest_var_name = o2 +o2_dest_var_unit = mol kg-1 +o2_src_var_record = 1 +o2_src_var_gridspec = NONE +o2_valid_min = 0.0 +# +# PO4 from WOA2018 +po4_src_file = INPUT/woa18_all_p00_01.nc +po4_src_var_name = p_an +po4_src_var_unit = micromoles_per_kg +po4_dest_var_name = po4 +po4_dest_var_unit = mol kg-1 +po4_src_var_record = 1 +po4_src_var_gridspec = NONE +po4_valid_min = 0.0 +# +# SIO4 from WOA2018 +sio4_src_file = INPUT/woa18_all_i00_01.nc +sio4_src_var_name = i_an +sio4_src_var_unit = micromoles_per_kg +sio4_dest_var_name = sio4 +sio4_dest_var_unit = mol kg-1 +sio4_src_var_record = 1 +sio4_src_var_gridspec = NONE +sio4_valid_min = 0.0 +# +# Alkalinity from GLODAPv2 (/lustre/f2/pdata/gfdl/cmip6/datasets/ESM4/OBGC/GLODAPv2/GLODAPv2.2016b.oi-filled.20180322.nc) +# divide by 1e6 to convert from umol/kg to mol/kg +alk_src_file = INPUT/GLODAPv2.2016b.oi-filled.20180322.nc +alk_src_var_name = TAlk +alk_src_var_unit = micromoles_per_kg +alk_dest_var_name = alk +alk_dest_var_unit = mol kg-1 +alk_src_var_record = 1 +alk_src_var_gridspec = NONE +alk_valid_min = 0.0 +# +# Preind DIC from GLODAPv2 (/lustre/f2/pdata/gfdl/cmip6/datasets/ESM4/OBGC/GLODAPv2/GLODAPv2.2016b.oi-filled.20180322.nc) +# divide by 1e6 to convert from umol/kg to mol/kg +dic_src_file = INPUT/GLODAPv2.2016b.oi-filled.20180322.nc +dic_src_var_name = PI_TCO2 +dic_src_var_unit = micromoles_per_kg +dic_dest_var_name = dic +dic_dest_var_unit = mol kg-1 +dic_src_var_record = 1 +dic_src_var_gridspec = NONE +dic_valid_min = 0.0 +# +# additional tracers from ESM4p-COBALT Preindustrial Control history file +# no unit conversion necessary +cadet_arag_src_file = INPUT/init_ocean_cobalt.res.nc +cadet_arag_src_var_name = cadet_arag +cadet_arag_src_var_unit = none +cadet_arag_dest_var_name = cadet_arag +cadet_arag_dest_var_unit = mol kg-1 +cadet_arag_src_var_record = 1 +cadet_arag_src_var_gridspec = NONE +cadet_arag_valid_min = 0.0 +# +cadet_calc_src_file = INPUT/init_ocean_cobalt.res.nc +cadet_calc_src_var_name = cadet_calc +cadet_calc_src_var_unit = none +cadet_calc_dest_var_name = cadet_calc +cadet_calc_dest_var_unit = mol kg-1 +cadet_calc_src_var_record = 1 +cadet_calc_src_var_gridspec = NONE +cadet_calc_valid_min = 0.0 +# +# NOTE: CASED = 0 at all K except K=1 from input dataset +cased_src_file = INPUT/init_ocean_cobalt.res.nc +cased_src_var_name = cased +cased_src_var_unit = none +cased_dest_var_name = cased +cased_dest_var_unit = mol kg-1 +cased_src_var_record = 1 +cased_src_var_gridspec = NONE +cased_valid_min = 0.0 +# +chl_src_file = INPUT/init_ocean_cobalt.res.nc +chl_src_var_name = chl +chl_src_var_unit = none +chl_dest_var_name = chl +chl_dest_var_unit = mol kg-1 +chl_src_var_record = 1 +chl_src_var_gridspec = NONE +chl_valid_min = 0.0 +# +co3_ion_src_file = INPUT/init_ocean_cobalt.res.nc +co3_ion_src_var_name = co3_ion +co3_ion_src_var_unit = none +co3_ion_dest_var_name = co3_ion +co3_ion_dest_var_unit = mol kg-1 +co3_ion_src_var_record = 1 +co3_ion_src_var_gridspec = NONE +co3_ion_valid_min = 0.0 +# +fed_src_file = INPUT/init_ocean_cobalt.res.nc +fed_src_var_name = fed +fed_src_var_unit = none +fed_dest_var_name = fed +fed_dest_var_unit = mol kg-1 +fed_src_var_record = 1 +fed_src_var_gridspec = NONE +fed_valid_min = 0.0 +# +fedi_src_file = INPUT/init_ocean_cobalt.res.nc +fedi_src_var_name = fedi +fedi_src_var_unit = none +fedi_dest_var_name = fedi +fedi_dest_var_unit = mol kg-1 +fedi_src_var_record = 1 +fedi_src_var_gridspec = NONE +fedi_valid_min = 0.0 +# +felg_src_file = INPUT/init_ocean_cobalt.res.nc +felg_src_var_name = felg +felg_src_var_unit = none +felg_dest_var_name = felg +felg_dest_var_unit = mol kg-1 +felg_src_var_record = 1 +felg_src_var_gridspec = NONE +felg_valid_min = 0.0 +# +femd_src_file = INPUT/init_ocean_cobalt.res.nc +femd_src_var_name = femd +femd_src_var_unit = none +femd_dest_var_name = femd +femd_dest_var_unit = mol kg-1 +femd_src_var_record = 1 +femd_src_var_gridspec = NONE +femd_valid_min = 0.0 +# +fesm_src_file = INPUT/init_ocean_cobalt.res.nc +fesm_src_var_name = fesm +fesm_src_var_unit = none +fesm_dest_var_name = fesm +fesm_dest_var_unit = mol kg-1 +fesm_src_var_record = 1 +fesm_src_var_gridspec = NONE +fesm_valid_min = 0.0 +# +htotal_src_file = INPUT/init_ocean_cobalt.res.nc +htotal_src_var_name = htotal +htotal_src_var_unit = none +htotal_dest_var_name = htotal +htotal_dest_var_unit = mol kg-1 +htotal_src_var_record = 1 +htotal_src_var_gridspec = NONE +htotal_valid_min = 3.981E-09 +htotal_valid_max = 1.259E-08 +# +# All irr_mem variables are zero everywhere. +irr_aclm_src_file = INPUT/init_ocean_cobalt.res.nc +irr_aclm_src_var_name = irr_mem +irr_aclm_src_var_unit = none +irr_aclm_dest_var_name = irr_mem +irr_aclm_dest_var_unit = mol kg-1 +irr_aclm_src_var_record = 1 +irr_aclm_src_var_gridspec = NONE +irr_aclm_valid_min = 0.0 +# +irr_mem_dp_src_file = INPUT/init_ocean_cobalt.res.nc +irr_mem_dp_src_var_name = irr_mem +irr_mem_dp_src_var_unit = none +irr_mem_dp_dest_var_name = irr_mem +irr_mem_dp_dest_var_unit = mol kg-1 +irr_mem_dp_src_var_record = 1 +irr_mem_dp_src_var_gridspec = NONE +irr_mem_dp_valid_min = 0.0 +# +irr_aclm_sfc_src_file = INPUT/init_ocean_cobalt.res.nc +irr_aclm_sfc_src_var_name = irr_mem +irr_aclm_sfc_src_var_unit = none +irr_aclm_sfc_dest_var_name = irr_mem +irr_aclm_sfc_dest_var_unit = mol kg-1 +irr_aclm_sfc_src_var_record = 1 +irr_aclm_sfc_src_var_gridspec = NONE +irr_aclm_sfc_valid_min = 0.0 +# +irr_aclm_z_src_file = INPUT/init_ocean_cobalt.res.nc +irr_aclm_z_src_var_name = irr_mem +irr_aclm_z_src_var_unit = none +irr_aclm_z_dest_var_name = irr_mem +irr_aclm_z_dest_var_unit = mol kg-1 +irr_aclm_z_src_var_record = 1 +irr_aclm_z_src_var_gridspec = NONE +irr_aclm_z_valid_min = 0.0 +# +ldon_src_file = INPUT/init_ocean_cobalt.res.nc +ldon_src_var_name = ldon +ldon_src_var_unit = none +ldon_dest_var_name = ldon +ldon_dest_var_unit = mol kg-1 +ldon_src_var_record = 1 +ldon_src_var_gridspec = NONE +ldon_valid_min = 0.0 +# +ldop_src_file = INPUT/init_ocean_cobalt.res.nc +ldop_src_var_name = ldop +ldop_src_var_unit = none +ldop_dest_var_name = ldop +ldop_dest_var_unit = mol kg-1 +ldop_src_var_record = 1 +ldop_src_var_gridspec = NONE +ldop_valid_min = 0.0 +# +lith_src_file = INPUT/init_ocean_cobalt.res.nc +lith_src_var_name = lith +lith_src_var_unit = none +lith_dest_var_name = lith +lith_dest_var_unit = mol kg-1 +lith_src_var_record = 1 +lith_src_var_gridspec = NONE +lith_valid_min = 0.0 +# +nh4_src_file = INPUT/init_ocean_cobalt.res.nc +nh4_src_var_name = nh4 +nh4_src_var_unit = none +nh4_dest_var_name = nh4 +nh4_dest_var_unit = mol kg-1 +nh4_src_var_record = 1 +nh4_src_var_gridspec = NONE +nh4_valid_min = 0.0 +# +nbact_src_file = INPUT/init_ocean_cobalt.res.nc +nbact_src_var_name = nbact +nbact_src_var_unit = none +nbact_dest_var_name = nbact +nbact_dest_var_unit = mol kg-1 +nbact_src_var_record = 1 +nbact_src_var_gridspec = NONE +nbact_valid_min = 0.0 +# +ndi_src_file = INPUT/init_ocean_cobalt.res.nc +ndi_src_var_name = ndi +ndi_src_var_unit = none +ndi_dest_var_name = ndi +ndi_dest_var_unit = mol kg-1 +ndi_src_var_record = 1 +ndi_src_var_gridspec = NONE +ndi_valid_min = 0.0 +# +nlg_src_file = INPUT/init_ocean_cobalt.res.nc +nlg_src_var_name = nlg +nlg_src_var_unit = none +nlg_dest_var_name = nlg +nlg_dest_var_unit = mol kg-1 +nlg_src_var_record = 1 +nlg_src_var_gridspec = NONE +nlg_valid_min = 0.0 +# +nmd_src_file = INPUT/init_ocean_cobalt.res.nc +nmd_src_var_name = nmd +nmd_src_var_unit = none +nmd_dest_var_name = nmd +nmd_dest_var_unit = mol kg-1 +nmd_src_var_record = 1 +nmd_src_var_gridspec = NONE +nmd_valid_min = 0.0 +# +nsm_src_file = INPUT/init_ocean_cobalt.res.nc +nsm_src_var_name = nsm +nsm_src_var_unit = none +nsm_dest_var_name = nsm +nsm_dest_var_unit = mol kg-1 +nsm_src_var_record = 1 +nsm_src_var_gridspec = NONE +nsm_valid_min = 0.0 +# +nlgz_src_file = INPUT/init_ocean_cobalt.res.nc +nlgz_src_var_name = nlgz +nlgz_src_var_unit = none +nlgz_dest_var_name = nlgz +nlgz_dest_var_unit = mol kg-1 +nlgz_src_var_record = 1 +nlgz_src_var_gridspec = NONE +nlgz_valid_min = 0.0 +# +nmdz_src_file = INPUT/init_ocean_cobalt.res.nc +nmdz_src_var_name = nmdz +nmdz_src_var_unit = none +nmdz_dest_var_name = nmdz +nmdz_dest_var_unit = mol kg-1 +nmdz_src_var_record = 1 +nmdz_src_var_gridspec = NONE +nmdz_valid_min = 0.0 +# +nsmz_src_file = INPUT/init_ocean_cobalt.res.nc +nsmz_src_var_name = nsmz +nsmz_src_var_unit = none +nsmz_dest_var_name = nsmz +nsmz_dest_var_unit = mol kg-1 +nsmz_src_var_record = 1 +nsmz_src_var_gridspec = NONE +nsmz_valid_min = 0.0 +# +pdi_src_file = INPUT/init_ocean_cobalt.res.nc +pdi_src_var_name = pdi +pdi_src_var_unit = none +pdi_dest_var_name = pdi +pdi_dest_var_unit = mol kg-1 +pdi_src_var_record = 1 +pdi_src_var_gridspec = NONE +pdi_valid_min = 0.0 +# +plg_src_file = INPUT/init_ocean_cobalt.res.nc +plg_src_var_name = plg +plg_src_var_unit = none +plg_dest_var_name = plg +plg_dest_var_unit = mol kg-1 +plg_src_var_record = 1 +plg_src_var_gridspec = NONE +plg_valid_min = 0.0 +# +pmd_src_file = INPUT/init_ocean_cobalt.res.nc +pmd_src_var_name = pmd +pmd_src_var_unit = none +pmd_dest_var_name = pmd +pmd_dest_var_unit = mol kg-1 +pmd_src_var_record = 1 +pmd_src_var_gridspec = NONE +pmd_valid_min = 0.0 +# +psm_src_file = INPUT/init_ocean_cobalt.res.nc +psm_src_var_name = psm +psm_src_var_unit = none +psm_dest_var_name = psm +psm_dest_var_unit = mol kg-1 +psm_src_var_record = 1 +psm_src_var_gridspec = NONE +psm_valid_min = 0.0 +# +fedet_src_file = INPUT/init_ocean_cobalt.res.nc +fedet_src_var_name = fedet +fedet_src_var_unit = none +fedet_dest_var_name = fedet +fedet_dest_var_unit = mol kg-1 +fedet_src_var_record = 1 +fedet_src_var_gridspec = NONE +fedet_valid_min = 0.0 +# +lithdet_src_file = INPUT/init_ocean_cobalt.res.nc +lithdet_src_var_name = lithdet +lithdet_src_var_unit = none +lithdet_dest_var_name = lithdet +lithdet_dest_var_unit = mol kg-1 +lithdet_src_var_record = 1 +lithdet_src_var_gridspec = NONE +lithdet_valid_min = 0.0 +# +ndet_src_file = INPUT/init_ocean_cobalt.res.nc +ndet_src_var_name = ndet +ndet_src_var_unit = none +ndet_dest_var_name = ndet +ndet_dest_var_unit = mol kg-1 +ndet_src_var_record = 1 +ndet_src_var_gridspec = NONE +ndet_valid_min = 0.0 +# +pdet_src_file = INPUT/init_ocean_cobalt.res.nc +pdet_src_var_name = pdet +pdet_src_var_unit = none +pdet_dest_var_name = pdet +pdet_dest_var_unit = mol kg-1 +pdet_src_var_record = 1 +pdet_src_var_gridspec = NONE +pdet_valid_min = 0.0 +# +sidet_src_file = INPUT/init_ocean_cobalt.res.nc +sidet_src_var_name = sidet +sidet_src_var_unit = none +sidet_dest_var_name = sidet +sidet_dest_var_unit = mol kg-1 +sidet_src_var_record = 1 +sidet_src_var_gridspec = NONE +sidet_valid_min = 0.0 +# +silg_src_file = INPUT/init_ocean_cobalt.res.nc +silg_src_var_name = silg +silg_src_var_unit = none +silg_dest_var_name = silg +silg_dest_var_unit = mol kg-1 +silg_src_var_record = 1 +silg_src_var_gridspec = NONE +silg_valid_min = 0.0 +# +simd_src_file = INPUT/init_ocean_cobalt.res.nc +simd_src_var_name = simd +simd_src_var_unit = none +simd_dest_var_name = simd +simd_dest_var_unit = mol kg-1 +simd_src_var_record = 1 +simd_src_var_gridspec = NONE +simd_valid_min = 0.0 +# +sldon_src_file = INPUT/init_ocean_cobalt.res.nc +sldon_src_var_name = sldon +sldon_src_var_unit = none +sldon_dest_var_name = sldon +sldon_dest_var_unit = mol kg-1 +sldon_src_var_record = 1 +sldon_src_var_gridspec = NONE +sldon_valid_min = 0.0 +# +sldop_src_file = INPUT/init_ocean_cobalt.res.nc +sldop_src_var_name = sldop +sldop_src_var_unit = none +sldop_dest_var_name = sldop +sldop_dest_var_unit = mol kg-1 +sldop_src_var_record = 1 +sldop_src_var_gridspec = NONE +sldop_valid_min = 0.0 +# +srdon_src_file = INPUT/init_ocean_cobalt.res.nc +srdon_src_var_name = srdon +srdon_src_var_unit = none +srdon_dest_var_name = srdon +srdon_dest_var_unit = mol kg-1 +srdon_src_var_record = 1 +srdon_src_var_gridspec = NONE +srdon_valid_min = 0.0 +# +srdop_src_file = INPUT/init_ocean_cobalt.res.nc +srdop_src_var_name = srdop +srdop_src_var_unit = none +srdop_dest_var_name = srdop +srdop_dest_var_unit = mol kg-1 +srdop_src_var_record = 1 +srdop_src_var_gridspec = NONE +srdop_valid_min = 0.0 +# +cadet_arag_btf_src_file = INPUT/init_ocean_cobalt.res.nc +cadet_arag_btf_src_var_name = cadet_arag_btf +cadet_arag_btf_src_var_unit = none +cadet_arag_btf_dest_var_name = cadet_arag_btf +cadet_arag_btf_dest_var_unit = mol kg-1 +cadet_arag_btf_src_var_record = 1 +cadet_arag_btf_src_var_gridspec = NONE +cadet_arag_btf_valid_min = 0.0 +# +cadet_calc_btf_src_file = INPUT/init_ocean_cobalt.res.nc +cadet_calc_btf_src_var_name = cadet_calc_btf +cadet_calc_btf_src_var_unit = none +cadet_calc_btf_dest_var_name = cadet_calc_btf +cadet_calc_btf_dest_var_unit = mol kg-1 +cadet_calc_btf_src_var_record = 1 +cadet_calc_btf_src_var_gridspec = NONE +cadet_calc_btf_valid_min = 0.0 +# +lithdet_btf_src_file = INPUT/init_ocean_cobalt.res.nc +lithdet_btf_src_var_name = lithdet_btf +lithdet_btf_src_var_unit = none +lithdet_btf_dest_var_name = lithdet_btf +lithdet_btf_dest_var_unit = mol kg-1 +lithdet_btf_src_var_record = 1 +lithdet_btf_src_var_gridspec = NONE +lithdet_btf_valid_min = 0.0 +# +ndet_btf_src_file = INPUT/init_ocean_cobalt.res.nc +ndet_btf_src_var_name = ndet_btf +ndet_btf_src_var_unit = none +ndet_btf_dest_var_name = ndet_btf +ndet_btf_dest_var_unit = mol kg-1 +ndet_btf_src_var_record = 1 +ndet_btf_src_var_gridspec = NONE +ndet_btf_valid_min = 0.0 +# +pdet_btf_src_file = INPUT/init_ocean_cobalt.res.nc +pdet_btf_src_var_name = pdet_btf +pdet_btf_src_var_unit = none +pdet_btf_dest_var_name = pdet_btf +pdet_btf_dest_var_unit = mol kg-1 +pdet_btf_src_var_record = 1 +pdet_btf_src_var_gridspec = NONE +pdet_btf_valid_min = 0.0 +# +sidet_btf_src_file = INPUT/init_ocean_cobalt.res.nc +sidet_btf_src_var_name = sidet_btf +sidet_btf_src_var_unit = none +sidet_btf_dest_var_name = sidet_btf +sidet_btf_dest_var_unit = mol kg-1 +sidet_btf_src_var_record = 1 +sidet_btf_src_var_gridspec = NONE +sidet_btf_valid_min = 0.0 +# +mu_mem_ndi_src_file = INPUT/init_ocean_cobalt.res.nc +mu_mem_ndi_src_var_name = mu_mem_ndi +mu_mem_ndi_src_var_unit = none +mu_mem_ndi_dest_var_name = mu_mem_ndi +mu_mem_ndi_dest_var_unit = mol kg-1 +mu_mem_ndi_src_var_record = 1 +mu_mem_ndi_src_var_gridspec = NONE +mu_mem_ndi_valid_min = 0.0 +# +mu_mem_nlg_src_file = INPUT/init_ocean_cobalt.res.nc +mu_mem_nlg_src_var_name = mu_mem_nlg +mu_mem_nlg_src_var_unit = none +mu_mem_nlg_dest_var_name = mu_mem_nlg +mu_mem_nlg_dest_var_unit = mol kg-1 +mu_mem_nlg_src_var_record = 1 +mu_mem_nlg_src_var_gridspec = NONE +mu_mem_nlg_valid_min = 0.0 +# +mu_mem_nmd_src_file = INPUT/init_ocean_cobalt.res.nc +mu_mem_nmd_src_var_name = mu_mem_nmd +mu_mem_nmd_src_var_unit = none +mu_mem_nmd_dest_var_name = mu_mem_nmd +mu_mem_nmd_dest_var_unit = mol kg-1 +mu_mem_nmd_src_var_record = 1 +mu_mem_nmd_src_var_gridspec = NONE +mu_mem_nmd_valid_min = 0.0 +# +mu_mem_nsm_src_file = INPUT/init_ocean_cobalt.res.nc +mu_mem_nsm_src_var_name = mu_mem_nsm +mu_mem_nsm_src_var_unit = none +mu_mem_nsm_dest_var_name = mu_mem_nsm +mu_mem_nsm_dest_var_unit = mol kg-1 +mu_mem_nsm_src_var_record = 1 +mu_mem_nsm_src_var_gridspec = NONE +mu_mem_nsm_valid_min = 0.0 +# +fedet_btf_src_file = INPUT/init_ocean_cobalt.res.nc +fedet_btf_src_var_name = fedet_btf +fedet_btf_src_var_unit = none +fedet_btf_dest_var_name = fedet_btf +fedet_btf_dest_var_unit = mol kg-1 +fedet_btf_src_var_record = 1 +fedet_btf_src_var_gridspec = NONE +fedet_btf_valid_min = 0.0 +# +ndi_btf_src_file = INPUT/init_ocean_cobalt.res.nc +ndi_btf_src_var_name = ndet_btf +ndi_btf_src_var_unit = none +ndi_btf_dest_var_name = ndet_btf +ndi_btf_dest_var_unit = mol kg-1 +ndi_btf_src_var_record = 1 +ndi_btf_src_var_gridspec = NONE +ndi_btf_valid_min = 0.0 +# all _btf variables are zero everywhere, +# so new _btf variables can be sourced from any existing. +pdi_btf_src_file = INPUT/init_ocean_cobalt.res.nc +pdi_btf_src_var_name = ndet_btf +pdi_btf_src_var_unit = none +pdi_btf_dest_var_name = pdi_btf +pdi_btf_dest_var_unit = mol kg-1 +pdi_btf_src_var_record = 1 +pdi_btf_src_var_gridspec = NONE +pdi_btf_valid_min = 0.0 +# +nsm_btf_src_file = INPUT/init_ocean_cobalt.res.nc +nsm_btf_src_var_name = ndet_btf +nsm_btf_src_var_unit = none +nsm_btf_dest_var_name = ndet_btf +nsm_btf_dest_var_unit = mol kg-1 +nsm_btf_src_var_record = 1 +nsm_btf_src_var_gridspec = NONE +nsm_btf_valid_min = 0.0 +# +psm_btf_src_file = INPUT/init_ocean_cobalt.res.nc +psm_btf_src_var_name = ndet_btf +psm_btf_src_var_unit = none +psm_btf_dest_var_name = pdi_btf +psm_btf_dest_var_unit = mol kg-1 +psm_btf_src_var_record = 1 +psm_btf_src_var_gridspec = NONE +psm_btf_valid_min = 0.0 +# +nmd_btf_src_file = INPUT/init_ocean_cobalt.res.nc +nmd_btf_src_var_name = ndet_btf +nmd_btf_src_var_unit = none +nmd_btf_dest_var_name = ndet_btf +nmd_btf_dest_var_unit = mol kg-1 +nmd_btf_src_var_record = 1 +nmd_btf_src_var_gridspec = NONE +nmd_btf_valid_min = 0.0 +# +pmd_btf_src_file = INPUT/init_ocean_cobalt.res.nc +pmd_btf_src_var_name = ndet_btf +pmd_btf_src_var_unit = none +pmd_btf_dest_var_name = pmd_btf +pmd_btf_dest_var_unit = mol kg-1 +pmd_btf_src_var_record = 1 +pmd_btf_src_var_gridspec = NONE +pmd_btf_valid_min = 0.0 +# +nlg_btf_src_file = INPUT/init_ocean_cobalt.res.nc +nlg_btf_src_var_name = ndet_btf +nlg_btf_src_var_unit = none +nlg_btf_dest_var_name = ndet_btf +nlg_btf_dest_var_unit = mol kg-1 +nlg_btf_src_var_record = 1 +nlg_btf_src_var_gridspec = NONE +nlg_btf_valid_min = 0.0 +# +plg_btf_src_file = INPUT/init_ocean_cobalt.res.nc +plg_btf_src_var_name = ndet_btf +plg_btf_src_var_unit = none +plg_btf_dest_var_name = plg_btf +plg_btf_dest_var_unit = mol kg-1 +plg_btf_src_var_record = 1 +plg_btf_src_var_gridspec = NONE +plg_btf_valid_min = 0.0 +# +fedi_btf_src_file = INPUT/init_ocean_cobalt.res.nc +fedi_btf_src_var_name = fedet_btf +fedi_btf_src_var_unit = none +fedi_btf_dest_var_name = fedet_btf +fedi_btf_dest_var_unit = mol kg-1 +fedi_btf_src_var_record = 1 +fedi_btf_src_var_gridspec = NONE +fedi_btf_valid_min = 0.0 +# +fesm_btf_src_file = INPUT/init_ocean_cobalt.res.nc +fesm_btf_src_var_name = fedet_btf +fesm_btf_src_var_unit = none +fesm_btf_dest_var_name = fedet_btf +fesm_btf_dest_var_unit = mol kg-1 +fesm_btf_src_var_record = 1 +fesm_btf_src_var_gridspec = NONE +fesm_btf_valid_min = 0.0 +# +femd_btf_src_file = INPUT/init_ocean_cobalt.res.nc +femd_btf_src_var_name = fedet_btf +femd_btf_src_var_unit = none +femd_btf_dest_var_name = fedet_btf +femd_btf_dest_var_unit = mol kg-1 +femd_btf_src_var_record = 1 +femd_btf_src_var_gridspec = NONE +femd_btf_valid_min = 0.0 +# +felg_btf_src_file = INPUT/init_ocean_cobalt.res.nc +felg_btf_src_var_name = fedet_btf +felg_btf_src_var_unit = none +felg_btf_dest_var_name = fedet_btf +felg_btf_dest_var_unit = mol kg-1 +felg_btf_src_var_record = 1 +felg_btf_src_var_gridspec = NONE +felg_btf_valid_min = 0.0 +# +simd_btf_src_file = INPUT/init_ocean_cobalt.res.nc +simd_btf_src_var_name = sidet_btf +simd_btf_src_var_unit = none +simd_btf_dest_var_name = sidet_btf +simd_btf_dest_var_unit = mol kg-1 +simd_btf_src_var_record = 1 +simd_btf_src_var_gridspec = NONE +simd_btf_valid_min = 0.0 +# +silg_btf_src_file = INPUT/init_ocean_cobalt.res.nc +silg_btf_src_var_name = sidet_btf +silg_btf_src_var_unit = none +silg_btf_dest_var_name = sidet_btf +silg_btf_dest_var_unit = mol kg-1 +silg_btf_src_var_record = 1 +silg_btf_src_var_gridspec = NONE +silg_btf_valid_min = 0.0 +#f1p-> required for cobalt new schemes + nh3 ocean/atm exchange +# min = 0, max = 1. from input dataset +nh3_src_file = INPUT/init_ocean_cobalt_nh3.res.nc +nh3_src_var_name = nh3 +nh3_src_var_unit = none +nh3_dest_var_name = nh3 +nh3_dest_var_unit = mol kg-1 +nh3_src_var_record = 1 +nh3_src_var_gridspec = NONE +nh3_valid_min = 0.0 +# +/ +###........................................ diff --git a/exps/OM4p25.COBALT/input.nml b/exps/OM4p25.COBALT/input.nml new file mode 100644 index 000000000..2d7d4a893 --- /dev/null +++ b/exps/OM4p25.COBALT/input.nml @@ -0,0 +1,146 @@ + &MOM_input_nml + output_directory = './', + input_filename = 'n' + restart_input_dir = 'INPUT/', + restart_output_dir = 'RESTART/', + parameter_filename = 'INPUT/MOM_input','INPUT/MOM_saltrestore','INPUT/MOM_override' +/ + + &SIS_input_nml + output_directory = './', + input_filename = 'n' + restart_input_dir = 'INPUT/', + restart_output_dir = 'RESTART/', + parameter_filename = 'INPUT/SIS_input','INPUT/SIS_override' +/ + + &atmos_model_nml + layout= 0, 0 +/ + + &cobalt_input_nml + parameter_filename = 'INPUT/COBALT_input','INPUT/COBALT_override' +/ + + &coupler_nml + months = 0, + days = 0, + current_date = 1958,1,1,0,0,0, + hours = 48 + minutes = 0 + seconds = 0 + calendar = 'gregorian', + 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=.false. + atmos_nthreads = 1 + ocean_nthreads = 1 +/ + + &diag_manager_nml + max_files = 400 + flush_nc_files=.false. + max_axes = 400, + max_num_axis_sets = 400, + max_input_fields = 2000 + max_output_fields = 5000 + mix_snapshot_average_fields=.false. +/ + + &flux_exchange_nml + debug_stocks = .FALSE. + divert_stocks_report = .TRUE. + do_area_weighted_flux = .FALSE. +/ + + &fms_io_nml + fms_netcdf_restart=.true. + threading_read='multi' + max_files_r = 800 + max_files_w = 800 +/ + + &fms_nml + clock_grain='ROUTINE' + clock_flags='NONE' + domains_stack_size = 8000000 + stack_size =0 +/ + + &generic_COBALT_nml + co2_calc = 'mocsy' + debug = .false. + imbalance_tolerance = 1.0e-9 +/ + + &generic_tracer_nml + do_generic_tracer=.true. + do_generic_COBALT=.true. + force_update_fluxes=.true. + do_vertfill_post=.true. +/ + + &ice_albedo_nml + t_range = 10. +/ + + &ice_model_nml + +/ + + &icebergs_nml + verbose=.false. + verbose_hrs=24 + traj_sample_hrs=0 + debug=.false. + really_debug=.false. + use_slow_find=.true. + add_weight_to_ocean=.false. + passive_mode=.false. + generate_test_icebergs=.false. + speed_limit=0. + use_roundoff_fix=.true. + make_calving_reproduce=.true. + old_bug_bilin=.false. + tidal_drift=0.005 + use_updated_rolling_scheme=.true. +/ + + &monin_obukhov_nml + neutral = .true. +/ + + &ocean_albedo_nml + ocean_albedo_option = 2 +/ + + &ocean_rough_nml + rough_scheme = 'beljaars' +/ + + &sat_vapor_pres_nml + construct_table_wrt_liq = .true., + construct_table_wrt_liq_and_ice = .true., +/ + + &surface_flux_nml + ncar_ocean_flux = .true. + raoult_sat_vap = .true. +/ + + &topography_nml + topog_file = 'INPUT/navy_topography.data.nc' +/ + + &xgrid_nml + make_exchange_reproduce = .true. + interp_method = 'second_order' +/ + diff --git a/exps/README.md b/exps/README.md index e59348467..8be6e7879 100644 --- a/exps/README.md +++ b/exps/README.md @@ -4,6 +4,7 @@ This folder contains example configurations to run MOM6-SIS2-cobalt | directory | Purpose | | -------------- | ------- | | ```OM4.single_column.COBALT/``` | 1D MOM6-cobalt exmaple | +| ```OM4p25.COBALT/``` | OM4 0.25deg MOM6-cobalt v3 exmaple | | ```dumbbell/``` | dumbbell exmaple | | ```NWA12.COBALT/``` | NWA12 MOM6-SIS2-cobalt example | | ```NEP10.COBALT/``` | NEP10 MOM6-SIS2-cobalt example | @@ -24,6 +25,17 @@ ln -fs /gpfs/f5/cefi/world-shared/datasets ./ cd OM4.single_column.COBALT sbatch run.sub ``` +# OM4p25.COBALT +Users can follow the instructions below to run OM4 0.25 COBALTv3 example on Gaea C6. +```console +git clone https://github.com/NOAA-GFDL/CEFI-regional-MOM6.git --recursive +cd CEFI-regional-MOM6/builds; ./linux-build.bash -m gaea -p ncrc6.intel23 -t repro -f mom6sis2 +cd ../exps +ln -fs /gpfs/f6/ira-cefi/world-shared/datasets ./ +cd OM4p25.COBALT +sbatch driver.sh +``` +If users do not have access to Gaea C6, the datasets for the `OM4p25.COBALT` case be downloaded from `ftp.gfdl.noaa.gov:/pub/Yi-cheng.Teng/OM4_datasets/OM4_025.JRA.tar.gz`. # NWA12.COBALT Users can follow the instructions below to run NWA12 example on Gaea C6.