Changeset 14273 for NEMO/trunk/tests/BENCH
- Timestamp:
- 2021-01-06T11:57:45+01:00 (3 years ago)
- Location:
- NEMO/trunk/tests/BENCH/MY_SRC
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/tests/BENCH/MY_SRC/usrdef_istate.F90
r14223 r14273 72 72 zfact = REAL(jk-1,wp) / REAL(jpk-1,wp) ! 0 to 1 to add a basic stratification 73 73 ! temperature choosen to lead to ~50% ice at the beginning if rn_thres_sst = 0.5 74 pts( :,:,jk,jp_tem) = 20._wp*z2d(:,:) - 1._wp - 0.5_wp * zfact ! -1 to -1.5 +/- 1.0 degG74 pts(ji,jj,jk,jp_tem) = 20._wp*z2d(ji,jj) - 1._wp - 0.5_wp * zfact ! -1 to -1.5 +/- 1.0 degG 75 75 ! salinity: 76 pts( :,:,jk,jp_sal) = 30._wp + 1._wp * zfact + z2d(:,:) ! 30 to 31 +/- 0.05 psu76 pts(ji,jj,jk,jp_sal) = 30._wp + 1._wp * zfact + z2d(ji,jj) ! 30 to 31 +/- 0.05 psu 77 77 ! velocities: 78 pu( :,:,jk) = z2d(:,:) * 0.1_wp * umask(:,:,jk)! +/- 0.005 m/s79 pv( :,:,jk) = z2d(:,:) * 0.01_wp * vmask(:,:,jk)! +/- 0.0005 m/s78 pu(ji,jj,jk) = z2d(ji,jj) * 0.1_wp * umask(ji,jj,jk) ! +/- 0.005 m/s 79 pv(ji,jj,jk) = z2d(ji,jj) * 0.01_wp * vmask(ji,jj,jk) ! +/- 0.0005 m/s 80 80 END_3D 81 81 pts(:,:,jpk,:) = 0._wp -
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.