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 9157 for branches/NERC/dev_r5518_GO6_Carb_Fail_from_GO6_8356/NEMOGCM/NEMO/OPA_SRC/DIA/diaptr.F90 – NEMO

Ignore:
Timestamp:
2017-12-21T16:51:24+01:00 (6 years ago)
Author:
jpalmier
Message:

JPALM - merge GO6 branch

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/NERC/dev_r5518_GO6_Carb_Fail_from_GO6_8356/NEMOGCM/NEMO/OPA_SRC/DIA/diaptr.F90

    r7747 r9157  
    8484      REAL(wp), DIMENSION(jpi,jpj)     ::  z2d   ! 2D workspace 
    8585      REAL(wp), DIMENSION(jpi,jpj,jpk) ::  z3d   ! 3D workspace 
     86      REAL(wp), DIMENSION(jpi,jpj,jpk) ::  zvn   ! 3D workspace 
    8687      REAL(wp), DIMENSION(jpi,jpj,jpk) ::  zmask   ! 3D workspace 
    8788      REAL(wp), DIMENSION(jpi,jpj,jpk,jpts) ::  zts   ! 3D workspace 
     
    9394      REAL(wp), DIMENSION(jpj,jpk,nptr) ::   sjk  , r1_sjk ! i-mean i-k-surface and its inverse 
    9495      REAL(wp), DIMENSION(jpj,jpk,nptr) ::   v_msf, sn_jk  , tn_jk ! i-mean T and S, j-Stream-Function 
    95       REAL(wp), DIMENSION(jpi,jpj,jpk) ::  zvn   ! 3D workspace 
    9696 
    9797 
     
    130130            zmask(:,:,:) = 0._wp 
    131131            zts(:,:,:,:) = 0._wp 
    132             zvn(:,:,:) = 0._wp 
    133132            DO jk = 1, jpkm1 
    134133               DO jj = 1, jpjm1 
     
    138137                     zts(ji,jj,jk,jp_tem) = (tsn(ji,jj,jk,jp_tem)+tsn(ji,jj+1,jk,jp_tem)) * 0.5 * zvfc  !Tracers averaged onto V grid 
    139138                     zts(ji,jj,jk,jp_sal) = (tsn(ji,jj,jk,jp_sal)+tsn(ji,jj+1,jk,jp_sal)) * 0.5 * zvfc 
    140                      zvn(ji,jj,jk)        = vn(ji,jj,jk)         * zvfc 
    141139                  ENDDO 
    142140               ENDDO 
     
    151149             tn_jk(:,:,1) = ptr_sjk( zts(:,:,:,jp_tem) ) * r1_sjk(:,:,1) 
    152150             sn_jk(:,:,1) = ptr_sjk( zts(:,:,:,jp_sal) ) * r1_sjk(:,:,1) 
    153              v_msf(:,:,1) = ptr_sjk( zvn(:,:,:) ) 
     151             v_msf(:,:,1) = ptr_sjk( pvtr(:,:,:) ) 
    154152 
    155153             htr_ove(:,1) = SUM( v_msf(:,:,1)*tn_jk(:,:,1) ,2 ) 
     
    177175                    tn_jk(:,:,jn) = ptr_sjk( zts(:,:,:,jp_tem), btmsk(:,:,jn) ) * r1_sjk(:,:,jn) 
    178176                    sn_jk(:,:,jn) = ptr_sjk( zts(:,:,:,jp_sal), btmsk(:,:,jn) ) * r1_sjk(:,:,jn) 
    179                     v_msf(:,:,jn) = ptr_sjk( zvn(:,:,:), btmsk(:,:,jn) )  
     177                    v_msf(:,:,jn) = ptr_sjk( pvtr(:,:,:), btmsk(:,:,jn) )  
    180178                    htr_ove(:,jn) = SUM( v_msf(:,:,jn)*tn_jk(:,:,jn) ,2 ) 
    181179                    str_ove(:,jn) = SUM( v_msf(:,:,jn)*sn_jk(:,:,jn) ,2 ) 
     
    202200             WHERE( sjk(:,1,1) /= 0._wp )   r1_sjk(:,1,1) = 1._wp / sjk(:,1,1) 
    203201             
    204             vsum = ptr_sj( zvn(:,:,:), btmsk(:,:,1)) 
     202            vsum = ptr_sj( pvtr(:,:,:), btmsk(:,:,1)) 
    205203            tssum(:,jp_tem) = ptr_sj( zts(:,:,:,jp_tem), btmsk(:,:,1) ) 
    206204            tssum(:,jp_sal) = ptr_sj( zts(:,:,:,jp_sal), btmsk(:,:,1) ) 
     
    224222                    r1_sjk(:,1,jn) = 0._wp 
    225223                    WHERE( sjk(:,1,jn) /= 0._wp )   r1_sjk(:,1,jn) = 1._wp / sjk(:,1,jn) 
    226                     vsum = ptr_sj( zvn(:,:,:), btmsk(:,:,jn)) 
     224                    vsum = ptr_sj( pvtr(:,:,:), btmsk(:,:,jn)) 
    227225                    tssum(:,jp_tem) = ptr_sj( zts(:,:,:,jp_tem), btmsk(:,:,jn) ) 
    228226                    tssum(:,jp_sal) = ptr_sj( zts(:,:,:,jp_sal), btmsk(:,:,jn) ) 
     
    408406            ENDIF 
    409407            IF( iom_use("zomsfeivglo") ) THEN 
    410                z3d(1,:,:) = ptr_sjk( v_eiv(:,:,:) )  ! zonal cumulative effective transport 
     408               DO jk=1,jpk 
     409                  DO jj=1,jpj 
     410                     DO ji=1,jpi 
     411                        zvn(ji,jj,jk) = v_eiv(ji,jj,jk) * fse3v(ji,jj,jk) * e1v(ji,jj) 
     412                     ENDDO 
     413                  ENDDO 
     414               ENDDO 
     415               z3d(1,:,:) = ptr_sjk( zvn(:,:,:) )  ! zonal cumulative effective transport 
    411416               DO jk = jpkm1,1,-1 
    412417                 z3d(1,:,jk) = z3d(1,:,jk+1) - z3d(1,:,jk)   ! effective j-Stream-Function (MSF) 
     
    419424               IF( ln_subbas ) THEN 
    420425                  DO jn = 2, nptr                                    ! by sub-basins 
    421                      z3d(1,:,:) =  ptr_sjk( v_eiv(:,:,:), btmsk(:,:,jn) )  
     426                     z3d(1,:,:) =  ptr_sjk( zvn(:,:,:), btmsk(:,:,jn) )  
    422427                     DO jk = jpkm1,1,-1 
    423428                        z3d(1,:,jk) = z3d(1,:,jk+1) - z3d(1,:,jk)    ! effective j-Stream-Function (MSF) 
Note: See TracChangeset for help on using the changeset viewer.