I made a 1/6deg grid, with 20 levels in vertical and 1151x0734 in horizontal.
Dt was set 600s. it blow up at the beginning of calculation. But I do not think it is much related with dt, since
Code: Select all
Minimum barotropic Courant Number = 1.38934555E-02
Maximum barotropic Courant Number = 4.67089096E-01
Maximum Coriolis Courant Number = 7.97293427E-02
Code: Select all
STEP Day HH:MM:SS KINETIC_ENRG POTEN_ENRG TOTAL_ENRG NET_VOLUME
C => (i,j,k) Cu Cv Cw Max Speed
0 0 00:00:00 8.454227E-17 2.252285E+04 2.252285E+04 5.553917E+17
(0001,207,05) 3.557785E-07 0.000000E+00 0.000000E+00 1.553116E-05
DEF_HIS - creating history file, Grid 01: Outputs/pac_his_0001.nc
WRT_HIS - wrote history fields (Index=1,1) into time record = 0000001
DEF_AVG - creating average file, Grid 01: Outputs/pac_avg.nc
1 0 00:10:00 NaN NaN NaN NaN
(0319,640,20) 4.067729E-03 4.619708E-03 0.000000E+00 9.879360E-02
Blowing-up: Saving latest model state into RESTART file
So I made the grid once again with THETA_s = 5.0 and THETA_b =0.4, and 22 levels in vertical.
however this time the blowing-up occured also in the lowest level - 22th level(check below).
Code: Select all
STEP Day HH:MM:SS KINETIC_ENRG POTEN_ENRG TOTAL_ENRG NET_VOLUME
C => (i,j,k) Cu Cv Cw Max Speed
0 0 00:00:00 2.653413E-17 2.240606E+04 2.240606E+04 5.729861E+17
(0001,212,22) 1.062344E-07 0.000000E+00 0.000000E+00 4.636271E-06
DEF_HIS - creating history file, Grid 01: Outputs/pac_his_0001.nc
WRT_HIS - wrote history fields (Index=1,1) into time record = 0000001
DEF_AVG - creating average file, Grid 01: Outputs/pac_avg.nc
1 0 00:10:00 NaN NaN NaN NaN
(0310,574,22) 5.346942E-03 4.103753E-03 0.000000E+00 1.268982E-01
Blowing-up: Saving latest model state into RESTART file
But I have succeeded running using myroms with a similar configuration before but not this time.
the CPP flags I used are
Code: Select all
#define UV_ADV
#define UV_COR
#define UV_QDRAG
#define DJ_GRADPS
#define TS_U3HADVECTION
#define TS_C4VADVECTION
#define UV_VIS2
#define MIX_S_UV
#define VISC_GRID
# define DIFF_GRID
# define MIX_GEO_TS
# define TS_DIF2
/* general */
#define NONLIN_EOS
#define SALINITY
#define SOLVE3D
#define MASKING
#define SPLINES
#define QCORRECTION
#define SRELAXATION
#define CURVGRID
/*vertical mixing*/
#define LMD_MIXING
#ifdef LMD_MIXING
# define LMD_RIMIX
# define LMD_CONVEC
# define LMD_SKPP
# define LMD_NONLOCAL
#endif
#define CLIMATOLOGY
#define M2CLIMATOLOGY
#define M3CLIMATOLOGY
#define ZCLIMATOLOGY
#define RADIATION_2D
#define SPONGE
#define M2CLM_NUDGING
#define M3CLM_NUDGING
#define TCLM_NUDGING
#define ZCLM_NUDGING
#define TCLIMATOLOGY
#define ANA_BSFLUX
#define ANA_BTFLUX
/*I/O setting*/
#define PERFECT_RESTART
#define AVERAGES
#define AVERAGES2
#undef DIAGNOSTICS_TS
#undef DIAGNOSTICS_UV
Code: Select all
! 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 == 1151 ! Number of I-direction INTERIOR RHO-points
Mm == 734 ! Number of J-direction INTERIOR RHO-points
N == 22 ! Number of vertical levels
Nbed = 0 ! Number of sediment bed layers
NAT = 2 ! Number of active tracers (usually, 2)
NPT = 0 ! 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 == 4 ! I-direction partition
NtileJ == 3 ! J-direction partition
! 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) == Cha Cha Clo Clo ! free-surface
LBC(isUbar) == Fla Fla Clo Clo ! 2D U-momentum
LBC(isVbar) == Fla Fla Clo Clo ! 2D V-momentum
LBC(isUvel) == RadNud RadNud Clo Clo ! 3D U-momentum
LBC(isVvel) == RadNud RadNud Clo Clo ! 3D V-momentum
LBC(isMtke) == Gra Gra Clo Clo ! mixing TKE
LBC(isTvar) == RadNud RadNud Clo Clo \ ! temperature
RadNud RadNud Clo Clo ! salinity
! Adjoint-based algorithms can have different lateral boundary
! conditions keywords.
ad_LBC(isFsur) == Cha Cha Clo Cha ! free-surface
ad_LBC(isUbar) == Fla Fla Clo Fla ! 2D U-momentum
ad_LBC(isVbar) == Fla Fla Clo Fla ! 2D U-momentum
ad_LBC(isUvel) == Cla Cla Clo Cla ! 3D U-momentum
ad_LBC(isVvel) == Cla Cla Clo Cla ! 3D V-momentum
ad_LBC(isMtke) == Gra Gra Clo Gra ! mixing TKE
ad_LBC(isTvar) == Cla Cla Clo Cla \ ! temperature
Cla Cla Clo Cla ! salinity
! 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 enabled. [1:Ngrids].
VolCons(west) == T ! western boundary
VolCons(east) == F ! eastern boundary
VolCons(south) == T ! 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 == 777600
DT == 600.0d0
NDTFAST == 40
! Model iteration loops parameters.
ERstr = 1
ERend = 1
Nouter = 1
Ninner = 1
Nintervals = 1
! Number of eigenvalues (NEV) and eigenvectors (NCV) to compute for the
! Lanczos/Arnoldi problem in the Generalized Stability Theory (GST)
! analysis. NCV must be greater than NEV (see documentation below).
NEV = 2 ! Number of eigenvalues
NCV = 10 ! Number of eigenvectors
! Input/Output parameters.
NRREC == 0
LcycleRST == T
NRST == 432 ! 3 days
NSTA == 1
NFLT == 1
NINFO == 1
! Output history, average, diagnostic files parameters.
LDEFOUT == T
NHIS == 144
NDEFHIS == 4320
NTSAVG == 1
NAVG == 4320
NDEFAVG == 0
NTSDIA == 1
NDIA == 40
NDEFDIA == 0
! Output tangent linear and adjoint models parameters.
LcycleTLM == F
NTLM == 40
NDEFTLM == 0
LcycleADJ == F
NADJ == 40
NDEFADJ == 0
NSFF == 40
NOBC == 40
! 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 == 50.0d0 50.0d0 ! m2/s
TNU4 == 2.0d+8 2.0d+8 ! 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 == 100.0d0 ! m2/s
VISC4 == 4.0d0+8 ! m4/s
ad_VISC2 == 0.0d0 ! m2/s
ad_VISC4 == 0.0d0 ! m4/s
! Vertical mixing coefficients for tracers in nonlinear model and
! basic state scale factor in adjoint-based algorithms: [1:NAT+NPT,Ngrids]
AKT_BAK == 5.0d-6 5.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 == 5.0d-5 ! m2/s
ad_AKV_fac == 1.0d0 ! nondimensional
! 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 ! 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 == 10.0d0 ! air humidity
BLK_ZT == 10.0d0 ! air temperature
BLK_ZW == 10.0d0 ! winds
! Minimum depth for wetting and drying.
DCRIT == 0.10d0 ! 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 == 1 ! transformation equation
Vstretching == 1 ! stretching function
! Vertical S-coordinates parameters (see below for details), [1:Ngrids].
THETA_S == 5.0d0 ! surface stretching parameter
THETA_B == 0.4d0 ! bottom stretching parameter
TCLINE == 10.0d0 ! critical depth (m)
! Mean Density and Brunt-Vaisala frequency.
RHO0 = 1025.0d0 ! kg/m3
BVF_BAK = 1.0d-5 ! 1/s2
! Time-stamp assigned for model initialization, reference time
! origin for tidal forcing, and model reference time for output
! NetCDF units attribute.
DSTART = 0.0d0 ! days
TIDE_START = 0.0d0 ! days
TIME_REF = 0.0d0 ! yyyymmdd.dd
! Nudging/relaxation time scales, inverse scales will be computed
! internally, [1:Ngrids].
TNUDG == 360.0d0 360.0d0 ! days
ZNUDG == 360.0d0 ! days
M2NUDG == 360.0d0 ! days
M3NUDG == 360.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 == 120.0d0 ! nondimensional
! Linear equation of State parameters:
R0 == 1027.0d0 ! kg/m3
T0 == 10.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 ! temperature, salinity, inert
! Logical switches (TRUE/FALSE) to specify which variables to process for
! tracers climatology: [1:NAT+NPT,Ngrids]. See glossary below for details.
LtracerCLM == T T ! 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(isTvar) == 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 ! NT tracers
Fstate(isUstr) == T ! surface U-stress
Fstate(isVstr) == T ! surface V-stress
Fstate(isTsur) == 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 ! 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 ! 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 ! temp, salt temperature and salinity
Hout(idUsms) == F ! sustr surface U-stress
Hout(idVsms) == F ! svstr surface V-stress
! Linear equation of State parameters:
R0 == 1027.0d0 ! kg/m3
T0 == 10.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 ! temperature, salinity, inert
! Logical switches (TRUE/FALSE) to specify which variables to process for
! tracers climatology: [1:NAT+NPT,Ngrids]. See glossary below for details.
LtracerCLM == T T ! 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(isTvar) == 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 ! NT tracers
! 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 ! NT tracers
Fstate(isUstr) == T ! surface U-stress
Fstate(isVstr) == T ! surface V-stress
Fstate(isTsur) == 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 ! 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 ! NT surface tracers flux
many thanks!
bing