/[MITgcm]/MITgcm/verification/internal_wave/code/obcs_calc.F
ViewVC logotype

Diff of /MITgcm/verification/internal_wave/code/obcs_calc.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.2 by adcroft, Fri Feb 2 21:36:34 2001 UTC revision 1.3 by adcroft, Thu Jun 7 20:39:03 2001 UTC
# Line 43  C     == Local variables == Line 43  C     == Local variables ==
43        _RL tmpsum        _RL tmpsum
44    
45  C Vertical mode number  C Vertical mode number
46        mz=1.0        mz=1.0 _d 0
47  C Stratification  C Stratification
48        strat = 1.0 _d -6 / (gravity*tAlpha)        strat = 1.0 _d -6 / (gravity*tAlpha)
49    
# Line 58  C Create a vertical structure function w Line 58  C Create a vertical structure function w
58         vertStructWst(K)=vertStructWst(K)-tmpsum         vertStructWst(K)=vertStructWst(K)-tmpsum
59        enddo        enddo
60  c  c
61        obTimeScale = 44567.0        obTimeScale = 44567.0 _d 0
62         kx=mz*2.*pi/400.0*sqrt((2.0*pi*2.0*pi/(obTimeScale*obTimeScale)         kx=mz*2. _d 0*pi/400.0 _d 0
63         &  *sqrt((2.0 _d 0*pi*2.0 _d 0*pi/(obTimeScale*obTimeScale)
64       & - f0*f0)/(1.0 _d -6       & - f0*f0)/(1.0 _d -6
65       & - 2.0*pi*2.0*pi/(obTimeScale*obTimeScale)))       & - 2.0 _d 0*pi*2.0 _d 0*pi/(obTimeScale*obTimeScale)))
66        Uinflow = 0.024        Uinflow = 0.024 _d 0
67        rampTime2 = 4*44567.0  C *NOTE* I have commented out the ramp function below
68    C just to speed things up. You will probably want to use it
69    C for smoother looking solutions.
70          rampTime2 = 4. _d 0*44567.0 _d 0
71    
72    
73  C     Eastern OB  C     Eastern OB
# Line 95  C     Western OB Line 99  C     Western OB
99        ELSE        ELSE
100          DO K=1,Nr          DO K=1,Nr
101            DO J=1-Oly,sNy+Oly            DO J=1-Oly,sNy+Oly
102            OBWu(J,K,bi,bj)=0.            OBWu(J,K,bi,bj)=0. _d 0
103       &       +Uinflow       &       +Uinflow
104       &       *vertStructWst(K)       &       *vertStructWst(K)
105       &       *sin(2.*PI*futureTime/obTimeScale)       &       *sin(2. _d 0*PI*futureTime/obTimeScale)
106       &       *(exp(futureTime/rampTime2)  c    &       *(exp(futureTime/rampTime2)
107       &   - exp(-futureTime/rampTime2))  c    &   - exp(-futureTime/rampTime2))
108       &   /(exp(futureTime/rampTime2)  c    &   /(exp(futureTime/rampTime2)
109       &  + exp(-futureTime/rampTime2))  c    &  + exp(-futureTime/rampTime2))
110       &   *cos(kx*(3-2-0.5)*delX(1))       &   *cos(kx*(3. _d 0-2. _d 0-0.5 _d 0)*delX(1))
111            OBWv(J,K,bi,bj)=0.            OBWv(J,K,bi,bj)=0. _d 0
112       &       +Uinflow       &       +Uinflow
113       &       *f0/(2.0*PI/obTimeScale)       &       *f0/(2.0 _d 0*PI/obTimeScale)
114       &       *vertStructWst(K)       &       *vertStructWst(K)
115       &       *cos(2.*PI*futureTime/obTimeScale )       &       *cos(2. _d 0*PI*futureTime/obTimeScale )
116       & * (exp(futureTime/rampTime2)       & * (exp(futureTime/rampTime2)
117       &   - exp(-futureTime/rampTime2))       &   - exp(-futureTime/rampTime2))
118       &   /(exp(futureTime/rampTime2)       &   /(exp(futureTime/rampTime2)
119       &  + exp(-futureTime/rampTime2))       &  + exp(-futureTime/rampTime2))
120            OBWt(J,K,bi,bj)=tRef(K)            OBWt(J,K,bi,bj)=tRef(K)
121       & + Uinflow*sin(mz*PI*(float(k)-0.5)/float(Nr))       & + Uinflow*sin(mz*PI*(float(k)-0.5 _d 0)/float(Nr))
122       & * sin(2.0*PI*futureTime/obTimeScale)       & * sin(2.0 _d 0*PI*futureTime/obTimeScale)
123       & *sqrt(strat/(tAlpha*gravity))       & *sqrt(strat/(tAlpha*gravity))
124       & *sqrt(2.0*PI/obTimeScale*2.0*PI/obTimeScale - f0*f0)       & *sqrt(2.0 _d 0*PI/obTimeScale*2.0*PI/obTimeScale - f0*f0)
125       & /(2.0*PI/obTimeScale)       & /(2.0 _d 0*PI/obTimeScale)
126       & * (exp(futureTime/rampTime2)  c    & * (exp(futureTime/rampTime2)
127       &   - exp(-futureTime/rampTime2))  c    &   - exp(-futureTime/rampTime2))
128       &   /(exp(futureTime/rampTime2)  c    &   /(exp(futureTime/rampTime2)
129       &  + exp(-futureTime/rampTime2))  c    &  + exp(-futureTime/rampTime2))
130  #ifdef ALLOW_NONHYDROSTATIC  #ifdef ALLOW_NONHYDROSTATIC
131            OBWw(J,K,bi,bj)=-Uinflow            OBWw(J,K,bi,bj)=-Uinflow
132       & *sqrt(2.0*PI/obTimeScale*2.0*PI/obTimeScale - f0*f0)       & *sqrt(2.0 _d 0*PI/obTimeScale*2.0 _d 0*PI/obTimeScale - f0*f0)
133       & /sqrt(strat*strat - 2.0*PI/obTimeScale*2.0*PI/obTimeScale)       & /sqrt(strat*strat -
134       & *sin(mz*PI*(float(k)-0.5)/float(Nr))       &          2.0 _d 0*PI/obTimeScale*2.0 _d 0*PI/obTimeScale)
135       &       *cos(2.*PI*futureTime/obTimeScale)       & *sin(mz*PI*(float(k)-0.5 _d 0)/float(Nr))
136       &       *(exp(futureTime/rampTime2)       &       *cos(2. _d 0*PI*futureTime/obTimeScale)
137       &   - exp(-futureTime/rampTime2))  c    &       *(exp(futureTime/rampTime2)
138       &   /(exp(futureTime/rampTime2)  c    &   - exp(-futureTime/rampTime2))
139       &  + exp(-futureTime/rampTime2))  c    &   /(exp(futureTime/rampTime2)
140    c    &  + exp(-futureTime/rampTime2))
141  #endif  #endif
142            ENDDO            ENDDO
143          ENDDO          ENDDO

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

  ViewVC Help
Powered by ViewVC 1.1.22