C $Header: /u/gcmpack/MITgcm/pkg/obcs/OBCS_FIELDS.h,v 1.5 2012/11/15 20:46:52 dimitri Exp $
C $Name: $
#ifdef ALLOW_OBCS
CBOP
C !ROUTINE: OBCS_FIELDS.h
C !INTERFACE:
C #include "OBCS_FIELDS.h"
C !DESCRIPTION:
C *==========================================================*
C | OBCS_FIELDS.h
C | o Header file containing OB values of model fields
C *==========================================================*
CEOP
#ifdef ALLOW_OBCS_PRESCRIBE
C OBCS_ldRec :: time-record currently loaded (in temp arrays *[1])
COMMON /OBCS_LOAD_I/ OBCS_ldRec
INTEGER OBCS_ldRec(nSx,nSy)
#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 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
#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)
# 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)
# 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)
# 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)
# 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)
# 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)
# endif /* ALLOW_OBCS_PRESCRIBE */
# ifdef ALLOW_OBCS_STEVENS
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)
# 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)
# 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)
# 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)
# 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)
# 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)
# 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)
# 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)
# 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)
# 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)
# 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)
#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)
#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)
#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)
#endif /* ALLOW_OBCS_PRESCRIBE */
#endif /* NONLIN_FRSURF */
#endif /* ALLOW_OBCS */