Changeset 7753 for trunk/NEMOGCM/NEMO/OPA_SRC/TRA/trasbc.F90
- Timestamp:
- 2017-03-03T12:46:59+01:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMOGCM/NEMO/OPA_SRC/TRA/trasbc.F90
r7710 r7753 88 88 IF( l_trdtra ) THEN !* Save ta and sa trends 89 89 CALL wrk_alloc( jpi, jpj, jpk, ztrdt, ztrds ) 90 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji) 91 DO jk = 1, jpk 92 DO jj = 1, jpj 93 DO ji = 1, jpi 94 ztrdt(ji,jj,jk) = tsa(ji,jj,jk,jp_tem) 95 ztrds(ji,jj,jk) = tsa(ji,jj,jk,jp_sal) 96 END DO 97 END DO 98 END DO 90 ztrdt(:,:,:) = tsa(:,:,:,jp_tem) 91 ztrds(:,:,:) = tsa(:,:,:,jp_sal) 99 92 ENDIF 100 93 ! 101 94 !!gm This should be moved into sbcmod.F90 module ? (especially now that ln_traqsr is read in namsbc namelist) 102 95 IF( .NOT.ln_traqsr ) THEN ! no solar radiation penetration 103 !$OMP PARALLEL DO schedule(static) private(jj, ji) 104 DO jj = 1, jpj 105 DO ji = 1, jpi 106 qns(ji,jj) = qns(ji,jj) + qsr(ji,jj) ! total heat flux in qns 107 qsr(ji,jj) = 0._wp ! qsr set to zero 108 END DO 109 END DO 96 qns(:,:) = qns(:,:) + qsr(:,:) ! total heat flux in qns 97 qsr(:,:) = 0._wp ! qsr set to zero 110 98 ENDIF 111 99 … … 119 107 IF(lwp) WRITE(numout,*) ' nit000-1 sbc tracer content field read in the restart file' 120 108 zfact = 0.5_wp 121 DO jn = 1, jpts 122 !$OMP PARALLEL DO schedule(static) private(jj, ji) 123 DO jj = 1, jpj 124 DO ji = 1, jpi 125 sbc_tsc(ji,jj,jn) = 0._wp ! needed just to ensure haloes are consistent across restarts 126 END DO 127 END DO 128 END DO 109 sbc_tsc(:,:,:) = 0._wp 129 110 CALL iom_get( numror, jpdom_autoglo, 'sbc_hc_b', sbc_tsc_b(:,:,jp_tem) ) ! before heat content sbc trend 130 111 CALL iom_get( numror, jpdom_autoglo, 'sbc_sc_b', sbc_tsc_b(:,:,jp_sal) ) ! before salt content sbc trend 131 112 ELSE ! No restart or restart not found: Euler forward time stepping 132 113 zfact = 1._wp 133 DO jn = 1, jpts 134 !$OMP PARALLEL DO schedule(static) private(jj, ji) 135 DO jj = 1, jpj 136 DO ji = 1, jpi 137 sbc_tsc(ji,jj,jn) = 0._wp 138 sbc_tsc_b(ji,jj,jn) = 0._wp 139 END DO 140 END DO 141 END DO 114 sbc_tsc(:,:,:) = 0._wp 115 sbc_tsc_b(:,:,:) = 0._wp 142 116 ENDIF 143 117 ELSE !* other time-steps: swap of forcing fields 144 118 zfact = 0.5_wp 145 DO jn = 1, jpts 146 !$OMP PARALLEL DO schedule(static) private(jj, ji) 147 DO jj = 1, jpj 148 DO ji = 1, jpi 149 sbc_tsc_b(ji,jj,jn) = sbc_tsc(ji,jj,jn) 150 END DO 151 END DO 152 END DO 119 sbc_tsc_b(:,:,:) = sbc_tsc(:,:,:) 153 120 ENDIF 154 121 ! !== Now sbc tracer content fields ==! 155 !$OMP PARALLEL DO schedule(static) private(jj, ji)156 122 DO jj = 2, jpj 157 123 DO ji = fs_2, fs_jpim1 ! vector opt. … … 161 127 END DO 162 128 IF( ln_linssh ) THEN !* linear free surface 163 !$OMP PARALLEL DO schedule(static) private(jj, ji)164 129 DO jj = 2, jpj !==>> add concentration/dilution effect due to constant volume cell 165 130 DO ji = fs_2, fs_jpim1 ! vector opt. … … 173 138 ! 174 139 DO jn = 1, jpts !== update tracer trend ==! 175 !$OMP PARALLEL DO schedule(static) private(jj, ji)176 140 DO jj = 2, jpj 177 141 DO ji = fs_2, fs_jpim1 ! vector opt. … … 255 219 ! 256 220 IF( ln_iscpl .AND. ln_hsb) THEN ! input of heat and salt due to river runoff 257 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji, zdep)258 221 DO jk = 1,jpk 259 222 DO jj = 2, jpj … … 270 233 271 234 IF( l_trdtra ) THEN ! save the horizontal diffusive trends for further diagnostics 272 !$OMP PARALLEL DO schedule(static) private(jk, jj, ji) 273 DO jk = 1, jpk 274 DO jj = 1, jpj 275 DO ji = 1, jpi 276 ztrdt(ji,jj,jk) = tsa(ji,jj,jk,jp_tem) - ztrdt(ji,jj,jk) 277 ztrds(ji,jj,jk) = tsa(ji,jj,jk,jp_sal) - ztrds(ji,jj,jk) 278 END DO 279 END DO 280 END DO 235 ztrdt(:,:,:) = tsa(:,:,:,jp_tem) - ztrdt(:,:,:) 236 ztrds(:,:,:) = tsa(:,:,:,jp_sal) - ztrds(:,:,:) 281 237 CALL trd_tra( kt, 'TRA', jp_tem, jptra_nsr, ztrdt ) 282 238 CALL trd_tra( kt, 'TRA', jp_sal, jptra_nsr, ztrds )
Note: See TracChangeset
for help on using the changeset viewer.