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 2207 for branches/DEV_r2191_3partymerge2010/NEMO/OPA_SRC/TRA/trasbc.F90 – NEMO

Ignore:
Timestamp:
2010-10-11T18:51:54+02:00 (14 years ago)
Author:
acc
Message:

#733 DEV_r2191_3partymerge2010. Merged in changes from devukmo2010 branch

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/DEV_r2191_3partymerge2010/NEMO/OPA_SRC/TRA/trasbc.F90

    r1892 r2207  
    2121   USE in_out_manager  ! I/O manager 
    2222   USE prtctl          ! Print control 
     23   USE lbclnk          ! ocean lateral boundary conditions (or mpp link) 
     24   USE sbcrnf          ! River runoff   
     25   USE sbcmod          ! ln_rnf   
    2326 
    2427   IMPLICIT NONE 
     
    103106      INTEGER, INTENT(in) ::   kt     ! ocean time-step index 
    104107      !! 
    105       INTEGER  ::   ji, jj                   ! dummy loop indices 
    106       REAL(wp) ::   zta, zsa, zsrau, zse3t   ! temporary scalars 
     108      INTEGER  ::   ji, jj, jk           ! dummy loop indices   
     109      REAL(wp) ::   zta, zsa             ! local scalars, adjustment to temperature and salinity   
     110      REAL(wp) ::   zata, zasa           ! local scalars, calculations of automatic change to temp & sal due to vvl (done elsewhere)   
     111      REAL(wp) ::   zsrau, zse3t, zdep   ! local scalars, 1/density, 1/height of box, 1/height of effected water column   
     112      REAL(wp) ::   zdheat, zdsalt       ! total change of temperature and salinity   
    107113      !!---------------------------------------------------------------------- 
    108114 
     
    125131      IF( .NOT.ln_traqsr )   qsr(:,:) = 0.e0   ! no solar radiation penetration 
    126132 
    127       ! Concentration dillution effect on (t,s) 
     133      ! Concentration dilution effect on (t,s) due to evapouration, precipitation and qns, but not river runoff   
    128134      DO jj = 2, jpj 
    129135         DO ji = fs_2, fs_jpim1   ! vector opt. 
     
    132138#endif 
    133139            IF( lk_vvl) THEN 
    134                zta = ro0cpr * qns(ji,jj) * zse3t &                   ! temperature : heat flux 
    135                 &    - emp(ji,jj) * zsrau * tn(ji,jj,1)  * zse3t     ! & cooling/heating effet of EMP flux 
     140               zta =  ro0cpr * qns(ji,jj) * zse3t &                  ! temperature : heat flux  
     141                &    - emp(ji,jj) * zsrau * tn(ji,jj,1) * zse3t      ! & cooling/heating effet of EMP flux  
    136142               zsa = ( emps(ji,jj) - emp(ji,jj) ) & 
    137143                &                 * zsrau * sn(ji,jj,1)  * zse3t     ! concent./dilut. effect due to sea-ice  
    138144                                                                     ! melt/formation and (possibly) SSS restoration 
    139145            ELSE 
    140                zta = ro0cpr * qns(ji,jj) * zse3t     ! temperature : heat flux 
    141                zsa = emps(ji,jj) * zsrau * sn(ji,jj,1)   * zse3t     ! salinity :  concent./dilut. effect 
     146               zta =  ro0cpr * qns(ji,jj) * zse3t                    ! temperature : heat flux  
     147               zsa =  emps(ji,jj) * zsrau * sn(ji,jj,1) * zse3t      ! salinity :  concent./dilut. effect  
    142148            ENDIF 
    143149            ta(ji,jj,1) = ta(ji,jj,1) + zta                          ! add the trend to the general tracer trend 
     
    145151         END DO 
    146152      END DO 
     153 
     154      !                             !==  Runoffs  ==! 
     155      ! Effect on (t,s) due to river runoff (dilution effect automatically applied via vertical tracer advection)  
     156      IF( ln_rnf ) THEN   
     157         DO jj = 2, jpj  
     158            DO ji = fs_2, fs_jpim1 
     159               zdep = 1. / h_rnf(ji,jj)   
     160               IF ( rnf(ji,jj) .ne. 0.0 ) THEN 
     161                  DO jk = 1, nk_rnf(ji,jj) 
     162                                        ta(ji,jj,jk) = ta(ji,jj,jk) + tsc_rnf(ji,jj,jp_tem) * zdep 
     163                     IF( ln_rnf_sal )   sa(ji,jj,jk) = sa(ji,jj,jk) + tsc_rnf(ji,jj,jp_sal) * zdep 
     164                  ENDDO 
     165               ENDIF 
     166            ENDDO   
     167         ENDDO   
     168      ENDIF   
     169 
     170      CALL lbc_lnk( ta, 'T', 1. )    ;    CALL lbc_lnk( sa, 'T', 1. ) 
    147171 
    148172      IF( l_trdtra ) THEN      ! save the sbc trends for diagnostic 
Note: See TracChangeset for help on using the changeset viewer.