Changeset 184 for trunk/NEMO/OPA_SRC/DIA/diaptr.F90
- Timestamp:
- 2004-11-05T16:33:21+01:00 (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/DIA/diaptr.F90
r134 r184 38 38 !! * Share Module variables 39 39 LOGICAL, PUBLIC :: & !!! ** init namelist (namptr) ** 40 ln_diaptr = . FALSE. !: Poleward transport flag (T) or not (F)40 ln_diaptr = .TRUE. !: Poleward transport flag (T) or not (F) 41 41 INTEGER, PUBLIC :: & !!: ** ptr namelist (namptr) ** 42 42 nf_ptr = 15 !: frequency of ptr computation … … 165 165 !! * local declarations 166 166 INTEGER :: ji, jj, jk ! dummy loop arguments 167 INTEGER, DIMENSION (1) :: ish 168 INTEGER, DIMENSION (2) :: ish2 169 REAL(wp),DIMENSION(jpj*jpk) :: & 170 zwork ! temporary vector for mpp_sum 167 171 REAL(wp),DIMENSION(jpj,jpk) :: & 168 172 p_fval ! return function value … … 177 181 END DO 178 182 END DO 179 IF( lk_mpp) CALL mpp_sum( p_fval, jpj*jpk ) !!bug I presume 183 IF( lk_mpp) THEN 184 ish(1) = jpj*jpk ; ish2(1)=jpj ; ish2(2)=jpk 185 zwork(:)= RESHAPE(p_fval, ish ) 186 CALL mpp_sum(zwork, jpj*jpk ) 187 p_fval(:,:)= RESHAPE(zwork,ish2) 188 END IF 180 189 181 190 END FUNCTION ptr_vjk … … 202 211 !! * local declarations 203 212 INTEGER :: ji, jj, jk ! dummy loop arguments 213 INTEGER, DIMENSION (1) :: ish 214 INTEGER, DIMENSION (2) :: ish2 215 REAL(wp),DIMENSION(jpj*jpk) :: & 216 zwork ! temporary vector for mpp_sum 204 217 REAL(wp),DIMENSION(jpj,jpk) :: & 205 218 p_fval ! return function value … … 217 230 END DO 218 231 p_fval(:,:) = p_fval(:,:) * 0.5 219 IF( lk_mpp ) CALL mpp_sum( p_fval, jpj*jpk ) !!bug I presume 232 IF( lk_mpp) THEN 233 ish(1) = jpj*jpk ; ish2(1)=jpj ; ish2(2)=jpk 234 zwork(:)= RESHAPE(p_fval, ish ) 235 CALL mpp_sum(zwork, jpj*jpk ) 236 p_fval(:,:)= RESHAPE(zwork,ish2) 237 END IF 220 238 221 239 END FUNCTION ptr_vtjk … … 250 268 v_msf_eiv(:,:) = ptr_vjk( v_eiv(:,:,:) ) 251 269 ! Bolus "Meridional" Stream-Function 252 DO jk = jpkm1, 1 270 DO jk = jpkm1, 1 , -1 253 271 v_msf_eiv(:,jk) = v_msf_eiv(:,jk-1) + v_msf_eiv(:,jk) 254 272 END DO … … 272 290 273 291 ! "Meridional" Stream-Function 274 DO jk = jpkm1, 1 292 DO jk = jpkm1, 1, -1 275 293 v_msf(:,jk) = v_msf(:,jk-1) + v_msf(:,jk) 276 294 END DO … … 345 363 !! * Arguments 346 364 INTEGER, INTENT(in) :: kt ! ocean time-step index 347 REAL(wp), DIMENSION(jpj glo) :: zphi, zfoo365 REAL(wp), DIMENSION(jpj) :: zphi, zfoo 348 366 !!---------------------------------------------------------------------- 349 367 … … 368 386 IF( lk_mpp ) CALL mpp_sum( zphi, jpj ) 369 387 ! introduce arbitray northernmost grid point to avoid netcdf error 370 zphi(jpjglo) = 2*zphi(jpjglo-1)-zphi(jpjglo-2) 388 DO jj=mj0(jpjglo), mj1(jpjglo) 389 zphi(jj) = 2*zphi(jj-1)-zphi(jj-2) 390 ENDDO 371 391 372 392 ! ! ======================= … … 430 450 zsto, zout, zdt, zmax, & ! temporary scalars 431 451 zjulian 432 REAL(wp), DIMENSION(jpj glo) :: zphi, zfoo452 REAL(wp), DIMENSION(jpj) :: zphi, zfoo 433 453 !!---------------------------------------------------------------------- 434 454 … … 556 576 it= kt - nit000 + 1 557 577 ndex(1) = 1 558 WRITE(numout,*)'kt=',kt559 578 CALL histwrite( numptr, "zotemglo", it, tn_jk , jpj*jpk, ndex ) 560 WRITE(numout,*)'zotemglo OK'561 579 CALL histwrite( numptr, "zosalglo", it, sn_jk , jpj*jpk, ndex ) 562 WRITE(numout,*)'zosalglo OK'563 580 CALL histwrite( numptr, "zomsfglo", it, v_msf , jpj*jpk, ndex ) 564 WRITE(numout,*)'zomsfglo OK'565 WRITE(numout,*)'MAX(pht_adv)=', MAXVAL(pht_adv)566 WRITE(numout,*)'MIN(pht_adv)=', MINVAL(pht_adv)567 581 CALL histwrite( numptr, "sophtadv", it, pht_adv , jpj , ndex ) 568 WRITE(numout,*)'sophtadv OK'569 WRITE(numout,*)'MAX(pht_ldf)=', MAXVAL(pht_ldf)570 WRITE(numout,*)'MIN(pht_ldf)=', MINVAL(pht_ldf)571 582 CALL histwrite( numptr, "sophtldf", it, pht_ldf , jpj , ndex ) 572 WRITE(numout,*)'sophtldf OK'573 WRITE(numout,*)'MAX(pht_ove)=', MAXVAL(pht_ove)574 WRITE(numout,*)'MIN(pht_ove)=', MINVAL(pht_ove)575 583 CALL histwrite( numptr, "sophtove", it, pht_ove , jpj , ndex ) 576 WRITE(numout,*)'sophtove OK'577 WRITE(numout,*)'MAX(pst_adv)=', MAXVAL(pst_adv)578 WRITE(numout,*)'MIN(pst_adv)=', MINVAL(pst_adv)579 584 CALL histwrite( numptr, "sopstadv", it, pst_adv , jpj , ndex ) 580 WRITE(numout,*)'sopstadv OK'581 WRITE(numout,*)'MAX(pst_ldf)=', MAXVAL(pst_ldf)582 WRITE(numout,*)'MIN(pst_ldf)=', MINVAL(pst_ldf)583 585 CALL histwrite( numptr, "sopstldf", it, pst_ldf , jpj , ndex ) 584 WRITE(numout,*)'sopstldf OK'585 WRITE(numout,*)'MAX(pst_ove)=', MAXVAL(pst_ove)586 WRITE(numout,*)'MIN(pst_ove)=', MINVAL(pst_ove)587 586 CALL histwrite( numptr, "sopstove", it, pst_ove , jpj , ndex ) 588 WRITE(numout,*)'sopstove OK'589 587 #if defined key_diaeiv 590 588 CALL histwrite( numptr, "zomsfeiv", it, v_msf_eiv, jpj*jpk, ndex )
Note: See TracChangeset
for help on using the changeset viewer.