- Timestamp:
- 2014-03-26T12:02:30+01:00 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2014/dev_CNRS0_NOC1_LDF/NEMOGCM/NEMO/OPA_SRC/DIA/diaptr.F90
r4292 r4596 11 11 12 12 !!---------------------------------------------------------------------- 13 !! dia_ptr : Poleward Transport Diagnostics module14 !! dia_ptr_init : Initialization, namelist read15 !! dia_ptr_wri : Output of poleward fluxes16 !! ptr_vjk : "zonal" sum computation of a "meridional" flux array17 !! ptr_tjk : "zonal" mean computation of a tracer field18 !! ptr_vj : "zonal" and vertical sum computation of a "meridional" flux array19 !! (Generic interface to ptr_vj_3d, ptr_vj_2d)13 !! dia_ptr : Poleward Transport Diagnostics module 14 !! dia_ptr_init : Initialization, namelist read 15 !! dia_ptr_wri : Output of poleward fluxes 16 !! ptr_vjk : "zonal" sum computation of a "meridional" flux array 17 !! ptr_tjk : "zonal" mean computation of a tracer field 18 !! ptr_vj : "zonal" and vertical sum computation of a "meridional" flux array 19 !! (Generic interface to ptr_vj_3d, ptr_vj_2d) 20 20 !!---------------------------------------------------------------------- 21 USE oce ! ocean dynamics and active tracers 22 USE dom_oce ! ocean space and time domain 23 USE phycst ! physical constants 24 USE ldftra_oce ! ocean active tracers: lateral physics 25 USE dianam ! 26 USE iom ! IOM library 27 USE ioipsl ! IO-IPSL library 28 USE in_out_manager ! I/O manager 21 USE oce ! ocean dynamics and active tracers 22 USE dom_oce ! ocean space and time domain 23 USE phycst ! physical constants 24 USE ldftra ! lateral physics: eddy diffusivity & EIV coeff. 25 ! 26 USE dianam ! 27 USE iom ! IOM library 28 USE ioipsl ! IO-IPSL library 29 USE in_out_manager ! I/O manager 29 30 USE lib_mpp ! MPP library 30 31 USE lbclnk ! lateral boundary condition - processor exchanges … … 363 364 END DO 364 365 #if defined key_diaeiv 365 DO jn = 1, nptr ! bolus velocity366 v_msf_eiv(:,:,jn) = ptr_vjk( v_eiv(:,:,:), btmsk(:,:,jn) ) ! here no btm30 for MSFeiv367 END DO368 ! ! add bolus stream-function to the eulerian one369 v_msf(:,:,:) = v_msf(:,:,:) + v_msf_eiv(:,:,:)366 !!gm DO jn = 1, nptr ! bolus velocity 367 !! v_msf_eiv(:,:,jn) = ptr_vjk( v_eiv(:,:,:), btmsk(:,:,jn) ) ! here no btm30 for MSFeiv 368 !! END DO 369 !! ! ! add bolus stream-function to the eulerian one 370 !!gm v_msf(:,:,:) = v_msf(:,:,:) + v_msf_eiv(:,:,:) 370 371 #endif 371 372 ! … … 376 377 DO jj = 2, jpj 377 378 DO ji = 1, jpi 378 #if defined key_diaeiv379 zv = ( vn(ji,jj,jk) + vn(ji,jj-1,jk) + v_eiv(ji,jj,jk) + v_eiv(ji,jj-1,jk) ) * 0.5_wp380 #else379 !!gm#if defined key_diaeiv 380 !!gm zv = ( vn(ji,jj,jk) + vn(ji,jj-1,jk) + v_eiv(ji,jj,jk) + v_eiv(ji,jj-1,jk) ) * 0.5_wp 381 !!gm#else 381 382 zv = ( vn(ji,jj,jk) + vn(ji,jj-1,jk) ) * 0.5_wp 382 #endif383 !!gm#endif 383 384 vt(ji,jj,jk) = zv * tsn(ji,jj,jk,jp_tem) 384 385 vs(ji,jj,jk) = zv * tsn(ji,jj,jk,jp_sal) … … 408 409 409 410 #if defined key_diaeiv 410 DO jn = 1, nptr ! Bolus component411 htr_eiv(:,jn) = SUM( v_msf_eiv(:,:,jn) * tn_jk(:,:,jn), 2 ) * rc_pwatt ! SUM over jk412 str_eiv(:,jn) = SUM( v_msf_eiv(:,:,jn) * sn_jk(:,:,jn), 2 ) * rc_ggram ! SUM over jk413 END DO411 !!gm DO jn = 1, nptr ! Bolus component 412 !!gm htr_eiv(:,jn) = SUM( v_msf_eiv(:,:,jn) * tn_jk(:,:,jn), 2 ) * rc_pwatt ! SUM over jk 413 !!gm str_eiv(:,jn) = SUM( v_msf_eiv(:,:,jn) * sn_jk(:,:,jn), 2 ) * rc_ggram ! SUM over jk 414 !!gm END DO 414 415 #endif 415 416 ! ! "Meridional" Stream-Function … … 418 419 v_msf (:,jk,jn) = v_msf (:,jk-1,jn) + v_msf (:,jk,jn) ! Eulerian j-Stream-Function 419 420 #if defined key_diaeiv 420 v_msf_eiv(:,jk,jn) = v_msf_eiv(:,jk-1,jn) + v_msf_eiv(:,jk,jn) ! Bolus j-Stream-Function421 421 !!gm v_msf_eiv(:,jk,jn) = v_msf_eiv(:,jk-1,jn) + v_msf_eiv(:,jk,jn) ! Bolus j-Stream-Function 422 !!gm 422 423 #endif 423 424 END DO … … 425 426 v_msf (:,:,:) = v_msf (:,:,:) * rc_sv ! converte in Sverdrups 426 427 #if defined key_diaeiv 427 v_msf_eiv(:,:,:) = v_msf_eiv(:,:,:) * rc_sv428 !!gm v_msf_eiv(:,:,:) = v_msf_eiv(:,:,:) * rc_sv 428 429 #endif 429 430 ENDIF … … 554 555 !! ** Method : NetCDF file 555 556 !!---------------------------------------------------------------------- 556 !!557 557 INTEGER, INTENT(in) :: kt ! ocean time-step index 558 ! !558 ! 559 559 INTEGER, SAVE :: nhoridz, ndepidzt, ndepidzw 560 560 INTEGER, SAVE :: ndim , ndim_atl , ndim_pac , ndim_ind , ndim_ipc 561 561 INTEGER, SAVE :: ndim_atl_30 , ndim_pac_30 , ndim_ind_30 , ndim_ipc_30 562 562 INTEGER, SAVE :: ndim_h, ndim_h_atl_30, ndim_h_pac_30, ndim_h_ind_30, ndim_h_ipc_30 563 ! !563 ! 564 564 CHARACTER (len=40) :: clhstnam, clop, clop_once, cl_comment ! temporary names 565 565 INTEGER :: iline, it, itmod, ji, jj, jk ! … … 568 568 #endif 569 569 REAL(wp) :: zsto, zout, zdt, zjulian ! temporary scalars 570 ! !570 ! 571 571 REAL(wp), POINTER, DIMENSION(:) :: zphi, zfoo ! 1D workspace 572 572 REAL(wp), POINTER, DIMENSION(:,:) :: z_1 ! 2D workspace
Note: See TracChangeset
for help on using the changeset viewer.