- Timestamp:
- 2015-09-13T09:42:41+02:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_r5721_CNRS9_NOC3_LDF/NEMOGCM/NEMO/OPA_SRC/SOL/solmat.F90
r4328 r5737 89 89 DO ji = 2, jpim1 90 90 zcoef = z2dt * z2dt * grav * bmask(ji,jj) 91 zcoefs = -zcoef * hv(ji ,jj-1) * e1 v(ji ,jj-1) /e2v(ji ,jj-1) ! south coefficient92 zcoefw = -zcoef * hu(ji-1,jj ) * e2 u(ji-1,jj ) /e1u(ji-1,jj ) ! west coefficient93 zcoefe = -zcoef * hu(ji ,jj ) * e2 u(ji ,jj ) /e1u(ji ,jj ) ! east coefficient94 zcoefn = -zcoef * hv(ji ,jj ) * e1 v(ji ,jj ) /e2v(ji ,jj ) ! north coefficient91 zcoefs = -zcoef * hv(ji ,jj-1) * e1_e2v(ji ,jj-1) ! south coefficient 92 zcoefw = -zcoef * hu(ji-1,jj ) * e2_e1u(ji-1,jj ) ! west coefficient 93 zcoefe = -zcoef * hu(ji ,jj ) * e2_e1u(ji ,jj ) ! east coefficient 94 zcoefn = -zcoef * hv(ji ,jj ) * e1_e2v(ji ,jj ) ! north coefficient 95 95 gcp(ji,jj,1) = zcoefs 96 96 gcp(ji,jj,2) = zcoefw 97 97 gcp(ji,jj,3) = zcoefe 98 98 gcp(ji,jj,4) = zcoefn 99 gcdmat(ji,jj) = e1 t(ji,jj) *e2t(ji,jj) * bmask(ji,jj) & ! diagonal coefficient99 gcdmat(ji,jj) = e1e2t(ji,jj) * bmask(ji,jj) & ! diagonal coefficient 100 100 & - zcoefs -zcoefw -zcoefe -zcoefn 101 101 END DO … … 110 110 111 111 ! south coefficient 112 zcoefs = -zcoef * hv(ji,jj-1) * e1 v(ji,jj-1)/e2v(ji,jj-1)112 zcoefs = -zcoef * hv(ji,jj-1) * e1_e2v(ji,jj-1) 113 113 zcoefs = zcoefs * bdyvmask(ji,jj-1) 114 114 gcp(ji,jj,1) = zcoefs 115 115 116 116 ! west coefficient 117 zcoefw = -zcoef * hu(ji-1,jj) * e2 u(ji-1,jj)/e1u(ji-1,jj)117 zcoefw = -zcoef * hu(ji-1,jj) * e2_e1u(ji-1,jj) 118 118 zcoefw = zcoefw * bdyumask(ji-1,jj) 119 119 gcp(ji,jj,2) = zcoefw 120 120 121 121 ! east coefficient 122 zcoefe = -zcoef * hu(ji,jj) * e2 u(ji,jj)/e1u(ji,jj)122 zcoefe = -zcoef * hu(ji,jj) * e2_e1u(ji,jj) 123 123 zcoefe = zcoefe * bdyumask(ji,jj) 124 124 gcp(ji,jj,3) = zcoefe 125 125 126 126 ! north coefficient 127 zcoefn = -zcoef * hv(ji,jj) * e1 v(ji,jj)/e2v(ji,jj)127 zcoefn = -zcoef * hv(ji,jj) * e1_e2v(ji,jj) 128 128 zcoefn = zcoefn * bdyvmask(ji,jj) 129 129 gcp(ji,jj,4) = zcoefn 130 130 131 131 ! diagonal coefficient 132 gcdmat(ji,jj) = e1t(ji,jj)*e2t(ji,jj)*bmask(ji,jj) & 133 - zcoefs -zcoefw -zcoefe -zcoefn 132 gcdmat(ji,jj) = e1e2t(ji,jj)*bmask(ji,jj) - zcoefs -zcoefw -zcoefe -zcoefn 134 133 END DO 135 134 END DO … … 149 148 ! south coefficient 150 149 IF( ( nbondj == -1 .OR. nbondj == 2 ) .AND. ( jj == 3 ) ) THEN 151 zcoefs = -zcoef * hv(ji,jj-1) * e1 v(ji,jj-1)/e2v(ji,jj-1)*(1.-vmask(ji,jj-1,1))150 zcoefs = -zcoef * hv(ji,jj-1) * e1_e2v(ji,jj-1)*(1.-vmask(ji,jj-1,1)) 152 151 ELSE 153 zcoefs = -zcoef * hv(ji,jj-1) * e1 v(ji,jj-1)/e2v(ji,jj-1)152 zcoefs = -zcoef * hv(ji,jj-1) * e1_e2v(ji,jj-1) 154 153 END IF 155 154 gcp(ji,jj,1) = zcoefs … … 157 156 ! west coefficient 158 157 IF( ( nbondi == -1 .OR. nbondi == 2 ) .AND. ( ji == 3 ) ) THEN 159 zcoefw = -zcoef * hu(ji-1,jj) * e2 u(ji-1,jj)/e1u(ji-1,jj)*(1.-umask(ji-1,jj,1))158 zcoefw = -zcoef * hu(ji-1,jj) * e2_e1u(ji-1,jj)*(1.-umask(ji-1,jj,1)) 160 159 ELSE 161 zcoefw = -zcoef * hu(ji-1,jj) * e2 u(ji-1,jj)/e1u(ji-1,jj)160 zcoefw = -zcoef * hu(ji-1,jj) * e2_e1u(ji-1,jj) 162 161 END IF 163 162 gcp(ji,jj,2) = zcoefw … … 165 164 ! east coefficient 166 165 IF( ( nbondi == 1 .OR. nbondi == 2 ) .AND. ( ji == nlci-2 ) ) THEN 167 zcoefe = -zcoef * hu(ji,jj) * e2 u(ji,jj)/e1u(ji,jj)*(1.-umask(ji,jj,1))166 zcoefe = -zcoef * hu(ji,jj) * e2_e1u(ji,jj)*(1.-umask(ji,jj,1)) 168 167 ELSE 169 zcoefe = -zcoef * hu(ji,jj) * e2 u(ji,jj)/e1u(ji,jj)168 zcoefe = -zcoef * hu(ji,jj) * e2_e1u(ji,jj) 170 169 END IF 171 170 gcp(ji,jj,3) = zcoefe … … 173 172 ! north coefficient 174 173 IF( ( nbondj == 1 .OR. nbondj == 2 ) .AND. ( jj == nlcj-2 ) ) THEN 175 zcoefn = -zcoef * hv(ji,jj) * e1 v(ji,jj)/e2v(ji,jj)*(1.-vmask(ji,jj,1))174 zcoefn = -zcoef * hv(ji,jj) * e1_e2v(ji,jj)*(1.-vmask(ji,jj,1)) 176 175 ELSE 177 zcoefn = -zcoef * hv(ji,jj) * e1 v(ji,jj)/e2v(ji,jj)176 zcoefn = -zcoef * hv(ji,jj) * e1_e2v(ji,jj) 178 177 END IF 179 178 gcp(ji,jj,4) = zcoefn 180 179 ! 181 180 ! diagonal coefficient 182 gcdmat(ji,jj) = e1t(ji,jj)*e2t(ji,jj)*bmask(ji,jj) & 183 & - zcoefs -zcoefw -zcoefe -zcoefn 181 gcdmat(ji,jj) = e1e2t(ji,jj)*bmask(ji,jj) - zcoefs -zcoefw -zcoefe -zcoefn 184 182 END DO 185 183 END DO
Note: See TracChangeset
for help on using the changeset viewer.