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 14644 for NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/OCE/DIA/diawri.F90 – NEMO

Ignore:
Timestamp:
2021-03-26T15:33:49+01:00 (3 years ago)
Author:
sparonuz
Message:

Merge trunk -r14642:HEAD

Location:
NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final

    • Property svn:externals
      •  

        old new  
        99 
        1010# SETTE 
        11 ^/utils/CI/sette_wave@13990         sette 
         11^/utils/CI/sette@14244        sette 
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/OCE/DIA/diawri.F90

    r14286 r14644  
    7070   PUBLIC   dia_wri_state 
    7171   PUBLIC   dia_wri_alloc           ! Called by nemogcm module 
    72 #if ! defined key_iomput    
     72#if ! defined key_xios    
    7373   PUBLIC   dia_wri_alloc_abl       ! Called by sbcabl  module (if ln_abl = .true.) 
    7474#endif 
     
    9494CONTAINS 
    9595 
    96 #if defined key_iomput 
     96#if defined key_xios 
    9797   !!---------------------------------------------------------------------- 
    98    !!   'key_iomput'                                        use IOM library 
     98   !!   'key_xios'                                        use IOM library 
    9999   !!---------------------------------------------------------------------- 
    100100   INTEGER FUNCTION dia_wri_alloc() 
     
    250250      ENDIF 
    251251 
    252       IF( ln_zad_Aimp ) ww = ww + wi               ! Recombine explicit and implicit parts of vertical velocity for diagnostic output 
    253       CALL iom_put( "woce", ww )                   ! vertical velocity 
     252      !                                            ! vertical velocity 
     253      IF( ln_zad_Aimp ) THEN   ;   CALL iom_put( "woce", ww + wi )   ! explicit plus implicit parts 
     254      ELSE                     ;   CALL iom_put( "woce", ww ) 
     255      ENDIF 
    254256 
    255257      IF( iom_use('w_masstr') .OR. iom_use('w_masstr2') ) THEN   ! vertical mass transport & its square value 
    256          ! Caution: in the VVL case, it only correponds to the baroclinic mass transport. 
    257          z2d(:,:) = rho0 * e1e2t(:,:) 
     258         !                     ! Caution: in the VVL case, it only correponds to the baroclinic mass transport. 
    258259         DO jk = 1, jpk 
    259             z3d(:,:,jk) = ww(:,:,jk) * z2d(:,:) 
     260            IF( ln_zad_Aimp ) THEN 
     261               z3d(:,:,jk) = rho0 * e1e2t(:,:) * ( ww(:,:,jk) + wi(:,:,jk) ) 
     262            ELSE 
     263               z3d(:,:,jk) = rho0 * e1e2t(:,:) * ww(:,:,jk) 
     264            ENDIF 
    260265         END DO 
    261266         CALL iom_put( "w_masstr" , z3d )   
    262          IF( iom_use('w_masstr2') )   CALL iom_put( "w_masstr2", z3d(:,:,:) * z3d(:,:,:) ) 
    263       ENDIF 
    264       ! 
    265       IF( ln_zad_Aimp ) ww = ww - wi               ! Remove implicit part of vertical velocity that was added for diagnostic output 
     267         IF( iom_use('w_masstr2') )   CALL iom_put( "w_masstr2", z3d * z3d ) 
     268      ENDIF 
    266269 
    267270      CALL iom_put( "avt" , avt )                  ! T vert. eddy diff. coef. 
Note: See TracChangeset for help on using the changeset viewer.