Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

how to decide which var to use for water budget balance

xiaoxiaokuishu

Ru Xu
Member
Hi, all

I try to test if the water budeget with
P = ET + Q + delta S
I have to clarify the var used for this equation,

The P= RAIN +SNOW
ET=QSOIL+ QVEGE+ QVEGT
for Q ,there are some confused vars,
float QOVER(time, lat, lon) ;

QOVER:long_name = "surface runoff" ;

float QH2OSFC(time, lat, lon) ;

QH2OSFC:long_name = "surface water runoff" ;

float QRUNOFF(time, lat, lon) ;

QRUNOFF:long_name = "total liquid runoff not including correction for land use change"

float QDRAI(time, lat, lon) ;

QDRAI:long_name = "sub-surface drainage" ;
but I would like to try Q=QOVER+ QDRAI, besides, what is the difference between QRUNOFF and QOVER?

delta S can not be obtained from CLM output? It is just a residue from P-ET-Q?


Thanks!
 

oleson

Keith Oleson
CSEG and Liaisons
Staff member
You can see how the model balances water by looking at BalanceCheckMod.F90:

errh2o(c) = endwb(c) - begwb(c) &
- (forc_rain_col(c) &
+ forc_snow_col(c) &
+ qflx_floodc(c) &
+ qflx_irrig(c) &
+ qflx_glcice_dyn_water_flux(c) &
- qflx_evap_tot(c) &
- qflx_surf(c) &
- qflx_h2osfc_surf(c) &
- qflx_qrgwl(c) &
- qflx_drain(c) &
- qflx_drain_perched(c) &
- qflx_ice_runoff_snwcp(c) &
- qflx_ice_runoff_xs(c) &
- qflx_snwcp_discarded_liq(c) &
- qflx_snwcp_discarded_ice(c)) * dtime

You can correlate the variable names here with history output. For example, QOVER is qflx_surf.
deltaS however is the change in stored water (in the soil, etc.), which is wrapped up in endwb and begwb.
Also, note that QRUNOFF is total runoff while QOVER is surface runoff. You can get that from the variable longnames:

QRUNOFF: 'total liquid runoff not including correction for land use change
QOVER: 'surface runoff'
 

xiaoxiaokuishu

Ru Xu
Member
You can see how the model balances water by looking at BalanceCheckMod.F90:

errh2o(c) = endwb(c) - begwb(c) &
- (forc_rain_col(c) &
+ forc_snow_col(c) &
+ qflx_floodc(c) &
+ qflx_irrig(c) &
+ qflx_glcice_dyn_water_flux(c) &
- qflx_evap_tot(c) &
- qflx_surf(c) &
- qflx_h2osfc_surf(c) &
- qflx_qrgwl(c) &
- qflx_drain(c) &
- qflx_drain_perched(c) &
- qflx_ice_runoff_snwcp(c) &
- qflx_ice_runoff_xs(c) &
- qflx_snwcp_discarded_liq(c) &
- qflx_snwcp_discarded_ice(c)) * dtime

You can correlate the variable names here with history output. For example, QOVER is qflx_surf.
deltaS however is the change in stored water (in the soil, etc.), which is wrapped up in endwb and begwb.
Also, note that QRUNOFF is total runoff while QOVER is surface runoff. You can get that from the variable longnames:

QRUNOFF: 'total liquid runoff not including correction for land use change
QOVER: 'surface runoff'
Hi, Oleson,

I have checked the monthly output of

delta Q=ORUNOFF-(QOVER+QDRAI)

QRUNOFF is total,
QOVER+QDRAI is also total,
But delta Q is not zero, is that reasonable or not?

Best
 

oleson

Keith Oleson
CSEG and Liaisons
Staff member
No. QOVER+QDRAI is not total runoff. You can look at the code to see how total runoff is calculated. For example, in HydrologyDrainageMod.F90:

qflx_runoff(c) = qflx_drain(c) + qflx_surf(c) + qflx_qrgwl(c) + qflx_drain_perched(c)
 
Top