New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 8568 for branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/OPA_SRC/TRA/traqsr.F90 – NEMO

Ignore:
Timestamp:
2017-09-27T16:29:24+02:00 (7 years ago)
Author:
gm
Message:

#1911 (ENHANCE-09): PART I.2 - _NONE option + remove zts + see associated wiki page

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_r7881_ENHANCE09_RK3/NEMOGCM/NEMO/OPA_SRC/TRA/traqsr.F90

    r7753 r8568  
    2929   USE in_out_manager ! I/O manager 
    3030   USE prtctl         ! Print control 
    31    USE iom            ! I/O manager 
     31   USE iom            ! I/O library 
    3232   USE fldread        ! read input fields 
    3333   USE restart        ! ocean restart 
    3434   USE lib_mpp        ! MPP library 
    3535   USE lbclnk         ! ocean lateral boundary conditions (or mpp link) 
    36    USE wrk_nemo       ! Memory Allocation 
    3736   USE timing         ! Timing 
    3837 
     
    113112      REAL(wp) ::   zCb, zCmax, zze, zpsi, zpsimax, zdelpsi, zCtot, zCze 
    114113      REAL(wp) ::   zlogc, zlogc2, zlogc3  
    115       REAL(wp), POINTER, DIMENSION(:,:)   :: zekb, zekg, zekr 
    116       REAL(wp), POINTER, DIMENSION(:,:,:) :: ze0, ze1, ze2, ze3, zea, ztrdt 
    117       REAL(wp), POINTER, DIMENSION(:,:,:) :: zetot, zchl3d 
    118       !!---------------------------------------------------------------------- 
    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') 
    121120      ! 
    122121      IF( kt == nit000 ) THEN 
     
    127126      ! 
    128127      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) )  
    130129         ztrdt(:,:,:) = tsa(:,:,:,jp_tem) 
    131130      ENDIF 
     
    161160      CASE( np_RGB , np_RGBc )         !==  R-G-B fluxes  ==! 
    162161         ! 
    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)   )  
    165165         ! 
    166166         IF( nqsr == np_RGBc ) THEN          !*  Variable Chlorophyll 
     
    240240         END DO 
    241241         ! 
    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 )  
    244243         ! 
    245244      CASE( np_2BD  )            !==  2-bands fluxes  ==! 
     
    282281      ! 
    283282      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) ) 
    286284         zetot(:,:,nksr+1:jpk) = 0._wp     ! below ~400m set to zero 
    287285         DO jk = nksr, 1, -1 
    288             zetot(:,:,jk) = zetot(:,:,jk+1) + qsr_hc(:,:,jk) / r1_rau0_rcp 
     286            zetot(:,:,jk) = zetot(:,:,jk+1) + qsr_hc(:,:,jk) * rau0_rcp 
    289287         END DO          
    290288         CALL iom_put( 'qsr3d', zetot )   ! 3D distribution of shortwave Radiation 
    291          ! 
    292          CALL wrk_dealloc( jpi,jpj,jpk,   zetot )  
     289         DEALLOCATE( zetot )  
    293290      ENDIF 
    294291      ! 
     
    301298         ztrdt(:,:,:) = tsa(:,:,:,jp_tem) - ztrdt(:,:,:) 
    302299         CALL trd_tra( kt, 'TRA', jp_tem, jptra_qsr, ztrdt ) 
    303          CALL wrk_dealloc( jpi,jpj,jpk,  ztrdt )  
     300         DEALLOCATE( ztrdt )  
    304301      ENDIF 
    305302      !                       ! print mean trends (used for debugging) 
    306303      IF(ln_ctl)   CALL prt_ctl( tab3d_1=tsa(:,:,:,jp_tem), clinfo1=' qsr  - Ta: ', mask1=tmask, clinfo3='tra-ta' ) 
    307304      ! 
    308       IF( nn_timing == 1 )  CALL timing_stop('tra_qsr') 
     305      IF( ln_timing )   CALL timing_stop('tra_qsr') 
    309306      ! 
    310307   END SUBROUTINE tra_qsr 
     
    340337      !!---------------------------------------------------------------------- 
    341338      ! 
    342       IF( nn_timing == 1 )   CALL timing_start('tra_qsr_init') 
     339      IF( ln_timing )   CALL timing_start('tra_qsr_init') 
    343340      ! 
    344341      REWIND( numnam_ref )              ! Namelist namtra_qsr in reference     namelist 
     
    435432      ENDIF 
    436433      ! 
    437       IF( nn_timing == 1 )   CALL timing_stop('tra_qsr_init') 
     434      IF( ln_timing )   CALL timing_stop('tra_qsr_init') 
    438435      ! 
    439436   END SUBROUTINE tra_qsr_init 
Note: See TracChangeset for help on using the changeset viewer.