Changeset 5275
- Timestamp:
- 2015-05-15T16:05:39+02:00 (10 years ago)
- Location:
- branches/UKMO/2014_Surge_Modelling/NEMOGCM
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/2014_Surge_Modelling/NEMOGCM/CONFIG/AMM7_SURGE/EXP00/iodef.xml
r4858 r5275 165 165 <variable id="buffer_server_factor_size" type="integer">2</variable> 166 166 <variable id="info_level" type="integer">0</variable> 167 <variable id="using_server" type="boolean"> false</variable>167 <variable id="using_server" type="boolean">true</variable> 168 168 <variable id="using_oasis" type="boolean">false</variable> 169 169 <variable id="oasis_codes_id" type="string" >oceanx</variable> -
branches/UKMO/2014_Surge_Modelling/NEMOGCM/CONFIG/AMM7_SURGE/EXP00/namelist_cfg
r4860 r5275 131 131 ln_taudif = .false. ! HF tau contribution: use "mean of stress module - module of the mean stress" data 132 132 rn_pfac = 1. ! multiplicative factor for precipitation (total & snow) 133 ln_charnock = .true. ! logical flag for charnock wind stress in surge model(true) or not(false) 133 134 / 134 135 !----------------------------------------------------------------------- -
branches/UKMO/2014_Surge_Modelling/NEMOGCM/CONFIG/AMM7_SURGE/EXP00/namelist_ref
r4858 r5275 305 305 rn_vfac = 0. ! multiplicative factor for ocean/ice velocity 306 306 ! in the calculation of the wind stress (0.=absolute winds or 1.=relative winds) 307 ln_charnock = .false. ! logical flag for charnock wind stress in surge model(true) or not(false) 307 308 / 308 309 !----------------------------------------------------------------------- -
branches/UKMO/2014_Surge_Modelling/NEMOGCM/CONFIG/cfg.txt
r4858 r5275 12 12 AMM12 OPA_SRC 13 13 AMM7_SURGE OPA_SRC 14 AMM7 OPA_SRC -
branches/UKMO/2014_Surge_Modelling/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90
r4708 r5275 83 83 REAL(wp) :: rn_zqt ! z(q,t) : height of humidity and temperature measurements 84 84 REAL(wp) :: rn_zu ! z(u) : height of wind measurements 85 LOGICAL :: ln_charnock ! logical flag for charnock wind stress in surge model(true) or not(false) 85 86 86 87 !! * Substitutions … … 139 140 & sn_wndi, sn_wndj, sn_humi , sn_qsr , & 140 141 & sn_qlw , sn_tair, sn_prec , sn_snow, & 141 & sn_tdif, rn_zqt , ln_bulk2z, rn_zu 142 & sn_tdif, rn_zqt , ln_bulk2z, rn_zu, ln_charnock 142 143 !!--------------------------------------------------------------------- 143 144 … … 239 240 INTEGER :: ji, jj ! dummy loop indices 240 241 REAL(wp) :: zcoef_qsatw, zztmp ! local variable 242 REAL(wp) :: z_z0, z_Cd1 ! local variable 243 REAL(wp) :: i ! local variable 244 REAL(wp) :: charn_const=0.0275 ! local variable 241 245 REAL(wp), DIMENSION(:,:), POINTER :: zwnd_i, zwnd_j ! wind speed components at T-point 242 246 REAL(wp), DIMENSION(:,:), POINTER :: zqsatw ! specific humidity at pst … … 300 304 ! I Radiative FLUXES ! 301 305 ! ----------------------------------------------------------------------------- ! 302 306 303 307 ! ocean albedo assumed to be constant + modify now Qsr to include the diurnal cycle ! Short Wave 304 308 zztmp = 1. - albo … … 316 320 ! II Turbulent FLUXES ! 317 321 ! ----------------------------------------------------------------------------- ! 318 319 ! ... specific humidity at SST and IST 322 IF (ln_charnock) THEN 323 Cd(:,:)=0.0001_wp 324 DO jj = 1,jpj 325 DO ji = 1,jpi 326 z_Cd1=0._wp 327 i=1 328 !Iterate 329 DO WHILE((abs(Cd(ji,jj)-z_Cd1))>1E-6) 330 z_Cd1=Cd(ji,jj) 331 z_z0=charn_const*z_Cd1*wndm(ji,jj)**2/grav 332 Cd(ji,jj)=(0.41_wp/log(10._wp/z_z0))**2 333 i=i+1 334 ENDDO 335 ENDDO 336 ENDDO 337 ELSE 338 339 ! ... specific humidity at SST and IST 320 340 !CDIR NOVERRCHK 321 341 !CDIR COLLAPSE 322 zqsatw(:,:) = zcoef_qsatw * EXP( -5107.4 / zst(:,:) )323 324 ! ... NCAR Bulk formulae, computation of Cd, Ch, Ce at T-point :325 IF( ln_2m ) THEN326 !! If air temp. and spec. hum. are given at different height (2m) than wind (10m) :327 CALL TURB_CORE_2Z(2.,10., zst , sf(jp_tair)%fnow, &328 & zqsatw, sf(jp_humi)%fnow, wndm, &329 & Cd , Ch , Ce , &330 & zt_zu , zq_zu )331 ELSE IF( ln_bulk2z ) THEN332 !! If the height of the air temp./spec. hum. and wind are to be specified by hand :333 IF( rn_zqt == rn_zu ) THEN334 !! If air temp. and spec. hum. are at the same height as wind :335 CALL TURB_CORE_1Z( rn_zu, zst , sf(jp_tair)%fnow(:,:,1), &336 & zqsatw, sf(jp_humi)%fnow(:,:,1), wndm, &337 & Cd , Ch , Ce )338 ELSE339 !! If air temp. and spec. hum. are at a different height to wind :340 CALL TURB_CORE_2Z(rn_zqt, rn_zu , zst , sf(jp_tair)%fnow, &341 & zqsatw, sf(jp_humi)%fnow, wndm, &342 & Cd , Ch , Ce , &343 & zt_zu , zq_zu )344 ENDIF345 ELSE346 !! If air temp. and spec. hum. are given at same height than wind (10m) :342 zqsatw(:,:) = zcoef_qsatw * EXP( -5107.4 / zst(:,:) ) 343 344 ! ... NCAR Bulk formulae, computation of Cd, Ch, Ce at T-point : 345 IF( ln_2m ) THEN 346 !! If air temp. and spec. hum. are given at different height (2m) than wind (10m) : 347 CALL TURB_CORE_2Z(2.,10., zst , sf(jp_tair)%fnow, & 348 & zqsatw, sf(jp_humi)%fnow, wndm, & 349 & Cd , Ch , Ce , & 350 & zt_zu , zq_zu ) 351 ELSE IF( ln_bulk2z ) THEN 352 !! If the height of the air temp./spec. hum. and wind are to be specified by hand : 353 IF( rn_zqt == rn_zu ) THEN 354 !! If air temp. and spec. hum. are at the same height as wind : 355 CALL TURB_CORE_1Z( rn_zu, zst , sf(jp_tair)%fnow(:,:,1), & 356 & zqsatw, sf(jp_humi)%fnow(:,:,1), wndm, & 357 & Cd , Ch , Ce ) 358 ELSE 359 !! If air temp. and spec. hum. are at a different height to wind : 360 CALL TURB_CORE_2Z(rn_zqt, rn_zu , zst , sf(jp_tair)%fnow, & 361 & zqsatw, sf(jp_humi)%fnow, wndm, & 362 & Cd , Ch , Ce , & 363 & zt_zu , zq_zu ) 364 ENDIF 365 ELSE 366 !! If air temp. and spec. hum. are given at same height than wind (10m) : 347 367 !gm bug? at the compiling phase, add a copy in temporary arrays... ==> check perf 348 ! CALL TURB_CORE_1Z( 10., zst (:,:), sf(jp_tair)%fnow(:,:), &349 ! & zqsatw(:,:), sf(jp_humi)%fnow(:,:), wndm(:,:), &350 ! & Cd (:,:), Ch (:,:), Ce (:,:) )368 ! CALL TURB_CORE_1Z( 10., zst (:,:), sf(jp_tair)%fnow(:,:), & 369 ! & zqsatw(:,:), sf(jp_humi)%fnow(:,:), wndm(:,:), & 370 ! & Cd (:,:), Ch (:,:), Ce (:,:) ) 351 371 !gm bug 352 372 ! ARPDBG - this won't compile with gfortran. Fix but check performance 353 373 ! as per comment above. 354 CALL TURB_CORE_1Z( 10., zst , sf(jp_tair)%fnow(:,:,1), & 355 & zqsatw, sf(jp_humi)%fnow(:,:,1), wndm, & 356 & Cd , Ch , Ce ) 374 CALL TURB_CORE_1Z( 10., zst , sf(jp_tair)%fnow(:,:,1), & 375 & zqsatw, sf(jp_humi)%fnow(:,:,1), wndm, & 376 & Cd , Ch , Ce ) 377 ENDIF 378 357 379 ENDIF 358 380
Note: See TracChangeset
for help on using the changeset viewer.