- 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/OPA_SRC/TRA/traldf.F90
r7765 r9019 30 30 USE lib_mpp ! distribued memory computing library 31 31 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 32 USE wrk_nemo ! Memory allocation33 32 USE timing ! Timing 34 33 … … 58 57 INTEGER, INTENT( in ) :: kt ! ocean time-step index 59 58 !! 60 REAL(wp), POINTER, DIMENSION(:,:,:) ::ztrdt, ztrds61 !!---------------------------------------------------------------------- 62 ! 63 IF( nn_timing == 1) CALL timing_start('tra_ldf')59 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: ztrdt, ztrds 60 !!---------------------------------------------------------------------- 61 ! 62 IF( ln_timing ) CALL timing_start('tra_ldf') 64 63 ! 65 64 IF( l_trdtra ) THEN !* Save ta and sa trends 66 CALL wrk_alloc( jpi,jpj,jpk, ztrdt, ztrds)65 ALLOCATE( ztrdt(jpi,jpj,jpk) , ztrds(jpi,jpj,jpk) ) 67 66 ztrdt(:,:,:) = tsa(:,:,:,jp_tem) 68 67 ztrds(:,:,:) = tsa(:,:,:,jp_sal) … … 85 84 CALL trd_tra( kt, 'TRA', jp_tem, jptra_ldf, ztrdt ) 86 85 CALL trd_tra( kt, 'TRA', jp_sal, jptra_ldf, ztrds ) 87 CALL wrk_dealloc( jpi,jpj,jpk,ztrdt, ztrds )86 DEALLOCATE( ztrdt, ztrds ) 88 87 ENDIF 89 88 ! !* print mean trends (used for debugging) … … 91 90 & tab3d_2=tsa(:,:,:,jp_sal), clinfo2= ' Sa: ', mask2=tmask, clinfo3='tra' ) 92 91 ! 93 IF( nn_timing == 1) CALL timing_stop('tra_ldf')92 IF( ln_timing ) CALL timing_stop('tra_ldf') 94 93 ! 95 94 END SUBROUTINE tra_ldf … … 107 106 !!---------------------------------------------------------------------- 108 107 ! 109 IF(lwp) THEN ! Namelist print108 IF(lwp) THEN !== Namelist print ==! 110 109 WRITE(numout,*) 111 110 WRITE(numout,*) 'tra_ldf_init : lateral tracer diffusive operator' … … 114 113 WRITE(numout,*) ' see ldf_tra_init report for lateral mixing parameters' 115 114 ENDIF 116 ! ! use of lateral operator or not115 ! !== use of lateral operator or not ==! 117 116 nldf = np_ERROR 118 117 ioptio = 0 119 IF( ln_traldf_ lap ) ioptio = ioptio + 1120 IF( ln_traldf_ blp ) ioptio = ioptio + 1121 IF( ioptio > 1 ) CALL ctl_stop( 'tra_ldf_init: use ONE or NONE of the 2 lap/bilap operator type on tracer' )122 IF( ioptio == 0 ) nldf = np_no_ldf ! No lateral diffusion123 ! 124 IF( nldf /= np_no_ldf ) THEN ! direction ==>> type of operator118 IF( ln_traldf_NONE ) THEN ; nldf = np_no_ldf ; ioptio = ioptio + 1 ; ENDIF 119 IF( ln_traldf_lap ) THEN ; ioptio = ioptio + 1 ; ENDIF 120 IF( ln_traldf_blp ) THEN ; ioptio = ioptio + 1 ; ENDIF 121 IF( ioptio /= 1 ) CALL ctl_stop( 'tra_ldf_init: use ONE of the 3 operator options (NONE/lap/blp)' ) 122 ! 123 IF( .NOT.ln_traldf_NONE ) THEN !== direction ==>> type of operator ==! 125 124 ioptio = 0 126 125 IF( ln_traldf_lev ) ioptio = ioptio + 1 127 126 IF( ln_traldf_hor ) ioptio = ioptio + 1 128 127 IF( ln_traldf_iso ) ioptio = ioptio + 1 129 IF( ioptio > 1 ) CALL ctl_stop( 'tra_ldf_init: use onlyONE direction (level/hor/iso)' )128 IF( ioptio /= 1 ) CALL ctl_stop( 'tra_ldf_init: use ONE direction (level/hor/iso)' ) 130 129 ! 131 130 ! ! defined the type of lateral diffusion from ln_traldf_... logicals
Note: See TracChangeset
for help on using the changeset viewer.