title: GOTM Simulation                       # simulation title used in output [default=GOTM simulation]
location:
   name: PROVESS Northern Experiment 1998    # station name used in output [default=GOTM site]
   latitude: 5.93333300E+01                  # latitude [degrees North; min=-90.0; max=90.0; default=0.0]
   longitude: 1.28333300E+00                 # longitude [degrees East; min=-360.0; max=360.0; default=0.0]
   depth: 110.0                              # water depth [m; min=0.0; default=100.0]
time:
   method: 2                                 # method to specify simulated period [1=number of time steps, 2=start and stop, 3=start and number of time steps; default=2]
   start: 1998-01-01 00:00:00                # start date and time [yyyy-mm-dd HH:MM:SS; default=2017-01-01 00:00:00]
   stop: 1999-01-01 00:00:00                 # stop date and time [yyyy-mm-dd HH:MM:SS; default=2018-01-01 00:00:00]
   dt: 3600.0                                # time step for integration [s; min=0.0; default=3600.0]
   cnpar: 1.0                                # "implicitness" of diffusion scheme [fraction; min=0.0; max=1.0; default=1.0]
grid:
   nlev: 110                                 # number of layers [min=1; default=100]
   method: 0                                 # layer thicknesses [0=equal by default with optional zooming, 1=prescribed relative fractions, 2=prescribed thicknesses; default=0]
   ddu: 0.0                                  # surface zooming [dimensionless; min=0.0; default=0.0]
   ddl: 0.0                                  # bottom zooming [dimensionless; min=0.0; default=0.0]
   file:                                     # file with custom grid [default=]
temperature:                                 # temperature profile used for initialization and optionally relaxation
   method: 2                                 # method [0=off, 1=analytical, 2=from file; default=0]
   file: t_prof_file.dat                     # path to file with series of profiles [default=]
   column: 1                                 # index of column to read from [default=1]
   scale_factor: 1.0                         # scale factor to be applied to values read from file [default=1.0]
   offset: 0.0                               # offset to be added to values read from file [Celsius; default=0.0]
   analytical:
      method: 3                              # type of analytical initial temperature profile [1=constant, 2=two layers, 3=from salinity and buoyancy frequency; default=1]
      z_t1: 30.0                             # upper layer thickness [m; min=0.0; default=0.0]
      t_1: 20.0                              # upper layer temperature [Celsius; min=0.0; max=40.0; default=0.0]
      z_t2: 40.0                             # lower layer thickness [m; min=0.0; default=0.0]
      t_2: 15.0                              # lower layer temperature [Celsius; min=0.0; max=40.0; default=0.0]
      obs_NN: 2.56000000E-04                 # constant buoyancy frequency [s^-2; min=0.0; default=0.0]
   relax:                                    # relax model temperature to observed/prescribed value
      tau: 1.00000000E+15                    # time scale for interior layer [s; min=0.0; default=1.00000000E+15]
      h_s: 0.0                               # height of surface relaxation layer [m; min=0.0; default=0.0]
      tau_s: 1.00000000E+15                  # time scale for surface layer [s; min=0.0; default=1.00000000E+15]
      h_b: 0.0                               # height of bottom relaxation layer [m; min=0.0; default=0.0]
      tau_b: 1.00000000E+15                  # time scale for bottom layer [s; min=0.0; default=1.00000000E+15]
salinity:                                    # salinity profile used for initialization and optionally relaxation
   method: 2                                 # method [0=off, 1=analytical, 2=from file; default=0]
   file: s_prof_file.dat                     # path to file with series of profiles [default=]
   column: 1                                 # index of column to read from [default=1]
   scale_factor: 1.0                         # scale factor to be applied to values read from file [default=1.0]
   offset: 0.0                               # offset to be added to values read from file [psu; default=0.0]
   analytical:
      method: 1                              # type of analytical initial salinity profile [1=constant, 2=two layers, 3=from temperature and buoyancy frequency; default=1]
      z_s1: 30.0                             # upper layer thickness [m; min=0.0; default=0.0]
      s_1: 20.0                              # upper layer salinity [psu; min=0.0; max=40.0; default=0.0]
      z_s2: 40.0                             # lower layer thickness [m; min=0.0; default=0.0]
      s_2: 15.0                              # lower layer salinity [psu; min=0.0; max=40.0; default=0.0]
      obs_NN: 2.56000000E-04                 # constant buoyancy frequency [s^-2; min=0.0; default=0.0]
   relax:                                    # relax model salinity to observed/prescribed value
      tau: 86400.0                           # time scale for interior layer [s; min=0.0; default=1.00000000E+15]
      h_s: 0.0                               # height of surface relaxation layer [m; min=0.0; default=0.0]
      tau_s: 86400.0                         # time scale for surface layer [s; min=0.0; default=1.00000000E+15]
      h_b: 0.0                               # height of bottom relaxation layer [m; min=0.0; default=0.0]
      tau_b: 86400.0                         # time scale for bottom layer [s; min=0.0; default=1.00000000E+15]
surface:
   fluxes:                                   # heat and momentum fluxes
      method: 1                              # method to calculate fluxes from meteorology [0=use prescribed fluxes, 1=Kondo (1975), 2=Fairall et al. (1996); default=0]
      heat:                                  # prescribed total heat flux (sensible, latent and net back-radiation)
         method: 0                           # method [0=constant, 2=from file; default=0]
         constant_value: 0.0                 # value to use throughout the simulation [W/m^2; default=0.0]
         file:                               # path to file with time series [default=]
         column: 1                           # index of column to read from [default=1]
         scale_factor: 1.0                   # scale factor to be applied to values read from file [default=1.0]
         offset: 0.0                         # offset to be added to values read from file [W/m^2; default=0.0]
      tx:                                    # prescribed momentum flux in West-East direction
         method: 0                           # method [0=constant, 2=from file; default=0]
         constant_value: 0.0                 # value to use throughout the simulation [Pa; default=0.0]
         file:                               # path to file with time series [default=]
         column: 1                           # index of column to read from [default=1]
         scale_factor: 1.0                   # scale factor to be applied to values read from file [default=1.0]
         offset: 0.0                         # offset to be added to values read from file [Pa; default=0.0]
      ty:                                    # prescribed momentum flux in South-North direction
         method: 0                           # method [0=constant, 2=from file; default=0]
         constant_value: 0.0                 # value to use throughout the simulation [Pa; default=0.0]
         file:                               # path to file with time series [default=]
         column: 1                           # index of column to read from [default=1]
         scale_factor: 1.0                   # scale factor to be applied to values read from file [default=1.0]
         offset: 0.0                         # offset to be added to values read from file [Pa; default=0.0]
   meteo:
      u10:                                   # wind speed in West-East direction @ 10 m
         method: 2                           # method [0=constant, 2=from file; default=0]
         constant_value: 0.0                 # value to use throughout the simulation [m/s; default=0.0]
         file: meteo_file.dat                # path to file with time series [default=]
         column: 1                           # index of column to read from [default=1]
         scale_factor: 1.0                   # scale factor to be applied to values read from file [default=1.0]
         offset: 0.0                         # offset to be added to values read from file [m/s; default=0.0]
      v10:                                   # wind speed in South-North direction @ 10 m
         method: 2                           # method [0=constant, 2=from file; default=0]
         constant_value: 0.0                 # value to use throughout the simulation [m/s; default=0.0]
         file: meteo_file.dat                # path to file with time series [default=]
         column: 2                           # index of column to read from [default=1]
         scale_factor: 1.0                   # scale factor to be applied to values read from file [default=1.0]
         offset: 0.0                         # offset to be added to values read from file [m/s; default=0.0]
      airp:                                  # air pressure
         method: 2                           # method [0=constant, 2=from file; default=0]
         constant_value: 0.0                 # value to use throughout the simulation [Pa; default=0.0]
         file: meteo_file.dat                # path to file with time series [default=]
         column: 3                           # index of column to read from [default=1]
         scale_factor: 100.0                 # scale factor to be applied to values read from file [default=1.0]
         offset: 0.0                         # offset to be added to values read from file [Pa; default=0.0]
      airt:                                  # air temperature @ 2 m
         method: 2                           # method [0=constant, 2=from file; default=0]
         constant_value: 0.0                 # value to use throughout the simulation [Celsius or K; default=0.0]
         file: meteo_file.dat                # path to file with time series [default=]
         column: 4                           # index of column to read from [default=1]
         scale_factor: 1.0                   # scale factor to be applied to values read from file [default=1.0]
         offset: 0.0                         # offset to be added to values read from file [Celsius or K; default=0.0]
      hum:                                   # humidity @ 2 m
         method: 2                           # method [0=constant, 2=from file; default=0]
         constant_value: 0.0                 # value to use throughout the simulation [default=0.0]
         file: meteo_file.dat                # path to file with time series [default=]
         column: 5                           # index of column to read from [default=1]
         scale_factor: 1.0                   # scale factor to be applied to values read from file [default=1.0]
         offset: 0.0                         # offset to be added to values read from file [default=0.0]
         type: 1                             # humidity metric [1=relative humidity (%), 2=wet-bulb temperature, 3=dew point temperature, 4=specific humidity (kg/kg); default=1]
      cloud:                                 # cloud cover
         method: 2                           # method [0=constant, 2=from file; default=0]
         constant_value: 0.0                 # value to use throughout the simulation [fraction; min=0.0; max=1.0; default=0.0]
         file: meteo_file.dat                # path to file with time series [default=]
         column: 6                           # index of column to read from [default=1]
         scale_factor: 1.0                   # scale factor to be applied to values read from file [default=1.0]
         offset: 0.0                         # offset to be added to values read from file [fraction; default=0.0]
      swr:                                   # shortwave radiation
         method: 3                           # method [0=constant, 2=from file, 3=from time, location and cloud cover; default=0]
         constant_value: 0.0                 # value to use throughout the simulation [W/m^2; min=0.0; default=0.0]
         file:                               # path to file with time series [default=]
         column: 1                           # index of column to read from [default=1]
         scale_factor: 1.0                   # scale factor to be applied to values read from file [default=1.0]
         offset: 0.0                         # offset to be added to values read from file [W/m^2; default=0.0]
      precip:                                # precipitation
         method: 0                           # method [0=constant, 2=from file; default=0]
         constant_value: 0.0                 # value to use throughout the simulation [m/s; default=0.0]
         file:                               # path to file with time series [default=]
         column: 1                           # index of column to read from [default=1]
         scale_factor: 1.0                   # scale factor to be applied to values read from file [default=1.0]
         offset: 0.0                         # offset to be added to values read from file [m/s; default=0.0]
         flux_impact: false                  # include effect on fluxes of sensible heat and momentum [default=false]
      calc_evaporation: false                # calculate evaporation from meteorological conditions [default=false]
      ssuv_method: 0                         # wind treatment [0=use absolute wind speed, 1=use wind speed relative to current velocity; default=1]
   back_radiation:                           # longwave back radiation
      method: 1                              # method [0=from file, 1=Clark, 2=Hastenrath, 3=Bignami, 4=Berliand; default=1]
      file:                                  # path to file with time series [default=]
      column: 1                              # index of column to read from [default=1]
      scale_factor: 1.0                      # scale factor to be applied to values read from file [default=1.0]
      offset: 0.0                            # offset to be added to values read from file [W/m^2; default=0.0]
   albedo:
      method: 1                              # method to compute albedo [0=constant, 1=Payne (1972), 2=Cogley (1979); default=1]
      constant_value: 0.0                    # constant value to use throughout the simulation [fraction; min=0.0; max=1.0; default=0.0]
   sst:                                      # observed surface temperature
      method: 2                              # method [0=constant, 2=from file; default=0]
      constant_value: 0.0                    # value to use throughout the simulation [Celsius; default=0.0]
      file: sst_file.dat                     # path to file with time series [default=]
      column: 1                              # index of column to read from [default=1]
      scale_factor: 1.0                      # scale factor to be applied to values read from file [default=1.0]
      offset: 0.0                            # offset to be added to values read from file [Celsius; default=0.0]
   sss:                                      # observed surface salinity
      method: 0                              # method [0=constant, 2=from file; default=0]
      constant_value: 0.0                    # value to use throughout the simulation [psu; default=0.0]
      file:                                  # path to file with time series [default=]
      column: 1                              # index of column to read from [default=1]
      scale_factor: 1.0                      # scale factor to be applied to values read from file [default=1.0]
      offset: 0.0                            # offset to be added to values read from file [psu; default=0.0]
   wave:                                     # wind waves
      Hs:                                    # significant wave-height
         method: 0                           # method [0=constant, 2=from file; default=0]
         constant_value: 0.0                 # value to use throughout the simulation [m; min=0.0; default=0.0]
         file:                               # path to file with time series [default=]
         column: 1                           # index of column to read from [default=1]
         scale_factor: 1.0                   # scale factor to be applied to values read from file [default=1.0]
         offset: 0.0                         # offset to be added to values read from file [m; default=0.0]
      Tz:                                    # mean zero-crossing period
         method: 0                           # method [0=constant, 2=from file; default=0]
         constant_value: 0.0                 # value to use throughout the simulation [s; min=0.0; default=0.0]
         file:                               # path to file with time series [default=]
         column: 1                           # index of column to read from [default=1]
         scale_factor: 1.0                   # scale factor to be applied to values read from file [default=1.0]
         offset: 0.0                         # offset to be added to values read from file [s; default=0.0]
      phiw:                                  # mean direction
         method: 0                           # method [0=constant, 2=from file; default=0]
         constant_value: 0.0                 # value to use throughout the simulation [dimensionless; min=0.0; max=360.0; default=0.0]
         file:                               # path to file with time series [default=]
         column: 1                           # index of column to read from [default=1]
         scale_factor: 1.0                   # scale factor to be applied to values read from file [default=1.0]
         offset: 0.0                         # offset to be added to values read from file [dimensionless; default=0.0]
   roughness:
      charnock: true                         # use Charnock (1955) roughness adaptation [default=false]
      charnock_val: 1400.0                   # empirical constant for roughness adaptation [dimensionless; min=0.0; default=1400.0]
      z0s_min: 0.02                          # hydrodynamic roughness (minimum value if Charnock adaptation is used) [m; min=0.0; default=0.02]
bottom:
   h0b: 0.03                                 # physical bottom roughness [m; min=0.0; default=0.05]
   MaxItz0b: 1                               # number of iterations for hydrodynamic bottom roughness [min=1; default=1]
light_extinction:
   method: 1                                 # water type [1=Jerlov type I, 2=Jerlov type 1 (upper 50 m), 3=Jerlov type IA, 4=Jerlov type IB, 5=Jerlov type II, 6=Jerlov type III, 7=custom; default=1]
   A:                                        # non-visible fraction of shortwave radiation
      method: 0                              # method [0=constant, 2=from file; default=0]
      constant_value: 0.7                    # value to use throughout the simulation [fraction; min=0.0; max=1.0; default=0.7]
      file:                                  # path to file with time series [default=]
      column: 1                              # index of column to read from [default=1]
      scale_factor: 1.0                      # scale factor to be applied to values read from file [default=1.0]
      offset: 0.0                            # offset to be added to values read from file [fraction; default=0.0]
   g1:                                       # e-folding depth of non-visible shortwave radiation
      method: 0                              # method [0=constant, 2=from file; default=0]
      constant_value: 0.4                    # value to use throughout the simulation [m; min=0.0; default=0.4]
      file:                                  # path to file with time series [default=]
      column: 1                              # index of column to read from [default=1]
      scale_factor: 1.0                      # scale factor to be applied to values read from file [default=1.0]
      offset: 0.0                            # offset to be added to values read from file [m; default=0.0]
   g2:                                       # e-folding depth of visible shortwave radiation
      method: 0                              # method [0=constant, 2=from file; default=0]
      constant_value: 8.0                    # value to use throughout the simulation [m; min=0.0; default=8.0]
      file:                                  # path to file with time series [default=]
      column: 1                              # index of column to read from [default=1]
      scale_factor: 1.0                      # scale factor to be applied to values read from file [default=1.0]
      offset: 0.0                            # offset to be added to values read from file [m; default=0.0]
turbulence:
   turb_method: 3                            # turbulence closure [0=convective adjustment, 2=first-order, 3=second-order; default=3]
   tke_method: 2                             # turbulent kinetic energy equation [1=algebraic length scale equation, 2=differential equation for tke (k-epsilon style), 3=differential equation for q^2/2 (Mellor-Yamada style); default=2]
   len_scale_method: 8                       # dissipative length scale [1=parabolic, 2=triangular, 3=Xing and Davies (1995), 4=Robert and Ouellet (1987), 5=Blackadar (two boundaries) (1962), 6=Bougeault and Andre (1986), 7=Eifler and Schrimpf (ISPRAMIX) (1992), 8=dynamic dissipation rate equation, 9=dynamic Mellor-Yamada q^2 l-equation, 10=generic length scale (GLS); default=8]
   stab_method: 3                            # stability functions [1=constant, 2=Munk and Anderson (1954), 3=Schumann and Gerz (1995), 4=Eifler and Schrimpf (1992); default=3]
   bc:                                       # boundary conditions
      k_ubc: 1                               # upper boundary condition for k-equation [0=Dirichlet, 1=Neumann; default=1]
      k_lbc: 1                               # lower boundary condition for k-equation [0=Dirichlet, 1=Neumann; default=1]
      psi_ubc: 1                             # upper boundary condition for length-scale equation [0=Dirichlet, 1=Neumann; default=1]
      psi_lbc: 1                             # lower boundary condition for length-scale equation [0=Dirichlet, 1=Neumann; default=1]
      ubc_type: 1                            # upper boundary layer [1=logarithmic law of the wall, 2=tke-injection (breaking waves); default=1]
      lbc_type: 1                            # lower boundary layer [1=logarithmic law of the wall; default=1]
   turb_param:
      cm0_fix: 5.47700000E-01                # value of cm0 [dimensionless; min=0.0; default=5.47700000E-01]
      Prandtl0_fix: 0.74                     # turbulent Prandtl-number [dimensionless; min=0.0; default=0.74]
      cw: 100.0                              # constant of the wave-breaking model [dimensionless; min=0.0; default=100.0]
      compute_kappa: false                   # compute von Karman constant from model parameters [default=false]
      kappa: 0.4                             # von Karman constant [dimensionless; min=0.0; default=0.4]
      compute_c3: true                       # compute c3 (E3 for Mellor-Yamada) from steady-state Richardson number [default=true]
      Ri_st: 0.25                            # desired steady-state Richardson number [dimensionless; min=0.0; default=0.25]
      length_lim: true                       # apply Galperin et al. (1988) length scale limitation [default=true]
      galp: 0.53                             # coefficient for length scale limitation [dimensionless; min=0.0; default=0.27]
      const_num: 5.00000000E-04              # constant eddy diffusivity [m^2/s; min=0.0; default=5.00000000E-04]
      const_nuh: 5.00000000E-04              # constant heat diffusivity [m^2/s; min=0.0; default=5.00000000E-04]
      k_min: 1.00000000E-06                  # minimum turbulent kinetic energy [m^2/s^2; min=0.0; default=1.00000000E-06]
      eps_min: 1.00000000E-12                # minimum dissipation rate [m^2/s^3; min=0.0; default=1.00000000E-12]
      kb_min: 1.00000000E-10                 # minimum buoyancy variance [m^2/s^4; min=0.0; default=1.00000000E-10]
      epsb_min: 1.00000000E-14               # minimum buoyancy variance destruction rate [m^2/s^5; min=0.0; default=1.00000000E-14]
   generic:                                  # generic length scale (GLS) model
      compute_param: false                   # compute the model parameters [default=false]
      gen_m: 1.0                             # exponent for k [dimensionless; default=1.5]
      gen_n: -0.67                           # exponent for l [dimensionless; default=-1.0]
      gen_p: 3.0                             # exponent for cm0 [dimensionless; default=3.0]
      cpsi1: 1.0                             # empirical coefficient cpsi1 in psi equation [dimensionless; default=1.44]
      cpsi2: 1.22                            # empirical coefficient cpsi2 in psi equation [dimensionless; default=1.92]
      cpsi3minus: 0.05                       # cpsi3 for stable stratification [dimensionless; default=0.0]
      cpsi3plus: 1.0                         # cpsi3 for unstable stratification [dimensionless; default=1.0]
      sig_kpsi: 0.8                          # Schmidt number for TKE diffusivity [dimensionless; default=1.0]
      sig_psi: 1.07                          # Schmidt number for psi diffusivity [dimensionless; default=1.3]
      gen_d: -1.2                            # temporal decay rate d in homogeneous turbulence [dimensionless; default=-1.2]
      gen_alpha: -2.0                        # decay exponent alpha [dimensionless; default=-2.0]
      gen_l: 0.2                             # slope L of the length scale in shear-free turbulence [dimensionless; default=0.2]
   keps:                                     # k-epsilon model
      ce1: 1.44                              # empirical coefficient ce1 in dissipation equation [dimensionless; default=1.44]
      ce2: 1.92                              # empirical coefficient ce2 in dissipation equation [dimensionless; default=1.92]
      ce3minus: -0.4                         # ce3 for stable stratification [dimensionless; default=0.0]
      ce3plus: 1.0                           # ce3 for unstable stratification [dimensionless; default=1.0]
      sig_k: 1.0                             # Schmidt number for TKE diffusivity [dimensionless; default=1.0]
      sig_e: 1.3                             # Schmidt number for dissipation diffusivity [dimensionless; default=1.3]
      sig_peps: false                        # use Burchard (2001) wave breaking parameterisation [default=false]
   my:                                       # Mellor-Yamada model
      e1: 1.8                                # coefficient e1 in q^2 l equation [dimensionless; default=1.8]
      e2: 1.33                               # coefficient e2 in q^2 l equation [dimensionless; default=1.33]
      e3: 1.8                                # coefficient e3 in q^2 l equation [dimensionless; default=1.8]
      sq: 0.2                                # turbulent diffusivities of q^2 (= 2k) [dimensionless; default=0.2]
      sl: 0.2                                # turbulent diffusivities of q^2 l [dimensionless; default=0.2]
      length: 3                              # barotropic length scale in q^2 l equation [1=parabolic, 2=triangular, 3=linear from surface; default=1]
      new_constr: false                      # stabilize stability functions [default=false]
   scnd:                                     # second-order model
      method: 1                              # method [1=quasi-equilibrium, 2=weak equilibrium with algebraic buoyancy variance; default=1]
      kb_method: 1                           # equation for buoyancy variance [1=algebraic, 2=prognostic; default=1]
      epsb_method: 1                         # equation for variance destruction [1=algebraic; default=1]
      scnd_coeff: 7                          # coefficients of second-order model [0=custom, 1=Gibson and Launder (1978), 2=Mellor and Yamada (1982), 3=Kantha and Clayson (1994), 4=Luyten et al. (1996), 5=Canuto et al. (2001) (version A), 6=Canuto et al. (2001) (version B), 7=Cheng et al. (2002); default=5]
      cc1: 3.6                               # cc1 [dimensionless; default=3.6]
      cc2: 0.8                               # cc2 [dimensionless; default=0.8]
      cc3: 1.2                               # cc3 [dimensionless; default=1.2]
      cc4: 1.2                               # cc4 [dimensionless; default=1.2]
      cc5: 0.0                               # cc5 [dimensionless; default=0.0]
      cc6: 0.3                               # cc6 [dimensionless; default=0.3]
      ct1: 3.28                              # ct1 [dimensionless; default=3.28]
      ct2: 0.4                               # ct2 [dimensionless; default=0.4]
      ct3: 0.4                               # ct3 [dimensionless; default=0.4]
      ct4: 0.0                               # ct4 [dimensionless; default=0.0]
      ct5: 0.4                               # ct5 [dimensionless; default=0.4]
      ctt: 0.8                               # ctt [dimensionless; default=0.8]
   iw:                                       # internal wave mixing
      model: 0                               # model [0=none, 1=Mellor (1989), 2=Large et al. (1994); default=0]
      alpha: 0.7                             # coefficient for Mellor internal wave model [dimensionless; default=0.0]
      klim: 1.00000000E-06                   # critical value of TKE [m^2/s^2; default=1.00000000E-06]
      rich_cr: 0.7                           # critical Richardson number for shear instability [dimensionless; default=0.7]
      numshear: 0.005                        # background diffusivity for shear instability [m^2/s; default=0.005]
      num: 1.00000000E-04                    # background viscosity for internal wave breaking [m^2/s; default=1.00000000E-04]
      nuh: 1.00000000E-05                    # background diffusivity for internal wave breaking [m^2/s; default=1.00000000E-05]
   epsprof:                                  # observed dissipation rate
      method: 0                              # method [0=off, 2=from file; default=0]
      file:                                  # path to file with series of profiles [default=]
      column: 1                              # index of column to read from [default=1]
      scale_factor: 1.0                      # scale factor to be applied to values read from file [default=1.0]
      offset: 0.0                            # offset to be added to values read from file [W/kg; default=0.0]
mimic_3d:                                    # effects of horizontal gradients
   ext_pressure:                             # external pressure
      mode: 0                                # formulation [0=horizontal gradient in surface elevation, 1=horizontal velocities at given height above bed, 2=vertically averaged horizontal velocities; default=0]
      dpdx:                                  # pressure in West-East direction
         method: 2                           # method [0=constant, 1=from tidal constituents, 2=from file; default=0]
         constant_value: 0.0                 # value to use throughout the simulation [default=0.0]
         file: ext_press_file.dat            # path to file with time series [default=]
         column: 2                           # index of column to read from [default=1]
         scale_factor: 1.0                   # scale factor to be applied to values read from file [default=1.0]
         offset: 0.0                         # offset to be added to values read from file [default=0.0]
         AmpM: 0.0                           # amplitude of 1st harmonic [dimensionless; default=0.0]
         PhaseM: 0.0                         # phase of 1st harmonic [s; min=0.0; default=0.0]
         AmpS: 0.0                           # amplitude of 2nd harmonic [dimensionless; default=0.0]
         PhaseS: 0.0                         # phase of 2nd harmonic [s; min=0.0; default=0.0]
      dpdy:                                  # pressure in South-North direction
         method: 2                           # method [0=constant, 1=from tidal constituents, 2=from file; default=0]
         constant_value: 0.0                 # value to use throughout the simulation [default=0.0]
         file: ext_press_file.dat            # path to file with time series [default=]
         column: 3                           # index of column to read from [default=1]
         scale_factor: 1.0                   # scale factor to be applied to values read from file [default=1.0]
         offset: 0.0                         # offset to be added to values read from file [default=0.0]
         AmpM: 0.0                           # amplitude of 1st harmonic [dimensionless; default=0.0]
         PhaseM: 0.0                         # phase of 1st harmonic [s; min=0.0; default=0.0]
         AmpS: 0.0                           # amplitude of 2nd harmonic [dimensionless; default=0.0]
         PhaseS: 0.0                         # phase of 2nd harmonic [s; min=0.0; default=0.0]
      h:                                     # height above bed
         method: 2                           # method [0=constant, 2=from file; default=0]
         constant_value: 0.0                 # value to use throughout the simulation [m; min=0.0; default=0.0]
         file: ext_press_file.dat            # path to file with time series [default=]
         column: 1                           # index of column to read from [default=1]
         scale_factor: 1.0                   # scale factor to be applied to values read from file [default=1.0]
         offset: 0.0                         # offset to be added to values read from file [m; default=0.0]
      PeriodM: 44714.0                       # period of 1st tidal harmonic (eg. M2-tide) [s; default=44714.0]
      PeriodS: 43200.0                       # period of 2nd tidal harmonic (eg. S2-tide) [s; default=43200.0]
   int_press:                                # internal pressure
      dsdx:                                  # salinity gradient in West-East direction
         method: 0                           # method [0=off, 1=constant, 2=from file; default=0]
         constant_value: 0.0                 # value to use throughout the simulation [Celsius/m; default=0.0]
         file:                               # path to file with series of profiles [default=]
         column: 1                           # index of column to read from [default=1]
         scale_factor: 1.0                   # scale factor to be applied to values read from file [default=1.0]
         offset: 0.0                         # offset to be added to values read from file [Celsius/m; default=0.0]
      dsdy:                                  # salinity gradient in South-North direction
         method: 0                           # method [0=off, 1=constant, 2=from file; default=0]
         constant_value: 0.0                 # value to use throughout the simulation [Celsius/m; default=0.0]
         file:                               # path to file with series of profiles [default=]
         column: 1                           # index of column to read from [default=1]
         scale_factor: 1.0                   # scale factor to be applied to values read from file [default=1.0]
         offset: 0.0                         # offset to be added to values read from file [Celsius/m; default=0.0]
      dtdx:                                  # temperature gradient in West-East direction
         method: 0                           # method [0=off, 1=constant, 2=from file; default=0]
         constant_value: 0.0                 # value to use throughout the simulation [psu/m; default=0.0]
         file:                               # path to file with series of profiles [default=]
         column: 1                           # index of column to read from [default=1]
         scale_factor: 1.0                   # scale factor to be applied to values read from file [default=1.0]
         offset: 0.0                         # offset to be added to values read from file [psu/m; default=0.0]
      dtdy:                                  # temperature gradient in South-North direction
         method: 0                           # method [0=off, 1=constant, 2=from file; default=0]
         constant_value: 0.0                 # value to use throughout the simulation [psu/m; default=0.0]
         file:                               # path to file with series of profiles [default=]
         column: 1                           # index of column to read from [default=1]
         scale_factor: 1.0                   # scale factor to be applied to values read from file [default=1.0]
         offset: 0.0                         # offset to be added to values read from file [psu/m; default=0.0]
      t_adv: false                           # horizontally advect temperature [default=false]
      s_adv: false                           # horizontally advect salinity [default=false]
   zeta:                                     # surface elevation
      method: 0                              # method [0=constant, 1=from tidal constituents, 2=from file; default=0]
      constant_value: 0.0                    # value to use throughout the simulation [m; default=0.0]
      file: zeta_file.dat                    # path to file with time series [default=]
      column: 1                              # index of column to read from [default=1]
      scale_factor: 1.0                      # scale factor to be applied to values read from file [default=1.0]
      offset: 0.0                            # offset to be added to values read from file [m; default=0.0]
      period_1: 44714.0                      # period of 1st harmonic (eg. M2-tide) [s; default=44714.0]
      amp_1: 1.0                             # amplitude of 1st harmonic [m; default=0.0]
      phase_1: 0.0                           # phase of 1st harmonic [s; min=0.0; default=0.0]
      period_2: 43200.0                      # period of 2nd harmonic (eg. S2-tide) [s; default=43200.0]
      amp_2: 0.5                             # amplitude of 2nd harmonic [m; default=0.0]
      phase_2: 0.0                           # phase of 2nd harmonic [s; min=0.0; default=0.0]
   w:                                        # vertical velocity
      max:                                   # maximum velocity
         method: 0                           # method [0=off, 1=constant, 2=from file; default=0]
         constant_value: 0.0                 # value to use throughout the simulation [m/s; default=0.0]
         file:                               # path to file with time series [default=]
         column: 1                           # index of column to read from [default=1]
         scale_factor: 1.0                   # scale factor to be applied to values read from file [default=1.0]
         offset: 0.0                         # offset to be added to values read from file [m/s; default=0.0]
      height:                                # height of maximum velocity
         method: 1                           # method [1=constant, 2=from file; default=1]
         constant_value: 0.0                 # value to use throughout the simulation [m; default=0.0]
         file:                               # path to file with time series [default=]
         column: 1                           # index of column to read from [default=1]
         scale_factor: 1.0                   # scale factor to be applied to values read from file [default=1.0]
         offset: 0.0                         # offset to be added to values read from file [m; default=0.0]
      adv_discr: 6                           # vertical advection scheme [1=first-order upstream, 3=third-order upstream-biased polynomial, 4=third-order TVD with Superbee limiter, 5=third-order TVD with MUSCL limiter, 6=third-order TVD with ULTIMATE QUICKEST limiter; default=6]
velocities:                                  # observed/prescribed horizontal velocities
   u:                                        # velocity in West-East direction
      method: 0                              # method [0=off, 2=from file; default=0]
      file:                                  # path to file with series of profiles [default=]
      column: 1                              # index of column to read from [default=1]
      scale_factor: 1.0                      # scale factor to be applied to values read from file [default=1.0]
      offset: 0.0                            # offset to be added to values read from file [m/s; default=0.0]
   v:                                        # velocity in South-North direction
      method: 0                              # method [0=off, 2=from file; default=0]
      file:                                  # path to file with series of profiles [default=]
      column: 1                              # index of column to read from [default=1]
      scale_factor: 1.0                      # scale factor to be applied to values read from file [default=1.0]
      offset: 0.0                            # offset to be added to values read from file [m/s; default=0.0]
   relax:                                    # relax model velocities towards observed/prescribed value
      tau: 1.00000000E+15                    # time scale [s; min=0.0; default=1.00000000E+15]
      ramp: 1.00000000E+15                   # duration of initial relaxation period [s; min=0.0; default=1.00000000E+15]
o2:                                          # oxygen
   scale_factor: 31.25                       # scale factor to be applied to values read from file [default=1.0]
   offset: 0.0                               # offset to be added to values read from file [default=0.0]
fabm:                                        # Framework for Aquatic Biogeochemical Models
   use: false                                # enable FABM [default=false]
   freshwater_impact: true                   # enable dilution/concentration by precipitation/evaporation [default=true]
   feedbacks:                                # feedbacks to physics
      shade: false                           # interior light absorption [default=false]
      albedo: false                          # surface albedo [default=false]
      surface_drag: false                    # surface drag [default=false]
   repair_state: false                       # clip state to minimum/maximum boundaries [default=false]
   numerics:
      ode_method: 1                          # time integration scheme applied to source terms [1=Forward Euler, 2=Runge-Kutta 2, 3=Runge-Kutta 4, 4=first-order Patanker, 5=second-order Patanker, 7=first-order modified Patanker, 8=second-order modified Patanker, 10=first-order extended modified Patanker, 11=second-order extended modified Patankar; default=1]
      split_factor: 1                        # number of substeps used for source integration [min=1; max=100; default=1]
      w_adv_discr: 6                         # vertical advection scheme for settling/rising [1=first-order upstream, 3=third-order upstream-biased polynomial, 4=third-order TVD with Superbee limiter, 5=third-order TVD with MUSCL limiter, 6=third-order TVD with ULTIMATE QUICKEST limiter; default=6]
      cnpar: 1.0                             # "implicitness" of diffusion scheme [fraction; min=0.0; default=1.0]
   debug:
      no_surface: false                      # disable surface processes [default=false]
      save_inputs: false                     # include additional forcing fields in output [default=false]
   configuration_method: -1                  # configuration file [-1=auto-detect (prefer fabm.yaml), 0=fabm.nml, 1=fabm.yaml; default=-1]
   input:
physical_constants:
   gravity: 9.81                             # gravitational acceleration [m/s^2; min=0.0; default=9.81]
   rho_0: 1027.0                             # reference density [kg/m^3; min=0.0; default=1027.0]
   cp: 3985.0                                # specific heat of sea water [J/kg/K; min=0.0; default=3985.0]
   avmolu: 1.30000000E-06                    # molecular viscosity for momentum [m^2/s; min=0.0; default=1.30000000E-06]
   avmolt: 1.40000000E-07                    # molecular viscosity for temperature [m^2/s; min=0.0; default=1.40000000E-07]
   avmols: 1.10000000E-09                    # molecular viscosity for salinity [m^2/s; min=0.0; default=1.10000000E-09]
buoyancy:
   method: 1                                 # method to compute mean buoyancy [1=equation of state, 2=prognostic equation; default=1]
   surf_ini: 0.0                             # initial buoyancy at the surface [dimensionless; default=0.0]
   NN_ini: 1.00000000E-04                    # initial value of NN (=buoyancy gradient) [s^-2; default=0.0]
eq_state:                                    # equation of state
   mode: 1                                   # formula [1=UNESCO, 2=Jackett et al. (2005); default=2]
   method: 1                                 # implementation [1=full with in-situ temperature/density, 2=full with potential temperature/density, 3=linearized at T0,S0,p0, 4=linearized at T0,S0,p0,dtr0,dsr0; default=1]
   T0: 10.0                                  # reference temperature [Celsius; min=-2.0; default=10.0]
   S0: 35.0                                  # reference salinity [psu; min=0.0; default=35.0]
   p0: 0.0                                   # reference pressure [Pa; default=0.0]
   dtr0: -0.17                               # thermal expansion coefficient [kg/m^3/K; default=-0.17]
   dsr0: 0.78                                # saline expansion coefficient [kg/m^3/psu; default=0.78]
restart:
   load: false                               # initialize simulation with state stored in restart.nc [default=false]
   allow_missing_variable: false             # warn but not abort if a variable is missing from restart file [default=false]
output:
   output:                                   # path of output file, excluding extension
      use: true                              # write output to this file [default=true]
      format: netcdf                         # format [text, netcdf; default=netcdf]
      title: GOTM Simulation                 # title [default=GOTM Simulation]
      time_unit: hour                        # time unit [second, hour, day, month, year, dt=model time step; default=day]
      time_step: 1                           # number of time units between output [min=1; default=1]
      time_method: point                     # treatment of time dimension [point=instantaneous, mean, integrated; default=point]
      sync_interval: 1                       # number of output steps between sychronization to disk (<= 0: sync on close only) [default=1]
      variables:
      - source: temp
      - source: h



