- Timestamp:
- Jul 22, 2024, 9:29:09 PM (4 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/phylmd/readaerosol_interp.F90
r2840 r5099 1 1 ! $Id$ 2 ! 2 3 3 SUBROUTINE readaerosol_interp(id_aero, itap, pdtphys, r_day, first, pplay, paprs, t_seri, mass_out, pi_mass_out, load_src) 4 ! 4 5 5 ! This routine will return the mass concentration at actual day(mass_out) and 6 6 ! the pre-industrial values(pi_mass_out) for aerosol corresponding to "id_aero". 7 7 ! The mass concentrations for all aerosols are saved in this routine but each 8 8 ! call to this routine only treats the aerosol "id_aero". 9 ! 9 10 10 ! 1) Read in data for the whole year, only at first time step 11 11 ! 2) Interpolate to the actual day, only at new day … … 29 29 INCLUDE "clesphys.h" 30 30 31 !32 31 ! Input: 33 32 !**************************************************************************************** … … 40 39 REAL, DIMENSION(klon,klev+1),INTENT(IN):: paprs ! pression between model layers 41 40 REAL, DIMENSION(klon,klev), INTENT(IN) :: t_seri ! air temperature 42 ! 41 43 42 ! Output: 44 43 !**************************************************************************************** … … 46 45 REAL, INTENT(OUT) :: pi_mass_out(klon,klev) ! Mass of preindustrial aerosol (monthly mean data,from file) [ug AIBCM/m3] 47 46 REAL, INTENT(OUT) :: load_src(klon) ! Load of aerosol (monthly mean data,from file) [kg/m3] 48 ! 47 49 48 ! Local Variables: 50 49 !**************************************************************************************** … … 97 96 !**************************************************************************************** 98 97 ! Initialization 99 ! 98 100 99 !**************************************************************************************** 101 100 … … 167 166 ! 1) Read in data : corresponding to the actual year and preindustrial data. 168 167 ! Only for the first day of the year. 169 ! 168 170 169 !**************************************************************************************** 171 170 IF ( (first .OR. iday==0) .AND. lnewday ) THEN … … 270 269 271 270 ! Calendar initialisation 272 ! 271 273 272 DO i = 2, 13 274 273 month_len(i) = REAL(ioget_mon_len(year_cur, i-1)) … … 291 290 ! - 2) Interpolate to the actual day. 292 291 ! - 3) Interpolate to the model vertical grid. 293 ! 292 294 293 !**************************************************************************************** 295 294 … … 297 296 !**************************************************************************************** 298 297 ! 2) Interpolate to the actual day 299 ! 298 300 299 !**************************************************************************************** 301 300 ! Find which months and days to use for time interpolation … … 385 384 !**************************************************************************************** 386 385 ! 3) Interpolate to the model vertical grid (target grid) 387 ! 386 388 387 !**************************************************************************************** 389 388 … … 527 526 !**************************************************************************************** 528 527 ! 4) Test for negative mass values 529 ! 528 530 529 !**************************************************************************************** 531 530 IF (MINVAL(var_day(:,:,id_aero)) < 0.) THEN … … 571 570 !**************************************************************************************** 572 571 ! Copy output from saved variables 573 ! 572 574 573 !**************************************************************************************** 575 574
Note: See TracChangeset
for help on using the changeset viewer.