source: LMDZ6/branches/contrails/libf/phylmd/ecrad/driver/test_fast_expm.F90 @ 5456

Last change on this file since 5456 was 4773, checked in by idelkadi, 13 months ago
  • Update of Ecrad in LMDZ The same organization of the Ecrad offline version is retained in order to facilitate the updating of Ecrad in LMDZ and the comparison between online and offline results. version 1.6.1 of Ecrad (https://github.com/lguez/ecrad.git)
  • Implementation of the double call of Ecrad in LMDZ


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.