Changeset 8778
- Timestamp:
- 2017-11-22T10:25:10+01:00 (6 years ago)
- Location:
- branches/UKMO/dev_r5518_flux_correction/NEMOGCM
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_flux_correction/NEMOGCM/CONFIG/SHARED/field_def.xml
r5517 r8778 201 201 202 202 <!-- *_oce variables available with ln_blk_clio or ln_blk_core --> 203 <field id="qcorr_oce" long_name="Correction to Downward Heat Flux over open ocean" standard_name="surface_net_downward_longwave_flux" unit="W/m2" /> 203 204 <field id="qlw_oce" long_name="Longwave Downward Heat Flux over open ocean" standard_name="surface_net_downward_longwave_flux" unit="W/m2" /> 204 205 <field id="qsb_oce" long_name="Sensible Downward Heat Flux over open ocean" standard_name="surface_downward_sensible_heat_flux" unit="W/m2" /> -
branches/UKMO/dev_r5518_flux_correction/NEMOGCM/CONFIG/SHARED/namelist_ref
r5501 r8778 327 327 sn_snow = 'ncar_precip.15JUNE2009_fill' , -1 , 'SNOW' , .false. , .true. , 'yearly' , 'weights_core_orca2_bilinear_noc.nc' , '' , '' 328 328 sn_tdif = 'taudif_core' , 24 , 'taudif' , .false. , .true. , 'yearly' , 'weights_core_orca2_bilinear_noc.nc' , '' , '' 329 sn_htcorr = 'heat_flux_correction' , -1 , 'htcorr' , .true. , .true. , 'yearly' , 'weights_core_orca2_bilinear_noc.nc' , '' , '' 329 330 330 331 cn_dir = './' ! root directory for the location of the bulk files 332 ln_htcorr = .false. ! use correction climatology for heat flux into ocean (downward long wave) 331 333 ln_taudif = .false. ! HF tau contribution: use "mean of stress module - module of the mean stress" data 332 334 rn_zqt = 10. ! Air temperature and humidity reference height (m) -
branches/UKMO/dev_r5518_flux_correction/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90
r8702 r8778 62 62 PUBLIC turb_core_2z ! routine calles in sbcblk_mfs module 63 63 64 INTEGER , PARAMETER :: jpfld = 9! maximum number of files to read64 INTEGER , PARAMETER :: jpfld = 10 ! maximum number of files to read 65 65 INTEGER , PARAMETER :: jp_wndi = 1 ! index of 10m wind velocity (i-component) (m/s) at T-point 66 66 INTEGER , PARAMETER :: jp_wndj = 2 ! index of 10m wind velocity (j-component) (m/s) at T-point … … 71 71 INTEGER , PARAMETER :: jp_prec = 7 ! index of total precipitation (rain+snow) (Kg/m2/s) 72 72 INTEGER , PARAMETER :: jp_snow = 8 ! index of snow (solid prcipitation) (kg/m2/s) 73 INTEGER , PARAMETER :: jp_tdif = 9 ! index of tau diff associated to HF tau (N/m2) at T-point 73 INTEGER , PARAMETER :: jp_htcorr = 9 ! bias correction for heat flux to ocean (W/m2) 74 INTEGER , PARAMETER :: jp_tdif = 10 ! index of tau diff associated to HF tau (N/m2) at T-point 74 75 75 76 TYPE(FLD), ALLOCATABLE, DIMENSION(:) :: sf ! structure of input fields (file informations, fields read) … … 85 86 86 87 ! !!* Namelist namsbc_core : CORE bulk parameters 88 LOGICAL :: ln_htcorr ! logical flag to apply heat flux correction to downward longwave 87 89 LOGICAL :: ln_taudif ! logical flag to use the "mean of stress module - module of mean stress" data 88 90 REAL(wp) :: rn_pfac ! multiplication factor for precipitation … … 147 149 TYPE(FLD_N) :: sn_wndi, sn_wndj, sn_humi, sn_qsr ! informations about the fields to be read 148 150 TYPE(FLD_N) :: sn_qlw , sn_tair, sn_prec, sn_snow ! " " 149 TYPE(FLD_N) :: sn_ tdif! " "150 NAMELIST/namsbc_core/ cn_dir , ln_ taudif, rn_pfac, rn_efac, rn_vfac, &151 TYPE(FLD_N) :: sn_htcorr, sn_tdif ! " " 152 NAMELIST/namsbc_core/ cn_dir , ln_htcorr, ln_taudif, rn_pfac, rn_efac, rn_vfac, & 151 153 & sn_wndi, sn_wndj, sn_humi , sn_qsr , & 152 154 & sn_qlw , sn_tair, sn_prec , sn_snow, & 153 & sn_ tdif, rn_zqt, rn_zu155 & sn_htcorr, sn_tdif, rn_zqt, rn_zu 154 156 !!--------------------------------------------------------------------- 155 157 ! … … 180 182 slf_i(jp_tair) = sn_tair ; slf_i(jp_humi) = sn_humi 181 183 slf_i(jp_prec) = sn_prec ; slf_i(jp_snow) = sn_snow 182 slf_i(jp_tdif) = sn_tdif 183 ! 184 slf_i(jp_htcorr) = sn_htcorr ; slf_i(jp_tdif) = sn_tdif 185 ! 186 jfld = jpfld - COUNT( (/.NOT. ln_htcorr/) ) 184 187 lhftau = ln_taudif ! do we use HF tau information? 185 188 jfld = jpfld - COUNT( (/.NOT. lhftau/) ) … … 250 253 REAL(wp), DIMENSION(:,:), POINTER :: zqsatw ! specific humidity at pst 251 254 REAL(wp), DIMENSION(:,:), POINTER :: zqlw, zqsb ! long wave and sensible heat fluxes 255 REAL(wp), DIMENSION(:,:), POINTER :: zqcorr ! bias correction to long wave flux 252 256 REAL(wp), DIMENSION(:,:), POINTER :: zqla, zevap ! latent heat fluxes and evaporation 253 257 REAL(wp), DIMENSION(:,:), POINTER :: Cd ! transfer coefficient for momentum (tau) … … 261 265 IF( nn_timing == 1 ) CALL timing_start('blk_oce_core') 262 266 ! 263 CALL wrk_alloc( jpi,jpj, zwnd_i, zwnd_j, zqsatw, zqlw, zq sb, zqla, zevap )267 CALL wrk_alloc( jpi,jpj, zwnd_i, zwnd_j, zqsatw, zqlw, zqcorr, zqsb, zqla, zevap ) 264 268 CALL wrk_alloc( jpi,jpj, Cd, Ch, Ce, zst, zt_zu, zq_zu ) 265 269 ! … … 308 312 309 313 zqlw(:,:) = ( sf(jp_qlw)%fnow(:,:,1) - Stef * zst(:,:)*zst(:,:)*zst(:,:)*zst(:,:) ) * tmask(:,:,1) ! Long Wave 314 IF( ln_htcorr ) THEN 315 ! bias correction 316 zqcorr(:,:) = sf(jp_htcorr)%fnow(:,:,1) 317 WHERE( fr_i(:,:) > 0 .and. fr_i(:,:) < 0.5 ) 318 zqcorr(:,:) = zqcorr(:,:) * ( 1.0 - 2.0 * fr_i(:,:) ) 319 ENDWHERE 320 WHERE( fr_i(:,:) >= 0.5 ) 321 zqcorr(:,:) = 0.0 322 ENDWHERE 323 zqlw(:,:) = ( zqlw(:,:) - zqcorr(:,:) ) * tmask(:,:,1) 324 ENDIF 325 310 326 ! ----------------------------------------------------------------------------- ! 311 327 ! II Turbulent FLUXES ! … … 395 411 #endif 396 412 ! 397 IF ( nn_ice == 0 ) THEN 413 IF ( nn_ice == 0 .or. nn_ice == 4 ) THEN 414 IF(ln_htcorr) CALL iom_put( "qcorr_oce", zqcorr ) ! correction to downward longwave over the ocean 398 415 CALL iom_put( "qlw_oce" , zqlw ) ! output downward longwave heat over the ocean 399 416 CALL iom_put( "qsb_oce" , - zqsb ) ! output downward sensible heat over the ocean … … 413 430 ENDIF 414 431 ! 415 CALL wrk_dealloc( jpi,jpj, zwnd_i, zwnd_j, zqsatw, zqlw, zq sb, zqla, zevap )432 CALL wrk_dealloc( jpi,jpj, zwnd_i, zwnd_j, zqsatw, zqlw, zqcorr, zqsb, zqla, zevap ) 416 433 CALL wrk_dealloc( jpi,jpj, Cd, Ch, Ce, zst, zt_zu, zq_zu ) 417 434 !
Note: See TracChangeset
for help on using the changeset viewer.