| 1 | ! reprobus SUBROUTINE wrappers |
|---|
| 2 | |
|---|
| 3 | MODULE lmdz_reprobus_wrappers |
|---|
| 4 | |
|---|
| 5 | #ifdef REPROBUS |
|---|
| 6 | USE CHEM_REP |
|---|
| 7 | #else |
|---|
| 8 | USE mod_grid_phy_lmdz, ONLY: nbp_lon, nbp_lat |
|---|
| 9 | |
|---|
| 10 | |
|---|
| 11 | IMPLICIT NONE |
|---|
| 12 | |
|---|
| 13 | ! TODO ugly temp solution until we properly wrap the REPROBUS code |
|---|
| 14 | INTEGER :: itroprep(1) |
|---|
| 15 | INTEGER :: iter, ndimozon |
|---|
| 16 | REAL :: rsuntime(2), pdt_rep, daynum, solaireTIME, gravit, Z1, Z2, fac, B |
|---|
| 17 | REAL :: ptrop(1), ttrop(1), ztrop(1) |
|---|
| 18 | REAL, DIMENSION(1, 1) :: pdel, d_q_rep, d_ql_rep, d_qi_rep, rch42d, rn2o2d, rcfc112d, rcfc122d |
|---|
| 19 | LOGICAL :: ok_suntime, ok_rtime2d |
|---|
| 20 | |
|---|
| 21 | CONTAINS |
|---|
| 22 | |
|---|
| 23 | SUBROUTINE lmdz_reprobus_wrapper_abort |
|---|
| 24 | STOP 'REPROBUS key undefined, must not enter in REPROBUS wrappers ==> aborting' |
|---|
| 25 | END SUBROUTINE lmdz_reprobus_wrapper_abort |
|---|
| 26 | |
|---|
| 27 | ! TODO replace ugly wrappers below with actual signatures from REPROBUS code |
|---|
| 28 | |
|---|
| 29 | SUBROUTINE init_chem_rep_trac(nbtr, nqo, name) |
|---|
| 30 | INTEGER :: nbtr, nqo |
|---|
| 31 | CHARACTER(len = 256) :: name(:) |
|---|
| 32 | CALL lmdz_reprobus_wrapper_abort |
|---|
| 33 | END SUBROUTINE init_chem_rep_trac |
|---|
| 34 | |
|---|
| 35 | SUBROUTINE init_chem_rep_phys(klon, klev) |
|---|
| 36 | INTEGER :: klon, klev |
|---|
| 37 | CALL lmdz_reprobus_wrapper_abort |
|---|
| 38 | END SUBROUTINE init_chem_rep_phys |
|---|
| 39 | |
|---|
| 40 | SUBROUTINE init_chem_rep_xjour(j) |
|---|
| 41 | REAL :: j |
|---|
| 42 | CALL lmdz_reprobus_wrapper_abort |
|---|
| 43 | END SUBROUTINE init_chem_rep_xjour |
|---|
| 44 | |
|---|
| 45 | SUBROUTINE finalize_reprobus |
|---|
| 46 | CALL lmdz_reprobus_wrapper_abort |
|---|
| 47 | END SUBROUTINE finalize_reprobus |
|---|
| 48 | |
|---|
| 49 | SUBROUTINE init_reprobus_para(nlon, nlat, nlev, klon, mpi_size, distrib_phys, communicator) |
|---|
| 50 | INTEGER :: nlon, nlat, nlev, klon, mpi_size, distrib_phys(:), communicator |
|---|
| 51 | CALL lmdz_reprobus_wrapper_abort |
|---|
| 52 | END SUBROUTINE init_reprobus_para |
|---|
| 53 | |
|---|
| 54 | SUBROUTINE chemini_rep(presnivs, pdtphys, annee_ref, day_ref, day_ini, start_time, itau_phy, io_lon, io_lat) |
|---|
| 55 | INTEGER :: annee_ref, day_ref, day_ini, itau_phy |
|---|
| 56 | REAL :: presnivs(:), pdtphys, start_time, io_lon(:), io_lat(:) |
|---|
| 57 | CALL lmdz_reprobus_wrapper_abort |
|---|
| 58 | END SUBROUTINE chemini_rep |
|---|
| 59 | |
|---|
| 60 | SUBROUTINE chemtime_rep(it, date, tstep, itap) |
|---|
| 61 | INTEGER :: it, itap |
|---|
| 62 | REAL :: date, tstep |
|---|
| 63 | CALL lmdz_reprobus_wrapper_abort |
|---|
| 64 | END SUBROUTINE chemtime_rep |
|---|
| 65 | |
|---|
| 66 | SUBROUTINE coord_hyb_rep(paprs, pplay, aps, bps, ap, bp, cell_area) |
|---|
| 67 | REAL :: paprs(:,:), pplay(:,:), aps(:), bps(:), ap(:), bp(:), cell_area(:) |
|---|
| 68 | CALL lmdz_reprobus_wrapper_abort |
|---|
| 69 | END SUBROUTINE coord_hyb_rep |
|---|
| 70 | |
|---|
| 71 | SUBROUTINE chemmain_rlong_1401(tr_seri, xlon, xlat, t_seri, pplay, paprs, pphi, pphis, presnivs, sh, debutphy) |
|---|
| 72 | REAL :: tr_seri(:,:,:), xlon(:), xlat(:), t_seri(:,:), pplay(:,:), paprs(:,:), pphi(:,:), pphis(:), presnivs(:), sh(:,:) |
|---|
| 73 | LOGICAL :: debutphy |
|---|
| 74 | CALL lmdz_reprobus_wrapper_abort |
|---|
| 75 | END SUBROUTINE chemmain_rlong_1401 |
|---|
| 76 | |
|---|
| 77 | SUBROUTINE rtime(debut) |
|---|
| 78 | LOGICAL :: debut |
|---|
| 79 | CALL lmdz_reprobus_wrapper_abort |
|---|
| 80 | END SUBROUTINE rtime |
|---|
| 81 | |
|---|
| 82 | SUBROUTINE rad_interactif(pozon, iof) |
|---|
| 83 | real :: pozon(:,:,:) |
|---|
| 84 | integer :: iof |
|---|
| 85 | CALL lmdz_reprobus_wrapper_abort |
|---|
| 86 | END SUBROUTINE rad_interactif |
|---|
| 87 | |
|---|
| 88 | #endif |
|---|
| 89 | END MODULE lmdz_reprobus_wrappers |
|---|