Changeset 14273 for NEMO/trunk/tests/BENCH/MY_SRC/usrdef_sbc.F90
- Timestamp:
- 2021-01-06T11:57:45+01:00 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/tests/BENCH/MY_SRC/usrdef_sbc.F90
r14223 r14273 30 30 PRIVATE 31 31 32 PUBLIC usrdef_sbc_oce ! routine called in sbcmod module33 PUBLIC usrdef_sbc_ice_tau ! routine called by sbcice_lim.F90 for ice dynamics34 PUBLIC usrdef_sbc_ice_flx ! routine called by sbcice_lim.F90 for ice thermo32 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 35 35 36 36 !! * Substitutions … … 83 83 ! 84 84 ENDIF 85 86 85 ! 87 86 END SUBROUTINE usrdef_sbc_oce … … 97 96 INTEGER, INTENT(in) :: kt ! ocean time step 98 97 ! 99 REAL(wp) , DIMENSION(jpi,jpj) :: z2d ! 2D workspace98 REAL(wp) :: zztmp 100 99 INTEGER :: ji, jj 101 100 !!--------------------------------------------------------------------- … … 106 105 ! 107 106 DO_2D( 0, 0, 0, 0 ) 108 z2d(ji,jj) = 0.1 * ( 0.5 - REAL( mig0(ji) + (mjg0(jj)-1) * Ni0glo, wp ) / REAL( Ni0glo * Nj0glo, 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 109 110 END_2D 110 utau_ice(:,:) = 0.1_wp + z2d(:,:)111 vtau_ice(:,:) = 0.1_wp + z2d(:,:)112 111 113 112 CALL lbc_lnk_multi( 'usrdef_sbc', utau_ice, 'U', -1., vtau_ice, 'V', -1. ) … … 121 120 !! *** ROUTINE usrdef_sbc_ice_flx *** 122 121 !! 123 !! ** Purpose : provide the surface boundary (flux) condition over 124 !sea-ice 122 !! ** Purpose : provide the surface boundary (flux) condition over sea-ice 125 123 !!--------------------------------------------------------------------- 126 124 INTEGER, INTENT(in) :: kt ! ocean time step … … 130 128 REAL(wp), DIMENSION(jpi,jpj) :: zsnw ! snw distribution after wind blowing 131 129 !!--------------------------------------------------------------------- 130 #if defined key_si3 132 131 ! 133 #if defined key_si3134 132 IF( kt==nit000 .AND. lwp) WRITE(numout,*)' usrdef_sbc_ice : BENCH case: NO flux forcing' 135 133 ! … … 137 135 emp_oce (:,:) = 0._wp ! uniform value for freshwater budget (E-P) 138 136 qsr_oce (:,:) = 0._wp ! uniform value for solar radiation 139 qns_oce (:,:) = 0._wp ! uniform value for non-solar radiation137 qns_oce (:,:) = 0._wp ! uniform value for non-solar heat flux 140 138 141 139 ! ice variables 142 140 alb_ice (:,:,:) = 0.7_wp ! useless 143 141 qsr_ice (:,:,:) = 0._wp ! uniform value for solar radiation 144 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 145 144 sprecip (:,:) = 0._wp ! uniform value for snow precip 146 145 evap_ice(:,:,:) = 0._wp ! uniform value for sublimation … … 148 147 ! ice fields deduced from above 149 148 zsnw(:,:) = 1._wp 150 !!CALL lim_thd_snwblow( at_i_b, zsnw ) ! snow distribution over ice after 151 !wind blowing 149 !!CALL lim_thd_snwblow( at_i_b, zsnw ) ! snow distribution over ice after wind blowing 152 150 emp_ice (:,:) = SUM( a_i_b(:,:,:) * evap_ice(:,:,:), dim=3 ) - sprecip(:,:) * zsnw(:,:) 153 151 emp_oce (:,:) = emp_oce(:,:) - sprecip(:,:) * (1._wp - zsnw(:,:) ) … … 164 162 ! --- shortwave radiation transmitted thru the surface scattering layer (W/m2) --- ! 165 163 qtr_ice_top(:,:,:) = 0._wp 166 167 164 #endif 168 165
Note: See TracChangeset
for help on using the changeset viewer.