Back to home page

MITgcm

 
 

    


File indexing completed on 2024-05-19 05:10:57 UTC

view on githubraw file Latest commit 672b8226 on 2024-05-18 15:32:33 UTC
08da45d586 Jean*0001 #ifdef ALLOW_OBCS
                0002 
                0003 CBOP
                0004 C     !ROUTINE: OBCS_FIELDS.h
                0005 C     !INTERFACE:
                0006 C     #include "OBCS_FIELDS.h"
                0007 
                0008 C     !DESCRIPTION:
                0009 C     *==========================================================*
                0010 C     | OBCS_FIELDS.h
                0011 C     | o Header file containing OB values of model fields
                0012 C     *==========================================================*
                0013 CEOP
                0014 
                0015 #ifdef ALLOW_OBCS_PRESCRIBE
                0016 C     OBCS_ldRec     :: time-record currently loaded (in temp arrays *[1])
                0017       COMMON /OBCS_LOAD_I/ OBCS_ldRec
                0018       INTEGER OBCS_ldRec(nSx,nSy)
                0019 #endif /* ALLOW_OBCS_PRESCRIBE */
                0020 
                0021 C--   COMMON /OBCS_FIELDS/ Open boundary related stuff
672b822630 Jean*0022 C OB[N,S,E,W][u,v,w,t,s,eta]    :: Fields with boundary conditions,
6f4cf52d27 Dimi*0023 C                                     the letter combinations mean:
                0024 C                     N/S/E/W   :: northern/southern/eastern/western boundary
                0025 C                     u/v/w/t/s :: ocean u/v/w velocities, temperature/salinity
                0026 C                     eta       :: sea surface height
08da45d586 Jean*0027 C     OBNu is the U value imposed at the Northern OB
                0028 C     OBNv is the V value imposed at the Northern OB
                0029 C     OBNt is the T value imposed at the Northern OB
                0030 C     OBNs is the S value imposed at the Northern OB
                0031 C     etc
672b822630 Jean*0032 C
                0033 C OB[N,S,E,W]_[u,v]Tide[Cs,Sn] :: for each tidal comp, barotropic tidal velocity
                0034 C                     Cs,Sn    :: Amplitude x Cos(Phase), Amplitude x Sin(Phase)
                0035 C                                 (units: m/s)
08da45d586 Jean*0036 
                0037 #ifdef ALLOW_OBCS_NORTH
                0038       COMMON /OBCS_FIELDS_N/
672b822630 Jean*0039      &      OBNu, OBNv, OBNt, OBNs
                0040       _RL OBNu (1-OLx:sNx+OLx,Nr,nSx,nSy)
                0041       _RL OBNv (1-OLx:sNx+OLx,Nr,nSx,nSy)
                0042       _RL OBNt (1-OLx:sNx+OLx,Nr,nSx,nSy)
                0043       _RL OBNs (1-OLx:sNx+OLx,Nr,nSx,nSy)
6f4cf52d27 Dimi*0044 # ifdef ALLOW_OBCS_PRESCRIBE
08da45d586 Jean*0045       COMMON /OBCS_FIELDS_AUX_N/
672b822630 Jean*0046      &      OBNu0, OBNv0, OBNt0, OBNs0,
                0047      &      OBNu1, OBNv1, OBNt1, OBNs1
                0048       _RL OBNu0 (1-OLx:sNx+OLx,Nr,nSx,nSy)
                0049       _RL OBNv0 (1-OLx:sNx+OLx,Nr,nSx,nSy)
                0050       _RL OBNt0 (1-OLx:sNx+OLx,Nr,nSx,nSy)
                0051       _RL OBNs0 (1-OLx:sNx+OLx,Nr,nSx,nSy)
                0052       _RL OBNu1 (1-OLx:sNx+OLx,Nr,nSx,nSy)
                0053       _RL OBNv1 (1-OLx:sNx+OLx,Nr,nSx,nSy)
                0054       _RL OBNt1 (1-OLx:sNx+OLx,Nr,nSx,nSy)
                0055       _RL OBNs1 (1-OLx:sNx+OLx,Nr,nSx,nSy)
6f4cf52d27 Dimi*0056 # endif /* ALLOW_OBCS_PRESCRIBE */
                0057 # ifdef ALLOW_OBCS_STEVENS
672b822630 Jean*0058       COMMON /OBCS_FIELDS_STEVENS_N/
                0059      &     OBNvStevens, OBNtStevens, OBNsStevens
                0060       _RL OBNvStevens (1-OLx:sNx+OLx,Nr,nSx,nSy)
                0061       _RL OBNtStevens (1-OLx:sNx+OLx,Nr,nSx,nSy)
                0062       _RL OBNsStevens (1-OLx:sNx+OLx,Nr,nSx,nSy)
6f4cf52d27 Dimi*0063 # endif /* ALLOW_OBCS_STEVENS */
                0064 # ifdef ALLOW_OBCS_TIDES
672b822630 Jean*0065       COMMON /OBCS_FIELDS_TIDES_N/
                0066      &      OBN_uTideCs, OBN_uTideSn, OBN_vTideCs, OBN_vTideSn
                0067       _RL OBN_uTideCs (1-OLx:sNx+OLx,OBCS_tideCompSize,nSx,nSy)
                0068       _RL OBN_uTideSn (1-OLx:sNx+OLx,OBCS_tideCompSize,nSx,nSy)
                0069       _RL OBN_vTideCs (1-OLx:sNx+OLx,OBCS_tideCompSize,nSx,nSy)
                0070       _RL OBN_vTideSn (1-OLx:sNx+OLx,OBCS_tideCompSize,nSx,nSy)
6f4cf52d27 Dimi*0071 # endif /* ALLOW_OBCS_TIDES */
08da45d586 Jean*0072 #endif /* ALLOW_OBCS_NORTH */
                0073 
                0074 #ifdef ALLOW_OBCS_SOUTH
                0075       COMMON /OBCS_FIELDS_S/
                0076      &      OBSu,OBSv,OBSt,OBSs
672b822630 Jean*0077       _RL OBSu (1-OLx:sNx+OLx,Nr,nSx,nSy)
                0078       _RL OBSv (1-OLx:sNx+OLx,Nr,nSx,nSy)
                0079       _RL OBSt (1-OLx:sNx+OLx,Nr,nSx,nSy)
                0080       _RL OBSs (1-OLx:sNx+OLx,Nr,nSx,nSy)
6f4cf52d27 Dimi*0081 # ifdef ALLOW_OBCS_PRESCRIBE
08da45d586 Jean*0082       COMMON /OBCS_FIELDS_AUX_S/
                0083      &      OBSu0,OBSv0,OBSt0,OBSs0,
                0084      &      OBSu1,OBSv1,OBSt1,OBSs1
672b822630 Jean*0085       _RL OBSu0 (1-OLx:sNx+OLx,Nr,nSx,nSy)
                0086       _RL OBSv0 (1-OLx:sNx+OLx,Nr,nSx,nSy)
                0087       _RL OBSt0 (1-OLx:sNx+OLx,Nr,nSx,nSy)
                0088       _RL OBSs0 (1-OLx:sNx+OLx,Nr,nSx,nSy)
                0089       _RL OBSu1 (1-OLx:sNx+OLx,Nr,nSx,nSy)
                0090       _RL OBSv1 (1-OLx:sNx+OLx,Nr,nSx,nSy)
                0091       _RL OBSt1 (1-OLx:sNx+OLx,Nr,nSx,nSy)
                0092       _RL OBSs1 (1-OLx:sNx+OLx,Nr,nSx,nSy)
6f4cf52d27 Dimi*0093 # endif /* ALLOW_OBCS_PRESCRIBE */
                0094 # ifdef ALLOW_OBCS_STEVENS
672b822630 Jean*0095       COMMON /OBCS_FIELDS_STEVENS_S/
b1353a35da Mart*0096      &     OBSvStevens, OBStStevens, OBSsStevens
672b822630 Jean*0097       _RL OBSvStevens (1-OLx:sNx+OLx,Nr,nSx,nSy)
                0098       _RL OBStStevens (1-OLx:sNx+OLx,Nr,nSx,nSy)
                0099       _RL OBSsStevens (1-OLx:sNx+OLx,Nr,nSx,nSy)
6f4cf52d27 Dimi*0100 # endif /* ALLOW_OBCS_STEVENS */
                0101 # ifdef ALLOW_OBCS_TIDES
672b822630 Jean*0102       COMMON /OBCS_FIELDS_TIDES_S/
                0103      &      OBS_uTideCs, OBS_uTideSn, OBS_vTideCs, OBS_vTideSn
                0104       _RL OBS_uTideCs (1-OLx:sNx+OLx,OBCS_tideCompSize,nSx,nSy)
                0105       _RL OBS_uTideSn (1-OLx:sNx+OLx,OBCS_tideCompSize,nSx,nSy)
                0106       _RL OBS_vTideCs (1-OLx:sNx+OLx,OBCS_tideCompSize,nSx,nSy)
                0107       _RL OBS_vTideSn (1-OLx:sNx+OLx,OBCS_tideCompSize,nSx,nSy)
6f4cf52d27 Dimi*0108 # endif /* ALLOW_OBCS_TIDES */
08da45d586 Jean*0109 #endif /* ALLOW_OBCS_SOUTH */
                0110 
                0111 #ifdef ALLOW_OBCS_EAST
                0112       COMMON /OBCS_FIELDS_E/
                0113      &      OBEu,OBEv,OBEt,OBEs
672b822630 Jean*0114       _RL OBEu (1-OLy:sNy+OLy,Nr,nSx,nSy)
                0115       _RL OBEv (1-OLy:sNy+OLy,Nr,nSx,nSy)
                0116       _RL OBEt (1-OLy:sNy+OLy,Nr,nSx,nSy)
                0117       _RL OBEs (1-OLy:sNy+OLy,Nr,nSx,nSy)
6f4cf52d27 Dimi*0118 # ifdef ALLOW_OBCS_PRESCRIBE
08da45d586 Jean*0119       COMMON /OBCS_FIELDS_AUX_E/
                0120      &      OBEu0,OBEv0,OBEt0,OBEs0,
                0121      &      OBEu1,OBEv1,OBEt1,OBEs1
672b822630 Jean*0122       _RL OBEu0 (1-OLy:sNy+OLy,Nr,nSx,nSy)
                0123       _RL OBEv0 (1-OLy:sNy+OLy,Nr,nSx,nSy)
                0124       _RL OBEt0 (1-OLy:sNy+OLy,Nr,nSx,nSy)
                0125       _RL OBEs0 (1-OLy:sNy+OLy,Nr,nSx,nSy)
                0126       _RL OBEu1 (1-OLy:sNy+OLy,Nr,nSx,nSy)
                0127       _RL OBEv1 (1-OLy:sNy+OLy,Nr,nSx,nSy)
                0128       _RL OBEt1 (1-OLy:sNy+OLy,Nr,nSx,nSy)
                0129       _RL OBEs1 (1-OLy:sNy+OLy,Nr,nSx,nSy)
6f4cf52d27 Dimi*0130 # endif /* ALLOW_OBCS_PRESCRIBE */
                0131 # ifdef ALLOW_OBCS_STEVENS
b1353a35da Mart*0132       COMMON /OBCS_FIELDS_STEVENS_E/
                0133      &     OBEuStevens, OBEtStevens, OBEsStevens
672b822630 Jean*0134       _RL OBEuStevens (1-OLy:sNy+OLy,Nr,nSx,nSy)
                0135       _RL OBEtStevens (1-OLy:sNy+OLy,Nr,nSx,nSy)
                0136       _RL OBEsStevens (1-OLy:sNy+OLy,Nr,nSx,nSy)
6f4cf52d27 Dimi*0137 # endif /* ALLOW_OBCS_STEVENS */
                0138 # ifdef ALLOW_OBCS_TIDES
672b822630 Jean*0139       COMMON /OBCS_FIELDS_TIDES_E/
                0140      &      OBE_uTideCs, OBE_uTideSn, OBE_vTideCs, OBE_vTideSn
                0141       _RL OBE_uTideCs (1-OLy:sNy+OLy,OBCS_tideCompSize,nSx,nSy)
                0142       _RL OBE_uTideSn (1-OLy:sNy+OLy,OBCS_tideCompSize,nSx,nSy)
                0143       _RL OBE_vTideCs (1-OLy:sNy+OLy,OBCS_tideCompSize,nSx,nSy)
                0144       _RL OBE_vTideSn (1-OLy:sNy+OLy,OBCS_tideCompSize,nSx,nSy)
6f4cf52d27 Dimi*0145 # endif /* ALLOW_OBCS_TIDES */
08da45d586 Jean*0146 #endif /* ALLOW_OBCS_EAST */
                0147 
                0148 #ifdef ALLOW_OBCS_WEST
                0149       COMMON /OBCS_FIELDS_W/
                0150      &      OBWu,OBWv,OBWt,OBWs
672b822630 Jean*0151       _RL OBWu (1-OLy:sNy+OLy,Nr,nSx,nSy)
                0152       _RL OBWv (1-OLy:sNy+OLy,Nr,nSx,nSy)
                0153       _RL OBWt (1-OLy:sNy+OLy,Nr,nSx,nSy)
                0154       _RL OBWs (1-OLy:sNy+OLy,Nr,nSx,nSy)
6f4cf52d27 Dimi*0155 # ifdef ALLOW_OBCS_PRESCRIBE
08da45d586 Jean*0156       COMMON /OBCS_FIELDS_AUX_W/
                0157      &      OBWu0,OBWv0,OBWt0,OBWs0,
                0158      &      OBWu1,OBWv1,OBWt1,OBWs1
672b822630 Jean*0159       _RL OBWu0 (1-OLy:sNy+OLy,Nr,nSx,nSy)
                0160       _RL OBWv0 (1-OLy:sNy+OLy,Nr,nSx,nSy)
                0161       _RL OBWt0 (1-OLy:sNy+OLy,Nr,nSx,nSy)
                0162       _RL OBWs0 (1-OLy:sNy+OLy,Nr,nSx,nSy)
                0163       _RL OBWu1 (1-OLy:sNy+OLy,Nr,nSx,nSy)
                0164       _RL OBWv1 (1-OLy:sNy+OLy,Nr,nSx,nSy)
                0165       _RL OBWt1 (1-OLy:sNy+OLy,Nr,nSx,nSy)
                0166       _RL OBWs1 (1-OLy:sNy+OLy,Nr,nSx,nSy)
6f4cf52d27 Dimi*0167 # endif /* ALLOW_OBCS_PRESCRIBE */
                0168 # ifdef ALLOW_OBCS_STEVENS
b1353a35da Mart*0169       COMMON /OBCS_FIELDS_STEVENS_W/
                0170      &     OBWuStevens, OBWtStevens, OBWsStevens
672b822630 Jean*0171       _RL OBWuStevens (1-OLy:sNy+OLy,Nr,nSx,nSy)
                0172       _RL OBWtStevens (1-OLy:sNy+OLy,Nr,nSx,nSy)
                0173       _RL OBWsStevens (1-OLy:sNy+OLy,Nr,nSx,nSy)
6f4cf52d27 Dimi*0174 # endif /* ALLOW_OBCS_STEVENS */
                0175 # ifdef ALLOW_OBCS_TIDES
672b822630 Jean*0176       COMMON /OBCS_FIELDS_TIDES_W/
                0177      &      OBW_uTideCs, OBW_uTideSn, OBW_vTideCs, OBW_vTideSn
                0178       _RL OBW_uTideCs (1-OLy:sNy+OLy,OBCS_tideCompSize,nSx,nSy)
                0179       _RL OBW_uTideSn (1-OLy:sNy+OLy,OBCS_tideCompSize,nSx,nSy)
                0180       _RL OBW_vTideCs (1-OLy:sNy+OLy,OBCS_tideCompSize,nSx,nSy)
                0181       _RL OBW_vTideSn (1-OLy:sNy+OLy,OBCS_tideCompSize,nSx,nSy)
6f4cf52d27 Dimi*0182 # endif /* ALLOW_OBCS_TIDES */
08da45d586 Jean*0183 #endif /* ALLOW_OBCS_WEST */
                0184 
                0185 #ifdef ALLOW_NONHYDROSTATIC
                0186       COMMON /OBCS_NH_FIELDS/
                0187      &      OBNw, OBSw, OBEw, OBWw
672b822630 Jean*0188       _RL OBNw (1-OLx:sNx+OLx,Nr,nSx,nSy)
                0189       _RL OBSw (1-OLx:sNx+OLx,Nr,nSx,nSy)
                0190       _RL OBEw (1-OLy:sNy+OLy,Nr,nSx,nSy)
                0191       _RL OBWw (1-OLy:sNy+OLy,Nr,nSx,nSy)
08da45d586 Jean*0192 #ifdef ALLOW_OBCS_PRESCRIBE
                0193       COMMON /OBCS_NH_FIELDS_AUX/
                0194      &      OBNw0, OBSw0, OBEw0, OBWw0,
                0195      &      OBNw1, OBSw1, OBEw1, OBWw1
672b822630 Jean*0196       _RL OBNw0(1-OLx:sNx+OLx,Nr,nSx,nSy)
                0197       _RL OBSw0(1-OLx:sNx+OLx,Nr,nSx,nSy)
                0198       _RL OBEw0(1-OLy:sNy+OLy,Nr,nSx,nSy)
                0199       _RL OBWw0(1-OLy:sNy+OLy,Nr,nSx,nSy)
                0200       _RL OBNw1(1-OLx:sNx+OLx,Nr,nSx,nSy)
                0201       _RL OBSw1(1-OLx:sNx+OLx,Nr,nSx,nSy)
                0202       _RL OBEw1(1-OLy:sNy+OLy,Nr,nSx,nSy)
                0203       _RL OBWw1(1-OLy:sNy+OLy,Nr,nSx,nSy)
08da45d586 Jean*0204 #endif /* ALLOW_OBCS_PRESCRIBE */
                0205 #endif /* ALLOW_NONHYDROSTATIC */
                0206 
                0207 #ifdef NONLIN_FRSURF
                0208       COMMON /OBCS_NLFS_FIELDS/
                0209      &  OBNeta,  OBSeta,  OBEeta,  OBWeta
672b822630 Jean*0210       _RL OBNeta (1-OLx:sNx+OLx,nSx,nSy)
                0211       _RL OBSeta (1-OLx:sNx+OLx,nSx,nSy)
                0212       _RL OBEeta (1-OLy:sNy+OLy,nSx,nSy)
                0213       _RL OBWeta (1-OLy:sNy+OLy,nSx,nSy)
08da45d586 Jean*0214 #ifdef ALLOW_OBCS_PRESCRIBE
                0215       COMMON /OBCS_NLFS_FIELDS_AUX/
                0216      &      OBNeta0,OBSeta0,OBEeta0,OBWeta0,
                0217      &      OBNeta1,OBSeta1,OBEeta1,OBWeta1
672b822630 Jean*0218       _RL OBNeta0(1-OLx:sNx+OLx,nSx,nSy)
                0219       _RL OBSeta0(1-OLx:sNx+OLx,nSx,nSy)
                0220       _RL OBEeta0(1-OLy:sNy+OLy,nSx,nSy)
                0221       _RL OBWeta0(1-OLy:sNy+OLy,nSx,nSy)
                0222       _RL OBNeta1(1-OLx:sNx+OLx,nSx,nSy)
                0223       _RL OBSeta1(1-OLx:sNx+OLx,nSx,nSy)
                0224       _RL OBEeta1(1-OLy:sNy+OLy,nSx,nSy)
                0225       _RL OBWeta1(1-OLy:sNy+OLy,nSx,nSy)
08da45d586 Jean*0226 #endif /* ALLOW_OBCS_PRESCRIBE */
                0227 #endif /* NONLIN_FRSURF */
                0228 
                0229 #endif /* ALLOW_OBCS */