- Timestamp:
- 2018-06-21T11:58:42+02:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_nemo2cice_prints/NEMOGCM/NEMO/OPA_SRC/TRA/traadv.F90
r9816 r9817 26 26 USE cla ! cross land advection (cla_traadv routine) 27 27 USE ldftra_oce ! lateral diffusion coefficient on tracers 28 USE trd_oce ! trends: ocean variables 29 USE trdtra ! trends manager: tracers 28 30 ! 29 31 USE in_out_manager ! I/O manager … … 78 80 ! 79 81 INTEGER :: jk ! dummy loop index 80 REAL(wp), POINTER, DIMENSION(:,:,:) :: zun, zvn, zwn 82 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: zun, zvn, zwn 83 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: ztrdt, ztrds ! 3D workspace 81 84 !!---------------------------------------------------------------------- 82 85 ! 83 86 IF( nn_timing == 1 ) CALL timing_start('tra_adv') 84 87 ! 85 CALL wrk_alloc( jpi, jpj, jpk, zun, zvn, zwn ) 88 ALLOCATE(zun(1:jpi, 1:jpj, 1:jpk)) 89 ALLOCATE(zvn(1:jpi, 1:jpj, 1:jpk)) 90 ALLOCATE(zwn(1:jpi, 1:jpj, 1:jpk)) 86 91 ! ! set time step 87 92 IF( neuler == 0 .AND. kt == nit000 ) THEN ! at nit000 … … 120 125 IF( ln_diaptr ) CALL dia_ptr( zvn ) ! diagnose the effective MSF 121 126 ! 122 127 IF( l_trdtra ) THEN !* Save ta and sa trends 128 ALLOCATE(ztrdt( 1:jpi, 1:jpj, 1:jpk) ) 129 ALLOCATE(ztrds( 1:jpi, 1:jpj, 1:jpk) ) 130 ztrdt(:,:,:) = tsa(:,:,:,jp_tem) 131 ztrds(:,:,:) = tsa(:,:,:,jp_sal) 132 ENDIF 133 ! 123 134 SELECT CASE ( nadv ) !== compute advection trend and add it to general trend ==! 124 135 CASE ( 1 ) ; CALL tra_adv_cen2 ( kt, nit000, 'TRA', zun, zvn, zwn, tsb, tsn, tsa, jpts ) ! 2nd order centered … … 151 162 END SELECT 152 163 ! 164 IF( l_trdtra ) THEN ! save the advective trends for further diagnostics 165 DO jk = 1, jpkm1 166 ztrdt(:,:,jk) = tsa(:,:,jk,jp_tem) - ztrdt(:,:,jk) 167 ztrds(:,:,jk) = tsa(:,:,jk,jp_sal) - ztrds(:,:,jk) 168 END DO 169 CALL trd_tra( kt, 'TRA', jp_tem, jptra_totad, ztrdt ) 170 CALL trd_tra( kt, 'TRA', jp_sal, jptra_totad, ztrds ) 171 DEALLOCATE (ztrdt) 172 DEALLOCATE (ztrds) 173 ENDIF 153 174 ! ! print mean trends (used for debugging) 154 175 IF(ln_ctl) CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' adv - Ta: ', mask1=tmask, & … … 157 178 IF( nn_timing == 1 ) CALL timing_stop( 'tra_adv' ) 158 179 ! 159 CALL wrk_dealloc( jpi, jpj, jpk, zun, zvn, zwn ) 180 DEALLOCATE(zun) 181 DEALLOCATE(zvn) 182 DEALLOCATE(zwn) 160 183 ! 161 184 END SUBROUTINE tra_adv
Note: See TracChangeset
for help on using the changeset viewer.