- Timestamp:
- 2011-11-20T15:27:18+01:00 (13 years ago)
- Location:
- branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/TRP
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/TRP/trcadv.F90
r3153 r3160 75 75 !!---------------------------------------------------------------------- 76 76 ! 77 IF( nn_timing == 1 ) CALL timing_start('trc_adv') 78 ! 77 79 CALL wrk_alloc( jpi, jpj, jpk, zun, zvn, zwn ) 78 80 ! … … 140 142 ! 141 143 CALL wrk_dealloc( jpi, jpj, jpk, zun, zvn, zwn ) 144 ! 145 IF( nn_timing == 1 ) CALL timing_stop('trc_adv') 142 146 ! 143 147 END SUBROUTINE trc_adv -
branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/TRP/trcbbl.F90
r3116 r3160 53 53 INTEGER, INTENT( in ) :: kt ! ocean time-step 54 54 CHARACTER (len=22) :: charout 55 REAL(wp), DIMENSION(:,:,:,:), ALLOCATABLE:: ztrtrd55 REAL(wp), POINTER, DIMENSION(:,:,:,:) :: ztrtrd 56 56 !!---------------------------------------------------------------------- 57 57 ! 58 IF( nn_timing == 1 ) CALL timing_start('trc_bbl') 59 ! 58 60 IF( .NOT. lk_offline .AND. nn_dttrc == 1 ) THEN 59 61 CALL bbl( kt, nittrc000, 'TRC' ) ! Online coupling with dynamics : Computation of bbl coef and bbl transport … … 62 64 63 65 IF( l_trdtrc ) THEN 64 ALLOCATE( ztrtrd(jpi,jpj,jpk,jptra)) ! temporary save of trends66 CALL wrk_alloc( jpi, jpj, jpk, jptra, ztrtrd ) ! temporary save of trends 65 67 ztrtrd(:,:,:,:) = tra(:,:,:,:) 66 68 ENDIF … … 93 95 CALL trd_tra( kt, 'TRC', jn, jptra_trd_ldf, ztrtrd(:,:,:,jn) ) 94 96 END DO 95 DEALLOCATE( ztrtrd )97 CALL wrk_dealloc( jpi, jpj, jpk, jptra, ztrtrd ) ! temporary save of trends 96 98 ENDIF 99 ! 100 IF( nn_timing == 1 ) CALL timing_stop('trc_bbl') 97 101 ! 98 102 END SUBROUTINE trc_bbl -
branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/TRP/trcdmp.F90
r3116 r3160 89 89 REAL(wp) :: ztra ! temporary scalars 90 90 CHARACTER (len=22) :: charout 91 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: ztrtrd 92 !!---------------------------------------------------------------------- 93 91 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrtrd 92 !!---------------------------------------------------------------------- 93 ! 94 IF( nn_timing == 1 ) CALL timing_start('trc_dmp') 95 ! 94 96 ! 0. Initialization (first time-step only) 95 97 ! -------------- 96 98 IF( kt == nittrc000 ) CALL trc_dmp_init 97 99 98 IF( l_trdtrc ) ALLOCATE( ztrtrd(jpi,jpj,jpk)) ! temporary save of trends100 IF( l_trdtrc ) CALL wrk_alloc( jpi, jpj, jpk, ztrtrd ) ! temporary save of trends 99 101 100 102 ! 1. Newtonian damping trends on tracer fields … … 156 158 END DO ! tracer loop 157 159 ! ! =========== 158 IF( l_trdtrc ) DEALLOCATE(ztrtrd )160 IF( l_trdtrc ) CALL wrk_dealloc( jpi, jpj, jpk, ztrtrd ) 159 161 ! ! print mean trends (used for debugging) 160 162 IF( ln_ctl ) THEN … … 163 165 ENDIF 164 166 ! 167 IF( nn_timing == 1 ) CALL timing_stop('trc_dmp') 168 ! 165 169 END SUBROUTINE trc_dmp 166 170 … … 175 179 !! called by trc_dmp at the first timestep (nittrc000) 176 180 !!---------------------------------------------------------------------- 177 181 ! 182 IF( nn_timing == 1 ) CALL timing_start('trc_dmp_init') 183 ! 178 184 SELECT CASE ( nn_hdmp_tr ) 179 185 CASE ( -1 ) ; IF(lwp) WRITE(numout,*) ' tracer damping in the Med & Red seas only' … … 204 210 & nn_file_tr, 'TRC' , restotr ) 205 211 ENDIF 212 ! 213 IF( nn_timing == 1 ) CALL timing_stop('trc_dmp_init') 206 214 ! 207 215 END SUBROUTINE trc_dmp_init -
branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/TRP/trcldf.F90
r3118 r3160 58 58 INTEGER :: jn 59 59 CHARACTER (len=22) :: charout 60 REAL(wp), DIMENSION(:,:,:,:), ALLOCATABLE :: ztrtrd 61 !!---------------------------------------------------------------------- 62 60 REAL(wp), POINTER, DIMENSION(:,:,:,:) :: ztrtrd 61 !!---------------------------------------------------------------------- 62 ! 63 IF( nn_timing == 1 ) CALL timing_start('trc_ldf') 64 ! 63 65 IF( kt == nittrc000 ) CALL ldf_ctl ! initialisation & control of options 64 66 … … 66 68 67 69 IF( l_trdtrc ) THEN 68 ALLOCATE( ztrtrd(jpi,jpj,jpk,jptra) ) ! temporary save of trends70 CALL wrk_alloc( jpi, jpj, jpk, jptra, ztrtrd ) 69 71 ztrtrd(:,:,:,:) = tra(:,:,:,:) 70 72 ENDIF … … 105 107 CALL trd_tra( kt, 'TRC', jn, jptra_trd_ldf, ztrtrd(:,:,:,jn) ) 106 108 END DO 107 DEALLOCATE(ztrtrd )109 CALL wrk_dealloc( jpi, jpj, jpk, jptra, ztrtrd ) 108 110 ENDIF 109 111 ! ! print mean trends (used for debugging) … … 112 114 CALL prt_ctl_trc( tab4d=tra, mask=tmask, clinfo=ctrcnm, clinfo2='trd' ) 113 115 ENDIF 116 ! 117 IF( nn_timing == 1 ) CALL timing_stop('trc_ldf') 114 118 ! 115 119 END SUBROUTINE trc_ldf -
branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/TRP/trcnxt.F90
r3124 r3160 93 93 REAL(wp) :: zfact ! temporary scalar 94 94 CHARACTER (len=22) :: charout 95 REAL(wp), DIMENSION(:,:,:,:), ALLOCATABLE:: ztrdt95 REAL(wp), POINTER, DIMENSION(:,:,:,:) :: ztrdt 96 96 !!---------------------------------------------------------------------- 97 97 ! 98 IF( nn_timing == 1 ) CALL timing_start('trc_nxt') 99 ! 98 100 IF( kt == nittrc000 .AND. lwp ) THEN 99 101 WRITE(numout,*) … … 125 127 ! trends computation initialisation 126 128 IF( l_trdtrc ) THEN 127 ALLOCATE( ztrdt(jpi,jpj,jpk,jptra)) !* store now fields before applying the Asselin filter129 CALL wrk_alloc( jpi, jpj, jpk, jptra, ztrdt ) !* store now fields before applying the Asselin filter 128 130 ztrdt(:,:,:,:) = trn(:,:,:,:) 129 131 ENDIF … … 158 160 END DO 159 161 END DO 160 DEALLOCATE( ztrdt )162 CALL wrk_dealloc( jpi, jpj, jpk, jptra, ztrdt ) 161 163 END IF 162 164 ! … … 166 168 CALL prt_ctl_trc(tab4d=trn, mask=tmask, clinfo=ctrcnm) 167 169 ENDIF 170 ! 171 IF( nn_timing == 1 ) CALL timing_stop('trc_nxt') 168 172 ! 169 173 END SUBROUTINE trc_nxt -
branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/TRP/trcrad.F90
r3124 r3160 52 52 CHARACTER (len=22) :: charout 53 53 !!---------------------------------------------------------------------- 54 54 ! 55 IF( nn_timing == 1 ) CALL timing_start('trc_rad') 56 ! 55 57 IF( kt == nittrc000 ) THEN 56 58 IF(lwp) WRITE(numout,*) … … 65 67 IF( lk_my_trc ) CALL trc_rad_sms( kt, trb, trn, jp_myt0 , jp_myt1 ) ! MY_TRC model 66 68 67 68 69 ! 69 70 IF(ln_ctl) THEN ! print mean trends (used for debugging) … … 72 73 CALL prt_ctl_trc( tab4d=trn, mask=tmask, clinfo=ctrcnm ) 73 74 ENDIF 75 ! 76 IF( nn_timing == 1 ) CALL timing_stop('trc_rad') 74 77 ! 75 78 END SUBROUTINE trc_rad … … 107 110 REAL(wp) :: ztrcorb, ztrmasb ! temporary scalars 108 111 REAL(wp) :: zcoef, ztrcorn, ztrmasn ! " " 109 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: ztrtrdb ! workspace arrays 110 REAL(wp), DIMENSION(:,:,:), ALLOCATABLE :: ztrtrdn ! workspace arrays 112 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrtrdb, ztrtrdn ! workspace arrays 111 113 REAL(wp) :: zs2rdt 112 114 LOGICAL :: lldebug = .FALSE. 113 114 !!---------------------------------------------------------------------- 115 116 IF( l_trdtrc ) THEN 117 ! 118 ALLOCATE( ztrtrdb(jpi,jpj,jpk) ) 119 ALLOCATE( ztrtrdn(jpi,jpj,jpk) ) 120 ! 121 ENDIF 115 !!---------------------------------------------------------------------- 116 117 118 IF( l_trdtrc ) CALL wrk_alloc( jpi, jpj, jpk, ztrtrdb, ztrtrdn ) 122 119 123 120 IF( PRESENT( cpreserv ) ) THEN ! total tracer concentration is preserved … … 200 197 ENDIF 201 198 202 IF( l_trdtrc ) DEALLOCATE(ztrtrdb, ztrtrdn )199 IF( l_trdtrc ) CALL wrk_dealloc( jpi, jpj, jpk, ztrtrdb, ztrtrdn ) 203 200 204 201 END SUBROUTINE trc_rad_sms -
branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/TRP/trcsbc.F90
r3153 r3160 66 66 REAL(wp), POINTER, DIMENSION(:,:,:) :: ztrtrd 67 67 !!--------------------------------------------------------------------- 68 68 ! 69 IF( nn_timing == 1 ) CALL timing_start('trc_sbc') 70 ! 69 71 ! Allocate temporary workspace 70 CALL wrk_alloc( jpi, jpj, zemps )71 CALL wrk_alloc( jpi, jpj, jpk, ztrtrd )72 CALL wrk_alloc( jpi, jpj, zemps ) 73 IF( l_trdtrc ) CALL wrk_alloc( jpi, jpj, jpk, ztrtrd ) 72 74 73 75 IF( kt == nittrc000 ) THEN … … 115 117 CALL prt_ctl_trc( tab4d=tra, mask=tmask, clinfo=ctrcnm, clinfo2='trd' ) 116 118 ENDIF 117 118 CALL wrk_dealloc( jpi, jpj, zemps ) 119 CALL wrk_dealloc( jpi, jpj, jpk, ztrtrd ) 120 119 CALL wrk_dealloc( jpi, jpj, zemps ) 120 IF( l_trdtrc ) CALL wrk_dealloc( jpi, jpj, jpk, ztrtrd ) 121 ! 122 IF( nn_timing == 1 ) CALL timing_stop('trc_sbc') 123 ! 121 124 END SUBROUTINE trc_sbc 122 125 -
branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/TRP/trczdf.F90
r3124 r3160 66 66 INTEGER :: jk, jn 67 67 CHARACTER (len=22) :: charout 68 REAL(wp), DIMENSION(:,:,:,:), ALLOCATABLE:: ztrtrd ! 4D workspace68 REAL(wp), POINTER, DIMENSION(:,:,:,:) :: ztrtrd ! 4D workspace 69 69 !!--------------------------------------------------------------------- 70 70 ! 71 IF( nn_timing == 1 ) CALL timing_start('trc_zdf') 72 ! 71 73 IF( kt == nittrc000 ) CALL zdf_ctl ! initialisation & control of options 72 74 … … 82 84 83 85 IF( l_trdtrc ) THEN 84 ALLOCATE( ztrtrd(jpi,jpj,jpk,jptra) ) ! temporary save of trends86 CALL wrk_alloc( jpi, jpj, jpk, jptra, ztrtrd ) 85 87 ztrtrd(:,:,:,:) = tra(:,:,:,:) 86 88 ENDIF … … 106 108 CALL trd_tra( kt, 'TRC', jn, jptra_trd_zdf, ztrtrd(:,:,:,jn) ) 107 109 END DO 108 DEALLOCATE(ztrtrd )110 CALL wrk_dealloc( jpi, jpj, jpk, jptra, ztrtrd ) 109 111 ENDIF 110 111 112 ! ! print mean trends (used for debugging) 112 113 IF( ln_ctl ) THEN … … 114 115 CALL prt_ctl_trc( tab4d=tra, mask=tmask, clinfo=ctrcnm, clinfo2='trd' ) 115 116 END IF 117 ! 118 IF( nn_timing == 1 ) CALL timing_stop('trc_zdf') 116 119 ! 117 120 END SUBROUTINE trc_zdf
Note: See TracChangeset
for help on using the changeset viewer.