/[lmdze]/trunk/dyn3d/inter_barxy.f
ViewVC logotype

Diff of /trunk/dyn3d/inter_barxy.f

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/libf/dyn3d/inter_barxy.f90 revision 24 by guez, Wed Mar 3 13:23:49 2010 UTC trunk/dyn3d/inter_barxy.f90 revision 76 by guez, Fri Nov 15 18:45:49 2013 UTC
# Line 2  module inter_barxy_m Line 2  module inter_barxy_m
2    
3    ! From inter_barxy.F, version 1.1.1.1 2004/05/19 12:53:07    ! From inter_barxy.F, version 1.1.1.1 2004/05/19 12:53:07
4    
   ! This file is clean: there is neither C preprocessor directive, nor  
   ! include line.  
   
5    implicit none    implicit none
6    
7    private    private
# Line 16  contains Line 13  contains
13    
14      ! Author: P. Le Van      ! Author: P. Le Van
15    
16      use numer_rec, only: assert_eq, assert      use nr_util, only: assert_eq, assert
17      use dimens_m, only: iim, jjm      use dimens_m, only: iim, jjm
18      use comgeom, only: aire_2d, apoln, apols      use comgeom, only: aire_2d, apoln, apols
19    
# Line 58  contains Line 55  contains
55    
56      ! Check decreasing order for "rlatimod":      ! Check decreasing order for "rlatimod":
57      DO i = 2, jjm      DO i = 2, jjm
58         IF (rlatimod(i) >= rlatimod(i-1)) stop &         IF (rlatimod(i) >= rlatimod(i-1)) then
59              '"inter_barxy": "rlatimod" should be strictly decreasing'            print *, '"inter_barxy": "rlatimod" should be strictly decreasing'
60              stop 1
61           end IF
62      ENDDO      ENDDO
63    
64      yjmod(:jjm) = ord_coordm(rlatimod)      yjmod(:jjm) = ord_coordm(rlatimod)
65      IF (jmods == jjm + 1) THEN      IF (jmods == jjm + 1) THEN
66         IF (90. - yjmod(jjm) < 0.01) stop &         IF (90. - yjmod(jjm) < 0.01) then
67              '"inter_barxy": with jmods = jjm + 1, yjmod(jjm) should be < 90.'            print *, '"inter_barxy": with jmods = jjm + 1, ' &
68                   // 'yjmod(jjm) should be < 90.'
69              stop 1
70           end IF
71      ELSE      ELSE
72         ! jmods = jjm         ! jmods = jjm
73         IF (ABS(yjmod(jjm) - 90.) > 0.01) stop &         IF (ABS(yjmod(jjm) - 90.) > 0.01) then
74              '"inter_barxy": with jmods = jjm, yjmod(jjm) should be 90.'            print *, '"inter_barxy": with jmods = jjm, yjmod(jjm) should be 90.'
75              stop 1
76           end IF
77      ENDIF      ENDIF
78    
79      if (jmods == jjm + 1) yjmod(jjm + 1) = 90.      if (jmods == jjm + 1) yjmod(jjm + 1) = 90.
# Line 114  contains Line 118  contains
118      !      ( L'indice 1 correspond a l'interface mailLE 1 / maille 2)      !      ( L'indice 1 correspond a l'interface mailLE 1 / maille 2)
119      !      ( Les abscisses sont exprimées en degres)      !      ( Les abscisses sont exprimées en degres)
120    
121      use numer_rec, only: assert_eq      use nr_util, only: assert_eq
122    
123      IMPLICIT NONE      IMPLICIT NONE
124    
# Line 299  contains Line 303  contains
303      ! Version unidimensionnelle, en latitude.      ! Version unidimensionnelle, en latitude.
304      ! L'indice 1 correspond à l'interface maille 1 -- maille 2.      ! L'indice 1 correspond à l'interface maille 1 -- maille 2.
305    
306      use numer_rec, only: assert      use nr_util, only: assert
307    
308      IMPLICIT NONE      IMPLICIT NONE
309    
# Line 376  contains Line 380  contains
380      ! reverses their order.      ! reverses their order.
381      ! Finally, the procedure adds 90° as the last value of the array.      ! Finally, the procedure adds 90° as the last value of the array.
382    
383      use numer_rec, only: assert_eq      use nr_util, only: assert_eq, pi
     use comconst, only: pi  
384    
385      IMPLICIT NONE      IMPLICIT NONE
386    
# Line 401  contains Line 404  contains
404      ! Check monotonicity:      ! Check monotonicity:
405      decrois = xi(2) < xi(1)      decrois = xi(2) < xi(1)
406      DO i = 3, nmax      DO i = 3, nmax
407         IF (decrois .neqv. xi(i) < xi(i-1)) stop &         IF (decrois .neqv. xi(i) < xi(i-1)) then
408              '"ord_coord":  latitudes are not monotonic'            print *, '"ord_coord":  latitudes are not monotonic'
409              stop 1
410           end IF
411      ENDDO      ENDDO
412    
413      IF (abs(xi(1)) < pi) then      IF (abs(xi(1)) < pi) then
# Line 417  contains Line 422  contains
422         print *, "ord_coord"         print *, "ord_coord"
423         PRINT *, '"xi" should contain the latitudes of the boundaries of ' &         PRINT *, '"xi" should contain the latitudes of the boundaries of ' &
424              // 'grid cells, not the centers of grid cells.'              // 'grid cells, not the centers of grid cells.'
425         STOP         STOP 1
426      ENDIF      ENDIF
427    
428      IF (decrois) xo(:nmax) = xo(nmax:1:- 1)      IF (decrois) xo(:nmax) = xo(nmax:1:- 1)
# Line 435  contains Line 440  contains
440      ! This procedure converts to degrees, if necessary, and inverts the      ! This procedure converts to degrees, if necessary, and inverts the
441      ! order.      ! order.
442    
443      use comconst, only: pi      use nr_util, only: pi
444    
445      IMPLICIT NONE      IMPLICIT NONE
446    

Legend:
Removed from v.24  
changed lines
  Added in v.76

  ViewVC Help
Powered by ViewVC 1.1.21