/[MITgcm]/MITgcm/pkg/streamice/streamice_invert_surf_forthick.F
ViewVC logotype

Diff of /MITgcm/pkg/streamice/streamice_invert_surf_forthick.F

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

revision 1.3 by jmc, Fri Jun 21 20:49:50 2013 UTC revision 1.4 by dgoldberg, Tue Nov 29 12:38:43 2016 UTC
# Line 13  C $Name$ Line 13  C $Name$
13    
14  !      This S/R finds a thickness (H) that gives surf elev S with bed R  !      This S/R finds a thickness (H) that gives surf elev S with bed R
15    
16    
17  #include "SIZE.h"  #include "SIZE.h"
18  #include "GRID.h"  #include "GRID.h"
19  #include "SET_GRID.h"  #include "SET_GRID.h"
# Line 20  C $Name$ Line 21  C $Name$
21  #include "PARAMS.h"  #include "PARAMS.h"
22  #include "STREAMICE.h"  #include "STREAMICE.h"
23    
24    #ifdef ALLOW_OPENAD
25          use OAD_tape
26          use OAD_rev
27          use OAD_cp
28    #endif
29    
30        _RL H(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)        _RL H(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
31        _RL S(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)        _RL S(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
32        _RL R(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)        _RL R(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
33        _RL DELTA        _RL DELTA
34        INTEGER myThid        INTEGER myThid
35    #ifdef ALLOW_OPENAD
36          type(active) :: ETA_GL_STREAMICE
37          type(active) :: X,Y0
38          type(modeType) :: our_orig_mode
39    #endif
40          
41    
42  #ifdef ALLOW_STREAMICE  #ifdef ALLOW_STREAMICE
43    
44        _RL resid, f, fp, hf, htmp        _RL resid, f, fp, hf, htmp
45        INTEGER  i, j, bi, bj, ITER        INTEGER  i, j, bi, bj, ITER
46          _RL ETA_GL_PRIME_STREAMICE
47    #ifndef ALLOW_OPENAD
48        _RL ETA_GL_STREAMICE        _RL ETA_GL_STREAMICE
49        EXTERNAL ETA_GL_STREAMICE        EXTERNAL ETA_GL_STREAMICE
50        _RL ETA_GL_STREAMICE_PRIME  #endif
51  !      EXTERNAL PHI_GL_STREAMICE_PRIME  !      EXTERNAL PHI_GL_STREAMICE_PRIME
52    
53          DO bj=myByLo(myThid), myByHi(myThid)          DO bj=myByLo(myThid), myByHi(myThid)
# Line 66  C $Name$ Line 81  C $Name$
81                   htmp = S(i,j,bi,bj)/delta                   htmp = S(i,j,bi,bj)/delta
82                  ENDIF                  ENDIF
83    
84    #ifdef ALLOW_OPENAD
85    
86                    our_orig_mode = our_rev_mode
87                    our_rev_mode%arg_store=.FALSE.
88                    our_rev_mode%arg_restore=.FALSE.
89                    our_rev_mode%plain=.TRUE.
90                    our_rev_mode%tape=.FALSE.
91                    our_rev_mode%adjoint=.FALSE.
92    
93                    X%v = htmp-HF
94                    Y0%v = delta*HF
95    
96                    CALL OpenAD_oad_s_eta_gl_streamice(
97         &             X,
98         &             delta,
99         &             1. _d 0,
100         &             Y0,
101         &             streamice_smooth_gl_width,
102         &             ETA_GL_STREAMICE)
103    
104                    RESID = ETA_GL_STREAMICE%v
105                    our_rev_mode = our_orig_mode
106    
107    #else
108                  RESID = ETA_GL_STREAMICE (                  RESID = ETA_GL_STREAMICE (
109       &             htmp-HF,       &             htmp-HF,
110       &             delta,       &             delta,
111       &             1. _d 0,       &             1. _d 0,
112       &             delta*HF,       &             delta*HF,
113       &             streamice_smooth_gl_width)       &             streamice_smooth_gl_width)
114    #endif
115                  RESID = RESID - S(i,j,bi,bj)                  RESID = RESID - S(i,j,bi,bj)
116                  FP = ETA_GL_STREAMICE_PRIME (                  FP = ETA_GL_PRIME_STREAMICE (
117       &             htmp-HF,       &             htmp-HF,
118       &             delta,       &             delta,
119       &             1. _d 0,       &             1. _d 0,

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

  ViewVC Help
Powered by ViewVC 1.1.22