source: codes/icosagcm/trunk/src/physics_external.F90 @ 352

Last change on this file since 352 was 348, checked in by dubos, 9 years ago

Forgot to add new files

File size: 1.1 KB
Line 
1MODULE physics_external_mod
2  USE field_mod
3 
4  INTEGER,SAVE :: it
5!$OMP THREADPRIVATE(it)
6
7  TYPE(t_field),POINTER,SAVE :: f_phis(:)
8  TYPE(t_field),POINTER,SAVE :: f_ps(:)
9  TYPE(t_field),POINTER,SAVE :: f_theta_rhodz(:)
10  TYPE(t_field),POINTER,SAVE :: f_u(:)
11  TYPE(t_field),POINTER,SAVE :: f_wflux(:)
12  TYPE(t_field),POINTER,SAVE :: f_q(:)
13 
14 
15 
16CONTAINS
17
18  SUBROUTINE init_physics
19
20    CALL initialize_external_physics
21       
22  END SUBROUTINE init_physics
23 
24  SUBROUTINE physics(it_,f_phis_, f_ps_, f_theta_rhodz_, f_u_, f_wflux_, f_q_)
25  USE field_mod
26  IMPLICIT NONE
27    INTEGER,INTENT(IN)    :: it_
28    TYPE(t_field),POINTER :: f_phis_(:)
29    TYPE(t_field),POINTER :: f_ps_(:)
30    TYPE(t_field),POINTER :: f_theta_rhodz_(:)
31    TYPE(t_field),POINTER :: f_u_(:)
32    TYPE(t_field),POINTER :: f_wflux_(:)
33    TYPE(t_field),POINTER :: f_q_(:)
34
35    it=it_
36   
37!$OMP BARRIER
38!$OMP MASTER
39    f_phis=>f_phis_
40    f_ps=>f_ps_
41    f_theta_rhodz=>f_theta_rhodz_
42    f_u=>f_u_
43    f_wflux=>f_wflux_
44    f_q=>f_q_
45!$OMP END MASTER
46!$OMP BARRIER
47
48    CALL external_physics
49   
50  END SUBROUTINE physics
51 
52 
53END MODULE physics_external_mod
54   
55 
Note: See TracBrowser for help on using the repository browser.