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/DYN/dynatf_qco.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/DYN/dynatf_qco.F90

    r14219 r14644  
    4343   USE isf_oce   , ONLY: ln_isf     ! ice shelf 
    4444   USE isfdynatf , ONLY: isf_dynatf ! ice shelf volume filter correction subroutine 
     45   USE zdfdrg    , ONLY: ln_drgice_imp, rCdU_top 
    4546   ! 
    4647   USE in_out_manager ! I/O manager 
     
    99100      INTEGER  ::   ji, jj, jk   ! dummy loop indices 
    100101      REAL(wp) ::   zue3a, zue3n, zue3b, zcoef    ! local scalars 
    101       REAL(wp) ::   zve3a, zve3n, zve3b, z1_2dt   !   -      - 
     102      REAL(wp) ::   zve3a, zve3n, zve3b           !   -      - 
    102103      REAL(wp), ALLOCATABLE, DIMENSION(:,:)   ::   zue, zve 
    103104      REAL(dp), ALLOCATABLE, DIMENSION(:,:,:) ::   zua, zva 
     105      REAL(wp), ALLOCATABLE, DIMENSION(:,:)   ::   zutau, zvtau 
    104106      !!---------------------------------------------------------------------- 
    105107      ! 
     
    235237      ENDIF 
    236238      IF( l_trddyn ) THEN                ! 3D output: asselin filter trends on momentum 
    237          zua(:,:,:) = ( puu(:,:,:,Kmm) - zua(:,:,:) ) * z1_2dt 
    238          zva(:,:,:) = ( pvv(:,:,:,Kmm) - zva(:,:,:) ) * z1_2dt 
     239         zua(:,:,:) = ( puu(:,:,:,Kmm) - zua(:,:,:) ) * r1_Dt 
     240         zva(:,:,:) = ( pvv(:,:,:,Kmm) - zva(:,:,:) ) * r1_Dt 
    239241         CALL trd_dyn( zua, zva, jpdyn_atf, kt, Kmm ) 
    240242      ENDIF 
    241243      ! 
    242       IF(sn_cfctl%l_prtctl)   CALL prt_ctl( tab3d_1=CASTWP(puu(:,:,:,Kaa)), clinfo1=' nxt  - puu(:,:,:,Kaa): ', mask1=umask,   & 
    243          &                                  tab3d_2=CASTWP(pvv(:,:,:,Kaa)), clinfo2=' pvv(:,:,:,Kaa): '       , mask2=vmask ) 
     244      IF ( iom_use("utau") ) THEN 
     245         IF ( ln_drgice_imp.OR.ln_isfcav ) THEN 
     246            ALLOCATE(zutau(jpi,jpj)) 
     247            DO_2D( 0, 0, 0, 0 ) 
     248               jk = miku(ji,jj) 
     249               zutau(ji,jj) = utau(ji,jj) + 0.5_wp * rho0 * ( rCdU_top(ji+1,jj)+rCdU_top(ji,jj) ) * puu(ji,jj,jk,Kaa) 
     250            END_2D 
     251            CALL iom_put(  "utau", zutau(:,:) ) 
     252            DEALLOCATE(zutau) 
     253         ELSE 
     254            CALL iom_put(  "utau", utau(:,:) ) 
     255         ENDIF 
     256      ENDIF 
     257      ! 
     258      IF ( iom_use("vtau") ) THEN 
     259         IF ( ln_drgice_imp.OR.ln_isfcav ) THEN 
     260            ALLOCATE(zvtau(jpi,jpj)) 
     261            DO_2D( 0, 0, 0, 0 ) 
     262               jk = mikv(ji,jj) 
     263               zvtau(ji,jj) = vtau(ji,jj) + 0.5_wp * rho0 * ( rCdU_top(ji,jj+1)+rCdU_top(ji,jj) ) * pvv(ji,jj,jk,Kaa) 
     264            END_2D 
     265            CALL iom_put(  "vtau", zvtau(:,:) ) 
     266            DEALLOCATE(zvtau) 
     267         ELSE 
     268            CALL iom_put(  "vtau", vtau(:,:) ) 
     269         ENDIF 
     270      ENDIF 
     271      ! 
     272      IF(sn_cfctl%l_prtctl)   CALL prt_ctl( tab3d_1=puu(:,:,:,Kaa), clinfo1=' nxt  - puu(:,:,:,Kaa): ', mask1=umask,   & 
     273         &                                  tab3d_2=pvv(:,:,:,Kaa), clinfo2=' pvv(:,:,:,Kaa): '       , mask2=vmask ) 
    244274      ! 
    245275      IF( ln_dynspg_ts )   DEALLOCATE( zue, zve ) 
Note: See TracChangeset for help on using the changeset viewer.