source: LMDZ6/trunk/libf/misc/lmdz_cosp_wrappers.F90 @ 5423

Last change on this file since 5423 was 5329, checked in by abarral, 6 weeks ago

Empty commit to amend previous commit message (mistake)
Should have been: add missing cospv2 wrapper

File size: 5.6 KB
Line 
1! cosp SUBROUTINE wrappers
2
3SUBROUTINE lmdz_cosp_wrapper_abort
4  STOP 'COSP/COSP2/COSPV2 key undefined, must not enter in COSP wrappers ==> aborting'
5END SUBROUTINE lmdz_cosp_wrapper_abort
6
7#ifndef COSP
8
9SUBROUTINE phys_cosp(itap, dtime, freq_cosp, &
10        ok_mensuelCOSP, ok_journeCOSP, ok_hfCOSP, &
11        ecrit_mth, ecrit_day, ecrit_hf, ok_all_xml, missing_val, &
12        Nptslmdz, Nlevlmdz, lon, lat, presnivs, overlaplmdz, sunlit, &
13        ref_liq, ref_ice, fracTerLic, u_wind, v_wind, phis, phi, ph, p, skt, t, &
14        sh, rh, tca, cca, mr_lsliq, mr_lsice, fl_lsrainI, fl_lssnowI, &
15        fl_ccrainI, fl_ccsnowI, mr_ozone, dtau_s, dem_s)
16
17  IMPLICIT NONE
18
19  Integer :: Nptslmdz, Nlevlmdz ! Nb de points issus de physiq.F
20
21  ! Declaration necessaires pour les sorties IOIPSL
22  integer :: ii
23  real :: ecrit_day, ecrit_hf, ecrit_mth, missing_val
24  logical :: ok_mensuelCOSP, ok_journeCOSP, ok_hfCOSP, ok_all_xml
25
26  integer :: overlaplmdz   !  overlap type: 1=max, 2=rand, 3=max/rand ! cosp input (output lmdz)
27  real, dimension(Nptslmdz, Nlevlmdz) :: height, phi, p, ph, T, sh, rh, tca, cca, mr_lsliq, mr_lsice, mr_ccliq, mr_ccice, &
28          fl_lsrain, fl_lssnow, fl_ccrain, fl_ccsnow, fl_lsgrpl, &
29          zlev, zlev_half, mr_ozone, radliq, radice, dtau_s, dem_s, ref_liq, ref_ice
30  real, dimension(Nptslmdz, Nlevlmdz) :: fl_lsrainI, fl_lssnowI, fl_ccrainI, fl_ccsnowI
31  real, dimension(Nptslmdz) :: lon, lat, skt, fracTerLic, u_wind, v_wind, phis, sunlit
32  real, dimension(Nlevlmdz) :: presnivs
33  integer :: itap, k, ip
34  real :: dtime, freq_cosp
35  real, dimension(2) :: time_bnds
36
37  double precision :: d_dtime
38  double precision, dimension(2) :: d_time_bnds
39
40  CALL lmdz_cosp_wrapper_abort
41
42END SUBROUTINE phys_cosp
43
44#endif
45
46#ifndef COSP2
47
48subroutine phys_cosp2( itap,dtime,freq_cosp, ok_mensuelCOSP, ok_journeCOSP,   &
49                         ok_hfCOSP, ecrit_mth, ecrit_day, ecrit_hf, ok_all_xml,   &
50                         missing_val, Nptslmdz, Nlevlmdz, lon, lat, presnivs,     &
51                         overlaplmdz, sunlit, ref_liq, ref_ice, fracTerLic,       &
52                         u_wind, v_wind, phis, phi, ph, p, skt, t, sh, rh,        &
53                         tca, cca, mr_lsliq, mr_lsice, fl_lsrainI, fl_lssnowI,    &
54                         fl_ccrainI, fl_ccsnowI, mr_ozone, dtau_s, dem_s)
55
56  IMPLICIT NONE
57
58!-----------------------------  Input variables from LMDZ-GCM  -------------------------------
59  integer                                    :: overlaplmdz   ! overlap type: 1=max,
60                                                              ! 2=rand, 3=max/rand
61  logical :: ok_mensuelcosp, ok_journecosp, ok_hfcosp, ok_all_xml
62  real :: ecrit_mth, ecrit_day, ecrit_hf, missing_val
63  integer :: nptslmdz, nlevlmdz
64  real, dimension(Nptslmdz,Nlevlmdz)         :: phi, p, ph, T, sh, rh, tca, cca, mr_lsliq,   &
65                                                mr_lsice, mr_ccliq, mr_ccice, fl_lsrain,     &
66                                                fl_lssnow, fl_ccrain, fl_ccsnow, fl_lsgrpl,  &
67                                                zlev, zlev_half, mr_ozone, radliq, radice,   &
68                                                dtau_s, dem_s, dtau_c, dem_c, ref_liq, ref_ice
69  real, dimension(Nptslmdz,Nlevlmdz)         :: fl_lsrainI, fl_lssnowI, fl_ccrainI, fl_ccsnowI
70  real, dimension(Nptslmdz)                  :: lon, lat, skt, fracTerLic, u_wind, v_wind, &
71                                                phis, sunlit
72  real, dimension(Nptslmdz)                  :: land ! variables intermediaire pour masque TerLic
73  real, dimension(Nlevlmdz)                  :: presnivs
74  integer                                    :: itap, k, ip
75  real                                       :: dtime, freq_cosp
76  real, dimension(2)                         :: time_bnds
77
78  double precision                           :: d_dtime
79  double precision, dimension(2)             :: d_time_bnds
80
81  CALL lmdz_cosp_wrapper_abort
82
83end subroutine phys_cosp2
84
85#endif
86
87#ifndef COSPV2
88!
89subroutine lmdz_cosp_interface(itap, dtime, freq_cosp, ok_mensuelCOSP, ok_journeCOSP, &
90        ok_hfCOSP, ecrit_mth, ecrit_day, ecrit_hf, ok_all_xml, &
91        missing_val, Nptslmdz, Nlevlmdz, lon, lat, presnivs, &
92        overlaplmdz, sunlit, ref_liq, ref_ice, fracTerLic, &
93        u_wind, v_wind, phis, phi, ph, p, skt, t, sh, rh, &
94        tca, cca, mr_lsliq, mr_lsice, fl_lsrainI, fl_lssnowI, &
95        fl_ccrainI, fl_ccsnowI, mr_ozone, dtau_s, dem_s)
96
97  integer                       :: Nptslmdz, Nlevlmdz   ! Nb de points issus de physiq.F
98  real          :: ecrit_day, ecrit_hf, ecrit_mth, missing_val
99  logical       :: ok_mensuelCOSP, ok_journeCOSP, ok_hfCOSP, ok_all_xml
100  integer                                    :: overlaplmdz   ! overlap type: 1=max,
101                                                              ! 2=rand, 3=max/rand
102  real, dimension(Nptslmdz,Nlevlmdz)         :: phi, p, ph, T, sh, rh, tca, cca, mr_lsliq,   &
103                                                mr_lsice, mr_ccliq, mr_ccice, fl_lsrain,     &
104                                                fl_lssnow, fl_ccrain, fl_ccsnow, fl_lsgrpl,  &
105                                                zlev, zlev_half, mr_ozone, radliq, radice,   &
106                                                dtau_s, dem_s, dtau_c, dem_c, ref_liq, ref_ice
107  real, dimension(Nptslmdz,Nlevlmdz)         :: fl_lsrainI, fl_lssnowI, fl_ccrainI, fl_ccsnowI
108  real, dimension(Nptslmdz)                  :: lon, lat, skt, fracTerLic, u_wind, v_wind, &
109                                                phis, sunlit
110  real, dimension(Nptslmdz)                  :: land ! variables intermediaire pour masque TerLic
111  real, dimension(Nlevlmdz)                  :: presnivs
112  integer                                    :: itap, k, ip
113  real                                       :: dtime, freq_cosp
114  real, dimension(2)                         :: time_bnds
115
116  double precision                           :: d_dtime
117  double precision, dimension(2)             :: d_time_bnds
118
119
120  CALL lmdz_cosp_wrapper_abort
121
122end subroutine lmdz_cosp_interface
123
124#endif
Note: See TracBrowser for help on using the repository browser.