source: codes/icosagcm/devel/src/dissip/guided_mod.f90 @ 822

Last change on this file since 822 was 820, checked in by jisesh, 5 years ago

devel : towards nudging (status : relax wind + theta towards initial condition)

File size: 1.7 KB
Line 
1MODULE guided_mod
2
3  CHARACTER(LEN=255),SAVE :: guided_type
4!$OMP THREADPRIVATE(guided_type)
5
6CONTAINS
7
8
9  SUBROUTINE init_guided(f_u,f_theta_rhodz)
10    USE icosa
11    USE guided_ncar_mod, ONLY : init_guided_ncar => init_guided
12    USE nudging_mod, ONLY : init_guided_nudging => init_guided
13    IMPLICIT NONE
14    TYPE(t_field),POINTER :: f_u(:)
15    TYPE(t_field),POINTER :: f_theta_rhodz(:)
16   
17    guided_type='none'
18    CALL getin("guided_type",guided_type)
19   
20    SELECT CASE(TRIM(guided_type))
21      CASE ('none')
22     
23      CASE ('dcmip1')
24        CALL init_guided_ncar
25       
26      CASE ('nudging')
27        CALL init_guided_nudging(f_u,f_theta_rhodz)
28       
29      CASE DEFAULT
30         PRINT*,"Bad selector for varaible guided_type >",TRIM(guided_type),"> option are <none>, <dcmip1>, <nudging>"
31         STOP
32    END SELECT
33   
34  END SUBROUTINE init_guided
35
36  SUBROUTINE guided(tt, f_ps, f_theta_rhodz, f_u, f_q)
37    USE icosa
38    USE guided_ncar_mod, ONLY : guided_ncar => guided
39    USE nudging_mod, ONLY : guided_nudging => guided
40    IMPLICIT NONE
41    REAL(rstd), INTENT(IN):: tt
42    TYPE(t_field),POINTER :: f_ps(:)
43    TYPE(t_field),POINTER :: f_phis(:)
44    TYPE(t_field),POINTER :: f_theta_rhodz(:)
45    TYPE(t_field),POINTER :: f_u(:) 
46    TYPE(t_field),POINTER :: f_q(:) 
47
48    SELECT CASE(TRIM(guided_type))
49      CASE ('none')
50      CASE ('dcmip1')
51        CALL guided_ncar(tt, f_ps, f_theta_rhodz, f_u, f_q)
52      CASE ('nudging')
53!         PRINT *, 'Nudging !', tt
54        CALL guided_nudging(tt, f_ps, f_theta_rhodz, f_u, f_q)
55      CASE DEFAULT
56         PRINT*,"Bad selector for varaible guided_type >",TRIM(guided_type),"> option are <none>, <dcmip1>"
57         STOP
58    END SELECT
59 
60  END SUBROUTINE guided
61 
62END MODULE guided_mod
63 
Note: See TracBrowser for help on using the repository browser.