source: trunk/LMDZ.COMMON/libf/filtrez/eigen.F @ 3000

Last change on this file since 3000 was 1391, checked in by emillour, 10 years ago

Common dynamical core:
Updates in the dynamics to keeup up with updates in LMDZ5
(up to LMDZ5 trunk rev 2200):

  • compilation:
  • create_make_gcm : added processing of .f & .f90 files (not just .F and .F90)
  • makelmdz: add "mix" option for -io (ouptut with both IOIPSL and XIOS)
  • makelmdz_fcm: add "mix" option for -io
  • filtrez:
  • acc.F and eigen.F : add "implicit none" and variable declarations
  • bibio:
  • handle_err_m.F90: replace "stop" with call to abort_gcm()
  • i1mach.F, j4save.F: add "implicit none" and variable declarations
  • xercnt.F, xermsg.F, xerprn.F, xersve.F, xgetua.F: add "implicit none" and variable declarations
  • dyn3d_common:
  • disvert.F90 : added comments on meaning of "pa" variable
  • grid_atob.F : better control on level of default ouputs
  • infotrac.F90: update Earth-specific stuff (nqo water tracers)
  • interpre.F: correction on the size of input array w
  • juldate.F, massbar.F, ppm3d.F, ran1.F: add "implicit none" and variable declarations
  • sortvarc.F: code cleanup
  • iniacademic.F90: cleanup and extra sanity check.
  • dyn3d:
  • abort_gcm.F: additions for XIOS
  • conf_gcm.F90: transformed to free form from conf_gcm.F
  • gcm.F: added test to check that iphysiq is a multiple of iperiod
  • getparam.F90, guidz_mod.F: update from LMDZ5
  • integrd.F: replace stop with call_abort()
  • dyn3dpar:
  • abort_gcm.F: minor cleanup
  • gcm.F: added test to check that iphysiq is a multiple of iperiod
  • getparam.F90, guide_p_mod.F90: update from LMDZ5
  • integrd_p.F: abort with call_abort when there is negative surface pressure
  • leapfrog_p.F: add INCA specific stuff to keep up with current LMDZ5
  • conf_gcm.F90: transformed to free form from conf_gcm.F

EM

File size: 586 bytes
Line 
1!
2! $Header$
3!
4      SUBROUTINE eigen( e,d)
5      IMPLICIT NONE
6#include "dimensions.h"
7      real :: e( iim,iim ), d( iim )
8      real :: asm( iim )
9      integer :: im,i,j
10      im=iim
11c
12      DO 48 i = 1,im
13         asm( i ) = d( im-i+1 )
14 48   CONTINUE
15      DO 49 i = 1,iim
16         d( i ) = asm( i )
17 49   CONTINUE
18c
19c     PRINT 70,d
20 70   FORMAT(5x,'Valeurs propres',/,8(1x,8f10.4,/),/)
21                print *
22c
23      DO 51 i = 1,im
24         DO 52 j = 1,im
25            asm( j ) = e( i , im-j+1 )
26 52      CONTINUE
27         DO 50 j = 1,im
28            e( i,j ) = asm( j )
29 50      CONTINUE
30 51   CONTINUE
31
32      RETURN
33      END
Note: See TracBrowser for help on using the repository browser.