source: codes/icosagcm/trunk/src/pression.f90 @ 12

Last change on this file since 12 was 12, checked in by ymipsl, 12 years ago

dynamico tree creation

YM

File size: 1.0 KB
Line 
1MODULE pression_mod
2
3CONTAINS
4
5  SUBROUTINE pression(f_ps,f_p)
6  USE transfert_mod
7  USE field_mod
8  USE dimensions
9  USE geometry
10  USE domain_mod
11  IMPLICIT NONE
12    TYPE(t_field), POINTER :: f_ps(:)
13    TYPE(t_field), POINTER :: f_p(:)
14 
15    REAL(rstd), POINTER :: ps(:)
16    REAL(rstd), POINTER :: p(:,:)
17    INTEGER :: ind
18
19    DO ind=1,ndomain
20      CALL swap_dimensions(ind)
21      CALL swap_geometry(ind)
22      ps=f_ps(ind)
23      p=f_p(ind)
24      CALL compute_pression(ps, p,0)
25    ENDDO
26 
27  END SUBROUTINE pression
28 
29  SUBROUTINE compute_pression(ps,p,offset)
30  USE dimensions
31  USE geometry
32  USE metric
33  USE disvert_mod
34  IMPLICIT NONE
35    REAL(rstd),INTENT(IN) :: ps(iim*jjm)
36    REAL(rstd),INTENT(OUT) :: p(iim*jjm,llm+1)
37    INTEGER,INTENT(IN) :: offset
38    INTEGER :: i,j,ij,l
39
40    DO    l    = 1, llm+1
41      DO j=jj_begin-offset,jj_end+offset
42        DO i=ii_begin-offset,ii_end+offset
43          ij=(j-1)*iim+i
44          p(ij,l) = ap(l) + bp(l) * ps(ij)
45        ENDDO
46      ENDDO
47    ENDDO
48   
49  END SUBROUTINE compute_pression
50
51END MODULE pression_mod
Note: See TracBrowser for help on using the repository browser.