[Dart-dev] DART/branches Revision: 12295
dart at ucar.edu
dart at ucar.edu
Tue Jan 9 09:32:31 MST 2018
mizzi at ucar.edu
2018-01-09 09:32:31 -0700 (Tue, 09 Jan 2018)
23
Update obs converters
Modified: DART/branches/mizzi/observations/IASI_CO/iasi_ascii_to_obs.f90
===================================================================
--- DART/branches/mizzi/observations/IASI_CO/iasi_ascii_to_obs.f90 2018-01-09 16:31:34 UTC (rev 12294)
+++ DART/branches/mizzi/observations/IASI_CO/iasi_ascii_to_obs.f90 2018-01-09 16:32:31 UTC (rev 12295)
@@ -142,7 +142,7 @@
real :: bin_beg, bin_end
real :: sec, lat, lon, nlevels
real :: pi ,rad2deg, re, wt, corr_err, fac, fac_obs_error
-real :: ln_10, xg_sec_avg
+real :: ln_10, xg_sec_avg, co_log_max, co_log_min, co_min
real :: irot, nlvls_fix
real*8, dimension(1000) :: unif
real*8, dimension(num_qc) :: co_qc
@@ -543,10 +543,18 @@
enddo
!
! Calculate errors for NO ROT RET case
+ co_min=.01
do j=1,nlvls
! (APM: IS THIS CORRECT?)
! ret_err(j)=sqrt(ret_cov(j,j)))
- ret_err(j)=log10(sqrt(raw_cov(j,j)))
+! ret_err(j)=log10(sqrt(raw_cov(j,j)))
+ co_log_max=log10(ret_x_r(j)+sqrt(raw_cov(j,j)))
+ if(ret_x_r(j)-sqrt(raw_cov(j,j)) .le. 0.) then
+ ret_err(j)=co_log_max-log10(ret_x_r(j))
+ else
+ co_log_min=log10(ret_x_r(j)-sqrt(raw_cov(j,j)))
+ ret_err(j)=min(log10(ret_x_r(j))-co_log_min, co_log_max-log10(ret_x_r(j)))
+ endif
enddo
!
! Calculate superobs
Modified: DART/branches/mizzi/observations/IASI_CO/native_to_ascii/iasi_extract_no_transform_UA.pro
===================================================================
--- DART/branches/mizzi/observations/IASI_CO/native_to_ascii/iasi_extract_no_transform_UA.pro 2018-01-09 16:31:34 UTC (rev 12294)
+++ DART/branches/mizzi/observations/IASI_CO/native_to_ascii/iasi_extract_no_transform_UA.pro 2018-01-09 16:32:31 UTC (rev 12295)
@@ -330,14 +330,6 @@
; DEGREES OF FREEDOM FOR SIGNAL:
dfs = dofs[k]
;
- if debug eq 1 then begin
- print, 'DFS: ',dfs, dofs_threshold_low, dofs_threshold_hi
- print, 'ZAD: ',sza[k], sza_day
- print, 'LAT: ',lat[k], lat_edge_1, lat_edge_2
- print, 'SEC: ',obs_time[k], bin_beg_sec, bin_end_sec
- print, ' '
- endif
-;
; APM: at this point we have full averaging kernal
; APM: this is pre-DART QA/QC and may nedd to be revised to get more
; obs to DART
@@ -348,7 +340,20 @@
min=float(fix(obs_time[k]/100)-hr*100)
scc=float(obs_time[k]-hr*10000-min*100)
tod_sec=hr*60*60+min*60+scc
-; print, 'IDL lon, lat ', lon[k],lat[k]
+;
+ if debug eq 1 then begin
+ print, 'obs_time ',obs_time[k]
+ print, 'hr-mn-sc ',hr,min,scc
+ print, 'DFS: ',dfs, dofs_threshold_low, dofs_threshold_hi
+ print, 'ZAN: ',sza[k], sza_day
+ print, 'LAT: ',lat[k], day_lat_edge_1, day_lat_edge_2
+ print, 'LAT: ',lat[k], nit_lat_edge_1, nit_lat_edge_2
+ print, 'SEC: ',obs_sec[k], bin_beg_sec, bin_end_sec
+ print, 'SEC: ',tod_sec, bin_beg_sec, bin_end_sec
+ print, 'LAT: ',lat[k], lat_min, lat_max
+ print, 'LON: ',lon[k], lon_min, lon_max
+ print, ' '
+ endif
if( $
; ( dfs ge dofs_threshold_low ) && ( dfs le dofs_threshold_hi ) && $
((( sza[k] lt sza_day ) && ( lat[k] gt day_lat_edge_1 ) && ( lat[k] lt day_lat_edge_2 )) || $
Modified: DART/branches/mizzi/observations/IASI_O3/iasi_ascii_to_obs.f90
===================================================================
--- DART/branches/mizzi/observations/IASI_O3/iasi_ascii_to_obs.f90 2018-01-09 16:31:34 UTC (rev 12294)
+++ DART/branches/mizzi/observations/IASI_O3/iasi_ascii_to_obs.f90 2018-01-09 16:32:31 UTC (rev 12295)
@@ -141,7 +141,7 @@
real :: bin_beg, bin_end
real :: sec, lat, lon, dummy, nlevels
real :: pi ,rad2deg, re, wt, corr_err, fac, fac_obs_error
- real :: ln_10, xg_sec_avg
+ real :: ln_10, xg_sec_avg, o3_log_max, o3_log_min, o3_min
real :: ias_psf, irot, nlvls_fix
real*8, dimension(1000) :: unif
real*8, dimension(num_qc) :: o3_qc
@@ -587,10 +587,18 @@
enddo
!
! Calculate errors for NO ROT RET case
+ o3_min=.01
do j=1,nlvls
! (APM: IS THIS CORRECT?)
! ret_err(j)=sqrt(ret_cov(j,j)))
- ret_err(j)=log10(sqrt(raw_cov(j,j)))
+! ret_err(j)=log10(sqrt(raw_cov(j,j)))
+ o3_log_max=log10(ret_x_r(j)+sqrt(raw_cov(j,j)))
+ if(ret_x_r(j)-sqrt(raw_cov(j,j)) .le. 0.) then
More information about the Dart-dev
mailing list