source: LMDZ6/trunk/libf/misc/lmdz_reprobus_wrappers.F90 @ 5818

Last change on this file since 5818 was 5787, checked in by lfalletti, 4 months ago

Update of lmdz_reprobus_wrappers to work with REPROBUS (needed to update subroutines files into modules).

File size: 3.5 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, sh, debutphy)
84    REAL :: tr_seri(:,:,:), xlon(:), xlat(:), t_seri(:,:), pplay(:,:), paprs(:,:), pphi(:,:), pphis(:), presnivs(:), sh(:,:)
85    LOGICAL :: debutphy
86    CALL lmdz_reprobus_wrapper_abort
87  END SUBROUTINE chemmain_rlong_1401
88
89  SUBROUTINE rtime(debut)
90    LOGICAL :: debut
91    CALL lmdz_reprobus_wrapper_abort
92  END SUBROUTINE rtime
93
94  SUBROUTINE rad_interactif(pozon, iof)
95    real :: pozon(:,:,:)
96    integer :: iof
97    CALL lmdz_reprobus_wrapper_abort
98  END SUBROUTINE rad_interactif
99
100#endif
101END MODULE lmdz_reprobus_wrappers
Note: See TracBrowser for help on using the repository browser.