New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 4596 for branches/2014/dev_CNRS0_NOC1_LDF/NEMOGCM/NEMO/OPA_SRC/DIA/diaptr.F90 – NEMO

Ignore:
Timestamp:
2014-03-26T12:02:30+01:00 (10 years ago)
Author:
gm
Message:

#1260: LDF simplification + bilap iso-neutral for TRA and GYRE

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_CNRS0_NOC1_LDF/NEMOGCM/NEMO/OPA_SRC/DIA/diaptr.F90

    r4292 r4596  
    1111 
    1212   !!---------------------------------------------------------------------- 
    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) 
     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) 
    2020   !!---------------------------------------------------------------------- 
    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 
    2930   USE lib_mpp          ! MPP library 
    3031   USE lbclnk           ! lateral boundary condition - processor exchanges 
     
    363364            END DO 
    364365#if defined key_diaeiv 
    365             DO jn = 1, nptr                  ! bolus velocity 
    366                v_msf_eiv(:,:,jn) = ptr_vjk( v_eiv(:,:,:), btmsk(:,:,jn) )   ! here no btm30 for MSFeiv 
    367             END DO 
    368             !                                ! add bolus stream-function to the eulerian one 
    369             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(:,:,:) 
    370371#endif 
    371372            ! 
     
    376377               DO jj = 2, jpj 
    377378                  DO ji = 1, jpi 
    378 #if defined key_diaeiv  
    379                      zv = ( vn(ji,jj,jk) + vn(ji,jj-1,jk) + v_eiv(ji,jj,jk) + v_eiv(ji,jj-1,jk) ) * 0.5_wp 
    380 #else 
     379!!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 
    381382                     zv = ( vn(ji,jj,jk) + vn(ji,jj-1,jk) ) * 0.5_wp 
    382 #endif  
     383!!gm#endif  
    383384                     vt(ji,jj,jk) = zv * tsn(ji,jj,jk,jp_tem) 
    384385                     vs(ji,jj,jk) = zv * tsn(ji,jj,jk,jp_sal) 
     
    408409 
    409410#if defined key_diaeiv 
    410             DO jn = 1, nptr                  ! Bolus component 
    411                htr_eiv(:,jn) = SUM( v_msf_eiv(:,:,jn) * tn_jk(:,:,jn), 2 ) * rc_pwatt   ! SUM over jk 
    412                str_eiv(:,jn) = SUM( v_msf_eiv(:,:,jn) * sn_jk(:,:,jn), 2 ) * rc_ggram   ! SUM over jk 
    413             END DO 
     411!!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 
    414415#endif 
    415416            !                                ! "Meridional" Stream-Function 
     
    418419                  v_msf    (:,jk,jn) = v_msf    (:,jk-1,jn) + v_msf    (:,jk,jn)       ! Eulerian j-Stream-Function 
    419420#if defined key_diaeiv 
    420                   v_msf_eiv(:,jk,jn) = v_msf_eiv(:,jk-1,jn) + v_msf_eiv(:,jk,jn)       ! Bolus    j-Stream-Function 
    421  
     421!!gm                  v_msf_eiv(:,jk,jn) = v_msf_eiv(:,jk-1,jn) + v_msf_eiv(:,jk,jn)       ! Bolus    j-Stream-Function 
     422!!gm 
    422423#endif 
    423424               END DO 
     
    425426            v_msf    (:,:,:) = v_msf    (:,:,:) * rc_sv       ! converte in Sverdrups 
    426427#if defined key_diaeiv 
    427             v_msf_eiv(:,:,:) = v_msf_eiv(:,:,:) * rc_sv 
     428!!gm            v_msf_eiv(:,:,:) = v_msf_eiv(:,:,:) * rc_sv 
    428429#endif 
    429430         ENDIF 
     
    554555      !! ** Method  :   NetCDF file 
    555556      !!---------------------------------------------------------------------- 
    556       !! 
    557557      INTEGER, INTENT(in) ::   kt   ! ocean time-step index 
    558       !! 
     558      ! 
    559559      INTEGER, SAVE ::   nhoridz, ndepidzt, ndepidzw 
    560560      INTEGER, SAVE ::   ndim  , ndim_atl     , ndim_pac     , ndim_ind     , ndim_ipc 
    561561      INTEGER, SAVE ::           ndim_atl_30  , ndim_pac_30  , ndim_ind_30  , ndim_ipc_30 
    562562      INTEGER, SAVE ::   ndim_h, ndim_h_atl_30, ndim_h_pac_30, ndim_h_ind_30, ndim_h_ipc_30 
    563       !! 
     563      ! 
    564564      CHARACTER (len=40) ::   clhstnam, clop, clop_once, cl_comment   ! temporary names 
    565565      INTEGER            ::   iline, it, itmod, ji, jj, jk            ! 
     
    568568#endif 
    569569      REAL(wp)           ::   zsto, zout, zdt, zjulian                ! temporary scalars 
    570       !! 
     570      ! 
    571571      REAL(wp), POINTER, DIMENSION(:)   ::   zphi, zfoo    ! 1D workspace 
    572572      REAL(wp), POINTER, DIMENSION(:,:) ::   z_1           ! 2D workspace 
Note: See TracChangeset for help on using the changeset viewer.