Changeset 10190
- Timestamp:
- 2018-10-12T14:50:10+02:00 (5 years ago)
- Location:
- NEMO/trunk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/trunk/cfgs/ORCA2_ICE_PISCES/EXPREF/namelist_cfg
r10075 r10190 88 88 nn_fwb = 2 ! FreshWater Budget: 89 89 ! ! =2 annual global mean of e-p-r set to zero 90 ln_wave = .false. ! Activate coupling with wave (T => fill namsbc_wave) 91 ln_cdgw = .false. ! Neutral drag coefficient read from wave model (T => ln_wave=.true. & fill namsbc_wave) 92 ln_sdw = .false. ! Read 2D Surf Stokes Drift & Computation of 3D stokes drift (T => ln_wave=.true. & fill namsbc_wave) 93 nn_sdrift = 0 ! Parameterization for the calculation of 3D-Stokes drift from the surface Stokes drift 94 ! ! = 0 Breivik 2015 parameterization: v_z=v_0*[exp(2*k*z)/(1-8*k*z)] 95 ! ! = 1 Phillips: v_z=v_o*[exp(2*k*z)-beta*sqrt(-2*k*pi*z)*erfc(sqrt(-2*k*z))] 96 ! ! = 2 Phillips as (1) but using the wave frequency from a wave model 97 ln_tauwoc = .false. ! Activate ocean stress modified by external wave induced stress (T => ln_wave=.true. & fill namsbc_wave) 98 ln_tauw = .false. ! Activate ocean stress components from wave model 99 ln_stcor = .false. ! Activate Stokes Coriolis term (T => ln_wave=.true. & ln_sdw=.true. & fill namsbc_wave) 90 100 / 91 101 !----------------------------------------------------------------------- … … 151 161 / 152 162 !----------------------------------------------------------------------- 163 &namsbc_wave ! External fields from wave model (ln_wave=T) 164 !----------------------------------------------------------------------- 165 / 166 !----------------------------------------------------------------------- 153 167 &namberg ! iceberg parameters (default: OFF) 154 168 !----------------------------------------------------------------------- -
NEMO/trunk/cfgs/SHARED/namelist_ref
r10075 r10190 481 481 ! ! file name ! frequency (hours) ! variable ! time interp.! clim ! 'yearly'/ ! weights filename ! rotation ! land/sea mask ! 482 482 ! ! ! (if <0 months) ! name ! (logical) ! (T/F) ! 'monthly' ! ! pairing ! filename ! 483 sn_cdg = 'sdw_ wave' , 1 , 'drag_coeff' , .true. , .false., 'daily' , '', '' , ''484 sn_usd = 'sdw_ wave' , 1 , 'u_sd2d' , .true. , .false., 'daily' , '', '' , ''485 sn_vsd = 'sdw_ wave' , 1 , 'v_sd2d' , .true. , .false., 'daily' , '', '' , ''486 sn_hsw = 'sdw_ wave' , 1 , 'hs' , .true. , .false., 'daily' , '', '' , ''487 sn_wmp = 'sdw_ wave' , 1 , 'wmp' , .true. , .false., 'daily' , '', '' , ''488 sn_wfr = 'sdw_ wave' , 1 , 'wfr' , .true. , .false., 'daily' , '', '' , ''489 sn_wnum = 'sdw_ wave' , 1 , 'wave_num' , .true. , .false., 'daily' , '', '' , ''490 sn_tauwoc = 'sdw_ wave' , 1 , 'wave_stress', .true. , .false., 'daily' , '', '' , ''491 sn_tauwx = 'sdw_ wave' , 1 , 'wave_stress', .true. , .false., 'daily' , '', '' , ''492 sn_tauwy = 'sdw_ wave' , 1 , 'wave_stress', .true. , .false., 'daily' , '', '' , ''483 sn_cdg = 'sdw_ecwaves_orca2' , 6 , 'drag_coeff' , .true. , .true. , 'yearly' , '' , '' , '' 484 sn_usd = 'sdw_ecwaves_orca2' , 6 , 'u_sd2d' , .true. , .true. , 'yearly' , '' , '' , '' 485 sn_vsd = 'sdw_ecwaves_orca2' , 6 , 'v_sd2d' , .true. , .true. , 'yearly' , '' , '' , '' 486 sn_hsw = 'sdw_ecwaves_orca2' , 6 , 'hs' , .true. , .true. , 'yearly' , '' , '' , '' 487 sn_wmp = 'sdw_ecwaves_orca2' , 6 , 'wmp' , .true. , .true. , 'yearly' , '' , '' , '' 488 sn_wfr = 'sdw_ecwaves_orca2' , 6 , 'wfr' , .true. , .true. , 'yearly' , '' , '' , '' 489 sn_wnum = 'sdw_ecwaves_orca2' , 6 , 'wave_num' , .true. , .true. , 'yearly' , '' , '' , '' 490 sn_tauwoc = 'sdw_ecwaves_orca2' , 6 , 'wave_stress', .true. , .true. , 'yearly' , '' , '' , '' 491 sn_tauwx = 'sdw_ecwaves_orca2' , 6 , 'wave_stress', .true. , .true. , 'yearly' , '' , '' , '' 492 sn_tauwy = 'sdw_ecwaves_orca2' , 6 , 'wave_stress', .true. , .true. , 'yearly' , '' , '' , '' 493 493 / 494 494 !----------------------------------------------------------------------- -
NEMO/trunk/src/OCE/SBC/sbcblk.F90
r10069 r10190 239 239 !drag coefficient read from wave model definable only with mfs bulk formulae and core 240 240 ELSEIF (ln_cdgw .AND. .NOT. ln_NCAR ) THEN 241 CALL ctl_stop( 'drag coefficient read from wave model definable only with mfs bulk formulae and core')241 CALL ctl_stop( 'drag coefficient read from wave model definable only with NCAR and CORE bulk formulae') 242 242 ELSEIF (ln_stcor .AND. .NOT. ln_sdw) THEN 243 243 CALL ctl_stop( 'Stokes-Coriolis term calculated only if activated Stokes Drift ln_sdw=T') -
NEMO/trunk/src/OCE/SBC/sbcblk_algo_ncar.F90
r10069 r10190 149 149 Ch = 1.e-3*sqrt_Cd_n10*(18.*stab + 32.7*(1. - stab)) 150 150 stab = sqrt_Cd_n10 ! Temporaty array !!! stab == SQRT(Cd) 151 152 IF( ln_cdgw ) Cen = Ce ; Chn = Ch 151 153 152 154 !! Initializing values at z_u with z_t values: … … 186 188 IF( ln_cdgw ) THEN ! surface wave case 187 189 stab = vkarmn / ( vkarmn / sqrt_Cd_n10 - ztmp2 ) ! (stab == SQRT(Cd)) 188 Cd = stab * stab 190 Cd = stab * stab 191 ztmp0 = (LOG(zu/10.) - zpsi_h_u) / vkarmn / sqrt_Cd_n10 192 ztmp2 = stab / sqrt_Cd_n10 ! (stab == SQRT(Cd)) 193 ztmp1 = 1. + Chn * ztmp0 194 Ch = Chn * ztmp2 / ztmp1 ! L&Y 2004 eq. (10b) 195 ztmp1 = 1. + Cen * ztmp0 196 Ce = Cen * ztmp2 / ztmp1 ! L&Y 2004 eq. (10c) 197 189 198 ELSE 190 199 ! Update neutral wind speed at 10m and neutral Cd at 10m (L&Y 2004 eq. 9a)... … … 205 214 Cd = ztmp0 / ( ztmp1*ztmp1 ) 206 215 stab = SQRT( Cd ) ! Temporary array !!! (stab == SQRT(Cd)) 207 ENDIF 208 209 ztmp0 = (LOG(zu/10.) - zpsi_h_u) / vkarmn / sqrt_Cd_n10210 ztmp2 = stab / sqrt_Cd_n10 ! (stab == SQRT(Cd))211 ztmp1 = 1. + Cx_n10*ztmp0 ! (Cx_n10 == Ch_n10)212 Ch = Cx_n10*ztmp2 / ztmp1 ! L&Y 2004 eq. (10b) 213 214 Cx_n10 = 1.e-3 * (34.6 * sqrt_Cd_n10) ! L&Y 2004 eq. (6b) ! Cx_n10 == Ce_n10215 Cen(:,:) = Cx_n10216 ztmp1 = 1. + Cx_n10*ztmp0217 Ce = Cx_n10*ztmp2 / ztmp1 ! L&Y 2004 eq. (10c)216 217 ztmp0 = (LOG(zu/10.) - zpsi_h_u) / vkarmn / sqrt_Cd_n10 218 ztmp2 = stab / sqrt_Cd_n10 ! (stab == SQRT(Cd)) 219 ztmp1 = 1. + Cx_n10*ztmp0 ! (Cx_n10 == Ch_n10) 220 Ch = Cx_n10*ztmp2 / ztmp1 ! L&Y 2004 eq. (10b) 221 222 Cx_n10 = 1.e-3 * (34.6 * sqrt_Cd_n10) ! L&Y 2004 eq. (6b) ! Cx_n10 == Ce_n10 223 Cen(:,:) = Cx_n10 224 ztmp1 = 1. + Cx_n10*ztmp0 225 Ce = Cx_n10*ztmp2 / ztmp1 ! L&Y 2004 eq. (10c) 226 ENDIF 218 227 ! 219 228 END DO -
NEMO/trunk/src/OCE/SBC/sbcmod.F90
r10068 r10190 157 157 WRITE(numout,*) ' wave modified ocean stress component ln_tauw = ', ln_tauw 158 158 WRITE(numout,*) ' Stokes coriolis term ln_stcor = ', ln_stcor 159 WRITE(numout,*) ' neutral drag coefficient (CORE, MFS) ln_cdgw = ', ln_cdgw 160 ENDIF 161 ! 159 WRITE(numout,*) ' neutral drag coefficient (CORE,NCAR) ln_cdgw = ', ln_cdgw 160 ENDIF 161 ! 162 IF( .NOT.ln_wave ) THEN 163 ln_sdw = .false. ; ln_cdgw = .false. ; ln_tauwoc = .false. ; ln_tauw = .false. ; ln_stcor = .false. 164 ENDIF 162 165 IF( ln_sdw ) THEN 163 166 IF( .NOT.(nn_sdrift==jp_breivik_2014 .OR. nn_sdrift==jp_li_2017 .OR. nn_sdrift==jp_peakfr) ) &
Note: See TracChangeset
for help on using the changeset viewer.