diff --git a/MOM6_GEOSPlug/MOM6_GEOSPlug.F90 b/MOM6_GEOSPlug/MOM6_GEOSPlug.F90 index c0ea13d..183ad7c 100644 --- a/MOM6_GEOSPlug/MOM6_GEOSPlug.F90 +++ b/MOM6_GEOSPlug/MOM6_GEOSPlug.F90 @@ -55,6 +55,7 @@ module MOM6_GEOSPlugMod ocean_state_type, & ocean_model_get_UV_surf, & ocean_model_get_thickness, & + ocean_model_put_prog_tracer, & ocean_model_get_prog_tracer, & ocean_model_get_prog_tracer_index @@ -83,6 +84,8 @@ module MOM6_GEOSPlugMod type(MOM_MAPL_Type), pointer :: Ptr end type MOM_MAPLWrap_Type + logical :: DUAL_OCEAN + contains !BOP @@ -111,6 +114,8 @@ subroutine SetServices ( GC, RC ) character(len=ESMF_MAXSTR) :: COMP_NAME ! Locals + type (MAPL_MetaComp), pointer :: MAPL + integer :: iDUAL_OCEAN !============================================================================= __Iam__('SetServices') @@ -123,6 +128,16 @@ subroutine SetServices ( GC, RC ) call ESMF_GridCompGet( GC, NAME=COMP_NAME, _RC) Iam = trim(COMP_NAME)//'::'//'SetServices' +! Get the MAPL object +! ------------------- + + call MAPL_GetObjectFromGC ( GC, MAPL, RC=STATUS) + VERIFY_(STATUS) + + call MAPL_GetResource(MAPL, iDUAL_OCEAN, 'DUAL_OCEAN:', default=0, RC=STATUS ) + DUAL_OCEAN = iDUAL_OCEAN /= 0 + + ! Set the Initialize, Run, Finalize entry points ! ---------------------------------------------- @@ -130,6 +145,9 @@ subroutine SetServices ( GC, RC ) call MAPL_GridCompSetEntryPoint ( GC, ESMF_Method_Run, Run, _RC) call MAPL_GridCompSetEntryPoint ( GC, ESMF_Method_Finalize, Finalize, _RC) call MAPL_GridCompSetEntryPoint ( GC, ESMF_Method_WriteRestart, Record, _RC) + if (dual_ocean) then + call MAPL_GridCompSetEntryPoint ( GC, ESMF_Method_Run, Run2, _RC) + end if !BOS @@ -146,6 +164,7 @@ subroutine SetServices ( GC, RC ) call MAPL_TimerAdd(GC, name="INITIALIZE" , _RC) call MAPL_TimerAdd(GC, name="RUN" , _RC) + call MAPL_TimerAdd(GC, name="RUN2" , _RC) call MAPL_TimerAdd(GC, name="FINALIZE" , _RC) ! Generic SetServices @@ -991,6 +1010,149 @@ end subroutine Run !BOP +!!###### -- Adopted Run2 for MOM6 -- SK +! !IROUTINE: Run2 -- Run2 method, needed only when in dual_ocean mode. Apply correction to top-level MOM6 temperature, based on DEL_TEMP + +! !INTERFACE: + + subroutine Run2 ( GC, IMPORT, EXPORT, CLOCK, RC ) + +! !ARGUMENTS: + + type(ESMF_GridComp), intent(INOUT) :: GC ! Gridded component + type(ESMF_State), intent(INOUT) :: IMPORT ! Import state + type(ESMF_State), intent(INOUT) :: EXPORT ! Export state + type(ESMF_Clock), intent(INOUT) :: CLOCK ! The supervisor clock + integer, optional, intent( OUT) :: RC ! Error code: + + type(ESMF_State) :: INTERNAL ! Internal state + +!EOP + +! ErrLog Variables + + character(len=ESMF_MAXSTR) :: IAm + integer :: STATUS + character(len=ESMF_MAXSTR) :: COMP_NAME + +! Locals + + integer :: IM, JM, LM + integer :: tracer_index + type(ice_ocean_boundary_type), pointer :: Boundary => null() + type(ocean_public_type), pointer :: Ocean => null() + type(ocean_state_type), pointer :: Ocean_State => null() + type(ocean_grid_type), pointer :: Ocean_grid => null() + + +! Imports + REAL_, pointer :: DEL_TEMP(:,:) + +! Temporaries + + real, allocatable :: T(:,:,:), tmp3(:,:,:) + +! Pointers to export + REAL_, pointer :: MOM_2D_MASK(:,:) + REAL_, pointer :: AREA(:,:) + + type(MAPL_MetaComp), pointer :: MAPL + type(MOM_MAPL_Type), pointer :: MOM_MAPL_internal_state + type(MOM_MAPLWrap_Type) :: wrap + integer :: isc,iec,jsc,jec + integer :: isd,ied,jsd,jed + +! Begin +!------ + + +! Get the component's name and set-up traceback handle. +! ----------------------------------------------------- + Iam = "Run2" + call ESMF_GridCompGet( GC, NAME=COMP_NAME, _RC ) + Iam = trim(COMP_NAME)//'::'//Iam + +! Get my internal MAPL_Generic state +!----------------------------------- + + call MAPL_GetObjectFromGC ( GC, MAPL, _RC) + + +! Profilers +!---------- + + call MAPL_TimerOn (MAPL,"TOTAL") + call MAPL_TimerOn (MAPL,"RUN2" ) + +! Get the Plug's private internal state +!-------------------------------------- + + CALL ESMF_UserCompGetInternalState( GC, 'MOM_MAPL_state', WRAP, STATUS ) + VERIFY_(STATUS) + + MOM_MAPL_internal_state => WRAP%PTR +! Aliases to MOM types +!--------------------- + + + Boundary => MOM_MAPL_internal_state%Ice_ocean_boundary + Ocean => MOM_MAPL_internal_state%Ocean + Ocean_State => MOM_MAPL_internal_state%Ocean_State + + call get_domain_extent(Ocean%Domain, isc, iec, jsc, jec) + + IM=iec-isc+1 + JM=jec-jsc+1 + + call get_ocean_grid (Ocean_state, Ocean_grid) + LM=Ocean_grid%ke + +! Temporaries with MOM default reals +!----------------------------------- + + allocate(Tmp3(IM,JM,LM), __STAT__) !! BY SK for a bugfix on get temp from mom6 + +! Get IMPORT pointers +!-------------------- + + call MAPL_GetPointer(IMPORT, DEL_TEMP, 'DEL_TEMP', _RC) + +! Get EXPORT pointers +!-------------------- + ! by now this should be allocated, so 'alloc=.true.' is needed + + call MAPL_GetPointer(EXPORT, MOM_2D_MASK, 'MOM_2D_MASK', _RC) + call MAPL_GetPointer(EXPORT, AREA, 'AREA', _RC) + + call ocean_model_get_prog_tracer_index(Ocean_State,tracer_index,'temp') + call ocean_model_get_prog_tracer(Ocean_State,tracer_index, tmp3, isc, jsc) + T = real(tmp3,kind=GeosKind) + + !ALT: Note that we modify only top level of T + ! we do not need to worry about temperature units + ! since we are applying difference + ! some relaxation ??? here or in guest ??? + + where(MOM_2D_MASK(:,:) > 0.0) + T(:,:,1) = T(:,:,1) + DEL_TEMP + end where + + call ocean_model_put_prog_tracer(Ocean_State,tracer_index,T) + + deallocate(Tmp3) + + call MAPL_TimerOff(MAPL,"RUN2" ) + call MAPL_TimerOff(MAPL,"TOTAL") + +! All Done +!--------- + + + RETURN_(ESMF_SUCCESS) + end subroutine Run2 + +!!###### -- Adopted Run2 for MOM6 -- SK + !==================================================================== ! !IROUTINE: Finalize -- Finalize method for GuestOcean wrapper diff --git a/MOM6_GEOSPlug/MOM6_GEOSPlug_StateSpecs.rc b/MOM6_GEOSPlug/MOM6_GEOSPlug_StateSpecs.rc index f59ff16..963cde8 100644 --- a/MOM6_GEOSPlug/MOM6_GEOSPlug_StateSpecs.rc +++ b/MOM6_GEOSPlug/MOM6_GEOSPlug_StateSpecs.rc @@ -29,6 +29,7 @@ CALVING | kg m-2 s-1 | xy | N | ice_calving_at_ocean_points AICE | 1 | xy | N | ice_concentration_of_grid_cell TAUXBOT | N m-2 | xy | N | eastward_stress_at_base_of_ice_Agrid TAUYBOT | N m-2 | xy | N | northward_stress_at_base_of_ice_Agrid +DEL_TEMP | K | xy | N | temperature_difference_btw_model_top_level_and_obs category: EXPORT #------------------------------------------------------------------------------------ diff --git a/MOM6_GEOSPlug/mom6_app/1440x1080/MOM_input b/MOM6_GEOSPlug/mom6_app/1440x1080/MOM_input old mode 100644 new mode 100755 index 3fbe312..43712f3 --- a/MOM6_GEOSPlug/mom6_app/1440x1080/MOM_input +++ b/MOM6_GEOSPlug/mom6_app/1440x1080/MOM_input @@ -591,7 +591,7 @@ TKE_ITIDE_MAX = 0.1 ! [W m-2] default = 1000.0 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_newtopo_config.nc" ! default = "tideamp.nc" +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" ! @@ -605,7 +605,7 @@ H2_FILE = "ocean_topog.nc" ! 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_newtopo_config.nc" ! default = "" +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" @@ -670,7 +670,7 @@ PRESSURE_DEPENDENT_FRAZIL = True ! [Boolean] default = False 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_newtopo_config.nc" ! +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" diff --git a/MOM6_GEOSPlug/mom6_app/1440x1080/MOM_override b/MOM6_GEOSPlug/mom6_app/1440x1080/MOM_override old mode 100644 new mode 100755 index 4082525..df0c0f7 --- a/MOM6_GEOSPlug/mom6_app/1440x1080/MOM_override +++ b/MOM6_GEOSPlug/mom6_app/1440x1080/MOM_override @@ -1,8 +1,8 @@ ! Blank file in which we can put "overrides" for parameters LAYOUT = 36, 30 -#override DT = 450.0 -#override DT_THERM = 450. +#override DT = 450 +#override DT_THERM = 450 HFREEZE = 2.0 ! Disable checksums @@ -49,8 +49,34 @@ RESTART_CHECKSUMS_REQUIRED = False #override BBL_THICK_MIN = 10. #override BBL_EFFIC = 0.01 #override PRESSURE_DEPENDENT_FRAZIL = False +#override USE_RIGID_SEA_ICE = False ! ! update answers +! Overrides to match results from previous MOM6 version +! See https://github.com/GEOS-ESM/MOM6/releases/tag/geos%2Fv3.2 +! and https://github.com/mom-ocean/MOM6/pull/1631#issuecomment-2252914251 + +!!#override USE_HUYNH_STENCIL_BUG = True +!!#override EPBL_ANSWER_DATE = 20231231 +!!#override TEMP_SALT_Z_INIT_FILE = "WOA05_ptemp_salt_annual.v20141007.nc" + +!! New Ocean Bathymetry (OM4) + +#override TIDEAMP_FILE = "tidal_amplitude.v20140616.nc" +#override GEOTHERMAL_FILE = "geothermal_davies2013_v1.nc" +#override CHL_FILE = "seawifs-clim-1997-2010.1440x1080.v20180328.nc" + +!! Updates for MLD !! SK + +#override FOX_KEMPER_ML_RESTRAT_COEF = 1.0 +#override MLE_FRONT_LENGTH = 500.0 +#override MLE%USE_BODNER23 = True +#override MLE%CR = 0.038 +#override MLE%BLD_DECAYING_TFILTER = 8.64E+04 +#override MLE%MLD_DECAYING_TFILTER = 2.592E+06 + + + ! see https://github.com/GEOS-ESM/MOM6/issues/15 #override MEKE_POSITIVE = True diff --git a/MOM6_GEOSPlug/mom6_app/1440x1080/MOM_parameter_doc.all b/MOM6_GEOSPlug/mom6_app/1440x1080/MOM_parameter_doc.all old mode 100644 new mode 100755 index daa533d..de6ae91 --- a/MOM6_GEOSPlug/mom6_app/1440x1080/MOM_parameter_doc.all +++ b/MOM6_GEOSPlug/mom6_app/1440x1080/MOM_parameter_doc.all @@ -3,6 +3,10 @@ ! === 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. @@ -35,6 +39,10 @@ OFFLINE_TRACER_MODE = False ! [Boolean] default = False 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 = False ! [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 = True ! [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 @@ -45,35 +53,54 @@ BULKMIXEDLAYER = False ! [Boolean] default = False ! 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 = False ! [Boolean] default = False - ! If true, isopycnal surfaces are diffused with a Laplacian coefficient of KHTH. -APPLY_INTERFACE_FILTER = True ! [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 +USE_POROUS_BARRIER = False ! [Boolean] default = False ! 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. +ENABLE_BUGS_BY_DEFAULT = True ! [Boolean] default = True + ! If true, the defaults for certain recently added bug-fix flags are set to + ! recreate the bugs so that the code can be moved forward without changing + ! answers for existing configurations. The defaults for groups of bug-fix flags + ! are periodcially changed to correct the bugs, at which point this parameter + ! will no longer be used to set their default. Setting this to false means that + ! bugs are only used if they are actively selected, but it also means that + ! answers may change when code is updated due to newly found bugs. DT = 450.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 = 450.0 ! [s] default = 450.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. + ! The thermodynamic time step. Ideally DT_THERM should be an integer multiple of + ! DT and of DT_TRACER_ADVECT and less than the forcing or coupling time-step. + ! However, if THERMO_SPANS_COUPLING is true, DT_THERM can be an integer multiple + ! of the coupling timestep. By default DT_THERM is set to DT. THERMO_SPANS_COUPLING = False ! [Boolean] default = False - ! If true, the MOM will take thermodynamic and tracer timesteps that can be - ! longer than the coupling timestep. The actual thermodynamic timestep that is - ! used in this case is the largest integer multiple of the coupling timestep - ! that is less than or equal to DT_THERM. + ! If true, the MOM will take thermodynamic 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. +DT_TRACER_ADVECT = 450.0 ! [s] default = 450.0 + ! The tracer advection time step. Ideally DT_TRACER_ADVECT should be an integer + ! multiple of DT, less than DT_THERM, and less than the forcing or coupling + ! time-step. However, if TRADV_SPANS_COUPLING is true, DT_TRACER_ADVECT can be + ! longer than the coupling timestep. By default DT_TRACER_ADVECT is set to + ! DT_THERM. +TRADV_SPANS_COUPLING = False ! [Boolean] default = False + ! If true, the MOM will take tracer advection timesteps that can be longer than + ! the coupling timestep. The actual tracer advection timestep that is used in + ! this case is the largest integer multiple of the coupling timestep that is + ! less than or equal to DT_TRACER_ADVECT. +THICKNESSDIFFUSE = False ! [Boolean] default = False + ! If true, isopycnal surfaces are diffused with a Laplacian coefficient of KHTH. +APPLY_INTERFACE_FILTER = True ! [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. 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 @@ -150,19 +177,10 @@ BAD_VAL_COLUMN_THICKNESS = 0.0 ! [m] default = 0.0 ! CHECK_BAD_SURFACE_VALS is true. DEFAULT_ANSWER_DATE = 99991231 ! default = 99991231 ! This sets the default value for the various _ANSWER_DATE parameters. -SURFACE_2018_ANSWERS = False ! [Boolean] default = False - ! If true, use expressions for the surface properties that recover the answers - ! from the end of 2018. Otherwise, use more appropriate expressions that differ - ! at roundoff for non-Boussinesq cases. 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. If both - ! SURFACE_2018_ANSWERS and SURFACE_ANSWER_DATE are specified, the latter takes - ! precedence. -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. + ! updated and more robust forms of the same expressions. 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" @@ -171,6 +189,8 @@ 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. +GEOM_FILE = "ocean_geometry" ! default = "ocean_geometry" + ! The file into which to write the ocean geometry. 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. @@ -178,6 +198,8 @@ 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 @@ -340,15 +362,11 @@ NK = 75 ! [nondim] ! === module MOM_tracer_registry === ! === module MOM_EOS === -EQN_OF_STATE = "WRIGHT" ! default = "WRIGHT" +EQN_OF_STATE = "WRIGHT_FULL" ! default = "WRIGHT_FULL" ! 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. @@ -356,15 +374,22 @@ 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 ! [deg C] default = 0.0 +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 ! [deg C PSU-1] default = -0.054 +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 ! [deg C Pa-1] default = 0.0 +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. +TFREEZE_S_IS_PRACS = True ! [Boolean] default = True + ! When True, the model will check if the model internal salinity is practical + ! salinity. If the model uses absolute salinity, a conversion will be applied. +TFREEZE_T_IS_POTT = True ! [Boolean] default = True + ! When True, the model will check if the model internal temperature is potential + ! temperature. If the model uses conservative temperature, a conversion will be + ! applied. ! === module MOM_restart === PARALLEL_RESTARTFILES = True ! [Boolean] default = False @@ -380,6 +405,16 @@ RESTART_CHECKSUMS_REQUIRED = False ! [Boolean] default = True ! 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. +RESTART_SYMMETRIC_CHECKSUMS = False ! [Boolean] default = False + ! If true, do the restart checksums on all the edge points for a non-reentrant + ! grid. This requires that SYMMETRIC_MEMORY_ is defined at compile time. +RESTART_UNSIGNED_ZEROS = False ! [Boolean] default = False + ! If true, convert any negative zeros that would be written to the restart file + ! into ordinary unsigned zeros. This does not change answers, but it can be + ! helpful in comparing restart files after grid rotation, for example. +USE_FILTER = False ! [Boolean] default = False + ! If true, use streaming band-pass filters to detect the instantaneous tidal + ! signals in the simulation. ! === module MOM_tracer_flow_control === USE_USER_TRACER_EXAMPLE = False ! [Boolean] default = False @@ -392,6 +427,8 @@ 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_MARBL_TRACERS = False ! [Boolean] default = False + ! If true, use the MARBL tracer package. USE_REGIONAL_DYES = False ! [Boolean] default = False ! If true, use the regional_dyes tracer package. USE_OIL_TRACER = False ! [Boolean] default = False @@ -467,10 +504,6 @@ COORD_FILE = "layer_coord.nc" ! ! The file from which the coordinate densities are read. COORD_VAR = "Layer" ! default = "Layer" ! The variable in COORD_FILE that is to be used for the coordinate densities. -REMAP_UV_USING_OLD_ALG = False ! [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. REGRIDDING_COORDINATE_MODE = "HYCOM1" ! default = "LAYER" ! Coordinate mode for vertical regridding. Choose among the following ! possibilities: LAYER - Isopycnal or stacked shallow water layers @@ -499,18 +532,12 @@ INTERPOLATION_SCHEME = "P1M_H2" ! default = "P1M_H2" ! P3M_IH6IH5 (4th-order accurate) ! PQM_IH4IH3 (4th-order accurate) ! PQM_IH6IH5 (5th-order accurate) -REMAPPING_2018_ANSWERS = False ! [Boolean] default = False - ! If true, use the order of arithmetic and expressions that recover the answers - ! from the end of 2018. Otherwise, use updated and more robust forms of the - ! same expressions. 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. If both - ! REMAPPING_2018_ANSWERS and REMAPPING_ANSWER_DATE are specified, the latter - ! takes precedence. -REGRIDDING_ANSWER_DATE = 20181231 ! default = 20181231 + ! robust and accurate forms of mathematically equivalent expressions. +REGRIDDING_ANSWER_DATE = 99991231 ! default = 99991231 ! 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 @@ -528,6 +555,8 @@ ALE_COORDINATE_CONFIG = "HYBRID:hycom1_75_800m.nc,sigma2,FNC1:2,4000,4.5,.01" ! ! 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 @@ -608,6 +637,14 @@ REMAP_BOUND_INTERMEDIATE_VALUES = False ! [Boolean] default = False 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 @@ -632,12 +669,20 @@ 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. +REMAP_VEL_CONSERVE_KE = False ! [Boolean] default = False + ! If true, a correction is applied to the baroclinic component of velocity after + ! remapping so that total KE is conserved. KE may not be conserved when + ! (CS%BBL_h_vel_mask > 0.0) .and. (CS%h_vel_mask > 0.0) ! === 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. +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. ODA_INCUPD = False ! [Boolean] default = False ! If true, oda incremental updates will be applied everywhere in the domain. SPONGE = False ! [Boolean] default = False @@ -648,7 +693,11 @@ SPONGE = False ! [Boolean] default = False NUM_DIAG_COORDS = 1 ! default = 1 ! The number of diagnostic vertical coordinates to use. For each coordinate, an ! entry in DIAG_COORDS must be provided. -USE_GRID_SPACE_DIAGNOSTIC_AXES = False ! [Boolean] default = False +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 Z ZSTAR" ! default = "z Z ZSTAR" ! A list of string tuples associating diag_table modules to a coordinate @@ -671,6 +720,8 @@ DIAG_COORD_DEF_Z = "WOA09" ! default = "WOA09" ! 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 @@ -722,6 +773,10 @@ MEKE_EQUILIBRIUM_RESTORING = False ! [Boolean] default = False 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. @@ -735,6 +790,8 @@ MEKE_K4 = -1.0 ! [m4 s-1] default = -1.0 ! bi-harmonic diffusion to MEKE. MEKE_DTSCALE = 1.0 ! [nondim] default = 1.0 ! A scaling factor to accelerate the time evolution of MEKE. +MEKE_POSITIVE = False ! [Boolean] default = False + ! If true, it guarantees that MEKE will always be >= 0. 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 @@ -811,6 +868,8 @@ 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. +SQG_USE_MEKE = False ! [Boolean] default = False + ! If true, the eddy scale of MEKE is used for the SQG vertical structure CDRAG = 0.003 ! [nondim] default = 0.003 ! CDRAG is the drag coefficient relating the magnitude of the velocity field to ! the bottom stress. @@ -844,12 +903,30 @@ RESOLN_SCALED_KHTR = False ! [Boolean] default = False 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. +BS_USE_SQG_STRUCT = False ! [Boolean] default = False + ! If true, the SQG vertical structure is used for backscatter on the condition + ! that BS_EBT_power=0 KHTH_USE_EBT_STRUCT = False ! [Boolean] default = False ! If true, uses the equivalent barotropic structure as the vertical structure of ! thickness diffusivity. +KHTH_USE_SQG_STRUCT = False ! [Boolean] default = False + ! If true, uses the surface quasigeostrophic structure as the vertical structure + ! of thickness diffusivity. +KHTR_USE_EBT_STRUCT = False ! [Boolean] default = False + ! If true, uses the equivalent barotropic structure as the vertical structure of + ! tracer diffusivity. +KHTR_USE_SQG_STRUCT = False ! [Boolean] default = False + ! If true, uses the surface quasigeostrophic structure as the vertical structure + ! of tracer 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. +KD_GL90_USE_SQG_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 @@ -914,20 +991,18 @@ INTERNAL_WAVE_SPEED_MIN = 0.0 ! [m s-1] default = 0.0 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_2018_ANSWERS = False ! [Boolean] default = False - ! If true, use the order of arithmetic and expressions that recover the answers - ! from the end of 2018. Otherwise, use updated and more robust forms of the - ! same expressions. 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. - ! If both SET_VISC_2018_ANSWERS and SET_VISC_ANSWER_DATE are specified, the - ! latter takes precedence. 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 @@ -943,8 +1018,6 @@ CHANNEL_DRAG = True ! [Boolean] default = False 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. @@ -992,6 +1065,9 @@ SMAG_CONST_CHANNEL = 0.15 ! [nondim] default = 0.15 ! 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 @@ -1061,26 +1137,11 @@ STOCH_EOS = False ! [Boolean] default = False 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 @@ -1092,6 +1153,8 @@ BEGW = 0.0 ! [nondim] default = 0.0 ! 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. +SET_DTBT_USE_BT_CONT = False ! [Boolean] default = False + ! If true, use BT_CONT to calculate DTBT if possible. SPLIT_BOTTOM_STRESS = False ! [Boolean] default = False ! If true, provide the bottom stress calculated by the vertical viscosity to the ! barotropic solver. @@ -1102,14 +1165,17 @@ 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 - -! === module MOM_continuity === -CONTINUITY_SCHEME = "PPM" ! default = "PPM" - ! CONTINUITY_SCHEME selects the discretization for the continuity solver. The - ! only valid value currently is: - ! PPM - use a positive-definite (or monotonic) - ! piecewise parabolic reconstruction solver. + ! If true, add non-local momentum flux increments and diffuse down the Eulerian + ! gradient. +VISC_REM_BUG = False ! [Boolean] default = False + ! If true, visc_rem_[uv] in split mode is incorrectly calculated or accounted + ! for in two places. This parameter controls the defaults of two individual + ! flags, VISC_REM_TIMESTEP_BUG in MOM_dynamics_split_RK2(b) and + ! VISC_REM_BT_WEIGHT_BUG in MOM_barotropic. +VISC_REM_TIMESTEP_BUG = False ! [Boolean] default = False + ! If true, recover a bug that uses dt_pred rather than dt in vertvisc_remnant() + ! at the end of predictor stage for the following continuity() and btstep() + ! calls in the corrector step. Default of this flag is set by VISC_REM_BUG ! === module MOM_continuity_PPM === MONOTONIC_CONTINUITY = False ! [Boolean] default = False @@ -1193,9 +1259,38 @@ ANALYTIC_FV_PGF = True ! [Boolean] default = True ! 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. +RHO_PGF_REF_BUG = True ! [Boolean] default = True + ! If true, recover a bug that RHO_0 (the mean seawater density in Boussinesq + ! mode) and RHO_PGF_REF (the subtracted reference density in finite volume + ! pressure gradient forces) are incorrectly interchanged in several instances in + ! Boussinesq mode. +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 = True ! [Boolean] default = True + ! 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. +MASS_WEIGHT_IN_PGF_VANISHED_ONLY = False ! [Boolean] default = False + ! If true, use mass weighting when interpolating T/S for integrals only if one + ! side is vanished according to RESET_INTXPA_H_NONVANISHED. +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. +RESET_INTXPA_INTEGRAL_FLATTEST = False ! [Boolean] default = False + ! If true, use flattest interface as reference interface where there is no + ! better choice for RESET_INTXPA_INTEGRAL. Otherwise, use surface interface. 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. @@ -1222,16 +1317,9 @@ USE_ZB2020 = False ! [Boolean] default = False ! mesoscale eddies. ! === module MOM_hor_visc === -HOR_VISC_2018_ANSWERS = False ! [Boolean] default = False - ! If true, use the order of arithmetic and expressions that recover the answers - ! from the end of 2018. Otherwise, use updated and more robust forms of the - ! same expressions. -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. If both HOR_VISC_2018_ANSWERS and HOR_VISC_ANSWER_DATE are - ! specified, the latter takes precedence. +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 @@ -1254,9 +1342,9 @@ RES_SCALE_MEKE_VISC = False ! [Boolean] default = False ! 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 @@ -1284,12 +1372,16 @@ USE_LEITHY = False ! [Boolean] default = False ! 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 = False ! [Boolean] default = False + ! 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. 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 @@ -1300,21 +1392,19 @@ HORVISC_BOUND_COEF = 0.8 ! [nondim] default = 0.8 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 = False ! [Boolean] default = False + ! 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_2018_ANSWERS = False ! [Boolean] default = False - ! If true, use the order of arithmetic and expressions that recover the answers - ! from the end of 2018. Otherwise, use expressions that do not use an arbitrary - ! hard-coded maximum viscous coupling coefficient between layers. 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. If both - ! VERT_FRICTION_2018_ANSWERS and VERT_FRICTION_ANSWER_DATE are specified, the - ! latter takes precedence. + ! 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 @@ -1350,10 +1440,6 @@ KV_ML_INVZ2 = 0.0 ! [m2 s-1] default = 0.0 ! 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. @@ -1428,14 +1514,20 @@ CONST_DYN_PSURF = 0.9 ! [nondim] default = 0.9 ! 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_2018_ANSWERS = False ! [Boolean] default = False - ! If true, use expressions for the barotropic solver that recover the answers - ! from the end of 2018. Otherwise, use more efficient or general expressions. 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 uuse more - ! efficient or general expressions. If both BAROTROPIC_2018_ANSWERS and - ! BAROTROPIC_ANSWER_DATE are specified, the latter takes precedence. + ! recover the answers from the end of 2018, while higher values use more + ! efficient or general expressions. +VISC_REM_BT_WEIGHT_BUG = False ! [Boolean] default = False + ! If true, recover a bug in barotropic solver that uses an unnormalized weight + ! function for vertical averages of baroclinic velocity and forcing. Default of + ! this flag is set by VISC_REM_BUG. +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 @@ -1461,6 +1553,9 @@ 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. +BT_LINEAR_FREQ_DRAG = False ! [Boolean] default = False + ! If true, apply frequency-dependent drag to the tidal velocities. The streaming + ! band-pass filter must be turned on. 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. @@ -1495,6 +1590,11 @@ DTBT = -0.9 ! [s or nondim] default = -0.98 BT_USE_OLD_CORIOLIS_BRACKET_BUG = False ! [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. +MASK_COASTAL_PRESSURE_FORCE = False ! [Boolean] default = False + ! If true, use the land masks to zero out the diagnosed barotropic pressure + ! gradient accelerations at coastal or land points. This changes diagnostics + ! and improves the reproducibility of certain debugging checksums, but it does + ! not alter the solutions themselves. ! === module MOM_mixed_layer_restrat === MIXEDLAYER_RESTRAT = True ! [Boolean] default = False @@ -1502,55 +1602,64 @@ MIXEDLAYER_RESTRAT = True ! [Boolean] default = False ! 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 +USE_BODNER23 = True ! [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. - ! (2010) -USE_STANLEY_ML = False ! [Boolean] default = False +CR = 0.038 ! [nondim] default = 0.0 + ! The efficiency coefficient in eq 27 of Bodner et al., 2023. +BODNER_NSTAR = 0.066 ! [nondim] default = 0.066 + ! The n* value used to estimate the turbulent vertical momentum flux in Bodner + ! et al., 2023, eq. 18. This is independent of the value used in the PBL scheme + ! but should be set to be the same for consistency. +BODNER_MSTAR = 0.5 ! [nondim] default = 0.5 + ! The m* value used to estimate the turbulent vertical momentum flux in Bodner + ! et al., 2023, eq. 18. This is independent of the value used in the PBL scheme + ! but should be set to be the same for consistency. +BLD_GROWING_TFILTER = 0.0 ! [s] default = 0.0 + ! The time-scale for a running-mean filter applied to the boundary layer depth + ! (BLD) when the BLD is deeper than the running mean. A value of 0 + ! instantaneously sets the running mean to the current value of BLD. +BLD_DECAYING_TFILTER = 8.64E+04 ! [s] default = 0.0 + ! The time-scale for a running-mean filter applied to the boundary layer depth + ! (BLD) when the BLD is shallower than the running mean. A value of 0 + ! instantaneously sets the running mean to the current value of BLD. +MLD_GROWING_TFILTER = 0.0 ! [s] default = 0.0 + ! The time-scale for a running-mean filter applied to the time-filtered BLD, + ! when the latter is deeper than the running mean. A value of 0 instantaneously + ! sets the running mean to the current value filtered BLD. +MLD_DECAYING_TFILTER = 2.592E+06 ! [s] default = 0.0 + ! The time-scale for a running-mean filter applied to the time-filtered BLD, + ! when the latter is shallower than the running mean. A value of 0 + ! instantaneously sets the running mean to the current value filtered BLD. +ML_RESTRAT_ANSWER_DATE = 99991231 ! default = 99991231 + ! The vintage of the order of arithmetic and expressions in the mixed layer + ! restrat calculations. Values below 20240201 recover the answers from the end + ! of 2023, while higher values use the new cuberoot function in the Bodner code + ! to avoid needing to undo dimensional rescaling. +MIN_WSTAR2 = 1.0E-24 ! [m2 s-2] default = 1.0E-24 + ! The minimum lower bound to apply to the vertical momentum flux, w'u', in the + ! Bodner et al., restratification parameterization. This avoids a + ! division-by-zero in the limit when u* and the buoyancy flux are zero. The + ! default is less than the molecular viscosity of water times the Coriolis + ! parameter a micron away from the equator. +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. +USE_STANLEY_TVAR = 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. +USE_CR_GRID = False ! [Boolean] default = False + ! If true, read in a spatially varying Cr field. +USE_MLD_GRID = False ! [Boolean] default = False + ! If true, read in a spatially varying MLD_decaying_Tfilt field. +%MLE 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. + ! density difference with the surface using the parameter MLE_DENSITY_DIFF, + ! unless BODNER_DETECT_MLD is true. +BODNER_DETECT_MLD = False ! [Boolean] default = False + ! If true, the Bodner parameterization will use the mixed-layer depth detected + ! via the density difference criterion MLE_DENSITY_DIFF. ! === module MOM_diagnostics === DIAG_EBT_MONO_N2_COLUMN_FRACTION = 0.0 ! [nondim] default = 0.0 @@ -1559,6 +1668,10 @@ DIAG_EBT_MONO_N2_COLUMN_FRACTION = 0.0 ! [nondim] default = 0.0 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. @@ -1611,9 +1724,15 @@ 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 +MLD_EN_VALS = 25.0, 2500.0, 2.5E+05 ! [J/m2] default = 25.0, 2500.0, 2.5E+05 ! The energy values used to compute MLDs. If not set (or all set to 0.), the ! default will overwrite to 25., 2500., 250000. +BMLD_EN_VALS = 25.0, 2500.0, 2.5E+05 ! [J/m2] default = 25.0, 2500.0, 2.5E+05 + ! The energy values used to compute Bottom 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 @@ -1640,7 +1759,7 @@ USE_CVMix_CONVECTION = False ! [Boolean] default = False 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_newtopo_config.nc" ! default = "" +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 @@ -1653,16 +1772,12 @@ 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_2018_ANSWERS = False ! [Boolean] default = False - ! If true, use the order of arithmetic and expressions that recover the answers - ! from the end of 2018. Otherwise, use updated and more robust forms of the - ! same expressions. 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. - ! If both SET_DIFF_2018_ANSWERS and SET_DIFF_ANSWER_DATE are specified, the - ! latter takes precedence. + ! Values above 20250301 also use less confusing expressions to set the + ! bottom-drag generated diffusivity when USE_LOTW_BBL_DIFFUSIVITY is false. ! === module MOM_tidal_mixing === ! Vertical Tidal Mixing Parameterization @@ -1671,16 +1786,10 @@ USE_CVMix_TIDAL = False ! [Boolean] default = False INT_TIDE_DISSIPATION = True ! [Boolean] default = False ! If true, use an internal tidal dissipation scheme to drive diapycnal mixing, ! along the lines of St. Laurent et al. (2002) and Simmons et al. (2004). -TIDAL_MIXING_2018_ANSWERS = False ! [Boolean] default = False - ! If true, use the order of arithmetic and expressions that recover the answers - ! from the end of 2018. Otherwise, use updated and more robust forms of the - ! same expressions. 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. - ! If both TIDAL_MIXING_2018_ANSWERS and TIDAL_MIXING_ANSWER_DATE are specified, - ! the latter takes precedence. 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: @@ -1741,7 +1850,7 @@ TKE_ITIDE_MAX = 0.1 ! [W m-2] default = 1000.0 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_newtopo_config.nc" ! default = "tideamp.nc" +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" @@ -1778,6 +1887,14 @@ LOTW_BBL_USE_OMEGA = True ! [Boolean] default = True ! 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 = 99991231 ! default = 99991231 + ! 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 @@ -1805,6 +1922,9 @@ HENYEY_IGW_BACKGROUND = True ! [Boolean] default = False 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 @@ -1841,6 +1961,15 @@ USE_JACKSON_PARAM = True ! [Boolean] default = False VERTEX_SHEAR = True ! [Boolean] default = False ! If true, do the calculations of the shear-driven mixing at the cell vertices ! (i.e., the vorticity points). +VERTEX_SHEAR_VISCOSITY_BUG = True ! [Boolean] default = True + ! If true, use a bug in vertex shear that zeros out viscosities at vertices on + ! coastlines. +VERTEX_SHEAR_GEOMETRIC_MEAN = False ! [Boolean] default = False + ! If true, use a geometric mean for moving diffusivity from vertices to tracer + ! points. False uses algebraic mean. +VERTEX_SHEAR_THICKNESS_MEAN = False ! [Boolean] default = False + ! If true, apply thickness weighting to horizontal averagings of diffusivity to + ! tracer points in the kappa shear solver. RINO_CRIT = 0.25 ! [nondim] default = 0.25 ! The critical Richardson number for shear mixing. SHEARMIX_RATE = 0.089 ! [nondim] default = 0.089 @@ -1876,6 +2005,10 @@ 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. @@ -1891,6 +2024,8 @@ KAPPA_SHEAR_ELIM_MASSLESS = True ! [Boolean] default = True MAX_KAPPA_SHEAR_IT = 13 ! default = 13 ! The maximum number of iterations that may be used to estimate the ! time-averaged diffusivity. +PRANDTL_TURB = 1.25 ! [nondim] default = 1.0 + ! The turbulent Prandtl number applied to shear instability. 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 @@ -1956,12 +2091,14 @@ USE_RIVER_HEAT_CONTENT = False ! [Boolean] default = False 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 = True ! [Boolean] default = True ! If true, chl_a is read from a file. -CHL_FILE = "seawifs-clim-1997-2010.1440x1080.v20180328_newtopo_config.nc" ! +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" @@ -1975,16 +2112,13 @@ ML_OMEGA_FRAC = 0.001 ! [nondim] default = 0.0 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_2018_ANSWERS = False ! [Boolean] default = False - ! If true, use the order of arithmetic and expressions that recover the answers - ! from the end of 2018. Otherwise, use updated and more robust forms of the - ! same expressions. 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. - ! If both EPBL_2018_ANSWERS and EPBL_ANSWER_DATE are specified, the latter takes - ! precedence. + ! 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 @@ -1995,6 +2129,11 @@ MKE_TO_TKE_EFFIC = 0.0 ! [nondim] default = 0.0 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. +DIRECT_EPBL_MIXING_CALC = False ! [Boolean] default = False + ! If true and there is no conversion from mean kinetic energy to ePBL turbulent + ! kinetic energy, use a direct calculation of the diffusivity that is supported + ! by a given energy input instead of the more general but slower iterative + ! solver. EPBL_MSTAR_SCHEME = "REICHL_H18" ! default = "CONSTANT" ! EPBL_MSTAR_SCHEME selects the method for setting mstar. Valid values are: ! CONSTANT - Use a fixed mstar given by MSTAR @@ -2002,28 +2141,30 @@ EPBL_MSTAR_SCHEME = "REICHL_H18" ! default = "CONSTANT" ! 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). + ! (This is not used if EPBL_mstar_scheme = CONSTANT). RH18_MSTAR_CN1 = 0.275 ! [nondim] default = 0.275 - ! MSTAR_N coefficient 1 (outter-most coefficient for fit). The value of 0.275 is - ! given in RH18. Increasing this coefficient increases MSTAR for all values of + ! MSTAR_N coefficient 1 (outer-most coefficient for fit). The value of 0.275 is + ! given in RH18. Increasing this coefficient increases mstar for all values of ! Hf/ust, but more effectively at low values (weakly developed OSBLs). RH18_MSTAR_CN2 = 8.0 ! [nondim] default = 8.0 ! MSTAR_N coefficient 2 (coefficient outside of exponential decay). The value of - ! 8.0 is given in RH18. Increasing this coefficient increases MSTAR for all + ! 8.0 is given in RH18. Increasing this coefficient increases mstar for all ! values of HF/ust, with a much more even effect across a wide range of Hf/ust ! than CN1. RH18_MSTAR_CN3 = -5.0 ! [nondim] default = -5.0 ! MSTAR_N coefficient 3 (exponential decay coefficient). The value of -5.0 is - ! given in RH18. Increasing this increases how quickly the value of MSTAR + ! given in RH18. Increasing this increases how quickly the value of mstar ! decreases as Hf/ust increases. RH18_MSTAR_CS1 = 0.2 ! [nondim] default = 0.2 ! MSTAR_S coefficient for RH18 in stabilizing limit. The value of 0.2 is given - ! in RH18 and increasing it increases MSTAR in the presence of a stabilizing + ! in RH18 and increasing it increases mstar in the presence of a stabilizing ! surface buoyancy flux. RH18_MSTAR_CS2 = 0.4 ! [nondim] default = 0.4 ! MSTAR_S exponent for RH18 in stabilizing limit. The value of 0.4 is given in - ! RH18 and increasing it increases MSTAR exponentially in the presence of a + ! RH18 and increasing it increases mstar exponentially in the presence of a ! stabilizing surface buoyancy flux. +EPBL_BBL_USE_MSTAR = False ! [nondim] default = False + ! A logical to use mstar in the calculation of TKE in the ePBL BBL scheme 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 @@ -2049,10 +2190,13 @@ EPBL_MLD_BISECTION = False ! [Boolean] default = False ! 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_ITER_BUG = True ! [Boolean] default = True + ! If true, use buggy logic that gives the wrong bounds for the next iteration + ! when successive guesses increase by exactly EPBL_MLD_TOLERANCE. 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. + ! mixed layer depth. If EPBL_MLD_BISECTION is true, the maximum number of + ! iterations 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. @@ -2075,6 +2219,12 @@ EPBL_VEL_SCALE_FACTOR = 1.0 ! [nondim] default = 1.0 ! the PBL diffusivity. VSTAR_SURF_FAC = 1.2 ! [nondim] default = 1.2 ! The proportionality times ustar to set vstar at the surface. +EPBL_BBL_EFFIC = 0.0 ! [nondim] default = 0.0 + ! The efficiency of bottom boundary layer mixing via ePBL. Setting this to a + ! value that is greater than 0 to enable bottom boundary layer mixing from EPBL. +EPBL_BBL_TIDAL_EFFIC = 0.0 ! [nondim] default = 0.0 + ! The efficiency of bottom boundary layer mixing via ePBL driven by the bottom + ! drag dissipation of tides, as provided in fluxes%BBL_tidal_dis. USE_LA_LI2016 = True ! [Boolean] default = False ! A logical to use the Li et al. 2016 (submitted) formula to determine the ! Langmuir number. @@ -2084,12 +2234,12 @@ EPBL_LANGMUIR_SCHEME = "ADDITIVE" ! default = "NONE" ! 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 + ! ADDITIVE - Add a Langmuir turbulence 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 + ! Exponent for Langmuir enhancement of mstar LT_MOD_LAC1 = 0.0 ! [nondim] default = -0.87 ! Coefficient for modification of Langmuir number due to MLD approaching Ekman ! depth. @@ -2105,6 +2255,18 @@ LT_MOD_LAC4 = 0.0 ! [nondim] default = 0.95 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_EQD_DIFFUSIVITY_SHAPE = False ! [nondim] default = False + ! Logical flag for activating ML equation for shape function that uses forcing + ! to change its structure. +EPBL_EQD_DIFFUSIVITY_VELOCITY = False ! [nondim] default = False + ! Logical flag for activating ML equation discovery for velocity scale +EPBL_EQD_DIFFUSIVITY_VELOCITY_H = False ! [nondim] default = False + ! Logical flag for activating ML equation discovery for velocity scale with h as + ! input +EPBL_OPTIONS_DIFF = 0 ! default = 0 + ! If positive, this is a coded integer indicating a pair of settings whose + ! differences are diagnosed in a passive diagnostic mode via extra calls to + ! ePBL_column. If this is 0 or negative no extra calls occur. !EPBL_USTAR_MIN = 1.45842E-18 ! [m s-1] ! The (tiny) minimum friction velocity used within the ePBL code, derived from ! OMEGA and ANGSTROM. @@ -2120,20 +2282,15 @@ OPACITY_SCHEME = "MANIZZA_05" ! default = "MANIZZA_05" ! into opacities. Currently valid options include: ! MANIZZA_05 - Use Manizza et al., GRL, 2005. ! MOREL_88 - Use Morel, JGR, 1988. + ! OHLMANN_03 - Use Ohlmann, J Clim, 2003. (only use if dz(1)>2.0m) 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_2018_ANSWERS = False ! [Boolean] default = False - ! If true, use the order of arithmetic and expressions that recover the answers - ! from the end of 2018. Otherwise, use updated expressions for handling the - ! absorption of small remaining shortwave fluxes. 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. - ! If both OPTICS_2018_ANSWERS and OPTICS_ANSWER_DATE are specified, the latter - ! takes precedence. 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 @@ -2142,6 +2299,18 @@ PEN_SW_FLUX_ABSORB = 2.5E-11 ! [degC m s-1] default = 2.5E-11 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_VALUES_MANIZZA = 0.0232, 0.074, 0.225, 0.037, 2.86, 0.0 ! [m-1] default = 0.0232, 0.074, 0.225, 0.037, 2.86, 0.0 + ! Pairs of opacity coefficients for blue, red and near-infrared radiation with + ! parameterizations following the functional form from Manizza et al., GRL 2005, + ! namely in the form opacity = coef_1 + coef_2 * chl**pow for each band. + ! Although coefficients are set for 3 bands, more or less bands may actually be + ! used, with extra bands following the same properties as band 3. +CHOROPHYLL_POWER_MANIZZA = 0.674, 0.629, 0.0 ! [nondim] default = 0.674, 0.629, 0.0 + ! Powers of chlorophyll for blue, red and near-infrared radiation bands in + ! expressions for opacity of the form opacity = coef_1 + coef_2 * chl**pow. +OPACITY_BAND_WAVELENGTHS = 0.0, 550.0, 700.0, 2800.0 ! [nm] default = 0.0, 550.0, 700.0, 2800.0 + ! The bounding wavelengths for the various bands of shortwave radiation, with + ! defaults that depend on the setting for OPACITY_SCHEME. 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. @@ -2152,13 +2321,14 @@ TRACER_ADVECTION_SCHEME = "PPM:H3" ! default = "PLM" ! 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 @@ -2215,10 +2385,14 @@ 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. +MAXVEL = 6.0 ! [m s-1] default = 3.0E+08 + ! The maximum velocity allowed before the velocity components are truncated. 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 +ISO_DATE_STAMPED_STDOUT = False ! [Boolean] default = False + ! If true, use ISO formatted dates 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 @@ -2236,9 +2410,12 @@ ENERGYSAVEDAYS_GEOMETRIC = 0.0 ! [days] default = 0.0 ! === module ocean_stochastics_init === DO_SPPT = False ! [Boolean] default = False - ! If true, then stochastically perturb the thermodynamic tendemcies of T,S, amd + ! If true, then stochastically perturb the thermodynamic tendencies of T,S, amd ! h. Amplitude and correlations are controlled by the nam_stoch namelist in the ! UFS model only. +DO_SKEB = False ! [Boolean] default = False + ! If true, then stochastically perturb the currents using the stochastic kinetic + ! energy backscatter scheme. 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 @@ -2272,21 +2449,23 @@ MAX_P_SURF = 0.0 ! [Pa] default = -1.0 ! 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 = False ! [Boolean] default = False +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 = False ! [Boolean] default = False +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 = False ! [Boolean] default = False +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. @@ -2307,37 +2486,58 @@ WIND_STAGGER = "AGRID" ! 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.1667 ! [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.1667 ! [m day-1] default = 0.1667 + ! 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_PHC2.1440x1080.v20180405.nc" ! default = "salt_restore.nc" + ! A file in which to find the surface salinity to use for restoring. +SALT_RESTORE_VARIABLE = "salt" ! default = "salt" + ! The name of the surface salinity variable to read from SALT_RESTORE_FILE for + ! restoring salinity. +SALT_RESTORE_PRACTICAL_SALINITY = False ! [Boolean] default = False + ! Specifies if the restoring surface salinity variable is practical salinity. + ! If this flag is set to false it is assumed that the salinity is absolute + ! 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 = 999.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_2018_ANSWERS = False ! [Boolean] default = False - ! If true, use the order of arithmetic and expressions that recover the answers - ! from the end of 2018. Otherwise, use a simpler expression to calculate - ! gustiness. 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. If both - ! SURFACE_FORCING_2018_ANSWERS and SURFACE_FORCING_ANSWER_DATE are specified, - ! the latter takes precedence. -FIX_USTAR_GUSTLESS_BUG = True ! [Boolean] default = True - ! If true correct a bug in the time-averaging of the gustless wind friction + ! while higher values use a simpler expression to calculate gustiness. +USTAR_GUSTLESS_BUG = False ! [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 +USE_RIGID_SEA_ICE = False ! [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 @@ -2347,7 +2547,7 @@ ALLOW_FLUX_ADJUSTMENTS = False ! [Boolean] default = False ! === module MOM_restart === USE_WAVES = False ! [Boolean] default = False ! If true, enables surface wave modules. -WAVE_INTERFACE_ANSWER_DATE = 20221231 ! default = 20221231 +WAVE_INTERFACE_ANSWER_DATE = 99991231 ! default = 99991231 ! 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: @@ -2367,6 +2567,9 @@ 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. diff --git a/MOM6_GEOSPlug/mom6_app/1440x1080/MOM_parameter_doc.debugging b/MOM6_GEOSPlug/mom6_app/1440x1080/MOM_parameter_doc.debugging new file mode 100755 index 0000000..fb34fff --- /dev/null +++ b/MOM6_GEOSPlug/mom6_app/1440x1080/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/MOM6_GEOSPlug/mom6_app/1440x1080/MOM_parameter_doc.layout b/MOM6_GEOSPlug/mom6_app/1440x1080/MOM_parameter_doc.layout new file mode 100755 index 0000000..0ea70cf --- /dev/null +++ b/MOM6_GEOSPlug/mom6_app/1440x1080/MOM_parameter_doc.layout @@ -0,0 +1,73 @@ +! 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_ = False ! [Boolean] + ! If defined, the velocity point data domain includes every face of the + ! thickness points. In other words, some arrays are larger than others, + ! depending on where they are on the staggered grid. Also, the starting index + ! of the velocity-point arrays is usually 0, not 1. This can only be set at + ! compile time. +NONBLOCKING_UPDATES = False ! [Boolean] default = False + ! If true, non-blocking halo updates may be used. +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 = "MOM_mask_table" ! default = "MOM_mask_table" + ! A text file to specify n_mask, layout and mask_list. This feature masks out + ! processors that contain only land points. The first line of mask_table is the + ! number of regions to be masked out. The second line is the layout of the model + ! and must be consistent with the actual model layout. The following (n_mask) + ! lines give the logical positions of the processors that are masked out. The + ! mask_table can be created by tools like check_mask. The following example of + ! mask_table masks out 2 processors, (1,2) and (3,6), out of the 24 in a 4x6 + ! layout: + ! 2 + ! 4,6 + ! 1,2 + ! 3,6 +NIPROC = 36 ! + ! The number of processors in the x-direction. With STATIC_MEMORY_ this is set + ! in MOM_memory.h at compile time. +NJPROC = 30 ! + ! The number of processors in the y-direction. With STATIC_MEMORY_ this is set + ! in MOM_memory.h at compile time. +LAYOUT = 36, 30 ! + ! The processor layout that was actually used. +IO_LAYOUT = 1, 1 ! default = 1, 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_WIDE_HALO_MIN_STENCIL = 0 ! default = 0 + ! The minimum stencil width to use with the wide halo iterations. A nonzero + ! value may be useful for debugging purposes, but at the cost of reducing the + ! efficiency gain from BT_USE_WIDE_HALOS. +!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/MOM6_GEOSPlug/mom6_app/1440x1080/MOM_parameter_doc.short b/MOM6_GEOSPlug/mom6_app/1440x1080/MOM_parameter_doc.short new file mode 100755 index 0000000..9c65a82 --- /dev/null +++ b/MOM6_GEOSPlug/mom6_app/1440x1080/MOM_parameter_doc.short @@ -0,0 +1,669 @@ +! 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_AUXILIARY_VARS = True ! [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. +DT = 450.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.) +APPLY_INTERFACE_FILTER = True ! [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. +HFREEZE = 2.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. +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. +RESTART_CHECKSUMS_REQUIRED = False ! [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. + +! === 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 = "file" ! 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. +COORD_FILE = "layer_coord.nc" ! + ! The file from which the coordinate densities are read. +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 +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 === + +! === module MOM_diag_mediator === + +! === module MOM_MEKE === +USE_MEKE = True ! [Boolean] default = False + ! If true, turns on the MEKE scheme which calculates a sub-grid mesoscale eddy + ! kinetic energy budget. +MEKE_GMCOEFF = 1.0 ! [nondim] default = -1.0 + ! The efficiency of the conversion of potential energy into MEKE by the + ! thickness mixing parameterization. If MEKE_GMCOEFF is negative, this + ! conversion is not used or calculated. +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. +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 = 10.0 ! [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. +KH_ETA_CONST = 20.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. + +! === module MOM_interface_filter === + +! === 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 === +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. +KH_VEL_SCALE = 0.00286 ! [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. +AH_VEL_SCALE = 0.02 ! [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. +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. + +! === 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. + +! === 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 = True ! [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. +CR = 0.038 ! [nondim] default = 0.0 + ! The efficiency coefficient in eq 27 of Bodner et al., 2023. +BLD_DECAYING_TFILTER = 8.64E+04 ! [s] default = 0.0 + ! The time-scale for a running-mean filter applied to the boundary layer depth + ! (BLD) when the BLD is shallower than the running mean. A value of 0 + ! instantaneously sets the running mean to the current value of BLD. +MLD_DECAYING_TFILTER = 2.592E+06 ! [s] default = 0.0 + ! The time-scale for a running-mean filter applied to the time-filtered BLD, + ! when the latter is shallower than the running mean. A value of 0 + ! instantaneously sets the running mean to the current value filtered BLD. +%MLE +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, + ! unless BODNER_DETECT_MLD is true. + +! === 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_EFFIC = 0.01 ! [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_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. +VERTEX_SHEAR = True ! [Boolean] default = False + ! If true, do the calculations of the shear-driven mixing at the cell vertices + ! (i.e., the vorticity points). +MAX_RINO_IT = 25 ! [nondim] default = 50 + ! The maximum number of iterations that may be used to estimate the Richardson + ! number driven mixing. +PRANDTL_TURB = 1.25 ! [nondim] default = 1.0 + ! The turbulent Prandtl number applied to shear instability. + +! === module MOM_diabatic_aux === +! The following parameters are used for auxiliary diabatic processes. +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 = "REICHL_H18" ! 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). +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 turbulence 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 enhancement 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. + +! === 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. +MAXVEL = 6.0 ! [m s-1] default = 3.0E+08 + ! The maximum velocity allowed before the velocity components are truncated. +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. +WIND_STAGGER = "AGRID" ! + ! The staggering of the input wind stress field from the coupler that is + ! actually used. +FLUXCONST = 0.1667 ! [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_PHC2.1440x1080.v20180405.nc" ! default = "salt_restore.nc" + ! A file in which to find the surface salinity to use for restoring. +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. +CD_TIDES = 0.0018 ! [nondim] default = 1.0E-04 + ! The drag coefficient that applies to the tides. + +! === module MOM_restart === diff --git a/MOM6_GEOSPlug/mom6_app/1440x1080/MOM_saltrestore b/MOM6_GEOSPlug/mom6_app/1440x1080/MOM_saltrestore new file mode 100755 index 0000000..e2d3905 --- /dev/null +++ b/MOM6_GEOSPlug/mom6_app/1440x1080/MOM_saltrestore @@ -0,0 +1,25 @@ +! These parameters are used in CORE mode but should not be used in +! the coupled model (CM4). Why not in coupled mode?! +! this is suggested from MOM-CICE6 Community: +! https://github.com/COSIMA/access-om2/issues/158#issuecomment-950597328 +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.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_PHC2.1440x1080.v20180405.nc" ! default = "salt_restore.nc" + ! A file in which to find the surface salinity to use for restoring. +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 = 999.0 ! [PSU or g kg-1] default = 999.0 + ! The maximum salinity difference used in restoring terms. +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/MOM6_GEOSPlug/mom6_app/1440x1080/diag_table b/MOM6_GEOSPlug/mom6_app/1440x1080/diag_table old mode 100644 new mode 100755 index ff56435..2e1e669 --- a/MOM6_GEOSPlug/mom6_app/1440x1080/diag_table +++ b/MOM6_GEOSPlug/mom6_app/1440x1080/diag_table @@ -3,7 +3,7 @@ #"scalar", 1,"days",1,"days","Time", #"layer", 1,"days",1,"days","Time", #"prog", 0,"days",1,"days","Time", -"prog_z", 1,"months",1,"days","Time", +#"prog_z", 1,"months",1,"days","Time", #"ave_prog", 1,"days",1,"days","Time", #"tracer", 1,"days",1,"days","Time", #"cont", 1,"days",1,"days","Time", @@ -14,6 +14,9 @@ #"forcing", 1,"days",1,"days","Time", #"surface", 1,"months",1,"days","Time", "sfc_ave", 1,"days",1,"days","Time", +"ocean_daily", 1,"days",1,"days","Time", +"ocean_daily_2", 1,"days",1,"days","Time", +"ocean_daily_4D", 1,"days",1,"days","Time", #"ocean_static", -1,"days",1,"days","time", # #"cmor", 1,"days",1,"days","Time", @@ -51,6 +54,7 @@ ##"ocean_model","temp","temp","ave_prog","all",.true.,"none",2 ##"ocean_model","salt","salt","ave_prog","all",.true.,"none",2 ##"ocean_model","Rml","Rml","ave_prog","all",.true.,"none",2 +##"ocean_model","rsdo","rsdo","ocean_daily","all",.true.,"none",2 # #"ocean_model","mass_wt","mass_wt","surface","all",.false.,"none",1 #"ocean_model","opottempmint","opottempmint","surface","all",.false.,"none",1 # GFDL name: temp_int @@ -65,19 +69,52 @@ "ocean_model","SSH","SSH","sfc_ave","all",.true.,"none",2 "ocean_model","SST","SST","sfc_ave","all",.true.,"none",2 "ocean_model","SSS","SSS","sfc_ave","all",.true.,"none",2 -"ocean_model","speed","speed","sfc_ave","all",.true.,"none",2 "ocean_model","SSU","SSU","sfc_ave","all",.true.,"none",2 "ocean_model","SSV","SSV","sfc_ave","all",.true.,"none",2 -# +"ocean_model","MLD_003","MLD_003","sfc_ave","all",.true.,"none",2 +# +"ocean_model","taux","taux","ocean_daily","all",.true.,"none",2 +"ocean_model","tauy","tauy","ocean_daily","all",.true.,"none",2 +"ocean_model","SW","SW","ocean_daily","all",.true.,"none",2 +"ocean_model","LW","LW","ocean_daily","all",.true.,"none",2 +"ocean_model","Rd1","Rd1","ocean_daily","all",.true.,"none",2 +"ocean_model","ustar","ustar","ocean_daily","all",.true.,"none",2 +"ocean_model","uhbt","uhbt","ocean_daily","all",.true.,"none",2 +"ocean_model","vhbt","vhbt","ocean_daily","all",.true.,"none",2 +# +"ocean_model","evap","evap","ocean_daily_2","all",.true.,"none",2 +"ocean_model","PRCmE","PRCmE","ocean_daily_2","all",.true.,"none",2 +"ocean_model","latent","latent","ocean_daily_2","all",.true.,"none",2 +"ocean_model","sensible","sensible","ocean_daily_2","all",.true.,"none",2 +"ocean_model","net_heat_coupler","net_heat_coupler","ocean_daily_2","all",.true.,"none",2 +"ocean_model","net_heat_surface","net_heat_surface","ocean_daily_2","all",.true.,"none",2 +# +"ocean_model","u","u","ocean_daily_4D","all",.true.,"none",2 +"ocean_model","v","v","ocean_daily_4D","all",.true.,"none",2 +"ocean_model","uh","uh","ocean_daily_4D","all",.true.,"none",2 +"ocean_model","vh","vh","ocean_daily_4D","all",.true.,"none",2 +"ocean_model","h","h","ocean_daily_4D","all",.true.,"none",1 +"ocean_model","e","e","ocean_daily_4D","all",.true.,"none",2 +"ocean_model","e_D","e_D","ocean_daily_4D","all",.true.,"none",2 +"ocean_model","temp","temp","ocean_daily_4D","all",.true.,"none",2 +"ocean_model","salt","salt","ocean_daily_4D","all",.true.,"none",2 +"ocean_model","RV","RV","ocean_daily_4D","all",.true.,"none",2 +"ocean_model","PV","PV","ocean_daily_4D","all",.true.,"none",2 +# +#"ocean_model","p_surf","p_surf","ocean_daily","all",.true.,"none",2 +#"ocean_model","latent","latent","ocean_daily","all",.true.,"none",2 +#"ocean_model","sensible","sensible","ocean_daily","all",.true.,"none",2 +#"ocean_model","net_heat_coupler","net_heat_coupler","ocean_daily","all",.true.,"none",2 +#"ocean_model","net_heat_surface","net_heat_surface","ocean_daily","all",.true.,"none",2 # ## Z-space fields: ##================== #"ocean_model_z","u","u","prog_z","all",.true.,"none",2 #"ocean_model_z","v","v","prog_z","all",.true.,"none",2 -"ocean_model_z","temp","temp","prog_z","all",.true.,"none",2 +#"ocean_model_z","temp","temp","prog_z","all",.true.,"none",2 #"ocean_model_z","temp_xyave","temp_xyave","prog_z","all",.true.,"none",2 -"ocean_model_z","salt","salt","prog_z","all",.true.,"none",2 -"ocean_model_z","thkcello","thkcello","prog_z","all",.true.,"none",2 +#"ocean_model_z","salt","salt","prog_z","all",.true.,"none",2 +#"ocean_model_z","thkcello","thkcello","prog_z","all",.true.,"none",2 # ## Auxilary Tracers: ##================== diff --git a/MOM6_GEOSPlug/mom6_app/1440x1080/input.nml b/MOM6_GEOSPlug/mom6_app/1440x1080/input.nml old mode 100644 new mode 100755 index 6521406..d43ed88 --- a/MOM6_GEOSPlug/mom6_app/1440x1080/input.nml +++ b/MOM6_GEOSPlug/mom6_app/1440x1080/input.nml @@ -4,6 +4,7 @@ restart_input_dir = 'INPUT/', restart_output_dir = 'RESTART/', parameter_filename = 'MOM_input', + 'MOM_saltrestore', 'MOM_override' / &diag_manager_nml diff --git a/MOM6_GEOSPlug/mom6_app/2880x2240/MOM_input b/MOM6_GEOSPlug/mom6_app/2880x2240/MOM_input new file mode 100755 index 0000000..2c6673d --- /dev/null +++ b/MOM6_GEOSPlug/mom6_app/2880x2240/MOM_input @@ -0,0 +1,807 @@ +! 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. + +! 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 = 2880 ! + ! 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 = 2240 ! + ! 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. +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 = "" ! 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_125" ! 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 = "file" ! + ! 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. +COORD_FILE = "layer_coord.nc" ! + ! The file from which the coordinate densities are read. +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 = "WOA18_decav_TPOTS_monthly_fulldepth_01.nc" ! 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. +Z_INIT_FILE_PTEMP_VAR = "ptemp" ! default = "ptemp" + ! The name of the potential temperature variable in TEMP_Z_INIT_FILE. +Z_INIT_FILE_SALT_VAR = "salt" ! 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 = "FILE:diag_rho2.nc,interfaces=rho2" ! 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. +INTERNAL_WAVE_SPEED_BETTER_EST = False ! [Boolean] default = False + ! If true, use a more robust estimate of the first mode wave speed as the + ! starting point for iterations. + +! === 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. +USE_GM_WORK_BUG = True ! [Boolean] default = True + ! If true, compute the top-layer work tendency on the u-grid with the incorrect + ! sign, for legacy reproducibility. + +! === 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. +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_TPXO9_OM4p125.v20200922.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.2880x2240.v20200921.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. +EPBL_MLD_BISECTION = True ! [Boolean] default = True + ! 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. +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/MOM6_GEOSPlug/mom6_app/2880x2240/MOM_override b/MOM6_GEOSPlug/mom6_app/2880x2240/MOM_override new file mode 100755 index 0000000..60ca27b --- /dev/null +++ b/MOM6_GEOSPlug/mom6_app/2880x2240/MOM_override @@ -0,0 +1,81 @@ +! Blank file in which we can put "overrides" for parameters + +LAYOUT = 36, 20 +#override DT = 450 +#override DT_THERM = 450 +HFREEZE = 2.0 + +! Disable checksums +RESTART_CHECKSUMS_REQUIRED = False + +!VERBOSITY = 9 +!DEBUG = True +!REPORT_UNUSED_PARAMS = True + +#override NUM_DIAG_COORDS = 1 +#override DIAG_COORDS = "z Z ZSTAR" +#override DIAG_COORD_DEF_Z = "WOA09" + +! Use (known) bug fixes. +#override USE_GM_WORK_BUG = False +#override BT_USE_OLD_CORIOLIS_BRACKET_BUG = False +#override KAPPA_SHEAR_ITER_BUG = False +#override KAPPA_SHEAR_ALL_LAYER_TKE_BUG = False +#override FIX_USTAR_GUSTLESS_BUG = True +#override REMAP_UV_USING_OLD_ALG = False + +! For SOCA +#override VERTEX_SHEAR = True + +! Known improvements +#override INTERNAL_WAVE_SPEED_BETTER_EST = True +#override REMAP_AUXILIARY_VARS = True + +! Thermo_spans_coupling should be set to False +#override THERMO_SPANS_COUPLING = False + +! Following improved ocean-ice simulations +#override CORIOLIS_SCHEME = SADOURNY75_ENERGY +#override BOUNDARY_EXTRAPOLATION = False +#override EPBL_MSTAR_SCHEME = "REICHL_H18" +#override EPBL_MLD_BISECTION = False +#override APPLY_INTERFACE_FILTER = True +#override THICKNESSDIFFUSE = False +#override KH_VEL_SCALE = 0.00286 +#override HTBL_SHELF_MIN = 10. +#override KH_ETA_CONST = 20. +#override AH_VEL_SCALE = 0.02 +#override SMAGORINSKY_AH = False +#override BBL_THICK_MIN = 10. +#override BBL_EFFIC = 0.01 +#override PRESSURE_DEPENDENT_FRAZIL = False +#override USE_RIGID_SEA_ICE = False +! +! update answers + +! Overrides to match results from previous MOM6 version +! See https://github.com/GEOS-ESM/MOM6/releases/tag/geos%2Fv3.2 +! and https://github.com/mom-ocean/MOM6/pull/1631#issuecomment-2252914251 + +!!#override USE_HUYNH_STENCIL_BUG = True +!!#override EPBL_ANSWER_DATE = 20231231 +!!#override TEMP_SALT_Z_INIT_FILE = "WOA05_ptemp_salt_annual.v20141007.nc" + +!! New Ocean Bathymetry (OM4) + +#override TIDEAMP_FILE = "tidal_amplitude_TPXO9_OM4p125.v20200922.nc" +#override GEOTHERMAL_FILE = "geothermal_davies2013_v1.nc" +#override CHL_FILE = "seawifs-clim-1997-2010.2880x2240.v20200921.nc" + +!! Updates for MLD !! SK + +#override FOX_KEMPER_ML_RESTRAT_COEF = 1.0 +#override MLE_FRONT_LENGTH = 500.0 +#override MLE%USE_BODNER23 = True +#override MLE%CR = 0.038 +#override MLE%BLD_DECAYING_TFILTER = 8.64E+04 +#override MLE%MLD_DECAYING_TFILTER = 2.592E+06 + + +! see https://github.com/GEOS-ESM/MOM6/issues/15 +#override MEKE_POSITIVE = True diff --git a/MOM6_GEOSPlug/mom6_app/2880x2240/MOM_saltrestore b/MOM6_GEOSPlug/mom6_app/2880x2240/MOM_saltrestore new file mode 100755 index 0000000..1f68f52 --- /dev/null +++ b/MOM6_GEOSPlug/mom6_app/2880x2240/MOM_saltrestore @@ -0,0 +1,25 @@ +! These parameters are used in CORE mode but should not be used in +! the coupled model (CM4). Why not in coupled mode?! +! this is suggested from MOM-CICE6 Community: +! https://github.com/COSIMA/access-om2/issues/158#issuecomment-950597328 +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.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_PHC2.2880x2240.v20180405.nc" ! default = "salt_restore.nc" + ! A file in which to find the surface salinity to use for restoring. +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 = 999.0 ! [PSU or g kg-1] default = 999.0 + ! The maximum salinity difference used in restoring terms. +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/MOM6_GEOSPlug/mom6_app/2880x2240/README.md b/MOM6_GEOSPlug/mom6_app/2880x2240/README.md new file mode 100644 index 0000000..f9eb2be --- /dev/null +++ b/MOM6_GEOSPlug/mom6_app/2880x2240/README.md @@ -0,0 +1 @@ +This configuration was adapted from: https://github.com/NOAA-GFDL/MOM6-examples/tree/dev/gfdl/ice_ocean_SIS2/OM4_05 diff --git a/MOM6_GEOSPlug/mom6_app/2880x2240/data_table b/MOM6_GEOSPlug/mom6_app/2880x2240/data_table new file mode 100644 index 0000000..e69de29 diff --git a/MOM6_GEOSPlug/mom6_app/2880x2240/diag_table b/MOM6_GEOSPlug/mom6_app/2880x2240/diag_table new file mode 100755 index 0000000..2e1e669 --- /dev/null +++ b/MOM6_GEOSPlug/mom6_app/2880x2240/diag_table @@ -0,0 +1,531 @@ +"Global ALE Experiment" +1900 1 1 0 0 0 +#"scalar", 1,"days",1,"days","Time", +#"layer", 1,"days",1,"days","Time", +#"prog", 0,"days",1,"days","Time", +#"prog_z", 1,"months",1,"days","Time", +#"ave_prog", 1,"days",1,"days","Time", +#"tracer", 1,"days",1,"days","Time", +#"cont", 1,"days",1,"days","Time", +##"mom", 5,"days",1,"days","Time", +##"bt_mom", 5,"days",1,"days","Time", +#"visc", 1,"days",1,"days","Time", +##"energy", 5,"days",1,"days","Time", +#"forcing", 1,"days",1,"days","Time", +#"surface", 1,"months",1,"days","Time", +"sfc_ave", 1,"days",1,"days","Time", +"ocean_daily", 1,"days",1,"days","Time", +"ocean_daily_2", 1,"days",1,"days","Time", +"ocean_daily_4D", 1,"days",1,"days","Time", +#"ocean_static", -1,"days",1,"days","time", +# +#"cmor", 1,"days",1,"days","Time", +#"cmor2", 1,"days",1,"days","Time", +#"cmor_z", 1,"days",1,"days","Time", +#"cmor_scalar", 1,"days",1,"days","Time", +#"ocean_static_cmor", -1,"days",1,"days","time", +# +##This is the field section of the diag_table. +# +## Layer-Average Diagnostics: +##=========================== +#"ocean_model","temp_layer_ave","temp_layer_ave","layer","all",.true.,"none",2 +#"ocean_model","salt_layer_ave","salt_layer_ave","layer","all",.true.,"none",2 +# +## Prognostic Ocean fields: +##========================= +# +#"ocean_model","u","u","prog","all",.false.,"none",2 +#"ocean_model","v","v","prog","all",.false.,"none",2 +#"ocean_model","h","h","prog","all",.false.,"none",1 +#"ocean_model","e","e","prog","all",.false.,"none",2 +#"ocean_model","temp","temp","prog","all",.false.,"none",2 +#"ocean_model","salt","salt","prog","all",.false.,"none",2 +##"ocean_model","Rml","Rml","prog","all",.false.,"none",2 +# +##"ocean_model","RV","RV","prog","all",.false.,"none",2 +##"ocean_model","PV","PV","prog","all",.false.,"none",2 +##"ocean_model","e_D","e_D","prog","all",.false.,"none",2 +# +#"ocean_model","u","u","ave_prog","all",.true.,"none",2 +#"ocean_model","v","v","ave_prog","all",.true.,"none",2 +#"ocean_model","h","h","ave_prog","all",.true.,"none",1 +#"ocean_model","e","e","ave_prog","all",.true.,"none",2 +##"ocean_model","temp","temp","ave_prog","all",.true.,"none",2 +##"ocean_model","salt","salt","ave_prog","all",.true.,"none",2 +##"ocean_model","Rml","Rml","ave_prog","all",.true.,"none",2 +##"ocean_model","rsdo","rsdo","ocean_daily","all",.true.,"none",2 +# +#"ocean_model","mass_wt","mass_wt","surface","all",.false.,"none",1 +#"ocean_model","opottempmint","opottempmint","surface","all",.false.,"none",1 # GFDL name: temp_int +#"ocean_model","somint","somint","surface","all",.false.,"none",1 # GFDL name: salt_int +#"ocean_model","SSH","SSH","surface","all",.false.,"none",2 +#"ocean_model","SST","SST","surface","all",.false.,"none",1 +#"ocean_model","SSS","SSS","surface","all",.false.,"none",2 +#"ocean_model","speed","speed","surface","all",.false.,"none",2 +#"ocean_model","SSU","SSU","surface","all",.false.,"none",2 +#"ocean_model","SSV","SSV","surface","all",.false.,"none",2 +# +"ocean_model","SSH","SSH","sfc_ave","all",.true.,"none",2 +"ocean_model","SST","SST","sfc_ave","all",.true.,"none",2 +"ocean_model","SSS","SSS","sfc_ave","all",.true.,"none",2 +"ocean_model","SSU","SSU","sfc_ave","all",.true.,"none",2 +"ocean_model","SSV","SSV","sfc_ave","all",.true.,"none",2 +"ocean_model","MLD_003","MLD_003","sfc_ave","all",.true.,"none",2 +# +"ocean_model","taux","taux","ocean_daily","all",.true.,"none",2 +"ocean_model","tauy","tauy","ocean_daily","all",.true.,"none",2 +"ocean_model","SW","SW","ocean_daily","all",.true.,"none",2 +"ocean_model","LW","LW","ocean_daily","all",.true.,"none",2 +"ocean_model","Rd1","Rd1","ocean_daily","all",.true.,"none",2 +"ocean_model","ustar","ustar","ocean_daily","all",.true.,"none",2 +"ocean_model","uhbt","uhbt","ocean_daily","all",.true.,"none",2 +"ocean_model","vhbt","vhbt","ocean_daily","all",.true.,"none",2 +# +"ocean_model","evap","evap","ocean_daily_2","all",.true.,"none",2 +"ocean_model","PRCmE","PRCmE","ocean_daily_2","all",.true.,"none",2 +"ocean_model","latent","latent","ocean_daily_2","all",.true.,"none",2 +"ocean_model","sensible","sensible","ocean_daily_2","all",.true.,"none",2 +"ocean_model","net_heat_coupler","net_heat_coupler","ocean_daily_2","all",.true.,"none",2 +"ocean_model","net_heat_surface","net_heat_surface","ocean_daily_2","all",.true.,"none",2 +# +"ocean_model","u","u","ocean_daily_4D","all",.true.,"none",2 +"ocean_model","v","v","ocean_daily_4D","all",.true.,"none",2 +"ocean_model","uh","uh","ocean_daily_4D","all",.true.,"none",2 +"ocean_model","vh","vh","ocean_daily_4D","all",.true.,"none",2 +"ocean_model","h","h","ocean_daily_4D","all",.true.,"none",1 +"ocean_model","e","e","ocean_daily_4D","all",.true.,"none",2 +"ocean_model","e_D","e_D","ocean_daily_4D","all",.true.,"none",2 +"ocean_model","temp","temp","ocean_daily_4D","all",.true.,"none",2 +"ocean_model","salt","salt","ocean_daily_4D","all",.true.,"none",2 +"ocean_model","RV","RV","ocean_daily_4D","all",.true.,"none",2 +"ocean_model","PV","PV","ocean_daily_4D","all",.true.,"none",2 +# +#"ocean_model","p_surf","p_surf","ocean_daily","all",.true.,"none",2 +#"ocean_model","latent","latent","ocean_daily","all",.true.,"none",2 +#"ocean_model","sensible","sensible","ocean_daily","all",.true.,"none",2 +#"ocean_model","net_heat_coupler","net_heat_coupler","ocean_daily","all",.true.,"none",2 +#"ocean_model","net_heat_surface","net_heat_surface","ocean_daily","all",.true.,"none",2 +# +## Z-space fields: +##================== +#"ocean_model_z","u","u","prog_z","all",.true.,"none",2 +#"ocean_model_z","v","v","prog_z","all",.true.,"none",2 +#"ocean_model_z","temp","temp","prog_z","all",.true.,"none",2 +#"ocean_model_z","temp_xyave","temp_xyave","prog_z","all",.true.,"none",2 +#"ocean_model_z","salt","salt","prog_z","all",.true.,"none",2 +#"ocean_model_z","thkcello","thkcello","prog_z","all",.true.,"none",2 +# +## Auxilary Tracers: +##================== +##"ocean_model","vintage","vintage","prog","all",.false.,"none",2 +##"ocean_model","agescc","agescc","prog","all",.false.,"none",2 +# +## Continuity Equation Terms: +##=========================== +##"ocean_model","dhdt","dhdt","cont","all",.true.,"none",2 +#"ocean_model","wd","wd","cont","all",.true.,"none",2 +#"ocean_model","uh","uh","cont","all",.true.,"none",2 +#"ocean_model","vh","vh","cont","all",.true.,"none",2 +##"ocean_model","uhGM","uhGM","cont","all",.true.,"none",2 +##"ocean_model","vhGM","vhGM","cont","all",.true.,"none",2 +##"ocean_model","uhbt","uhbt","cont","all",.true.,"none",2 +##"ocean_model","vhbt","vhbt","cont","all",.true.,"none",2 +#"ocean_model","h_rho","h_rho","cont","all",.true.,"none",2 +#"ocean_model","uh_rho","uh_rho","cont","all",.true.,"none",2 +#"ocean_model","vh_rho","vh_rho","cont","all",.true.,"none",2 +#"ocean_model","uhGM_rho","uhGM_rho","cont","all",.true.,"none",2 +#"ocean_model","vhGM_rho","vhGM_rho","cont","all",.true.,"none",2 +#"ocean_model","KHth_u","KHth_u","cont","all",.true.,"none",2 +#"ocean_model","KHth_v","KHth_v","cont","all",.true.,"none",2 +#"ocean_model","diftrblo","diftrblo","cont","all",.true.,"none",2 +#"ocean_model","diftrelo","difteblo","cont","all",.true.,"none",2 +#"ocean_model","KHTR_u","KHTR_u","cont","all",.true.,"none",2 +#"ocean_model","KHTR_v","KHTR_v","cont","all",.true.,"none",2 +#"ocean_model","GMwork","GMwork","cont","all",.true.,"none",2 +#"ocean_model","umo","umo","cont","all",.true.,"none",2 +#"ocean_model","vmo","vmo","cont","all",.true.,"none",2 +#"ocean_model","umo_2d","umo_2d","cont","all",.true.,"none",2 +#"ocean_model","vmo_2d","vmo_2d","cont","all",.true.,"none",2 +# +## Continuity Equation Terms In Pure Potential Density Coordiantes: +##================================================================= +##"ocean_model","h_rho","h_rho","cont","all",.true.,"none",2 +##"ocean_model","uh_rho","uh_rho","cont","all",.true.,"none",2 +##"ocean_model","vh_rho","vh_rho","cont","all",.true.,"none",2 +##"ocean_model","uhGM_rho","uhGM_rho","cont","all",.true.,"none",2 +##"ocean_model","vhGM_rho","vhGM_rho","cont","all",.true.,"none",2 +# +## +## Tracer Fluxes: +##================== +#"ocean_model","T_adx", "T_adx", "tracer","all",.true.,"none",2 +#"ocean_model","T_ady", "T_ady", "tracer","all",.true.,"none",2 +#"ocean_model","T_diffx","T_diffx","tracer","all",.true.,"none",2 +#"ocean_model","T_diffy","T_diffy","tracer","all",.true.,"none",2 +#"ocean_model","S_adx", "S_adx", "tracer","all",.true.,"none",2 +#"ocean_model","S_ady", "S_ady", "tracer","all",.true.,"none",2 +#"ocean_model","S_diffx","S_diffx","tracer","all",.true.,"none",2 +#"ocean_model","S_diffy","S_diffy","tracer","all",.true.,"none",2 +# +## T/S net tendency, lateral advection, and vertical remapping budget terms +##================== +## hfds-hfsifrazil = boundary_forcing_heat_tendency_2d +##"ocean_model","rsdoabsorb" ,"rsdoabsorb", "tracer","all",.true.,"none",2 +##"ocean_model","boundary_forcing_temp_tendency" ,"boundary_forcing_temp_tendency", "tracer","all",.true.,"none",2 +##"ocean_model","boundary_forcing_saln_tendency" ,"boundary_forcing_saln_tendency", "tracer","all",.true.,"none",2 +##"ocean_model","boundary_forcing_heat_tendency" ,"boundary_forcing_heat_tendency", "tracer","all",.true.,"none",2 +##"ocean_model","boundary_forcing_salt_tendency" ,"boundary_forcing_salt_tendency", "tracer","all",.true.,"none",2 +##"ocean_model","boundary_forcing_heat_tendency_2d" ,"boundary_forcing_heat_tendency_2d", "tracer","all",.true.,"none",2 +##"ocean_model","boundary_forcing_salt_tendency_2d" ,"boundary_forcing_salt_tendency_2d", "tracer","all",.true.,"none",2 +# +## opottemptend_2d = T_advection_xy_2d + hfds + hfgeo + opottemppmdiff_2d +## note: Th_tendency_vert_remap_2d = 0 +#"ocean_model","T_tendency" ,"T_tendency", "tracer","all",.true.,"none",2 +#"ocean_model","S_tendency" ,"S_tendency", "tracer","all",.true.,"none",2 +#"ocean_model","opottemptend" ,"opottemptend", "tracer","all",.true.,"none",2 +#"ocean_model","osalttend" ,"osalttend", "tracer","all",.true.,"none",2 +#"ocean_model","opottemptend_2d" ,"opottemptend_2d", "tracer","all",.true.,"none",2 +#"ocean_model","osalttend_2d" ,"osalttend_2d", "tracer","all",.true.,"none",2 +#"ocean_model","T_advection_xy" ,"T_advection_xy", "tracer","all",.true.,"none",2 +#"ocean_model","S_advection_xy" ,"S_advection_xy", "tracer","all",.true.,"none",2 +#"ocean_model","T_advection_xy_2d" ,"T_advection_xy_2d", "tracer","all",.true.,"none",2 +#"ocean_model","S_advection_xy_2d" ,"S_advection_xy_2d", "tracer","all",.true.,"none",2 +##"ocean_model","T_tendency_vert_remap","T_tendency_vert_remap", "tracer","all",.true.,"none",2 +##"ocean_model","S_tendency_vert_remap","S_tendency_vert_remap", "tracer","all",.true.,"none",2 +##"ocean_model","Th_tendency_vert_remap","Th_tendency_vert_remap", "tracer","all",.true.,"none",2 +##"ocean_model","Sh_tendency_vert_remap","Sh_tendency_vert_remap", "tracer","all",.true.,"none",2 +##"ocean_model","Th_tendency_vert_remap_2d","Th_tendency_vert_remap_2d", "tracer","all",.true.,"none",2 +##"ocean_model","Sh_tendency_vert_remap_2d","Sh_tendency_vert_remap_2d", "tracer","all",.true.,"none",2 +#"ocean_model","frazil_heat_tendency","frazil_heat_tendency", "tracer","all",.true.,"none",2 +#"ocean_model","frazil_heat_tendency_2d","frazil_heat_tendency_2d", "tracer","all",.true.,"none",2 +#"ocean_model","frazil_temp_tendency","frazil_temp_tendency", "tracer","all",.true.,"none",2 +# +## neutral diffusion tendencies for T and S +##================== +##"ocean_model","opottemppmdiff","opottemppmdiff", "tracer","all",.true.,"none",2 +##"ocean_model","osaltpmdiff","osaltpmdiff", "tracer","all",.true.,"none",2 +##"ocean_model","opottemppmdiff_2d","opottemppmdiff_2d", "tracer","all",.true.,"none",2 +##"ocean_model","osaltpmdiff_2d","osaltpmdiff_2d", "tracer","all",.true.,"none",2 +##"ocean_model","ndiff_tracer_conc_tendency_T","ndiff_tracer_conc_tendency_T","tracer","all",.true.,"none",2 +##"ocean_model","ndiff_tracer_conc_tendency_S","ndiff_tracer_conc_tendency_S","tracer","all",.true.,"none",2 +# +## diabatic diffusion tendencies for T and S +## note: opottempdiff_2d = 0 +##================== +##"ocean_model","opottempdiff" ,"opottempdiff", "tracer","all",.true.,"none",2 +##"ocean_model","osaltdiff" ,"osaltdiff", "tracer","all",.true.,"none",2 +##"ocean_model","opottempdiff_2d" ,"opottempdiff_2d", "tracer","all",.true.,"none",2 +##"ocean_model","osaltdiff_2d" ,"osaltdiff_2d", "tracer","all",.true.,"none",2 +##"ocean_model","diabatic_diff_temp_tendency","diabatic_diff_temp_tendency","tracer","all",.true.,"none",2 +##"ocean_model","diabatic_diff_saln_tendency","diabatic_diff_saln_tendency","tracer","all",.true.,"none",2 +# +# +# +## Momentum Balance Terms: +##======================= +##"ocean_model","dudt","dudt","mom","all",.true.,"none",2 +##"ocean_model","dvdt","dvdt","mom","all",.true.,"none",2 +##"ocean_model","CAu","CAu","mom","all",.true.,"none",2 +##"ocean_model","CAv","CAv","mom","all",.true.,"none",2 +##"ocean_model","PFu","PFu","mom","all",.true.,"none",2 +##"ocean_model","PFv","PFv","mom","all",.true.,"none",2 +##"ocean_model","du_dt_visc","du_dt_visc","mom","all",.true.,"none",2 +##"ocean_model","dv_dt_visc","dv_dt_visc","mom","all",.true.,"none",2 +##"ocean_model","diffu","diffu","mom","all",.true.,"none",2 +##"ocean_model","diffv","diffv","mom","all",.true.,"none",2 +##"ocean_model","dudt_dia","dudt_dia","mom","all",.true.,"none",2 +##"ocean_model","dvdt_dia","dvdt_dia","mom","all",.true.,"none",2 +## Subterms that should not be added to a closed budget. +##"ocean_model","gKEu","gKEu","mom","all",.true.,"none",2 +##"ocean_model","gKEv","gKEv","mom","all",.true.,"none",2 +##"ocean_model","rvxu","rvxu","mom","all",.true.,"none",2 +##"ocean_model","rvxv","rvxv","mom","all",.true.,"none",2 +##"ocean_model","PFu_bc","PFu_bc","mom","all",.true.,"none",2 +##"ocean_model","PFv_bc","PFv_bc","mom","all",.true.,"none",2 +# +## Barotropic Momentum Balance Terms: +## (only available with split time stepping.) +##=========================================== +##"ocean_model","PFuBT","PFuBT","bt_mom","all",.true.,"none",2 +##"ocean_model","PFvBT","PFvBT","bt_mom","all",.true.,"none",2 +##"ocean_model","CoruBT","CoruBT","bt_mom","all",.true.,"none",2 +##"ocean_model","CorvBT","CorvBT","bt_mom","all",.true.,"none",2 +##"ocean_model","NluBT","NluBT","bt_mom","all",.true.,"none",2 +##"ocean_model","NlvBT","NlvBT","bt_mom","all",.true.,"none",2 +##"ocean_model","ubtforce","ubtforce","bt_mom","all",.true.,"none",2 +##"ocean_model","vbtforce","vbtforce","bt_mom","all",.true.,"none",2 +##"ocean_model","u_accel_bt","u_accel_bt","bt_mom","all",.true.,"none",2 +##"ocean_model","v_accel_bt","v_accel_bt","bt_mom","all",.true.,"none",2 +## +## Viscosities and diffusivities: +##=============================== +#"ocean_model","Kd_interface","Kd_interface","visc","all",.true.,"none",2 +#"ocean_model","Kd_layer","Kd_layer","visc","all",.true.,"none",2 +#"ocean_model","Kd_effective","Kd_effective","visc","all",.true.,"none",2 +#"ocean_model","Kd_itides","Kd_itides","visc","all",.true.,"none",2 +#"ocean_model","Kd_shear","Kd_shear","visc","all",.true.,"none",2 +#"ocean_model","Kd_BBL","Kd_BBL","visc","all",.true.,"none",2 +##"ocean_model","Ahh","Ahh","visc","all",.true.,"none",2 +##"ocean_model","Ahq","Ahq","visc","all",.true.,"none",2 +##"ocean_model","Khh","Khh","visc","all",.true.,"none",2 +##"ocean_model","Khq","Khq","visc","all",.true.,"none",2 +##"ocean_model","bbl_thick_u","bbl_thick_u","visc","all",.true.,"none",2 +##"ocean_model","kv_bbl_u","kv_bbl_u","visc","all",.true.,"none",2 +##"ocean_model","bbl_thick_v","bbl_thick_v","visc","all",.true.,"none",2 +##"ocean_model","kv_bbl_v","kv_bbl_v","visc","all",.true.,"none",2 +##"ocean_model","av_visc","av_visc","visc","all",.true.,"none",2 +##"ocean_model","au_visc","au_visc","visc","all",.true.,"none",2 +##"ocean_model","FrictWork","FrictWork","visc","all",.true.,"none",2 +#"ocean_model","MLD_003","MLD_003","visc","all",.true.,"none",2 +#"ocean_model","subML_N2","subML_N2","visc","all",.true.,"none",2 +#"ocean_model","MEKE","MEKE","visc","all",.true.,"none",2 +#"ocean_model","MEKE_KH","MEKE_KH","visc","all",.true.,"none",2 +#"ocean_model","SN_u","SN_u","visc","all",.true.,"none",2 +# +## +## Kinetic Energy Balance Terms: +##============================= +##"ocean_model","KE","KE","energy","all",.true.,"none",2 +##"ocean_model","dKE_dt","dKE_dt","energy","all",.true.,"none",2 +##"ocean_model","PE_to_KE","PE_to_KE","energy","all",.true.,"none",2 +##"ocean_model","KE_Coradv","KE_Coradv","energy","all",.true.,"none",2 +##"ocean_model","KE_adv","KE_adv","energy","all",.true.,"none",2 +##"ocean_model","KE_visc","KE_visc","energy","all",.true.,"none",2 +##"ocean_model","KE_horvisc","KE_horvisc","energy","all",.true.,"none",2 +##"ocean_model","KE_dia","KE_dia","energy","all",.true.,"none",2 +# +## Surface Forcing: +##================= +#"ocean_model","taux","taux", "forcing","all",.true.,"none",2 +#"ocean_model","tauy","tauy", "forcing","all",.true.,"none",2 +#"ocean_model","ustar","ustar", "forcing","all",.true.,"none",2 +#"ocean_model","p_surf","p_surf", "forcing","all",.true.,"none",2 +## +#"ocean_model","PRCmE","PRCmE", "forcing","all",.true.,"none",1 +#"ocean_model","net_massin","net_massin", "forcing","all",.true.,"none",1 +#"ocean_model","net_massout","net_massout", "forcing","all",.true.,"none",1 +#"ocean_model","lrunoff","lrunoff", "forcing","all",.true.,"none",1 +#"ocean_model","frunoff","frunoff", "forcing","all",.true.,"none",1 +#"ocean_model","lprec","lprec", "forcing","all",.true.,"none",1 +#"ocean_model","fprec","fprec", "forcing","all",.true.,"none",1 +#"ocean_model","vprec","vprec", "forcing","all",.true.,"none",1 +#"ocean_model","evap","evap", "forcing","all",.true.,"none",1 +## +#"ocean_model","net_heat_coupler","net_heat_coupler", "forcing","all",.true.,"none",1 +#"ocean_model","net_heat_surface","net_heat_surface", "forcing","all",.true.,"none",1 +#"ocean_model","SW","SW", "forcing","all",.true.,"none",1 +#"ocean_model","LW","LW", "forcing","all",.true.,"none",1 +#"ocean_model","LwLatSens","LwLatSens", "forcing","all",.true.,"none",1 +#"ocean_model","salt_flux","salt_flux", "forcing","all",.true.,"none",1 +#"ocean_model","Heat_PmE","Heat_PmE", "forcing","all",.true.,"none",1 +#"ocean_model","frazil","frazil", "forcing","all",.true.,"none",1 +#"ocean_model","internal_heat","internal_heat", "forcing","all",.true.,"none",1 +#"ocean_model","heat_added","heat_added", "forcing","all",.true.,"none",1 +## +#"ocean_model","heat_content_cond","heat_content_cond", "forcing","all",.true.,"none",1 +#"ocean_model","heat_content_lprec","heat_content_lprec", "forcing","all",.true.,"none",1 +#"ocean_model","heat_content_fprec","heat_content_fprec", "forcing","all",.true.,"none",1 +#"ocean_model","heat_content_vprec","heat_content_vprec", "forcing","all",.true.,"none",1 +#"ocean_model","heat_content_lrunoff","heat_content_lrunoff", "forcing","all",.true.,"none",1 +#"ocean_model","heat_content_frunoff","heat_content_frunoff", "forcing","all",.true.,"none",1 +#"ocean_model","heat_content_surfwater","heat_content_surfwater","forcing","all",.true.,"none",1 +#"ocean_model","heat_content_massout","heat_content_massout", "forcing","all",.true.,"none",1 +#"ocean_model","heat_content_massin","heat_content_massin", "forcing","all",.true.,"none",1 +## +#"ocean_model","total_prcme","total_prcme", "forcing","all",.true.,"none",2 +#"ocean_model","total_evap","total_evap", "forcing","all",.true.,"none",2 +#"ocean_model","total_lprec","total_lprec", "forcing","all",.true.,"none",2 +#"ocean_model","total_fprec","total_fprec", "forcing","all",.true.,"none",2 +#"ocean_model","total_vprec","total_vprec", "forcing","all",.true.,"none",2 +#"ocean_model","total_precip","total_precip", "forcing","all",.true.,"none",2 +#"ocean_model","total_lrunoff","total_lrunoff", "forcing","all",.true.,"none",2 +#"ocean_model","total_frunoff","total_frunoff", "forcing","all",.true.,"none",2 +#"ocean_model","total_net_massin","total_net_massin" , "forcing","all",.true.,"none",2 +#"ocean_model","total_net_massout","total_net_massout", "forcing","all",.true.,"none",2 +## +#"ocean_model","total_heat_content_frunoff" ,"total_heat_content_frunoff", "forcing","all",.true.,"none",2 +#"ocean_model","total_heat_content_lrunoff" ,"total_heat_content_lrunoff", "forcing","all",.true.,"none",2 +#"ocean_model","total_heat_content_lprec" ,"total_heat_content_lprec", "forcing","all",.true.,"none",2 +#"ocean_model","total_heat_content_fprec" ,"total_heat_content_fprec", "forcing","all",.true.,"none",2 +#"ocean_model","total_heat_content_vprec" ,"total_heat_content_vprec", "forcing","all",.true.,"none",2 +#"ocean_model","total_heat_content_cond" ,"total_heat_content_cond", "forcing","all",.true.,"none",2 +#"ocean_model","total_heat_content_surfwater" ,"total_heat_content_surfwater", "forcing","all",.true.,"none",2 +#"ocean_model","total_heat_content_massin" ,"total_heat_content_massin", "forcing","all",.true.,"none",2 +#"ocean_model","total_heat_content_massout" ,"total_heat_content_massout", "forcing","all",.true.,"none",2 +#"ocean_model","total_net_heat_coupler" ,"total_net_heat_coupler", "forcing","all",.true.,"none",2 +#"ocean_model","total_net_heat_surface" ,"total_net_heat_surface", "forcing","all",.true.,"none",2 +#"ocean_model","total_sw" ,"total_sw", "forcing","all",.true.,"none",2 +#"ocean_model","total_LwLatSens" ,"total_LwLatSens", "forcing","all",.true.,"none",2 +#"ocean_model","total_lw" ,"total_lw", "forcing","all",.true.,"none",2 +#"ocean_model","total_lat" ,"total_lat", "forcing","all",.true.,"none",2 +#"ocean_model","total_lat_evap" ,"total_lat_evap", "forcing","all",.true.,"none",2 +#"ocean_model","total_lat_fprec" ,"total_lat_fprec", "forcing","all",.true.,"none",2 +#"ocean_model","total_lat_frunoff" ,"total_lat_frunoff", "forcing","all",.true.,"none",2 +#"ocean_model","total_sens" ,"total_sens", "forcing","all",.true.,"none",2 +##"ocean_model","total_heat_added" ,"total_heat_added", "forcing","all",.true.,"none",2 +#"ocean_model","total_salt_flux" ,"total_salt_flux", "forcing","all",.true.,"none",2 +#"ocean_model","total_salt_flux_in" ,"total_salt_flux_in", "forcing","all",.true.,"none",2 +##"ocean_model","total_salt_flux_added" ,"total_salt_flux_added", "forcing","all",.true.,"none",2 +## +## +# "ocean_model", "hfgeou", "hfgeou", "cmor2", "all", "none", "none",2 # geothermal heat flux +# "ocean_model", "hfrainds", "hfrainds", "cmor2", "all", "mean", "none",2 +# "ocean_model", "hfevapds", "hfevapds", "cmor2", "all", "mean", "none",2 +# "ocean_model", "hfrunoffds", "hfrunoffds", "cmor2", "all", "mean", "none",2 +# "ocean_model", "hfsnthermds", "hfsnthermds", "cmor2", "all", "mean", "none",2 +# "ocean_model", "hfsifrazil", "hfsifrazil", "cmor2", "all", "mean", "none",2 +##"ocean_model", "hfsithermds", "hfsithermds", "cmor2", "all", "mean", "none",2 # computed in SIS2 +# "ocean_model", "hfibthermds", "hfibthermds", "cmor2", "all", "mean", "none",2 +##"ocean_model", "hfsolidrunoffds", "hfsolidrunoffds", "cmor2", "all", "mean", "none",2 # =0 if ice = 0C +# "ocean_model", "rlntds", "rlntds", "cmor2", "all", "mean", "none",2 +# "ocean_model", "hflso", "hflso", "cmor2", "all", "mean", "none",2 +# "ocean_model", "hfsso", "hfsso", "cmor2", "all", "mean", "none",2 +# "ocean_model", "rsntds", "rsntds" "cmor2", "all", "mean", "none",2 +##"ocean_model", "rsdoabsorb", "rsdoabsorb" "cmor2", "all", "mean", "none",2 +##"ocean_model", "rsdo", "rsdo" "cmor2", "all", "mean", "none",2 +# "ocean_model", "hfds", "hfds" "cmor2", "all", "mean", "none",2 +## +## +## Fields for CMIP6 (CMOR Names): +##======================================= +#"ocean_model","pso","pso" ,"cmor","all",.true.,"none",2 # GFDL Name: p_surf +#"ocean_model","tauuo","tauuo" ,"cmor","all",.true.,"none",2 # surface i-stress +#"ocean_model","tauvo","tauvo" ,"cmor","all",.true.,"none",2 # surface j-stress +#"ocean_model","wfo","wfo" ,"cmor","all",.true.,"none",2 # GFDL Name: PRCmE +#"ocean_model","rsntds","rsntds" ,"cmor","all",.true.,"none",2 # GFDL Name: SW +#"ocean_model","rlntds","rlntds" ,"cmor","all",.true.,"none",2 # GFDL Name: SW +#"ocean_model","hfibthermds","hfibthermds" ,"cmor","all",.true.,"none",2 # GFDL Name: heat_content_frunoff +#"ocean_model","hfrunoffds","hfrunoffds" ,"cmor","all",.true.,"none",2 # GFDL Name: runoff_heat_content +#"ocean_model","hfsifrazil","hfsifrazil" ,"cmor","all",.true.,"none",2 # GFDL Name: frazil +#"ocean_model","evs","evs" ,"cmor","all",.true.,"none",2 # GFDL Name: evap +#"ocean_model","prlq","prlq" ,"cmor","all",.true.,"none",2 # GFDL Name: fprec +#"ocean_model","prsn","prsn" ,"cmor","all",.true.,"none",2 # GFDL Name: fprec +#"ocean_model","hflso","hflso" ,"cmor","all",.true.,"none",2 # GFDL Name: latent +#"ocean_model","friver","friver" ,"cmor","all",.true.,"none",2 # GFDL Name: lrunoff +##"ocean_model","rlds","rlds" ,"cmor","all",.true.,"none",2 # GFDL Name: LW +##"ocean_model","hfss","hfss" ,"cmor","all",.true.,"none",2 # GFDL Name: sensible +#"ocean_model","hfds","hfds" ,"cmor","all",.true.,"none",2 # GFDL Name: net_heat_surface +#"ocean_model","sfdsi","sfdsi" ,"cmor","all",.true.,"none",2 # GFDL Name: salt_flux +#"ocean_model","uo","uo" ,"cmor","all",.true.,"none",2 # GFDL Name: u +#"ocean_model","vo","vo" ,"cmor","all",.true.,"none",2 # GFDL Name: v +#"ocean_model","so","so" ,"cmor","all",.true.,"none",2 # GFDL Name: salinity +#"ocean_model","masscello","masscello" ,"cmor","all",.true.,"none",2 # mass of ocean cells +#"ocean_model","pbo","pbo" ,"cmor","all",.true.,"none",2 # GFDL Name: n/a +#"ocean_model","mlotst","mlotst" ,"cmor","all",.true.,"none",2 # GFDL Name: MLD_003 +#"ocean_model","mlotstsq","mlotstsq" ,"cmor","all",.true.,"none",2 # GFDL Name: n/a +#"ocean_model","zos","zos" ,"cmor","all",.true.,"none",2 # dynamic sealevel +#"ocean_model","zossq","zossq" ,"cmor","all",.true.,"none",2 # squared zos +#"ocean_model","hfgeou","hfgeou" ,"cmor","all",.false.,"none",2 # GFDL name: geo_heat +#"ocean_model","thkcello","thkcello" ,"cmor","all",.true.,"none",2 # GFDL name: h if Bouss +#"ocean_model","opottempmint","opottempmint" ,"cmor","all",.true.,"none",2 # GFDL name: temp_int +#"ocean_model","somint","somint" ,"cmor","all",.true.,"none",2 # GFDL name: salt_int +#"ocean_model","obvfsq","obvfsq" ,"cmor","all",.true.,"none",2 # GFDL name: N2 +#"ocean_model","difvho","difvho" ,"cmor","all",.true.,"none",2 # GFDL name: N2 +#"ocean_model","difvso","difvso" ,"cmor","all",.true.,"none",2 # GFDL name: N2 +#"ocean_model","difmxylo","difmxylo" ,"cmor","all",.true.,"none",2 # GFDL name: N2 +#"ocean_model","difmxybo","difmxybo" ,"cmor","all",.true.,"none",2 # GFDL name: N2 +#"ocean_model","dispkexyfo","dispkexyfo" ,"cmor","all",.true.,"none",2 # GFDL name: N2 +## +## +## Z-Space Fields Provided for CMIP6 (CMOR Names): +##=============================================== +#"ocean_model_z","uo", "uo", "cmor_z","all",.true.,"none",2 #GFDL Name: u_z +#"ocean_model_z","vo", "vo", "cmor_z","all",.true.,"none",2 #GFDL Name: v_z +#"ocean_model_z","so", "so", "cmor_z","all",.true.,"none",2 #GFDL Name: salt_z +#"ocean_model_z","thetao","thetao","cmor_z","all",.true.,"none",2 #GFDL Name: temp_z +#"ocean_model_z","umo", "umo", "cmor_z","all",.true.,"none",2 #GFDL Name: uh_z +#"ocean_model_z","vmo", "vmo", "cmor_z","all",.true.,"none",2 #GFDL Name: vh_z +## +## Scalar ocean fields for CMIP6 (CMOR Names): +##===================== +#"ocean_model", "masso", "masso", "cmor_scalar", "all", .true., "none",2 # global mean masscello +#"ocean_model", "thetaoga", "thetaoga", "cmor_scalar", "all", .true., "none",2 # global mean theta +#"ocean_model", "soga", "soga", "cmor_scalar", "all", .true., "none",2 # global mean saln +#"ocean_model", "tosga", "tosga", "cmor_scalar", "all", .true., "none",2 # area mean SST +#"ocean_model", "sosga", "sosga", "cmor_scalar", "all", .true., "none",2 # area mean SSS +#"ocean_model", "volo", "volo", "cmor_scalar", "all", .true., "none",2 # ocean volume +# +## Scalar fields for run-time monitoring: +##======================================= +#"ocean_model", "masso", "masso", "scalar", "all", .true., "none",2 # global mean masscello +#"ocean_model", "thetaoga", "thetaoga", "scalar", "all", .true., "none",2 # global mean theta +#"ocean_model", "soga", "soga", "scalar", "all", .true., "none",2 # global mean salinity +#"ocean_model", "tosga", "tosga", "scalar", "all", .true., "none",2 # area mean SST +#"ocean_model", "sosga", "sosga", "scalar", "all", .true., "none",2 # area mean SSS +#"ocean_model", "volo", "volo", "scalar", "all", .true., "none",2 # ocean volume +#"ocean_model", "ssh_ga", "ssh_ga", "scalar", "all", .true., "none",2 # global mean ssh +#"ocean_model", "prcme_ga", "prcme_ga", "scalar", "all", .true., "none",2 # global mean prcme +#"ocean_model", "precip_ga", "precip_ga", "scalar", "all", .true., "none",2 # global mean precip +#"ocean_model", "evap_ga", "evap_ga", "scalar", "all", .true., "none",2 # global mean evaporation +#"ocean_model", "net_heat_coupler_ga", "net_heat_coupler_ga", "scalar", "all", .true., "none",2 # global mean net heat coupler +#"ocean_model", "net_heat_surface_ga", "net_heat_surface_ga", "scalar", "all", .true., "none",2 # global mean net heat surface +#"ocean_model", "sens_ga", "sens_ga", "scalar", "all", .true., "none",2 # global mean sensible heat +#"ocean_model", "LwLatSens_ga", "LwLatSens_ga", "scalar", "all", .true., "none",2 # global mean LW + latent + sensible +#"ocean_model", "sw_ga", "sw_ga", "scalar", "all", .true., "none",2 # global mean SW +#"ocean_model", "lw_ga", "lw_ga", "scalar", "all", .true., "none",2 # global mean LW +#"ocean_model", "lat_ga", "lat_ga", "scalar", "all", .true., "none",2 # global mean latent +# +## Static ocean fields: +##===================== +#"ocean_model", "geolon", "geolon", "ocean_static", "all", .false., "none", 1 +#"ocean_model", "geolat", "geolat", "ocean_static", "all", .false., "none", 1 +#"ocean_model", "geolon_c", "geolon_c", "ocean_static", "all", .false., "none", 2 +#"ocean_model", "geolat_c", "geolat_c", "ocean_static", "all", .false., "none", 2 +#"ocean_model", "geolon_u", "geolon_u", "ocean_static", "all", .false., "none", 2 +#"ocean_model", "geolat_u", "geolat_u", "ocean_static", "all", .false., "none", 2 +#"ocean_model", "geolon_v", "geolon_v", "ocean_static", "all", .false., "none", 2 +#"ocean_model", "geolat_v", "geolat_v", "ocean_static", "all", .false., "none", 2 +#"ocean_model", "area_t", "area_t", "ocean_static", "all", .false., "none", 1 +#"ocean_model", "depth_ocean", "depth_ocean", "ocean_static", "all", .false., "none", 2 +#"ocean_model", "wet", "wet", "ocean_static", "all", .false., "none", 1 +#"ocean_model", "wet_c", "wet_c", "ocean_static", "all", .false., "none", 2 +#"ocean_model", "wet_u", "wet_u", "ocean_static", "all", .false., "none", 2 +#"ocean_model", "wet_v", "wet_v", "ocean_static", "all", .false., "none", 2 +#"ocean_model", "Coriolis", "Coriolis", "ocean_static", "all", .false., "none", 2 +#"ocean_model", "dxt", "dxt", "ocean_static", "all", .false., "none", 2 +#"ocean_model", "dyt", "dyt", "ocean_static", "all", .false., "none", 2 +#"ocean_model", "dxCu", "dxCu", "ocean_static", "all", .false., "none", 2 +#"ocean_model", "dyCu", "dyCu", "ocean_static", "all", .false., "none", 2 +#"ocean_model", "dxCv", "dxCv", "ocean_static", "all", .false., "none", 2 +#"ocean_model", "dyCv", "dyCv", "ocean_static", "all", .false., "none", 2 + +# +## Static ocean fields: +##===================== +#"ocean_model", "areacello", "areacello", "ocean_static_cmor", "all", .false., "none", 2 + +#============================================================================================= +# +#====> This file can be used with diag_manager/v2.0a (or higher) <==== +# +# +# FORMATS FOR FILE ENTRIES (not all input values are used) +# ------------------------ +# +#"file_name", output_freq, "output_units", format, "time_units", "time_long_name", ... +# (opt) new_file_frequecy, (opt) "new_file_freq_units", "new_file_start_date" +# +# +#output_freq: > 0 output frequency in "output_units" +# = 0 output frequency every time step +# =-1 output frequency at end of run +# +#output_units = units used for output frequency +# (years, months, days, minutes, hours, seconds) +# +#time_units = units used to label the time axis +# (days, minutes, hours, seconds) +# +# +# FORMAT FOR FIELD ENTRIES (not all input values are used) +# ------------------------ +# +#"module_name", "field_name", "output_name", "file_name" "time_sampling", time_avg, "other_opts", packing +# +#time_avg = .true. or .false. +# +#packing = 1 double precision +# = 2 float +# = 4 packed 16-bit integers +# = 8 packed 1-byte (not tested?) diff --git a/MOM6_GEOSPlug/mom6_app/2880x2240/input.nml b/MOM6_GEOSPlug/mom6_app/2880x2240/input.nml new file mode 100755 index 0000000..6521406 --- /dev/null +++ b/MOM6_GEOSPlug/mom6_app/2880x2240/input.nml @@ -0,0 +1,11 @@ + &MOM_input_nml + output_directory = './', + input_filename = 'r' + restart_input_dir = 'INPUT/', + restart_output_dir = 'RESTART/', + parameter_filename = 'MOM_input', + 'MOM_override' / + + &diag_manager_nml + / + diff --git a/MOM6_GEOSPlug/mom6_app/720x576/MOM_input b/MOM6_GEOSPlug/mom6_app/720x576/MOM_input new file mode 100755 index 0000000..04e5762 --- /dev/null +++ b/MOM6_GEOSPlug/mom6_app/720x576/MOM_input @@ -0,0 +1,807 @@ +! 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. + +! 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 = 720 ! + ! 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 = 576 ! + ! 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. +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 = "" ! 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 = "file" ! + ! 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. +COORD_FILE = "layer_coord.nc" ! + ! The file from which the coordinate densities are read. +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 = "WOA18_decav_TPOTS_monthly_fulldepth_01.nc" ! 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. +Z_INIT_FILE_PTEMP_VAR = "ptemp" ! default = "ptemp" + ! The name of the potential temperature variable in TEMP_Z_INIT_FILE. +Z_INIT_FILE_SALT_VAR = "salt" ! 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 = "FILE:diag_rho2.nc,interfaces=rho2" ! 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. +INTERNAL_WAVE_SPEED_BETTER_EST = False ! [Boolean] default = False + ! If true, use a more robust estimate of the first mode wave speed as the + ! starting point for iterations. + +! === 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. +USE_GM_WORK_BUG = True ! [Boolean] default = True + ! If true, compute the top-layer work tendency on the u-grid with the incorrect + ! sign, for legacy reproducibility. + +! === 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. +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.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.720x576.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. +EPBL_MLD_BISECTION = True ! [Boolean] default = True + ! 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. +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/MOM6_GEOSPlug/mom6_app/720x576/MOM_override b/MOM6_GEOSPlug/mom6_app/720x576/MOM_override new file mode 100755 index 0000000..df1c3de --- /dev/null +++ b/MOM6_GEOSPlug/mom6_app/720x576/MOM_override @@ -0,0 +1,81 @@ +! Blank file in which we can put "overrides" for parameters + +LAYOUT = 24, 24 +#override DT = 450 +#override DT_THERM = 450 +HFREEZE = 2.0 + +! Disable checksums +RESTART_CHECKSUMS_REQUIRED = False + +!VERBOSITY = 9 +!DEBUG = True +!REPORT_UNUSED_PARAMS = True + +#override NUM_DIAG_COORDS = 1 +#override DIAG_COORDS = "z Z ZSTAR" +#override DIAG_COORD_DEF_Z = "WOA09" + +! Use (known) bug fixes. +#override USE_GM_WORK_BUG = False +#override BT_USE_OLD_CORIOLIS_BRACKET_BUG = False +#override KAPPA_SHEAR_ITER_BUG = False +#override KAPPA_SHEAR_ALL_LAYER_TKE_BUG = False +#override FIX_USTAR_GUSTLESS_BUG = True +#override REMAP_UV_USING_OLD_ALG = False + +! For SOCA +#override VERTEX_SHEAR = True + +! Known improvements +#override INTERNAL_WAVE_SPEED_BETTER_EST = True +#override REMAP_AUXILIARY_VARS = True + +! Thermo_spans_coupling should be set to False +#override THERMO_SPANS_COUPLING = False + +! Following improved ocean-ice simulations +#override CORIOLIS_SCHEME = SADOURNY75_ENERGY +#override BOUNDARY_EXTRAPOLATION = False +#override EPBL_MSTAR_SCHEME = "REICHL_H18" +#override EPBL_MLD_BISECTION = False +#override APPLY_INTERFACE_FILTER = True +#override THICKNESSDIFFUSE = False +#override KH_VEL_SCALE = 0.00286 +#override HTBL_SHELF_MIN = 10. +#override KH_ETA_CONST = 20. +#override AH_VEL_SCALE = 0.02 +#override SMAGORINSKY_AH = False +#override BBL_THICK_MIN = 10. +#override BBL_EFFIC = 0.01 +#override PRESSURE_DEPENDENT_FRAZIL = False +#override USE_RIGID_SEA_ICE = False +! +! update answers + +! Overrides to match results from previous MOM6 version +! See https://github.com/GEOS-ESM/MOM6/releases/tag/geos%2Fv3.2 +! and https://github.com/mom-ocean/MOM6/pull/1631#issuecomment-2252914251 + +!!#override USE_HUYNH_STENCIL_BUG = True +!!#override EPBL_ANSWER_DATE = 20231231 +!!#override TEMP_SALT_Z_INIT_FILE = "WOA05_ptemp_salt_annual.v20141007.nc" + +!! New Ocean Bathymetry (OM4) + +#override TIDEAMP_FILE = "tidal_amplitude.nc" +#override GEOTHERMAL_FILE = "geothermal_davies2013_v1.nc" +#override CHL_FILE = "seawifs-clim-1997-2010.720x576.v20180328.nc" + +!! Updates for MLD !! SK + +#override FOX_KEMPER_ML_RESTRAT_COEF = 1.0 +#override MLE_FRONT_LENGTH = 500.0 +#override MLE%USE_BODNER23 = True +#override MLE%CR = 0.038 +#override MLE%BLD_DECAYING_TFILTER = 8.64E+04 +#override MLE%MLD_DECAYING_TFILTER = 2.592E+06 + + +! see https://github.com/GEOS-ESM/MOM6/issues/15 +#override MEKE_POSITIVE = True diff --git a/MOM6_GEOSPlug/mom6_app/720x576/MOM_saltrestore b/MOM6_GEOSPlug/mom6_app/720x576/MOM_saltrestore new file mode 100755 index 0000000..e2d3905 --- /dev/null +++ b/MOM6_GEOSPlug/mom6_app/720x576/MOM_saltrestore @@ -0,0 +1,25 @@ +! These parameters are used in CORE mode but should not be used in +! the coupled model (CM4). Why not in coupled mode?! +! this is suggested from MOM-CICE6 Community: +! https://github.com/COSIMA/access-om2/issues/158#issuecomment-950597328 +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.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_PHC2.1440x1080.v20180405.nc" ! default = "salt_restore.nc" + ! A file in which to find the surface salinity to use for restoring. +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 = 999.0 ! [PSU or g kg-1] default = 999.0 + ! The maximum salinity difference used in restoring terms. +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/MOM6_GEOSPlug/mom6_app/720x576/README.md b/MOM6_GEOSPlug/mom6_app/720x576/README.md new file mode 100644 index 0000000..f9eb2be --- /dev/null +++ b/MOM6_GEOSPlug/mom6_app/720x576/README.md @@ -0,0 +1 @@ +This configuration was adapted from: https://github.com/NOAA-GFDL/MOM6-examples/tree/dev/gfdl/ice_ocean_SIS2/OM4_05 diff --git a/MOM6_GEOSPlug/mom6_app/720x576/data_table b/MOM6_GEOSPlug/mom6_app/720x576/data_table new file mode 100644 index 0000000..e69de29 diff --git a/MOM6_GEOSPlug/mom6_app/720x576/diag_table b/MOM6_GEOSPlug/mom6_app/720x576/diag_table new file mode 100755 index 0000000..2e1e669 --- /dev/null +++ b/MOM6_GEOSPlug/mom6_app/720x576/diag_table @@ -0,0 +1,531 @@ +"Global ALE Experiment" +1900 1 1 0 0 0 +#"scalar", 1,"days",1,"days","Time", +#"layer", 1,"days",1,"days","Time", +#"prog", 0,"days",1,"days","Time", +#"prog_z", 1,"months",1,"days","Time", +#"ave_prog", 1,"days",1,"days","Time", +#"tracer", 1,"days",1,"days","Time", +#"cont", 1,"days",1,"days","Time", +##"mom", 5,"days",1,"days","Time", +##"bt_mom", 5,"days",1,"days","Time", +#"visc", 1,"days",1,"days","Time", +##"energy", 5,"days",1,"days","Time", +#"forcing", 1,"days",1,"days","Time", +#"surface", 1,"months",1,"days","Time", +"sfc_ave", 1,"days",1,"days","Time", +"ocean_daily", 1,"days",1,"days","Time", +"ocean_daily_2", 1,"days",1,"days","Time", +"ocean_daily_4D", 1,"days",1,"days","Time", +#"ocean_static", -1,"days",1,"days","time", +# +#"cmor", 1,"days",1,"days","Time", +#"cmor2", 1,"days",1,"days","Time", +#"cmor_z", 1,"days",1,"days","Time", +#"cmor_scalar", 1,"days",1,"days","Time", +#"ocean_static_cmor", -1,"days",1,"days","time", +# +##This is the field section of the diag_table. +# +## Layer-Average Diagnostics: +##=========================== +#"ocean_model","temp_layer_ave","temp_layer_ave","layer","all",.true.,"none",2 +#"ocean_model","salt_layer_ave","salt_layer_ave","layer","all",.true.,"none",2 +# +## Prognostic Ocean fields: +##========================= +# +#"ocean_model","u","u","prog","all",.false.,"none",2 +#"ocean_model","v","v","prog","all",.false.,"none",2 +#"ocean_model","h","h","prog","all",.false.,"none",1 +#"ocean_model","e","e","prog","all",.false.,"none",2 +#"ocean_model","temp","temp","prog","all",.false.,"none",2 +#"ocean_model","salt","salt","prog","all",.false.,"none",2 +##"ocean_model","Rml","Rml","prog","all",.false.,"none",2 +# +##"ocean_model","RV","RV","prog","all",.false.,"none",2 +##"ocean_model","PV","PV","prog","all",.false.,"none",2 +##"ocean_model","e_D","e_D","prog","all",.false.,"none",2 +# +#"ocean_model","u","u","ave_prog","all",.true.,"none",2 +#"ocean_model","v","v","ave_prog","all",.true.,"none",2 +#"ocean_model","h","h","ave_prog","all",.true.,"none",1 +#"ocean_model","e","e","ave_prog","all",.true.,"none",2 +##"ocean_model","temp","temp","ave_prog","all",.true.,"none",2 +##"ocean_model","salt","salt","ave_prog","all",.true.,"none",2 +##"ocean_model","Rml","Rml","ave_prog","all",.true.,"none",2 +##"ocean_model","rsdo","rsdo","ocean_daily","all",.true.,"none",2 +# +#"ocean_model","mass_wt","mass_wt","surface","all",.false.,"none",1 +#"ocean_model","opottempmint","opottempmint","surface","all",.false.,"none",1 # GFDL name: temp_int +#"ocean_model","somint","somint","surface","all",.false.,"none",1 # GFDL name: salt_int +#"ocean_model","SSH","SSH","surface","all",.false.,"none",2 +#"ocean_model","SST","SST","surface","all",.false.,"none",1 +#"ocean_model","SSS","SSS","surface","all",.false.,"none",2 +#"ocean_model","speed","speed","surface","all",.false.,"none",2 +#"ocean_model","SSU","SSU","surface","all",.false.,"none",2 +#"ocean_model","SSV","SSV","surface","all",.false.,"none",2 +# +"ocean_model","SSH","SSH","sfc_ave","all",.true.,"none",2 +"ocean_model","SST","SST","sfc_ave","all",.true.,"none",2 +"ocean_model","SSS","SSS","sfc_ave","all",.true.,"none",2 +"ocean_model","SSU","SSU","sfc_ave","all",.true.,"none",2 +"ocean_model","SSV","SSV","sfc_ave","all",.true.,"none",2 +"ocean_model","MLD_003","MLD_003","sfc_ave","all",.true.,"none",2 +# +"ocean_model","taux","taux","ocean_daily","all",.true.,"none",2 +"ocean_model","tauy","tauy","ocean_daily","all",.true.,"none",2 +"ocean_model","SW","SW","ocean_daily","all",.true.,"none",2 +"ocean_model","LW","LW","ocean_daily","all",.true.,"none",2 +"ocean_model","Rd1","Rd1","ocean_daily","all",.true.,"none",2 +"ocean_model","ustar","ustar","ocean_daily","all",.true.,"none",2 +"ocean_model","uhbt","uhbt","ocean_daily","all",.true.,"none",2 +"ocean_model","vhbt","vhbt","ocean_daily","all",.true.,"none",2 +# +"ocean_model","evap","evap","ocean_daily_2","all",.true.,"none",2 +"ocean_model","PRCmE","PRCmE","ocean_daily_2","all",.true.,"none",2 +"ocean_model","latent","latent","ocean_daily_2","all",.true.,"none",2 +"ocean_model","sensible","sensible","ocean_daily_2","all",.true.,"none",2 +"ocean_model","net_heat_coupler","net_heat_coupler","ocean_daily_2","all",.true.,"none",2 +"ocean_model","net_heat_surface","net_heat_surface","ocean_daily_2","all",.true.,"none",2 +# +"ocean_model","u","u","ocean_daily_4D","all",.true.,"none",2 +"ocean_model","v","v","ocean_daily_4D","all",.true.,"none",2 +"ocean_model","uh","uh","ocean_daily_4D","all",.true.,"none",2 +"ocean_model","vh","vh","ocean_daily_4D","all",.true.,"none",2 +"ocean_model","h","h","ocean_daily_4D","all",.true.,"none",1 +"ocean_model","e","e","ocean_daily_4D","all",.true.,"none",2 +"ocean_model","e_D","e_D","ocean_daily_4D","all",.true.,"none",2 +"ocean_model","temp","temp","ocean_daily_4D","all",.true.,"none",2 +"ocean_model","salt","salt","ocean_daily_4D","all",.true.,"none",2 +"ocean_model","RV","RV","ocean_daily_4D","all",.true.,"none",2 +"ocean_model","PV","PV","ocean_daily_4D","all",.true.,"none",2 +# +#"ocean_model","p_surf","p_surf","ocean_daily","all",.true.,"none",2 +#"ocean_model","latent","latent","ocean_daily","all",.true.,"none",2 +#"ocean_model","sensible","sensible","ocean_daily","all",.true.,"none",2 +#"ocean_model","net_heat_coupler","net_heat_coupler","ocean_daily","all",.true.,"none",2 +#"ocean_model","net_heat_surface","net_heat_surface","ocean_daily","all",.true.,"none",2 +# +## Z-space fields: +##================== +#"ocean_model_z","u","u","prog_z","all",.true.,"none",2 +#"ocean_model_z","v","v","prog_z","all",.true.,"none",2 +#"ocean_model_z","temp","temp","prog_z","all",.true.,"none",2 +#"ocean_model_z","temp_xyave","temp_xyave","prog_z","all",.true.,"none",2 +#"ocean_model_z","salt","salt","prog_z","all",.true.,"none",2 +#"ocean_model_z","thkcello","thkcello","prog_z","all",.true.,"none",2 +# +## Auxilary Tracers: +##================== +##"ocean_model","vintage","vintage","prog","all",.false.,"none",2 +##"ocean_model","agescc","agescc","prog","all",.false.,"none",2 +# +## Continuity Equation Terms: +##=========================== +##"ocean_model","dhdt","dhdt","cont","all",.true.,"none",2 +#"ocean_model","wd","wd","cont","all",.true.,"none",2 +#"ocean_model","uh","uh","cont","all",.true.,"none",2 +#"ocean_model","vh","vh","cont","all",.true.,"none",2 +##"ocean_model","uhGM","uhGM","cont","all",.true.,"none",2 +##"ocean_model","vhGM","vhGM","cont","all",.true.,"none",2 +##"ocean_model","uhbt","uhbt","cont","all",.true.,"none",2 +##"ocean_model","vhbt","vhbt","cont","all",.true.,"none",2 +#"ocean_model","h_rho","h_rho","cont","all",.true.,"none",2 +#"ocean_model","uh_rho","uh_rho","cont","all",.true.,"none",2 +#"ocean_model","vh_rho","vh_rho","cont","all",.true.,"none",2 +#"ocean_model","uhGM_rho","uhGM_rho","cont","all",.true.,"none",2 +#"ocean_model","vhGM_rho","vhGM_rho","cont","all",.true.,"none",2 +#"ocean_model","KHth_u","KHth_u","cont","all",.true.,"none",2 +#"ocean_model","KHth_v","KHth_v","cont","all",.true.,"none",2 +#"ocean_model","diftrblo","diftrblo","cont","all",.true.,"none",2 +#"ocean_model","diftrelo","difteblo","cont","all",.true.,"none",2 +#"ocean_model","KHTR_u","KHTR_u","cont","all",.true.,"none",2 +#"ocean_model","KHTR_v","KHTR_v","cont","all",.true.,"none",2 +#"ocean_model","GMwork","GMwork","cont","all",.true.,"none",2 +#"ocean_model","umo","umo","cont","all",.true.,"none",2 +#"ocean_model","vmo","vmo","cont","all",.true.,"none",2 +#"ocean_model","umo_2d","umo_2d","cont","all",.true.,"none",2 +#"ocean_model","vmo_2d","vmo_2d","cont","all",.true.,"none",2 +# +## Continuity Equation Terms In Pure Potential Density Coordiantes: +##================================================================= +##"ocean_model","h_rho","h_rho","cont","all",.true.,"none",2 +##"ocean_model","uh_rho","uh_rho","cont","all",.true.,"none",2 +##"ocean_model","vh_rho","vh_rho","cont","all",.true.,"none",2 +##"ocean_model","uhGM_rho","uhGM_rho","cont","all",.true.,"none",2 +##"ocean_model","vhGM_rho","vhGM_rho","cont","all",.true.,"none",2 +# +## +## Tracer Fluxes: +##================== +#"ocean_model","T_adx", "T_adx", "tracer","all",.true.,"none",2 +#"ocean_model","T_ady", "T_ady", "tracer","all",.true.,"none",2 +#"ocean_model","T_diffx","T_diffx","tracer","all",.true.,"none",2 +#"ocean_model","T_diffy","T_diffy","tracer","all",.true.,"none",2 +#"ocean_model","S_adx", "S_adx", "tracer","all",.true.,"none",2 +#"ocean_model","S_ady", "S_ady", "tracer","all",.true.,"none",2 +#"ocean_model","S_diffx","S_diffx","tracer","all",.true.,"none",2 +#"ocean_model","S_diffy","S_diffy","tracer","all",.true.,"none",2 +# +## T/S net tendency, lateral advection, and vertical remapping budget terms +##================== +## hfds-hfsifrazil = boundary_forcing_heat_tendency_2d +##"ocean_model","rsdoabsorb" ,"rsdoabsorb", "tracer","all",.true.,"none",2 +##"ocean_model","boundary_forcing_temp_tendency" ,"boundary_forcing_temp_tendency", "tracer","all",.true.,"none",2 +##"ocean_model","boundary_forcing_saln_tendency" ,"boundary_forcing_saln_tendency", "tracer","all",.true.,"none",2 +##"ocean_model","boundary_forcing_heat_tendency" ,"boundary_forcing_heat_tendency", "tracer","all",.true.,"none",2 +##"ocean_model","boundary_forcing_salt_tendency" ,"boundary_forcing_salt_tendency", "tracer","all",.true.,"none",2 +##"ocean_model","boundary_forcing_heat_tendency_2d" ,"boundary_forcing_heat_tendency_2d", "tracer","all",.true.,"none",2 +##"ocean_model","boundary_forcing_salt_tendency_2d" ,"boundary_forcing_salt_tendency_2d", "tracer","all",.true.,"none",2 +# +## opottemptend_2d = T_advection_xy_2d + hfds + hfgeo + opottemppmdiff_2d +## note: Th_tendency_vert_remap_2d = 0 +#"ocean_model","T_tendency" ,"T_tendency", "tracer","all",.true.,"none",2 +#"ocean_model","S_tendency" ,"S_tendency", "tracer","all",.true.,"none",2 +#"ocean_model","opottemptend" ,"opottemptend", "tracer","all",.true.,"none",2 +#"ocean_model","osalttend" ,"osalttend", "tracer","all",.true.,"none",2 +#"ocean_model","opottemptend_2d" ,"opottemptend_2d", "tracer","all",.true.,"none",2 +#"ocean_model","osalttend_2d" ,"osalttend_2d", "tracer","all",.true.,"none",2 +#"ocean_model","T_advection_xy" ,"T_advection_xy", "tracer","all",.true.,"none",2 +#"ocean_model","S_advection_xy" ,"S_advection_xy", "tracer","all",.true.,"none",2 +#"ocean_model","T_advection_xy_2d" ,"T_advection_xy_2d", "tracer","all",.true.,"none",2 +#"ocean_model","S_advection_xy_2d" ,"S_advection_xy_2d", "tracer","all",.true.,"none",2 +##"ocean_model","T_tendency_vert_remap","T_tendency_vert_remap", "tracer","all",.true.,"none",2 +##"ocean_model","S_tendency_vert_remap","S_tendency_vert_remap", "tracer","all",.true.,"none",2 +##"ocean_model","Th_tendency_vert_remap","Th_tendency_vert_remap", "tracer","all",.true.,"none",2 +##"ocean_model","Sh_tendency_vert_remap","Sh_tendency_vert_remap", "tracer","all",.true.,"none",2 +##"ocean_model","Th_tendency_vert_remap_2d","Th_tendency_vert_remap_2d", "tracer","all",.true.,"none",2 +##"ocean_model","Sh_tendency_vert_remap_2d","Sh_tendency_vert_remap_2d", "tracer","all",.true.,"none",2 +#"ocean_model","frazil_heat_tendency","frazil_heat_tendency", "tracer","all",.true.,"none",2 +#"ocean_model","frazil_heat_tendency_2d","frazil_heat_tendency_2d", "tracer","all",.true.,"none",2 +#"ocean_model","frazil_temp_tendency","frazil_temp_tendency", "tracer","all",.true.,"none",2 +# +## neutral diffusion tendencies for T and S +##================== +##"ocean_model","opottemppmdiff","opottemppmdiff", "tracer","all",.true.,"none",2 +##"ocean_model","osaltpmdiff","osaltpmdiff", "tracer","all",.true.,"none",2 +##"ocean_model","opottemppmdiff_2d","opottemppmdiff_2d", "tracer","all",.true.,"none",2 +##"ocean_model","osaltpmdiff_2d","osaltpmdiff_2d", "tracer","all",.true.,"none",2 +##"ocean_model","ndiff_tracer_conc_tendency_T","ndiff_tracer_conc_tendency_T","tracer","all",.true.,"none",2 +##"ocean_model","ndiff_tracer_conc_tendency_S","ndiff_tracer_conc_tendency_S","tracer","all",.true.,"none",2 +# +## diabatic diffusion tendencies for T and S +## note: opottempdiff_2d = 0 +##================== +##"ocean_model","opottempdiff" ,"opottempdiff", "tracer","all",.true.,"none",2 +##"ocean_model","osaltdiff" ,"osaltdiff", "tracer","all",.true.,"none",2 +##"ocean_model","opottempdiff_2d" ,"opottempdiff_2d", "tracer","all",.true.,"none",2 +##"ocean_model","osaltdiff_2d" ,"osaltdiff_2d", "tracer","all",.true.,"none",2 +##"ocean_model","diabatic_diff_temp_tendency","diabatic_diff_temp_tendency","tracer","all",.true.,"none",2 +##"ocean_model","diabatic_diff_saln_tendency","diabatic_diff_saln_tendency","tracer","all",.true.,"none",2 +# +# +# +## Momentum Balance Terms: +##======================= +##"ocean_model","dudt","dudt","mom","all",.true.,"none",2 +##"ocean_model","dvdt","dvdt","mom","all",.true.,"none",2 +##"ocean_model","CAu","CAu","mom","all",.true.,"none",2 +##"ocean_model","CAv","CAv","mom","all",.true.,"none",2 +##"ocean_model","PFu","PFu","mom","all",.true.,"none",2 +##"ocean_model","PFv","PFv","mom","all",.true.,"none",2 +##"ocean_model","du_dt_visc","du_dt_visc","mom","all",.true.,"none",2 +##"ocean_model","dv_dt_visc","dv_dt_visc","mom","all",.true.,"none",2 +##"ocean_model","diffu","diffu","mom","all",.true.,"none",2 +##"ocean_model","diffv","diffv","mom","all",.true.,"none",2 +##"ocean_model","dudt_dia","dudt_dia","mom","all",.true.,"none",2 +##"ocean_model","dvdt_dia","dvdt_dia","mom","all",.true.,"none",2 +## Subterms that should not be added to a closed budget. +##"ocean_model","gKEu","gKEu","mom","all",.true.,"none",2 +##"ocean_model","gKEv","gKEv","mom","all",.true.,"none",2 +##"ocean_model","rvxu","rvxu","mom","all",.true.,"none",2 +##"ocean_model","rvxv","rvxv","mom","all",.true.,"none",2 +##"ocean_model","PFu_bc","PFu_bc","mom","all",.true.,"none",2 +##"ocean_model","PFv_bc","PFv_bc","mom","all",.true.,"none",2 +# +## Barotropic Momentum Balance Terms: +## (only available with split time stepping.) +##=========================================== +##"ocean_model","PFuBT","PFuBT","bt_mom","all",.true.,"none",2 +##"ocean_model","PFvBT","PFvBT","bt_mom","all",.true.,"none",2 +##"ocean_model","CoruBT","CoruBT","bt_mom","all",.true.,"none",2 +##"ocean_model","CorvBT","CorvBT","bt_mom","all",.true.,"none",2 +##"ocean_model","NluBT","NluBT","bt_mom","all",.true.,"none",2 +##"ocean_model","NlvBT","NlvBT","bt_mom","all",.true.,"none",2 +##"ocean_model","ubtforce","ubtforce","bt_mom","all",.true.,"none",2 +##"ocean_model","vbtforce","vbtforce","bt_mom","all",.true.,"none",2 +##"ocean_model","u_accel_bt","u_accel_bt","bt_mom","all",.true.,"none",2 +##"ocean_model","v_accel_bt","v_accel_bt","bt_mom","all",.true.,"none",2 +## +## Viscosities and diffusivities: +##=============================== +#"ocean_model","Kd_interface","Kd_interface","visc","all",.true.,"none",2 +#"ocean_model","Kd_layer","Kd_layer","visc","all",.true.,"none",2 +#"ocean_model","Kd_effective","Kd_effective","visc","all",.true.,"none",2 +#"ocean_model","Kd_itides","Kd_itides","visc","all",.true.,"none",2 +#"ocean_model","Kd_shear","Kd_shear","visc","all",.true.,"none",2 +#"ocean_model","Kd_BBL","Kd_BBL","visc","all",.true.,"none",2 +##"ocean_model","Ahh","Ahh","visc","all",.true.,"none",2 +##"ocean_model","Ahq","Ahq","visc","all",.true.,"none",2 +##"ocean_model","Khh","Khh","visc","all",.true.,"none",2 +##"ocean_model","Khq","Khq","visc","all",.true.,"none",2 +##"ocean_model","bbl_thick_u","bbl_thick_u","visc","all",.true.,"none",2 +##"ocean_model","kv_bbl_u","kv_bbl_u","visc","all",.true.,"none",2 +##"ocean_model","bbl_thick_v","bbl_thick_v","visc","all",.true.,"none",2 +##"ocean_model","kv_bbl_v","kv_bbl_v","visc","all",.true.,"none",2 +##"ocean_model","av_visc","av_visc","visc","all",.true.,"none",2 +##"ocean_model","au_visc","au_visc","visc","all",.true.,"none",2 +##"ocean_model","FrictWork","FrictWork","visc","all",.true.,"none",2 +#"ocean_model","MLD_003","MLD_003","visc","all",.true.,"none",2 +#"ocean_model","subML_N2","subML_N2","visc","all",.true.,"none",2 +#"ocean_model","MEKE","MEKE","visc","all",.true.,"none",2 +#"ocean_model","MEKE_KH","MEKE_KH","visc","all",.true.,"none",2 +#"ocean_model","SN_u","SN_u","visc","all",.true.,"none",2 +# +## +## Kinetic Energy Balance Terms: +##============================= +##"ocean_model","KE","KE","energy","all",.true.,"none",2 +##"ocean_model","dKE_dt","dKE_dt","energy","all",.true.,"none",2 +##"ocean_model","PE_to_KE","PE_to_KE","energy","all",.true.,"none",2 +##"ocean_model","KE_Coradv","KE_Coradv","energy","all",.true.,"none",2 +##"ocean_model","KE_adv","KE_adv","energy","all",.true.,"none",2 +##"ocean_model","KE_visc","KE_visc","energy","all",.true.,"none",2 +##"ocean_model","KE_horvisc","KE_horvisc","energy","all",.true.,"none",2 +##"ocean_model","KE_dia","KE_dia","energy","all",.true.,"none",2 +# +## Surface Forcing: +##================= +#"ocean_model","taux","taux", "forcing","all",.true.,"none",2 +#"ocean_model","tauy","tauy", "forcing","all",.true.,"none",2 +#"ocean_model","ustar","ustar", "forcing","all",.true.,"none",2 +#"ocean_model","p_surf","p_surf", "forcing","all",.true.,"none",2 +## +#"ocean_model","PRCmE","PRCmE", "forcing","all",.true.,"none",1 +#"ocean_model","net_massin","net_massin", "forcing","all",.true.,"none",1 +#"ocean_model","net_massout","net_massout", "forcing","all",.true.,"none",1 +#"ocean_model","lrunoff","lrunoff", "forcing","all",.true.,"none",1 +#"ocean_model","frunoff","frunoff", "forcing","all",.true.,"none",1 +#"ocean_model","lprec","lprec", "forcing","all",.true.,"none",1 +#"ocean_model","fprec","fprec", "forcing","all",.true.,"none",1 +#"ocean_model","vprec","vprec", "forcing","all",.true.,"none",1 +#"ocean_model","evap","evap", "forcing","all",.true.,"none",1 +## +#"ocean_model","net_heat_coupler","net_heat_coupler", "forcing","all",.true.,"none",1 +#"ocean_model","net_heat_surface","net_heat_surface", "forcing","all",.true.,"none",1 +#"ocean_model","SW","SW", "forcing","all",.true.,"none",1 +#"ocean_model","LW","LW", "forcing","all",.true.,"none",1 +#"ocean_model","LwLatSens","LwLatSens", "forcing","all",.true.,"none",1 +#"ocean_model","salt_flux","salt_flux", "forcing","all",.true.,"none",1 +#"ocean_model","Heat_PmE","Heat_PmE", "forcing","all",.true.,"none",1 +#"ocean_model","frazil","frazil", "forcing","all",.true.,"none",1 +#"ocean_model","internal_heat","internal_heat", "forcing","all",.true.,"none",1 +#"ocean_model","heat_added","heat_added", "forcing","all",.true.,"none",1 +## +#"ocean_model","heat_content_cond","heat_content_cond", "forcing","all",.true.,"none",1 +#"ocean_model","heat_content_lprec","heat_content_lprec", "forcing","all",.true.,"none",1 +#"ocean_model","heat_content_fprec","heat_content_fprec", "forcing","all",.true.,"none",1 +#"ocean_model","heat_content_vprec","heat_content_vprec", "forcing","all",.true.,"none",1 +#"ocean_model","heat_content_lrunoff","heat_content_lrunoff", "forcing","all",.true.,"none",1 +#"ocean_model","heat_content_frunoff","heat_content_frunoff", "forcing","all",.true.,"none",1 +#"ocean_model","heat_content_surfwater","heat_content_surfwater","forcing","all",.true.,"none",1 +#"ocean_model","heat_content_massout","heat_content_massout", "forcing","all",.true.,"none",1 +#"ocean_model","heat_content_massin","heat_content_massin", "forcing","all",.true.,"none",1 +## +#"ocean_model","total_prcme","total_prcme", "forcing","all",.true.,"none",2 +#"ocean_model","total_evap","total_evap", "forcing","all",.true.,"none",2 +#"ocean_model","total_lprec","total_lprec", "forcing","all",.true.,"none",2 +#"ocean_model","total_fprec","total_fprec", "forcing","all",.true.,"none",2 +#"ocean_model","total_vprec","total_vprec", "forcing","all",.true.,"none",2 +#"ocean_model","total_precip","total_precip", "forcing","all",.true.,"none",2 +#"ocean_model","total_lrunoff","total_lrunoff", "forcing","all",.true.,"none",2 +#"ocean_model","total_frunoff","total_frunoff", "forcing","all",.true.,"none",2 +#"ocean_model","total_net_massin","total_net_massin" , "forcing","all",.true.,"none",2 +#"ocean_model","total_net_massout","total_net_massout", "forcing","all",.true.,"none",2 +## +#"ocean_model","total_heat_content_frunoff" ,"total_heat_content_frunoff", "forcing","all",.true.,"none",2 +#"ocean_model","total_heat_content_lrunoff" ,"total_heat_content_lrunoff", "forcing","all",.true.,"none",2 +#"ocean_model","total_heat_content_lprec" ,"total_heat_content_lprec", "forcing","all",.true.,"none",2 +#"ocean_model","total_heat_content_fprec" ,"total_heat_content_fprec", "forcing","all",.true.,"none",2 +#"ocean_model","total_heat_content_vprec" ,"total_heat_content_vprec", "forcing","all",.true.,"none",2 +#"ocean_model","total_heat_content_cond" ,"total_heat_content_cond", "forcing","all",.true.,"none",2 +#"ocean_model","total_heat_content_surfwater" ,"total_heat_content_surfwater", "forcing","all",.true.,"none",2 +#"ocean_model","total_heat_content_massin" ,"total_heat_content_massin", "forcing","all",.true.,"none",2 +#"ocean_model","total_heat_content_massout" ,"total_heat_content_massout", "forcing","all",.true.,"none",2 +#"ocean_model","total_net_heat_coupler" ,"total_net_heat_coupler", "forcing","all",.true.,"none",2 +#"ocean_model","total_net_heat_surface" ,"total_net_heat_surface", "forcing","all",.true.,"none",2 +#"ocean_model","total_sw" ,"total_sw", "forcing","all",.true.,"none",2 +#"ocean_model","total_LwLatSens" ,"total_LwLatSens", "forcing","all",.true.,"none",2 +#"ocean_model","total_lw" ,"total_lw", "forcing","all",.true.,"none",2 +#"ocean_model","total_lat" ,"total_lat", "forcing","all",.true.,"none",2 +#"ocean_model","total_lat_evap" ,"total_lat_evap", "forcing","all",.true.,"none",2 +#"ocean_model","total_lat_fprec" ,"total_lat_fprec", "forcing","all",.true.,"none",2 +#"ocean_model","total_lat_frunoff" ,"total_lat_frunoff", "forcing","all",.true.,"none",2 +#"ocean_model","total_sens" ,"total_sens", "forcing","all",.true.,"none",2 +##"ocean_model","total_heat_added" ,"total_heat_added", "forcing","all",.true.,"none",2 +#"ocean_model","total_salt_flux" ,"total_salt_flux", "forcing","all",.true.,"none",2 +#"ocean_model","total_salt_flux_in" ,"total_salt_flux_in", "forcing","all",.true.,"none",2 +##"ocean_model","total_salt_flux_added" ,"total_salt_flux_added", "forcing","all",.true.,"none",2 +## +## +# "ocean_model", "hfgeou", "hfgeou", "cmor2", "all", "none", "none",2 # geothermal heat flux +# "ocean_model", "hfrainds", "hfrainds", "cmor2", "all", "mean", "none",2 +# "ocean_model", "hfevapds", "hfevapds", "cmor2", "all", "mean", "none",2 +# "ocean_model", "hfrunoffds", "hfrunoffds", "cmor2", "all", "mean", "none",2 +# "ocean_model", "hfsnthermds", "hfsnthermds", "cmor2", "all", "mean", "none",2 +# "ocean_model", "hfsifrazil", "hfsifrazil", "cmor2", "all", "mean", "none",2 +##"ocean_model", "hfsithermds", "hfsithermds", "cmor2", "all", "mean", "none",2 # computed in SIS2 +# "ocean_model", "hfibthermds", "hfibthermds", "cmor2", "all", "mean", "none",2 +##"ocean_model", "hfsolidrunoffds", "hfsolidrunoffds", "cmor2", "all", "mean", "none",2 # =0 if ice = 0C +# "ocean_model", "rlntds", "rlntds", "cmor2", "all", "mean", "none",2 +# "ocean_model", "hflso", "hflso", "cmor2", "all", "mean", "none",2 +# "ocean_model", "hfsso", "hfsso", "cmor2", "all", "mean", "none",2 +# "ocean_model", "rsntds", "rsntds" "cmor2", "all", "mean", "none",2 +##"ocean_model", "rsdoabsorb", "rsdoabsorb" "cmor2", "all", "mean", "none",2 +##"ocean_model", "rsdo", "rsdo" "cmor2", "all", "mean", "none",2 +# "ocean_model", "hfds", "hfds" "cmor2", "all", "mean", "none",2 +## +## +## Fields for CMIP6 (CMOR Names): +##======================================= +#"ocean_model","pso","pso" ,"cmor","all",.true.,"none",2 # GFDL Name: p_surf +#"ocean_model","tauuo","tauuo" ,"cmor","all",.true.,"none",2 # surface i-stress +#"ocean_model","tauvo","tauvo" ,"cmor","all",.true.,"none",2 # surface j-stress +#"ocean_model","wfo","wfo" ,"cmor","all",.true.,"none",2 # GFDL Name: PRCmE +#"ocean_model","rsntds","rsntds" ,"cmor","all",.true.,"none",2 # GFDL Name: SW +#"ocean_model","rlntds","rlntds" ,"cmor","all",.true.,"none",2 # GFDL Name: SW +#"ocean_model","hfibthermds","hfibthermds" ,"cmor","all",.true.,"none",2 # GFDL Name: heat_content_frunoff +#"ocean_model","hfrunoffds","hfrunoffds" ,"cmor","all",.true.,"none",2 # GFDL Name: runoff_heat_content +#"ocean_model","hfsifrazil","hfsifrazil" ,"cmor","all",.true.,"none",2 # GFDL Name: frazil +#"ocean_model","evs","evs" ,"cmor","all",.true.,"none",2 # GFDL Name: evap +#"ocean_model","prlq","prlq" ,"cmor","all",.true.,"none",2 # GFDL Name: fprec +#"ocean_model","prsn","prsn" ,"cmor","all",.true.,"none",2 # GFDL Name: fprec +#"ocean_model","hflso","hflso" ,"cmor","all",.true.,"none",2 # GFDL Name: latent +#"ocean_model","friver","friver" ,"cmor","all",.true.,"none",2 # GFDL Name: lrunoff +##"ocean_model","rlds","rlds" ,"cmor","all",.true.,"none",2 # GFDL Name: LW +##"ocean_model","hfss","hfss" ,"cmor","all",.true.,"none",2 # GFDL Name: sensible +#"ocean_model","hfds","hfds" ,"cmor","all",.true.,"none",2 # GFDL Name: net_heat_surface +#"ocean_model","sfdsi","sfdsi" ,"cmor","all",.true.,"none",2 # GFDL Name: salt_flux +#"ocean_model","uo","uo" ,"cmor","all",.true.,"none",2 # GFDL Name: u +#"ocean_model","vo","vo" ,"cmor","all",.true.,"none",2 # GFDL Name: v +#"ocean_model","so","so" ,"cmor","all",.true.,"none",2 # GFDL Name: salinity +#"ocean_model","masscello","masscello" ,"cmor","all",.true.,"none",2 # mass of ocean cells +#"ocean_model","pbo","pbo" ,"cmor","all",.true.,"none",2 # GFDL Name: n/a +#"ocean_model","mlotst","mlotst" ,"cmor","all",.true.,"none",2 # GFDL Name: MLD_003 +#"ocean_model","mlotstsq","mlotstsq" ,"cmor","all",.true.,"none",2 # GFDL Name: n/a +#"ocean_model","zos","zos" ,"cmor","all",.true.,"none",2 # dynamic sealevel +#"ocean_model","zossq","zossq" ,"cmor","all",.true.,"none",2 # squared zos +#"ocean_model","hfgeou","hfgeou" ,"cmor","all",.false.,"none",2 # GFDL name: geo_heat +#"ocean_model","thkcello","thkcello" ,"cmor","all",.true.,"none",2 # GFDL name: h if Bouss +#"ocean_model","opottempmint","opottempmint" ,"cmor","all",.true.,"none",2 # GFDL name: temp_int +#"ocean_model","somint","somint" ,"cmor","all",.true.,"none",2 # GFDL name: salt_int +#"ocean_model","obvfsq","obvfsq" ,"cmor","all",.true.,"none",2 # GFDL name: N2 +#"ocean_model","difvho","difvho" ,"cmor","all",.true.,"none",2 # GFDL name: N2 +#"ocean_model","difvso","difvso" ,"cmor","all",.true.,"none",2 # GFDL name: N2 +#"ocean_model","difmxylo","difmxylo" ,"cmor","all",.true.,"none",2 # GFDL name: N2 +#"ocean_model","difmxybo","difmxybo" ,"cmor","all",.true.,"none",2 # GFDL name: N2 +#"ocean_model","dispkexyfo","dispkexyfo" ,"cmor","all",.true.,"none",2 # GFDL name: N2 +## +## +## Z-Space Fields Provided for CMIP6 (CMOR Names): +##=============================================== +#"ocean_model_z","uo", "uo", "cmor_z","all",.true.,"none",2 #GFDL Name: u_z +#"ocean_model_z","vo", "vo", "cmor_z","all",.true.,"none",2 #GFDL Name: v_z +#"ocean_model_z","so", "so", "cmor_z","all",.true.,"none",2 #GFDL Name: salt_z +#"ocean_model_z","thetao","thetao","cmor_z","all",.true.,"none",2 #GFDL Name: temp_z +#"ocean_model_z","umo", "umo", "cmor_z","all",.true.,"none",2 #GFDL Name: uh_z +#"ocean_model_z","vmo", "vmo", "cmor_z","all",.true.,"none",2 #GFDL Name: vh_z +## +## Scalar ocean fields for CMIP6 (CMOR Names): +##===================== +#"ocean_model", "masso", "masso", "cmor_scalar", "all", .true., "none",2 # global mean masscello +#"ocean_model", "thetaoga", "thetaoga", "cmor_scalar", "all", .true., "none",2 # global mean theta +#"ocean_model", "soga", "soga", "cmor_scalar", "all", .true., "none",2 # global mean saln +#"ocean_model", "tosga", "tosga", "cmor_scalar", "all", .true., "none",2 # area mean SST +#"ocean_model", "sosga", "sosga", "cmor_scalar", "all", .true., "none",2 # area mean SSS +#"ocean_model", "volo", "volo", "cmor_scalar", "all", .true., "none",2 # ocean volume +# +## Scalar fields for run-time monitoring: +##======================================= +#"ocean_model", "masso", "masso", "scalar", "all", .true., "none",2 # global mean masscello +#"ocean_model", "thetaoga", "thetaoga", "scalar", "all", .true., "none",2 # global mean theta +#"ocean_model", "soga", "soga", "scalar", "all", .true., "none",2 # global mean salinity +#"ocean_model", "tosga", "tosga", "scalar", "all", .true., "none",2 # area mean SST +#"ocean_model", "sosga", "sosga", "scalar", "all", .true., "none",2 # area mean SSS +#"ocean_model", "volo", "volo", "scalar", "all", .true., "none",2 # ocean volume +#"ocean_model", "ssh_ga", "ssh_ga", "scalar", "all", .true., "none",2 # global mean ssh +#"ocean_model", "prcme_ga", "prcme_ga", "scalar", "all", .true., "none",2 # global mean prcme +#"ocean_model", "precip_ga", "precip_ga", "scalar", "all", .true., "none",2 # global mean precip +#"ocean_model", "evap_ga", "evap_ga", "scalar", "all", .true., "none",2 # global mean evaporation +#"ocean_model", "net_heat_coupler_ga", "net_heat_coupler_ga", "scalar", "all", .true., "none",2 # global mean net heat coupler +#"ocean_model", "net_heat_surface_ga", "net_heat_surface_ga", "scalar", "all", .true., "none",2 # global mean net heat surface +#"ocean_model", "sens_ga", "sens_ga", "scalar", "all", .true., "none",2 # global mean sensible heat +#"ocean_model", "LwLatSens_ga", "LwLatSens_ga", "scalar", "all", .true., "none",2 # global mean LW + latent + sensible +#"ocean_model", "sw_ga", "sw_ga", "scalar", "all", .true., "none",2 # global mean SW +#"ocean_model", "lw_ga", "lw_ga", "scalar", "all", .true., "none",2 # global mean LW +#"ocean_model", "lat_ga", "lat_ga", "scalar", "all", .true., "none",2 # global mean latent +# +## Static ocean fields: +##===================== +#"ocean_model", "geolon", "geolon", "ocean_static", "all", .false., "none", 1 +#"ocean_model", "geolat", "geolat", "ocean_static", "all", .false., "none", 1 +#"ocean_model", "geolon_c", "geolon_c", "ocean_static", "all", .false., "none", 2 +#"ocean_model", "geolat_c", "geolat_c", "ocean_static", "all", .false., "none", 2 +#"ocean_model", "geolon_u", "geolon_u", "ocean_static", "all", .false., "none", 2 +#"ocean_model", "geolat_u", "geolat_u", "ocean_static", "all", .false., "none", 2 +#"ocean_model", "geolon_v", "geolon_v", "ocean_static", "all", .false., "none", 2 +#"ocean_model", "geolat_v", "geolat_v", "ocean_static", "all", .false., "none", 2 +#"ocean_model", "area_t", "area_t", "ocean_static", "all", .false., "none", 1 +#"ocean_model", "depth_ocean", "depth_ocean", "ocean_static", "all", .false., "none", 2 +#"ocean_model", "wet", "wet", "ocean_static", "all", .false., "none", 1 +#"ocean_model", "wet_c", "wet_c", "ocean_static", "all", .false., "none", 2 +#"ocean_model", "wet_u", "wet_u", "ocean_static", "all", .false., "none", 2 +#"ocean_model", "wet_v", "wet_v", "ocean_static", "all", .false., "none", 2 +#"ocean_model", "Coriolis", "Coriolis", "ocean_static", "all", .false., "none", 2 +#"ocean_model", "dxt", "dxt", "ocean_static", "all", .false., "none", 2 +#"ocean_model", "dyt", "dyt", "ocean_static", "all", .false., "none", 2 +#"ocean_model", "dxCu", "dxCu", "ocean_static", "all", .false., "none", 2 +#"ocean_model", "dyCu", "dyCu", "ocean_static", "all", .false., "none", 2 +#"ocean_model", "dxCv", "dxCv", "ocean_static", "all", .false., "none", 2 +#"ocean_model", "dyCv", "dyCv", "ocean_static", "all", .false., "none", 2 + +# +## Static ocean fields: +##===================== +#"ocean_model", "areacello", "areacello", "ocean_static_cmor", "all", .false., "none", 2 + +#============================================================================================= +# +#====> This file can be used with diag_manager/v2.0a (or higher) <==== +# +# +# FORMATS FOR FILE ENTRIES (not all input values are used) +# ------------------------ +# +#"file_name", output_freq, "output_units", format, "time_units", "time_long_name", ... +# (opt) new_file_frequecy, (opt) "new_file_freq_units", "new_file_start_date" +# +# +#output_freq: > 0 output frequency in "output_units" +# = 0 output frequency every time step +# =-1 output frequency at end of run +# +#output_units = units used for output frequency +# (years, months, days, minutes, hours, seconds) +# +#time_units = units used to label the time axis +# (days, minutes, hours, seconds) +# +# +# FORMAT FOR FIELD ENTRIES (not all input values are used) +# ------------------------ +# +#"module_name", "field_name", "output_name", "file_name" "time_sampling", time_avg, "other_opts", packing +# +#time_avg = .true. or .false. +# +#packing = 1 double precision +# = 2 float +# = 4 packed 16-bit integers +# = 8 packed 1-byte (not tested?) diff --git a/MOM6_GEOSPlug/mom6_app/720x576/input.nml b/MOM6_GEOSPlug/mom6_app/720x576/input.nml new file mode 100755 index 0000000..6521406 --- /dev/null +++ b/MOM6_GEOSPlug/mom6_app/720x576/input.nml @@ -0,0 +1,11 @@ + &MOM_input_nml + output_directory = './', + input_filename = 'r' + restart_input_dir = 'INPUT/', + restart_output_dir = 'RESTART/', + parameter_filename = 'MOM_input', + 'MOM_override' / + + &diag_manager_nml + / +