- Timestamp:
- 2017-03-17T10:44:05+01:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/r6232_HZG_WAVE/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90
r5628 r7807 85 85 !!---------------------------------------------------------------------- 86 86 INTEGER :: icpt ! local integer 87 !! 87 !! V.Alari 26.06.2016 Added logicals for waves, deleted ln_wave ln_sdw, which came 88 !with UKMO 88 89 NAMELIST/namsbc/ nn_fsbc , ln_ana , ln_flx, ln_blk_clio, ln_blk_core, ln_mixcpl, & 89 90 & ln_blk_mfs, ln_apr_dyn, nn_ice, nn_ice_embd, ln_dm2dc , ln_rnf , & 90 & ln_ssr , nn_isf , nn_fwb, ln_cdgw , ln_wave , ln_sdw , & 91 & nn_lsm , nn_limflx , nn_components, ln_cpl 91 & ln_ssr , nn_isf , nn_fwb, & 92 & nn_lsm , nn_limflx , nn_components, ln_cpl,ln_stcor, ln_wavetke, & 93 & ln_tauoc, ln_cdgw 92 94 INTEGER :: ios 93 95 INTEGER :: ierr, ierr0, ierr1, ierr2, ierr3, jpm … … 120 122 nn_ice = 0 121 123 ENDIF 122 124 ! V.Alari added wave logicalc (26.06.2016) 123 125 IF(lwp) THEN ! Control print 124 126 WRITE(numout,*) ' Namelist namsbc (partly overwritten with CPP key setting)' … … 146 148 WRITE(numout,*) ' closed sea (=0/1) (set in namdom) nn_closea = ', nn_closea 147 149 WRITE(numout,*) ' n. of iterations if land-sea-mask applied nn_lsm = ', nn_lsm 148 ENDIF 150 WRITE(numout,*) ' Stokes-Coriolis forcing from wavemodel ln_stcor = ', ln_stcor 151 WRITE(numout,*) ' TKE wave breaking BC from wave model ln_wavetke = ', ln_wavetke 152 WRITE(numout,*) ' Wave-modified stress from wave model ln_tauoc = ', ln_tauoc 153 WRITE(numout,*) ' Drag coefficient from wave model ln_cdgw = ', ln_cdgw 154 155 156 ENDIF 149 157 150 158 ! LIM3 Multi-category heat flux formulation … … 179 187 180 188 ! ! Checks: 181 IF( nn_isf .EQ. 0 ) THEN ! variable initialisation if noice shelf189 IF( nn_isf .EQ. 0 ) THEN ! no specific treatment in vicinity of ice shelf 182 190 IF( sbc_isf_alloc() /= 0 ) CALL ctl_stop( 'STOP', 'sbc_init : unable to allocate sbc_isf arrays' ) 183 191 fwfisf (:,:) = 0.0_wp ; fwfisf_b (:,:) = 0.0_wp … … 214 222 IF( ln_dm2dc .AND. .NOT.( ln_flx .OR. ln_blk_core ) .AND. nn_components /= jp_iam_opa ) & 215 223 & CALL ctl_stop( 'diurnal cycle into qsr field from daily values requires a flux or core-bulk formulation' ) 216 217 IF ( ln_wave ) THEN 224 225 ! V.Alari comment out UKMO wave stuff 226 ! IF ( ln_wave ) THEN 218 227 !Activated wave module but neither drag nor stokes drift activated 219 IF ( .NOT.(ln_cdgw .OR. ln_sdw) ) THEN220 CALL ctl_warn( 'Ask for wave coupling but nor drag coefficient (ln_cdgw=F) neither stokes drift activated (ln_sdw=F)' )228 ! IF ( .NOT.(ln_cdgw .OR. ln_sdw) ) THEN 229 ! CALL ctl_warn( 'Ask for wave coupling but nor drag coefficient (ln_cdgw=F) neither stokes drift activated (ln_sdw=F)' ) 221 230 !drag coefficient read from wave model definable only with mfs bulk formulae and core 222 ELSEIF (ln_cdgw .AND. .NOT.(ln_blk_mfs .OR. ln_blk_core) ) THEN 223 CALL ctl_stop( 'drag coefficient read from wave model definable only with mfs bulk formulae and core') 224 ENDIF 225 ELSE 226 IF ( ln_cdgw .OR. ln_sdw ) & 227 & CALL ctl_stop('Not Activated Wave Module (ln_wave=F) but & 228 & asked coupling with drag coefficient (ln_cdgw =T) or Stokes drift (ln_sdw=T) ') 229 ENDIF 231 ! ELSEIF (ln_cdgw .AND. .NOT.(ln_blk_mfs .OR. ln_blk_core) ) THEN 232 ! CALL ctl_stop( 'drag coefficient read from wave model definable only with mfs bulk formulae and core') 233 ! ENDIF 234 ! ELSE 235 ! IF ( ln_cdgw .OR. ln_sdw ) & 236 ! & CALL ctl_stop('Not Activated Wave Module (ln_wave=F) but & 237 ! & asked coupling with drag coefficient (ln_cdgw =T) or Stokes drift (ln_sdw=T) ') 238 ! ENDIF 239 ! End V.Alari 230 240 ! ! Choice of the Surface Boudary Condition (set nsbc) 231 241 ll_purecpl = ln_cpl .AND. .NOT. ln_mixcpl … … 352 362 IF( nn_components /= jp_iam_sas ) CALL sbc_ssm( kt ) ! ocean sea surface variables (sst_m, sss_m, ssu_m, ssv_m) 353 363 ! ! averaged over nf_sbc time-step 354 355 IF (ln_wave) CALL sbc_wave( kt ) 364 ! START V.Alari 26.06.2016 365 IF (ln_cdgw) CALL sbc_wave( kt ) 366 ! Read wave parameters if Stokes-Coriolis forcing OR wave parameters for 367 ! TKE are needed 368 ! Also read it if drag coefficient to ensure that we use the neutral 10m 369 ! from WAM. 370 IF (ln_stcor .OR. ln_wavetke .OR. ln_tauoc) THEN 371 CALL sbc_wavepar( kt ) 372 ENDIF 373 374 ! END 375 376 ! IF (ln_wave) CALL sbc_wave( kt ) 356 377 !== sbc formulation ==! 357 378
Note: See TracChangeset
for help on using the changeset viewer.