Deutscher Wetterdienst COSMO Priority Project: Further developments of the Runge-Kutta Time Integration Scheme report ‘Oct. 2007 – Sept. 2008’ / final report COSMO General Meeting, Cracow 15.-19.09.2008 Michael Baldauf Deutscher Wetterdienst, Offenbach, Germany FE 13 – 22.03.2016 1 Deutscher Wetterdienst Tasks of the Priority Project ‚Runge-Kutta‘: Repair detected model deficiencies: 1. Looking at pressure bias 4. Advection of moisture quantities in conservation form 6. Deep valleys 7. Different filter options for orography 14. DFI for RK New developments: 8. Higher order discretization in the vertical for Runge Kutta scheme 9. Physics coupling scheme 10. Testing of alternative fast wave scheme 13. Divergence damping in a truely 3D-version Tool development: 2. Continue RK case studies 3. Conservation tool 5. Investigation of convergence 11. Development of a more conservative dynamics (planned) 12. Development of an efficient semi-implicit solver in combination with RK time integration scheme (planned) FE 13 – 22.03.2016 2 Deutscher Wetterdienst Task 1: Looking at pressure bias (Torrisi, Zängl) Talk by Lucio Torrisi Goals: verifications of LM 7 km runs showed a higher positive pressure bias for the RK core than for the Leapfrog core, whereas other variables show comparable behaviour. Reasons and solutions? starting point of the task: RK Leapfrog FE 13 – 22.03.2016 3 Deutscher Wetterdienst Task 2: Continue RK case studies (deMorsier,Torrisi) Identify problems of the RK scheme Several unstable cases found in previous winter periods (e.g. ‚13. Jan. 2004‘) most of them could be simulated with Semi-Lagrange Adv. for moisture variables Winter storms Kyrill ('18.01.2007') and Lothar ('26.12.1999') simulated with MeteoCH new pre-operational model chain (2.2 km and 6.6 km): new configuration: 1.) WRF-like RK3 used (instead of TVD-RK3) (as found at DWD for the Kyrill case) 2.) Semi-Lagrange-Adv. for moisture (instead of Bott-scheme) 3.) new level distribution especially in boundary layer (cures problems with TKE scheme) FE 13 – 22.03.2016 5 Deutscher Wetterdienst Vertical level distribution Test-chains in July 2007 using operational (L60.2) and a new (L60.1) vertical level distributions Three test cases 12.7.2006 (convection) 23.12.2006 (fog) 18.1.2007 (Kyrill) TP BL 6 Deutscher Wetterdienst TKE Instability L60 v2 23.12.2006 (fog) gridpoint (60,180) L60 v1 • Strong checkerboard instability in TKE-field • Same effect also 12.7.2006 (convection) and 18.1.2007 (Kyrill) 7 Deutscher Wetterdienst Stability of TKE-diffusion If equation is solved explicitly, stability constraints apply In COSMO, the diffusion constant is limited Default value for securi = 0.85 is wrong!!! Alternative: vertically implicit (Crank-Nicholson) scheme was implemented this cures the most problems; some artefacts remain (stability functions?) 8 O. Fuhrer Deutscher Wetterdienst Task 3: Conservation (Baldauf) Tool for inspection of conservation properties will be developed. balance equation for scalar : temporal change flux divergence sources / sinks integration area = arbitrarily chosen cuboid (in the transformed grid, i.e. terrain-following) Status: available in LM 3.23: • Subr. init_integral_3D: define cuboid (in the transformed grid!), prepare domain decomp. • Function integral_3D_total: calc. volume integral V ijk Vijk • Subr. surface_integral_total: calc. surface integrals V jijk * Aijk • prelimineary idealised tests were carried out • report finished; will be published in the next COSMO-Newsletter Nr. 7 (2007) Task is finished (Study of conservation properties will be continued in collaboration with MPI-Hamburg, see WG2 Task 2.10.1) FE 13 – 22.03.2016 9 Deutscher Wetterdienst Task 4: Advection of moisture quantities in conservation form (Förstner, Baldauf) Status: two schemes available implementation of the Bott (1989)-scheme into the Courant-number independent advection algorithm for the moisture densities with mass consistency (Easter, 1993, Skamarock, 2004, 2006) Task was finished in Sept. 2006 because implemented schemes (Bott-2, Bott-4) behaved well But in the meanwhile: stability problems occured in some cases (steep orography!) revival of the task necessary! Semi-Lagrange-scheme (backtraj. 2nd order, tri-cubic interpolation) multiplicative filling algorithm for global conservation FE 13 – 22.03.2016 10 Deutscher Wetterdienst Task 5: investigation of convergence (Ceci, Vitagliano) Goals: determination of the spatial and temporal order of convergence of the RKscheme in combination with advection schemes of higher order. Test cases: • • • • • linear, 2D, hydrostatic mountain flow (h=10 m, a=10 km) linear, 2D, non-hydrostatic mountain flow (h=10 m, a=500 m) nonlinear, 2D mountain flows (dry case) (h=500 m, a=10 km) linear, 3D mountain flow nonlinear mountain flows with precipitation FE 13 – 22.03.2016 11 Deutscher Wetterdienst Deliver a program to calculate linear analytic solutions (e.g. for convergence tests) (M. Baldauf) Starting point: compressible Euler equations Preconditions: • no friction • only adiabatic processes (in particular no phase changes) • ideal gas law • cp=const., cV=const., R=const. • no Coriolis force • all movements take place on a plane (no earth curvature) these preconditions can easily be fulfilled by a dynamical core (‚switches‘) Only 2 approximations will be made: 1. linearisation (1/Fr<<<1 very flat mountains; not too small U) 2. the assumption that kz=const (see below; not absolutely necessary) confidence into the accuracy of the linear solution for comparison with numerical models FE 13 – 22.03.2016 12 Deutscher Wetterdienst Stationary case (=0) From perturbation equations: express u', v', ' and p' by w' equation 2nd order for w'(kx, ky, z): with coefficient functions: The only approximation so far is linearisation! FE 13 – 22.03.2016 13 Deutscher Wetterdienst Example 2: 2D-test case from Schaer et al (2002) w [m/s] FE 13 – 22.03.2016 14 Deutscher Wetterdienst w [m/s] Example 3: 3D Gaussian Hill FE 13 – 22.03.2016 15 Deutscher Wetterdienst Initialization of the perturbation pressure field G. Zängl The present initialization of the perturbation pressure field (executed in src_artifdata for idealized simulations; otherwise in int2LM) is not exactly consistent with the discretized buoyancy term in the vertical momentum equation The error is too small to be noticeable in real-case applications; however, it becomes evident in idealized simulations with constant flow and a very low mountain (or no mountain at all) To fix the problem, a new initialization procedure has been developed by solving the discretized vertical wind equation (for dw/dt = 0) for p‘; ideally, this would ensure strict absence of buoyancy at the lateral model boundaries FE 13 – 22.03.2016 16 Deutscher Wetterdienst Simulation with flat surface, u = 10m/s, and fixed relaxation b.c.‘s, t = 12 h Fields: θ (contour interval 2 K), w (colours) Old p‘ initialization Error amplitude: 1 mm/s FE 13 – 22.03.2016 New p‘ initialization Error amplitude: 10-4 mm/s 17 Deutscher Wetterdienst Gaussian mountain height=750 m size=10 km P. L. Vitagliano, G. Ceci Horizontal resolution 4 km Gaussian Mountain h=750[m] a=10[km] N=0.01[1/s] U=10[m/s] x=y=4km z=100m Solution at Y=0 symmetry plane - RK3 UP5 Gaussian Mountain h=750[m] a=10[km] N=0.01[1/s] U=10[m/s] x=y=4km z=100m Solution at Y=0 symmetry plane - RK3 UP3 W 0.70 0.50 0.30 0.10 -0.10 -0.30 -0.50 -0.70 W 0.70 0.50 0.30 0.10 -0.10 -0.30 -0.50 -0.70 3th order upwind 5th order upwind 3D TEST CASES: HYDROSTATIC FLOW Krakow - September, 15th 2008 18 Deutscher Wetterdienst Gaussian mountain height=750 m size=10 km Horizontal resolution 8 km Gaussian Mountain h=750[m] a=10[km] N=0.01[1/s] U=10[m/s] x=y=8km z=100m Solution at Y=0 symmetry plane - RK3 UP3 Gaussian Mountain h=750[m] a=10[km] N=0.01[1/s] U=10[m/s] x=y=8km z=100m Solution at Y=0 symmetry plane - RK3 UP5 W 0.70 0.50 0.30 0.10 -0.10 -0.30 -0.50 -0.70 W 0.70 0.50 0.30 0.10 -0.10 -0.30 -0.50 -0.70 3th order upwind 5th order upwind 3D TEST CASES: HYDROSTATIC FLOW Krakow - September, 15th 2008 19 Deutscher Wetterdienst Gaussian mountain height=750 m size=10 km Horizontal resolution 16 km Gaussian Mountain h=750[m] a=10[km] N=0.01[1/s] U=10[m/s] x=y=16km z=100m Solution at Y=0 symmetry plane - RK3 UP3 Gaussian Mountain h=750[m] a=10[km] N=0.01[1/s] U=10[m/s] x=y=16km z=100m Solution at Y=0 symmetry plane - RK3 UP5 W 0.70 0.50 0.30 0.10 -0.10 -0.30 -0.50 -0.70 W 0.70 0.50 0.30 0.10 -0.10 -0.30 -0.50 -0.70 3th order upwind 5th order upwind 3D TEST CASES: HYDROSTATIC FLOW 20 Deutscher Wetterdienst P. L. Vitagliano, G. Ceci CONVERGENCE OF KINETIC ENERGY 10 NON-HYDROSTATIC TEST RK3 TVD KINETIC ENERGY -1 L2 L1 L0 2nd order 10 -2 -3 10 10 -4 10 -5 10 -6 10 L2 L1 L0 2nd order 10 -2 Error Norm Error Norm 10 10 NON-HYDROSTATIC TEST RK3 KINETIC ENERGY -1 -3 10 -4 -3 10 -2 10 -1 10 0 10 1 10 2 DX [km] FE 13 – 22.03.2016 10 -5 10 -6 10 -3 10 -2 10 -1 10 DX [km] 21 0 10 1 10 2 Deutscher Wetterdienst CONVERGENCE OF KINETIC ENERGY 10 NON-LINEAR HYDROSTATIC TEST RK3 TVD KINETIC ENERGY 2 L2 L1 L0 2nd order 10 0 10 -1 10 -2 10 -2 FE 13 – 22.03.2016 10 -1 L2 L1 L0 2nd order 10 1 Error Norm 10 1 Error Norm 10 NON-LINEAR HYDROSTATIC TEST RK3 KINETIC ENERGY 2 0 10 DX [km] 10 1 10 2 22 10 0 10 -1 10 -2 10 -2 10 -1 0 10 DX [km] 10 1 10 2 Deutscher Wetterdienst Conclusions from Convergence Tests: 2D mountain flow • slightly less than 2nd order spatial convergence (fast waves scheme dominates) • TVD and non-TVD 3 stages Runge Kutta show similar behaviour • time step has minor effect (if any) on spatial convergence • important issues with upper and lateral boundary condition • difficult to compare with analytical solutions, due to b.c. 3D mountain flow •smaller influence of damping layer on 3d mountain waves and drag • optimal damping parameter dt*nrdtau increases to 1000 s • with poor resolution different scheme can give different solutions • with poor resolution higher order upwind can improve results FE 13 – 22.03.2016 23 Deutscher Wetterdienst Task 6: deep valleys Goal: detection of the reason for the unrealistic ‚cold pools‘ in Alpine valleys + Task 7: Different filter options for orography (Förstner, Torrisi, Reinhardt, deMorsier) Status: The reason for the cold pools was identified: metric terms of the pressure gradient Dynamical Bottom boundary condition (DBBC) (A. Gassmann (2004), COSMONewsl.) and a slope-dependent orography-filtering cures the problem to a certain extent. example: For the COSMO-DE first the orography is filtered globally to remove scales approximately smaller than 4-. In a second step a stronger filter (5-) is used for all points with a step of the orography still bigger than 625 m. FE 13 – 22.03.2016 24 Deutscher Wetterdienst (G. Zängl) Spurious noise over mountains in a resting atmosphere Tests reveal a 2Δz structure in the horizontal and vertical wind field Depending on the difference between base state and actual temperature profile, it can take more than 12 h until the noise reaches a significant amplitude Afterwards, it rapidly grows within a time scale of a few hours until some sort of saturation is reached Tests indicate that a modified discretization of the dw/dz term in the pressure tendency equation may damp the noise Setup of test experiments: mountain with h = 1500 m, a = 5 km; Δx = 1 km, no ambient winds; results are shown for t = 24 h FE 13 – 22.03.2016 25 Deutscher Wetterdienst Results with implicit 2nd-order vertical advection θ (contour interval 1 K), u (colours) standard discretization FE 13 – 22.03.2016 with damping discretization 26 Deutscher Wetterdienst Results with implicit 2nd-order vertical advection θ (contour interval 1 K), w (colours) standard discretization FE 13 – 22.03.2016 with damping discretization 27 Deutscher Wetterdienst Results for quasi-linear flow over a mountain, h = 300 m, u = 10 m/s θ (contour interval 1 K), u (colours) standard discretization FE 13 – 22.03.2016 with damping discretization 28 Deutscher Wetterdienst Spurious noise over mountains in a resting atmosphere In the modified version, the term is not only evaluated between half-levels but also between full-levels (which damps 2Δz waves), followed by a weighting of both terms A weight of 0.05 of the damping discretization turned out to suffice for eliminating the noise Normally very small impact on flow dynamics, but stability problems over steep topography in the presence of strong winds FE 13 – 22.03.2016 29 Deutscher Wetterdienst Task 8: Higher order discretization in the vertical for RK-scheme (Baldauf) Improved vertical advection for the dynamic var. u, v, w, T (or T‘), p‘ motivation: resolved convection vertical advection has increased importance => use scheme of higher order (compare: horizontal adv. from 2. order to 5. order) => bigger w (~20 m/s) => Courant-crit. is violated => implicit scheme or CNI-explicit scheme up to now: implicit (Crank-Nicholson) advection 2. order (centered differences) new: implicit (Crank-N.) advektion 3. order LES with 5-banddiagonal-matrix but: implicit adv. 3. order in every RK-substep; needs ~ 30% of total computational time! planned: use outside of RK-scheme (splitting-error?, stability with fast waves?) Work to do: best combination with time integration scheme? FE 13 – 22.03.2016 30 Deutscher Wetterdienst Comparison of the two implicit vertical advection schemes Test with constant vertical velocity; initial cone distribution implicit cent. diff. 2nd order FE 13 – 22.03.2016 implicit cent. diff. 3rd order 31 Deutscher Wetterdienst Task 9: Physics coupling scheme (deMorsier, Förstner) original idea: problems with reduced precipitation could be due to a nonadequate coupling between physics scheme and dynamics Problems in new physics-dynamics coupling (NPDC) (=WRF-like coupling): Negative feedback between NPDC and operational moist turbulence parameterization (not present in dry turbulence parameterization) 2-z - structures in the specific cloud water field (qc) 2-z - structures in the TKE field, unrealistic high values, where qc > 0 Work to do: Is the problem cured now also in the moist turbulence case with the improvement of the TKE-Diffusion (solution of O. Fuhrer)? FE 13 – 22.03.2016 32 Deutscher Wetterdienst Task 10: Testing of alternative fast wave scheme (Torrisi, Gassmann) Goals: • p‘T‘-RK-scheme • ‚shortened-RK2‘-scheme (Gassmann) • this allows the use of the ‚radiative upper boundary condition‘ (RUBC) Properties of A. Gassmann dyn. core: • Splitting up of vertical advection of p*/T into fast/slow mode equations and consistent boundary conditions • Vertical average to half levels: mass weighted mean (in RK simple mean) and base-state consistent formulation of the discrete w-equation • Different horizontal pressure gradient discretization • Divergence in conservative flux-form • Slightly different buoyancy term • No artificial divergence damping FE 13 – 22.03.2016 33 Deutscher Wetterdienst Status: • The fast waves part (Gassmann) is combined with the Leapfrog scheme in LM 3.21 • Original Gassmann dynamical core poses stability problems in several cases! • Gassmann fast waves part in RK3 worked in only 1 case • ‚shortened RK2‘-scheme (Gassmann (2002), Gassmann and Herzog (2007)) is implemented into LM 3.21 using the fast waves solver of RK3 and the RK3 advection/physics subroutines • Preliminary investigation of this dynamical core (L. Torrisi) tested in real cases for a five days period: similar results to the RK3 splitting method • Separate inspection of divergence in conservation form and vertical staggering • Implementation questions pointed out: •Splitting of contravariant vertical velocity poses problems in formulation of lower boundary conditions Overall assessment: needs too much work to bring to operational use FE 13 – 22.03.2016 34 Deutscher Wetterdienst Task 13: Divergence damping in a true 3D-version (Baldauf) Description: Cases occured, where the up to now used 'quasi-2D' divergence filtering lead to unstable results. But a complete abandoning of the divergence filtering (as proposed by A. Gassmann for her dynamical core) also leads to several instabilities. This was also shown by stability analyses of the RK-core by M. Baldauf. P. Prohl (DWD) could demonstrate, that the Bryan-Fritsch- test case of a rising warm bubble is unstable with 'quasi-2D' divergence damping but becomes stable only with a full 3D (=isotropic) version (realised with a preliminary explicit formulation). For operational use an implicit version of 3D divergence damping is necessary. FE 13 – 22.03.2016 35 Deutscher Wetterdienst Task 14: DFI for RK (L. Torrisi) An initialization scheme Twice Digital Filter Initialization Adiabatic backward integration Diabatic forward integration * FE 13 – 22.03.2016 36 Deutscher Wetterdienst Digital Filter Initialization in RK core (L. Torrisi) • Some modifications (mostly in the adv functions ) are needed to run DFI with RK core. They are in: - dfi_initialization.f90: add initialization of rho_snow - src_runge_kutta.f90: correction in wind Rayleigh damping - src_advection_rk.f90: changes in cfl control and changes in adv function interfaces - fast_waves_rk.f90: changes in adv function interfaces - numeric_utilities_rk.f90: changes in adv function interfaces and correction to run with DFI • All the odd order advection operators are changed to run in the backward integration of the DFI. The odd order advection operators implicitly contain a dissipative term that needs a special treatment in the backward integration of the DFI. The dissipative terms are treated as the horizontal diffusion operator in the backward integration of DFI (when dt<0 , -1 is multiplied to the dissipative term). For example: 5th order velo*ds/dx operator = 6th order velo*ds/dx operator + dissipative term * SIGN(1.,dt) * Sign(1.,dt) FE 13 – 22.03.2016 37 Deutscher Wetterdienst Digital Filter Initialization in RK core DFI seems to work well using a 7 km grid spacing 2h FE 13 – 22.03.2016 2h 38 Deutscher Wetterdienst COSMO-IT (2.8km) Digital Filter Initialization in RK core Using a 2.8km grid spacing DFI works only with explicit vertical advection FE 13 – 22.03.2016 1h 39 1h Deutscher Wetterdienst Optimization of horizontal advection: (M. Baldauf) up to COSMO 4.3: 'advection operators' = a subroutine acting on every single grid point compiler has problems to optimize loops since COSMO 4.4: advection routines using 'field operations' (and additionally the DFI modifications of Lucio Torrisi) Efficiency gain for routine COSMO-DE at DWD (IBM): • speedup of the horizontal advection alone: ~ 3 times faster • overall reduction of model run time: ~ 1 Min. / 20 Min. ~ 5% Furthermore, some inconsistencies using metrical factors could be repaired: acrlat(j,1) acrlat(j,2) lent to an error of ~ -0.05% in the term v dw/dy FE 13 – 22.03.2016 40 Deutscher Wetterdienst Introduction of RK-scheme into operational models DWD: COSMO-DE (2.8km): since 16.04.2007 COSMO-EU (7km): planned for ~Q4/2008 (if pressure bias problems removed) (weak artificial horizontal diffusion, SL-scheme, new aver. reference pressure) MeteoCH: COSMO-S2: operational since April 2008 COSMO-S7: CNMCA: COSMO-IT (2.8km): since Oct. 2007 COSMO-ME (7km): in next future FE 13 – 22.03.2016 41 Deutscher Wetterdienst Publications of the PP 'Runge-Kutta' Reviewed articles • M. Baldauf (2008): Stability analysis for linear discretisations of the advection equation with RungeKutta time integration, J. Comput. Phys. 227, 6638-6659 Other articles • M. Baldauf (2008): A Tool for Testing Conservation Properties in the COSMO-Model (LM), COSMONewsletter 7, 7-17 • J. Förstner, M. Baldauf, A. Seifert (2006), Courant Number Independent Advection of the Moisture Quantities for the LMK, COSMO-Newsletter 6, 51-64 • L. Torrisi (2006): Sensitivity experiments with the Runge-Kutta time integration scheme, COSMONewsletter No. 6 Final report: Draft version (12.09.2008) available FE 13 – 22.03.2016 42 Deutscher Wetterdienst Thanks to all contributing scientists (in alphabetical order): Michael Baldauf1, Gabriella Ceci2, Jochen Förstner1, Oliver Fuhrer4, Almut Gassmann5, Hans-Joachim Herzog1, Guy deMorsier4, Thorsten Reinhardt 7, Gdaly Rivin6, Lucio Torrisi3, Pier Luigi Vitagliano2, Günther Zängl1 1 Deutscher Wetterdienst (DWD), Germany Centro Italiano Ricerche Aerospaziali (CIRA), Italy 3 Centro Nazionale di Meteorologia e Climatologia Aeronautica (CNMCA), Italy 4 MeteoSchweiz, Switzerland 5 Max-Planck-Insitut, Hamburg, Germany 6 Federal Service for Hydrometeorology and Environmental Monitoring, Russia 7 Universität Köln, Germany 2 FE 13 – 22.03.2016 43 Deutscher Wetterdienst FE 13 – 22.03.2016 44 Deutscher Wetterdienst List of people contributing to the project during Oct. 2007 - Sept. 2008: (alphabetical order) • • • • • • • Michael Baldauf Gabriella Ceci Oliver Fuhrer Lucio Torrisi Pier Luigi Vitagliano Gdaly Rivin Günther Zängl (DWD, D) (CIRA, I) (MeteoCH, CH) (CNMCA, I) (CIRA, I) (Roshydromet, RU) (DWD,D) Additional meeting of PP-RK-Group during the LM-User-Workshop, Langen, 05.03.2008 FE 13 – 22.03.2016 45 Task 3: Deutscher Wetterdienst Weisman-Klemp (1982)-test case without physical parameterisation (only advection & Condensation/Evap.) total moisture mass M = x dV Semi-Lagrange-Adv. for qx with multiplicative filling x := (qv + qc ) (Mn-Mn-1) / t Res. violation in moisture conservation (?) total surface flux timestep 04.09.2007 46 Deutscher Wetterdienst Convergence tests G. Ceci, P. L. Vitagliano HYDROSTATIC LINEAR / NON LINEAR a = 10 km H = 10 m / 500 m Time = 60 h / 100 h dt = 2.5” Domain size 500x19.5 km2 Horizontal resolution = 4km, 2km, 1km, 500m, 250m, 125m NON HYDROSTATIC a = 500 m H = 10 m Time = 100 h dt = 2.5” Domain size 250x19.5 km2 Horizontal resolution = 1km, 500m, 250m, 125m, 62.5m • All test cases runned again with constant time step = 2.5” • Test cases repeated with non-TVD 3-stage RK FE 13 – 22.03.2016 48 Deutscher Wetterdienst P. L. Vitagliano, G. Ceci CONVERGENCE OF VERTICAL VELOCITY w HYDROSTATIC TEST RK3 TVD VERTICAL VELOCITY 10 -2 10 -2 L2 L1 L0 2nd order 10 -3 Error Norm 10 -4 10 -4 10 -5 10 -6 10 L2 L1 L0 2nd order Error Norm 10 -3 HYDROSTATIC TEST RK3 VERTICAL VELOCITY -2 FE 13 – 22.03.2016 10 -1 0 10 DX [km] 10 1 10 2 49 10 -5 10 -6 10 -2 10 -1 0 10 DX [km] 10 1 10 2 Deutscher Wetterdienst CONVERGENCE OF VERTICAL VELOCITY w NON-HYDROSTATIC TEST RK3 TVD VERTICAL VELOCITY 10 -1 10 -1 L2 L1 L0 2nd order Error Norm 10 -3 10 -4 10 -5 10 L2 L1 L0 2nd order 10 -2 Error Norm 10 -2 NON-HYDROSTATIC TEST RK3 VERTICAL VELOCITY 10 -3 -3 FE 13 – 22.03.2016 10 -2 -1 10 DX [km] 10 0 10 1 50 10 -4 10 -5 10 -3 10 -2 -1 10 DX [km] 10 0 10 1