Changeset 7753 for trunk/NEMOGCM/NEMO/OPA_SRC/DOM/domhgr.F90
- Timestamp:
- 2017-03-03T12:46:59+01:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/OPA_SRC/DOM/domhgr.F90
r7698 r7753 40 40 !!---------------------------------------------------------------------- 41 41 !! NEMO/OPA 3.7 , NEMO Consortium (2016) 42 !! $Id$ 42 !! $Id$ 43 43 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 44 44 !!---------------------------------------------------------------------- … … 117 117 IF( iff == 0 ) THEN ! Coriolis parameter has not been defined 118 118 IF(lwp) WRITE(numout,*) ' Coriolis parameter calculated on the sphere from gphif & gphit' 119 !$OMP PARALLEL DO schedule(static) private(jj, ji) 120 DO jj = 1, jpj 121 DO ji = 1, jpi 122 ff_f(ji,jj) = 2. * omega * SIN( rad * gphif(ji,jj) ) ! compute it on the sphere at f-point 123 ff_t(ji,jj) = 2. * omega * SIN( rad * gphit(ji,jj) ) ! - - - at t-point 124 END DO 125 END DO 119 ff_f(:,:) = 2. * omega * SIN( rad * gphif(:,:) ) ! compute it on the sphere at f-point 120 ff_t(:,:) = 2. * omega * SIN( rad * gphit(:,:) ) ! - - - at t-point 126 121 ELSE 127 122 IF( ln_read_cfg ) THEN … … 135 130 ! !== associated horizontal metrics ==! 136 131 ! 137 !$OMP PARALLEL DO schedule(static) private(jj, ji) 138 DO jj = 1, jpj 139 DO ji = 1, jpi 140 r1_e1t(ji,jj) = 1._wp / e1t(ji,jj) ; r1_e2t (ji,jj) = 1._wp / e2t(ji,jj) 141 r1_e1u(ji,jj) = 1._wp / e1u(ji,jj) ; r1_e2u (ji,jj) = 1._wp / e2u(ji,jj) 142 r1_e1v(ji,jj) = 1._wp / e1v(ji,jj) ; r1_e2v (ji,jj) = 1._wp / e2v(ji,jj) 143 r1_e1f(ji,jj) = 1._wp / e1f(ji,jj) ; r1_e2f (ji,jj) = 1._wp / e2f(ji,jj) 144 ! 145 e1e2t (ji,jj) = e1t(ji,jj) * e2t(ji,jj) ; r1_e1e2t(ji,jj) = 1._wp / e1e2t(ji,jj) 146 e1e2f (ji,jj) = e1f(ji,jj) * e2f(ji,jj) ; r1_e1e2f(ji,jj) = 1._wp / e1e2f(ji,jj) 147 END DO 148 END DO 132 r1_e1t(:,:) = 1._wp / e1t(:,:) ; r1_e2t (:,:) = 1._wp / e2t(:,:) 133 r1_e1u(:,:) = 1._wp / e1u(:,:) ; r1_e2u (:,:) = 1._wp / e2u(:,:) 134 r1_e1v(:,:) = 1._wp / e1v(:,:) ; r1_e2v (:,:) = 1._wp / e2v(:,:) 135 r1_e1f(:,:) = 1._wp / e1f(:,:) ; r1_e2f (:,:) = 1._wp / e2f(:,:) 136 ! 137 e1e2t (:,:) = e1t(:,:) * e2t(:,:) ; r1_e1e2t(:,:) = 1._wp / e1e2t(:,:) 138 e1e2f (:,:) = e1f(:,:) * e2f(:,:) ; r1_e1e2f(:,:) = 1._wp / e1e2f(:,:) 149 139 IF( ie1e2u_v == 0 ) THEN ! u- & v-surfaces have not been defined 150 140 IF(lwp) WRITE(numout,*) ' u- & v-surfaces calculated as e1 e2 product' 151 !$OMP PARALLEL DO schedule(static) private(jj, ji) 152 DO jj = 1, jpj 153 DO ji = 1, jpi 154 e1e2u (ji,jj) = e1u(ji,jj) * e2u(ji,jj) ! compute them 155 e1e2v (ji,jj) = e1v(ji,jj) * e2v(ji,jj) 156 END DO 157 END DO 141 e1e2u (:,:) = e1u(:,:) * e2u(:,:) ! compute them 142 e1e2v (:,:) = e1v(:,:) * e2v(:,:) 158 143 ELSE 159 144 IF(lwp) WRITE(numout,*) ' u- & v-surfaces have been read in "mesh_mask" file:' 160 145 IF(lwp) WRITE(numout,*) ' grid size reduction in strait(s) is used' 161 146 ENDIF 162 !$OMP PARALLEL DO schedule(static) private(jj, ji) 163 DO jj = 1, jpj 164 DO ji = 1, jpi 165 r1_e1e2u(ji,jj) = 1._wp / e1e2u(ji,jj) ! compute their invert in any cases 166 r1_e1e2v(ji,jj) = 1._wp / e1e2v(ji,jj) 167 ! 168 e2_e1u(ji,jj) = e2u(ji,jj) / e1u(ji,jj) 169 e1_e2v(ji,jj) = e1v(ji,jj) / e2v(ji,jj) 170 END DO 171 END DO 147 r1_e1e2u(:,:) = 1._wp / e1e2u(:,:) ! compute their invert in any cases 148 r1_e1e2v(:,:) = 1._wp / e1e2v(:,:) 149 ! 150 e2_e1u(:,:) = e2u(:,:) / e1u(:,:) 151 e1_e2v(:,:) = e1v(:,:) / e2v(:,:) 172 152 ! 173 153 !
Note: See TracChangeset
for help on using the changeset viewer.