source: LMDZ6/branches/LMDZISOdevSN/libf/misc/lmdz_reprobus_wrappers.F90

Last change on this file was 5937, checked in by lfalletti, 4 months ago

Bug fix pour commit 5935 (mise a jour pour REPROBUS)

File size: 4.2 KB
Line 
1! reprobus SUBROUTINE wrappers
2
3MODULE lmdz_reprobus_wrappers
4
5#ifdef REPROBUS
6  USE CHEM_REP, ONLY: init_chem_rep_trac, init_chem_rep_phys, init_chem_rep_xjour, &
7          pdel, d_q_rep, d_ql_rep, d_qi_rep, &
8          iter, rsuntime, pdt_rep, daynum, rch42d, rn2o2d, rcfc112d, rcfc122d, &
9          ptrop, ttrop, ztrop, gravit, itroprep, Z1, Z2, fac, B, &
10          solaireTIME, ok_SUNTIME, ok_rtime2d, ndimozon
11  USE CHEMINI_REPR, ONLY: CHEMINI_REP
12  USE chemmain_rlong, ONLY: chemmain_rlong_1401
13  USE CHEMTIME_REPR, ONLY: CHEMTIME_REP
14  USE COORD_HYB_REPR, ONLY: COORD_HYB_REP
15  USE finalize_repr, ONLY: finalize_reprobus
16  USE init_repr_para, ONLY: init_reprobus_para
17  USE rad_interactif_repr, ONLY: rad_interactif
18  USE rtime_repr, ONLY: rtime
19#else
20  USE mod_grid_phy_lmdz, ONLY: nbp_lon, nbp_lat
21
22
23  IMPLICIT NONE
24
25  ! TODO ugly temp solution until we properly wrap the REPROBUS code
26  INTEGER :: itroprep(1)
27  INTEGER ::  iter, ndimozon
28  REAL :: rsuntime(2), pdt_rep, daynum, solaireTIME, gravit, Z1, Z2, fac, B
29  REAL :: ptrop(1), ttrop(1), ztrop(1)
30  REAL, DIMENSION(1, 1) :: pdel, d_q_rep, d_ql_rep, d_qi_rep, rch42d, rn2o2d, rcfc112d, rcfc122d
31  LOGICAL :: ok_suntime, ok_rtime2d
32
33CONTAINS
34
35  SUBROUTINE lmdz_reprobus_wrapper_abort
36    STOP 'REPROBUS key undefined, must not enter in REPROBUS wrappers ==> aborting'
37  END SUBROUTINE lmdz_reprobus_wrapper_abort
38
39  ! TODO replace ugly wrappers below with actual signatures from REPROBUS code
40
41  SUBROUTINE init_chem_rep_trac(nbtr, nqo, name)
42    INTEGER :: nbtr, nqo
43    CHARACTER(len = 256) :: name(:)
44    CALL lmdz_reprobus_wrapper_abort
45  END SUBROUTINE init_chem_rep_trac
46
47  SUBROUTINE init_chem_rep_phys(klon, klev)
48    INTEGER :: klon, klev
49    CALL lmdz_reprobus_wrapper_abort
50  END SUBROUTINE init_chem_rep_phys
51
52  SUBROUTINE init_chem_rep_xjour(j)
53    REAL :: j
54    CALL lmdz_reprobus_wrapper_abort
55  END SUBROUTINE init_chem_rep_xjour
56
57  SUBROUTINE finalize_reprobus
58    CALL lmdz_reprobus_wrapper_abort
59  END SUBROUTINE finalize_reprobus
60
61  SUBROUTINE init_reprobus_para(nlon, nlat, nlev, klon, mpi_size, distrib_phys, communicator)
62    INTEGER :: nlon, nlat, nlev, klon, mpi_size, distrib_phys(:), communicator
63    CALL lmdz_reprobus_wrapper_abort
64  END SUBROUTINE init_reprobus_para
65
66  SUBROUTINE chemini_rep(presnivs, pdtphys, annee_ref, day_ref, day_ini, start_time, itau_phy, io_lon, io_lat)
67    INTEGER :: annee_ref, day_ref, day_ini, itau_phy
68    REAL :: presnivs(:), pdtphys, start_time, io_lon(:), io_lat(:)
69    CALL lmdz_reprobus_wrapper_abort
70  END SUBROUTINE chemini_rep
71
72  SUBROUTINE chemtime_rep(it, date, tstep, itap)
73    INTEGER :: it, itap
74    REAL :: date, tstep
75    CALL lmdz_reprobus_wrapper_abort
76  END SUBROUTINE chemtime_rep
77
78  SUBROUTINE coord_hyb_rep(paprs, pplay, aps, bps, ap, bp, cell_area)
79    REAL :: paprs(:,:), pplay(:,:), aps(:), bps(:), ap(:), bp(:), cell_area(:)
80    CALL lmdz_reprobus_wrapper_abort
81  END SUBROUTINE coord_hyb_rep
82
83  SUBROUTINE chemmain_rlong_1401(tr_seri, xlon, xlat, t_seri, pplay, paprs, pphi, pphis, presnivs, debutphy, ql_seri, qs_seri, q_seri,  &
84            nSpeciesErupt, flag_emit, budg_emi, nErupt, &
85            injdur, year_emit_vol, mth_emit_vol, &
86            day_emit_vol, altemiss_vol, sigma_alt_vol, &
87            ponde_lonlat_vol, xlat_min_vol, xlat_max_vol, &
88            xlon_min_vol, xlon_max_vol, id_species, &
89            m_species_emiss_vol)
90    REAL :: tr_seri(:,:,:), xlon(:), xlat(:), t_seri(:,:), pplay(:,:), paprs(:,:), pphi(:,:), pphis(:), presnivs(:), ql_seri(:,:), qs_seri(:,:), q_seri(:,:)
91    REAL :: budg_emi(:,:), injdur, altemiss_vol(:), sigma_alt_vol(:), xlat_min_vol(:), xlat_max_vol(:), xlon_min_vol(:), xlon_max_vol(:), m_species_emiss_vol(:,:)
92    INTEGER :: nSpeciesErupt, flag_emit, nErupt, year_emit_vol(:), mth_emit_vol(:), day_emit_vol(:), ponde_lonlat_vol(:), id_species(:)
93    LOGICAL :: debutphy
94    CALL lmdz_reprobus_wrapper_abort
95  END SUBROUTINE chemmain_rlong_1401
96
97  SUBROUTINE rtime(debut)
98    LOGICAL :: debut
99    CALL lmdz_reprobus_wrapper_abort
100  END SUBROUTINE rtime
101
102  SUBROUTINE rad_interactif(pozon, iof, tr_seri, nbtr)
103    real :: pozon(:,:,:), tr_seri(:,:,:)
104    integer :: iof, nbtr
105    CALL lmdz_reprobus_wrapper_abort
106  END SUBROUTINE rad_interactif
107
108#endif
109END MODULE lmdz_reprobus_wrappers
Note: See TracBrowser for help on using the repository browser.