One-Way Nesting, Zeta Dropping

General scientific issues regarding ROMS

Moderators: arango, robertson

Post Reply
Message
Author
yuchengzhang
Posts: 12
Joined: Wed Sep 07, 2022 2:32 pm
Location: Harbor Branch Oceanographic Institute

One-Way Nesting, Zeta Dropping

#1 Unread post by yuchengzhang »

There are issues for the child domain when I run the model.

One major problem is the surface elevation keeps dropping for the child domain.
Initial condition for Zeta:
zeta_1.png

After 1 day:
zeta_9.png

u and v behaved OKish:
u_9.png
v_9.png


When I plot the graph for zeta using rst file for the refined domain, there is a clear jump at the boundary. The graph shows the top right corner of the child domain:
BC.PNG


The discontinuity also happens for salt, temp, u and v but to a less extent.
Cu.PNG


Anyone has any idea what might be causing this issue? The output log is attached below.
oneway_pulley_bio.log
(1.41 MiB) Downloaded 211 times
Thanks,
Yucheng
Last edited by yuchengzhang on Thu Dec 01, 2022 7:46 pm, edited 2 times in total.

yuchengzhang
Posts: 12
Joined: Wed Sep 07, 2022 2:32 pm
Location: Harbor Branch Oceanographic Institute

Re: One-Way Nesting, Connectivity Issue

#2 Unread post by yuchengzhang »

The problem had to do with ROMS version, I updated the version from 3.7 to 4.1 and ran the model, the problem disappeared. So, it's highly likely ROMS 3.7 had a bug somewhere and it got fixed. Anyway, the lesson is, run the model with newer version....

jgpender
Posts: 2
Joined: Thu Apr 04, 2013 2:46 pm
Location: Univ of AK, Fairbanks SFOS

Re: One-Way Nesting, Zeta Dropping

#3 Unread post by jgpender »

I am getting exactly the same zeta problem with ROMS v4.3. I have set up an experiment with no surface forcing and no tidal forcing for simplicity. The ROMS input consists of an IC file and a BC file for the edges. ROMS works exactly as expected when I run a two-way nesting experiment, which has this in the log file:


Lateral Boundary Conditions: NLM
============================

Variable Grid West Edge South Edge East Edge North Edge
--------- ---- ---------- ---------- ---------- ----------

zeta 1 Chapman Exp Chapman Exp Chapman Exp Chapman Exp
2 Nested Nested Nested Nested

ubar 1 Shchepetkin Shchepetkin Shchepetkin Shchepetkin
2 Nested Nested Nested Nested

vbar 1 Shchepetkin Shchepetkin Shchepetkin Shchepetkin
2 Nested Nested Nested Nested

u 1 Rad + Nud Rad + Nud Rad + Nud Rad + Nud
2 Nested Nested Nested Nested

v 1 Rad + Nud Rad + Nud Rad + Nud Rad + Nud
2 Nested Nested Nested Nested

temp 1 Rad + Nud Rad + Nud Rad + Nud Rad + Nud
2 Nested Nested Nested Nested

salt 1 Rad + Nud Rad + Nud Rad + Nud Rad + Nud
2 Nested Nested Nested Nested

tke 1 Closed Closed Closed Closed
2 Nested Nested Nested Nested

Activated C-preprocessing Options:

SAIPANhNest SAIPANhNest - nested, 2 grids: 3:1 refinement
ANA_BSFLUX Analytical kinematic bottom salinity flux
ANA_BTFLUX Analytical kinematic bottom temperature flux
ANA_SMFLUX Analytical kinematic surface momentum flux
ANA_SSFLUX Analytical kinematic surface salinity flux
ANA_STFLUX Analytical kinematic surface temperature flux
ASSEMBLE_ALLREDUCE Using mpi_allreduce in mp_assemble routine
ASSUMED_SHAPE Using assumed-shape arrays
BOUNDARY_ALLREDUCE Using mpi_allreduce in mp_boundary routine
COLLECT_ALLREDUCE Using mpi_allreduce in mp_collect routine
CHARNOK Charnock surface roughness from wind stress
CRAIG_BANNER Craig and Banner wave breaking surface flux
CURVGRID Orthogonal curvilinear grid
DIFF_GRID Horizontal diffusion coefficient scaled by grid size
DJ_GRADPS Parabolic Splines density Jacobian (Shchepetkin, 2002)
DOUBLE_PRECISION Double precision arithmetic numerical kernel
!GATHER_SENDRECV Using mpi_gatherv in mp_gather2d/mp_gather3d routines
GLS_MIXING Generic Length-Scale turbulence closure
KANTHA_CLAYSON Kantha and Clayson stability function formulation
MASKING Land/Sea masking
MIX_GEO_TS Mixing of tracers along geopotential surfaces
MIX_S_UV Mixing of momentum along constant S-surfaces
MPI MPI distributed-memory configuration
!MULTI_THREAD Using mpi_init with single thread level processing
NESTING Nesting grids: Composite and Refinement
NONLINEAR Nonlinear Model
NONLIN_EOS Nonlinear Equation of State for seawater
N2S2_HORAVG Horizontal smoothing of buoyancy and shear
!ONE_WAY Two-way nesting in refinement grids
PERFECT_RESTART Processing perfect restart variables
POWER_LAW Power-law shape time-averaging barotropic filter
PROFILE Time profiling activated
K_GSCHEME Third-order upstream advection of TKE fields
RADIATION_2D Use tangential phase speed in radiation conditions
REDUCE_ALLREDUCE Using mpi_allreduce in mp_reduce routine
RI_SPLINES Parabolic Spline Reconstruction for Richardson Number
!RST_SINGLE Double precision fields in restart NetCDF file
SALINITY Using salinity
!SCATTER_BCAST Using mpi_scatterv in mp_scatter2d/mp_scatter3d routines
STEP2D_LF_AM3 Predictor/Corrector LF-AM3 stepping scheme
SOLVE3D Solving 3D Primitive Equations
TS_DIF2 Harmonic mixing of tracers
UV_ADV Advection of momentum
UV_COR Coriolis term
UV_U3HADVECTION Third-order upstream horizontal advection of 3D momentum
UV_C4VADVECTION Fourth-order centered vertical advection of momentum
UV_QDRAG Quadratic bottom stress
UV_VIS2 Harmonic mixing of momentum
VAR_RHO_2D Variable density barotropic mode
VISC_GRID Horizontal viscosity coefficient scaled by grid size
VISC_3DCOEF Horizontal, time-dependent 3D viscosity coefficient


The problem shows up when I define the ONE_WAY flag on compile, which is the only thing that is changed. The zeta numbers in the interior of the child grid march off into the dingweeds but if you look at zeta late in the experiment you see that the very edge of the child grid sits exactly where it's supposed to sit. The enclosed graphic shows zeta on the child grid at the end of the experiment. The edges are all close to 1m, which matches the parent grid, but the interior has climbed up to around 4m everywhere after 5 model days which is completely unrealistic.

Again, two-way nesting works just fine so I doubt there is a problem with the ROMS input data. As for one-way nesting, it's as if ROMS sees the forcing on the edges of the child grid that comes from zeta on the parent grid but chooses to ignore it. I really don't see how ROMS can properly force the child grid as a two-way nesting experiment but completely fail as a simpler one-way nesting experiment. If there is a problem with my compile flags then it is too subtle for me to pick up.

Image
Attachments
Untitled.jpg

Post Reply