Changeset 10788 for NEMO/trunk/src/TOP/TRP
- Timestamp:
- 2019-03-21T12:15:14+01:00 (5 years ago)
- Location:
- NEMO/trunk/src/TOP/TRP
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/src/TOP/TRP/trcsbc.F90
r10425 r10788 61 61 ! 62 62 INTEGER :: ji, jj, jn ! dummy loop indices 63 REAL(wp) :: zse3t, zrtrn, z ratio, zfact ! local scalars64 REAL(wp) :: zftra, z cd, zdtra, ztfx, ztra ! - -63 REAL(wp) :: zse3t, zrtrn, zfact ! local scalars 64 REAL(wp) :: zftra, zdtra, ztfx, ztra ! - - 65 65 CHARACTER (len=22) :: charout 66 66 REAL(wp), DIMENSION(jpi,jpj) :: zsfx … … 113 113 114 114 ! 0. initialization 115 IF( nn_ice_tr == -1 ) THEN ! No tracers in sea ice (null concentration in sea ice) 115 SELECT CASE ( nn_ice_tr ) 116 117 CASE ( -1 ) ! No tracers in sea ice (null concentration in sea ice) 116 118 ! 117 119 DO jn = 1, jptra … … 123 125 END DO 124 126 ! 125 ELSE 127 CASE ( 0 ) ! Same concentration in sea ice and in the ocean 128 ! 129 DO jn = 1, jptra 130 DO jj = 2, jpj 131 DO ji = fs_2, fs_jpim1 ! vector opt. 132 sbc_trc(ji,jj,jn) = ( zsfx(ji,jj) + fmmflx(ji,jj) ) * r1_rau0 * trn(ji,jj,1,jn) 133 END DO 134 END DO 135 END DO 136 ! 137 CASE ( 1 ) ! Specific treatment of sea ice fluxes with an imposed concentration in sea ice 126 138 ! 127 139 DO jn = 1, jptra … … 131 143 ! tracer flux at the ice/ocean interface (tracer/m2/s) 132 144 zftra = - trc_i(ji,jj,jn) * fmmflx(ji,jj) ! uptake of tracer in the sea ice 133 zcd = trc_o(ji,jj,jn) * fmmflx(ji,jj) ! concentration dilution due to freezing-melting,134 145 ! ! only used in the levitating sea ice case 135 146 ! tracer flux only : add concentration dilution term in net tracer flux, no F-M in volume flux 136 147 ! tracer and mass fluxes : no concentration dilution term in net tracer flux, F-M term in volume flux 137 ztfx = zftra 148 ztfx = zftra ! net tracer flux 138 149 ! 139 zdtra = r1_rau0 * ( ztfx + zsfx(ji,jj) * trn(ji,jj,1,jn) )150 zdtra = r1_rau0 * ( ztfx + ( zsfx(ji,jj) + fmmflx(ji,jj) ) * trn(ji,jj,1,jn) ) 140 151 IF ( zdtra < 0. ) THEN 141 zratio = -zdtra * zse3t * r2dttrc / ( trn(ji,jj,1,jn) + zrtrn ) 142 zdtra = MIN(1.0, zratio) * zdtra ! avoid negative concentrations to arise 152 zdtra = MAX(zdtra, -trn(ji,jj,1,jn) * e3t_n(ji,jj,1) / r2dttrc ) ! avoid negative concentrations to arise 143 153 ENDIF 144 154 sbc_trc(ji,jj,jn) = zdtra … … 146 156 END DO 147 157 END DO 148 END IF158 END SELECT 149 159 ! 150 160 CALL lbc_lnk( 'trcsbc', sbc_trc(:,:,:), 'T', 1. ) -
NEMO/trunk/src/TOP/TRP/trcsink.F90
r10376 r10788 81 81 END DO 82 82 END DO 83 iiter( ji,jj) = MIN( iiter(ji,jj), nitermax )83 iiter(:,:) = MIN( iiter(:,:), nitermax ) 84 84 ENDIF 85 85
Note: See TracChangeset
for help on using the changeset viewer.