| 1 | ! reprobus SUBROUTINE wrappers |
|---|
| 2 | |
|---|
| 3 | MODULE 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 | |
|---|
| 33 | CONTAINS |
|---|
| 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 |
|---|
| 101 | END MODULE lmdz_reprobus_wrappers |
|---|