roms.in

From WikiROMS
Jump to navigationJump to search
ocean.in

File ocean.in is the standard input file to any model run. This file sets many of the parameters that are not specified at compile time, including the names of additional input file names (e.g. netcdf forcing files and input files for application modules such as stations.in, floats.in and biology.in), output netcdf files names, and parameters and logical flags to control the frequency of output. Some model options, such as the GLS_MIXING vertical turbulence closure also have parameters set within ocean.in.


Important notes on the ocean.in file syntax:

Comment lines are allowed and begin with an exclamation mark (!) in column one. Comments may appear to the right of a parameter specification to improve the documentation of your choices. All comments will ignored during reading. Blank lines are also allowed and ignored. Continuation lines in a parameter specification are allowed using a backslash (\).

Input parameters can be entered in ANY order, provided that the parameter KEYWORD (usually, upper case) is typed correctly followed by "=" or "==" symbols. Parameters that are not used can be omitted from the list, so the ocean.in file for a specific application can be very concise.

In multiple levels of nesting and/or multiple connected domains (not yet implemented), "Ngrids" entries are expected for some of these parameters. The double equals symbols "==" syntax is for those parameters which will need to be assigned distinct values for each grid in multiple grid applications. The order of the entries for multigrid parameters is extremely important. It must follow the same order (1:Ngrids) as in the state variable declaration.

Frequently, more than one value is required for a parameter. If fewer values are provided, the last value is assigned for the entire parameter array. For convenience, the multiplication symbol (*) without blank spaces in between is allowed for a repeated value in a long list specification.

For example, in a three grids nested application AKT_BAK must be specified for temperature and salinity for all three grids, i.e. six values in total.

The line:

     AKT_BAK == 2*1.0d-6  2*5.0d-6 2*3.0d-6                          ! m2/s           
           

indicates that the first two entries of array AKT_BAK will have the same value of "1.0d-6" for grid 1, the next two entries will have the same value of "5.0d-6" for grid 2, and grid 3 will use "3.0d-6". Thus the line is short-hand for:

     AKT_BAK == 1.0d-6  1.0d-6 5.0d-6 5.0d-6 3.0d-6 3.0d-6            ! m2/s        

The comment at the end is provided as a reminder of the correct units for this parameter.


The text below shows the entries in the default ocean.in file, with links to more detailed explanation where required.

Application title. This string will be saved in the output netcdf files. A backslash continuation character is allowed

      TITLE = ROMS/TOMS 3.0 - Wind-Driven Upwelling/Downwelling \
                              over a Periodic Channel

Input variable information file name. This file needs to be processed first so all information arrays can be initialized properly.

    VARNAME = ROMS/External/varinfo.dat

Domain decomposition parameters for serial, distributed-memory or shared-memory configurations used to determine tile horizontal range indices (Istr,Iend) and (Jstr,Jend), [1:Ngrids].

     NtileI == 1                               ! I-direction partition
     NtileJ == 4                               ! J-direction partition

Time-Stepping parameters.

     NTIMES =  1440
         DT == 300.0d0
    NDTFAST == 30

Model iteration loops parameters.

      ERstr =  1
      ERend =  1
     Nouter =  1
     Ninner =  1
 Nintervals =  1

Number of eigenvalues (NEV) and eigenvectors (NCV) to compute for the Lanczos/Arnoldi problem in the Generalized Stability Theory (GST) analysis. NCV must be greater than NEV (see documentation below).

        NEV =  2                               ! Number of eigenvalues
        NCV =  10                              ! Number of eigenvectors

Input/Output parameters.

      NRREC =  0
  LcycleRST == T
      NRST  == 288
      NSTA == 1
       NFLT == 1
      NINFO == 1

Output history, average, diagnostic files parameters.

    LDEFOUT == T
       NHIS == 72
    NDEFHIS == 0
     NTSAVG == 1
       NAVG == 72
    NDEFAVG == 0
     NTSDIA == 1
       NDIA == 72
    NDEFDIA == 0

Output tangent linear and adjoint models parameters.

  LcycleTLM == F
       NTLM == 72
    NDEFTLM == 0
  LcycleADJ == F
       NADJ == 72
    NDEFADJ == 0

Output check pointing GST restart parameters.

    LrstGST =  F                               ! GST restart switch
 MaxIterGST =  500                             ! maximun number of iterations
       NGST =  10                              ! check pointing interval

Relative accuracy of the Ritz values computed in the GST analysis.

   Ritz_tol =  1.0d-15

Harmonic/biharmonic horizontal diffusion of all active and passive (dye) tracers: [1:NAT+NPT,Ngrids]. Diffusion coefficients for biology variables are set in biology.in

       TNU2 == 0.0d0  0.0d0                    ! m2/s
       TNU4 == 2*0.0d0                         ! m4/s

Harmononic/biharmonic, horizontal viscosity coefficient: [Ngrids]. Only used if the appropriate CPP options are defined.

      VISC2 == 0.0d0                           ! m2/s
      VISC4 == 0.0d0                           ! m4/s

Background vertical mixing coefficients for active and passice (dye) tracers: [1:NAT+NPT,Ngrids]

    AKT_BAK == 1.0d-6 1.0d-6                   ! m2/s

Background vertical mixing coefficient for momentum: [Ngrids]. For more information on the vertical mixing closure options see

    AKV_BAK == 1.0d-5                          ! m2/s

Turbulent closure parameters.

    AKK_BAK == 5.0d-6                          ! m2/s
    AKP_BAK == 5.0d-6                          ! m2/s
     TKENU2 == 0.0d0                           ! m2/s
     TKENU4 == 0.0d0                           ! m4/s

Generic length-scale turbulence closure parameters. See GLS_MIXING

      GLS_P == 3.0d0                           ! K-epsilon
      GLS_M == 1.5d0
      GLS_N == -1.0d0
   GLS_Kmin == 7.6d-6
   GLS_Pmin == 1.0d-12
   GLS_CMU0 == 0.5477d0
     GLS_C1 == 1.44d0
     GLS_C2 == 1.92d0
    GLS_C3M == -0.4d0
    GLS_C3P == 1.0d0
   GLS_SIGK == 1.0d0
   GLS_SIGP == 1.30d0

Constants used in momentum stress computation.

       RDRG == 3.0d-04                    ! m/s (requires CPP option 
      RDRG2 == 3.0d-03                    ! nondimensional
        Zob == 0.02d0                     ! m
        Zos == 0.02d0                     ! m

Various parameters.

  WTYPE == 1       ! Jerlov water type sets vertical depth scale for shortwave radiation absorption
    LEVSFRC == 15
    LEVBFRC == 1

Vertical S-coordinates parameters, [1:Ngrids].

    THETA_S == 3.0d0                      ! 0 < THETA_S < 20
    THETA_B == 0.0d0                      ! 0 < THETA_B < 1
     TCLINE == 50.0d0                     ! m

Mean Density and Brunt-Vaisala frequency.

       RHO0 =  1025.0d0                   ! kg/m3
    BVF_BAK =  1.0d-4                     ! 1/s2

Time-stamp assigned for model initialization, reference time origin for tidal forcing, and model reference time for output NetCDF units attribute.

     DSTART =  0.0d0                      ! days                 
 TIDE_START =  0.0d0                      ! days
   TIME_REF =  0.0d0                      ! yyyymmdd.dd

Nudging/relaxation time scales, inverse scales will be computed internally, [1:Ngrids].

      TNUDG == 2*0.0d0                    ! days
      ZNUDG == 0.0d0                      ! days
     M2NUDG == 0.0d0                      ! days
     M3NUDG == 0.0d0                      ! days

Factor between passive (outflow) and active (inflow) open boundary conditions, [1:Ngrids]. If OBCFAC > 1, nudging on inflow is stronger than on outflow (recommended).

     OBCFAC == 0.0d0                      ! nondimensional

Linear equation of State parameters:

         R0 == 1027.0d0                   ! kg/m3
         T0 == 10.0d0                     ! Celsius
         S0 == 35.0d0                     ! PSU
      TCOEF == 1.7d-4                     ! 1/Celsius
      SCOEF == 7.6d-4                     ! 1/PSU

Slipperiness parameter: 1.0 (free slip) or -1.0 (no slip)

     GAMMA2 =  1.0d0

Starting (DstrS) and ending (DendS) day for adjoint sensitivity forcing. DstrS must be less or equal to DendS. If both values are zero, their values are reset internally to the full range of the adjoint integration.

      DstrS == 0.0d0                      ! starting day
      DendS == 0.0d0                      ! ending day

Starting and ending vertical levels of the 3D adjoint state variables whose sensitivity is required.

      KstrS == 1                          ! starting level
      KendS == 1                          ! ending level

Logical switches (TRUE/FALSE) to specify the adjoint state variables whose sensitivity is required.

     Lstate(isFsur) == F                        ! free-surface
     Lstate(isUbar) == F                        ! 2D U-momentum
     Lstate(isVbar) == F                        ! 2D V-momentum
     Lstate(isUvel) == F                        ! 3D U-momentum
     Lstate(isVvel) == F                        ! 3D V-momentum

Logical switches (TRUE/FALSE) to specify the adjoint state tracer variables whose sensitivity is required (NT values are expected).

     Lstate(isTvar) == F F                      ! tracers

Stochastic optimals time decorrelation scale (days) assumed for red noise processes.

   SO_decay == 2.0d0                      ! days

Logical switches (TRUE/FALSE) to specify the state surface forcing variable whose stochastic optimals is required.

     SOstate(isUstr) == T                       ! surface u-stress
     SOstate(isVstr) == T                       ! surface v-stress

Logical switches (TRUE/FALSE) to specify the surface tracer forcing variable whose stochastic optimals is required (NT values are expected).

     SOstate(isTsur) == F F                     ! surface tracer flux

Stochastic optimals surface forcing standard deviation for dimensionalization.

     SO_sdev(isUstr) == 1.0d0                   ! surface u-stress
     SO_sdev(isVstr) == 1.0d0                   ! surface v-stress
     SO_sdev(isTsur) == 1.0d0 1.0d0             ! NT surface tracer flux

Logical switches (TRUE/FALSE) to activate writing of fields into HISTORY output file. If CPP option AVERAGES is defined, these switches will cause the same data to be averaged and written to the averages file.

     Hout(idUvel) == T                          ! 3D U-velocity
     Hout(idVvel) == T                          ! 3D V-velocity
     Hout(idWvel) == T                          ! 3D W-velocity
     Hout(idOvel) == T                          ! omega vertical velocity
     Hout(idUbar) == T                          ! 2D U-velocity
     Hout(idVbar) == T                          ! 2D V-velocity
     Hout(idFsur) == T                          ! free-surface
     Hout(idTvar) == T T                        ! temperature and salinity
     Hout(idUsms) == F                          ! surface U-stress
     Hout(idVsms) == F                          ! surface V-stress
     Hout(idUbms) == F                          ! bottom U-stress
     Hout(idVbms) == F                          ! bottom V-stress   
     Hout(idUbrs) == F                          ! bottom U-current stress
     Hout(idVbrs) == F                          ! bottom V-current stress
     Hout(idUbws) == F                          ! bottom U-wave stress
     Hout(idVbws) == F                          ! bottom V-wave stress
     Hout(idUbcs) == F                          ! bottom max wave-current U-stress
     Hout(idVbcs) == F                          ! bottom max wave-current V-stress
     Hout(idUbot) == F                          ! bed wave orbital U-velocity
     Hout(idVbot) == F                          ! bed wave orbital V-velocity
     Hout(idUbur) == F                          ! bottom U-velocity above bed
     Hout(idVbvr) == F                          ! bottom V-velocity above bed
     Hout(idTsur) == F F                        ! surface net heat and salt flux
     Hout(idLhea) == F                          ! latent heat flux
     Hout(idShea) == F                          ! sensible heat flux
     Hout(idLrad) == F                          ! longwave radiation flux
     Hout(idSrad) == F                          ! shortwave radiation flux
     Hout(idevap) == F                          ! evaporation rate
     Hout(idrain) == F                          ! precipitation rate
     Hout(idDano) == F                          ! density anomaly
     Hout(idVvis) == F                          ! vertical viscosity
     Hout(idTdif) == F                          ! vertical T-diffusion
     Hout(idSdif) == F                          ! vertical Salinity diffusion
     Hout(idHsbl) == F                          ! depth of surface boundary layer
     Hout(idHbbl) == F                          ! depth of bottom boundary layer
     Hout(idMtke) == F                          ! turbulent kinetic energy
     Hout(idMtls) == F                          ! turbulent length scale

Logical switches (TRUE/FALSE) to activate writing of extra inert passive tracers other than biological and sediment tracers. An inert passive tracer is one that it is only advected and diffused. Other processes are ignored. These tracers include, for example, dyes, pollutants, oil spills, etc. NPT values are expected. However, these switches can be activated using compact parameter specification.

      Hout(inert) == T                          ! inert passive tracers

Logical switches (TRUE/FALSE) to activate writing of exposed sediment layer properties into HISTORY output file. Currently, MBOTP properties are expected for the bottom boundary layer and/or sediment models:

  Hout(idBott(isd50)),  isd50 = 1        ! mean grain diameter
  Hout(idBott(idens)),  idens = 2        ! mean grain density
  Hout(idBott(iwsed)),  iwsed = 3        ! mean settling velocity
  Hout(idBott(itauc)),  itauc = 4        ! critical erosion stress
  Hout(idBott(irlen)),  irlen = 5        ! ripple length
  Hout(idBott(irhgt)),  irhgt = 6        ! ripple height
  Hout(idBott(ibwav)),  ibwav = 7        ! wave excursion amplitude
  Hout(idBott(izdef)),  izdef = 8        ! default bottom roughness
  Hout(idBott(izapp)),  izapp = 9        ! apparent bottom roughness
  Hout(idBott(izNik)),  izNik = 10       ! Nikuradse bottom roughness
  Hout(idBott(izbio)),  izbio = 11       ! biological bottom roughness
  Hout(idBott(izbfm)),  izbfm = 12       ! bed form bottom roughness
  Hout(idBott(izbld)),  izbld = 13       ! bed load bottom roughness
  Hout(idBott(izwbl)),  izwbl = 14       ! wave bottom roughness
  Hout(idBott(iactv)),  iactv = 15       ! active layer thickness
  Hout(idBott(ishgt)),  ishgt = 16       ! saltation height
                                1 1 1 1 1 1 1
              1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6
   Hout(idBott) == T T T T T T T T T F F F F F F F

Generic User parameters, [1:NUSER].

      NUSER =  0
       USER =  0.d0

Input NetCDF file names, [1:Ngrids].

    GRDNAME == ocean_grd.nc
    ININAME == ocean_ini.nc
    ITLNAME == ocean_itl.nc
    IRPNAME == ocean_irp.nc
    IADNAME == ocean_iad.nc
    CLMNAME == ocean_clm.nc
    BRYNAME == ocean_bry.nc
    FWDNAME == ocean_fwd.nc
    ADSNAME == ocean_ads.nc

Input forcing NetCDF file name(s). The USER has the option to enter several files names per each nested grid. For example, the USER may have a different files for wind products, heat fluxes, rivers, tides, etc. The model will scan the file list and will read the needed data from the first file in the list containing the forcing field. Therefore, the order of the file names is very important. If multiple forcing files per grid, enter first all the file names for grid 1, then grid 2, and so on. Use a single line per entry with a continuation (\) symbol at the each entry, except the last one.

    NFFILES == 1                          ! number of forcing files
    FRCNAME == ocean_frc.nc               ! forcing file 1, grid 1

Output NetCDF file names, [1:Ngrids].

    GSTNAME == ocean_gst.nc
    RSTNAME == ocean_rst.nc
    HISNAME == ocean_his.nc
    TLMNAME == ocean_tlm.nc
    TLFNAME == ocean_tlf.nc
    ADJNAME == ocean_adj.nc
    AVGNAME == ocean_avg.nc
    DIANAME == ocean_dia.nc
    STANAME == ocean_sta.nc
    FLTNAME == ocean_flt.nc

Input ASCII parameter filenames.

    APARNAM =  ROMS/External/assimilation.in
    SPOSNAM =  ROMS/External/stations.in
    FPOSNAM =  ROMS/External/floats.in
    BPARNAM =  ROMS/External/bioFasham.in
    SPARNAM =  ROMS/External/sediment.in
    USRNAME =  ROMS/External/MyFile.dat