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 2350 – NEMO

Changeset 2350


Ignore:
Timestamp:
2010-11-01T17:44:01+01:00 (13 years ago)
Author:
rfurner
Message:

correction to river scheme to restore conservation of heat and salt

Location:
branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/SBC/sbcrnf.F90

    r2287 r2350  
    191191      INTEGER  ::   ji, jj, jk   ! dummy loop indices 
    192192      REAL(wp) ::   z1_rau0   ! local scalar 
    193       !!---------------------------------------------------------------------- 
     193      REAL(wp) ::   zfact     ! local scalar 
     194      !!---------------------------------------------------------------------- 
     195      ! 
     196      zfact = 0.5e0 
    194197      ! 
    195198      z1_rau0 = 1.e0 / rau0 
     
    204207                  !                          ! apply the runoff input flow 
    205208                  DO jk = 1, nk_rnf(ji,jj) 
    206                      phdivn(ji,jj,jk) = phdivn(ji,jj,jk) - rnf(ji,jj) * z1_rau0 / h_rnf(ji,jj) 
     209                     phdivn(ji,jj,jk) = phdivn(ji,jj,jk) - ( rnf(ji,jj) + rnf_b(ji,jj) ) * zfact * z1_rau0 / h_rnf(ji,jj) 
    207210                  END DO 
    208211               END DO 
     
    212215               DO ji = 1, jpi 
    213216                  DO jk = 1, nk_rnf(ji,jj) 
    214                      phdivn(ji,jj,jk) = phdivn(ji,jj,jk) - rnf(ji,jj) * z1_rau0 / h_rnf(ji,jj) 
     217                     phdivn(ji,jj,jk) = phdivn(ji,jj,jk) - ( rnf(ji,jj) + rnf_b(ji,jj) ) * zfact * z1_rau0 / h_rnf(ji,jj) 
    215218                  END DO 
    216219               END DO 
     
    218221         ENDIF 
    219222      ELSE                       !==   runoff put only at the surface   ==! 
    220          phdivn(:,:,1) = phdivn(:,:,1) - rnf(:,:) * z1_rau0 / fse3t(:,:,1) 
     223         IF( lk_vvl ) THEN              ! variable volume case 
     224            h_rnf(:,:) = fse3t(:,:,1)   ! recalculate h_rnf to be depth of top box 
     225         ENDIF 
     226         phdivn(:,:,1) = phdivn(:,:,1) - ( rnf(:,:) + rnf_b(:,:) ) * zfact * z1_rau0 / fse3t(:,:,1) 
    221227      ENDIF 
    222228      ! 
  • branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/TRA/trasbc.F90

    r2287 r2350  
    131131      ENDIF 
    132132 
     133      !---------------------------------------- 
     134      !        EMP, EMPS and QNS effects 
     135      !---------------------------------------- 
    133136      !                                          Set before sbc tracer content fields 
    134137      !                                          ************************************ 
     
    194197         CALL iom_rstput( kt, nitrst, numrow, 'sbc_sc_b', sbc_tsc(:,:,jp_sal) ) 
    195198      ENDIF 
    196       !                             !==  Runoffs  ==! 
     199      ! 
     200      !---------------------------------------- 
     201      !        River Runoff effects 
     202      !---------------------------------------- 
     203      ! 
     204      zfact = 0.5e0 
     205 
    197206      ! Effect on (t,s) due to river runoff (dilution effect automatically applied via vertical tracer advection)  
    198207      IF( ln_rnf ) THEN   
Note: See TracChangeset for help on using the changeset viewer.