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 15574 for NEMO/branches/2021/dev_r14318_RK3_stage1/src/OCE/TRA/traqsr.F90 – NEMO

Ignore:
Timestamp:
2021-12-03T20:32:50+01:00 (3 years ago)
Author:
techene
Message:

#2605 #2715 trunk merged into dev_r14318_RK3_stage1

Location:
NEMO/branches/2021/dev_r14318_RK3_stage1
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2021/dev_r14318_RK3_stage1

    • Property svn:externals
      •  

        old new  
        99 
        1010# SETTE 
        11 ^/utils/CI/sette@14244        sette 
         11^/utils/CI/sette@HEAD        sette 
         12 
  • NEMO/branches/2021/dev_r14318_RK3_stage1/src/OCE/TRA/traqsr.F90

    r15157 r15574  
    118118      IF( ln_timing )   CALL timing_start('tra_qsr') 
    119119      ! 
    120       IF( ntile == 0 .OR. ntile == 1 )  THEN                       ! Do only on the first tile 
     120      IF( .NOT. l_istiled .OR. ntile == 1 )  THEN                       ! Do only on the first tile 
    121121         IF( kt == nit000 ) THEN 
    122122            IF(lwp) WRITE(numout,*) 
     
    134134      !                        ! MLF only : heat content trend due to Qsr flux (qsr_hc) 
    135135      ! 
     136      !                         !-----------------------------------! 
     137      !                         !  before qsr induced heat content  ! 
     138      !                         !-----------------------------------! 
    136139      IF( kt == nit000 ) THEN          !==  1st time step  ==! 
    137140         IF( ln_rstart .AND. .NOT.l_1st_euler ) THEN    ! read in restart 
    138141            z1_2 = 0.5_wp 
    139             IF( ntile == 0 .OR. ntile == 1 )  THEN                        ! Do only on the first tile 
     142            IF( .NOT. l_istiled .OR. ntile == 1 )  THEN                        ! Do only on the first tile 
    140143               IF(lwp) WRITE(numout,*) '          nit000-1 qsr tracer content forcing field read in the restart file' 
    141144               CALL iom_get( numror, jpdom_auto, 'qsr_hc_b', qsr_hc_b )   ! before heat content trend due to Qsr flux 
     
    143146         ELSE                                           ! No restart or Euler forward at 1st time step 
    144147            z1_2 = 1._wp 
    145             DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpk ) 
     148            DO_3D_OVR( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpk ) 
    146149               qsr_hc_b(ji,jj,jk) = 0._wp 
    147150            END_3D 
     
    149152      ELSE                             !==  Swap of qsr heat content  ==! 
    150153         z1_2 = 0.5_wp 
    151          DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpk ) 
     154         DO_3D_OVR( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpk ) 
    152155            qsr_hc_b(ji,jj,jk) = qsr_hc(ji,jj,jk) 
    153156         END_3D 
     
    207210!!st7-2 
    208211      ! sea-ice: store the 1st ocean level attenuation coefficient 
    209       DO_2D( 0, 0, 0, 0 ) 
     212      DO_2D_OVR( nn_hls, nn_hls, nn_hls, nn_hls ) 
    210213         IF( qsr(ji,jj) /= 0._wp ) THEN   ;   fraqsr_1lev(ji,jj) = qsr_hc(ji,jj,1) / ( r1_rho0_rcp * qsr(ji,jj) ) 
    211214         ELSE                             ;   fraqsr_1lev(ji,jj) = 1._wp 
     
    217220!!st      CALL lbc_lnk( 'tra_qsr', qsr_hc(:,:,:), 'T', 1._wp ) 
    218221      ! 
    219       ! TEMP: [tiling] This change not necessary and working array can use A2D(nn_hls) if using XIOS (subdomain support) 
    220       IF( ntile == 0 .OR. ntile == nijtile )  THEN                ! Do only for the full domain 
    221          IF( iom_use('qsr3d') ) THEN      ! output the shortwave Radiation distribution 
    222             ALLOCATE( zetot(jpi,jpj,jpk) ) 
    223             zetot(:,:,nksr+1:jpk) = 0._wp     ! below ~400m set to zero 
    224             DO jk = nksr, 1, -1 
    225                zetot(:,:,jk) = zetot(:,:,jk+1) + qsr_hc(:,:,jk) * rho0_rcp 
    226             END DO 
    227             CALL iom_put( 'qsr3d', zetot )   ! 3D distribution of shortwave Radiation 
    228             DEALLOCATE( zetot ) 
    229          ENDIF 
     222      IF( iom_use('qsr3d') ) THEN      ! output the shortwave Radiation distribution 
     223         ALLOCATE( zetot(A2D(nn_hls),jpk) ) 
     224         zetot(:,:,nksr+1:jpk) = 0._wp     ! below ~400m set to zero 
     225         DO_3DS(0, 0, 0, 0, nksr, 1, -1) 
     226            zetot(ji,jj,jk) = zetot(ji,jj,jk+1) + qsr_hc(ji,jj,jk) * rho0_rcp 
     227         END_3D 
     228         CALL iom_put( 'qsr3d', zetot )   ! 3D distribution of shortwave Radiation 
     229         DEALLOCATE( zetot ) 
    230230      ENDIF 
    231231      ! 
     
    237237#endif 
    238238      ! 
    239       IF( ntile == 0 .OR. ntile == nijtile )  THEN                ! Do only on the last tile 
     239      IF( .NOT. l_istiled .OR. ntile == nijtile )  THEN                ! Do only on the last tile 
    240240         IF( lrst_oce ) THEN     ! write in the ocean restart file 
    241241            CALL iom_rstput( kt, nitrst, numrow, 'qsr_hc_b'   , qsr_hc      ) 
Note: See TracChangeset for help on using the changeset viewer.