/[MITgcm]/MITgcm_contrib/dgoldberg/streamice/eta_gl_streamice.F
ViewVC logotype

Contents of /MITgcm_contrib/dgoldberg/streamice/eta_gl_streamice.F

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


Revision 1.2 - (show annotations) (download)
Wed Aug 27 19:29:12 2014 UTC (10 years, 10 months ago) by dgoldberg
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +7 -4 lines
updating contrib streamice repo with latest files, and separated out convergence checks; and parameterised maximum iteration counts and interface w shelfice for coupling

1 C $Header: /u/gcmpack/MITgcm/pkg/streamice/eta_gl_streamice.F,v 1.2 2013/06/21 18:38:45 dgoldberg Exp $
2 C $Name: $
3
4 #include "CPP_OPTIONS.h"
5
6 _RL FUNCTION ETA_GL_STREAMICE (X, M1, M2, Y0, W)
7
8 ! This function smooths out slope discontinuities in a 1D function
9 ! y(x) is assumed piecewise linear with a slope discontinuity at 0
10 ! the results is smoothed only on -w/2 < x < w/2
11
12 ! X: input variable
13 ! M1: slope of y where x<0
14 ! M2: slope of y where x>0
15 ! Y0: value of y at 0
16 ! W: width of smoothing
17
18 _RL X, M1, M2, Y0, W
19 _RL TMP1, PI
20
21 IF (X.le.-0.5*W) THEN
22 ETA_GL_STREAMICE = Y0 + M1 * X
23 ELSEIF(X.gt.0.5*W) THEN
24 ETA_GL_STREAMICE = Y0 + M2 * X
25 ELSE
26 PI = 3.14159265358979323844D0
27 TMP1 = W/PI * COS(PI*X/W)
28 ETA_GL_STREAMICE = Y0 +
29 & M1/2 * (X-0.5*W+TMP1) +
30 & M2/2 * (X+0.5*W-TMP1)
31 ENDIF
32
33 RETURN
34 END

  ViewVC Help
Powered by ViewVC 1.1.22