unable to find model variable: rzeta

General scientific issues regarding ROMS

Moderators: arango, robertson

Post Reply
Message
Author
Zeng
Posts: 27
Joined: Mon Sep 19, 2022 1:06 pm
Location: Sun Yat-Sen University

unable to find model variable: rzeta

#1 Unread post by Zeng »

Hello everyone!
I recently encountered an error when running a new ROMS simulation: "NLM: CHECKVARS_NF90 - unable to find model variable: rzeta." I looked up this variable and found it is related to the trajectory module. However, I didn't intend to run this module. Both my .in and .h files are based on previous templates. No related errors occurred in the previous simulation. I suspect that I mistakenly enabled the relevant module. Does anyone know how to solve this problem? Thank you so much!

.h file

Code: Select all

#define SOLVE3D                          /* - use if solving 3D primitive equations */
/*commented section*/
/*#ifdef SOLVE3D*/
/*# define RI_SPLINES */                 /* - use if splines reconstruction for vertical sheer */ 
/*#endif*/

/* Boundary conditions...careful with grid orientation */
#define RADIATION_2D                     /* - use if tangential phase speed in radiation conditions */

#define UV_ADV                           /* - use to activate advection terms */
#define UV_COR                           /* - use to activate Coriolis term */
#define UV_LDRAG                         /* - use to activate linear bottom friction */
#define UV_VIS2                          /* - use to activate harmonic horizontal mixing */

#define MIX_S_UV                         /* - use if mixing along constant S-surfaces */
#define MIX_GEO_TS                       /* - use if mixing along geopotential (constant depth) surfaces*/

#define SPLINES_VDIFF                    /* - use if splines reconstruction of vertical diffusion */
#define SPLINES_VVISC                    /* - use if splines reconstruction of vertical viscosity */

#define DJ_GRADPS                        /* - use if splines density Jacobian (Shchepetkin, 2000) */
#define TS_DIF2                          /* - use to turn ON or OFF harmonic horizontal mixing */

#define SALINITY                         /* - use if having salinity */

#define GLS_MIXING                       /*use if Generic Length-Scale mixing*/

/* - use if Generic Length-Scale mixing or - use if Mellor/Yamada Level-2.5 closure */
#if defined GLS_MIXING || defined MY25_MIXING 
# define KANTHA_CLAYSON                  /* - use if Kantha and Clayson stability function */
# define N2S2_HORAVG                     /* - use if horizontal smoothing of buoyancy/shear */
# define RI_SPLINES                      /* - use if splines reconstruction for vertical sheer */ 
#else
# define ANA_VMIX                        /* - use if analytical vertical mixing coefficients */
#endif

#define ANA_SMFLUX                       /* - use if analytical surface momentum stress */
#define ANA_BTFLUX                       /* - use if analytical bottom temperature flux */
#define ANA_BSFLUX                       /* - use if analytical bottom salinity flux */

#define T_PASSIVE 
#define ANA_BPFLUX      
#define ANA_SPFLUX

#define RIVERPLUME1
#define TS_MPDATA_LIMIT
#define TRACER_DECAY

/* tide */
#define SSH_TIDES
#define UV_TIDES
#define RAMP_TIDES
#define ADD_FSOBC
#define ADD_M2OBC


/* biological module */
#define NPZD_POWELL
#define TS_C4VADVECTION
#define TS_SVADVECTION
#define TS_U3HADVECTION


/* general */

#define CURVGRID                         /* - use if curvilinear coordinates grid */
#define MASKING                          /* - use if land/sea masking */
#define WET_DRY                          /* - use to activate wetting and drying */
#define NONLIN_EOS                       /* - use if using nonlinear equation of state */
/* surface forcing */

#ifdef SOLVE3D                           /* - use if solving 3D primitive equations */
# define CORE_FORCING
# define BULK_FLUXES                     /* - use if bulk fluxes computation */
# define CCSM_FLUXES

# if defined BULK_FLUXES || defined CCSM_FLUXES
# define LONGWAVE_OUT                    /* - use if computing outgoing longwave radiation */
# undef DIURNAL_SRFLUX                   /* - use to impose shortwave radiation local diurnal cycle */
# define SOLAR_SOURCE                    /* - use if solar radiation source term */
# define EMINUSP                         /* - use if computing E-P */

# undef DIURNAL_SRFLUX                   /* - use to impose shortwave radiation local diurnal cycle */
# undef ANA_SRFLUX                       /* use if analytical surface shortwave radiation flux */
# undef ALBEDO_CLOUD
# define ALBEDO_CURVE                    /* for water */
# undef ALBEDO_FILE                      /* for both */
# undef LONGWAVE                         /* - use if computing net longwave radiation */
# endif
#endif

/* output stuff */

#define AVERAGES                         /* - use if writing out time-averaged data */
#define PERFECT_RESTART                  /* - use to include perfect restart variables */
#ifdef PERFECT_RESTART                   /* - use to include perfect restart variables */

/*Commented section*/

/*# undef AVERAGES*/ /* - use if writing out time-averaged data */
# undef DIAGNOSTICS_TS                   /* - use if writing out tracer diagnostics */
# undef DIAGNOSTICS_UV                   /* - use if writing out momentum diagnostics */
# define OUT_DOUBLE                      /* - use if writing double precision output fields */ 
#endif

#ifdef PERFECT_RESTART                   /* - use to include perfect restart variables */
# define RST_SINGLE                      /* - use if writing single precision restart fields */
#endif


/* sediment CPPDEFS */
#undef SEDIMENT

.in file

Code: Select all

! Application title.

       TITLE = River Plume Test 1, flow across u-face grid cell

! C-preprocessing Flag.

    MyAppCPP = RIVERPLUME1

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

     VARNAME = /home/ubuntu/roms/project/yangjiang_5km_Po/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.

          Lm == 438           ! Number of I-direction INTERIOR RHO-points
          Mm == 428           ! Number of J-direction INTERIOR RHO-points
           N == 15            ! 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
         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].

      NtileI == 12                               ! I-direction partition
      NtileJ == 16                               ! 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 == A4       \                     ! temperature
                 MPDATA   \                     ! salinity
                 HSIMT                          ! Po

   Vadvection == A4       \                     ! temperature
                 MPDATA   \                     ! salinity
                 HSIMT                          ! Po

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

ad_Hadvection == U3       \                     ! temperature
                 U3       \                     ! salinity
                 U3                             ! Po

ad_Vadvection == C4       \                     ! temperature
                 C4       \                     ! salinity
                 C4                             ! Po

! 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)                  _____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

   LBC(isFsur) ==   Che     Che     Che     Che         ! free-surface
   LBC(isUbar) ==   Shc     Shc     Shc     Shc         ! 2D U-momentum
   LBC(isVbar) ==   Shc     Shc     Shc     Shc         ! 2D V-momentum
   LBC(isUvel) ==   RadNud  RadNud  RadNud  RadNud      ! 3D U-momentum
   LBC(isVvel) ==   RadNud  RadNud  RadNud  RadNud      ! 3D V-momentum
   LBC(isMtke) ==   Rad     Rad     Rad     Rad         ! mixing TKE

   LBC(isTvar) ==   RadNud  RadNud  RadNud  RadNud \    ! temperature
                    RadNud  RadNud  RadNud  RadNud \    ! salinity
                    Rad     Rad     Rad     Rad         ! Po

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

ad_LBC(isFsur) ==   Che     Che     Che     Che         ! free-surface
ad_LBC(isUbar) ==   Shc     Shc     Shc     Shc         ! 2D U-momentum
ad_LBC(isVbar) ==   Shc     Shc     Shc     Shc         ! 2D V-momentum
ad_LBC(isUvel) ==   RadNud  RadNud  RadNud  RadNud      ! 3D U-momentum
ad_LBC(isVvel) ==   RadNud  RadNud  RadNud  RadNud      ! 3D V-momentum
ad_LBC(isMtke) ==   Rad     Rad     Rad     Rad         ! mixing TKE

ad_LBC(isTvar) ==   RadNud  RadNud  RadNud  RadNud \    ! temperature
                    RadNud  RadNud  RadNud  RadNud \    ! salinity
                    Rad     Rad     Rad     Rad         ! Po

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

      NTIMES == 174240        !total time = NTIMES*DT (s)
          DT == 60.0d0        !unit = (s)
     NDTFAST == 30

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

  NTIMES_ANA == 0                              ! analysis interval
  NTIMES_FCT == 0                              ! 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.

       NRREC == -1
   LcycleRST == T
        NRST == 60
        NSTA == 1
        NFLT == 0
       NINFO == 1

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

     LDEFOUT == T
        NHIS == 60      ! record one time every NHIS steps (every NHIS*DT (s))
     NDEFHIS == 0
        NQCK == 0
     NDEFQCK == 0
      NTSAVG == 1
        NAVG == 60
     NDEFAVG == 0
      NTSDIA == 1
        NDIA == 60
     NDEFDIA == 0

! Output tangent linear and adjoint models parameters.

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

! GST output and check pointing restart parameters.

   LmultiGST =  F                               ! one eigenvector per file
     LrstGST =  F                               ! GST restart switch
  MaxIterGST =  60                             ! 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 == 3.5d0                           ! 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 == 8*1.0d-6                        ! m2/s

  ad_AKT_fac == 1.0d0 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 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

       GLS_P == -1.0d0                           ! K-omega
       GLS_M == 0.5d0
       GLS_N == -1.0d0
    GLS_Kmin == 7.6d-6
    GLS_Pmin == 1.0d-12

    GLS_CMU0 == 0.5477d0
      GLS_C1 == 0.555d0
      GLS_C2 == 0.833d0
     GLS_C3M == -0.6d0
     GLS_C3P == 1.0d0
    GLS_SIGK == 2.0d0
    GLS_SIGP == 2.0d0

! Constants used in surface turbulent kinetic energy flux computation.

  CHARNOK_ALPHA == 1400.0d0         ! Charnok 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

! Constants used in momentum stress computation.

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

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

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

! Minimum depth for wetting and drying.

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

  Vtransform == 2                          ! transformation equation
 Vstretching == 4                          ! stretching function

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

     THETA_S == 8.0d0                      ! surface stretching parameter
     THETA_B == 4.0d0                      ! bottom  stretching parameter
      TCLINE == 20.0d0                     ! critical depth (m)

! Mean Density and Brunt-Vaisala frequency.

        RHO0 =  1025.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.

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

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

       TNUDG == 2*360.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 == 10.0d0                      ! nondimensional

! Linear equation of State parameters:

          R0 == 1027.0d0                   ! kg/m3
          T0 == 25.0d0                     ! Celsius
          S0 == 35.0d0                     ! nondimensional
       TCOEF == 1.7d-4                     ! 1/Celsius
       SCOEF == 7.6d-4                     ! 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 == T                          ! 2D momentum
      Lm3CLM == T                          ! 3D momentum

  LtracerCLM == T T 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 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(idUbar) == T       ! ubar               2D U-velocity
Hout(idVbar) == T       ! vbar               2D V-velocity
Hout(idu2dE) == F       ! ubar_eastward      2D U-eastward  at RHO-points
Hout(idv2dN) == F       ! vbar_northward     2D V-northward at RHO-points
Hout(idFsur) == T       ! zeta               free-surface
Hout(idBath) == T       ! bath               time-dependent bathymetry

Hout(idTvar) == T 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(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(idW2xx) == F       ! Sxx_bar            2D radiation stress, Sxx component
Hout(idW2xy) == F       ! Sxy_bar            2D radiation stress, Sxy component
Hout(idW2yy) == F       ! Syy_bar            2D radiation stress, Syy component
Hout(idU2rs) == F       ! Ubar_Rstress       2D radiation U-stress
Hout(idV2rs) == F       ! Vbar_Rstress       2D radiation V-stress
Hout(idU2Sd) == F       ! ubar_stokes        2D U-Stokes velocity
Hout(idV2Sd) == F       ! vbar_stokes        2D V-Stokes velocity

Hout(idW3xx) == F       ! Sxx                3D radiation stress, Sxx component
Hout(idW3xy) == F       ! Sxy                3D radiation stress, Sxy component
Hout(idW3yy) == F       ! Syy                3D radiation stress, Syy component
Hout(idW3zx) == F       ! Szx                3D radiation stress, Szx component
Hout(idW3zy) == F       ! Szy                3D radiation stress, Szy component
Hout(idU3rs) == F       ! u_Rstress          3D U-radiation stress
Hout(idV3rs) == F       ! v_Rstress          3D V-radiation stress
Hout(idU3Sd) == F       ! u_stokes           3D U-Stokes velocity
Hout(idV3Sd) == F       ! v_stokes           3D V-Stokes velocity

Hout(idWamp) == F       ! Hwave              wave height
Hout(idWlen) == F       ! Lwave              wave length
Hout(idWdir) == F       ! Dwave              wave direction
Hout(idWptp) == F       ! Pwave_top          wave surface period
Hout(idWpbt) == F       ! Pwave_bot          wave bottom period
Hout(idWorb) == F       ! Ub_swan            wave bottom orbital velocity
Hout(idWdis) == F       ! Wave_dissip        wave dissipation

Hout(idPair) == F       ! Pair               surface air pressure
Hout(idTair) == F       ! Tair               surface air temperature
Hout(idUair) == F       ! Uair               surface U-wind component
Hout(idVair) == F       ! Vair               surface V-wind component

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) == T       ! bath               time-dependent bathymetry

Qout(idTvar) == F 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 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(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(idW2xx) == F       ! Sxx_bar            2D radiation stress, Sxx component
Qout(idW2xy) == F       ! Sxy_bar            2D radiation stress, Sxy component
Qout(idW2yy) == F       ! Syy_bar            2D radiation stress, Syy component
Qout(idU2rs) == F       ! Ubar_Rstress       2D radiation U-stress
Qout(idV2rs) == F       ! Vbar_Rstress       2D radiation V-stress
Qout(idU2Sd) == F       ! ubar_stokes        2D U-Stokes velocity
Qout(idV2Sd) == F       ! vbar_stokes        2D V-Stokes velocity

Qout(idW3xx) == F       ! Sxx                3D radiation stress, Sxx component
Qout(idW3xy) == F       ! Sxy                3D radiation stress, Sxy component
Qout(idW3yy) == F       ! Syy                3D radiation stress, Syy component
Qout(idW3zx) == F       ! Szx                3D radiation stress, Szx component
Qout(idW3zy) == F       ! Szy                3D radiation stress, Szy component
Qout(idU3rs) == F       ! u_Rstress          3D U-radiation stress
Qout(idV3rs) == F       ! v_Rstress          3D V-radiation stress
Qout(idU3Sd) == F       ! u_stokes           3D U-Stokes velocity
Qout(idV3Sd) == F       ! v_stokes           3D V-Stokes velocity

Qout(idWamp) == F       ! Hwave              wave height
Qout(idWlen) == F       ! Lwave              wave length
Qout(idWdir) == F       ! Dwave              wave direction
Qout(idWptp) == F       ! Pwave_top          wave surface period
Qout(idWpbt) == F       ! Pwave_bot          wave bottom period
Qout(idWorb) == F       ! Ub_swan            wave bottom orbital velocity
Qout(idWdis) == F       ! Wave_dissip        wave dissipation

Qout(idPair) == F       ! Pair               surface air pressure
Qout(idTair) == F       ! Tair               surface air temperature
Qout(idUair) == F       ! Uair               surface U-wind component
Qout(idVair) == F       ! Vair               surface V-wind component

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(idTvar) == T 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(idW2xx) == F       ! Sxx_bar            2D radiation stress, Sxx component
Aout(idW2xy) == F       ! Sxy_bar            2D radiation stress, Sxy component
Aout(idW2yy) == F       ! Syy_bar            2D radiation stress, Syy component
Aout(idU2rs) == F       ! Ubar_Rstress       2D radiation U-stress
Aout(idV2rs) == F       ! Vbar_Rstress       2D radiation V-stress
Aout(idU2Sd) == F       ! ubar_stokes        2D U-Stokes velocity
Aout(idV2Sd) == F       ! vbar_stokes        2D V-Stokes velocity

Aout(idW3xx) == F       ! Sxx                3D radiation stress, Sxx component
Aout(idW3xy) == F       ! Sxy                3D radiation stress, Sxy component
Aout(idW3yy) == F       ! Syy                3D radiation stress, Syy component
Aout(idW3zx) == F       ! Szx                3D radiation stress, Szx component
Aout(idW3zy) == F       ! Szy                3D radiation stress, Szy component
Aout(idU3rs) == F       ! u_Rstress          3D U-radiation stress
Aout(idV3rs) == F       ! v_Rstress          3D V-radiation stress
Aout(idU3Sd) == F       ! u_stokes           3D U-Stokes velocity
Aout(idV3Sd) == F       ! v_stokes           3D V-Stokes velocity

Aout(idPair) == F       ! Pair               surface air pressure
Aout(idTair) == F       ! Tair               surface air temperature
Aout(idUair) == F       ! Uair               surface U-wind component
Aout(idVair) == F       ! Vair               surface V-wind component

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(M2hrad) == T       ! ubar_hrad, ...     horizontal total radiation stress
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,
! 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].

     GRDNAME == /home/ubuntu/roms/project/yangjiang_5km_Po/yangjiang_5km_Po.nc
     ININAME == /home/ubuntu/roms/project/yangjiang_5km_Po/data/ic/HYCOM_GLBy0.08_2024_001_ic_YANGJIANG_PO.nc
    !ININAME == /home/ubuntu/roms/project/yangjiang_5km/roms_rst.nc   !restart file location if available
     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.

    NBCFILES == 1                          ! number of boundary files

     BRYNAME == /home/ubuntu/roms/project/yangjiang_5km_Po/data/bdry/HYCOM_GLBy0.08_2024_Jan2Apr_bdry_YANGJIANG_PO.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 == /home/ubuntu/roms/project/yangjiang_5km_Po/data/clm/HYCOM_GLBy0.08_2024_Jan2Apr_clim_YANGJIANG_PO.nc  


! Input climatology nudging coefficients file name.

     NUDNAME == roms_nud.nc

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

     SSFNAME == myrivers.nc

! Input tidal forcing file name.

    TIDENAME == /home/ubuntu/roms/project/yangjiang_5km_Po/frc_TPXO9v5_150d.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 == /home/ubuntu/roms/project/yangjiang_5km_Po/data/forcings/frc_Yangjiang_Po_ERA5_bulkflux_2024_1to4.nc
                

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

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

! Input ASCII parameter filenames.

     APARNAM =  s4dvar.in
     SPOSNAM =  stations.in
     FPOSNAM =  floats.in
     BPARNAM =  /home/ubuntu/roms/project/yangjiang_5km_Po/npzd_Powell.in
     SPARNAM =  sediment.in
     USRNAME =  MyFile.dat

rock
Posts: 11
Joined: Wed Jun 17, 2009 5:27 am
Location: UConn

Re: unable to find model variable: rzeta

#2 Unread post by rock »

Hi Zeng,
The .in file has NRREC == -1 for perfect restart, which looks for rzeta. If the initial file does not have that, you may try NRREC == 0.
Yan

Post Reply