I built a ROMS model on Bohai sea, which is a coastal sea with 24 meters average water depth.But the time-averaged current in one tide period is always too high.
- BASIC MODEL PARAMETERS
2) vertical level: 10
3) boundary condition: east open boundary, Cha for free surface, Fla for 2d-momentum, Cla for 3d-momentum, Gra for mixing-TKE, RadNud for temperature and salinity.
4) boundary data: extract from HYCOM dataset. the hycom dataset exclude the tide-induced current and tide-induced water level, so I turn the CPP option "ADD_FSOBC" and "ADD_M2OBC" on.
*.h file:
Code: Select all
#define ROMS_MODEL
# define WET_DRY
/* Physics + numerics */
# define WEC_VF
# define WDISS_WAVEMOD
# define UV_KIRBY
# define UV_ADV
# define UV_COR
# define UV_VIS2
# define MIX_S_UV
# undef TS_FIXED
# define UV_LOGDRAG
# define DJ_GRADPS
# define TS_DIF2
# define MIX_GEO_TS
# define CURVGRID
# define SALINITY
# define SOLVE3D
# define SPLINES_VDIFF
# define SPLINES_VVISC
# define AVERAGES
# define NONLIN_EOS
/* Grid and Initial */
# define MASKING
/* Forcing */
# define BULK_FLUXES
# define LONGWAVE
# define ATM_PRESS
# define PRESS_COMPENSATE
# define EMINUSP
# define SOLAR_SOURCE
# define ANA_NUDGCOEF
# define ANA_BTFLUX
# define ANA_BSFLUX
# define ANA_BPFLUX
/* Turbulence closure */
# undef GLS_MIXING
# define MY25_MIXING
# define LIMIT_VDIFF
# define LIMIT_VVISC
# if defined GLS_MIXING || defined MY25_MIXING
# define KANTHA_CLAYSON
# define N2S2_HORAVG
# define RI_SPLINES
# define CRAIG_BANNER
# define CHARNOK
# endif
/* tide */
# define SSH_TIDES
# define UV_TIDES
# define RAMP_TIDES
# define ADD_FSOBC
# define ADD_M2OBC
# undef FSOBC_REDUCED
/* Output */
# undef DIAGNOSTICS_UV
# undef DIAGNOSTICS_TS
Code: Select all
Physical Parameters, Grid: 01
=============================
518400 ntimes Number of timesteps for 3-D equations.
30.000 dt Timestep size (s) for 3-D equations.
30 ndtfast Number of timesteps for 2-D equations between
each 3D timestep.
1 ERstr Starting ensemble/perturbation run number.
1 ERend Ending ensemble/perturbation run number.
0 nrrec Number of restart records to read from disk.
T LcycleRST Switch to recycle time-records in restart file.
0 nRST Number of timesteps between the writing of data
into restart fields.
1 ninfo Number of timesteps between print of information
to standard output.
T ldefout Switch to create a new output NetCDF file(s).
720 nHIS Number of timesteps between the writing fields
into history file.
2880 ndefHIS Number of timesteps between creation of new
history files.
120 nQCK Number of timesteps between the writing fields
into quicksave file.
2880 ndefQCK Number of timesteps between creation of new
brief snpashots files.
1 ntsAVG Starting timestep for the accumulation of output
time-averaged data.
2880 nAVG Number of timesteps between the writing of
time-averaged data into averages file.
2.0000E+01 nl_tnu2(01) NLM Horizontal, harmonic mixing coefficient
(m2/s) for tracer 01: temp
2.0000E+01 nl_tnu2(02) NLM Horizontal, harmonic mixing coefficient
(m2/s) for tracer 02: salt
5.0000E+01 nl_visc2 NLM Horizontal, harmonic mixing coefficient
(m2/s) for momentum.
F LuvSponge Turning OFF sponge on horizontal momentum.
F LtracerSponge(01) Turning OFF sponge on tracer 01: temp
F LtracerSponge(02) Turning OFF sponge on tracer 02: salt
1.0000E-06 Akt_bak(01) Background vertical mixing coefficient (m2/s)
for tracer 01: temp
1.0000E-06 Akt_bak(02) Background vertical mixing coefficient (m2/s)
for tracer 02: salt
1.0000E-03 Akt_limit(01) Vertical diffusion upper threshold (m2/s)
for tracer 01: temp
1.0000E-03 Akt_limit(02) Vertical diffusion upper threshold (m2/s)
for tracer 02: salt
1.0000E-05 Akv_bak Background vertical mixing coefficient (m2/s)
for momentum.
1.0000E-03 Akv_limit Vertical viscosity upper threshold (m2/s)
for momentum.
5.0000E-06 Akk_bak Background vertical mixing coefficient (m2/s)
for turbulent energy.
5.0000E-06 Akp_bak Background vertical mixing coefficient (m2/s)
for turbulent generic statistical field.
3.0000E-04 rdrg Linear bottom drag coefficient (m/s).
3.0000E-03 rdrg2 Quadratic bottom drag coefficient.
1.2500E-03 Zob Bottom roughness (m).
2.0000E+00 blk_ZQ Height (m) of surface air humidity measurement.
2.0000E+00 blk_ZT Height (m) of surface air temperature measurement.
1.0000E+01 blk_ZW Height (m) of surface winds measurement.
1.5000E-01 Dcrit Minimum depth for wetting and drying (m).
1 lmd_Jwt Jerlov water type.
2 Vtransform S-coordinate transformation equation.
4 Vstretching S-coordinate stretching function.
3.5000E+00 theta_s S-coordinate surface control parameter.
0.0000E+00 theta_b S-coordinate bottom control parameter.
1.000 Tcline S-coordinate surface/bottom layer width (m) used
in vertical coordinate stretching.
1025.000 rho0 Mean density (kg/m3) for Boussinesq approximation.
0.000 dstart Time-stamp assigned to model initialization (days).
0.000 tide_start Reference time origin for tidal forcing (days).
20190101.00 time_ref Reference time for units attribute (yyyymmdd.dd)
0.0000E+00 Tnudg(01) Nudging/relaxation time scale (days)
for tracer 01: temp
0.0000E+00 Tnudg(02) Nudging/relaxation time scale (days)
for tracer 02: salt
0.0000E+00 Znudg Nudging/relaxation time scale (days)
for free-surface.
0.0000E+00 M2nudg Nudging/relaxation time scale (days)
for 2D momentum.
0.0000E+00 M3nudg Nudging/relaxation time scale (days)
for 3D momentum.
0.0000E+00 obcfac Factor between passive and active
open boundary conditions.
F VolCons(1) NLM western edge boundary volume conservation.
F VolCons(2) NLM southern edge boundary volume conservation.
F VolCons(3) NLM eastern edge boundary volume conservation.
F VolCons(4) NLM northern edge boundary volume conservation.
14.000 T0 Background potential temperature (C) constant.
35.000 S0 Background salinity (PSU) constant.
1.000 gamma2 Slipperiness variable: free-slip (1.0) or
no-slip (-1.0).
F LuvSrc Turning OFF momentum point Sources/Sinks.
F LwSrc Turning OFF volume influx point Sources/Sinks.
F LtracerSrc(01) Turning OFF point Sources/Sinks on tracer 01: temp
F LtracerSrc(02) Turning OFF point Sources/Sinks on tracer 02: salt
F LsshCLM Turning OFF processing of SSH climatology.
F Lm2CLM Turning OFF processing of 2D momentum climatology.
F Lm3CLM Turning OFF processing of 3D momentum climatology.
F LtracerCLM(01) Turning OFF processing of climatology tracer 01: temp
F LtracerCLM(02) Turning OFF processing of climatology tracer 02: salt
F LnudgeM2CLM Turning OFF nudging of 2D momentum climatology.
F LnudgeM3CLM Turning OFF nudging of 3D momentum climatology.
F LnudgeTCLM(01) Turning OFF nudging of climatology tracer 01: temp
F LnudgeTCLM(02) Turning OFF nudging of climatology tracer 02: salt
T Hout(idFsur) Write out free-surface.
T Hout(idUbar) Write out 2D U-momentum component.
T Hout(idVbar) Write out 2D V-momentum component.
T Hout(idUvel) Write out 3D U-momentum component.
T Hout(idVvel) Write out 3D V-momentum component.
T Hout(idWvel) Write out W-momentum component.
T Hout(idOvel) Write out omega vertical velocity.
T Hout(idTvar) Write out tracer 01: temp
T Hout(idTvar) Write out tracer 02: salt
T Qout(idFsur) Write out free-surface.
T Qout(idUbar) Write out 2D U-momentum component.
T Qout(idVbar) Write out 2D V-momentum component.
T Qout(idu2dE) Write out 2D U-eastward at RHO-points.
T Qout(idv2dN) Write out 2D V-northward at RHO-points.
T Qout(idUsur) Write out surface U-momentum component.
T Qout(idVsur) Write out surface V-momentum component.
T Qout(idsurT) Write out surface tracer 01: temp_sur
T Qout(idsurT) Write out surface tracer 02: salt_sur
T Qout(idUsms) Write out surface U-momentum stress.
T Qout(idVsms) Write out surface V-momentum stress.
T Qout(idUbms) Write out bottom U-momentum stress.
T Qout(idVbms) Write out bottom V-momentum stress.
T Qout(idPair) Write out surface air pressure.
T Qout(idTair) Write out surface air temperature.
T Qout(idUair) Write out surface U-wind component.
T Qout(idVair) Write out surface V-wind component.
T Qout(idTsur) Write out surface net heat flux.
T Qout(idTsur) Write out surface net salt flux.
T Qout(idSrad) Write out shortwave radiation flux.
T Qout(idLrad) Write out longwave radiation flux.
T Qout(idLhea) Write out latent heat flux.
T Qout(idShea) Write out sensible heat flux.
T Qout(idEmPf) Write out E-P flux.
T Qout(idevap) Write out evaporation rate.
T Qout(idrain) Write out rain rate.
T Aout(idFsur) Write out averaged free-surface.
T Aout(idUbar) Write out averaged 2D U-momentum component.
T Aout(idVbar) Write out averaged 2D V-momentum component.
T Aout(idUvel) Write out averaged 3D U-momentum component.
T Aout(idVvel) Write out averaged 3D V-momentum component.
T Aout(idu3dE) Write out averaged 3D U-eastward at RHO-points.
T Aout(idv3dN) Write out averaged 3D V-northward at RHO-points.
T Aout(idWvel) Write out averaged W-momentum component.
T Aout(idOvel) Write out averaged omega vertical velocity.
T Aout(idTvar) Write out averaged tracer 01: temp
T Aout(idTvar) Write out averaged tracer 02: salt
- PROBLEMS
I also ran a particle tracking experiment with the output flowfield for 15 days, and most of the particles moved for more than 100 km within 15 days. It also unmatches the buoy data.
Is there anyone who have met similar problems? I would appreciate it if you could post any replies!