- Timestamp:
- 2016-04-06T14:54:25+02:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/v3_6_extra_CMIP6_diagnostics/NEMOGCM/NEMO/OPA_SRC/DIA/diaptr.F90
r6432 r6433 297 297 END SUBROUTINE dia_ptr_init 298 298 299 SUBROUTINE dia_ptr_ohst_components( pva, ptr ) 300 !!---------------------------------------------------------------------- 301 !! *** ROUTINE dia_ptr_oht_components *** 302 !!---------------------------------------------------------------------- 303 !! Wrapper for heat and salt transport calculations to calculate them 304 !! for each basin 299 SUBROUTINE dia_ptr_ohst_components( ktra, cptr, pva ) 300 !!---------------------------------------------------------------------- 301 !! *** ROUTINE dia_ptr_ohst_components *** 302 !!---------------------------------------------------------------------- 303 !! Wrapper for heat and salt transport calculations to calculate them for each basin 305 304 !! Called from all advection and/or diffusion routines 306 INTEGER :: jn 307 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(IN) :: pva ! 3D input array of advection/diffusion 308 REAL(wp), DIMENSION(jpi,nptr), INTENT(OUT) :: ptr ! zonal & vertical sum 305 !!---------------------------------------------------------------------- 306 INTEGER , INTENT(in ) :: ktra ! tracer index 307 CHARACTER(len=3) , INTENT(in) :: cptr ! transport type 'adv'/'ldf' 308 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(in) :: pva ! 3D input array of advection/diffusion 309 INTEGER :: jn ! 310 309 311 310 ptr(:, 1) = ptr_sj( pva(:,:,:) ) 312 IF( cptr == 'adv' ) THEN 313 IF( ktra == jp_tem ) htr_adv(:,1) = ptr_sj( pva(:,:,:) ) 314 IF( ktra == jp_sal ) str_adv(:,1) = ptr_sj( pva(:,:,:) ) 315 ENDIF 316 IF( cptr == 'ldf' ) THEN 317 IF( ktra == jp_tem ) htr_ldf(:,1) = ptr_sj( pva(:,:,:) ) 318 IF( ktra == jp_sal ) str_ldf(:,1) = ptr_sj( pva(:,:,:) ) 319 ENDIF 320 ! 311 321 IF( ln_subbas ) THEN 312 DO jn=2,nptr 313 ptr(:,jn) = ptr_sj( pva(:,:,:), btmsk(:,:,jn) ) 314 END DO 322 ! 323 IF( cptr == 'adv' ) THEN 324 IF( ktra == jp_tem ) THEN 325 DO jn = 2, nptr 326 htr_adv(:,jn) = ptr_sj( pva(:,:,:), btmsk(:,:,jn) ) 327 END DO 328 ENDIF 329 IF( ktra == jp_sal ) THEN 330 DO jn = 2, nptr 331 str_adv(:,jn) = ptr_sj( pva(:,:,:), btmsk(:,:,jn) ) 332 END DO 333 ENDIF 334 ENDIF 335 IF( cptr == 'ldf' ) THEN 336 IF( ktra == jp_tem ) THEN 337 DO jn = 2, nptr 338 htr_ldf(:,jn) = ptr_sj( pva(:,:,:), btmsk(:,:,jn) ) 339 END DO 340 ENDIF 341 IF( ktra == jp_sal ) THEN 342 DO jn = 2, nptr 343 str_ldf(:,jn) = ptr_sj( pva(:,:,:), btmsk(:,:,jn) ) 344 END DO 345 ENDIF 346 ENDIF 347 ! 315 348 ENDIF 316 349
Note: See TracChangeset
for help on using the changeset viewer.