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 14219 for NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/OCE/SBC/sbccpl.F90 – NEMO

Ignore:
Timestamp:
2020-12-18T18:52:57+01:00 (4 years ago)
Author:
mcastril
Message:

Add Mixed Precision support by Oriol Tintó

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/OCE/SBC/sbccpl.F90

    r14100 r14219  
    226226#  include "do_loop_substitute.h90" 
    227227#  include "domzgr_substitute.h90" 
     228#  include "single_precision_substitute.h90" 
    228229   !!---------------------------------------------------------------------- 
    229230   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
     
    16661667               p_tauj(ji,jj) = zztmp2 * ( frcv(jpr_ity1)%z3(ji  ,jj+1,1) + frcv(jpr_ity1)%z3(ji,jj,1) ) 
    16671668            END_2D 
    1668             CALL lbc_lnk_multi( 'sbccpl', p_taui, 'U',  -1., p_tauj, 'V',  -1. ) 
     1669            CALL lbc_lnk_multi( 'sbccpl', p_taui, 'U',  -1._wp, p_tauj, 'V',  -1._wp ) 
    16691670         END SELECT 
    16701671 
     
    22782279            ztmp1(:,:) = ts(:,:,1,jp_tem,Kmm)   ! send temperature as it is (potential or conservative) -> use of l_useCT on the received part 
    22792280         ELSE 
    2280             ! we must send the surface potential temperature 
    2281             IF( l_useCT )  THEN    ;   ztmp1(:,:) = eos_pt_from_ct( ts(:,:,1,jp_tem,Kmm), ts(:,:,1,jp_sal,Kmm) ) 
     2281            ! we must send the surface potential temperature  
     2282            IF( l_useCT )  THEN    ;   ztmp1(:,:) = eos_pt_from_ct( CASTWP(ts(:,:,1,jp_tem,Kmm)),CASTWP(ts(:,:,1,jp_sal,Kmm)) ) 
    22822283            ELSE                   ;   ztmp1(:,:) = ts(:,:,1,jp_tem,Kmm) 
    22832284            ENDIF 
     
    27132714      !                                                        ! SSS 
    27142715      IF( ssnd(jps_soce  )%laction )  THEN 
    2715          CALL cpl_snd( jps_soce  , isec, RESHAPE ( ts(:,:,1,jp_sal,Kmm), (/jpi,jpj,1/) ), info ) 
     2716         CALL cpl_snd( jps_soce  , isec, RESHAPE ( CASTWP(ts(:,:,1,jp_sal,Kmm)), (/jpi,jpj,1/) ), info ) 
    27162717      ENDIF 
    27172718      !                                                        ! first T level thickness 
    27182719      IF( ssnd(jps_e3t1st )%laction )  THEN 
    2719          CALL cpl_snd( jps_e3t1st, isec, RESHAPE ( e3t(:,:,1,Kmm)   , (/jpi,jpj,1/) ), info ) 
     2720         CALL cpl_snd( jps_e3t1st, isec, RESHAPE ( CASTWP(e3t(:,:,1,Kmm))   , (/jpi,jpj,1/) ), info ) 
    27202721      ENDIF 
    27212722      !                                                        ! Qsr fraction 
     
    27402741      !                                                      ! ------------------------- ! 
    27412742      ! needed by Met Office 
    2742       CALL eos_fzp(ts(:,:,1,jp_sal,Kmm), sstfrz) 
     2743      CALL eos_fzp(CASTWP(ts(:,:,1,jp_sal,Kmm)), sstfrz) 
    27432744      ztmp1(:,:) = sstfrz(:,:) + rt0 
    27442745      IF( ssnd(jps_sstfrz)%laction )  CALL cpl_snd( jps_sstfrz, isec, RESHAPE ( ztmp1, (/jpi,jpj,1/) ), info) 
Note: See TracChangeset for help on using the changeset viewer.