- Timestamp:
- 2010-07-29T14:19:46+02:00 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/DEV_r2006_merge_TRA_TRC/NEMO/TOP_SRC/TRP/trcsbc.F90
r1739 r2030 4 4 !! Ocean passive tracers: surface boundary condition 5 5 !!====================================================================== 6 !! History : 8.2 ! 98-10 (G. Madec, G. Roullet, M. Imbard) Original code7 !! 8.2 ! 01-02 (D. Ludicone) sea ice and free surface8 !! 8.5 ! 02-06 (G. Madec) F90: Free form and module9 !! 9.0 ! 04-03 (C. Ethe) adapted for passive tracers10 !! ! 06-08 (C. Deltel) Diagnose ML trends for passive tracers6 !! History : 8.2 ! 1998-10 (G. Madec, G. Roullet, M. Imbard) Original code 7 !! 8.2 ! 2001-02 (D. Ludicone) sea ice and free surface 8 !! 8.5 ! 2002-06 (G. Madec) F90: Free form and module 9 !! 9.0 ! 2004-03 (C. Ethe) adapted for passive tracers 10 !! ! 2006-08 (C. Deltel) Diagnose ML trends for passive tracers 11 11 !!============================================================================== 12 12 #if defined key_top … … 18 18 !! * Modules used 19 19 USE oce_trc ! ocean dynamics and active tracers variables 20 USE tr p_trc ! ocean passive tracers variables20 USE trc ! ocean passive tracers variables 21 21 USE prtctl_trc ! Print control for debbuging 22 USE trdm ld_trc23 USE trd mld_trc_oce22 USE trdmod_oce 23 USE trdtra 24 24 25 25 IMPLICIT NONE … … 80 80 ! 0. initialization 81 81 zsrau = 1. / rau0 82 IF( .NOT. ln_sco ) zse3t = 1. / fse3t(1,1,1) 82 #if defined key_zco 83 zse3t = 1. / e3t_0(1) 84 #endif 83 85 84 86 DO jn = 1, jptra … … 88 90 DO jj = 2, jpj 89 91 DO ji = fs_2, fs_jpim1 ! vector opt. 90 IF( ln_sco ) zse3t = 1. / fse3t(ji,jj,1) 91 ! concent./dilut. effect 92 ztra = emps(ji,jj) * zsrau * trn(ji,jj,1,jn) * zse3t * tmask(ji,jj,1) 93 ! add the trend to the general tracer trend 92 #if ! defined key_zco 93 zse3t = 1. / fse3t(ji,jj,1) 94 #endif 95 IF( lk_vvl ) THEN ; ztra = 0.e0 ! No concent./dilut. effect 96 ELSE ; ztra = emps(ji,jj) * zsrau * trn(ji,jj,1,jn) * zse3t * tmask(ji,jj,1) 97 ENDIF 94 98 tra(ji,jj,1,jn) = tra(ji,jj,1,jn) + ztra 95 #if defined key_trc_diatrd96 IF( luttrd(jn) ) &97 & trtrd(ji,jj,1,ikeep(jn),jpdiatrc) = trtrd(ji,jj,1,ikeep(jn),jpdiatrc) + ztra98 #endif99 100 99 END DO 101 100 END DO … … 103 102 IF( l_trdtrc ) THEN 104 103 ztrtrd(:,:,:) = tra(:,:,:,jn) - ztrtrd(:,:,:) 105 IF (luttrd(jn)) CALL trd_mod_trc(ztrtrd, jn, jptrc_trd_sbc, kt)104 CALL trd_tra( kt, 'TRC', jn, jptra_trd_nsr, ztrtrd ) 106 105 END IF 107 108 106 ! ! =========== 109 107 END DO ! tracer loop … … 111 109 112 110 IF( l_trdtrc ) DEALLOCATE( ztrtrd ) 113 114 115 IF(ln_ctl) THEN ! print mean trends (used for debugging) 116 WRITE(charout, FMT="('sbc')") 117 CALL prt_ctl_trc_info(charout) 118 CALL prt_ctl_trc(tab4d=tra, mask=tmask, clinfo=ctrcnm,clinfo2='trd') 111 IF( ln_ctl ) THEN 112 WRITE(charout, FMT="('sbc ')") ; CALL prt_ctl_trc_info(charout) 113 CALL prt_ctl_trc( tab4d=tra, mask=tmask, clinfo=ctrcnm, clinfo2='trd' ) 119 114 ENDIF 120 115
Note: See TracChangeset
for help on using the changeset viewer.