[Dart-dev] [5752] DART/branches/development/observations/Ameriflux/level4_to_obs.f90: Using different values for the observation error variance.
nancy at ucar.edu
nancy at ucar.edu
Fri Jun 8 15:40:41 MDT 2012
Revision: 5752
Author: thoar
Date: 2012-06-08 15:40:41 -0600 (Fri, 08 Jun 2012)
Log Message:
-----------
Using different values for the observation error variance.
The ob error variance for NEE came from Andy, those for
the sensible heat and latent heat fluxes are chosen to be
about 10% of the 'nighttime' values - as calculated from the
Harvard forest site for the year 2000. Ad hoc ... but better
than nothing.
Modified Paths:
--------------
DART/branches/development/observations/Ameriflux/level4_to_obs.f90
-------------- next part --------------
Modified: DART/branches/development/observations/Ameriflux/level4_to_obs.f90
===================================================================
--- DART/branches/development/observations/Ameriflux/level4_to_obs.f90 2012-06-06 22:37:03 UTC (rev 5751)
+++ DART/branches/development/observations/Ameriflux/level4_to_obs.f90 2012-06-08 21:40:41 UTC (rev 5752)
@@ -85,6 +85,7 @@
type(obs_sequence_type) :: obs_seq
type(obs_type) :: obs, prev_obs
type(time_type) :: time_obs, prev_time, offset
+integer, parameter :: umol_to_gC = 12.0_r8 * -1000000.0_r8
type towerdata
type(time_type) :: time_obs
@@ -235,7 +236,7 @@
! Increasingly larger QC values are more questionable quality data.
if (tower%hQC <= maxgoodqc) then
- oerr = tower%h * 0.1_r8 ! total guess
+ oerr = 2.5_r8 ! 10 percent of the 'nighttime' values - total guess
qc = real(tower%hQC,r8)
call create_3d_obs(latitude, longitude, flux_height, VERTISHEIGHT, tower%h, &
TOWER_LATENT_HEAT_FLUX, oerr, oday, osec, qc, obs)
@@ -243,16 +244,20 @@
endif
if (tower%leQC <= maxgoodqc) then
- oerr = tower%le * 0.1_r8 ! total guess
+ oerr = 0.3_r8 ! 10 percent of the 'nighttime' values - total guess
qc = real(tower%leQC,r8)
call create_3d_obs(latitude, longitude, flux_height, VERTISHEIGHT, tower%le, &
TOWER_SENSIBLE_HEAT_FLUX, oerr, oday, osec, qc, obs)
call add_obs_to_seq(obs_seq, obs, tower%time_obs, prev_obs, prev_time, first_obs)
endif
+ ! A crude estimate of this would be something like 1+(0.25*|flux|) mumol m^2s^1
+ ! which will give a range of ~1-5 at most of our sites. -- Andy Fox
if (tower%neeQC <= maxgoodqc) then
- oerr = tower%NEE * 0.1_r8 ! total guess
- qc = real(tower%neeQC,r8)
+ oerr = 1.0_r8 + abs(tower%NEE)*0.25_r8
+ oerr = oerr * umol_to_gC
+ tower%NEE = tower%NEE * umol_to_gC
+ qc = real(tower%neeQC,r8)
call create_3d_obs(latitude, longitude, flux_height, VERTISHEIGHT, tower%Nee, &
TOWER_NETC_ECO_EXCHANGE, oerr, oday, osec, qc, obs)
call add_obs_to_seq(obs_seq, obs, tower%time_obs, prev_obs, prev_time, first_obs)
@@ -486,7 +491,7 @@
tower%day = nint(values(tower%dayindex ))
tower%hour = values(tower%hourindex )
tower%doy = values(tower%doyindex )
-tower%nee = values(tower%neeindex ) * 12.0_r8 * 1000000.0_r8
+tower%nee = values(tower%neeindex )
tower%neeQC = nint(values(tower%neeQCindex))
tower%le = values(tower%leindex )
tower%leQC = nint(values(tower%leQCindex ))
More information about the Dart-dev
mailing list