Skip to content

Commit

Permalink
Re write obcs tides (MITgcm#752)
Browse files Browse the repository at this point in the history
* Re-write OBCS Tides code (following issue MITgcm#617)

also enable to add tidal velocity to Tangential Flow

* Undate parameter names

* Import updated test from PR MITgcm#73

To also test the addition of tangential component of the tidal velocity,
import the updated set-up from @antnguyen PR MITgcm#73 (branch "obcs_tides_tangential")
including updated ref output from the same PR.

* Only read-in from files tidal-comp that are used

Allow to provide tidal Ampl & Phase bin files with just the number of tidal-comp
that are used (instead of the full tidal-comp size "OBCS_tideCompSize") by
calling directly pkg/msdio section-read S/R.

* Use smaller tidal input files (only 4 components)

* clean up + improve report of params

* Update README

And provide some instruction on how to update previous data.obcs
to work with this updated code.

* little cleaning

* Remove OLD_OBCS_TIDES code

* minor improvement to README

* minor edit

* add links and small fixes to README.md

* add another link to README.md

* small adjustment

* document re-writing OBCS-tides

---------

Co-authored-by: mjlosch <[email protected]>
Co-authored-by: Martin Losch <[email protected]>
  • Loading branch information
3 people authored May 18, 2024
1 parent a80d946 commit 672b822
Show file tree
Hide file tree
Showing 39 changed files with 1,848 additions and 1,333 deletions.
12 changes: 11 additions & 1 deletion doc/tag-index
Original file line number Diff line number Diff line change
@@ -1,12 +1,22 @@
Notes on tags used in MITgcmUV
==============================

o pkg/obcs (tides):
- more efficient implementation of OB barotropic tidal velocity components,
with both Cos & Sin of phase times Amplitude stored in common block ;
- more flexible specification of OB tidal-components (only read-in components
with non-zero tidal period) ;
- allows to specify tangential component of barotropic tidal velocity at OB ;
- rename all OBC tidal component input parameter (period, amplitude and
phase of each OB barotropic tidal velocity component input files) ;
- upgrade OB tidal example (in seaice_obcs/input.tides) with fewer tidal
components (only 4) but including few tangential components.
o verification:
- changing domain decomposition (more tiles) in global_with_exf experiment
(both FWD & AD) and update ref. output ;
- use correct CD-Scheme time-stepping in FWD exp. global_ocean_ebm and update
ref. output ;
- simplify global_ocean.90x40x15/code_ad (undef ALLOW_GENTIM2D_CONTROL,
- simplify global_ocean.90x40x15/code_ad (undef ALLOW_GENTIM2D_CONTROL,
ALLOW_DIFFKR_CONTROL & ALLOW_3D_DIFFKR); remove kpp from global_oce_latlon
(from both TAF & Tapenade code) ;
- after adjusting new host experiment code, merge forward test:
Expand Down
223 changes: 119 additions & 104 deletions pkg/obcs/OBCS_FIELDS.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,195 +19,210 @@ C OBCS_ldRec :: time-record currently loaded (in temp arrays *[1])
#endif /* ALLOW_OBCS_PRESCRIBE */

C-- COMMON /OBCS_FIELDS/ Open boundary related stuff
C OB[N,S,E,W][u,v,w,t,s,eta,am,ph] :: Fields with boundary conditions,
C OB[N,S,E,W][u,v,w,t,s,eta] :: Fields with boundary conditions,
C the letter combinations mean:
C N/S/E/W :: northern/southern/eastern/western boundary
C u/v/w/t/s :: ocean u/v/w velocities, temperature/salinity
C eta :: sea surface height
C am/ph :: tidal amplitude (m/s) / phase (s)
C OBNu is the U value imposed at the Northern OB
C OBNv is the V value imposed at the Northern OB
C OBNt is the T value imposed at the Northern OB
C OBNs is the S value imposed at the Northern OB
C etc
C
C OB[N,S,E,W]_[u,v]Tide[Cs,Sn] :: for each tidal comp, barotropic tidal velocity
C Cs,Sn :: Amplitude x Cos(Phase), Amplitude x Sin(Phase)
C (units: m/s)

#ifdef ALLOW_OBCS_NORTH
COMMON /OBCS_FIELDS_N/
& OBNu,OBNv,OBNt,OBNs
_RL OBNu (1-Olx:sNx+Olx,Nr,nSx,nSy)
_RL OBNv (1-Olx:sNx+Olx,Nr,nSx,nSy)
_RL OBNt (1-Olx:sNx+Olx,Nr,nSx,nSy)
_RL OBNs (1-Olx:sNx+Olx,Nr,nSx,nSy)
& OBNu, OBNv, OBNt, OBNs
_RL OBNu (1-OLx:sNx+OLx,Nr,nSx,nSy)
_RL OBNv (1-OLx:sNx+OLx,Nr,nSx,nSy)
_RL OBNt (1-OLx:sNx+OLx,Nr,nSx,nSy)
_RL OBNs (1-OLx:sNx+OLx,Nr,nSx,nSy)
# ifdef ALLOW_OBCS_PRESCRIBE
COMMON /OBCS_FIELDS_AUX_N/
& OBNu0,OBNv0,OBNt0,OBNs0,
& OBNu1,OBNv1,OBNt1,OBNs1
_RL OBNu0 (1-Olx:sNx+Olx,Nr,nSx,nSy)
_RL OBNv0 (1-Olx:sNx+Olx,Nr,nSx,nSy)
_RL OBNt0 (1-Olx:sNx+Olx,Nr,nSx,nSy)
_RL OBNs0 (1-Olx:sNx+Olx,Nr,nSx,nSy)
_RL OBNu1 (1-Olx:sNx+Olx,Nr,nSx,nSy)
_RL OBNv1 (1-Olx:sNx+Olx,Nr,nSx,nSy)
_RL OBNt1 (1-Olx:sNx+Olx,Nr,nSx,nSy)
_RL OBNs1 (1-Olx:sNx+Olx,Nr,nSx,nSy)
& OBNu0, OBNv0, OBNt0, OBNs0,
& OBNu1, OBNv1, OBNt1, OBNs1
_RL OBNu0 (1-OLx:sNx+OLx,Nr,nSx,nSy)
_RL OBNv0 (1-OLx:sNx+OLx,Nr,nSx,nSy)
_RL OBNt0 (1-OLx:sNx+OLx,Nr,nSx,nSy)
_RL OBNs0 (1-OLx:sNx+OLx,Nr,nSx,nSy)
_RL OBNu1 (1-OLx:sNx+OLx,Nr,nSx,nSy)
_RL OBNv1 (1-OLx:sNx+OLx,Nr,nSx,nSy)
_RL OBNt1 (1-OLx:sNx+OLx,Nr,nSx,nSy)
_RL OBNs1 (1-OLx:sNx+OLx,Nr,nSx,nSy)
# endif /* ALLOW_OBCS_PRESCRIBE */
# ifdef ALLOW_OBCS_STEVENS
COMMON /OBCS_FIELDS_STEVENS_N/
& OBNvStevens, OBNtStevens, OBNsStevens
_RL OBNvStevens (1-Olx:sNx+Olx,Nr,nSx,nSy)
_RL OBNtStevens (1-Olx:sNx+Olx,Nr,nSx,nSy)
_RL OBNsStevens (1-Olx:sNx+Olx,Nr,nSx,nSy)
COMMON /OBCS_FIELDS_STEVENS_N/
& OBNvStevens, OBNtStevens, OBNsStevens
_RL OBNvStevens (1-OLx:sNx+OLx,Nr,nSx,nSy)
_RL OBNtStevens (1-OLx:sNx+OLx,Nr,nSx,nSy)
_RL OBNsStevens (1-OLx:sNx+OLx,Nr,nSx,nSy)
# endif /* ALLOW_OBCS_STEVENS */
# ifdef ALLOW_OBCS_TIDES
COMMON /OBCS_FIELDS_TIDES_N/ OBNam, OBNph
_RL OBNam (1-Olx:sNx+Olx,tidalComponents,nSx,nSy)
_RL OBNph (1-Olx:sNx+Olx,tidalComponents,nSx,nSy)
COMMON /OBCS_FIELDS_TIDES_N/
& OBN_uTideCs, OBN_uTideSn, OBN_vTideCs, OBN_vTideSn
_RL OBN_uTideCs (1-OLx:sNx+OLx,OBCS_tideCompSize,nSx,nSy)
_RL OBN_uTideSn (1-OLx:sNx+OLx,OBCS_tideCompSize,nSx,nSy)
_RL OBN_vTideCs (1-OLx:sNx+OLx,OBCS_tideCompSize,nSx,nSy)
_RL OBN_vTideSn (1-OLx:sNx+OLx,OBCS_tideCompSize,nSx,nSy)
# endif /* ALLOW_OBCS_TIDES */
#endif /* ALLOW_OBCS_NORTH */

#ifdef ALLOW_OBCS_SOUTH
COMMON /OBCS_FIELDS_S/
& OBSu,OBSv,OBSt,OBSs
_RL OBSu (1-Olx:sNx+Olx,Nr,nSx,nSy)
_RL OBSv (1-Olx:sNx+Olx,Nr,nSx,nSy)
_RL OBSt (1-Olx:sNx+Olx,Nr,nSx,nSy)
_RL OBSs (1-Olx:sNx+Olx,Nr,nSx,nSy)
_RL OBSu (1-OLx:sNx+OLx,Nr,nSx,nSy)
_RL OBSv (1-OLx:sNx+OLx,Nr,nSx,nSy)
_RL OBSt (1-OLx:sNx+OLx,Nr,nSx,nSy)
_RL OBSs (1-OLx:sNx+OLx,Nr,nSx,nSy)
# ifdef ALLOW_OBCS_PRESCRIBE
COMMON /OBCS_FIELDS_AUX_S/
& OBSu0,OBSv0,OBSt0,OBSs0,
& OBSu1,OBSv1,OBSt1,OBSs1
_RL OBSu0 (1-Olx:sNx+Olx,Nr,nSx,nSy)
_RL OBSv0 (1-Olx:sNx+Olx,Nr,nSx,nSy)
_RL OBSt0 (1-Olx:sNx+Olx,Nr,nSx,nSy)
_RL OBSs0 (1-Olx:sNx+Olx,Nr,nSx,nSy)
_RL OBSu1 (1-Olx:sNx+Olx,Nr,nSx,nSy)
_RL OBSv1 (1-Olx:sNx+Olx,Nr,nSx,nSy)
_RL OBSt1 (1-Olx:sNx+Olx,Nr,nSx,nSy)
_RL OBSs1 (1-Olx:sNx+Olx,Nr,nSx,nSy)
_RL OBSu0 (1-OLx:sNx+OLx,Nr,nSx,nSy)
_RL OBSv0 (1-OLx:sNx+OLx,Nr,nSx,nSy)
_RL OBSt0 (1-OLx:sNx+OLx,Nr,nSx,nSy)
_RL OBSs0 (1-OLx:sNx+OLx,Nr,nSx,nSy)
_RL OBSu1 (1-OLx:sNx+OLx,Nr,nSx,nSy)
_RL OBSv1 (1-OLx:sNx+OLx,Nr,nSx,nSy)
_RL OBSt1 (1-OLx:sNx+OLx,Nr,nSx,nSy)
_RL OBSs1 (1-OLx:sNx+OLx,Nr,nSx,nSy)
# endif /* ALLOW_OBCS_PRESCRIBE */
# ifdef ALLOW_OBCS_STEVENS
COMMON /OBCS_FIELDS_STEVENS_S/
COMMON /OBCS_FIELDS_STEVENS_S/
& OBSvStevens, OBStStevens, OBSsStevens
_RL OBSvStevens (1-Olx:sNx+Olx,Nr,nSx,nSy)
_RL OBStStevens (1-Olx:sNx+Olx,Nr,nSx,nSy)
_RL OBSsStevens (1-Olx:sNx+Olx,Nr,nSx,nSy)
_RL OBSvStevens (1-OLx:sNx+OLx,Nr,nSx,nSy)
_RL OBStStevens (1-OLx:sNx+OLx,Nr,nSx,nSy)
_RL OBSsStevens (1-OLx:sNx+OLx,Nr,nSx,nSy)
# endif /* ALLOW_OBCS_STEVENS */
# ifdef ALLOW_OBCS_TIDES
COMMON /OBCS_FIELDS_TIDES_S/ OBSam, OBSph
_RL OBSam (1-Olx:sNx+Olx,tidalComponents,nSx,nSy)
_RL OBSph (1-Olx:sNx+Olx,tidalComponents,nSx,nSy)
COMMON /OBCS_FIELDS_TIDES_S/
& OBS_uTideCs, OBS_uTideSn, OBS_vTideCs, OBS_vTideSn
_RL OBS_uTideCs (1-OLx:sNx+OLx,OBCS_tideCompSize,nSx,nSy)
_RL OBS_uTideSn (1-OLx:sNx+OLx,OBCS_tideCompSize,nSx,nSy)
_RL OBS_vTideCs (1-OLx:sNx+OLx,OBCS_tideCompSize,nSx,nSy)
_RL OBS_vTideSn (1-OLx:sNx+OLx,OBCS_tideCompSize,nSx,nSy)
# endif /* ALLOW_OBCS_TIDES */
#endif /* ALLOW_OBCS_SOUTH */

#ifdef ALLOW_OBCS_EAST
COMMON /OBCS_FIELDS_E/
& OBEu,OBEv,OBEt,OBEs
_RL OBEu (1-Oly:sNy+Oly,Nr,nSx,nSy)
_RL OBEv (1-Oly:sNy+Oly,Nr,nSx,nSy)
_RL OBEt (1-Oly:sNy+Oly,Nr,nSx,nSy)
_RL OBEs (1-Oly:sNy+Oly,Nr,nSx,nSy)
_RL OBEu (1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL OBEv (1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL OBEt (1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL OBEs (1-OLy:sNy+OLy,Nr,nSx,nSy)
# ifdef ALLOW_OBCS_PRESCRIBE
COMMON /OBCS_FIELDS_AUX_E/
& OBEu0,OBEv0,OBEt0,OBEs0,
& OBEu1,OBEv1,OBEt1,OBEs1
_RL OBEu0 (1-Oly:sNy+Oly,Nr,nSx,nSy)
_RL OBEv0 (1-Oly:sNy+Oly,Nr,nSx,nSy)
_RL OBEt0 (1-Oly:sNy+Oly,Nr,nSx,nSy)
_RL OBEs0 (1-Oly:sNy+Oly,Nr,nSx,nSy)
_RL OBEu1 (1-Oly:sNy+Oly,Nr,nSx,nSy)
_RL OBEv1 (1-Oly:sNy+Oly,Nr,nSx,nSy)
_RL OBEt1 (1-Oly:sNy+Oly,Nr,nSx,nSy)
_RL OBEs1 (1-Oly:sNy+Oly,Nr,nSx,nSy)
_RL OBEu0 (1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL OBEv0 (1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL OBEt0 (1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL OBEs0 (1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL OBEu1 (1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL OBEv1 (1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL OBEt1 (1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL OBEs1 (1-OLy:sNy+OLy,Nr,nSx,nSy)
# endif /* ALLOW_OBCS_PRESCRIBE */
# ifdef ALLOW_OBCS_STEVENS
COMMON /OBCS_FIELDS_STEVENS_E/
& OBEuStevens, OBEtStevens, OBEsStevens
_RL OBEuStevens (1-Oly:sNy+Oly,Nr,nSx,nSy)
_RL OBEtStevens (1-Oly:sNy+Oly,Nr,nSx,nSy)
_RL OBEsStevens (1-Oly:sNy+Oly,Nr,nSx,nSy)
_RL OBEuStevens (1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL OBEtStevens (1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL OBEsStevens (1-OLy:sNy+OLy,Nr,nSx,nSy)
# endif /* ALLOW_OBCS_STEVENS */
# ifdef ALLOW_OBCS_TIDES
COMMON /OBCS_FIELDS_TIDES_E/ OBEam, OBEph
_RL OBEam (1-Oly:sNy+Oly,tidalComponents,nSx,nSy)
_RL OBEph (1-Oly:sNy+Oly,tidalComponents,nSx,nSy)
COMMON /OBCS_FIELDS_TIDES_E/
& OBE_uTideCs, OBE_uTideSn, OBE_vTideCs, OBE_vTideSn
_RL OBE_uTideCs (1-OLy:sNy+OLy,OBCS_tideCompSize,nSx,nSy)
_RL OBE_uTideSn (1-OLy:sNy+OLy,OBCS_tideCompSize,nSx,nSy)
_RL OBE_vTideCs (1-OLy:sNy+OLy,OBCS_tideCompSize,nSx,nSy)
_RL OBE_vTideSn (1-OLy:sNy+OLy,OBCS_tideCompSize,nSx,nSy)
# endif /* ALLOW_OBCS_TIDES */
#endif /* ALLOW_OBCS_EAST */

#ifdef ALLOW_OBCS_WEST
COMMON /OBCS_FIELDS_W/
& OBWu,OBWv,OBWt,OBWs
_RL OBWu (1-Oly:sNy+Oly,Nr,nSx,nSy)
_RL OBWv (1-Oly:sNy+Oly,Nr,nSx,nSy)
_RL OBWt (1-Oly:sNy+Oly,Nr,nSx,nSy)
_RL OBWs (1-Oly:sNy+Oly,Nr,nSx,nSy)
_RL OBWu (1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL OBWv (1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL OBWt (1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL OBWs (1-OLy:sNy+OLy,Nr,nSx,nSy)
# ifdef ALLOW_OBCS_PRESCRIBE
COMMON /OBCS_FIELDS_AUX_W/
& OBWu0,OBWv0,OBWt0,OBWs0,
& OBWu1,OBWv1,OBWt1,OBWs1
_RL OBWu0 (1-Oly:sNy+Oly,Nr,nSx,nSy)
_RL OBWv0 (1-Oly:sNy+Oly,Nr,nSx,nSy)
_RL OBWt0 (1-Oly:sNy+Oly,Nr,nSx,nSy)
_RL OBWs0 (1-Oly:sNy+Oly,Nr,nSx,nSy)
_RL OBWu1 (1-Oly:sNy+Oly,Nr,nSx,nSy)
_RL OBWv1 (1-Oly:sNy+Oly,Nr,nSx,nSy)
_RL OBWt1 (1-Oly:sNy+Oly,Nr,nSx,nSy)
_RL OBWs1 (1-Oly:sNy+Oly,Nr,nSx,nSy)
_RL OBWu0 (1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL OBWv0 (1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL OBWt0 (1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL OBWs0 (1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL OBWu1 (1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL OBWv1 (1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL OBWt1 (1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL OBWs1 (1-OLy:sNy+OLy,Nr,nSx,nSy)
# endif /* ALLOW_OBCS_PRESCRIBE */
# ifdef ALLOW_OBCS_STEVENS
COMMON /OBCS_FIELDS_STEVENS_W/
& OBWuStevens, OBWtStevens, OBWsStevens
_RL OBWuStevens (1-Oly:sNy+Oly,Nr,nSx,nSy)
_RL OBWtStevens (1-Oly:sNy+Oly,Nr,nSx,nSy)
_RL OBWsStevens (1-Oly:sNy+Oly,Nr,nSx,nSy)
_RL OBWuStevens (1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL OBWtStevens (1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL OBWsStevens (1-OLy:sNy+OLy,Nr,nSx,nSy)
# endif /* ALLOW_OBCS_STEVENS */
# ifdef ALLOW_OBCS_TIDES
COMMON /OBCS_FIELDS_TIDES_W/ OBWam, OBWph
_RL OBWam (1-Oly:sNy+Oly,tidalComponents,nSx,nSy)
_RL OBWph (1-Oly:sNy+Oly,tidalComponents,nSx,nSy)
COMMON /OBCS_FIELDS_TIDES_W/
& OBW_uTideCs, OBW_uTideSn, OBW_vTideCs, OBW_vTideSn
_RL OBW_uTideCs (1-OLy:sNy+OLy,OBCS_tideCompSize,nSx,nSy)
_RL OBW_uTideSn (1-OLy:sNy+OLy,OBCS_tideCompSize,nSx,nSy)
_RL OBW_vTideCs (1-OLy:sNy+OLy,OBCS_tideCompSize,nSx,nSy)
_RL OBW_vTideSn (1-OLy:sNy+OLy,OBCS_tideCompSize,nSx,nSy)
# endif /* ALLOW_OBCS_TIDES */
#endif /* ALLOW_OBCS_WEST */

#ifdef ALLOW_NONHYDROSTATIC
COMMON /OBCS_NH_FIELDS/
& OBNw, OBSw, OBEw, OBWw
_RL OBNw (1-Olx:sNx+Olx,Nr,nSx,nSy)
_RL OBSw (1-Olx:sNx+Olx,Nr,nSx,nSy)
_RL OBEw (1-Oly:sNy+Oly,Nr,nSx,nSy)
_RL OBWw (1-Oly:sNy+Oly,Nr,nSx,nSy)
_RL OBNw (1-OLx:sNx+OLx,Nr,nSx,nSy)
_RL OBSw (1-OLx:sNx+OLx,Nr,nSx,nSy)
_RL OBEw (1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL OBWw (1-OLy:sNy+OLy,Nr,nSx,nSy)
#ifdef ALLOW_OBCS_PRESCRIBE
COMMON /OBCS_NH_FIELDS_AUX/
& OBNw0, OBSw0, OBEw0, OBWw0,
& OBNw1, OBSw1, OBEw1, OBWw1
_RL OBNw0(1-Olx:sNx+Olx,Nr,nSx,nSy)
_RL OBSw0(1-Olx:sNx+Olx,Nr,nSx,nSy)
_RL OBEw0(1-Oly:sNy+Oly,Nr,nSx,nSy)
_RL OBWw0(1-Oly:sNy+Oly,Nr,nSx,nSy)
_RL OBNw1(1-Olx:sNx+Olx,Nr,nSx,nSy)
_RL OBSw1(1-Olx:sNx+Olx,Nr,nSx,nSy)
_RL OBEw1(1-Oly:sNy+Oly,Nr,nSx,nSy)
_RL OBWw1(1-Oly:sNy+Oly,Nr,nSx,nSy)
_RL OBNw0(1-OLx:sNx+OLx,Nr,nSx,nSy)
_RL OBSw0(1-OLx:sNx+OLx,Nr,nSx,nSy)
_RL OBEw0(1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL OBWw0(1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL OBNw1(1-OLx:sNx+OLx,Nr,nSx,nSy)
_RL OBSw1(1-OLx:sNx+OLx,Nr,nSx,nSy)
_RL OBEw1(1-OLy:sNy+OLy,Nr,nSx,nSy)
_RL OBWw1(1-OLy:sNy+OLy,Nr,nSx,nSy)
#endif /* ALLOW_OBCS_PRESCRIBE */
#endif /* ALLOW_NONHYDROSTATIC */

#ifdef NONLIN_FRSURF
COMMON /OBCS_NLFS_FIELDS/
& OBNeta, OBSeta, OBEeta, OBWeta
_RL OBNeta (1-Olx:sNx+Olx,nSx,nSy)
_RL OBSeta (1-Olx:sNx+Olx,nSx,nSy)
_RL OBEeta (1-Oly:sNy+Oly,nSx,nSy)
_RL OBWeta (1-Oly:sNy+Oly,nSx,nSy)
_RL OBNeta (1-OLx:sNx+OLx,nSx,nSy)
_RL OBSeta (1-OLx:sNx+OLx,nSx,nSy)
_RL OBEeta (1-OLy:sNy+OLy,nSx,nSy)
_RL OBWeta (1-OLy:sNy+OLy,nSx,nSy)
#ifdef ALLOW_OBCS_PRESCRIBE
COMMON /OBCS_NLFS_FIELDS_AUX/
& OBNeta0,OBSeta0,OBEeta0,OBWeta0,
& OBNeta1,OBSeta1,OBEeta1,OBWeta1
_RL OBNeta0(1-Olx:sNx+Olx,nSx,nSy)
_RL OBSeta0(1-Olx:sNx+Olx,nSx,nSy)
_RL OBEeta0(1-Oly:sNy+Oly,nSx,nSy)
_RL OBWeta0(1-Oly:sNy+Oly,nSx,nSy)
_RL OBNeta1(1-Olx:sNx+Olx,nSx,nSy)
_RL OBSeta1(1-Olx:sNx+Olx,nSx,nSy)
_RL OBEeta1(1-Oly:sNy+Oly,nSx,nSy)
_RL OBWeta1(1-Oly:sNy+Oly,nSx,nSy)
_RL OBNeta0(1-OLx:sNx+OLx,nSx,nSy)
_RL OBSeta0(1-OLx:sNx+OLx,nSx,nSy)
_RL OBEeta0(1-OLy:sNy+OLy,nSx,nSy)
_RL OBWeta0(1-OLy:sNy+OLy,nSx,nSy)
_RL OBNeta1(1-OLx:sNx+OLx,nSx,nSy)
_RL OBSeta1(1-OLx:sNx+OLx,nSx,nSy)
_RL OBEeta1(1-OLy:sNy+OLy,nSx,nSy)
_RL OBWeta1(1-OLy:sNy+OLy,nSx,nSy)
#endif /* ALLOW_OBCS_PRESCRIBE */
#endif /* NONLIN_FRSURF */

Expand Down
4 changes: 1 addition & 3 deletions pkg/obcs/OBCS_OPTIONS.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,7 @@ C Include hooks to sponge layer treatment of pkg/seaice variables
C balance barotropic velocity
#define ALLOW_OBCS_BALANCE

C add tidal contributions to normal OB flow
C NOTE that at the moment tidal forcing is applied
C only to "normal" flow.
C Allow to add barotropic tidal contributions to OB velocity
#undef ALLOW_OBCS_TIDES

C Use older implementation of obcs in seaice-dynamics
Expand Down
Loading

0 comments on commit 672b822

Please sign in to comment.