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/tests/BENCH/MY_SRC/usrdef_sbc.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/tests/BENCH/MY_SRC/usrdef_sbc.F90

    r13472 r14644  
    3030   PRIVATE 
    3131 
    32    PUBLIC   usrdef_sbc_oce      ! routine called in sbcmod module 
    33    PUBLIC   usrdef_sbc_ice_tau  ! routine called by sbcice_lim.F90 for ice dynamics 
    34    PUBLIC   usrdef_sbc_ice_flx  ! routine called by sbcice_lim.F90 for ice thermo 
     32   PUBLIC   usrdef_sbc_oce      ! routine called by sbcmod.F90 for sbc ocean 
     33   PUBLIC   usrdef_sbc_ice_tau  ! routine called by icestp.F90 for ice dynamics 
     34   PUBLIC   usrdef_sbc_ice_flx  ! routine called by icestp.F90 for ice thermo 
    3535 
    3636   !! * Substitutions 
     
    8383         ! 
    8484      ENDIF 
    85        
    8685      ! 
    8786   END SUBROUTINE usrdef_sbc_oce 
     
    9796      INTEGER, INTENT(in) ::   kt   ! ocean time step 
    9897      ! 
    99       REAL(wp), DIMENSION(jpi,jpj) ::   z2d   ! 2D workspace 
     98      REAL(wp) ::   zztmp 
    10099      INTEGER  ::   ji, jj 
    101       INTEGER  ::   igloi, igloj   ! to be removed in the future, see comment bellow 
    102100      !!--------------------------------------------------------------------- 
    103101#if defined key_si3 
     
    106104      ! define unique value on each point. z2d ranging from 0.05 to -0.05 
    107105      ! 
    108       ! WARNING: to keep compatibility with the trunk that was including periodocity into the input data,  
    109       ! we must define z2d as bellow. 
    110       ! Once we decide to forget trunk compatibility, we must simply define z2d as: 
    111 !!$      DO_2D( 0, 0, 0, 0 ) 
    112 !!$         z2d(ji,jj) = 0.1 * ( 0.5 - REAL( mig0_oldcmp(ji) + (mjg0_oldcmp(jj)-1) * Ni0glo, wp ) / REAL( Ni0glo * Nj0glo, wp ) ) 
    113 !!$      END_2D 
    114       igloi = Ni0glo + 2 * COUNT( (/ jperio == 1 .OR. jperio == 4 .OR. jperio == 6 .OR. jperio == 7 /) ) 
    115       igloj = Nj0glo + 2 * COUNT( (/ jperio == 2 .OR. jperio == 7 /) ) + 1 * COUNT( (/ jperio >= 4 .AND. jperio <= 6 /) ) 
    116106      DO_2D( 0, 0, 0, 0 ) 
    117          z2d(ji,jj) = 0.1 * ( 0.5 - REAL( mig0_oldcmp(ji) + (mjg0_oldcmp(jj)-1) * igloi, wp ) / REAL( igloi * igloj, wp ) ) 
     107         zztmp = 0.1 * ( 0.5 - REAL( mig0(ji) + (mjg0(jj)-1) * Ni0glo, wp ) / REAL( Ni0glo * Nj0glo, wp ) ) 
     108         utau_ice(ji,jj) = 0.1_wp + zztmp 
     109         vtau_ice(ji,jj) = 0.1_wp + zztmp 
    118110      END_2D 
    119       utau_ice(:,:) = 0.1_wp + z2d(:,:) 
    120       vtau_ice(:,:) = 0.1_wp + z2d(:,:) 
    121111 
    122       CALL lbc_lnk_multi( 'usrdef_sbc', utau_ice, 'U', -1., vtau_ice, 'V', -1. ) 
     112      CALL lbc_lnk( 'usrdef_sbc', utau_ice, 'U', -1., vtau_ice, 'V', -1. ) 
    123113#endif 
    124114      ! 
     
    130120      !!                     ***  ROUTINE usrdef_sbc_ice_flx  *** 
    131121      !! 
    132       !! ** Purpose :   provide the surface boundary (flux) condition over 
    133       !sea-ice 
     122      !! ** Purpose :   provide the surface boundary (flux) condition over sea-ice 
    134123      !!--------------------------------------------------------------------- 
    135124      INTEGER, INTENT(in) ::   kt   ! ocean time step 
     
    139128      REAL(wp), DIMENSION(jpi,jpj) ::   zsnw   ! snw distribution after wind blowing 
    140129      !!--------------------------------------------------------------------- 
     130#if defined key_si3 
    141131      ! 
    142 #if defined key_si3 
    143132      IF( kt==nit000 .AND. lwp)   WRITE(numout,*)' usrdef_sbc_ice : BENCH case: NO flux forcing' 
    144133      ! 
     
    146135      emp_oce (:,:)   = 0._wp   ! uniform value for freshwater budget (E-P) 
    147136      qsr_oce (:,:)   = 0._wp   ! uniform value for     solar radiation 
    148       qns_oce (:,:)   = 0._wp   ! uniform value for non-solar radiation 
     137      qns_oce (:,:)   = 0._wp   ! uniform value for non-solar heat flux 
    149138 
    150139      ! ice variables 
    151140      alb_ice (:,:,:) = 0.7_wp  ! useless 
    152141      qsr_ice (:,:,:) = 0._wp   ! uniform value for     solar radiation 
    153       qns_ice (:,:,:) = 0._wp   ! uniform value for non-solar radiation 
     142      qns_ice (:,:,:) = 0._wp   ! uniform value for non-solar heat flux 
     143      dqns_ice(:,:,:) = 0._wp   ! uniform value for non solar heat flux sensitivity for ice 
    154144      sprecip (:,:)   = 0._wp   ! uniform value for snow precip 
    155145      evap_ice(:,:,:) = 0._wp   ! uniform value for sublimation 
     
    157147      ! ice fields deduced from above 
    158148      zsnw(:,:) = 1._wp 
    159       !!CALL lim_thd_snwblow( at_i_b, zsnw )  ! snow distribution over ice after 
    160       !wind blowing  
     149      !!CALL lim_thd_snwblow( at_i_b, zsnw )  ! snow distribution over ice after wind blowing  
    161150      emp_ice  (:,:)   = SUM( a_i_b(:,:,:) * evap_ice(:,:,:), dim=3 ) - sprecip(:,:) * zsnw(:,:) 
    162151      emp_oce  (:,:)   = emp_oce(:,:) - sprecip(:,:) * (1._wp - zsnw(:,:) ) 
     
    173162      ! --- shortwave radiation transmitted thru the surface scattering layer (W/m2) --- ! 
    174163      qtr_ice_top(:,:,:) = 0._wp 
    175  
    176164#endif 
    177165 
Note: See TracChangeset for help on using the changeset viewer.