- Timestamp:
- 2016-02-19T13:11:22+01:00 (8 years ago)
- Location:
- branches/UKMO/nemo_v3_6_STABLE_copy/NEMOGCM/NEMO/TOP_SRC/TRP
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/nemo_v3_6_STABLE_copy/NEMOGCM/NEMO/TOP_SRC/TRP/trcdmp.F90
r5783 r6333 107 107 108 108 jl = n_trc_index(jn) 109 CALL trc_dta( kt, sf_trcdta(jl) ,rf_trfac(jl)) ! read tracer data at nit000110 ztrcdta(:,:,:) = sf_trcdta(jl)%fnow(:,:,:) 109 CALL trc_dta( kt, sf_trcdta(jl) ) ! read tracer data at nit000 110 ztrcdta(:,:,:) = sf_trcdta(jl)%fnow(:,:,:) * tmask(:,:,:) * rf_trfac(jl) 111 111 112 112 SELECT CASE ( nn_zdmp_tr ) … … 187 187 INTEGER :: ji , jj, jk, jn, jl, jc ! dummy loop indicesa 188 188 INTEGER :: isrow ! local index 189 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrcdta ! 3D workspace190 189 191 190 !!---------------------------------------------------------------------- … … 278 277 IF(lwp) WRITE(numout,*) 279 278 ! 280 CALL wrk_alloc( jpi, jpj, jpk, ztrcdta ) ! Memory allocation281 !282 279 DO jn = 1, jptra 283 280 IF( ln_trc_ini(jn) ) THEN ! update passive tracers arrays with input data read from file 284 281 jl = n_trc_index(jn) 285 CALL trc_dta( kt, sf_trcdta(jl),rf_trfac(jl) ) ! read tracer data at nit000 286 ztrcdta(:,:,:) = sf_trcdta(jl)%fnow(:,:,:) 282 CALL trc_dta( kt, sf_trcdta(jl) ) ! read tracer data at nit000 287 283 DO jc = 1, npncts 288 284 DO jk = 1, jpkm1 289 285 DO jj = nctsj1(jc), nctsj2(jc) 290 286 DO ji = nctsi1(jc), nctsi2(jc) 291 trn(ji,jj,jk,jn) = ztrcdta(ji,jj,jk) * tmask(ji,jj,jk)287 trn(ji,jj,jk,jn) = sf_trcdta(jl)%fnow(ji,jj,jk) * tmask(ji,jj,jk) * rf_trfac(jl) 292 288 trb(ji,jj,jk,jn) = trn(ji,jj,jk,jn) 293 289 ENDDO … … 297 293 ENDIF 298 294 ENDDO 299 CALL wrk_dealloc( jpi, jpj, jpk, ztrcdta )295 ! 300 296 ENDIF 301 297 ! -
branches/UKMO/nemo_v3_6_STABLE_copy/NEMOGCM/NEMO/TOP_SRC/TRP/trcldf.F90
r5781 r6333 56 56 INTEGER, INTENT( in ) :: kt ! ocean time-step index 57 57 !! 58 INTEGER :: jn 58 INTEGER :: ji, jj, jk, jn 59 REAL(wp) :: zdep 59 60 CHARACTER (len=22) :: charout 60 61 REAL(wp), POINTER, DIMENSION(:,:,:,:) :: ztrtrd … … 66 67 67 68 rldf = rldf_rat 68 69 ! 70 r_fact_lap(:,:,:) = 1. 71 DO jk= 1, jpk 72 DO jj = 1, jpj 73 DO ji = 1, jpi 74 IF( fsdept(ji,jj,jk) > 200. .AND. gphit(ji,jj) < 5. .AND. gphit(ji,jj) > -5. ) THEN 75 zdep = MAX( fsdept(ji,jj,jk) - 1000., 0. ) / 1000. 76 r_fact_lap(ji,jj,jk) = MAX( 1., rn_fact_lap * EXP( -zdep ) ) 77 ENDIF 78 END DO 79 END DO 80 END DO 81 ! 69 82 IF( l_trdtrc ) THEN 70 83 CALL wrk_alloc( jpi, jpj, jpk, jptra, ztrtrd ) -
branches/UKMO/nemo_v3_6_STABLE_copy/NEMOGCM/NEMO/TOP_SRC/TRP/trcnam_trp.F90
r5783 r6333 40 40 REAL(wp), PUBLIC :: rn_ahtrc_0 !: diffusivity coefficient for passive tracer (m2/s) 41 41 REAL(wp), PUBLIC :: rn_ahtrb_0 !: background diffusivity coefficient for passive tracer (m2/s) 42 REAL(wp), PUBLIC :: rn_fact_lap !: Enhanced zonal diffusivity coefficent in the equatorial domain 42 43 43 44 ! !!: ** Treatment of Negative concentrations ( nam_trcrad ) … … 74 75 NAMELIST/namtrc_ldf/ ln_trcldf_lap , & 75 76 & ln_trcldf_bilap, ln_trcldf_level, & 76 & ln_trcldf_hor , ln_trcldf_iso , rn_ahtrc_0, rn_ahtrb_0 77 & ln_trcldf_hor , ln_trcldf_iso , rn_ahtrc_0, rn_ahtrb_0, & 78 & rn_fact_lap 79 77 80 NAMELIST/namtrc_zdf/ ln_trczdf_exp , nn_trczdf_exp 78 81 NAMELIST/namtrc_rad/ ln_trcrad … … 127 130 WRITE(numout,*) ' diffusivity coefficient rn_ahtrc_0 = ', rn_ahtrc_0 128 131 WRITE(numout,*) ' background hor. diffusivity rn_ahtrb_0 = ', rn_ahtrb_0 132 WRITE(numout,*) ' enhanced zonal diffusivity rn_fact_lap = ', rn_fact_lap 129 133 ENDIF 130 134 -
branches/UKMO/nemo_v3_6_STABLE_copy/NEMOGCM/NEMO/TOP_SRC/TRP/trcsbc.F90
r5783 r6333 170 170 END DO 171 171 ENDIF 172 ! 173 CALL lbc_lnk( sbc_trc(:,:,jn), 'T', 1. ) 172 174 ! Concentration dilution effect on tracers due to evaporation & precipitation 173 175 DO jj = 2, jpj -
branches/UKMO/nemo_v3_6_STABLE_copy/NEMOGCM/NEMO/TOP_SRC/TRP/trctrp.F90
r5783 r6333 67 67 IF( lk_trabbl ) CALL trc_bbl( kstp ) ! advective (and/or diffusive) bottom boundary layer scheme 68 68 IF( ln_trcdmp ) CALL trc_dmp( kstp ) ! internal damping trends 69 IF( ln_trcdmp_clo ) CALL trc_dmp_clo( kstp ) ! internal damping trends on closed seas only70 69 CALL trc_adv( kstp ) ! horizontal & vertical advection 71 70 CALL trc_ldf( kstp ) ! lateral mixing … … 78 77 CALL trc_nxt( kstp ) ! tracer fields at next time step 79 78 IF( ln_trcrad ) CALL trc_rad( kstp ) ! Correct artificial negative concentrations 79 IF( ln_trcdmp_clo ) CALL trc_dmp_clo( kstp ) ! internal damping trends on closed seas only 80 80 81 81 #if defined key_agrif
Note: See TracChangeset
for help on using the changeset viewer.