# This file was created with only commonly used settings, plus those that differ from the default specified by GOTM.
# You can generate a configuration with every possible setting with: gotm --write_yaml <OUTFILE> --detail full
# To see only the settings that differ from the default, use: gotm --write_yaml <OUTFILE> --detail minimal
version: 6                          # version of configuration file [default=6]
title: iGOTM simulation             # simulation title used in output [default=GOTM simulation]
location:
   name: iGOTM station              # station name used in output [default=GOTM site]
   latitude: 69.660                   # latitude [degrees North; min=-90.0; max=90.0; default=0.0]
   longitude: 9.039                   # longitude [degrees East; min=-360.0; max=360.0; default=0.0]
   depth: 2023.5                      # water depth [m; min=0.0; default=100.0]
time:
   start: 2024-01-01 00:00:00       # start date and time [yyyy-mm-dd HH:MM:SS; default=2017-01-01 00:00:00]
   stop: 2025-01-01 00:00:00        # stop date and time [yyyy-mm-dd HH:MM:SS; default=2018-01-01 00:00:00]
   dt: 600.0                        # time step for integration [s; min=0.0; default=3600.0]
grid:
   nlev: 190                        # number of layers [min=1; default=100]
   method: file_sigma               # layer thickness specification [analytical=equal by default with optional zooming, file_sigma=prescribed relative fractions, file_h=prescribed thicknesses; default=analytical]
   #   ddu: 1.0                         # surface zooming [dimensionless; min=0.0; default=0.0]
   #   ddl: 1.0                         # bottom zooming [dimensionless; min=0.0; default=0.0]
   file: grid190.dat                   # path to file with layer thicknesses [default=]
temperature:                        # temperature profile used for initialization and optionally relaxation [Celsius]
   method: file                     # method [off, file=from file, constant, two_layer=two layers with linear gradient in between, buoyancy=from salinity and buoyancy frequency; default=off]
   constant_value: 0.0              # value to use throughout the simulation [Celsius; default=0.0]
   file: temperature.merged.dat                  # path to file with series of profiles [default=]
   column: 1                        # index of column to read from [default=1]
   two_layer:
      z_s: 0.0                      # depth where upper layer ends [m; min=0.0; default=0.0]
      t_s: 0.0                      # upper layer temperature [Celsius; min=0.0; max=40.0; default=0.0]
      z_b: 0.0                      # depth where lower layer begins [m; min=0.0; default=0.0]
      t_b: 0.0                      # lower layer temperature [Celsius; min=0.0; max=40.0; default=0.0]
   NN: 0.0                          # square of buoyancy frequency [s^-2; min=0.0; default=0.0]
   relax:                           # relax model temperature to observed/prescribed value
      tau: 86400.           # time scale for interior layer [s; min=0.0; default=1.00000000E+15]
salinity:                           # salinity profile used for initialization and optionally relaxation [psu]
   method: file                     # method [off, file=from file, constant, two_layer=two layers with linear gradient in between, buoyancy=from temperature and buoyancy frequency; default=off]
   constant_value: 0.0              # value to use throughout the simulation [psu; min=0.0; default=0.0]
   file: salinity.merged.dat                  # path to file with series of profiles [default=]
   column: 1                        # index of column to read from [default=1]
   two_layer:
      z_s: 0.0                      # depth where upper layer ends [m; min=0.0; default=0.0]
      s_s: 0.0                      # upper layer salinity [psu; min=0.0; max=40.0; default=0.0]
      z_b: 0.0                      # depth where lower layer begins [m; min=0.0; default=0.0]
      s_b: 0.0                      # lower layer salinity [psu; min=0.0; max=40.0; default=0.0]
   NN: 0.0                          # square of buoyancy frequency [s^-2; min=0.0; default=0.0]
   relax:                           # relax model salinity to observed/prescribed value
      tau: 86400.           # time scale for interior layer [s; min=0.0; default=1.00000000E+15]
surface:
   fluxes:                          # heat and momentum fluxes
      method: fairall               # method to calculate fluxes from meteorological conditions [off=use prescribed fluxes, kondo=Kondo (1975), fairall=Fairall et al. (1996); default=off]
      heat:                         # prescribed total heat flux (sensible, latent and net back-radiation) [W/m^2]
         method: constant           # method [constant, file=from file; default=constant]
         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]
      tx:                           # prescribed momentum flux in West-East direction [Pa]
         method: constant           # method [constant, file=from file; default=constant]
         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]
      ty:                           # prescribed momentum flux in South-North direction [Pa]
         method: constant           # method [constant, file=from file; default=constant]
         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]
   u10:                             # wind speed in West-East direction @ 10 m [m/s]
      method: file                  # method [constant, file=from file; default=constant]
      constant_value: 0.0           # value to use throughout the simulation [m/s; default=0.0]
      file: meteo.6h.merged.dat               # path to file with time series [default=]
      column: 1                     # index of column to read from [default=1]
   v10:                             # wind speed in South-North direction @ 10 m [m/s]
      method: file                  # method [constant, file=from file; default=constant]
      constant_value: 0.0           # value to use throughout the simulation [m/s; default=0.0]
      file: meteo.6h.merged.dat               # path to file with time series [default=]
      column: 2                     # index of column to read from [default=1]
   airp:                            # air pressure [Pa]
      method: file                  # method [constant, file=from file; default=constant]
      constant_value: 0.0           # value to use throughout the simulation [Pa; default=0.0]
      file: meteo.6h.merged.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]
   airt:                            # air temperature @ 2 m [Celsius or K]
      method: file                  # method [constant, file=from file; default=constant]
      constant_value: 0.0           # value to use throughout the simulation [Celsius or K; default=0.0]
      file: meteo.6h.merged.dat               # path to file with time series [default=]
      column: 4                     # index of column to read from [default=1]
   hum:                             # humidity @ 2 m
      method: file                  # method [constant, file=from file; default=constant]
      constant_value: 0.0           # value to use throughout the simulation [default=0.0]
      file: meteo.6h.merged.dat               # path to file with time series [default=]
      column: 5                     # index of column to read from [default=1]
      type: dew_point               # humidity metric [relative=relative humidity (%), wet_bulb=wet-bulb temperature, dew_point=dew point temperature, specific=specific humidity (kg/kg); default=relative]
   cloud:                           # cloud cover [1]
      method: file                  # method [constant, file=from file; default=constant]
      constant_value: 0.0           # value to use throughout the simulation [fraction; min=0.0; max=1.0; default=0.0]
      file: meteo.6h.merged.dat               # path to file with time series [default=]
      column: 6                     # index of column to read from [default=1]
   precip:                          # precipitation [m/s]
      method: file                  # method [constant, file=from file; default=constant]
      constant_value: 0.0           # value to use throughout the simulation [m/s; default=0.0]
      file: precip.6h.merged.dat              # path to file with time series [default=]
      column: 1                     # index of column to read from [default=1]
      flux_impact: true             # include effect on fluxes of sensible heat and momentum [default=false]
   calc_evaporation: true           # calculate evaporation from meteorological conditions [default=false]
   swr:                             # shortwave radiation [W/m^2]
      method: file             # method [constant, file=from file, calculate=from time, location and cloud cover; default=constant]
      constant_value: 0.0           # value to use throughout the simulation [W/m^2; min=0.0; default=0.0]
      file: ssr.6h.merged.dat                        # path to file with time series [default=]
      column: 1                     # index of column to read from [default=1]
   longwave_radiation:              # net longwave radiation [W/m^2]
      method: clark                 # method [file=from file, clark=Clark et al. (1974), hastenrath_lamb=Hastenrath and Lamb (1978), bignami=Bignami et al. (1995), berliand_berliand=Berliand and Berliand (1952), josey1=Josey et al. (2003) - 1, josey2=Josey et al. (2003) - 2; default=clark]
      file:                         # path to file with time series [default=]
      column: 1                     # index of column to read from [default=1]
   albedo:
      method: constant                 # method to compute albedo [constant, payne=Payne (1972), cogley=Cogley (1979); default=payne]
      constant_value: 0.0           # constant value to use throughout the simulation [fraction; min=0.0; max=1.0; default=0.0]
   roughness:
      charnock: false               # 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.005                       # physical bottom roughness [m; min=0.0; default=0.05]
light_extinction:
   method: jerlov-i                 # water type [jerlov-i=Jerlov type I, jerlov-1-50m=Jerlov type 1 (upper 50 m), jerlov-ia=Jerlov type IA, jerlov-ib=Jerlov type IB, jerlov-ii=Jerlov type II, jerlov-iii=Jerlov type III, custom; default=jerlov-i]
   A:                               # non-visible fraction of shortwave radiation [1]
      method: constant              # method [constant, file=from file; default=constant]
      constant_value: 0.58           # 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]
   g1:                              # e-folding depth of non-visible shortwave radiation [m]
      method: constant              # method [constant, file=from file; default=constant]
      constant_value: 0.35           # 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]
   g2:                              # e-folding depth of visible shortwave radiation [m]
      method: constant              # method [constant, file=from file; default=constant]
      constant_value: 23.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]
turbulence:
   turb_method: second_order        # turbulence closure [convective=convective adjustment, first_order=first-order, second_order=second-order, cvmix; default=second_order]
   tke_method: tke                  # turbulent kinetic energy equation [local_eq=algebraic length scale equation, tke=differential equation for tke (k-epsilon style), mellor_yamada=differential equation for q^2/2 (Mellor-Yamada style); default=tke]
   len_scale_method: dissipation    # dissipative length scale [parabolic, triangular, xing_davies=Xing and Davies (1995), robert_ouellet=Robert and Ouellet (1987), blackadar=Blackadar (two boundaries) (1962), bougeault_andre=Bougeault and Andre (1986), eifler_schrimpf=Eifler and Schrimpf (ISPRAMIX) (1992), dissipation=dynamic dissipation rate equation, mellor_yamada=dynamic Mellor-Yamada q^2 l-equation, gls=generic length scale (GLS); default=dissipation]
   stab_method: schumann_gerz       # stability functions [constant, munk_anderson=Munk and Anderson (1954), schumann_gerz=Schumann and Gerz (1995), eifler_schrimpf=Eifler and Schrimpf (1992); default=constant]
   turb_param:
      cm0_fix: 5.47700000E-01       # value of the stability function in the log-law [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.27                    # 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-10]
      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]
mimic_3d:                           # effects of horizontal gradients
   ext_pressure:                    # external pressure
      type: elevation               # pressure metric [elevation=horizontal gradient in surface elevation, velocity=horizontal velocities at given height above bed, average_velocity=vertically averaged horizontal velocities; default=elevation]
      dpdx:                         # pressure in West-East direction
         method: constant               # method [constant, tidal=from tidal constituents, file=from file; default=constant]
         constant_value: 0.0        # value to use throughout the simulation [default=0.0]
         file: ext_press.dat        # path to file with time series [default=]
         column: 2                  # index of column to read from [default=1]
         tidal:                     # tidal constituents
            amp_1: 0.0              # amplitude of 1st harmonic [default=0.0]
            phase_1: 0.0            # phase of 1st harmonic [s; default=0.0]
            amp_2: 0.0              # amplitude of 2nd harmonic [default=0.0]
            phase_2: 0.0            # phase of 2nd harmonic [s; default=0.0]
      dpdy:                         # pressure in South-North direction
         method: constant               # method [constant, tidal=from tidal constituents, file=from file; default=constant]
         constant_value: 0.0        # value to use throughout the simulation [default=0.0]
         file: ext_press.dat        # path to file with time series [default=]
         column: 3                  # index of column to read from [default=1]
         tidal:                     # tidal constituents
            amp_1: 0.0              # amplitude of 1st harmonic [default=0.0]
            phase_1: 0.0            # phase of 1st harmonic [s; default=0.0]
            amp_2: 0.0              # amplitude of 2nd harmonic [default=0.0]
            phase_2: 0.0            # phase of 2nd harmonic [s; default=0.0]
      h:                            # height above bed [m]
         method: constant               # method [constant, file=from file; default=constant]
         constant_value: 0.0        # value to use throughout the simulation [m; min=0.0; default=0.0]
         file: ext_press.dat        # path to file with time series [default=]
         column: 1                  # index of column to read from [default=1]
      period_1: 44714.0             # period of 1st tidal harmonic (eg. M2-tide) [s; default=44714.0]
      period_2: 43200.0             # period of 2nd tidal harmonic (eg. S2-tide) [s; default=43200.0]
   int_press:                       # internal pressure
      dtdx:                         # temperature gradient in West-East direction [Celsius/m]
         method: off                # method [off, constant, file=from file; default=off]
         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]
      dtdy:                         # temperature gradient in South-North direction [Celsius/m]
         method: off                # method [off, constant, file=from file; default=off]
         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]
      dsdx:                         # salinity gradient in West-East direction [psu/m]
         method: off                # method [off, constant, file=from file; default=off]
         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]
      dsdy:                         # salinity gradient in South-North direction [psu/m]
         method: off                # method [off, constant, file=from file; default=off]
         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]
      t_adv: false                  # horizontally advect temperature [default=false]
      s_adv: false                  # horizontally advect salinity [default=false]
   zeta:                            # surface elevation [m]
      method: constant              # method [constant, tidal=from tidal constituents, file=from file; default=constant]
      constant_value: 0.0           # value to use throughout the simulation [m; default=0.0]
      file: zeta.dat                # path to file with time series [default=]
      column: 1                     # index of column to read from [default=1]
      tidal:                        # tidal constituents
         period_1: 44714.0          # period of 1st harmonic (eg. M2-tide) [s; default=44714.0]
         amp_1: 0.0                 # amplitude of 1st harmonic [m; default=0.0]
         phase_1: 0.0               # phase of 1st harmonic [s; default=0.0]
         period_2: 43200.0          # period of 2nd harmonic (eg. S2-tide) [s; default=43200.0]
         amp_2: 0.0                 # amplitude of 2nd harmonic [m; default=0.0]
         phase_2: 0.0               # phase of 2nd harmonic [s; default=0.0]
   w:                               # vertical velocity
      max:                          # maximum velocity [m/s]
         method: off                # method [off, constant, file=from file; default=off]
         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]
      height:                       # height of maximum velocity [m]
         method: constant           # method [constant, file=from file; default=constant]
         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]
      adv_discr: p2_pdm             # vertical advection scheme [upstream=first-order upstream, p2=third-order upstream-biased polynomial, superbee=third-order TVD with Superbee limiter, muscl=third-order TVD with MUSCL limiter, p2_pdm=third-order TVD with ULTIMATE QUICKEST limiter; default=p2_pdm]
fabm:                               # Framework for Aquatic Biogeochemical Models
   use: true                       # 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: true              # clip state to minimum/maximum boundaries [default=false]
   input:
      mole_fraction_of_carbon_dioxide_in_air: 414
      ECO/no3:
         method: file
         file: nitrate.dat
         scale_factor: 79.56625 
         relax_tau: 1.e15
      ECO/pho:
         method: file
         file: phosphate.dat
         scale_factor: 1273.06 
         relax_tau: 1.e15
      ECO/sil:
         method: file
         file: silicate.dat
         scale_factor: 79.56625 
         relax_tau: 1.e15
      ECO/oxy:
         method: file
         file: oxygen.dat
         scale_factor: 1.0 
         relax_tau: 1.e15
      CO2/c:
         method: file
         file: TCO2.dat
         scale_factor: 1.0 
         relax_tau: 1.e15
      CO2/TA:
         method: file
         file: TAlk.dat
         scale_factor: 1.0 
         relax_tau: 1.e15
eq_state:                           # equation of state
   method: jackett                  # method [unesco, jackett=Jackett et al. (2005); default=jackett]
   form: full                       # formulation [full=full with in-situ temperature/density, full-pot=full with potential temperature/density, linear=linearized at T0,S0,p0, linear_custom=linearized at T0,S0,p0,dtr0,dsr0; default=full]
   linear:
      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: true                      # initialize simulation with state stored in restart.nc [default=false]
output:
   argo: # path of output file, excluding extension
#  result:
      format: netcdf                # format [text, netcdf; default=netcdf]
      time_unit: day                # 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: mean             # treatment of time dimension [point=instantaneous, mean, integrated; default=point]
      variables:
              #      - source: /*
      - source: temp                # variable name in model
      - source: salt                # variable name in model
      - source: mld_surf
      - source: CO2_c
      - source: CO2_TA
      - source: ECO_no3
      - source: ECO_nh4
      - source: ECO_pho
      - source: ECO_sil
      - source: ECO_oxy
      - source: ECO_fla
      - source: ECO_dia
      - source: ECO_ccl
      - source: ECO_diachl
      - source: ECO_flachl
      - source: ECO_cclchl
      - source: ECO_microzoo
      - source: ECO_mesozoo
      - source: ECO_det
      - source: ECO_opa
      - source: ECO_dom
      - source: ECO_sed1
      - source: ECO_sed2
      - source: ECO_sed3
      - source: ECO_sed4
      - source: ECO_primprod
      - source: ECO_c2chl_fla
      - source: ECO_c2chl_dia
      - source: ECO_caco3
      - source: ECO_snkspd
      - source: total_chlorophyll_calculator_result

