- Timestamp:
- 2017-09-27T16:29:24+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/OPA_SRC/TRA/traqsr.F90
r7753 r8568 29 29 USE in_out_manager ! I/O manager 30 30 USE prtctl ! Print control 31 USE iom ! I/O manager31 USE iom ! I/O library 32 32 USE fldread ! read input fields 33 33 USE restart ! ocean restart 34 34 USE lib_mpp ! MPP library 35 35 USE lbclnk ! ocean lateral boundary conditions (or mpp link) 36 USE wrk_nemo ! Memory Allocation37 36 USE timing ! Timing 38 37 … … 113 112 REAL(wp) :: zCb, zCmax, zze, zpsi, zpsimax, zdelpsi, zCtot, zCze 114 113 REAL(wp) :: zlogc, zlogc2, zlogc3 115 REAL(wp), POINTER, DIMENSION(:,:) :: zekb, zekg, zekr116 REAL(wp), POINTER, DIMENSION(:,:,:) :: ze0, ze1, ze2, ze3, zea, ztrdt117 REAL(wp), POINTER, DIMENSION(:,:,:) :: zetot, zchl3d118 !!---------------------------------------------------------------------- 119 ! 120 IF( nn_timing == 1 )CALL timing_start('tra_qsr')114 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: zekb, zekg, zekr 115 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: ze0, ze1, ze2, ze3, zea, ztrdt 116 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: zetot, zchl3d 117 !!---------------------------------------------------------------------- 118 ! 119 IF( ln_timing ) CALL timing_start('tra_qsr') 121 120 ! 122 121 IF( kt == nit000 ) THEN … … 127 126 ! 128 127 IF( l_trdtra ) THEN ! trends diagnostic: save the input temperature trend 129 CALL wrk_alloc( jpi,jpj,jpk, ztrdt)128 ALLOCATE( ztrdt(jpi,jpj,jpk) ) 130 129 ztrdt(:,:,:) = tsa(:,:,:,jp_tem) 131 130 ENDIF … … 161 160 CASE( np_RGB , np_RGBc ) !== R-G-B fluxes ==! 162 161 ! 163 CALL wrk_alloc( jpi,jpj, zekb, zekg, zekr ) 164 CALL wrk_alloc( jpi,jpj,jpk, ze0, ze1, ze2, ze3, zea, zchl3d ) 162 ALLOCATE( zekb(jpi,jpj) , zekg(jpi,jpj) , zekr (jpi,jpj) , & 163 & ze0 (jpi,jpj,jpk) , ze1 (jpi,jpj,jpk) , ze2 (jpi,jpj,jpk) , & 164 & ze3 (jpi,jpj,jpk) , zea (jpi,jpj,jpk) , zchl3d(jpi,jpj,jpk) ) 165 165 ! 166 166 IF( nqsr == np_RGBc ) THEN !* Variable Chlorophyll … … 240 240 END DO 241 241 ! 242 CALL wrk_dealloc( jpi,jpj, zekb, zekg, zekr ) 243 CALL wrk_dealloc( jpi,jpj,jpk, ze0, ze1, ze2, ze3, zea, zchl3d ) 242 DEALLOCATE( zekb , zekg , zekr , ze0 , ze1 , ze2 , ze3 , zea , zchl3d ) 244 243 ! 245 244 CASE( np_2BD ) !== 2-bands fluxes ==! … … 282 281 ! 283 282 IF( iom_use('qsr3d') ) THEN ! output the shortwave Radiation distribution 284 CALL wrk_alloc( jpi,jpj,jpk, zetot ) 285 ! 283 ALLOCATE( zetot(jpi,jpj,jpk) ) 286 284 zetot(:,:,nksr+1:jpk) = 0._wp ! below ~400m set to zero 287 285 DO jk = nksr, 1, -1 288 zetot(:,:,jk) = zetot(:,:,jk+1) + qsr_hc(:,:,jk) / r1_rau0_rcp286 zetot(:,:,jk) = zetot(:,:,jk+1) + qsr_hc(:,:,jk) * rau0_rcp 289 287 END DO 290 288 CALL iom_put( 'qsr3d', zetot ) ! 3D distribution of shortwave Radiation 291 ! 292 CALL wrk_dealloc( jpi,jpj,jpk, zetot ) 289 DEALLOCATE( zetot ) 293 290 ENDIF 294 291 ! … … 301 298 ztrdt(:,:,:) = tsa(:,:,:,jp_tem) - ztrdt(:,:,:) 302 299 CALL trd_tra( kt, 'TRA', jp_tem, jptra_qsr, ztrdt ) 303 CALL wrk_dealloc( jpi,jpj,jpk,ztrdt )300 DEALLOCATE( ztrdt ) 304 301 ENDIF 305 302 ! ! print mean trends (used for debugging) 306 303 IF(ln_ctl) CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' qsr - Ta: ', mask1=tmask, clinfo3='tra-ta' ) 307 304 ! 308 IF( nn_timing == 1 )CALL timing_stop('tra_qsr')305 IF( ln_timing ) CALL timing_stop('tra_qsr') 309 306 ! 310 307 END SUBROUTINE tra_qsr … … 340 337 !!---------------------------------------------------------------------- 341 338 ! 342 IF( nn_timing == 1) CALL timing_start('tra_qsr_init')339 IF( ln_timing ) CALL timing_start('tra_qsr_init') 343 340 ! 344 341 REWIND( numnam_ref ) ! Namelist namtra_qsr in reference namelist … … 435 432 ENDIF 436 433 ! 437 IF( nn_timing == 1) CALL timing_stop('tra_qsr_init')434 IF( ln_timing ) CALL timing_stop('tra_qsr_init') 438 435 ! 439 436 END SUBROUTINE tra_qsr_init
Note: See TracChangeset
for help on using the changeset viewer.