Difference between revisions of "roms.in"

From WikiROMS
Jump to navigationJump to search
 
Line 7: Line 7:
'''Important notes on the ocean.in file syntax:'''
'''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 yor choices.  All comments will ignored during reading. Blank lines are also allowed and ignored. Continuation lines in a parameter specification are allowed and must be preceded by a backslash (\).   
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.


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.
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.


Line 35: Line 35:
                               over a Periodic Channel
                               over a Periodic Channel


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


     VARNAME = ROMS/External/varinfo.dat
     [[VARNAME]] = ROMS/External/[[varinfo.dat]]


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


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


! Time-Stepping parameters.
Time-Stepping parameters.


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


! Model iteration loops parameters.
Model iteration loops parameters.


       ERstr =  1
       ERstr =  1
Line 61: Line 61:
   Nintervals =  1
   Nintervals =  1


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


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


! Input/Output parameters.
Input/Output parameters.


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


! Output history, average, diagnostic files parameters.
Output history, average, diagnostic files parameters.


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


! Output tangent linear and adjoint models parameters.
Output tangent linear and adjoint models parameters.


   LcycleTLM == F
   LcycleTLM == F
Line 98: Line 98:
     NDEFADJ == 0
     NDEFADJ == 0


! Output check pointing GST restart parameters.
Output check pointing GST restart parameters.


     LrstGST =  F                              ! GST restart switch
     LrstGST =  F                              ! GST restart switch
Line 104: Line 104:
         NGST =  10                              ! check pointing interval
         NGST =  10                              ! check pointing interval


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


     Ritz_tol =  1.0d-15
     Ritz_tol =  1.0d-15


! Harmonic/biharmonic horizontal diffusion of tracer: [1:NAT+NPT,Ngrids].
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
         [[TNU2]] == 0.0d0  0.0d0                    ! m2/s
         TNU4 == 2*0.0d0                        ! m4/s
         [[TNU4]] == 2*0.0d0                        ! m4/s


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


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


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


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


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


     AKV_BAK == 1.0d-5                          ! m2/s
     AKV_BAK == 1.0d-5                          ! m2/s


! Turbulent closure parameters.
Turbulent closure parameters.


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


! Generic length-scale turbulence closure parameters.
Generic length-scale turbulence closure parameters. See [[GLS_MIXING]]


       GLS_P == 3.0d0                          ! K-epsilon
       GLS_P == 3.0d0                          ! K-epsilon
Line 149: Line 149:
     GLS_SIGP == 1.30d0
     GLS_SIGP == 1.30d0


! Constants used in momentum stress computation.
Constants used in momentum stress computation.
                                      
                                      
         RDRG == 3.0d-04                    ! m/s
         RDRG == 3.0d-04                    ! m/s (requires CPP option
       RDRG2 == 3.0d-03                    ! nondimensional
       RDRG2 == 3.0d-03                    ! nondimensional
         Zob == 0.02d0                    ! m
         Zob == 0.02d0                    ! m
         Zos == 0.02d0                    ! m
         Zos == 0.02d0                    ! m


! Various parameters.
Various parameters.


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


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


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


! Mean Density and Brunt-Vaisala frequency.
Mean Density and Brunt-Vaisala frequency.


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


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


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


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


       TNUDG == 2*0.0d0                    ! days
       TNUDG == 2*0.0d0                    ! days
Line 189: Line 189:
       M3NUDG == 0.0d0                      ! days
       M3NUDG == 0.0d0                      ! days


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


       OBCFAC == 0.0d0                      ! nondimensional
       [[OBCFAC]] == 0.0d0                      ! nondimensional


! Linear equation of State parameters:
Linear equation of State parameters:


           R0 == 1027.0d0                  ! kg/m3
           R0 == 1027.0d0                  ! kg/m3
Line 203: Line 203:
       SCOEF == 7.6d-4                    ! 1/PSU
       SCOEF == 7.6d-4                    ! 1/PSU


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


       GAMMA2 =  1.0d0
       [[GAMMA2]] =  1.0d0


! Starting (DstrS) and ending (DendS) day for adjoint sensitivity forcing.
Starting (DstrS) and ending (DendS) day for adjoint sensitivity forcing.
! DstrS must be less or equal to DendS. If both values are zero, their
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.
values are reset internally to the full range of the adjoint integration.


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


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


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


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


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


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


Lstate(isTvar) == F F                      ! tracers
      Lstate(isTvar) == F F                      ! tracers


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


     SO_decay == 2.0d0                      ! days
     SO_decay == 2.0d0                      ! days


! Logical switches (TRUE/FALSE) to specify the state surface forcing
Logical switches (TRUE/FALSE) to specify the state surface forcing
! variable whose stochastic optimals is required.
variable whose stochastic optimals is required.
 
      SOstate(isUstr) == T                      ! surface u-stress
      SOstate(isVstr) == T                      ! surface v-stress


SOstate(isUstr) == T                      ! surface u-stress
Logical switches (TRUE/FALSE) to specify the surface tracer forcing
SOstate(isVstr) == T                      ! surface v-stress
variable whose stochastic optimals is required (NT values are expected).


! Logical switches (TRUE/FALSE) to specify the surface tracer forcing
      SOstate(isTsur) == F F                    ! surface tracer flux
! 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.


! Stochastic optimals surface forcing standard deviation for
      SO_sdev(isUstr) == 1.0d0                  ! surface u-stress
! dimensionalization.
      SO_sdev(isVstr) == 1.0d0                  ! surface v-stress
      SO_sdev(isTsur) == 1.0d0 1.0d0            ! NT surface tracer flux


SO_sdev(isUstr) == 1.0d0                  ! surface u-stress
Logical switches (TRUE/FALSE) to activate writing of fields into
SO_sdev(isVstr) == 1.0d0                  ! surface v-stress
HISTORY output file. If CPP option [[AVERAGES]] is defined, these switches will cause the same
SO_sdev(isTsur) == 1.0d0 1.0d0            ! NT surface tracer flux
data to be averaged and written to the averages file.


! Logical switches (TRUE/FALSE) to activate writing of fields into
      Hout(idUvel) == T                          ! 3D U-velocity
! HISTORY output file.
      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(idUvel) == T                         ! 3D U-velocity
      Hout(idTvar) == T T                       ! temperature and salinity
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(idUsms) == F                          ! surface U-stress
      Hout(idUbot) == F                          ! bed wave orbital U-velocity
Hout(idVsms) == F                          ! surface V-stress
      Hout(idVbot) == F                          ! bed wave orbital V-velocity
Hout(idUbms) == F                          ! bottom U-stress
      Hout(idUbur) == F                          ! bottom U-velocity above bed
Hout(idVbms) == F                          ! bottom V-stress
      Hout(idVbvr) == F                          ! bottom V-velocity above bed


Hout(idUbrs) == F                          ! bottom U-current stress
      Hout(idTsur) == F F                        ! surface net heat and salt flux
Hout(idVbrs) == F                          ! bottom V-current stress
      Hout(idLhea) == F                          ! latent heat flux
Hout(idUbws) == F                          ! bottom U-wave stress
      Hout(idShea) == F                          ! sensible heat flux
Hout(idVbws) == F                          ! bottom V-wave stress
      Hout(idLrad) == F                          ! longwave radiation flux
Hout(idUbcs) == F                          ! bottom max wave-current U-stress
      Hout(idSrad) == F                          ! shortwave radiation flux
Hout(idVbcs) == F                          ! bottom max wave-current V-stress
      Hout(idevap) == F                          ! evaporation rate
      Hout(idrain) == F                          ! precipitation rate


Hout(idUbot) == F                          ! bed wave orbital U-velocity
      Hout(idDano) == F                          ! density anomaly
Hout(idVbot) == F                          ! bed wave orbital V-velocity
      Hout(idVvis) == F                          ! vertical viscosity
Hout(idUbur) == F                          ! bottom U-velocity above bed
      Hout(idTdif) == F                          ! vertical T-diffusion
Hout(idVbvr) == F                          ! bottom V-velocity above bed
      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


Hout(idTsur) == F F                        ! surface net heat and salt flux
Logical switches (TRUE/FALSE) to activate writing of extra inert passive
Hout(idLhea) == F                          ! latent heat flux
tracers other than biological and sediment tracers. An inert passive tracer
Hout(idShea) == F                          ! sensible heat flux
is one that it is only advected and diffused. Other processes are ignored.
Hout(idLrad) == F                          ! longwave radiation flux
These tracers include, for example, dyes, pollutants, oil spills, etc.
Hout(idSrad) == F                          ! shortwave radiation flux
NPT values are expected. However, these switches can be activated using
Hout(idevap) == F                          ! evaporation rate
compact parameter specification.
Hout(idrain) == F                          ! precipitation rate


Hout(idDano) == F                          ! density anomaly
      Hout(inert) == T                          ! inert passive tracers
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
Logical switches (TRUE/FALSE) to activate writing of exposed sediment
! tracers other than biological and sediment tracers. An inert passive tracer
layer properties into HISTORY output file. Currently, MBOTP properties
! is one that it is only advected and diffused. Other processes are ignored.
are expected for the bottom boundary layer and/or sediment models:
! 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
  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


! Logical switches (TRUE/FALSE) to activate writing of exposed sediment
                                1 1 1 1 1 1 1
! layer properties into HISTORY output file.  Currently, MBOTP properties
              1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6
! 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
    Hout(idBott) == T T T T T T T T T F F F F F F F


! Generic User parameters, [1:NUSER].
Generic User parameters, [1:NUSER].


       NUSER =  0
       NUSER =  0
         USER =  0.d0
         USER =  0.d0


! Input NetCDF file names, [1:Ngrids].
Input NetCDF file names, [1:Ngrids].


     GRDNAME == ocean_grd.nc
     GRDNAME == ocean_grd.nc
Line 356: Line 356:
     ADSNAME == ocean_ads.nc
     ADSNAME == ocean_ads.nc


! Input forcing NetCDF file name(s).  The USER has the option to enter
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
several files names per each nested grid.  For example, the USER may
! have a different files for wind products, heat fluxes, rivers, tides,
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
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,
from the first file in the list containing the forcing field. Therefore,
! the order of the file names is very important.  If multiple forcing
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,
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
and so on.  Use a single line per entry with a continuation (\) symbol
! at the each entry, except the last one.
at the each entry, except the last one.


     NFFILES == 1                          ! number of forcing files
     [[NFFILES]] == 1                          ! number of forcing files


     FRCNAME == ocean_frc.nc              ! forcing file 1, grid 1
     [[FRCNAME]] == ocean_frc.nc              ! forcing file 1, grid 1


! Output NetCDF file names, [1:Ngrids].
Output NetCDF file names, [1:Ngrids].


     GSTNAME == ocean_gst.nc
     GSTNAME == ocean_gst.nc
Line 383: Line 383:
     FLTNAME == ocean_flt.nc
     FLTNAME == ocean_flt.nc


! Input ASCII parameter filenames.
Input ASCII parameter filenames.


     APARNAM =  ROMS/External/assimilation.in
     APARNAM =  ROMS/External/assimilation.in

Revision as of 02:45, 7 December 2006

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