source: LMDZ6/branches/Amaury_dev/libf/phylmd/ecrad/driver/test_fast_expm.F90

Last change on this file was 5160, checked in by abarral, 3 months ago

Put .h into modules

File size: 652 bytes
Line 
1program test_fast_expm
2  ! Test the fast matrix exponential exchange routine used for
3  ! SPARTACUS shortwave entrapment calculations, but which can fail in
4  ! single precision for very specific inputs leading to the matrix
5  ! having two repeated eigenvalues
6 
7  use parkind1, only : jprb
8
9  use radiation_matrix, only : fast_expm_exchange_3
10
11  real(jprb) :: a(1), b(1), c(1), d(1), r(1,3,3)
12
13  a = 9.0408579E-02_jprb
14  b = 9.2716664E-07_jprb
15  c = 2.2503915E-03_jprb
16  d = 8.8152386E-02_jprb
17
18  call fast_expm_exchange_3(1,1,a(1:1),b(1:1),c(1:1),d(1:1),r)
19
20  PRINT *, r
21  PRINT *, 0.0000001
22  PRINT *, epsilon(1.0_jprb)
23
24end program test_fast_expm
Note: See TracBrowser for help on using the repository browser.