Changeset 5325
- Timestamp:
- Nov 12, 2024, 5:39:51 PM (6 weeks ago)
- Location:
- LMDZ6/trunk/libf
- Files:
-
- 6 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/misc/lmdz_cosp_wrappers.F90
r5323 r5325 1 ! incaSUBROUTINE wrappers1 ! cosp SUBROUTINE wrappers 2 2 3 #ifndef INCA 3 SUBROUTINE lmdz_cosp_wrapper_abort 4 STOP 'COSP/COSP2/COSPV2 key undefined, must not enter in COSP wrappers ==> aborting' 5 END SUBROUTINE lmdz_cosp_wrapper_abort 4 6 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 7 #ifndef COSP 8 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) 9 SUBROUTINE phys_cosp(itap, dtime, freq_cosp, & 10 ok_mensuelCOSP, ok_journeCOSP, ok_hfCOSP, & 11 ecrit_mth, ecrit_day, ecrit_hf, ok_all_xml, missing_val, & 12 Nptslmdz, Nlevlmdz, lon, lat, presnivs, overlaplmdz, sunlit, & 13 ref_liq, ref_ice, fracTerLic, u_wind, v_wind, phis, phi, ph, p, skt, t, & 14 sh, rh, tca, cca, mr_lsliq, mr_lsice, fl_lsrainI, fl_lssnowI, & 15 fl_ccrainI, fl_ccsnowI, mr_ozone, dtau_s, dem_s) 304 16 305 17 IMPLICIT NONE 306 INTEGER, INTENT(IN) :: iim307 INTEGER, INTENT(IN) :: jjm308 REAL, INTENT(IN) :: rlonu_l(:)309 REAL, INTENT(IN) :: rlatu_l(:)310 REAL, INTENT(IN) :: rlonv_l(:)311 REAL, INTENT(IN) :: rlatv_l(:)312 18 313 CALL lmdz_inca_wrapper_abort 314 END SUBROUTINE INIT_INCA_DIM_REG 19 Integer :: Nptslmdz, Nlevlmdz ! Nb de points issus de physiq.F 315 20 316 SUBROUTINE INIT_INCA_DIM(nlon, nlev) 317 IMPLICIT NONE 318 INTEGER :: nlon, nlev 319 CALL lmdz_inca_wrapper_abort 320 END SUBROUTINE INIT_INCA_DIM 21 ! Declaration necessaires pour les sorties IOIPSL 22 integer :: ii 23 real :: ecrit_day, ecrit_hf, ecrit_mth, missing_val 24 logical :: ok_mensuelCOSP, ok_journeCOSP, ok_hfCOSP, ok_all_xml 321 25 322 SUBROUTINE AEROSOL_METEO_CALC(& 323 calday, delt, pmid, pfull, t_seri, & 324 flxrcv, flxscv, flxrst, flxsst, pctsrf, & 325 area, rlat, rlon, u10m, v10m) 326 IMPLICIT NONE 327 REAL, INTENT(IN) :: calday 328 REAL, INTENT(IN) :: delt ! [s] 329 REAL, INTENT(IN) :: pmid(:, :) ! [Pa] 330 REAL, INTENT(IN) :: pfull(:, :) ! [Pa] 331 REAL, INTENT(IN) :: t_seri(:, :) ! [K] 332 REAL, INTENT(IN) :: flxrst(:, :) ! liquid water flux (stratiform) kgH2O/m2/s 333 REAL, INTENT(IN) :: flxrcv(:, :) ! liquid water flux (convection ) kgH2O/m2/s 334 REAL, INTENT(IN) :: flxsst(:, :) ! solid water flux (stratiform) kgH2O/m2/s 335 REAL, INTENT(IN) :: flxscv(:, :) ! solid water flux (convection) kgH2O/m2/s 336 REAL, INTENT(IN) :: pctsrf(:, :) ! subsurface fraction (0..1) 337 REAL, INTENT(IN) :: area(:) ! surface area of grid box [m2] 338 REAL, INTENT(IN) :: rlon(:) ! longitude 339 REAL, INTENT(IN) :: rlat(:) ! latitude 340 REAL, INTENT(IN) :: u10m(:, :) ! vents a 10m 341 REAL, INTENT(IN) :: v10m(:, :) ! vents a 10m 26 integer :: overlaplmdz ! overlap type: 1=max, 2=rand, 3=max/rand ! cosp input (output lmdz) 27 real, dimension(Nptslmdz, Nlevlmdz) :: height, phi, p, ph, T, sh, rh, tca, cca, mr_lsliq, mr_lsice, mr_ccliq, mr_ccice, & 28 fl_lsrain, fl_lssnow, fl_ccrain, fl_ccsnow, fl_lsgrpl, & 29 zlev, zlev_half, mr_ozone, radliq, radice, dtau_s, dem_s, ref_liq, ref_ice 30 real, dimension(Nptslmdz, Nlevlmdz) :: fl_lsrainI, fl_lssnowI, fl_ccrainI, fl_ccsnowI 31 real, dimension(Nptslmdz) :: lon, lat, skt, fracTerLic, u_wind, v_wind, phis, sunlit 32 real, dimension(Nlevlmdz) :: presnivs 33 integer :: itap, k, ip 34 real :: dtime, freq_cosp 35 real, dimension(2) :: time_bnds 342 36 343 CALL lmdz_inca_wrapper_abort344 END SUBROUTINE AEROSOL_METEO_CALC 37 double precision :: d_dtime 38 double precision, dimension(2) :: d_time_bnds 345 39 346 SUBROUTINE init_inca_para(nlon, nlat, nlev, klon, mpi_size, distrib_phys, nvertex, grid_type, communicator) 347 INTEGER :: nlon, nlat, nlev, klon, mpi_size, distrib_phys(:), communicator, nvertex, grid_type 348 CALL lmdz_inca_wrapper_abort 349 END SUBROUTINE init_inca_para 40 CALL lmdz_cosp_wrapper_abort 41 42 END SUBROUTINE phys_cosp 350 43 351 44 #endif 45 46 #ifndef COSP2 47 48 subroutine phys_cosp2( itap,dtime,freq_cosp, ok_mensuelCOSP, ok_journeCOSP, & 49 ok_hfCOSP, ecrit_mth, ecrit_day, ecrit_hf, ok_all_xml, & 50 missing_val, Nptslmdz, Nlevlmdz, lon, lat, presnivs, & 51 overlaplmdz, sunlit, ref_liq, ref_ice, fracTerLic, & 52 u_wind, v_wind, phis, phi, ph, p, skt, t, sh, rh, & 53 tca, cca, mr_lsliq, mr_lsice, fl_lsrainI, fl_lssnowI, & 54 fl_ccrainI, fl_ccsnowI, mr_ozone, dtau_s, dem_s) 55 56 IMPLICIT NONE 57 58 !----------------------------- Input variables from LMDZ-GCM ------------------------------- 59 integer :: overlaplmdz ! overlap type: 1=max, 60 ! 2=rand, 3=max/rand 61 logical :: ok_mensuelcosp, ok_journecosp, ok_hfcosp, ok_all_xml 62 real :: ecrit_mth, ecrit_day, ecrit_hf, missing_val 63 integer :: nptslmdz, nlevlmdz 64 real, dimension(Nptslmdz,Nlevlmdz) :: phi, p, ph, T, sh, rh, tca, cca, mr_lsliq, & 65 mr_lsice, mr_ccliq, mr_ccice, fl_lsrain, & 66 fl_lssnow, fl_ccrain, fl_ccsnow, fl_lsgrpl, & 67 zlev, zlev_half, mr_ozone, radliq, radice, & 68 dtau_s, dem_s, dtau_c, dem_c, ref_liq, ref_ice 69 real, dimension(Nptslmdz,Nlevlmdz) :: fl_lsrainI, fl_lssnowI, fl_ccrainI, fl_ccsnowI 70 real, dimension(Nptslmdz) :: lon, lat, skt, fracTerLic, u_wind, v_wind, & 71 phis, sunlit 72 real, dimension(Nptslmdz) :: land ! variables intermediaire pour masque TerLic 73 real, dimension(Nlevlmdz) :: presnivs 74 integer :: itap, k, ip 75 real :: dtime, freq_cosp 76 real, dimension(2) :: time_bnds 77 78 double precision :: d_dtime 79 double precision, dimension(2) :: d_time_bnds 80 81 CALL lmdz_cosp_wrapper_abort 82 83 end subroutine phys_cosp2 84 85 #endif -
LMDZ6/trunk/libf/misc/lmdz_cppkeys_wrapper.F90
r5324 r5325 29 29 30 30 #ifdef NC_DOUBLE 31 INTEGER :: nf90_format = nf90_double31 INTEGER, PARAMETER :: nf90_format = nf90_double 32 32 #else 33 INTEGER :: nf90_format = nf90_float33 INTEGER, PARAMETER :: nf90_format = nf90_float 34 34 #endif 35 35 36 36 #ifdef CPP_PHYS 37 LOGICAL :: CPPKEY_PHYS = .TRUE.37 LOGICAL, PARAMETER :: CPPKEY_PHYS = .TRUE. 38 38 #else 39 LOGICAL :: CPPKEY_PHYS = .FALSE.39 LOGICAL, PARAMETER :: CPPKEY_PHYS = .FALSE. 40 40 #endif 41 41 42 42 #ifdef INCA 43 LOGICAL :: CPPKEY_INCA = .TRUE.43 LOGICAL, PARAMETER :: CPPKEY_INCA = .TRUE. 44 44 #else 45 LOGICAL :: CPPKEY_INCA = .FALSE.45 LOGICAL, PARAMETER :: CPPKEY_INCA = .FALSE. 46 46 #endif 47 47 48 48 #ifdef REPROBUS 49 LOGICAL :: CPPKEY_REPROBUS = .TRUE.49 LOGICAL, PARAMETER :: CPPKEY_REPROBUS = .TRUE. 50 50 #else 51 LOGICAL :: CPPKEY_REPROBUS = .FALSE.51 LOGICAL, PARAMETER :: CPPKEY_REPROBUS = .FALSE. 52 52 #endif 53 53 54 54 #ifdef CPP_StratAer 55 LOGICAL :: CPPKEY_STRATAER = .TRUE.55 LOGICAL, PARAMETER :: CPPKEY_STRATAER = .TRUE. 56 56 #else 57 LOGICAL :: CPPKEY_STRATAER = .FALSE.57 LOGICAL, PARAMETER :: CPPKEY_STRATAER = .FALSE. 58 58 #endif 59 59 60 60 #ifdef CPP_DUST 61 LOGICAL :: CPPKEY_DUST = .TRUE.61 LOGICAL, PARAMETER :: CPPKEY_DUST = .TRUE. 62 62 #else 63 LOGICAL :: CPPKEY_DUST = .FALSE.63 LOGICAL, PARAMETER :: CPPKEY_DUST = .FALSE. 64 64 #endif 65 65 66 66 #ifdef CPP_INLANDSIS 67 LOGICAL :: CPPKEY_INLANDSIS = .TRUE.67 LOGICAL, PARAMETER :: CPPKEY_INLANDSIS = .TRUE. 68 68 #else 69 LOGICAL :: CPPKEY_INLANDSIS = .FALSE.69 LOGICAL, PARAMETER :: CPPKEY_INLANDSIS = .FALSE. 70 70 #endif 71 71 72 72 #ifdef OUTPUT_PHYS_SCM 73 LOGICAL :: CPPKEY_OUTPUTPHYSSCM = .TRUE.73 LOGICAL, PARAMETER :: CPPKEY_OUTPUTPHYSSCM = .TRUE. 74 74 #else 75 LOGICAL :: CPPKEY_OUTPUTPHYSSCM = .FALSE.75 LOGICAL, PARAMETER :: CPPKEY_OUTPUTPHYSSCM = .FALSE. 76 76 #endif 77 77 78 78 #ifdef CPP_COSP 79 LOGICAL :: CPPKEY_COSP = .TRUE.79 LOGICAL, PARAMETER :: CPPKEY_COSP = .TRUE. 80 80 #else 81 LOGICAL :: CPPKEY_COSP = .FALSE.81 LOGICAL, PARAMETER :: CPPKEY_COSP = .FALSE. 82 82 #endif 83 83 84 84 #ifdef CPP_COSP2 85 LOGICAL :: CPPKEY_COSP2 = .TRUE.85 LOGICAL, PARAMETER :: CPPKEY_COSP2 = .TRUE. 86 86 #else 87 LOGICAL :: CPPKEY_COSP2 = .FALSE.87 LOGICAL, PARAMETER :: CPPKEY_COSP2 = .FALSE. 88 88 #endif 89 89 90 90 #ifdef CPP_COSPV2 91 LOGICAL :: CPPKEY_COSPV2 = .TRUE.91 LOGICAL, PARAMETER :: CPPKEY_COSPV2 = .TRUE. 92 92 #else 93 LOGICAL :: CPPKEY_COSPV2 = .FALSE.93 LOGICAL, PARAMETER :: CPPKEY_COSPV2 = .FALSE. 94 94 #endif 95 95 -
LMDZ6/trunk/libf/misc/lmdz_inca_wrappers.F90
r5323 r5325 349 349 END SUBROUTINE init_inca_para 350 350 351 SUBROUTINE aerosolmain(aerosol_couple,tr_seri,pdtphys, & 352 pplay,pdel,prfl,pmflxr,psfl, & 353 pmflxs,zpmfu,itop_con,ibas_con, & 354 pphi,cell_area,nstep,rneb,t_seri, & 355 rh,tau_aero,piz_aero,cg_aero, & 356 rfname,ccm,lafin) 357 REAL :: aerosol_couple,tr_seri,pdtphys, & 358 pplay,pdel,prfl,pmflxr,psfl, & 359 pmflxs,zpmfu,itop_con,ibas_con, & 360 pphi,cell_area,rneb,t_seri, & 361 rh,tau_aero,piz_aero,cg_aero, & 362 rfname,ccm,lafin 363 INTEGER :: nstep 364 CALL lmdz_inca_wrapper_abort 365 END SUBROUTINE aerosolmain 366 367 SUBROUTINE chemmain(tr_seri, xlon, xlat, t_seri, pplay, paprs, pphi, pphis, presnivs, sh, debutphy) 368 REAL :: tr_seri(:,:,:), xlon(:), xlat(:), t_seri(:,:), pplay(:,:), paprs(:,:), pphi(:,:), pphis(:), presnivs(:), sh(:,:) 369 LOGICAL :: debutphy 370 CALL lmdz_inca_wrapper_abort 371 END SUBROUTINE chemmain 372 351 373 #endif -
LMDZ6/trunk/libf/misc/lmdz_reprobus_wrappers.F90
r5323 r5325 51 51 52 52 SUBROUTINE chemini_rep(presnivs, pdtphys, annee_ref, day_ref, day_ini, start_time, itau_phy, io_lon, io_lat) 53 INTEGER :: presnivs, pdtphys, annee_ref, day_ref, day_ini, start_time, itau_phy, io_lon, io_lat 53 INTEGER :: annee_ref, day_ref, day_ini, itau_phy 54 REAL :: presnivs(:), pdtphys, start_time, io_lon(:), io_lat(:) 54 55 CALL lmdz_reprobus_wrapper_abort 55 56 END SUBROUTINE chemini_rep 56 57 57 58 SUBROUTINE chemtime_rep(it, date, tstep, itap) 58 INTEGER :: it, date, tstep, itap 59 INTEGER :: it, itap 60 REAL :: date, tstep 59 61 CALL lmdz_reprobus_wrapper_abort 60 62 END SUBROUTINE chemtime_rep … … 71 73 END SUBROUTINE chemmain_rlong_1401 72 74 75 SUBROUTINE rtime(debut) 76 LOGICAL :: debut 77 CALL lmdz_reprobus_wrapper_abort 78 END SUBROUTINE rtime 79 80 SUBROUTINE rad_interactif(pozon, iof) 81 real :: pozon(:,:,:) 82 integer :: iof 83 CALL lmdz_reprobus_wrapper_abort 84 END SUBROUTINE rad_interactif 85 73 86 #endif 74 87 END MODULE lmdz_reprobus_wrappers -
LMDZ6/trunk/libf/phylmd/physiq_mod.F90
r5323 r5325 108 108 USE infotrac_phy, ONLY: nqCO2 109 109 USE lmdz_reprobus_wrappers, ONLY: init_chem_rep_xjour, d_q_rep, d_ql_rep, d_qi_rep, & 110 ptrop, ttrop, ztrop, gravit, itroprep, Z1, Z2, fac, B, chemini_rep, chemtime_rep, coord_hyb_rep 110 ptrop, ttrop, ztrop, gravit, itroprep, Z1, Z2, fac, B, chemini_rep, chemtime_rep, coord_hyb_rep, & 111 rtime 111 112 USE strataer_local_var_mod 112 113 USE strataer_emiss_mod, ONLY: strataer_emiss_init -
LMDZ6/trunk/libf/phylmd/radlwsw_m.F90
r5296 r5325 53 53 USE write_field_phy 54 54 55 USE lmdz_reprobus_wrappers, ONLY : solaireTIME, ok_SUNTIME, ndimozon 55 USE lmdz_reprobus_wrappers, ONLY : solaireTIME, ok_SUNTIME, ndimozon, rad_interactif 56 56 USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_REPROBUS 57 57 -
LMDZ6/trunk/libf/phylmdiso/physiq_mod.F90
r5315 r5325 109 109 USE time_phylmdz_mod, ONLY: ndays 110 110 USE infotrac_phy, ONLY: nqCO2 111 USE lmdz_reprobus_wrappers, ONLY: Init_chem_rep_xjour, d_q_rep, d_ql_rep, d_qi_rep, & 112 ptrop, ttrop, ztrop, gravit, itroprep, Z1, Z2, fac, B 111 USE lmdz_reprobus_wrappers, ONLY: init_chem_rep_xjour, d_q_rep, d_ql_rep, d_qi_rep, & 112 ptrop, ttrop, ztrop, gravit, itroprep, Z1, Z2, fac, B, chemini_rep, chemtime_rep, coord_hyb_rep, & 113 rtime 113 114 USE strataer_local_var_mod 114 115 USE strataer_emiss_mod, ONLY: strataer_emiss_init
Note: See TracChangeset
for help on using the changeset viewer.