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

Last change on this file was 4728, checked in by idelkadi, 10 months ago

Update of ecrad in the LMDZ_ECRad branch of LMDZ:

  • version 1.6.1 of ecrad
  • files are no longer grouped in the same ecrad directory.
  • the structure of ecrad offline is preserved to facilitate updating in LMDZ
  • cfg.bld modified to take into account the new added subdirectories.
  • the interface routines and those added in ecrad are moved to the phylmd directory
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.