Failure to print the results of passive tracer in the output of the roms model

Discussion about Ocean Modeling Communities Meetings, Workshops and Events.

Moderators: arango, robertson

Post Reply
Message
Author
jakarimi
Posts: 2
Joined: Tue Jan 03, 2023 1:44 pm
Location: Imam Hossein Comprehensive University

Failure to print the results of passive tracer in the output of the roms model

#1 Unread post by jakarimi »

!
! ROMS/TOMS Standard Input parameters.
!
! svn $Id: roms_upwelling.in 1210 2024-01-03 22:03:03Z arango $
!========================================================= Hernan G. Arango ===
! Copyright (c) 2002-2024 The ROMS/TOMS Group !
! Licensed under a MIT/X style license !
! See License_ROMS.md !
!==============================================================================
! !
! Input parameters can be entered in ANY order, provided that the parameter !
! KEYWORD (usually, upper case) is typed correctly followed by "=" or "==" !
! symbols. Any comment lines are allowed and must begin with an exclamation !
! mark (!) in column one. Comments may appear to the right of a parameter !
! specification to improve documentation. Comments are ignored during !
! reading. Blank lines are also allowed and ignored. Continuation lines in !
! a parameter specification are allowed if preceded by a backslash (\). In !
! some instances, more than one value is required for a parameter. If fewer !
! values are provided, the last value is assigned for the entire parameter !
! array. The multiplication symbol (*), without blank spaces in between, !
! is allowed for a parameter specification. For example, in two grids nested !
! application: !
! !
! AKT_BAK == 2*1.0d-6 2*5.0d-6 ! m2/s !
! !
! indicates that the first two entries of array AKT_BAK, in fortran column- !
! major order, will have the same value of "1.0d-6" for grid 1, whereas the !
! next two entries will have the same value of "5.0d-6" for grid 2. !
! !
! In multiple levels of nesting or multiple connected domains step-ups, !
! "Ngrids" entries are expected for some of these parameters. In such case, !
! the order of the entries for a parameter is critical. It must follow the !
! same order (1:Ngrids) as in the state variable declaration. The USER may !
! follow the above guidelines for specifying his/her values. These parameters !
! are marked by "==" plural symbol after the KEYWORD. !
! !
! Multiple NetCDF files are allowed for input field(s). It is useful when !
! splitting input data (climatology, boundary, forcing) time records into !
! several files (say monthly, annual, etc.). In this case, each multiple !
! filename entry lines need to end with the vertical bar (|) symbol. For !
! example: !
! !
! NFFILES == 6 ! number of forcing files !
! !
! FRCNAME == my_lwrad_year1.nc | !
! my_lwrad_year2.nc \ !
! my_swrad_year1.nc | !
! my_swrad_year2.nc \ !
! my_winds_year1.nc | !
! my_winds_year2.nc \ !
! my_Pair_year1.nc | !
! my_Pair_year2.nc \ !
! my_Qair_year1.nc | !
! my_Qair_year2.nc \ !
! my_Tair_year1.nc | !
! my_Tair_year2.nc !
! !
! Notice that NFFILES is 6 and not 12. There are 6 uniquely different fields !
! in the file list, we DO NOT count file entries followed by the vertical !
! bar symbol. This is because multiple file entries are processed in ROMS !
! with derived type structures. !
! !
!==============================================================================
!
! Application title.

TITLE = Wind-Driven Upwelling/Downwelling over a Periodic Channel

! C-preprocessing Flag.

MyAppCPP = UPWELLING

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

!mayvan
! VARNAME = ROMS/External/varinfo.yaml

VARNAME = /home/ocean/Documents/ROMS_MODEL/run_model/2-tide/upwelling/varinfo.yaml

! Number of nested grids.

Ngrids = 1

! Number of grid nesting layers. This parameter is used to allow refinement
! and composite grid combinations.

NestLayers = 1

! Number of grids in each nesting layer [1:NestLayers].

GridsInLayer = 1

! Grid dimension parameters. See notes below in the Glossary for how to set
! these parameters correctly. mayvan

Lm == 148 ! Number of I-direction INTERIOR RHO-points - (xi_rho-2)
Mm == 298 ! Number of J-direction INTERIOR RHO-points - (Mm=eta_rho-2)
N == 10 ! Number of vertical levels

Nbed = 0 ! Number of sediment bed layers

NAT = 2 ! Number of active tracers (usually, 2)
NPT = 1 ! Number of inactive passive tracers mayvan

NCS = 0 ! Number of cohesive (mud) sediment tracers
NNS = 0 ! Number of non-cohesive (sand) sediment tracers

! 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]. mayvan

NtileI == 2 ! I-direction partition
NtileJ == 2 ! J-direction partition

! Set horizontal and vertical advection schemes for active and inert
! tracers. A different advection scheme is allowed for each tracer.
! For example, a positive-definite (monotonic) algorithm can be activated
! for salinity and inert tracers, while a different one is set for
! temperature. [1:NAT+NPT,Ngrids] values are expected.
!
! Keyword Advection Algorithm
!
! A4 4th-order Akima (horizontal/vertical)
! C2 2nd-order centered differences (horizontal/vertical)
! C4 4th-order centered differences (horizontal/vertical)
! HSIMT 3th-order HSIMT-TVD (horizontal/vertical)
! MPDATA recursive flux corrected MPDATA (horizontal/vertical)
! SPLINES parabolic splines (only vertical)
! SU3 split third-order upstream (horizontal/vertical)
! U3 3rd-order upstream-biased (only horizontal)
!
! The user has the option of specifying the full Keyword or the first
! two letters, regardless if using uppercase or lowercase. If nested
! grids, specify values for each grid (see glossary below).

Hadvection == U3 \ ! temperature
HSIMT ! salinity

Vadvection == C4 \ ! temperature
HSIMT ! salinity

! Adjoint-based algorithms can have different horizontal and schemes
! for active and inert tracers.

ad_Hadvection == U3 \ ! temperature
U3 ! salinity

ad_Vadvection == C4 \ ! temperature
C4 ! salinity

! Set lateral boundary conditions keyword. Notice that a value is expected
! for each boundary segment per nested grid for each state variable.
!
! Each tracer variable requires [1:4,1:NAT+NPT,Ngrids] values. Otherwise,
! [1:4,1:Ngrids] values are expected for other variables. The boundary
! order is: 1=west, 2=south, 3=east, and 4=north. That is, anticlockwise
! starting at the western boundary.
!
! The keyword is case insensitive and usually has three characters. However,
! it is possible to have compound keywords, if applicable. For example, the
! keyword "RadNud" implies radiation boundary condition with nudging. This
! combination is usually used in active/passive radiation conditions.
!
! Keyword Lateral Boundary Condition Type
!
! Cha Chapman_implicit (free-surface)
! Che Chapman_explicit (free-surface)
! Cla Clamped
! Clo Closed
! Fla Flather (2D momentum) (only used for 2D and for 3D dont used) _____N_____ j=Mm
! Gra Gradient | 4 |
! Nes Nested (refinement) | |
! Nud Nudging 1 W E 3
! Per Periodic | |
! Rad Radiation |_____S_____|
! Red Reduced Physics (2D momentum) 2 j=1
! Shc Shchepetkin (2D momentum) i=1 i=Lm
!
! W S E N
! e o a o
! s u s r
! t t t t
! h h
!
! 1 2 3 4
! mayvan
LBC(isFsur) == Clo Clo Cha Clo ! free-surface
LBC(isUbar) == Clo Clo Fla Clo ! 2D U-momentum
LBC(isVbar) == Clo Clo Fla Clo ! 2D V-momentum
LBC(isUvel) == Clo Clo Cha Clo ! 3D U-momentum
LBC(isVvel) == Clo Clo Cha Clo ! 3D V-momentum
LBC(isMtke) == Clo Clo Gra Clo ! mixing TKE

LBC(isTvar) == Clo Clo Gra Clo \ ! temperature
Clo Clo Gra Clo ! salinity
Clo Cla Rad Cla ! dye_01

! Waves Effect on Currents lateral boundary conditions.

LBC(isU2Sd) == Clo Clo Fla Clo ! 2D U-Stokes
LBC(isV2Sd) == Clo Clo Fla Clo ! 2D V-Stokes
LBC(isU3Sd) == Clo Clo Cha Clo ! 3D U-Stokes
LBC(isV3Sd) == Clo Clo Cha Clo ! 3D V-Stokes

! Adjoint-based algorithms can have different lateral boundary
! conditions keywords.

ad_LBC(isFsur) == Clo Clo Gra Clo ! free-surface
ad_LBC(isUbar) == Clo Clo Fla Clo ! 2D U-momentum
ad_LBC(isVbar) == Clo Clo Fla Clo ! 2D U-momentum
ad_LBC(isUvel) == Clo Clo Cha Clo ! 3D U-momentum
ad_LBC(isVvel) == Clo Clo Cha Clo ! 3D V-momentum
ad_LBC(isMtke) == Clo Clo Gra Clo ! mixing TKE

ad_LBC(isTvar) == Clo Clo Gra Clo \ ! temperature
Clo Clo Gra Clo ! salinity
Clo Cla Rad Cla ! dye_01

! Set lateral open boundary edge volume conservation switch for
! nonlinear model and adjoint-based algorithms. Usually activated
! with radiation boundary conditions to enforce global mass
! conservation, except if tidal forcing is enabled. [1:Ngrids].

VolCons(west) == F ! western boundary
VolCons(east) == F ! eastern boundary
VolCons(south) == F ! southern boundary
VolCons(north) == F ! northern boundary

ad_VolCons(west) == F ! western boundary
ad_VolCons(east) == F ! eastern boundary
ad_VolCons(south) == F ! southern boundary
ad_VolCons(north) == F ! northern boundary

! Time-Stepping parameters. mayvan

NTIMES == 10
DT == 300.0d0
NDTFAST == 30

! Number of timesteps for computing observation impacts during the
! analysis-forecast cycle.

NTIMES_ANA == 10 ! analysis interval
NTIMES_FCT == 10 ! forecast interval

! Model iteration loops parameters.

ERstr = 1
ERend = 1
Nouter = 1
Ninner = 1
Nsaddle = 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. mayvan

NRREC == 0
LcycleRST == T
NRST == 360 ! Every 1 hour
NSTA == 360 ! Every 1 hour
NFLT == 360 ! Every 1 hour
NINFO == 360 ! Every 1 hour

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

LDEFOUT == T
NHIS == 60 ! Every 10 minutes
NDEFHIS == 0
NQCK == 0
NDEFQCK == 0
NTSAVG == 1
NAVG == 60 ! Every 10 minutes
NDEFAVG == 0
NTSDIA == 1
NDIA == 60 ! Every 10 minutes
NDEFDIA == 0

! Output tangent linear and adjoint models parameters.

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

! GST output and check pointing restart parameters.

LmultiGST = F ! one eigenvector per file
LrstGST = F ! GST restart switch
MaxIterGST = 500 ! maximum 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 tracer for nonlinear model
! and adjoint-based algorithms: [1:NAT+NPT,Ngrids].

TNU2 == 8*5.0d0 ! m2/s
TNU4 == 8*0.0d0 ! m4/s

ad_TNU2 == 0.0d0 0.0d0 ! m2/s
ad_TNU4 == 0.0d0 0.0d0 ! m4/s

! Harmonic/biharmonic, horizontal viscosity coefficient for nonlinear model
! and adjoint-based algorithms: [Ngrids].

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

ad_VISC2 == 0.0d0 ! m2/s
ad_VISC4 == 0.0d0 ! m4/s

! Logical switches (TRUE/FALSE) to increase/decrease horizontal viscosity
! and/or diffusivity in specific areas of the application domain (like
! sponge areas) for the desired application grid.

LuvSponge == F ! horizontal momentum
LtracerSponge == F F F ! temperature, salinity, inert

! Vertical mixing coefficients for tracers in nonlinear model and
! basic state scale factor in adjoint-based algorithms: [1:NAT+NPT,Ngrids]

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

ad_AKT_fac == 1.0d0 1.0d0 ! nondimensional

! Vertical mixing coefficient for momentum for nonlinear model and
! basic state scale factor in adjoint-based algorithms: [Ngrids].

AKV_BAK == 1.0d-5 ! m2/s

ad_AKV_fac == 1.0d0 ! nondimensional

! Upper threshold values to limit vertical mixing coefficients computed
! from vertical mixing parameterizations. Although this is an engineering
! fix, the vertical mixing values inferred from ocean observations are
! rarely higher than this upper limit value.

AKT_LIMIT == 1.0d-3 1.0d-3 ! m2/s

AKV_LIMIT == 1.0d-3 ! 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.

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 surface turbulent kinetic energy flux computation.

CHARNOK_ALPHA == 1400.0d0 ! Charnock surface roughness
ZOS_HSIG_ALPHA == 0.5d0 ! roughness from wave amplitude
SZ_ALPHA == 0.25d0 ! roughness from wave dissipation
CRGBAN_CW == 100.0d0 ! Craig and Banner wave breaking

! Waves Effect on Current wave dissipation action scale:
!
! [0.0] All wave dissipation goes to breaking and none to roller
! [1.0] All wave dissipation goes to roller and none to breaking

WEC_ALPHA == 0.0d0

! Constants used in momentum stress computation.

RDRG == 3.0d-04 ! m/s
RDRG2 == 3.0d-03 ! nondimensional
Zob == 0.003d0 ! m
Zos == 0.02d0 ! m

! Height (m) of atmospheric measurements for Bulk fluxes parameterization.

BLK_ZQ == 10.0d0 ! air humidity
BLK_ZT == 10.0d0 ! air temperature
BLK_ZW == 10.0d0 ! winds

! Minimum depth for wetting and drying. mayvan

DCRIT == 0.50d0 ! m

! Various parameters.

WTYPE == 1
LEVSFRC == 15
LEVBFRC == 1

! Set vertical, terrain-following coordinates transformation equation and
! stretching function (see below for details), [1:Ngrids]. mayvan

Vtransform == 1 ! transformation equation
Vstretching == 3 ! stretching function

! Vertical S-coordinates parameters (see below for details), [1:Ngrids]. mayvan

THETA_S == 8.0d0 ! surface stretching parameter
THETA_B == 4.0d0 ! bottom stretching parameter
TCLINE == 20.0d0 ! critical depth (m), Width of the surface or bottom boundary...
! layer in which higher vertical reso-
lution is required during stretching.

! Mean Density and Brunt-Vaisala frequency.

RHO0 = 1024.0d0 ! kg/m3
BVF_BAK = 1.0d-5 ! 1/s2

! If tide generating forces, set switch (T/F) to apply a 18.6-year lunar
! nodal correction to equilibrium tide constituents.

Lnodal = T

! Time-stamp assigned for model initialization, reference time
! origin for tidal forcing, and model reference time for output
! NetCDF units attribute. mayvan
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 == 1024.0d0 ! kg/m3
T0 == 17.0d0 ! Celsius
S0 == 35.0d0 ! nondimensional
TCOEF == 1.7d-4 ! 1/Celsius
SCOEF == 0.0d0 ! nondimensional

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

GAMMA2 == 1.0d0

! Logical switches (TRUE/FALSE) to activate horizontal momentum transport
! point Sources/Sinks (like river runoff transport) and mass point
! Sources/Sinks (like volume vertical influx), [1:Ngrids].

LuvSrc == F ! horizontal momentum transport
LwSrc == F ! volume vertical influx

! Logical switches (TRUE/FALSE) to activate tracers point Sources/Sinks
! (like river runoff) and to specify which tracer variables to consider:
! [1:NAT+NPT,Ngrids]. See glossary below for details.

LtracerSrc == F F F ! temperature, salinity, inert

! Logical switches (TRUE/FALSE) to read and process climatology fields.
! See glossary below for details.

LsshCLM == F ! sea-surface height
Lm2CLM == F ! 2D momentum
Lm3CLM == F ! 3D momentum

LtracerCLM == F F T ! temperature, salinity, inert

! Logical switches (TRUE/FALSE) to nudge the desired climatology field(s).
! If not analytical climatology fields, users need to turn ON the logical
! switches above to process the fields from the climatology NetCDF file
! that are needed for nudging. See glossary below for details.

LnudgeM2CLM == F ! 2D momentum
LnudgeM3CLM == F ! 3D momentum

LnudgeTCLM == F F ! temperature, salinity, inert

! 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
Lstate(isWvel) == F ! 3D W-momentum

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

! Logical switches (TRUE/FALSE) to specify the state variables for
! which Forcing Singular Vectors or Stochastic Optimals is required.

Fstate(isFsur) == F ! free-surface
Fstate(isUbar) == F ! 2D U-momentum
Fstate(isVbar) == F ! 2D V-momentum
Fstate(isUvel) == F ! 3D U-momentum
Fstate(isVvel) == F ! 3D V-momentum
Fstate(isTvar) == F F F ! NT tracers

Fstate(isUstr) == T ! surface U-stress
Fstate(isVstr) == T ! surface V-stress
Fstate(isTsur) == F F F ! NT surface tracers flux

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

SO_decay == 2.0d0 ! days

! Stochastic Optimals surface forcing standard deviation for
! dimensionalization.

SO_sdev(isFsur) == 1.0d0 ! free-surface
SO_sdev(isUbar) == 1.0d0 ! 2D U-momentum
SO_sdev(isVbar) == 1.0d0 ! 2D V-momentum
SO_sdev(isUvel) == 1.0d0 ! 3D U-momentum
SO_sdev(isVvel) == 1.0d0 ! 3D V-momentum
SO_sdev(isTvar) == 1.0d0 1.0d0 1.0d0 ! NT tracers

SO_sdev(isUstr) == 1.0d0 ! surface U-stress
SO_sdev(isVstr) == 1.0d0 ! surface V-stress
SO_sdev(isTsur) == 1.0d0 1.0d0 1.0d0 ! NT surface tracers flux

! Logical switches (TRUE/FALSE) to activate writing of fields into
! HISTORY output file.

Hout(idUvel) == T ! u 3D U-velocity
Hout(idVvel) == T ! v 3D V-velocity
Hout(idu3dE) == F ! u_eastward 3D U-eastward at RHO-points
Hout(idv3dN) == F ! v_northward 3D V-northward at RHO-points
Hout(idWvel) == T ! w 3D W-velocity
Hout(idOvel) == T ! omega omega vertical velocity
! Hout(idOvil) == F ! omega_implicit omega implicit vertical velocity
Hout(idUbar) == T ! ubar 2D U-velocity
Hout(idVbar) == T ! vbar 2D V-velocity
Hout(idu2dE) == T ! ubar_eastward 2D U-eastward at RHO-points
Hout(idv2dN) == T ! vbar_northward 2D V-northward at RHO-points
Hout(idFsur) == T ! zeta free-surface
Hout(idBath) == F ! bath time-dependent bathymetry

Hout(idTvar) == T T ! temp, salt temperature and salinity

Hout(idpthR) == F ! z_rho time-varying depths of RHO-points
Hout(idpthU) == F ! z_u time-varying depths of U-points
Hout(idpthV) == F ! z_v time-varying depths of V-points
Hout(idpthW) == F ! z_w time-varying depths of W-points

Hout(idUsms) == F ! sustr surface U-stress
Hout(idVsms) == F ! svstr surface V-stress
Hout(idUbms) == F ! bustr bottom U-stress
Hout(idVbms) == F ! bvstr bottom V-stress

Hout(idUbrs) == F ! bustrc bottom U-current stress
Hout(idVbrs) == F ! bvstrc bottom V-current stress
Hout(idUbws) == F ! bustrw bottom U-wave stress
Hout(idVbws) == F ! bvstrw bottom V-wave stress
Hout(idUbcs) == F ! bustrcwmax bottom max wave-current U-stress
Hout(idVbcs) == F ! bvstrcwmax bottom max wave-current V-stress
Hout(idUVwc) == F ! bstrcwmax bottom max wave-current stress magnitude

Hout(idUbot) == F ! Ubot bed wave orbital U-velocity
Hout(idVbot) == F ! Vbot bed wave orbital V-velocity
Hout(idUbur) == F ! Ur bottom U-velocity above bed
Hout(idVbvr) == F ! Vr bottom V-velocity above bed

Hout(idWztw) == F ! zetaw WEC_VF quasi-static sea level adjustment
Hout(idWqsp) == F ! qsp WEC_VF quasi-static pressure adjustment
Hout(idWbeh) == F ! bernoulli_head WEC_VF Bernoulli head adjustment

Hout(idU2rs) == F ! ubar_wec_stress WEC 2D U-stress
Hout(idV2rs) == F ! vbar_wec_stress WEC 2D V-stress
Hout(idU3rs) == F ! u_wec_stress WEC 3D U-stress
Hout(idV3rs) == F ! v_wec_stress WEC 3D V-stress

Hout(idU2Sd) == F ! ubar_stokes 2D Stokes U-velocity
Hout(idV2Sd) == F ! vbar_stokes 2D Stokes V-velocity
Hout(idU3Sd) == F ! u_stokes 3D Stokes U-velocity
Hout(idV3Sd) == F ! v_stokes 3D Stokes V-velocity
Hout(idW3St) == F ! w_stokes 3D Stokes W-velocity
Hout(idW3Sd) == F ! omega_stokes 3D Stokes omega-velocity

Hout(idWamp) == F ! Hwave wave significat height
Hout(idWlen) == F ! Lwave wave mean wavelength
Hout(idWlep) == F ! Lwavep wave peak wavelength
Hout(idWdir) == F ! Dwave wave mean direction
Hout(idWdip) == F ! Dwavep wave peak direction
Hout(idWptp) == F ! Pwave_top wave surface period
Hout(idWpbt) == F ! Pwave_bot wave bottom period
Hout(idWorb) == F ! Uwave_rms wave bottom orbital velocity
Hout(idWbrk) == F ! Wave_break wave breaking (percent)
Hout(idUwav) == F ! uWave wave depth-averaged U-velocity
Hout(idVwav) == F ! vWave wave depth-averaged V-velocity
Hout(idWdif) == F ! Dissip_fric wave dissipation from bottom friction
Hout(idWdib) == F ! Dissip_break wave dissipation from breaking
Hout(idWdiw) == F ! Dissip_wcap wave dissipation from whitecapping
Hout(idWdis) == F ! Dissip_roller wave roller dissipation
Hout(idWrol) == F ! roller_action wave roller action density

Hout(idPair) == F ! Pair surface air pressure
Hout(idTair) == F ! Tair surface air temperature
Hout(idUair) == F ! Uwind surface U-wind
Hout(idVair) == F ! Vwind surface V-wind
Hout(idUaiE) == F ! Uwind_eastward surface Eastward U-wind
Hout(idVaiN) == F ! Vwind_northward surface Northward V-wind

Hout(idTsur) == F F ! shflux, ssflux surface net heat and salt flux
Hout(idLhea) == F ! latent latent heat flux
Hout(idShea) == F ! sensible sensible heat flux
Hout(idLrad) == F ! lwrad longwave radiation flux
Hout(idSrad) == F ! swrad shortwave radiation flux
Hout(idEmPf) == F ! EminusP E-P flux
Hout(idevap) == F ! evaporation evaporation rate
Hout(idrain) == F ! rain precipitation rate

Hout(idDano) == T ! rho density anomaly
Hout(idVvis) == T ! AKv vertical viscosity
Hout(idTdif) == T ! AKt vertical T-diffusion
Hout(idSdif) == T ! AKs vertical Salinity diffusion
Hout(idHsbl) == T ! Hsbl depth of surface boundary layer
Hout(idHbbl) == T ! Hbbl depth of bottom boundary layer
Hout(idMtke) == T ! tke turbulent kinetic energy
Hout(idMtls) == T ! gls turbulent length scale

! Logical switches (TRUE/FALSE) to activate writing of extra inert passive
! tracers other than biological and sediment tracers into the HISTORY
! output file. 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 ! dye_01, ... inert passive tracers

! Logical switches (TRUE/FALSE) to activate writing of fields into
! QUICKSAVE output file.

Qout(idUvel) == F ! u 3D U-velocity
Qout(idVvel) == F ! v 3D V-velocity
Qout(idu3dE) == F ! u_eastward 3D U-eastward at RHO-points
Qout(idv3dN) == F ! v_northward 3D V-northward at RHO-points
Qout(idWvel) == F ! w 3D W-velocity
Qout(idOvel) == F ! omega omega vertical velocity
Qout(idUbar) == T ! ubar 2D U-velocity
Qout(idVbar) == T ! vbar 2D V-velocity
Qout(idu2dE) == T ! ubar_eastward 2D U-eastward at RHO-points
Qout(idv2dN) == T ! vbar_northward 2D V-northward at RHO-points
Qout(idFsur) == T ! zeta free-surface
Qout(idBath) == F ! bath time-dependent bathymetry

Qout(idTvar) == F F ! temp, salt temperature and salinity

Qout(idUsur) == T ! u_sur surface U-velocity
Qout(idVsur) == T ! v_sur surface V-velocity
Qout(idUsuE) == T ! u_sur_eastward surface U-eastward velocity
Qout(idVsuN) == T ! v_sur_northward surface V-northward velocity

Qout(idsurT) == T T ! temp_sur, salt_sur surface temperature and salinity

Qout(idpthR) == F ! z_rho time-varying depths of RHO-points
Qout(idpthU) == F ! z_u time-varying depths of U-points
Qout(idpthV) == F ! z_v time-varying depths of V-points
Qout(idpthW) == F ! z_w time-varying depths of W-points

Qout(idUsms) == F ! sustr surface U-stress
Qout(idVsms) == F ! svstr surface V-stress
Qout(idUbms) == F ! bustr bottom U-stress
Qout(idVbms) == F ! bvstr bottom V-stress

Qout(idUbrs) == F ! bustrc bottom U-current stress
Qout(idVbrs) == F ! bvstrc bottom V-current stress
Qout(idUbws) == F ! bustrw bottom U-wave stress
Qout(idVbws) == F ! bvstrw bottom V-wave stress
Qout(idUbcs) == F ! bustrcwmax bottom max wave-current U-stress
Qout(idVbcs) == F ! bvstrcwmax bottom max wave-current V-stress
Qout(idUVwc) == F ! bstrcwmax bottom max wave-current stress magnitude

Qout(idUbot) == F ! Ubot bed wave orbital U-velocity
Qout(idVbot) == F ! Vbot bed wave orbital V-velocity
Qout(idUbur) == F ! Ur bottom U-velocity above bed
Qout(idVbvr) == F ! Vr bottom V-velocity above bed

Qout(idWztw) == F ! zetaw WEC_VF quasi-static sea level adjustment
Qout(idWqsp) == F ! qsp WEC_VF quasi-static pressure adjustment
Qout(idWbeh) == F ! bernoulli_head WEC_VF Bernoulli head adjustment

Qout(idU2rs) == F ! ubar_wec_stress WEC 2D U-stress
Qout(idV2rs) == F ! vbar_wec_stress WEC 2D V-stress
Qout(idU3rs) == F ! u_wec_stress WEC 3D U-stress
Qout(idV3rs) == F ! v_wec_stress WEC 3D V-stress

Qout(idU2Sd) == F ! ubar_stokes 2D Stokes U-velocity
Qout(idV2Sd) == F ! vbar_stokes 2D Stokes V-velocity
Qout(idU3Sd) == F ! u_stokes 3D Stokes U-velocity
Qout(idV3Sd) == F ! v_stokes 3D Stokes V-velocity
Qout(idW3St) == F ! w_stokes 3D Stokes W-velocity
Qout(idW3Sd) == F ! omega_stokes 3D Stokes omega-velocity

Qout(idWamp) == F ! Hwave wave significant height
Qout(idWlen) == F ! Lwave wave mean wavelength
Qout(idWlep) == F ! Lwavep wave peak wavelength
Qout(idWdir) == F ! Dwave wave mean direction
Qout(idWdip) == F ! Dwavep wave peak direction
Qout(idWptp) == F ! Pwave_top wave surface period
Qout(idWpbt) == F ! Pwave_bot wave bottom period
Qout(idWorb) == F ! Uwave_rms wave bottom orbital velocity
Qout(idWbrk) == F ! Wave_break wave breaking (percent)
Qout(idUwav) == F ! uWave wave depth-averaged U-velocity
Qout(idVwav) == F ! vWave wave depth-averaged V-velocity
Qout(idWdif) == F ! Dissip_fric wave dissipation from bottom friction
Qout(idWdib) == F ! Dissip_break wave dissipation from breaking
Qout(idWdiw) == F ! Dissip_wcap wave dissipation from whitecapping
Qout(idWdis) == F ! Dissip_roller wave roller dissipation
Qout(idWrol) == F ! roller_action wave roller action density

Qout(idPair) == F ! Pair surface air pressure
Qout(idTair) == F ! Tair surface air temperature
Qout(idUair) == F ! Uair surface U-wind
Qout(idVair) == F ! Vair surface V-wind
Qout(idUaiE) == F ! Uwind_eastward surface Eastward U-wind
Qout(idVaiN) == F ! Vwind_northward surface Northward V-wind

Qout(idTsur) == F F ! shflux, ssflux surface net heat and salt flux
Qout(idLhea) == F ! latent latent heat flux
Qout(idShea) == F ! sensible sensible heat flux
Qout(idLrad) == F ! lwrad longwave radiation flux
Qout(idSrad) == F ! swrad shortwave radiation flux
Qout(idEmPf) == F ! EminusP E-P flux
Qout(idevap) == F ! evaporation evaporation rate
Qout(idrain) == F ! rain precipitation rate

Qout(idDano) == F ! rho density anomaly
Qout(idVvis) == F ! AKv vertical viscosity
Qout(idTdif) == F ! AKt vertical T-diffusion
Qout(idSdif) == F ! AKs vertical Salinity diffusion
Qout(idHsbl) == F ! Hsbl depth of surface boundary layer
Qout(idHbbl) == F ! Hbbl depth of bottom boundary layer
Qout(idMtke) == F ! tke turbulent kinetic energy
Qout(idMtls) == F ! gls turbulent length scale

! Logical switches (TRUE/FALSE) to activate writing of extra inert passive
! tracers other than biological and sediment tracers into the QUICKSAVE
! output file. 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.

Qout(inert) == T ! dye_01, ... inert passive tracers
Qout(Snert) == T ! dye_01_sur, ... surface inert passive tracers

! Logical switches (TRUE/FALSE) to activate writing of time-averaged
! fields into AVERAGE output file.

Aout(idUvel) == T ! u 3D U-velocity
Aout(idVvel) == T ! v 3D V-velocity
Aout(idu3dE) == F ! u_eastward 3D U-eastward at RHO-points
Aout(idv3dN) == F ! v_northward 3D V-northward at RHO-points
Aout(idWvel) == T ! w 3D W-velocity
Aout(idOvel) == T ! omega omega vertical velocity
Aout(idUbar) == T ! ubar 2D U-velocity
Aout(idVbar) == T ! vbar 2D V-velocity
Aout(idu2dE) == F ! ubar_eastward 2D U-eastward at RHO-points
Aout(idv2dN) == F ! vbar_northward 2D V-northward at RHO-points
Aout(idFsur) == T ! zeta free-surface
Aout(idBath) == F ! bath time-dependent bathymetry

Aout(idTvar) == T T ! temp, salt temperature and salinity

Aout(idUsms) == F ! sustr surface U-stress
Aout(idVsms) == F ! svstr surface V-stress
Aout(idUbms) == F ! bustr bottom U-stress
Aout(idVbms) == F ! bvstr bottom V-stress

Aout(idUbrs) == F ! bustrc bottom U-current stress
Aout(idVbrs) == F ! bvstrc bottom V-current stress
Aout(idUbws) == F ! bustrw bottom U-wave stress
Aout(idVbws) == F ! bvstrw bottom V-wave stress
Aout(idUbcs) == F ! bustrcwmax bottom max wave-current U-stress
Aout(idVbcs) == F ! bvstrcwmax bottom max wave-current V-stress
Aout(idUVwc) == F ! bstrcwmax bottom max wave-current stress magnitude

Aout(idUbot) == F ! Ubot bed wave orbital U-velocity
Aout(idVbot) == F ! Vbot bed wave orbital V-velocity
Aout(idUbur) == F ! Ur bottom U-velocity above bed
Aout(idVbvr) == F ! Vr bottom V-velocity above bed

Aout(idWztw) == F ! zetaw WEC_VF quasi-static sea level adjustment
Aout(idWqsp) == F ! qsp WEC_VF quasi-static pressure adjustment
Aout(idWbeh) == F ! bernoulli_head WEC_VF Bernoulli head adjustment

Aout(idU2rs) == F ! ubar_wec_stress WEC 2D U-stress
Aout(idV2rs) == F ! vbar_wec_stress WEC 2D V-stress
Aout(idU3rs) == F ! u_wec_stress WEC 3D U-stress
Aout(idV3rs) == F ! v_wec_stress WEC 3D V-stress

Aout(idU2Sd) == F ! ubar_stokes 2D Stokes U-velocity
Aout(idV2Sd) == F ! vbar_stokes 2D Stokes V-velocity
Aout(idU3Sd) == F ! u_stokes 3D Stokes U-velocity
Aout(idV3Sd) == F ! v_stokes 3D Stokes V-velocity
Aout(idW3St) == F ! w_stokes 3D Stokes W-velocity
Aout(idW3Sd) == F ! omega_stokes 3D Stokes omega-velocity

Aout(idWamp) == F ! Hwave wave significant height
Aout(idWlen) == F ! Lwave wave mean wavelength
Aout(idWlep) == F ! Lwavep wave peak wavelength
Aout(idWdir) == F ! Dwave wave mean direction
Aout(idWptp) == F ! Pwave_top wave surface period
Aout(idWpbt) == F ! Pwave_bot wave bottom period
Aout(idWorb) == F ! Uwave_rms wave bottom orbital velocity
Aout(idWbrk) == F ! Wave_break wave breaking (percent)
Aout(idUwav) == F ! uWave wave-depth averaged U-velocity
Aout(idVwav) == F ! vWave wave-depth averaged V-velocity
Aout(idWdif) == F ! Dissip_fric wave dissipation from bottom friction
Aout(idWdib) == F ! Dissip_break wave dissipation from breaking
Aout(idWdiw) == F ! Dissip_wcap wave dissipation from whitecapping
Aout(idWdis) == F ! Dissip_roller wave roller dissipation
Aout(idWrol) == F ! roller_action wave roller action density

Aout(idPair) == F ! Pair surface air pressure
Aout(idTair) == F ! Tair surface air temperature
Aout(idUair) == F ! Uwind surface U-wind
Aout(idVair) == F ! Vwind surface V-wind
Aout(idUaiE) == F ! Uwind_eastward surface Eastward U-wind
Aout(idVaiN) == F ! Vwind_northward surface Northward V-wind

Aout(idTsur) == F F ! shflux, ssflux surface net heat and salt flux
Aout(idLhea) == F ! latent latent heat flux
Aout(idShea) == F ! sensible sensible heat flux
Aout(idLrad) == F ! lwrad longwave radiation flux
Aout(idSrad) == F ! swrad shortwave radiation flux
Aout(idevap) == F ! evaporation evaporation rate
Aout(idrain) == F ! rain precipitation rate

Aout(idDano) == F ! rho density anomaly
Aout(idVvis) == F ! AKv vertical viscosity
Aout(idTdif) == F ! AKt vertical T-diffusion
Aout(idSdif) == F ! AKs vertical Salinity diffusion
Aout(idHsbl) == F ! Hsbl depth of surface boundary layer
Aout(idHbbl) == F ! Hbbl depth of bottom boundary layer

Aout(id2dRV) == F ! pvorticity_bar 2D relative vorticity
Aout(id3dRV) == F ! pvorticity 3D relative vorticity
Aout(id2dPV) == F ! rvorticity_bar 2D potential vorticity
Aout(id3dPV) == F ! rvorticity 3D potential vorticity

Aout(idu3dD) == F ! u_detided detided 3D U-velocity
Aout(idv3dD) == F ! v_detided detided 3D V-velocity
Aout(idu2dD) == F ! ubar_detided detided 2D U-velocity
Aout(idv2dD) == F ! vbar_detided detided 2D V-velocity
Aout(idFsuD) == F ! zeta_detided detided free-surface

Aout(idTrcD) == F F ! temp_detided, ... detided temperature and salinity

Aout(idHUav) == F ! Huon u-volume flux, Huon
Aout(idHVav) == F ! Hvom v-volume flux, Hvom
Aout(idUUav) == F ! uu quadratic <u*u> term
Aout(idUVav) == F ! uv quadratic <u*v> term
Aout(idVVav) == F ! vv quadratic <v*v> term
Aout(idU2av) == F ! ubar2 quadratic <ubar*ubar> term
Aout(idV2av) == F ! vbar2 quadratic <vbar*vbar> term
Aout(idZZav) == F ! zeta2 quadratic <zeta*zeta> term

Aout(idTTav) == F F ! temp_2, ... quadratic <t*t> tracer terms
Aout(idUTav) == F F ! u_temp, ... quadratic <u*t> tracer terms
Aout(idVTav) == F F ! v_temp, ... quadratic <v*t> tracer terms
Aout(iHUTav) == F F ! Huon_temp, ... tracer volume flux, <Huon*t>
Aout(iHVTav) == F F ! Hvom_temp, ... tracer volume flux, <Hvom*t>

! Logical switches (TRUE/FALSE) to activate writing of extra inert passive
! tracers other than biological and sediment tracers into the AVERAGE file.

Aout(inert) == T ! dye_01, ... inert passive tracers

! Logical switches (TRUE/FALSE) to activate writing of time-averaged,
! 2D momentum (ubar,vbar) diagnostic terms into DIAGNOSTIC output file.

Dout(M2rate) == T ! ubar_accel, ... acceleration
Dout(M2pgrd) == T ! ubar_prsgrd, ... pressure gradient
Dout(M2fcor) == T ! ubar_cor, ... Coriolis force
Dout(M2hadv) == T ! ubar_hadv, ... horizontal total advection
Dout(M2xadv) == T ! ubar_xadv, ... horizontal XI-advection
Dout(M2yadv) == T ! ubar_yadv, ... horizontal ETA-advection
Dout(M2hvis) == T ! ubar_hvisc, ... horizontal total viscosity
Dout(M2xvis) == T ! ubar_xvisc, ... horizontal XI-viscosity
Dout(M2yvis) == T ! ubar_yvisc, ... horizontal ETA-viscosity
Dout(M2sstr) == T ! ubar_sstr, ... surface stress
Dout(M2bstr) == T ! ubar_bstr, ... bottom stress

! Logical switches (TRUE/FALSE) to activate writing of time-averaged,
! 3D momentum (u,v) diagnostic terms into DIAGNOSTIC output file.

Dout(M3rate) == T ! u_accel, ... acceleration
Dout(M3pgrd) == T ! u_prsgrd, ... pressure gradient
Dout(M3fcor) == T ! u_cor, ... Coriolis force
Dout(M3hadv) == T ! u_hadv, ... horizontal total advection
Dout(M3xadv) == T ! u_xadv, ... horizontal XI-advection
Dout(M3yadv) == T ! u_yadv, ... horizontal ETA-advection
Dout(M3vadv) == T ! u_vadv, ... vertical advection
Dout(M3hrad) == T ! u_hrad, ... horizontal total radiation stress
Dout(M3vrad) == T ! u_vrad, ... vertical radiation stress
Dout(M3hvis) == T ! u_hvisc, ... horizontal total viscosity
Dout(M3xvis) == T ! u_xvisc, ... horizontal XI-viscosity
Dout(M3yvis) == T ! u_yvisc, ... horizontal ETA-viscosity
Dout(M3vvis) == T ! u_vvisc, ... vertical viscosity

! Logical switches (TRUE/FALSE) to activate writing of time-averaged,
! Waves Effect on Currents (WEC) 2D and 3D diagnostic terms into DIAGNOSTIC
! output file.

Dout(M2hjvf) == T ! ubar_hjvf, ... 2D horizontal J vortex force
Dout(M2kvrf) == T ! ubar_kvrf, ... 2D K vortex force
Dout(M2fsco) == T ! ubar_fsco, ... 2D Stokes Coriolis
Dout(M2sstm) == T ! ubar_sstm, ... 2D surface streaming
Dout(M2bstm) == T ! ubar_bstm, ... 2D bottom streaming
Dout(M2wrol) == T ! ubar_wrol, ... 2D wave roller acceleration
Dout(M2wbrk) == T ! ubar_wbrk, ... 2D wave breaking
Dout(M2zeta) == T ! ubar_zeta, ... 2D Eulerian SSH adjustment
Dout(M2zetw) == T ! ubar_zetaw, ... 2D quasi-static SSH adjustment
Dout(M2zqsp) == T ! ubar_zqsp, ... 2D quasi-static pressure
Dout(M2zbeh) == T ! ubar_zbeh, ... 2D Bernoulli head adjustment
Dout(M2fsgr) == T ! ubar_fsgr, ... 2D seagrass drag force

Dout(M3hjvf) == T ! u_hjvf, ... 3D horizontal J vortex force
Dout(M3vjvf) == T ! u_vjvf, ... 3D vertical J vortex force
Dout(M3kvrf) == T ! u_kvrf, ... 3D K vortex force
Dout(M3fsco) == T ! u_fsco, ... 3D Stokes Coriolis
Dout(M3sstm) == T ! u_sstm, ... 3D surface streaming
Dout(M3bstm) == T ! u_bstm, ... 3D bottom streaming
Dout(M3wrol) == T ! u_wrol, ... 3D wave roller acceleration
Dout(M3wbrk) == T ! u_wbrk, ... 3D wave breaking
Dout(M3fsgr) == T ! u_fsgr, ... 3D seagrass drag force

! Logical switches (TRUE/FALSE) to activate writing of time-averaged,
! active (temperature and salinity) and passive (inert) tracer diagnostic
! terms into DIAGNOSTIC output file: [1:NAT+NPT,Ngrids].

Dout(iTrate) == T T T ! temp_rate, ... time rate of change
Dout(iThadv) == T T T ! temp_hadv, ... horizontal total advection
Dout(iTxadv) == T T T ! temp_xadv, ... horizontal XI-advection
Dout(iTyadv) == T T T ! temp_yadv, ... horizontal ETA-advection
Dout(iTvadv) == T T T ! temp_vadv, ... vertical advection
Dout(iThdif) == T T T ! temp_hdiff, ... horizontal total diffusion
Dout(iTxdif) == T T T ! temp_xdiff, ... horizontal XI-diffusion
Dout(iTydif) == T T T ! temp_ydiff, ... horizontal ETA-diffusion
Dout(iTsdif) == T T T ! temp_sdiff, ... horizontal S-diffusion
Dout(iTvdif) == T T T ! temp_vdiff, ... vertical diffusion

! Generic User parameters, [1:NUSER].

NUSER = 0
USER = 0.d0

! Input and Output files processing library to use:
!
! [1] Standard NetCDF-3 or NetCDF-4 library
! [2] Serial or Parallel I/O with Parallel-IO (PIO) library (MPI only)

INP_LIB = 1
OUT_LIB = 1

! PIO library methods for reading/writing NetCDF files:
!
! [0] parallel read and write of PnetCDF (CDF-5, not recommended)
! [1] parallel read and write of NetCDF3 (64-bit offset)
! [2] serial read and write of NetCDF3 (64-bit offset)
! [3] parallel read and serial write of NetCDF4/HDF5
! [4] parallel read and write of NETCDF4/HDF5

PIO_METHOD = 2

! PIO library MPI processes set-up:

PIO_IOTASKS = 1 ! number of I/O tasks to define
PIO_STRIDE = 1 ! stride in the MPI-ran between I/O tasks
PIO_BASE = 0 ! offset for the first I/O task
PIO_AGGREG = 1 ! number of MPI-aggregators to use

! PIO library rearranger methods for moving data between computational and I/O
! processes:
!
! [1] Box rearrangement
! [2] Subset rearrangement

PIO_REARR = 1

! PIO library rearranger flag for MPI communications between computational
! and I/O processes:
!
! [0] Point-to-Point (low-level communications)
! [1] Collective (high-level grouped communications)

PIO_REARRCOM = 0

! PIO library rearranger flow control direction flag for MPI communications
! between computational and I/O processes:
!
! [0] Enable computational to I/O processes, and vice versa
! [2] Enable computational to I/O processes only
! [3] Enable I/O to computational processes only
! [4] Disable flow control

PIO_REARRDIR = 0

! PIO rearranger options for computational to I/O processes (C2I):

PIO_C2I_HS = T ! Enable C2I handshake (T/F)
PIO_C2I_Send = T ! Enable C2I Isends (T/F)
PIO_C2I_Preq = 64 ! Maximum pending C2I requests

! PIO rearranger options for I/O to computational processes (I2C):

PIO_I2C_HS = T ! Enable I2C handshake (T/F)
PIO_I2C_Send = T ! Enable I2C Isends (T/F)
PIO_I2C_Preq = 65 ! Maximum pending I2C requests

! If OUT_LIB=1, NetCDF-4/HDF5 compression parameters for output files.

NC_SHUFFLE = 1 ! if non-zero, turn on shuffle filter
NC_DEFLATE = 1 ! if non-zero, turn on deflate filter
NC_DLEVEL = 1 ! deflate level [0-9]

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

GRDNAME == ROMSs.nc
ININAME == roms_ini.nc
ITLNAME == roms_itl.nc
IRPNAME == roms_irp.nc
IADNAME == roms_iad.nc
FWDNAME == roms_fwd.nc
ADSNAME == roms_ads.nc

! Input adjoint forcing NetCDF filenames for computing observations
! impacts during the analysis-forecast cycle. If the forecast error
! metric is defined in state-space, then FOInameA and FOInameB should
! be regular adjoint forcing files just like ADSname. If the forecast
! error metric is defined in observation space (OBS_SPACE is activated)
! then the forecast is initialized OIFnameA and OIFnameB (specified in
! s4dvar.in input script) will have the structure of a 4D-Var observation
! file.

FOInameA == roms_foi_a.nc
FOInameB == roms_foi_b.nc

! Input NetCDF filenames for the forecasts initialized from the analysis
! of the current 4D-Var cycle (FCTnameA) and initialized from the analysis
! of the previous 4D-Var cycle (FCTnameB).

FCTnameA == roms_fct_a.nc
FCTnameB == roms_fct_b.nc

! Nesting grids connectivity data: contact points information. This
! NetCDF file is special and complex. It is currently generated using
! the script "matlab/grid/contact.m" from the Matlab repository.

NGCNAME = roms_ngc.nc

! Input lateral boundary conditions file names. The USER has the option
! to separate the required lateral boundary variables into individual
! NetCDF files (NBCFILES > 1), as in the input surface forcing. Also,
! the USER may split input data time records into several NetCDF files
! (monthly, seasonal, or annual). See prologue instructions above. Use
! a single line per entry with a continuation (\) or a vertical bar (|)
! symbol after each entry, except the last one.
! mayvan

NBCFILES == 1 ! number of boundary files

BRYNAME == roms_bry.nc

! Input climatology file names. The USER has the option to separate the
! climatology variables into individual NetCDF files (NCLMFILES > 1),
! as in the input surface forcing. Also, the USER may split input data
! time records into several NetCDF files (monthly, seasonal, or annual).
! See prologue instructions above. Use a single line per entry with a
! continuation (\) or a vertical bar (|) symbol after each entry, except
! the last one.

NCLMFILES == 1 ! number of climatology files

CLMNAME == roms_clm.nc

! Input climatology nudging coefficients file name.

NUDNAME == roms_nud.nc

! Input Sources/Sinks forcing (like river runoff) file name.

SSFNAME == roms_rivers.nc

! Input tidal forcing file name. mayvan

TIDENAME == tidetest.nc

! Input forcing NetCDF file name(s).
!
! The USER has the option to enter several sets of file names for each
! nested grid. For example, the USER may have different data for the
! wind products, heat fluxes, etc. Alternatively, if the all the forcing
! files are the same for nesting and the data is in its native resolution,
! we could enter only one set of files names and ROMS will replicate those
! files internally to the remaining grids using the plural KEYWORD protocol.
!
! The model will scan the files and will read the needed data from the first
! file in the list containing the forcing field. Therefore, the order of the
! filenames is critical. If using multiple forcing files per grid, first
! enter all the file names for grid one followed by two, and so on. It is
! also possible to split input data time records into several NetCDF files
! (see Prolog instructions above). Use a single line per entry with a
! continuation (\) or a vertical bar (|) symbol after each entry, except
! the last one.

NFFILES == 1 ! number of unique forcing files

FRCNAME == roms_frc.nc ! forcing file 1, grid 1

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

DAINAME == roms_dai.nc
GSTNAME == roms_gst.nc
RSTNAME == roms_rst.nc
HISNAME == roms_his.nc
QCKNAME == roms_qck.nc
TLMNAME == roms_tlm.nc
TLFNAME == roms_tlf.nc
ADJNAME == roms_adj.nc
AVGNAME == roms_avg.nc
HARNAME == roms_har.nc
DIANAME == roms_dia.nc
STANAME == roms_sta.nc
FLTNAME == roms_flt.nc

! Input ASCII parameter filenames.

APARNAM = /home/ocean/src/ROMS/External/s4dvar.in
SPOSNAM = /home/ocean/src/ROMS/External/stations.in
FPOSNAM = /home/ocean/src/ROMS/External/floats.in
BPARNAM = /home/ocean/src/ROMS/External/bio_Fennel.in
SPARNAM = /home/ocean/src/ROMS/External/sediment.in
USRNAME = /home/ocean/src/ROMS/External/MyFile.dat

Post Reply