25 |
#include "EEPARAMS.h" |
#include "EEPARAMS.h" |
26 |
#include "PARAMS.h" |
#include "PARAMS.h" |
27 |
#include "GRID.h" |
#include "GRID.h" |
28 |
|
#include "SURFACE.h" |
29 |
|
|
30 |
C !INPUT/OUTPUT PARAMETERS: |
C !INPUT/OUTPUT PARAMETERS: |
31 |
C == Routine arguments == |
C == Routine arguments == |
90 |
ENDDO |
ENDDO |
91 |
ENDDO |
ENDDO |
92 |
ENDIF |
ENDIF |
93 |
|
#ifdef NONLIN_FRSURF |
94 |
|
ELSEIF (select_rStar .NE. 0) THEN |
95 |
|
C- o rStar case: zero under-ground and at r_lower boundary |
96 |
|
C can be non-zero at surface (useRealFreshWaterFlux) |
97 |
|
IF (k.eq.Nr) THEN |
98 |
|
DO j=1,sNy |
99 |
|
DO i=1,sNx |
100 |
|
wFld(i,j,k,bi,bj) = |
101 |
|
& ( -( uTrans(i+1,j)-uTrans(i,j) |
102 |
|
& +vTrans(i,j+1)-vTrans(i,j) |
103 |
|
& )*recip_rA(i,j,bi,bj) |
104 |
|
& - rStarDhCDt(i,j,bi,bj)*drF(k)*h0FacC(i,j,k,bi,bj) |
105 |
|
& )*maskC(i,j,k,bi,bj) |
106 |
|
ENDDO |
107 |
|
ENDDO |
108 |
|
ELSE |
109 |
|
DO j=1,sNy |
110 |
|
DO i=1,sNx |
111 |
|
wFld(i,j,k,bi,bj) = |
112 |
|
& ( wFld(i,j,k+1,bi,bj) |
113 |
|
& -( uTrans(i+1,j)-uTrans(i,j) |
114 |
|
& +vTrans(i,j+1)-vTrans(i,j) |
115 |
|
& )*recip_rA(i,j,bi,bj) |
116 |
|
& - rStarDhCDt(i,j,bi,bj)*drF(k)*h0FacC(i,j,k,bi,bj) |
117 |
|
& )*maskC(i,j,k,bi,bj) |
118 |
|
ENDDO |
119 |
|
ENDDO |
120 |
|
ENDIF |
121 |
|
#endif /* NONLIN_FRSURF */ |
122 |
ELSE |
ELSE |
123 |
C- o Free Surface case: |
C- o Free Surface case (r-Coordinate): |
124 |
C non zero at surface ; zero under-ground and at r_lower boundary |
C non zero at surface ; zero under-ground and at r_lower boundary |
125 |
IF (k.eq.Nr) THEN |
IF (k.eq.Nr) THEN |
126 |
DO j=1,sNy |
DO j=1,sNy |