Changeset 10954 for NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE/TRA/traldf.F90
- Timestamp:
- 2019-05-09T18:12:29+02:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE/TRA/traldf.F90
r10946 r10954 47 47 CONTAINS 48 48 49 SUBROUTINE tra_ldf( kt, K mm, Krhs )49 SUBROUTINE tra_ldf( kt, Kbb, Kmm, Krhs ) 50 50 !!---------------------------------------------------------------------- 51 51 !! *** ROUTINE tra_ldf *** … … 54 54 !!---------------------------------------------------------------------- 55 55 INTEGER, INTENT( in ) :: kt ! ocean time-step index 56 INTEGER, INTENT( in ) :: K mm, Krhs ! ocean time level indices56 INTEGER, INTENT( in ) :: Kbb, Kmm, Krhs ! ocean time level indices 57 57 !! 58 58 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: ztrdt, ztrds … … 63 63 IF( l_trdtra ) THEN !* Save ta and sa trends 64 64 ALLOCATE( ztrdt(jpi,jpj,jpk) , ztrds(jpi,jpj,jpk) ) 65 ztrdt(:,:,:) = ts a(:,:,:,jp_tem)66 ztrds(:,:,:) = ts a(:,:,:,jp_sal)65 ztrdt(:,:,:) = ts(:,:,:,jp_tem,Krhs) 66 ztrds(:,:,:) = ts(:,:,:,jp_sal,Krhs) 67 67 ENDIF 68 68 ! 69 69 SELECT CASE ( nldf_tra ) !* compute lateral mixing trend and add it to the general trend 70 70 CASE ( np_lap ) ! laplacian: iso-level operator 71 CALL tra_ldf_lap ( kt, nit000,'TRA', ahtu, ahtv, gtsu, gtsv, gtui, gtvi, ts b, tsa, jpts, 1)71 CALL tra_ldf_lap ( kt, nit000,'TRA', ahtu, ahtv, gtsu, gtsv, gtui, gtvi, ts(:,:,:,:,Kbb), ts(:,:,:,:,Krhs), jpts, 1, Kmm ) 72 72 CASE ( np_lap_i ) ! laplacian: standard iso-neutral operator (Madec) 73 CALL tra_ldf_iso ( kt, nit000,'TRA', ahtu, ahtv, gtsu, gtsv, gtui, gtvi, ts b, tsb, tsa, jpts, 1)73 CALL tra_ldf_iso ( kt, nit000,'TRA', ahtu, ahtv, gtsu, gtsv, gtui, gtvi, ts(:,:,:,:,Kbb), ts(:,:,:,:,Kbb), ts(:,:,:,:,Krhs), jpts, 1, Kmm ) 74 74 CASE ( np_lap_it ) ! laplacian: triad iso-neutral operator (griffies) 75 CALL tra_ldf_triad( kt, nit000,'TRA', ahtu, ahtv, gtsu, gtsv, gtui, gtvi, ts b, tsb, tsa, jpts, 1, Kmm)75 CALL tra_ldf_triad( kt, nit000,'TRA', ahtu, ahtv, gtsu, gtsv, gtui, gtvi, ts(:,:,:,:,Kbb), ts(:,:,:,:,Kbb), ts(:,:,:,:,Krhs), jpts, 1, Kmm ) 76 76 CASE ( np_blp , np_blp_i , np_blp_it ) ! bilaplacian: iso-level & iso-neutral operators 77 CALL tra_ldf_blp ( kt, nit000,'TRA', ahtu, ahtv, gtsu, gtsv, gtui, gtvi, ts b , tsa,jpts, nldf_tra, Kmm )77 CALL tra_ldf_blp ( kt, nit000,'TRA', ahtu, ahtv, gtsu, gtsv, gtui, gtvi, ts(:,:,:,:,Kbb), ts(:,:,:,:,Krhs), jpts, nldf_tra, Kmm ) 78 78 END SELECT 79 79 ! 80 80 IF( l_trdtra ) THEN !* save the horizontal diffusive trends for further diagnostics 81 ztrdt(:,:,:) = ts a(:,:,:,jp_tem) - ztrdt(:,:,:)82 ztrds(:,:,:) = ts a(:,:,:,jp_sal) - ztrds(:,:,:)81 ztrdt(:,:,:) = ts(:,:,:,jp_tem,Krhs) - ztrdt(:,:,:) 82 ztrds(:,:,:) = ts(:,:,:,jp_sal,Krhs) - ztrds(:,:,:) 83 83 CALL trd_tra( kt, Kmm, Krhs, 'TRA', jp_tem, jptra_ldf, ztrdt ) 84 84 CALL trd_tra( kt, Kmm, Krhs, 'TRA', jp_sal, jptra_ldf, ztrds ) … … 86 86 ENDIF 87 87 ! !* print mean trends (used for debugging) 88 IF(ln_ctl) CALL prt_ctl( tab3d_1=ts a(:,:,:,jp_tem), clinfo1=' ldf - Ta: ', mask1=tmask, &89 & tab3d_2=ts a(:,:,:,jp_sal), clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' )88 IF(ln_ctl) CALL prt_ctl( tab3d_1=ts(:,:,:,jp_tem,Krhs), clinfo1=' ldf - Ta: ', mask1=tmask, & 89 & tab3d_2=ts(:,:,:,jp_sal,Krhs), clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) 90 90 ! 91 91 IF( ln_timing ) CALL timing_stop('tra_ldf')
Note: See TracChangeset
for help on using the changeset viewer.