- Timestamp:
- Jul 23, 2024, 3:29:36 PM (3 months ago)
- File:
-
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/misc/lmdz_inca_wrappers.F90
r5101 r5103 1 ! mpi subroutine wrappers 2 3 #ifndef CPP_MPI 4 5 SUBROUTINE lmdz_mpi_wrapper_abort 6 STOP 'CPP_MPI key undefined, must not enter in MPI wrappers ==> aborting' 7 END SUBROUTINE lmdz_mpi_wrapper_abort 8 9 SUBROUTINE MPI_ABORT(COMM, ERRORCODE, IERROR) 10 IMPLICIT NONE 11 INTEGER :: COMM, ERRORCODE, IERROR 12 CALL lmdz_mpi_wrapper_abort 13 END SUBROUTINE MPI_ABORT 14 15 SUBROUTINE MPI_ALLGATHER(SENDBUF, SENDCOUNT, SENDTYPE, RECVBUF, RECVCOUNT, RECVTYPE, COMM, IERROR) 16 USE ISO_C_BINDING 17 IMPLICIT NONE 18 TYPE(C_PTR),VALUE :: SENDBUF , RECVBUF 19 INTEGER SENDCOUNT, SENDTYPE, RECVCOUNT, RECVTYPE, COMM 20 INTEGER IERROR 21 CALL lmdz_mpi_wrapper_abort 22 END SUBROUTINE MPI_ALLGATHER 23 24 SUBROUTINE MPI_COMM_SIZE(COMM, SIZE, IERROR) 25 IMPLICIT NONE 26 INTEGER COMM, SIZE, IERROR 27 CALL lmdz_mpi_wrapper_abort 28 END SUBROUTINE MPI_COMM_SIZE 29 30 SUBROUTINE MPI_COMM_RANK(COMM, RANK, IERROR) 31 IMPLICIT NONE 32 INTEGER COMM, RANK, IERROR 33 CALL lmdz_mpi_wrapper_abort 34 END SUBROUTINE MPI_COMM_RANK 35 36 SUBROUTINE MPI_BARRIER(COMM, IERROR) 37 IMPLICIT NONE 38 INTEGER COMM, IERROR 39 CALL lmdz_mpi_wrapper_abort 40 END SUBROUTINE MPI_BARRIER 41 42 SUBROUTINE MPI_ISEND(BUF, COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR) 43 USE ISO_C_BINDING 44 IMPLICIT NONE 45 TYPE(C_PTR),VALUE :: BUF 46 INTEGER COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR 47 48 CALL lmdz_mpi_wrapper_abort 49 END SUBROUTINE MPI_ISEND 50 51 SUBROUTINE MPI_ISSEND(BUF, COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR) 52 USE ISO_C_BINDING 53 IMPLICIT NONE 54 TYPE(C_PTR),VALUE :: BUF 55 INTEGER COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR 56 CALL lmdz_mpi_wrapper_abort 57 END SUBROUTINE MPI_ISSEND 58 59 SUBROUTINE MPI_IRECV(BUF, COUNT, DATATYPE, SOURCE, TAG, COMM, REQUEST, IERROR) 60 USE ISO_C_BINDING 61 IMPLICIT NONE 62 TYPE(C_PTR),VALUE :: BUF 63 INTEGER COUNT, DATATYPE, SOURCE, TAG, COMM, REQUEST, IERROR 64 CALL lmdz_mpi_wrapper_abort 65 END SUBROUTINE MPI_IRECV 66 67 SUBROUTINE MPI_WAITALL(COUNT, ARRAY_OF_REQUESTS, ARRAY_OF_STATUSES, IERROR) 68 USE lmdz_mpi, ONLY: MPI_STATUS_SIZE 69 IMPLICIT NONE 70 INTEGER COUNT, ARRAY_OF_REQUESTS(*) 71 INTEGER ARRAY_OF_STATUSES(MPI_STATUS_SIZE,*), IERROR 72 CALL lmdz_mpi_wrapper_abort 73 END SUBROUTINE MPI_WAITALL 74 75 SUBROUTINE MPI_GATHERV(SENDBUF, SENDCOUNT, SENDTYPE, RECVBUF, RECVCOUNTS, DISPLS, RECVTYPE, ROOT, COMM, IERROR) 76 USE ISO_C_BINDING 77 IMPLICIT NONE 78 TYPE(C_PTR),VALUE :: SENDBUF, RECVBUF 79 INTEGER SENDCOUNT, SENDTYPE, RECVCOUNTS(*), DISPLS(*) 80 INTEGER RECVTYPE, ROOT, COMM, IERROR 81 CALL lmdz_mpi_wrapper_abort 82 END SUBROUTINE MPI_GATHERV 83 84 SUBROUTINE MPI_BCAST(BUFFER, COUNT, DATATYPE, ROOT, COMM, IERROR) 85 USE ISO_C_BINDING 86 IMPLICIT NONE 87 TYPE(C_PTR),VALUE :: BUFFER 88 INTEGER COUNT, DATATYPE, ROOT, COMM, IERROR 89 CALL lmdz_mpi_wrapper_abort 90 END SUBROUTINE MPI_BCAST 91 92 SUBROUTINE MPI_ALLREDUCE(SENDBUF, RECVBUF, COUNT, DATATYPE, OP, COMM, IERROR) 93 USE ISO_C_BINDING 94 IMPLICIT NONE 95 TYPE(C_PTR),VALUE :: SENDBUF, RECVBUF 96 INTEGER COUNT, DATATYPE, OP, COMM, IERROR 97 CALL lmdz_mpi_wrapper_abort 98 END SUBROUTINE MPI_ALLREDUCE 99 100 SUBROUTINE MPI_INIT_THREAD(REQUIRED, PROVIDED, IERROR) 101 IMPLICIT NONE 102 INTEGER REQUIRED, PROVIDED, IERROR 103 CALL lmdz_mpi_wrapper_abort 104 END SUBROUTINE MPI_INIT_THREAD 105 106 SUBROUTINE MPI_ALLOC_MEM(SIZE, INFO, BASEPTR, IERROR) 107 USE lmdz_mpi, ONLY: MPI_ADDRESS_KIND 108 IMPLICIT NONE 109 INTEGER INFO, IERROR 110 INTEGER(KIND=MPI_ADDRESS_KIND) SIZE, BASEPTR 111 CALL lmdz_mpi_wrapper_abort 112 END SUBROUTINE MPI_ALLOC_MEM 113 114 SUBROUTINE MPI_SCATTERV(SENDBUF, SENDCOUNTS, DISPLS, SENDTYPE, RECVBUF, RECVCOUNT, RECVTYPE, ROOT, COMM, IERROR) 115 USE ISO_C_BINDING 116 IMPLICIT NONE 117 TYPE(C_PTR),VALUE :: SENDBUF, RECVBUF 118 INTEGER SENDCOUNTS(*), DISPLS(*), SENDTYPE 119 INTEGER RECVCOUNT, RECVTYPE, ROOT, COMM, IERROR 120 CALL lmdz_mpi_wrapper_abort 121 END SUBROUTINE MPI_SCATTERV 122 123 SUBROUTINE MPI_REDUCE(SENDBUF, RECVBUF, COUNT, DATATYPE, OP, ROOT, COMM, IERROR) 124 USE ISO_C_BINDING 125 IMPLICIT NONE 126 TYPE(C_PTR),VALUE :: SENDBUF, RECVBUF 127 INTEGER COUNT, DATATYPE, OP, ROOT, COMM, IERROR 128 CALL lmdz_mpi_wrapper_abort 129 END SUBROUTINE MPI_REDUCE 130 131 SUBROUTINE MPI_RECV(BUF, COUNT, DATATYPE, SOURCE, TAG, COMM, STATUS, IERROR) 132 USE ISO_C_BINDING 133 USE lmdz_mpi, ONLY: MPI_STATUS_SIZE 134 IMPLICIT NONE 135 TYPE(C_PTR),VALUE :: BUF 136 INTEGER COUNT, DATATYPE, SOURCE, TAG, COMM 137 INTEGER STATUS(MPI_STATUS_SIZE), IERROR 138 CALL lmdz_mpi_wrapper_abort 139 END SUBROUTINE MPI_RECV 140 141 SUBROUTINE MPI_SEND(BUF, COUNT, DATATYPE, DEST, TAG, COMM, IERROR) 142 USE ISO_C_BINDING 143 IMPLICIT NONE 144 TYPE(C_PTR),VALUE :: BUF 145 INTEGER COUNT, DATATYPE, DEST, TAG, COMM, IERROR 146 CALL lmdz_mpi_wrapper_abort 147 END SUBROUTINE MPI_SEND 148 149 SUBROUTINE MPI_COMM_SPLIT(COMM, COLOR, KEY, NEWCOMM, IERROR) 150 IMPLICIT NONE 151 INTEGER COMM, COLOR, KEY, NEWCOMM, IERROR 152 CALL lmdz_mpi_wrapper_abort 153 END SUBROUTINE MPI_COMM_SPLIT 154 155 156 SUBROUTINE MPI_GATHER(SENDBUF, SENDCOUNT, SENDTYPE, RECVBUF, RECVCOUNT, RECVTYPE, ROOT, COMM, IERROR) 157 USE ISO_C_BINDING 158 IMPLICIT NONE 159 TYPE(C_PTR),VALUE :: SENDBUF, RECVBUF 160 INTEGER SENDCOUNT, SENDTYPE, RECVCOUNT, RECVTYPE, ROOT 161 INTEGER COMM, IERROR 162 CALL lmdz_mpi_wrapper_abort 163 END SUBROUTINE MPI_GATHER 164 165 166 SUBROUTINE MPI_FINALIZE(IERROR) 167 IMPLICIT NONE 168 INTEGER IERROR 169 CALL lmdz_mpi_wrapper_abort 170 END SUBROUTINE MPI_Finalize 1 ! inca SUBROUTINE wrappers 2 3 #ifndef INCA 4 5 SUBROUTINE lmdz_inca_wrapper_abort 6 STOP 'INCA key undefined, must not enter in INCA wrappers ==> aborting' 7 END SUBROUTINE lmdz_inca_wrapper_abort 8 9 SUBROUTINE Init_chem_inca_trac(NBTR) 10 IMPLICIT NONE 11 INTEGER, INTENT(out) :: nbtr 12 13 CALL lmdz_inca_wrapper_abort 14 END SUBROUTINE Init_chem_inca_trac 15 16 SUBROUTINE init_transport(& 17 tracnam_lmdz, & 18 conv_flg_lmdz, & 19 pbl_flg_lmdz, & 20 hadv_flg_lmdz, & 21 vadv_flg_lmdz) 22 IMPLICIT NONE 23 INTEGER, DIMENSION(:), INTENT(out) :: hadv_flg_lmdz 24 INTEGER, DIMENSION(:), INTENT(out) :: vadv_flg_lmdz 25 26 INTEGER, DIMENSION(:), INTENT(out) :: conv_flg_lmdz 27 INTEGER, DIMENSION(:), INTENT(out) :: pbl_flg_lmdz 28 CHARACTER(len = 8), DIMENSION(:), INTENT(out) :: tracnam_lmdz 29 30 CALL lmdz_inca_wrapper_abort 31 END SUBROUTINE init_transport 32 33 SUBROUTINE finalize_inca 34 IMPLICIT NONE 35 CALL lmdz_inca_wrapper_abort 36 END SUBROUTINE finalize_inca 37 38 SUBROUTINE CHEMHOOK_BEGIN(& 39 calday, & 40 ijour, & 41 gmtime, & 42 oro, & 43 lat, & 44 lon, & 45 area, & 46 pfull, & 47 pmid, & 48 coefh, & 49 zma, & 50 temp, & 51 u, & 52 v, & 53 rot, & 54 ozrad, & 55 sh, & 56 ts, & 57 t_air_2m, & 58 dpth_snow, & 59 sws, & 60 albs, & 61 rain_fall, & 62 snow_fall, & 63 ctop, & 64 cbot, & 65 cldfr, & 66 nx, & 67 ny, & 68 mmr, & 69 ftsol, & 70 paprs, & 71 cdragh, & 72 cdragm, & 73 pctsrf, & 74 delt, & 75 nstep) 76 IMPLICIT NONE 77 REAL, INTENT(IN) :: calday 78 INTEGER, INTENT(in) :: ijour ! jour julien 79 REAL, INTENT(in) :: gmtime ! input-R-temps universel dans la journee (0 a 86400 s) 80 INTEGER, INTENT(IN) :: ctop(:) 81 INTEGER, INTENT(IN) :: cbot(:) 82 INTEGER, INTENT(IN) :: nx, ny 83 REAL, INTENT(IN) :: pmid(:, :) 84 REAL, INTENT(IN) :: pfull(:, :) 85 REAL, INTENT(IN) :: coefh(:, :) 86 REAL, INTENT(IN) :: zma(:, :) 87 REAL, INTENT(IN) :: temp(:, :) 88 REAL, INTENT(IN) :: u(:, :) 89 REAL, INTENT(IN) :: v(:, :) 90 REAL, INTENT(IN) :: rot(:, :) 91 REAL, INTENT(IN) :: ozrad(:, :) 92 REAL, INTENT(IN) :: sh(:, :) 93 REAL, INTENT(IN) :: lat(:) 94 REAL, INTENT(IN) :: lon(:) 95 REAL, INTENT(IN) :: oro(:) 96 REAL, INTENT(IN) :: area(:) 97 REAL, INTENT(IN) :: ts(:) 98 REAL, INTENT(IN) :: t_air_2m(:) ! air temperature near surface 99 REAL, INTENT(IN) :: dpth_snow(:) 100 REAL, INTENT(IN) :: sws(:) 101 REAL, INTENT(IN) :: albs(:) 102 REAL, INTENT(IN) :: rain_fall(:) 103 REAL, INTENT(IN) :: snow_fall(:) 104 REAL, INTENT(IN) :: mmr(:, :, :) 105 REAL, INTENT(IN) :: cldfr (:, :) 106 ! variables used in nightingale 107 REAL, INTENT(in) :: ftsol(:, :) 108 REAL, INTENT(in) :: paprs(:, :) 109 REAL, INTENT(in) :: cdragh(:), cdragm(:) 110 REAL, INTENT(in) :: pctsrf(:, :) 111 REAL, INTENT(in) :: delt ! timestep in seconds of physics 112 INTEGER, INTENT(IN) :: nstep ! model time step 113 114 CALL lmdz_inca_wrapper_abort 115 END SUBROUTINE CHEMHOOK_BEGIN 116 117 SUBROUTINE CHEMHOOK_END(& 118 dt, & 119 pmid, & 120 temp, & 121 mmr, & 122 nbtr, & 123 paprs, & 124 sh, & 125 area, & 126 zma, & 127 phis, & 128 rh, aps, bps, ap, bp, lafin) 129 IMPLICIT NONE 130 INTEGER, INTENT(IN) :: nbtr 131 REAL, INTENT(IN) :: dt 132 REAL, INTENT(IN) :: pmid(:, :) 133 REAL, INTENT(IN) :: area(:) 134 REAL, INTENT(IN) :: temp(:, :) 135 REAL, INTENT(IN) :: paprs(:, :) 136 REAL, INTENT(IN) :: sh(:, :) 137 REAL, INTENT(INOUT) :: mmr(:, :, :) 138 REAL, INTENT(IN) :: zma(:, :) 139 REAL, INTENT(IN) :: phis(:) 140 REAL, INTENT(IN) :: rh(:, :) 141 REAL, INTENT(IN), DIMENSION(:) :: aps, bps 142 REAL, INTENT(IN), DIMENSION(:) :: ap, bp 143 LOGICAL, INTENT(IN) :: lafin 144 145 CALL lmdz_inca_wrapper_abort 146 END SUBROUTINE chemhook_end 147 148 SUBROUTINE chemtime(istp, date0, dt, itap) 149 IMPLICIT NONE 150 INTEGER, INTENT(in) :: istp ! time step of the restart file 151 REAL, INTENT(in) :: date0 ! the date at which itau = 0 152 REAL, INTENT(in) :: dt ! time step 153 INTEGER, INTENT(in) :: itap 154 CALL lmdz_inca_wrapper_abort 155 END SUBROUTINE chemtime 156 157 SUBROUTINE INIT_CONST_LMDZ(& 158 nday_l, & 159 nbsrf_l, & 160 is_oce_l, & 161 is_sic_l, & 162 is_ter_l, & 163 is_lic_l, & 164 calend_l, & 165 config_inca_l) 166 IMPLICIT NONE 167 INTEGER, INTENT(in) :: nday_l 168 INTEGER, INTENT(in) :: nbsrf_l 169 INTEGER, INTENT(in) :: is_oce_l, is_sic_l, is_lic_l, is_ter_l 170 CHARACTER (len = 10), INTENT(in) :: calend_l 171 CHARACTER(len = 4), INTENT(in) :: config_inca_l 172 173 CALL lmdz_inca_wrapper_abort 174 END SUBROUTINE init_const_lmdz 175 176 SUBROUTINE init_inca_geometry(& 177 longitude_lmdz, latitude_lmdz, & 178 boundslon_lmdz, boundslat_lmdz, & 179 cell_area_lmdz, & 180 ind_cell_glo_lmdz) 181 IMPLICIT NONE 182 REAL, INTENT(IN) :: longitude_lmdz(:) 183 REAL, INTENT(IN) :: latitude_lmdz(:) 184 REAL, INTENT(IN) :: boundslon_lmdz(:, :) 185 REAL, INTENT(IN) :: boundslat_lmdz(:, :) 186 REAL, INTENT(IN) :: cell_area_lmdz(:) 187 INTEGER, OPTIONAL, INTENT(IN) :: ind_cell_glo_lmdz(:) 188 189 CALL lmdz_inca_wrapper_abort 190 END SUBROUTINE init_inca_geometry 191 192 SUBROUTINE CHEMINI(pmid, & 193 nbp_lon_lmdz, nbp_lat_lmdz, & 194 latgcm, & 195 longcm, & 196 presnivs, & 197 calday, & 198 klon, & 199 nqmax, & 200 nqo, & 201 pdtphys, & 202 annee_ref, & 203 year_cur, & 204 day_ref, & 205 day_ini, & 206 start_time, & 207 itau_phy, & 208 date0, & 209 chemistry_couple, & 210 init_source, & 211 init_tauinca, & 212 init_pizinca, & 213 init_cginca, & 214 init_ccm, & 215 io_lon, & 216 io_lat) 217 IMPLICIT NONE 218 REAL, INTENT(IN) :: pmid(:, :) 219 INTEGER, INTENT(in) :: nbp_lon_lmdz, nbp_lat_lmdz 220 REAL, INTENT(in) :: calday 221 REAL, INTENT(in) :: latgcm(:) 222 REAL, INTENT(in) :: longcm(:) 223 REAL, INTENT(in) :: presnivs(:) 224 INTEGER, INTENT(in) :: klon 225 INTEGER, INTENT(in) :: nqmax ! nombre total de traceurs = inca + lmdz 226 INTEGER, INTENT(in) :: nqo ! nombre de traceurs lus dans traceur.def 227 REAL, INTENT(in) :: pdtphys 228 INTEGER, INTENT(in) :: annee_ref, year_cur 229 INTEGER, INTENT(in) :: day_ref, day_ini 230 REAL, INTENT(in) :: start_time 231 INTEGER, INTENT(in) :: itau_phy 232 REAL, OPTIONAL, INTENT(IN) :: io_lat(nbp_lat_lmdz) ! latitudes (of global grid) 233 REAL, OPTIONAL, INTENT(IN) :: io_lon(nbp_lon_lmdz) ! longitudes (of global grid) 234 REAL, INTENT(IN) :: date0 235 LOGICAL, INTENT(IN) :: chemistry_couple 236 REAL, DIMENSION(:, :), INTENT(OUT) :: init_source 237 REAL, DIMENSION(:, :, :, :), INTENT(OUT) :: init_tauinca 238 REAL, DIMENSION(:, :, :, :), INTENT(OUT) :: init_pizinca 239 REAL, DIMENSION(:, :, :, :), INTENT(OUT) :: init_cginca 240 REAL, DIMENSION(:, :, :), INTENT(OUT) :: init_ccm 241 242 CALL lmdz_inca_wrapper_abort 243 END SUBROUTINE chemini 244 245 SUBROUTINE radlwsw_inca(chemistry_couple, kdlon, kflev, dist, rmu0, fract, & 246 solaire, paprs, pplay, tsol, albedo, alblw, t, q, size_wo, wo, & 247 cldfra, cldemi, cldtaupd, & 248 heat, heat0, cool, cool0, albpla, & 249 topsw, toplw, solsw, sollw, & 250 sollwdown, & 251 topsw0, toplw0, solsw0, sollw0, & 252 lwdn0, lwdn, lwup0, lwup, & 253 swdn0, swdn, swup0, swup, & 254 ok_ade, ok_aie, & 255 tau_inca, piz_inca, cg_inca, & 256 topswad_inca, solswad_inca, & 257 topswad0_inca, solswad0_inca, & 258 topsw_inca, topsw0_inca, & 259 solsw_inca, solsw0_inca, & 260 cldtaupi, topswai_inca, solswai_inca) 261 IMPLICIT NONE 262 LOGICAL, INTENT(in) :: chemistry_couple 263 INTEGER, INTENT(in) :: kdlon, kflev 264 REAL, INTENT(in) :: solaire 265 REAL, INTENT(in) :: dist 266 REAL, INTENT(in) :: rmu0(:), fract(:) 267 REAL, INTENT(in) :: paprs(:, :), pplay(:, :) 268 REAL, INTENT(in) :: albedo(:), alblw(:), tsol(:) 269 REAL, INTENT(in) :: t(:, :), q(:, :) 270 INTEGER, INTENT(in) :: size_wo 271 REAL, INTENT(in) :: wo(:, :, :) ! column-density of ozone in a layer, in kilo-Dobsons 272 LOGICAL, INTENT(in) :: ok_ade, ok_aie ! switches whether to use aerosol direct (indirect) effects or not 273 REAL, INTENT(in) :: cldfra(:, :), cldemi(:, :), cldtaupd(:, :) 274 REAL, INTENT(in) :: tau_inca(:, :, :, :) ! aerosol optical properties (see aeropt.F) 275 REAL, INTENT(in) :: piz_inca(:, :, :, :) ! aerosol optical properties (see aeropt.F) 276 REAL, INTENT(in) :: cg_inca(:, :, :, :) ! aerosol optical properties (see aeropt.F) 277 REAL, INTENT(in) :: cldtaupi(:, :) ! cloud optical thickness for pre-industrial aerosol concentrations 278 REAL, INTENT(out) :: heat(:, :), cool(:, :) 279 REAL, INTENT(out) :: heat0(:, :), cool0(:, :) 280 REAL, INTENT(out) :: topsw(:), toplw(:) 281 REAL, INTENT(out) :: solsw(:), sollw(:), albpla(:) 282 REAL, INTENT(out) :: topsw0(:), toplw0(:), solsw0(:), sollw0(:) 283 REAL, INTENT(out) :: sollwdown(:) 284 REAL, INTENT(out) :: swdn(:, :), swdn0(:, :) 285 REAL, INTENT(out) :: swup(:, :), swup0(:, :) 286 REAL, INTENT(out) :: lwdn(:, :), lwdn0(:, :) 287 REAL, INTENT(out) :: lwup(:, :), lwup0(:, :) 288 REAL, INTENT(out) :: topswad_inca(:), solswad_inca(:) ! output: aerosol direct forcing at TOA and surface 289 REAL, INTENT(out) :: topswad0_inca(:), solswad0_inca(:) ! output: aerosol direct forcing at TOA and surface 290 REAL, INTENT(out) :: topswai_inca(:), solswai_inca(:) ! output: aerosol indirect forcing atTOA and surface 291 REAL(kind = 8), INTENT(out) :: topsw_inca(:, :), topsw0_inca(:, :) 292 REAL(kind = 8), INTENT(out) :: solsw_inca(:, :), solsw0_inca(:, :) 293 294 CALL lmdz_inca_wrapper_abort 295 END SUBROUTINE radlwsw_inca 296 297 SUBROUTINE INIT_INCA_DIM_REG(& 298 iim, & 299 jjm, & 300 rlonu_l, & 301 rlatu_l, & 302 rlonv_l, & 303 rlatv_l) 304 305 IMPLICIT NONE 306 INTEGER, INTENT(in) :: iim 307 INTEGER, INTENT(in) :: jjm 308 REAL, INTENT(in) :: rlonu_l(:) 309 REAL, INTENT(in) :: rlatu_l(:) 310 REAL, INTENT(in) :: rlonv_l(:) 311 REAL, INTENT(in) :: rlatv_l(:) 312 313 CALL lmdz_inca_wrapper_abort 314 END SUBROUTINE INIT_INCA_DIM_REG 315 316 SUBROUTINE AEROSOL_METEO_CALC (& 317 calday, delt, pmid, pfull, t_seri, & 318 flxrcv, flxscv, flxrst, flxsst, pctsrf, & 319 area, rlat, rlon, u10m, v10m) 320 IMPLICIT NONE 321 REAL, INTENT(in) :: calday 322 REAL, INTENT(in) :: delt ! [s] 323 REAL, INTENT(in) :: pmid(:, :) ! [Pa] 324 REAL, INTENT(in) :: pfull(:, :) ! [Pa] 325 REAL, INTENT(in) :: t_seri(:, :) ! [K] 326 REAL, INTENT(in) :: flxrst(:, :) ! liquid water flux (stratiform) kgH2O/m2/s 327 REAL, INTENT(in) :: flxrcv(:, :) ! liquid water flux (convection ) kgH2O/m2/s 328 REAL, INTENT(in) :: flxsst(:, :) ! solid water flux (stratiform) kgH2O/m2/s 329 REAL, INTENT(in) :: flxscv(:, :) ! solid water flux (convection) kgH2O/m2/s 330 REAL, INTENT(in) :: pctsrf(:, :) ! subsurface fraction (0..1) 331 REAL, INTENT(in) :: area(:) ! surface area of grid box [m2] 332 REAL, INTENT(in) :: rlon(:) ! longitude 333 REAL, INTENT(in) :: rlat(:) ! latitude 334 REAL, INTENT(in) :: u10m(:, :) ! vents a 10m 335 REAL, INTENT(in) :: v10m(:, :) ! vents a 10m 336 337 CALL lmdz_inca_wrapper_abort 338 END SUBROUTINE AEROSOL_METEO_CALC 171 339 172 340 #endif
Note: See TracChangeset
for help on using the changeset viewer.