[Dart-dev] DART/branches Revision: 11135
dart at ucar.edu
dart at ucar.edu
Wed Feb 22 13:18:24 MST 2017
mizzi at ucar.edu
2017-02-22 13:18:24 -0700 (Wed, 22 Feb 2017)
34
Update WRF-Chem/DART repository.
Deleted: DART/branches/mizzi/observations/IASI_CO/APM_README
===================================================================
--- DART/branches/mizzi/observations/IASI_CO/APM_README 2017-02-22 20:17:24 UTC (rev 11134)
+++ DART/branches/mizzi/observations/IASI_CO/APM_README 2017-02-22 20:18:24 UTC (rev 11135)
@@ -1 +0,0 @@
-_DnN and Mig_DA are the same. convert to Mig_DA.f90
\ No newline at end of file
Modified: DART/branches/mizzi/observations/IASI_CO/iasi_ascii_to_obs.f90
===================================================================
--- DART/branches/mizzi/observations/IASI_CO/iasi_ascii_to_obs.f90 2017-02-22 20:17:24 UTC (rev 11134)
+++ DART/branches/mizzi/observations/IASI_CO/iasi_ascii_to_obs.f90 2017-02-22 20:18:24 UTC (rev 11135)
@@ -170,6 +170,7 @@
character*4 :: chr_year
character*129 :: filedir, filename, copy_meta_data, filen
character*129 :: transform_typ
+character*129 :: IASI_CO_retrieval_type
!
! QOR/CPSR variables
integer :: info,nlvls_trc,qstatus
@@ -183,8 +184,15 @@
!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
-namelist /create_iasi_obs_nml/filedir,filename,year,month,day,hour,bin_beg, bin_end
+! IASI_CO_retrieval_type:
+! RAWR - retrievals in VMR (ppb) units
+! RETR - retrievals in log10(VMR ([ ])) units
+! QOR - quasi-optimal retrievals
+! CPSR - compact phase space retrievals
!
+namelist /create_iasi_obs_nml/filedir,filename,year,month,day,hour,bin_beg, bin_end, &
+ IASI_CO_retrieval_type
+!
! Set constants
ln_10=log(10.)
pi=4.*atan(1.)
@@ -562,8 +570,8 @@
xg_lat(i,j)=xg_lat(i,j)/xg_twt(i,j)
!
! Skip for SINGLE_CLUSTER
- if((xg_lon(i,j).lt.-97. .or. xg_lon(i,j).gt.-93.) .or. &
- (xg_lat(i,j).lt.38. .or. xg_lat(i,j).gt.42.)) cycle
+! if((xg_lon(i,j).lt.-97. .or. xg_lon(i,j).gt.-93.) .or. &
+! (xg_lat(i,j).lt.38. .or. xg_lat(i,j).gt.42.)) cycle
!
do k=1,ias_dim
if(xg_norm(i,j,k).eq.0) cycle
@@ -627,157 +635,310 @@
! print *, 'cov ',k,(xg_raw_cov(i,j,k,l),l=kstr,ias_dim)
! enddo
!
-! Calculate SVD of avg_k (Z=U_xxx * SV_xxx * VT_xxx)
- allocate(Z(nlvls,nlvls),SV_cov(nlvls),SV(nlvls,nlvls))
- allocate(U_cov(nlvls,nlvls),UT_cov(nlvls,nlvls),V_cov(nlvls,nlvls),VT_cov(nlvls,nlvls))
- allocate(rs_avg_k(nlvls,nlvls),rs_cov(nlvls,nlvls),rs_x_r(nlvls),rs_x_p(nlvls))
- allocate(rr_avg_k(nlvls,nlvls),rr_cov(nlvls,nlvls),rr_x_r(nlvls),rr_x_p(nlvls))
- allocate(ZL(nlvls,nlvls),ZR(nlvls,nlvls),ZV(nlvls))
- Z(1:nlvls,1:nlvls)=dble(xg_avg_k(i,j,kstr:ias_dim,kstr:ias_dim))
- call dgesvd('A','A',nlvls,nlvls,Z,nlvls,SV_cov,U_cov,nlvls,VT_cov,nlvls,wrk,lwrk,info)
- nlvls_trc=0
- do k=1,nlvls
- if(SV_cov(k).ge.eps_tol) then
- nlvls_trc=k
- else
- SV_cov(k)=0
- U_cov(:,k)=0.
- VT_cov(k,:)=0.
- endif
- enddo
-! print *,'nlvls_trc ',nlvls_trc
-! print *, 'SV ',SV_cov(:)
- call mat_transpose(U_cov,UT_cov,nlvls,nlvls)
- call mat_transpose(VT_cov,V_cov,nlvls,nlvls)
- call vec_to_mat(SV_cov,SV,nlvls)
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
-! Rotate terms in the forward operator
- ZL(1:nlvls,1:nlvls)=dble(xg_avg_k(i,j,kstr:ias_dim,kstr:ias_dim))
- call mat_prd(UT_cov(1:nlvls,1:nlvls),ZL(1:nlvls,1:nlvls), &
- rr_avg_k(1:nlvls,1:nlvls),nlvls,nlvls,nlvls,nlvls)
-! do k=1,nlvls
-! print *, 'UT ',k,(UT_cov(k,l),l=1,nlvls)
-! enddo
-! do k=kstr,ias_dim
-! print *, 'xg_avg_k ',k,(xg_avg_k(i,j,k,l),l=kstr,ias_dim)
-! enddo
-! do k=1,nlvls
-! print *, 'rr_avg_k ',k,(rr_avg_k(k,l),l=1,nlvls)
-! enddo
- ZL(1:nlvls,1:nlvls)=dble(xg_raw_cov(i,j,kstr:ias_dim,kstr:ias_dim))
- call mat_tri_prd(UT_cov(1:nlvls,1:nlvls),ZL(1:nlvls,1:nlvls),U_cov(1:nlvls,1:nlvls), &
- rr_cov(1:nlvls,1:nlvls),nlvls,nlvls,nlvls,nlvls,nlvls,nlvls)
-! do k=1,nlvls
-! print *, 'UT ',k,(UT_cov(k,l),l=1,nlvls)
-! enddo
-! do k=kstr,mop_dim
-! print *, 'xg_raw_cov ',k,(xg_raw_cov(i,j,k,l),l=kstr,ias_dim)
-! enddo
-! do k=1,nlvls
-! print *, 'rr_cov ',k,(rr_cov(k,l),l=1,nlvls)
More information about the Dart-dev
mailing list