4DVAR minutes 12/29/06
The meeting was cancelled due to the snow closure. Written reports were received from Xin, Xiaoyan and Qingnong, Tom, and compiled by Hans.
Contents |
Progress review
Veritical diffusion (Qingnong, Xiaoyan)
Forward code testing
We did three experiments to evaluate the impact of Vertical Diffusion code in WRF non-linear Model. They are No-physics, PBL (YSU), and Vertical Diffusion. The 3-h forecast of the maximum wind speed in Vertical Diffusion is close to that of PBL at the surface and lower levels. No-physics showed a much stronger wind than both of PBL and vertical diffusion.
TL & AD code testing
After the forward code of vertical diffusion was frozen, we generated its TL and AD code using TAF, and did the TL & AD check. The test case is Typhoon Haitang. The results are shown below: Vertical diffusion TL & AD code check before merged into 4DVAR:
g_mod_sfcdiffs: ALPHA=.1000E+00 COEF= 0.1285297400422E+01 VAL_N= 0.148995E+06 VAL_L= 0.115922E+06 g_mod_sfcdiffs: ALPHA=.1000E-01 COEF= 0.1026220882578E+01 VAL_N= 0.118962E+04 VAL_L= 0.115922E+04 g_mod_sfcdiffs: ALPHA=.1000E-02 COEF= 0.1002616996742E+01 VAL_N= 0.116226E+02 VAL_L= 0.115922E+02 g_mod_sfcdiffs: ALPHA=.1000E-03 COEF= 0.1000258142119E+01 VAL_N= 0.115952E+00 VAL_L= 0.115922E+00 g_mod_sfcdiffs: ALPHA=.1000E-04 COEF= 0.1000025879088E+01 VAL_N= 0.115925E-02 VAL_L= 0.115922E-02 g_mod_sfcdiffs: ALPHA=.1000E-05 COEF= 0.1000002587701E+01 VAL_N= 0.115923E-04 VAL_L= 0.115922E-04 g_mod_sfcdiffs: ALPHA=.1000E-06 COEF= 0.1000000259978E+01 VAL_N= 0.115922E-06 VAL_L= 0.115922E-06 g_mod_sfcdiffs: ALPHA=.1000E-07 COEF= 0.1000000014779E+01 VAL_N= 0.115922E-08 VAL_L= 0.115922E-08 g_mod_sfcdiffs: ALPHA=.1000E-08 COEF= 0.1000000170453E+01 VAL_N= 0.115922E-10 VAL_L= 0.115922E-10 g_mod_sfcdiffs: ALPHA=.1000E-09 COEF= 0.1000000216195E+01 VAL_N= 0.115922E-12 VAL_L= 0.115922E-12 g_mod_sfcdiffs: ALPHA=.1000E-10 COEF= 0.9999993480977E+00 VAL_N= 0.115922E-14 VAL_L= 0.115922E-14 a_surface_drag: VAL_TL: 0.1159222882014E+04 VAL_AD: 0.1159222882014E+04
Solve_em TL& AD check after vertical diffusion was merged to 4DVAR: g_em_sn: ALPHA_M=.1000E+00 COEF= 0.1000496109348E+01 VAL_N= 0.132663E+11 VAL_L= 0.132597E+11 g_em_sn: ALPHA_M=.1000E-01 COEF= 0.9993139779502E+00 VAL_N= 0.132506E+09 VAL_L= 0.132597E+09 g_em_sn: ALPHA_M=.1000E-02 COEF= 0.9991893763140E+00 VAL_N= 0.132490E+07 VAL_L= 0.132597E+07 g_em_sn: ALPHA_M=.1000E-03 COEF= 0.9991770844145E+00 VAL_N= 0.132488E+05 VAL_L= 0.132597E+05 g_em_sn: ALPHA_M=.1000E-04 COEF= 0.9991758547848E+00 VAL_N= 0.132488E+03 VAL_L= 0.132597E+03 g_em_sn: ALPHA_M=.1000E-05 COEF= 0.9991757315858E+00 VAL_N= 0.132488E+01 VAL_L= 0.132597E+01 g_em_sn: ALPHA_M=.1000E-06 COEF= 0.9991757206357E+00 VAL_N= 0.132488E-01 VAL_L= 0.132597E-01 g_em_sn: ALPHA_M=.1000E-07 COEF= 0.9991757058789E+00 VAL_N= 0.132488E-03 VAL_L= 0.132597E-03 g_em_sn: ALPHA_M=.1000E-08 COEF= 0.9991758568581E+00 VAL_N= 0.132488E-05 VAL_L= 0.132597E-05 g_em_sn: ALPHA_M=.1000E-09 COEF= 0.9991760158496E+00 VAL_N= 0.132488E-07 VAL_L= 0.132597E-07 g_em_sn: ALPHA_M=.1000E-10 COEF= 0.9991771317988E+00 VAL_N= 0.132488E-09 VAL_L= 0.132597E-09 a_em: VAL_TL: 0.1325974165178E+11 VAL_AD: 0.1325974165178E+11
4DVAR and forecast
In order to test the impact of the vertical diffusion in 4DVAR, we did a 4dvar experiment with 1-h time window for the test case (Typhoon Haitang, 135km, 17 levels). There are differences showed in the analyses with and without vertical diffusion. The forecasts using 4DVAR analyses with and without vertical diffusion showed small but noticeable impact on 48-h track and intensity of the typhoon.
Large scale condensation (Qingnong, Xiaoyan)
Forward code testing
Four experiments were carried out: DRY, WSM3, Kessler and LSC (Large scale condensation). The pattern of rainfall in LSC is close to Kessler, but the maximum values are higher than those in Kessler in some areas. We also did a 48-h forecast (Typhoon Haitang, 30km, 17 levels) with the LSC. Both the track and intensity forecast of LSC are close to Kessler scheme, and far from WSM3 scheme. LSC are much better than dry run compared to the best track.
Tangent linear and adjoint
The tangent linear and adjoint codes of large-scale condensation were generated by TAF. We will report the testing results in the future.
TAF (Tom)
I recently modified my source-to-source translation scripts to automatically add TAF "store" directives for every "IN" and "INOUT" actual argument of each subroutine call made from solve_em and was able to generate an adjoint of solve_em for the first time. The end result is a code that has minimum re-computation and maximum storage (as opposed to Qingnong's current version which has maximum re-computation and minimum storage). This storage is quite large but I have not yet had time to analyze. Also, this version (based on WRF version r1874) does not pass TL or adjoint tests yet due to other TAF deficiencies.
I have now done this with Qingnong's old code too to create a solve_em adjoint with no re-computation -- all needed values are stored in memory instead. This version is known to be broken (again due to other TAF deficiencies). Hand-re-coding will be needed to update it to correctly call all of Qingnong's manually-corrected adjoint routines. Also, TAF output identifies many variables that it believes do not need to be stored so it may be possible to reduce storage.
The implication of these results is that it may be possible to run the adjoint much faster if enough memory is available.
Much work remains to be done with both of these codes to achieve correct results.
Meteorological testing (Xin, Hans)
Currently stable wrf-4dvar system consist of wrfvar (1813), wrfplus (1819) and wrf (2040). The wrf 2.2 had released and the wrfvar2.2 will be released soon. The plan is to update the wrf-4dvar system once the wrfvar 2.2 released. The parallel version will also be upgraded to use wrf 2.2 and wrfvar 2.2 at that time.
A large amount of experiments (Typhoon and middle latitude rainfall case) are undergoing to evaluate the current wrf-4dvar system. Once the vdiff are done , we will begin another round of experiments.
Gradient and adjoint checks
The above adjoint testing results are based on the early version of wrf4dvar (referred to as Xiao's version below). Qingnong and Xiaoyan found that the adjoint check of recent version of wrf4dvar doesn't work. The July 2006 version has only 7 digit right in the adjoint check. It is important to perform the gradient/adjoint checks regularly. Qingnong will address this problem in our next meeting.
Qingnong and Xiaoyan sent Xin the wrfplus version with VDIFF. Using the registry file from Xiao's version, Xin repeated all the tests with correct results. The current problem is Xiao's registry does not have variables introduced by John M for parallelization. Xin is working on the problem.
Thomas' visit
Thomas Nehrkorn visited NCAR on Dec 14-15. Two major objectives of the visit were:
1) technical discussions on the current parallel 4DVAR system and on the effective use of TAF for a way forward.
2) discuss areas and strategies for potential collaboration.
AOB
The next meeting: 10:00am, 1/31/2007.