- Timestamp:
- 2017-12-13T15:58:53+01:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_merge_2017/NEMOGCM/NEMO/TOP_SRC/TRP/trcsbc.F90
r7753 r9019 58 58 !! 59 59 !!---------------------------------------------------------------------- 60 ! 61 INTEGER, INTENT( in ) :: kt ! ocean time-step index 62 ! 63 INTEGER :: ji, jj, jn ! dummy loop indices 64 REAL(wp) :: zse3t, zrtrn, zratio, zfact ! temporary scalars 65 REAL(wp) :: zswitch, zftra, zcd, zdtra, ztfx, ztra ! temporary scalars 60 INTEGER, INTENT(in) :: kt ! ocean time-step index 61 ! 62 INTEGER :: ji, jj, jn ! dummy loop indices 63 REAL(wp) :: zse3t, zrtrn, zratio, zfact ! local scalars 64 REAL(wp) :: zftra, zcd, zdtra, ztfx, ztra ! - - 66 65 CHARACTER (len=22) :: charout 67 REAL(wp), POINTER, DIMENSION(:,: ) :: zsfx 68 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrtrd 69 66 REAL(wp), POINTER, DIMENSION(:,:) :: zsfx 67 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrtrd 70 68 !!--------------------------------------------------------------------- 71 69 ! … … 77 75 ! 78 76 zrtrn = 1.e-15_wp 79 80 SELECT CASE( nn_ice_embd ) ! levitating or embedded sea-ice option81 CASE( 0 ) ; zswitch = 1 ! (0) standard levitating sea-ice : salt exchange only82 CASE( 1, 2 ) ; zswitch = 0 ! (1) levitating sea-ice: salt and volume exchange but no pressure effect83 ! ! (2) embedded sea-ice : salt and volume fluxes and pressure84 END SELECT85 77 86 78 IF( kt == nittrc000 ) THEN … … 88 80 IF(lwp) WRITE(numout,*) 'trc_sbc : Passive tracers surface boundary condition' 89 81 IF(lwp) WRITE(numout,*) '~~~~~~~ ' 90 82 ! 91 83 IF( ln_rsttr .AND. .NOT.ln_top_euler .AND. & ! Restart: read in restart file 92 84 iom_varid( numrtr, 'sbc_'//TRIM(ctrcnm(1))//'_b', ldstop = .FALSE. ) > 0 ) THEN … … 125 117 ! 126 118 IF( l_trdtrc ) ztrtrd(:,:,:) = tra(:,:,:,jn) ! save trends 127 128 IF ( nn_ice_tr == -1 ) THEN ! No tracers in sea ice (null concentration in sea ice) 129 119 ! 120 IF( nn_ice_tr == -1 ) THEN ! No tracers in sea ice (null concentration in sea ice) 130 121 DO jj = 2, jpj 131 122 DO ji = fs_2, fs_jpim1 ! vector opt. … … 133 124 END DO 134 125 END DO 135 136 126 ELSE 137 138 127 DO jj = 2, jpj 139 128 DO ji = fs_2, fs_jpim1 ! vector opt. … … 142 131 zftra = - trc_i(ji,jj,jn) * fmmflx(ji,jj) ! uptake of tracer in the sea ice 143 132 zcd = trc_o(ji,jj,jn) * fmmflx(ji,jj) ! concentration dilution due to freezing-melting, 144 133 ! ! only used in the levitating sea ice case 145 134 ! tracer flux only : add concentration dilution term in net tracer flux, no F-M in volume flux 146 135 ! tracer and mass fluxes : no concentration dilution term in net tracer flux, F-M term in volume flux 147 ztfx = zftra + zswitch * zcd ! net tracer flux (+C/D if no ice/ocean mass exchange)148 136 ztfx = zftra ! net tracer flux 137 ! 149 138 zdtra = r1_rau0 * ( ztfx + zsfx(ji,jj) * trn(ji,jj,1,jn) ) 150 139 IF ( zdtra < 0. ) THEN … … 173 162 END DO ! tracer loop 174 163 ! ! =========== 175 164 ! 176 165 ! Write in the tracer restar file 177 166 ! *******************************
Note: See TracChangeset
for help on using the changeset viewer.