Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Registry/Registry.EM_COMMON
Original file line number Diff line number Diff line change
Expand Up @@ -3226,7 +3226,7 @@ package icedepth_one seaice_thickness_opt==1 - state:icedept
#Time series options for text output
package notseries process_time_series==0 - -
package tseries process_time_series==1 - state:ts_hour,ts_u,ts_v,ts_q,ts_t,ts_psfc,ts_glw,ts_gsw,ts_hfx,ts_lh,ts_tsk,ts_tslb,ts_clw,ts_rainc,ts_rainnc,ts_u_profile,ts_v_profile,ts_gph_profile,ts_th_profile,ts_p_profile,ts_w_profile
package tseries_add_solar process_time_series==2 - state:ts_hour,ts_u,ts_v,ts_q,ts_t,ts_psfc,ts_glw,ts_gsw,ts_hfx,ts_lh,ts_tsk,ts_tslb,ts_clw,ts_rainc,ts_rainnc,ts_u_profile,ts_v_profile,ts_gph_profile,ts_th_profile,ts_cldfrac2d,ts_wvp,ts_lwp,ts_iwp,ts_swp,ts_lwp_tot,ts_iwp_tot,ts_swp_tot,ts_re_qc,ts_re_qi,ts_re_qs,ts_re_qc_tot,ts_re_qi_tot,ts_re_qs_tot,ts_tau_qc,ts_tau_qi,ts_tau_qs,ts_tau_qc_tot,ts_tau_qi_tot,ts_tau_qs_tot,ts_cbaseht,ts_ctopht,ts_cbaseht_tot,ts_ctopht_tot,ts_clrnidx,ts_p_profile,ts_w_profile,ts_swdown,ts_swddni,ts_swddif,ts_swdownc,ts_swddnic,ts_swdown2,ts_swddni2,ts_swddif2,ts_swdownc2,ts_swddnic2
package tseries_add_solar process_time_series==2 - state:ts_hour,ts_u,ts_v,ts_q,ts_t,ts_psfc,ts_glw,ts_gsw,ts_hfx,ts_lh,ts_tsk,ts_tslb,ts_clw,ts_rainc,ts_rainnc,ts_u_profile,ts_v_profile,ts_gph_profile,ts_th_profile,ts_cldfrac2d,ts_wvp,ts_lwp,ts_iwp,ts_swp,ts_lwp_tot,ts_iwp_tot,ts_swp_tot,ts_re_qc,ts_re_qi,ts_re_qs,ts_re_qc_tot,ts_re_qi_tot,ts_re_qs_tot,ts_tau_qc,ts_tau_qi,ts_tau_qs,ts_tau_qc_tot,ts_tau_qi_tot,ts_tau_qs_tot,ts_cbaseht,ts_ctopht,ts_cbaseht_tot,ts_ctopht_tot,ts_clrnidx,ts_p_profile,ts_w_profile,ts_swdown,ts_swddni,ts_swddif,ts_swdownc,ts_swddnic,ts_swdown2,ts_swddni2,ts_swddif2,ts_swdownc2,ts_swddnic2,ts_ghi_accum

# WRF-HAILCAST
state real HAILCAST_DHAIL1 ij misc 1 - r "HAILCAST_DHAIL1" "WRF-HAILCAST Hail Diameter, 1st rank order" "mm"
Expand Down
14 changes: 8 additions & 6 deletions Registry/registry.solar_fields
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,13 @@ state real tau_qi ij dyn_em 1 - h "TAU_QI
state real tau_qs ij dyn_em 1 - h "TAU_QS" "MASS-WEIGHTED SNOW OPTICAL THICKNESS" " "
state real tau_qc_tot ij dyn_em 1 - h "TAU_QC_TOT" "MASS-WEIGHTED LIQUID CLOUD OPTICAL THICKNESS RES + UNRES" " "
state real tau_qi_tot ij dyn_em 1 - h "TAU_QI_TOT" "MASS-WEIGHTED ICE OPTICAL THICKNESS RES + UNRES" " "
state real cbaseht ij dyn_em 1 - h "CBASEHT" "CLOUD BASE HEIGHT" "m"
state real ctopht ij dyn_em 1 - h "CTOPHT" "CLOUD TOP HEIGHT" "m"
state real cbaseht_tot ij dyn_em 1 - h "CBASEHT_TOT" "CLOUD BASE HEIGHT RES + UNRES" "m"
state real ctopht_tot ij dyn_em 1 - h "CTOPHT_TOT" "CLOUD TOP HEIGHT RES + UNRES" "m"
state real cbaseht ij dyn_em 1 - h "CBASEHT" "CLOUD BASE HEIGHT" "m agl"
state real ctopht ij dyn_em 1 - h "CTOPHT" "CLOUD TOP HEIGHT" "m agl"
state real cbaseht_tot ij dyn_em 1 - h "CBASEHT_TOT" "CLOUD BASE HEIGHT RES + UNRES" "m agl"
state real ctopht_tot ij dyn_em 1 - h "CTOPHT_TOT" "CLOUD TOP HEIGHT RES + UNRES" "m agl"
Comment thread
weiwangncar marked this conversation as resolved.
Outdated
state real clrnidx ij dyn_em 1 - h "CLRNIDX" "CLEARNESS INDEX" " "
state real sza ij dyn_em 1 - h "SZA" "SOLAR ZENITH ANGLE" "deg"
state real sza ij dyn_em 1 - h "SZA" "SOLAR ZENITH ANGLE" "deg"
state real ghi_accum ij dyn_em 1 - h "GHI_ACCUM" "ACCUMULATED GHI" "J m-2"

# Time series variables
state real ts_cldfrac2d ?! misc - - - "TS_CLDFRAC2D" "2-D MAX CLOUD FRACTION"
Expand Down Expand Up @@ -61,6 +62,7 @@ state real ts_cbaseht_tot ?! misc - - - "TS_C
state real ts_ctopht_tot ?! misc - - - "TS_CTOPHT_TOT" "CLOUD TOP HEIGHT RES + UNRES"
state real ts_clrnidx ?! misc - - - "TS_CLRNIDX" "CLEARNESS INDEX"
state real ts_sza ?! misc - - - "TS_SZA" "SOLAR ZENITH ANGLE"
state real ts_ghi_accum ?! misc - - - "TS_GHI_ACCUM" "ACCUMULATED GHI"
state real ts_swdown ?! misc - - - "TS_SWDOWN" "DOWNWARD SHORT WAVE FLUX AT GROUND SURFACE"
state real ts_swddni ?! misc - - - "TS_SWDDNI" "SHORTWAVE SURFACE DOWNWARD DIRECT NORMAL IRRADIANCE"
state real ts_swddif ?! misc - - - "TS_SWDDIF" "SHORTWAVE SURFACE DOWNWARD DIFFUSE IRRADIANCE"
Expand All @@ -75,4 +77,4 @@ state real ts_swddnic2 ?! misc - - - "TS_S
# Package declarations

package skip_solar_output solar_diagnostics==0 - -
package do_solar_output solar_diagnostics==1 - state:cldfrac2d,wvp,lwp,iwp,swp,wp_sum,lwp_tot,iwp_tot,wp_tot_sum,re_qc,re_qi,re_qs,re_qc_tot,re_qi_tot,tau_qc,tau_qi,tau_qs,tau_qc_tot,tau_qi_tot,cbaseht,ctopht,cbaseht_tot,ctopht_tot,clrnidx,sza
package do_solar_output solar_diagnostics==1 - state:cldfrac2d,wvp,lwp,iwp,swp,wp_sum,lwp_tot,iwp_tot,wp_tot_sum,re_qc,re_qi,re_qs,re_qc_tot,re_qi_tot,tau_qc,tau_qi,tau_qs,tau_qc_tot,tau_qi_tot,cbaseht,ctopht,cbaseht_tot,ctopht_tot,clrnidx,sza,ghi_accum
1 change: 1 addition & 0 deletions dyn_em/start_em.F
Original file line number Diff line number Diff line change
Expand Up @@ -1255,6 +1255,7 @@ SUBROUTINE start_domain_em ( grid, allowed_to_read &
,grid%ccn_conc & ! RAS
,grid%QKE &!JOE-for mynn
,grid%pep_pbl & ! EEPS
,grid%ghi_accum & ! Solar diagnostics
,grid%landusef,grid%landusef2,grid%mosaic_cat_index & ! danli mosaic
,grid%TSK_mosaic,grid%TSLB_mosaic,grid%SMOIS_mosaic,grid%SH2O_mosaic & ! danli mosaic
,grid%CANWAT_mosaic,grid%SNOW_mosaic,grid%SNOWH_mosaic,grid%SNOWC_mosaic & ! danli mosaic
Expand Down
9 changes: 7 additions & 2 deletions phys/module_diag_solar.F
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,10 @@ MODULE module_diag_solar
! !
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

SUBROUTINE solar_diag (rho, dz8w, ph, phb, cldfrac3d, coszen, swdnb, swdnt, &
SUBROUTINE solar_diag (dt, rho, dz8w, ph, phb, cldfrac3d, coszen, swdnb, swdnt, &
param_first_scalar, p_qc, p_qi, p_qs, qv, qc, qi, qs, &
qc_tot, qi_tot, has_reqc, has_reqi, has_reqs, f_qv, f_qc, f_qi, f_qs, &
re_cloud, re_ice, re_snow, clrnidx, sza, cldfrac2d, wvp2d, lwp2d, iwp2d, swp2d, &
re_cloud, re_ice, re_snow, clrnidx, sza, ghi_accum, cldfrac2d, wvp2d, lwp2d, iwp2d, swp2d, &
wp2d_sum, lwp2d_tot, iwp2d_tot, wp2d_tot_sum, re_cloud_path, re_ice_path, re_snow_path, &
re_cloud_path_tot, re_ice_path_tot, tau_qc, tau_qi, tau_qs, tau_qc_tot, tau_qi_tot, &
cbase, ctop, cbase_tot, ctop_tot, ids, ide, jds, jde, kds, kde, ims, ime, jms, jme, &
Expand All @@ -43,6 +43,7 @@ SUBROUTINE solar_diag (rho, dz8w, ph, phb, cldfrac3d, coszen, swdnb, swdnt, &

IMPLICIT NONE

REAL, INTENT(IN) :: dt
REAL, DIMENSION(ims:ime, jms:jme), INTENT(IN) :: coszen, swdnb, swdnt
REAL, DIMENSION(ims:ime, kms:kme, jms:jme), INTENT(IN) :: ph, phb, cldfrac3d, qv, qc, qi, qs, qc_tot, qi_tot, &
re_cloud, re_ice, re_snow, rho, dz8w
Expand All @@ -51,6 +52,7 @@ SUBROUTINE solar_diag (rho, dz8w, ph, phb, cldfrac3d, coszen, swdnb, swdnt, &
REAL, DIMENSION(ims:ime, jms:jme), INTENT(OUT) :: clrnidx, sza, cldfrac2d, wvp2d, lwp2d, iwp2d, swp2d, wp2d_sum, &
lwp2d_tot, iwp2d_tot, wp2d_tot_sum, re_cloud_path, re_ice_path, re_snow_path, re_cloud_path_tot, re_ice_path_tot, &
tau_qc, tau_qi, tau_qs, tau_qc_tot, tau_qi_tot, cbase, ctop, cbase_tot, ctop_tot
REAL, DIMENSION(ims:ime, jms:jme), INTENT(INOUT) :: ghi_accum
INTEGER, INTENT(IN) :: ids, ide, jds, jde, kds, kde, ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe, kts, kte, num_tiles
INTEGER, DIMENSION(num_tiles), INTENT(IN) :: i_start, i_end, j_start, j_end
Expand Down Expand Up @@ -88,6 +90,9 @@ SUBROUTINE solar_diag (rho, dz8w, ph, phb, cldfrac3d, coszen, swdnb, swdnt, &
clrnidx(i, j) = MISSING
end if

!!! ACCUMULATED GHI
ghi_accum(i, j) = ghi_accum(i, j) + swdnb(i, j) * dt
Comment thread
weiwangncar marked this conversation as resolved.

Comment thread
davegill marked this conversation as resolved.
!!! 2-D CLOUD FRACTION
cldfrac2d(i, j) = MAXVAL( cldfrac3d(i, kts:kte-1, j) )

Expand Down
7 changes: 4 additions & 3 deletions phys/module_diagnostics_driver.F
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ SUBROUTINE diagnostics_driver ( grid, config_flags, &
model_config_rec

USE module_streams
USE module_utility, ONLY : WRFU_Time
USE module_utility, ONLY : WRFU_Time

!=============================================================
! USE Association for the Diagnostic Packages
Expand Down Expand Up @@ -1094,7 +1094,8 @@ SUBROUTINE diagnostics_driver ( grid, config_flags, &

SOLAR_FIELDS: IF (config_flags%solar_diagnostics == do_solar_output) THEN
CALL wrf_debug (100 , '--> CALL DIAGNOSTICS PACKAGE: SOLAR_DIAG')
CALL solar_diag ( &

CALL solar_diag (dt=grid%dt, &
rho=grid%rho, dz8w=dz8w, ph=grid%ph_2, phb=grid%phb, &
cldfrac3d=grid%cldfra, coszen=grid%coszen, swdnb=grid%swdnb, &
swdnt=grid%swdnt, param_first_scalar=param_first_scalar, &
Expand All @@ -1116,7 +1117,7 @@ SUBROUTINE diagnostics_driver ( grid, config_flags, &
tau_qc_tot=grid%tau_qc_tot, tau_qi_tot=grid%tau_qi_tot, &
cbase=grid%cbaseht, ctop=grid%ctopht, &
cbase_tot=grid%cbaseht_tot, ctop_tot=grid%ctopht_tot, &
clrnidx=grid%clrnidx, sza=grid%sza, &
clrnidx=grid%clrnidx, sza=grid%sza, ghi_accum=grid%ghi_accum, &
ids=ids, ide=ide, jds=jds, jde=jde, kds=kds, kde=kde, &
ims=ims, ime=ime, jms=jms, jme=jme, kms=kms, kme=kme, &
ips=ips, ipe=ipe, jps=jps, jpe=jpe, kps=kps, kpe=kpe, &
Expand Down
15 changes: 14 additions & 1 deletion phys/module_physics_init.F
Original file line number Diff line number Diff line change
Expand Up @@ -258,6 +258,7 @@ SUBROUTINE phy_init ( id, config_flags, DT, restart, zfull, zhalf, &
,ccn_conc & ! RAS
,QKE & !for MYNN
,pep & ! EEPS
,ghi_accum & ! Solar diagnostics
,landusef,landusef2,mosaic_cat_index & ! danli mosaic
,TSK_mosaic,TSLB_mosaic,SMOIS_mosaic,SH2O_mosaic & ! danli mosaic
,CANWAT_mosaic,SNOW_mosaic,SNOWH_mosaic,SNOWC_mosaic & ! danli mosaic
Expand Down Expand Up @@ -480,6 +481,8 @@ SUBROUTINE phy_init ( id, config_flags, DT, restart, zfull, zhalf, &
,rv_up, rc_up, u_up, v_up &
,frac_up

! Solar diagnostics
REAL, DIMENSION(ims:ime,jms:jme), OPTIONAL, INTENT(INOUT) :: ghi_accum

REAL, DIMENSION( ims:ime , kms:kme , jms:jme ) , OPTIONAL, INTENT(OUT) :: &
cugd_tten,cugd_ttens,cugd_qvten, &
Expand Down Expand Up @@ -1367,7 +1370,6 @@ SUBROUTINE phy_init ( id, config_flags, DT, restart, zfull, zhalf, &
CALL init_module_wind_fitch(id,config_flags,xlong,xlat,windfarm_initialized,ims,ime,jms,jme,its,ite,jts,jte,ids,ide,jds,jde)
ENDIF


CALL wrf_debug ( 200 , 'module_start: phy_init: Before call to ra_init' )

CALL ra_init(id=id,STEPRA=STEPRA,RADT=RADT,DT=DT,RTHRATEN=RTHRATEN,RTHRATENLW=RTHRATENLW, &
Expand Down Expand Up @@ -2004,6 +2006,7 @@ SUBROUTINE ra_init(id,STEPRA,RADT,DT,RTHRATEN,RTHRATENLW, &
alevsiz,no_src_types, &
cldfra_dp,cldfra_sh, & ! Optional for subgrid cloud by ckay
cldfra_old, & ! Optional
ghi_accum, & ! Optional
ozmixm,pin, & ! Optional
aerodm,pina, & ! Optional
m_ps_1,m_ps_2,m_hybi,aerosolc_1,aerosolc_2, & ! Optional
Expand Down Expand Up @@ -2090,6 +2093,8 @@ SUBROUTINE ra_init(id,STEPRA,RADT,DT,RTHRATEN,RTHRATENLW, &
cldfra_dp, &
cldfra_sh

REAL , DIMENSION( ims:ime ,jms:jme ) , OPTIONAL, INTENT(INOUT) :: ghi_accum ! Solar diagnostics

REAL , DIMENSION( ims:ime , kms:kme , jms:jme ) , OPTIONAL, INTENT(INOUT) :: &!BSINGH(PNNL)- should be declared inout
CLDFRA_OLD

Expand Down Expand Up @@ -2149,6 +2154,14 @@ SUBROUTINE ra_init(id,STEPRA,RADT,DT,RTHRATEN,RTHRATENLW, &
ENDDO
ENDDO
end if

IF( PRESENT(ghi_accum) ) THEN
DO j=jts,jtf
DO i=its,itf
ghi_accum(i,j) = 0.
ENDDO
ENDDO
ENDIF
ENDIF

!-- ww: attempt to use CAM ozone and some aerosol profiles in all rad schemes
Expand Down
1 change: 1 addition & 0 deletions run/README.tslist
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,7 @@ cbaseht_tot: CLOUD BASE HEIGHT RES + UNRES (m)
ctopht_tot: CLOUD TOP HEIGHT RES + UNRES (m)
clrnidx: CLEARNESS INDEX ()
sza: SOLAR ZENITH ANGLE (deg)
ghi_accum: ACCUMULATED GHI (J m-2)
swdown: DOWNWARD SHORT WAVE FLUX AT GROUND SURFACE (W m-2)
swddni: SHORTWAVE SURFACE DOWNWARD DIRECT NORMAL IRRADIANCE (W m-2)
swddif: SHORTWAVE SURFACE DOWNWARD DIFFUSE IRRADIANCE (W m-2)
Expand Down
6 changes: 6 additions & 0 deletions share/wrf_timeseries.F
Original file line number Diff line number Diff line change
Expand Up @@ -507,6 +507,7 @@ SUBROUTINE calc_ts( grid )
grid%ts_ctopht_tot(n,i) = grid%ctopht_tot(ix,iy)
grid%ts_clrnidx(n,i) = grid%clrnidx(ix,iy)
grid%ts_sza(n,i) = grid%sza(ix,iy)
grid%ts_ghi_accum(n,i) = grid%ghi_accum(ix,iy)
grid%ts_swdown(n,i) = grid%swdown(ix,iy)
grid%ts_swddni(n,i) = grid%swddni(ix,iy)
grid%ts_swddif(n,i) = grid%swddif(ix,iy)
Expand Down Expand Up @@ -602,6 +603,7 @@ SUBROUTINE calc_ts( grid )
grid%ts_ctopht_tot(n,i) = 1.E30
grid%ts_clrnidx(n,i) = 1.E30
grid%ts_sza(n,i) = 1.E30
grid%ts_ghi_accum(n,i) = 1.E30
grid%ts_swdown(n,i) = 1.E30
grid%ts_swddni(n,i) = 1.E30
grid%ts_swddif(n,i) = 1.E30
Expand Down Expand Up @@ -820,6 +822,9 @@ SUBROUTINE write_ts( grid )
ts_buf(:,:) = grid%ts_sza(:,:)
CALL wrf_dm_min_reals(ts_buf(:,:),grid%ts_sza(:,:),grid%ts_buf_size*grid%max_ts_locs)

ts_buf(:,:) = grid%ts_ghi_accum(:,:)
CALL wrf_dm_min_reals(ts_buf(:,:),grid%ts_ghi_accum(:,:),grid%ts_buf_size*grid%max_ts_locs)

ts_buf(:,:) = grid%ts_swdown(:,:)
CALL wrf_dm_min_reals(ts_buf(:,:),grid%ts_swdown(:,:),grid%ts_buf_size*grid%max_ts_locs)

Expand Down Expand Up @@ -940,6 +945,7 @@ SUBROUTINE write_ts( grid )
grid%ts_ctopht_tot(n,i), &
grid%ts_clrnidx(n,i), &
grid%ts_sza(n,i), &
grid%ts_ghi_accum(n,i), &
grid%ts_swdown(n,i), &
grid%ts_swddni(n,i), &
grid%ts_swddif(n,i), &
Expand Down