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 6663 for branches/UKMO/v3_6_extra_CMIP6_diagnostics/NEMOGCM/NEMO/OPA_SRC/TRA – NEMO

Ignore:
Timestamp:
2016-06-03T15:08:07+02:00 (8 years ago)
Author:
timgraham
Message:

Added bolus mass transports in traadv_eiv

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/v3_6_extra_CMIP6_diagnostics/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_eiv.F90

    r6652 r6663  
    163163         CALL iom_put( "voce_eiv", v_eiv )    ! j-eiv current 
    164164         CALL iom_put( "woce_eiv", w_eiv )    ! vert. eiv current 
     165         IF( iom_use('weiv_masstr') ) THEN   ! vertical mass transport & its square value 
     166           z2d(:,:) = rau0 * e12t(:,:) 
     167           DO jk = 1, jpk 
     168              z3d(:,:,jk) = w_eiv(:,:,jk) * z2d(:,:) 
     169           END DO 
     170           CALL iom_put( "weiv_masstr" , z3d )   
     171         ENDIF 
     172         IF( iom_use("ueiv_masstr") .OR. iom_use("ueiv_heattr") ) THEN 
     173            z3d(:,:,jpk) = 0.e0 
     174            z2d(:,:) = 0.e0 
     175            DO jk = 1, jpkm1 
     176               z3d(:,:,jk) = rau0 * un(:,:,jk) * e2u(:,:) * fse3u(:,:,jk) * umask(:,:,jk) 
     177               z2d(:,:) = z2d(:,:) + z3d(:,:,jk) 
     178            END DO 
     179            CALL iom_put( "ueiv_masstr", z3d )                  ! mass transport in i-direction 
     180         ENDIF 
     181 
    165182         IF( iom_use('ueiv_heattr') ) THEN 
    166183            zztmp = 0.5 * rau0 * rcp  
     
    169186               DO jj = 2, jpjm1 
    170187                  DO ji = fs_2, fs_jpim1   ! vector opt. 
    171                      z2d(ji,jj) = z2d(ji,jj) + u_eiv(ji,jj,jk) & 
    172                        &         * (tsn(ji,jj,jk,jp_tem)+tsn(ji+1,jj,jk,jp_tem)) * e2u(ji,jj) * fse3u(ji,jj,jk)  
     188                     z2d(ji,jj) = z2d(ji,jj) + z3d(ji,jj,jk) * ( tsn(ji,jj,jk,jp_tem) + tsn(ji+1,jj,jk,jp_tem) ) 
    173189                  END DO 
    174190               END DO 
     
    177193            CALL iom_put( "ueiv_heattr", zztmp * z2d )                  ! heat transport in i-direction 
    178194         ENDIF 
     195 
     196         IF( iom_use("veiv_masstr") .OR. iom_use("veiv_heattr") ) THEN 
     197            z3d(:,:,jpk) = 0.e0 
     198            z2d(:,:) = 0.e0 
     199            DO jk = 1, jpkm1 
     200               z3d(:,:,jk) = rau0 * vn(:,:,jk) * e1v(:,:) * fse3v(:,:,jk) * vmask(:,:,jk) 
     201            END DO 
     202            CALL iom_put( "veiv_masstr", z3d )                  ! mass transport in j-direction 
     203         ENDIF 
    179204             
    180205         IF( iom_use('veiv_heattr') ) THEN 
    181             zztmp = 0.5 * rau0 * rcp  
    182206            z2d(:,:) = 0.e0  
    183207            DO jk = 1, jpkm1 
    184208               DO jj = 2, jpjm1 
    185209                  DO ji = fs_2, fs_jpim1   ! vector opt. 
    186                      z2d(ji,jj) = z2d(ji,jj) + v_eiv(ji,jj,jk) & 
    187                      &           * (tsn(ji,jj,jk,jp_tem)+tsn(ji,jj+1,jk,jp_tem)) * e1v(ji,jj) * fse3v(ji,jj,jk)  
     210                     z2d(ji,jj) = z2d(ji,jj) + z3d(ji,jj,jk) * ( tsn(ji,jj,jk,jp_tem) + tsn(ji,jj+1,jk,jp_tem) ) 
    188211                  END DO 
    189212               END DO 
Note: See TracChangeset for help on using the changeset viewer.