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/tradmp.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/tradmp.F90

    r14072 r15574  
    2424   USE oce            ! ocean: variables 
    2525   USE dom_oce        ! ocean: domain variables 
    26    USE c1d            ! 1D vertical configuration 
    2726   USE trd_oce        ! trends: ocean variables 
    2827   USE trdtra         ! trends manager: tracers 
     
    5352   !! * Substitutions 
    5453#  include "do_loop_substitute.h90" 
     54#  include "domzgr_substitute.h90" 
    5555   !!---------------------------------------------------------------------- 
    5656   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
     
    9696      INTEGER ::   ji, jj, jk, jn   ! dummy loop indices 
    9797      REAL(wp), DIMENSION(A2D(nn_hls),jpk,jpts)     ::  zts_dta 
     98      REAL(wp), DIMENSION(:,:,:)  , ALLOCATABLE ::  zwrk 
    9899      REAL(wp), DIMENSION(:,:,:,:), ALLOCATABLE ::  ztrdts 
    99100      !!---------------------------------------------------------------------- 
     
    101102      IF( ln_timing )   CALL timing_start('tra_dmp') 
    102103      ! 
    103       IF( l_trdtra )   THEN                    !* Save ta and sa trends 
    104          ALLOCATE( ztrdts(jpi,jpj,jpk,jpts) ) 
    105          ztrdts(:,:,:,:) = pts(:,:,:,:,Krhs) 
     104      IF( l_trdtra .OR. iom_use('hflx_dmp_cea') .OR. iom_use('sflx_dmp_cea') ) THEN   !* Save ta and sa trends 
     105         ALLOCATE( ztrdts(A2D(nn_hls),jpk,jpts) ) 
     106         DO jn = 1, jpts 
     107            DO_3D( nn_hls, nn_hls, nn_hls, nn_hls, 1, jpk ) 
     108               ztrdts(ji,jj,jk,jn) = pts(ji,jj,jk,jn,Krhs) 
     109            END_3D 
     110         END DO 
    106111      ENDIF 
    107112      !                           !==  input T-S data at kt  ==! 
     
    139144         ! 
    140145      END SELECT 
     146      ! 
     147      ! outputs (clem trunk) 
     148      IF( iom_use('hflx_dmp_cea') .OR. iom_use('sflx_dmp_cea') ) THEN 
     149         ALLOCATE( zwrk(A2D(nn_hls),jpk) )          ! Needed to handle expressions containing e3t when using key_qco or key_linssh 
     150         zwrk(:,:,:) = 0._wp 
     151 
     152         IF( iom_use('hflx_dmp_cea') ) THEN 
     153            DO_3D( 0, 0, 0, 0, 1, jpk ) 
     154               zwrk(ji,jj,jk) = ( pts(ji,jj,jk,jp_tem,Krhs) - ztrdts(ji,jj,jk,jp_tem) ) * e3t(ji,jj,jk,Kmm) 
     155            END_3D 
     156            CALL iom_put('hflx_dmp_cea', SUM( zwrk(:,:,:), dim=3 ) * rcp * rho0 ) ! W/m2 
     157         ENDIF 
     158         IF( iom_use('sflx_dmp_cea') ) THEN 
     159            DO_3D( 0, 0, 0, 0, 1, jpk ) 
     160               zwrk(ji,jj,jk) = ( pts(ji,jj,jk,jp_sal,Krhs) - ztrdts(ji,jj,jk,jp_sal) ) * e3t(ji,jj,jk,Kmm) 
     161            END_3D 
     162            CALL iom_put('sflx_dmp_cea', SUM( zwrk(:,:,:), dim=3 ) * rho0 )       ! g/m2/s 
     163         ENDIF 
     164 
     165         DEALLOCATE( zwrk ) 
     166      ENDIF 
    141167      ! 
    142168      IF( l_trdtra )   THEN       ! trend diagnostic 
Note: See TracChangeset for help on using the changeset viewer.