- Timestamp:
- 2016-04-05T16:48:36+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
r6427 r6428 40 40 41 41 ! !!** namelist namptr ** 42 REAL(wp), ALLOCATABLE, SAVE, PUBLIC, DIMENSION(: ) :: htr_adv, htr_ldf !: Heat TRansports (adv, diff, overturn.)43 REAL(wp), ALLOCATABLE, SAVE, PUBLIC, DIMENSION(: ) :: str_adv, str_ldf !: Salt TRansports (adv, diff, overturn.)42 REAL(wp), ALLOCATABLE, SAVE, PUBLIC, DIMENSION(:,:) :: htr_adv, htr_ldf !: Heat TRansports (adv, diff, overturn.) 43 REAL(wp), ALLOCATABLE, SAVE, PUBLIC, DIMENSION(:,:) :: str_adv, str_ldf !: Salt TRansports (adv, diff, overturn.) 44 44 45 45 … … 256 256 ! Initialise arrays to zero because diatpr is called before they are first calculated 257 257 ! Note that this means diagnostics will not be exactly correct when model run is restarted. 258 htr_adv(: ) = 0._wp ; str_adv(:) = 0._wp259 htr_ldf(: ) = 0._wp ; str_ldf(:) = 0._wp258 htr_adv(:,:) = 0._wp ; str_adv(:,:) = 0._wp 259 htr_ldf(:,:) = 0._wp ; str_ldf(:,:) = 0._wp 260 260 ! 261 261 ENDIF … … 263 263 END SUBROUTINE dia_ptr_init 264 264 265 SUBROUTINE dia_ptr_ohst_components( pva, ptr ) 266 !!---------------------------------------------------------------------- 267 !! *** ROUTINE dia_ptr_oht_components *** 268 !!---------------------------------------------------------------------- 269 !! Wrapper for heat and salt transport calculations to calculate them 270 !! for each basin 271 !! Called from all advection and/or diffusion routines 272 INTEGER :: jn 273 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(IN) :: pva ! 3D input array of advection/diffusion 274 REAL(wp), DIMENSION(jpi,nptr), INTENT(OUT) :: ptr ! zonal & vertical sum 275 276 ptr(:, 1) = ptr_sj( pva(:,:,:) ) 277 IF( ln_subbas ) THEN 278 DO jn=2,nptr 279 ptr(:,jn) = ptr_sj( pva(:,:,:), btmsk(:,:,jn) ) 280 END DO 281 ENDIF 282 283 END SUBROUTINE 284 265 285 266 286 FUNCTION dia_ptr_alloc() … … 274 294 ! 275 295 ALLOCATE( btmsk(jpi,jpj,nptr) , & 276 & htr_adv(jpj ) , str_adv(jpj) , &277 & htr_ldf(jpj ) , str_ldf(jpj) , STAT=ierr(1) )296 & htr_adv(jpj,nptr) , str_adv(jpj,nptr) , & 297 & htr_ldf(jpj,nptr) , str_ldf(jpj,nptr) , STAT=ierr(1) ) 278 298 ! 279 299 ALLOCATE( p_fval1d(jpj), p_fval2d(jpj,jpk), Stat=ierr(2))
Note: See TracChangeset
for help on using the changeset viewer.