Changeset 7698 for trunk/NEMOGCM/NEMO/OPA_SRC/USR
- Timestamp:
- 2017-02-18T10:02:03+01:00 (7 years ago)
- Location:
- trunk/NEMOGCM/NEMO/OPA_SRC/USR
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/OPA_SRC/USR/usrdef_closea.F90
r7427 r7698 388 388 ! 389 389 DO jc = 1, jpncs 390 !$OMP PARALLEL DO schedule(static) private(jj,ji) 390 391 DO jj = ncsj1(jc), ncsj2(jc) 391 392 DO ji = ncsi1(jc), ncsi2(jc) -
trunk/NEMOGCM/NEMO/OPA_SRC/USR/usrdef_hgr.F90
r6960 r7698 103 103 ENDIF 104 104 ! 105 !$OMP PARALLEL 106 !$OMP DO schedule(static) private(jj, ji, zim1, zjm1) 105 107 DO jj = 1, jpj 106 108 DO ji = 1, jpi … … 129 131 END DO 130 132 END DO 133 !$OMP END DO NOWAIT 131 134 ! 132 135 ! !== Horizontal scale factors ==! (in meters) 133 136 ! 134 137 ! ! constant grid spacing 135 pe1t(:,:) = ze1 ; pe2t(:,:) = ze1 136 pe1u(:,:) = ze1 ; pe2u(:,:) = ze1 137 pe1v(:,:) = ze1 ; pe2v(:,:) = ze1 138 pe1f(:,:) = ze1 ; pe2f(:,:) = ze1 139 ! 140 ! ! NO reduction of grid size in some straits 138 !$OMP DO schedule(static) private(jj, ji) 139 DO jj = 1, jpj 140 DO ji = 1, jpi 141 pe1t(ji,jj) = ze1 ; pe2t(ji,jj) = ze1 142 pe1u(ji,jj) = ze1 ; pe2u(ji,jj) = ze1 143 pe1v(ji,jj) = ze1 ; pe2v(ji,jj) = ze1 144 pe1f(ji,jj) = ze1 ; pe2f(ji,jj) = ze1 145 ! 146 ! ! NO reduction of grid size in some straits 147 pe1e2u(ji,jj) = 0._wp ! CAUTION: set to zero to avoid error with some compilers that 148 pe1e2v(ji,jj) = 0._wp ! require an initialization of INTENT(out) arguments 149 END DO 150 END DO 151 !$OMP END PARALLEL 141 152 ke1e2u_v = 0 ! ==>> u_ & v_surfaces will be computed in dom_ghr routine 142 pe1e2u(:,:) = 0._wp ! CAUTION: set to zero to avoid error with some compilers that143 pe1e2v(:,:) = 0._wp ! require an initialization of INTENT(out) arguments144 153 ! 145 154 ! … … 153 162 zf0 = 2. * omega * SIN( rad * zphi0 ) ! compute f0 1st point south 154 163 ! 155 pff_f(:,:) = ( zf0 + zbeta * ABS( pphif(:,:) - zphi0 ) * rad * ra ) ! f = f0 +beta* y ( y=0 at south) 156 pff_t(:,:) = ( zf0 + zbeta * ABS( pphit(:,:) - zphi0 ) * rad * ra ) ! f = f0 +beta* y ( y=0 at south) 164 !$OMP PARALLEL DO schedule(static) private(jj, ji) 165 DO jj = 1, jpj 166 DO ji = 1, jpi 167 pff_f(ji,jj) = ( zf0 + zbeta * ABS( pphif(ji,jj) - zphi0 ) * rad * ra ) ! f = f0 +beta* y ( y=0 at south) 168 pff_t(ji,jj) = ( zf0 + zbeta * ABS( pphit(ji,jj) - zphi0 ) * rad * ra ) ! f = f0 +beta* y ( y=0 at south) 169 END DO 170 END DO 157 171 ! 158 172 IF(lwp) WRITE(numout,*) ' beta-plane used. beta = ', zbeta, ' 1/(s.m)' -
trunk/NEMOGCM/NEMO/OPA_SRC/USR/usrdef_istate.F90
r6923 r7698 55 55 IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~~ Ocean at rest, with an horizontally uniform T and S profiles' 56 56 ! 57 pu (:,:,:) = 0._wp ! ocean at rest 58 pv (:,:,:) = 0._wp 59 pssh(:,:) = 0._wp 57 !$OMP PARALLEL 58 !$OMP DO schedule(static) private(jk,jj,ji) 59 DO jk = 1, jpk 60 DO jj = 1, jpj 61 DO ji = 1, jpi 62 pu (ji,jj,jk) = 0._wp ! ocean at rest 63 pv (ji,jj,jk) = 0._wp 64 END DO 65 END DO 66 END DO 67 !$OMP END DO NOWAIT 68 !$OMP DO schedule(static) private(jj,ji) 69 DO jj = 1, jpj 70 DO ji = 1, jpi 71 pssh(ji,jj) = 0._wp 72 END DO 73 END DO 74 !$OMP END DO NOWAIT 60 75 ! 76 !$OMP DO schedule(static) private(jk,jj,ji) 61 77 DO jk = 1, jpk ! horizontally uniform T & S profiles 62 78 DO jj = 1, jpj … … 79 95 END DO 80 96 END DO 97 !$OMP END PARALLEL 81 98 ! 82 99 END SUBROUTINE usr_def_istate -
trunk/NEMOGCM/NEMO/OPA_SRC/USR/usrdef_sbc.F90
r7426 r7698 109 109 ztrp= - 40.e0 ! retroaction term on heat fluxes (W/m2/K) 110 110 zconv = 3.16e-5 ! convertion factor: 1 m/yr => 3.16e-5 mm/s 111 !$OMP PARALLEL DO schedule(static) private(jj, ji, t_star) 111 112 DO jj = 1, jpj 112 113 DO ji = 1, jpi … … 137 138 138 139 ! freshwater (mass flux) and update of qns with heat content of emp 139 emp (:,:) = emp(:,:) - zsumemp * tmask(:,:,1) ! freshwater flux (=0 in domain average) 140 sfx (:,:) = 0.0_wp ! no salt flux 141 qns (:,:) = qns(:,:) - emp(:,:) * sst_m(:,:) * rcp ! evap and precip are at SST 140 !$OMP PARALLEL DO schedule(static) private(jj, ji) 141 DO jj = 1, jpj 142 DO ji = 1, jpi 143 emp (ji,jj) = emp(ji,jj) - zsumemp * tmask(ji,jj,1) ! freshwater flux (=0 in domain average) 144 sfx (ji,jj) = 0.0_wp ! no salt flux 145 qns (ji,jj) = qns(ji,jj) - emp(ji,jj) * sst_m(ji,jj) * rcp ! evap and precip are at SST 146 END DO 147 END DO 142 148 143 149 … … 166 172 ztau_sais = 0.015 167 173 ztaun = ztau - ztau_sais * COS( (ztime - ztimemax) / (ztimemin - ztimemax) * rpi ) 174 !$OMP PARALLEL 175 !$OMP DO schedule(static) private(jj, ji) 168 176 DO jj = 1, jpj 169 177 DO ji = 1, jpi … … 177 185 ! module of wind stress and wind speed at T-point 178 186 zcoef = 1. / ( zrhoa * zcdrag ) 187 !$OMP DO schedule(static) private(jj, ji, ztx, zty, zmod) 179 188 DO jj = 2, jpjm1 180 189 DO ji = fs_2, fs_jpim1 ! vect. opt. … … 186 195 END DO 187 196 END DO 197 !$OMP END PARALLEL 188 198 CALL lbc_lnk( taum(:,:), 'T', 1. ) ; CALL lbc_lnk( wndm(:,:), 'T', 1. ) 189 199 -
trunk/NEMOGCM/NEMO/OPA_SRC/USR/usrdef_zgr.F90
r7200 r7698 199 199 ! 200 200 REAL(wp), DIMENSION(jpi,jpj) :: z2d ! 2D local workspace 201 202 INTEGER :: ji, jj 201 203 !!---------------------------------------------------------------------- 202 204 ! … … 206 208 IF(lwp) WRITE(numout,*) ' GYRE case : closed flat box ocean without ocean cavities' 207 209 ! 208 z2d(:,:) = REAL( jpkm1 , wp ) ! flat bottom 210 !$OMP PARALLEL DO schedule(static) private(jj, ji) 211 DO jj = 1, jpj 212 DO ji = 1, jpi 213 z2d(ji,jj) = REAL( jpkm1 , wp ) ! flat bottom 214 END DO 215 END DO 209 216 ! 210 217 CALL lbc_lnk( z2d, 'T', 1. ) ! set surrounding land to zero (here jperio=0 ==>> closed) 211 218 ! 212 k_bot(:,:) = INT( z2d(:,:) ) ! =jpkm1 over the ocean point, =0 elsewhere 213 ! 214 k_top(:,:) = MIN( 1 , k_bot(:,:) ) ! = 1 over the ocean point, =0 elsewhere 219 !$OMP PARALLEL DO schedule(static) private(jj, ji) 220 DO jj = 1, jpj 221 DO ji = 1, jpi 222 k_bot(ji,jj) = INT( z2d(ji,jj) ) ! =jpkm1 over the ocean point, =0 elsewhere 223 ! 224 k_top(ji,jj) = MIN( 1 , k_bot(ji,jj) ) ! = 1 over the ocean point, =0 elsewhere 225 END DO 226 END DO 215 227 ! 216 228 END SUBROUTINE zgr_msk_top_bot … … 234 246 REAL(wp), DIMENSION(:,:,:), INTENT( out) :: pe3w , pe3uw, pe3vw ! - - - 235 247 ! 236 INTEGER :: j k248 INTEGER :: ji, jj, jk 237 249 !!---------------------------------------------------------------------- 238 250 ! 239 251 IF( nn_timing == 1 ) CALL timing_start('zgr_zco') 240 252 ! 253 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji) 241 254 DO jk = 1, jpk 242 pdept(:,:,jk) = pdept_1d(jk) 243 pdepw(:,:,jk) = pdepw_1d(jk) 244 pe3t (:,:,jk) = pe3t_1d (jk) 245 pe3u (:,:,jk) = pe3t_1d (jk) 246 pe3v (:,:,jk) = pe3t_1d (jk) 247 pe3f (:,:,jk) = pe3t_1d (jk) 248 pe3w (:,:,jk) = pe3w_1d (jk) 249 pe3uw(:,:,jk) = pe3w_1d (jk) 250 pe3vw(:,:,jk) = pe3w_1d (jk) 255 DO jj = 1, jpj 256 DO ji = 1, jpi 257 pdept(ji,jj,jk) = pdept_1d(jk) 258 pdepw(ji,jj,jk) = pdepw_1d(jk) 259 pe3t (ji,jj,jk) = pe3t_1d (jk) 260 pe3u (ji,jj,jk) = pe3t_1d (jk) 261 pe3v (ji,jj,jk) = pe3t_1d (jk) 262 pe3f (ji,jj,jk) = pe3t_1d (jk) 263 pe3w (ji,jj,jk) = pe3w_1d (jk) 264 pe3uw(ji,jj,jk) = pe3w_1d (jk) 265 pe3vw(ji,jj,jk) = pe3w_1d (jk) 266 END DO 267 END DO 251 268 END DO 252 269 !
Note: See TracChangeset
for help on using the changeset viewer.