- Timestamp:
- 2019-04-26T13:51:00+02:00 (5 years ago)
- Location:
- branches/UKMO/dev_r5518_FOAMv14_output_heat_fluxes/NEMOGCM/NEMO/OPA_SRC/SBC
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_FOAMv14_output_heat_fluxes/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_oce.F90
r10879 r10900 108 108 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: qsb !: downward sensible heat flux over sea non solar [W/m2] 109 109 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: qla !: downward latent heat flux over sea non solar [W/m2] 110 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: qlasprecip !: latent melting heat for solid precip non solar [W/m2] 111 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: qevapsst !: evap heat content at SST non solar [W/m2] 112 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: qlprecip !: liquid precip heat content at Tair non solar [W/m2] 113 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: qsprecip !: solid precip heat content at min(Tait,Tsnow) non solar [W/m2] 110 114 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: qsr_tot !: total solar heat flux (over sea and ice) [W/m2] 111 115 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: qns_tot !: total non solar heat flux (over sea and ice) [W/m2] … … 192 196 ALLOCATE( qns_tot(jpi,jpj) , qns (jpi,jpj) , qns_b(jpi,jpj), & 193 197 & qlw (jpi,jpj) , qsb (jpi,jpj) , qla (jpi,jpj), & 198 & qlasprecip(jpi,jpj), qevapsst(jpi,jpj), & 199 & qlprecip(jpi,jpj), qsprecip(jpi,jpj), & 194 200 & qsr_tot(jpi,jpj) , qsr (jpi,jpj) , & 195 201 & emp (jpi,jpj) , emp_b(jpi,jpj) , & -
branches/UKMO/dev_r5518_FOAMv14_output_heat_fluxes/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90
r10879 r10900 392 392 & + sf(jp_snow)%fnow(:,:,1) * rn_pfac & ! add solid precip heat content at min(Tair,Tsnow) 393 393 & * ( MIN( sf(jp_tair)%fnow(:,:,1), rt0_snow ) - rt0 ) * cpic * tmask(:,:,1) 394 ! Compute and output the individual terms of non solar heat content 395 ! in order to check if qlw, qla, qsb are correctly evaluated 396 qlasprecip(:,:) = sf(jp_snow)%fnow(:,:,1) * rn_pfac * lfus ! latent melting heat for solid precip 397 qevapsst(:,:) = zevap(:,:) * pst(:,:) * rcp ! evap heat content at SST 398 qlprecip(:,:) = ( sf(jp_prec)%fnow(:,:,1) - sf(jp_snow)%fnow(:,:,1) ) * rn_pfac & ! liquid precip heat content at Tair 399 & * ( sf(jp_tair)%fnow(:,:,1) - rt0 ) * rcp 400 qsprecip(:,:) = sf(jp_snow)%fnow(:,:,1) * rn_pfac & ! solid precip heat content at min(Tair,Tsnow) 401 & * ( MIN( sf(jp_tair)%fnow(:,:,1), rt0_snow ) - rt0 ) * cpic * tmask(:,:,1) 394 402 ! 395 403 #if defined key_lim3 -
branches/UKMO/dev_r5518_FOAMv14_output_heat_fluxes/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90
r10879 r10900 683 683 ELSE 684 684 qns(:,:)= qns(:,:)-sprecip(:,:)*Lfresh*(1.0-fr_i(:,:)) 685 qla(:,:)= qla(:,:)+sprecip(:,:)*Lfresh*(1.0-fr_i(:,:)) 685 ! Add latent heat due to melting of solid precip, see sbcblk_core.F90 686 qla(:,:)= qla(:,:)+sprecip(:,:)*Lfresh*(1.0-fr_i(:,:)) 686 687 ENDIF 687 688 -
branches/UKMO/dev_r5518_FOAMv14_output_heat_fluxes/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90
r10879 r10900 474 474 CALL iom_put( "fmmflx", fmmflx ) ! Freezing-melting water flux 475 475 CALL iom_put( "qt" , qns + qsr ) ! total heat flux 476 CALL iom_put( "qns" , qns ) ! solar heat flux476 CALL iom_put( "qns" , qns ) ! non solar heat flux 477 477 CALL iom_put( "qsr" , qsr ) ! solar heat flux 478 478 IF( nn_ice > 0 .OR. nn_components == jp_iam_opa ) CALL iom_put( "ice_cover", fr_i ) ! ice fraction … … 483 483 CALL iom_put( "qsb_oce" , - qsb ) ! output surface_downward_sensible_heat_flux 484 484 CALL iom_put( "qla_oce" , - qla ) ! output surface_downward_latent_heat_flux 485 !Output individual terms to check if their sum matches qns_oce 486 !To be consistent with qns in sbcice_cice.F90, evaluate over ocean only *(1.0-fr_i) 487 CALL iom_put( "qlasprecip" , - qlasprecip*(1.0-fr_i) ) ! latent heat due to melting of solid precip non solar 488 CALL iom_put( "qevapsst" , - qevapsst *(1.0-fr_i) ) ! evap heat content at SST non solar 489 CALL iom_put( "qlprecip" , qlprecip *(1.0-fr_i) ) ! liquid precip heat content at Tair non solar 490 CALL iom_put( "qsprecip" , qsprecip *(1.0-fr_i) ) ! solid precip heat content at min(Tair,Tsnow) non solar 485 491 ENDIF 486 492 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.