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 15540 for NEMO/branches/2021/dev_r14116_HPC-10_mcastril_Mixed_Precision_implementation/src/OCE/SBC/sbcssm.F90 – NEMO

Ignore:
Timestamp:
2021-11-26T12:27:56+01:00 (3 years ago)
Author:
sparonuz
Message:

Mixed precision version, tested up to 30 years on ORCA2.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2021/dev_r14116_HPC-10_mcastril_Mixed_Precision_implementation/src/OCE/SBC/sbcssm.F90

    r14219 r15540  
    7070         ssu_m(:,:) = uu(:,:,1,Kbb) 
    7171         ssv_m(:,:) = vv(:,:,1,Kbb) 
    72          IF( l_useCT )  THEN    ;   sst_m(:,:) = eos_pt_from_ct( zts(:,:,jp_tem), zts(:,:,jp_sal) ) 
     72         IF( l_useCT )  THEN    ;   sst_m(:,:) =eos_pt_from_ct( CASTDP(zts(:,:,jp_tem)), CASTDP(zts(:,:,jp_sal)) ) 
    7373         ELSE                   ;   sst_m(:,:) = zts(:,:,jp_tem) 
    7474         ENDIF 
     
    9393            ssu_m(:,:) = zcoef * uu(:,:,1,Kbb) 
    9494            ssv_m(:,:) = zcoef * vv(:,:,1,Kbb) 
    95             IF( l_useCT )  THEN    ;   sst_m(:,:) = zcoef * eos_pt_from_ct( zts(:,:,jp_tem), zts(:,:,jp_sal) ) 
     95            IF( l_useCT )  THEN    ;   sst_m(:,:) =zcoef * eos_pt_from_ct( CASTDP(zts(:,:,jp_tem)), CASTDP(zts(:,:,jp_sal)) ) 
    9696            ELSE                    ;   sst_m(:,:) = zcoef * zts(:,:,jp_tem) 
    9797            ENDIF 
     
    121121         ssu_m(:,:) = ssu_m(:,:) + uu(:,:,1,Kbb) 
    122122         ssv_m(:,:) = ssv_m(:,:) + vv(:,:,1,Kbb) 
    123          IF( l_useCT )  THEN     ;   sst_m(:,:) = sst_m(:,:) + eos_pt_from_ct( zts(:,:,jp_tem), zts(:,:,jp_sal) ) 
     123         IF( l_useCT )  THEN     ;   sst_m(:,:) =sst_m(:,:) + eos_pt_from_ct( CASTDP(zts(:,:,jp_tem)), CASTDP(zts(:,:,jp_sal)) ) 
    124124         ELSE                    ;   sst_m(:,:) = sst_m(:,:) + zts(:,:,jp_tem) 
    125125         ENDIF 
     
    190190      !!---------------------------------------------------------------------- 
    191191      INTEGER, INTENT(in) ::   Kbb, Kmm   ! ocean time level indices 
    192       REAL(wp) ::   zcoef, zf_sbc   ! local scalar 
     192      REAL(wp)  :: zcoef! local scalar 
     193      REAL(dp)  :: zf_sbc! local scalar 
    193194      !!---------------------------------------------------------------------- 
    194195      ! 
     
    242243         ssu_m(:,:) = uu(:,:,1,Kbb) 
    243244         ssv_m(:,:) = vv(:,:,1,Kbb) 
    244          IF( l_useCT )  THEN    ;   sst_m(:,:) = eos_pt_from_ct( CASTWP(ts(:,:,1,jp_tem,Kmm)), CASTWP(ts(:,:,1,jp_sal,Kmm)) ) 
     245         IF( l_useCT )  THEN    ;   sst_m(:,:) = eos_pt_from_ct( ts(:,:,1,jp_tem,Kmm), ts(:,:,1,jp_sal,Kmm) ) 
    245246         ELSE                   ;   sst_m(:,:) = ts(:,:,1,jp_tem,Kmm) 
    246247         ENDIF 
Note: See TracChangeset for help on using the changeset viewer.