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

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

devel : Nudging towards external data using XIOS

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