Changeset 10900
- Timestamp:
- 2019-04-26T13:51:00+02:00 (5 years ago)
- Location:
- branches/UKMO/dev_r5518_FOAMv14_output_heat_fluxes/NEMOGCM
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_FOAMv14_output_heat_fluxes/NEMOGCM/CONFIG/SHARED/field_def.xml
r10302 r10900 249 249 <field id="qemp_oce" long_name="Downward Heat Flux from E-P over open ocean" unit="W/m2" /> 250 250 <field id="taum_oce" long_name="wind stress module over open ocean" standard_name="magnitude_of_surface_downward_stress" unit="N/m2" /> 251 252 <!-- * qns individual terms to check the total qns_oce along with qlw_oce, qsb_oce and qla_oce output, with ln_blk_core --> 253 <field id="qlasprecip" long_name="latent melting heat for solid precip non solar" unit="W/m2" /> 254 <field id="qevapsst" long_name="evap heat content at SST non solar" unit="W/m2" /> 255 <field id="qlprecip" long_name="liquid precip heat content at Tair non solar" unit="W/m2" /> 256 <field id="qsprecip" long_name="solid precip heat content at min(Tait,Tsnow) non solar" unit="W/m2" /> 251 257 252 258 <!-- available key_oasis3 --> … … 670 676 <field_group id="icbvar" grid_ref="grid_T_2D" > 671 677 <field id="berg_total_melt" long_name="icb melt rate 2 of icebergs" unit="kg/m2/s" /> 672 <field id="berg_total_heat_flux" long_name="icb latent heat of melting of icebergs" 678 <field id="berg_total_heat_flux" long_name="icb latent heat of melting of icebergs" unit="kg/m2/s" /> 673 679 <field id="berg_melt" long_name="icb melt rate of icebergs" unit="kg/m2/s" /> 674 680 <field id="berg_buoy_melt" long_name="icb buoyancy component of iceberg melt rate" unit="kg/m2/s" /> -
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.