I have some questions about open boundary conditions and climatology fields. Now, I have two cases.
The first one, I set the *.in file like this:
And the kinetic energy drifted.LBC(isFsur) == Cha Cha Cha Cha ! free-surface
LBC(isUbar) == Fla Fla Fla Fla ! 2D U-momentum
LBC(isVbar) == Fla Fla Fla Fla ! 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
! Adjoint-based algorithms can have different lateral boundary
! conditions keywords.
ad_LBC(isFsur) == Per Clo Per Clo ! free-surface
ad_LBC(isUbar) == Per Clo Per Clo ! 2D U-momentum
ad_LBC(isVbar) == Per Clo Per Clo ! 2D U-momentum
ad_LBC(isUvel) == Per Clo Per Clo ! 3D U-momentum
ad_LBC(isVvel) == Per Clo Per Clo ! 3D V-momentum
ad_LBC(isMtke) == Per Clo Per Clo ! mixing TKE
ad_LBC(isTvar) == Per Clo Per Clo \ ! temperature
Per Clo Per Clo ! 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 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
...
! Nudging/relaxation time scales, inverse scales will be computed
! internally, [1:Ngrids].
TNUDG == 2*120.0d0 ! days
ZNUDG == 0.0d0 ! days
M2NUDG == 0.0d0 ! days
M3NUDG == 120.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 == 60.0d0 ! nondimensional
...
In order to solve this problem, I active the climatology fields, the changes in the *.h cpp file and *.in file like this:
#define ANA_NUDGCOEF
Then the kinetic energy changed to be a little stable. Here I have a question: the tracers(T,S) were very similar to the climatology fields, so can I say this case is more affected by climatology data rather than the physical calculation of the ROMS itself?! 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 == 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 == T T ! temperature, salinity, inert
…
So, how to solve the problem of kinetic energy drifted? Active sponge? Or set nudging layers? But how to do? I am not clear about the usage of climatology fields.
Please help me. I am looking forward to replying.