- Timestamp:
- May 12, 2020, 4:28:40 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.MARS/util/aeroptical.F90
r2317 r2318 1 1 program aeroptical 2 2 ! program for computation of aerosol opacities 3 ! author : Antoine Bierjon, April 20203 ! author : Antoine Bierjon, April-May 2020 4 4 ! 5 5 !=============================================================================== 6 6 ! PREFACE 7 7 !=============================================================================== 8 ! This program takes in inputa GCM output file (diagfi,stats,concat) that8 ! This program takes as inputs a GCM output file (diagfi,stats,concat) that 9 9 ! contains: 10 10 ! - the Mass Mixing Ratios of dust (dustq) and water ice (h2o_ice) 11 11 ! - their effective radius (reffdust, reffice(*)) 12 12 ! - the atmospheric density (rho) 13 ! as well as the 2 boundaries of a wavelength intervaland the directory14 ! containing the ASCII files of the optical properties of the aerosols.13 ! as well as a wavelength to calibrate the opacities, and the directory 14 ! containing the ASCII files of the aerosols' optical properties. 15 15 ! 16 16 ! It outputs a netcdf file containing the opacities [1/km] of the dust and 17 ! water ice aerosols as well as the combined opacity of the 2 aerosols, 18 ! averaged within the prescribed wavelength interval. 17 ! water ice aerosols calibrated at the prescribed wavelength. 19 18 ! 20 19 ! 21 ! (*) due to a high uncertainty of reffice in the gcm, the value is asked20 ! (*) due to a high uncertainty of reffice in the GCM, the value is asked 22 21 ! directly to the user (if the user returns 0, then the program reads the GCM 23 22 ! file to get reffice) … … 26 25 ! 1) if one wanted to add another aerosol to compute, one should look for 27 26 ! the comments + NEW AER? that are disseminated all along the code to indicate 28 ! the parts of the code that mustbe modified.27 ! the parts of the code that should be modified. 29 28 ! 2) another enhancement of this program could be the possibility to read its 30 29 ! own product files and recalibrate the opacities at another wavelength … … 46 45 integer :: ierr ! [netcdf] subroutine returned error code 47 46 character(len=256) :: error_text ! text to display in case of error 48 integer :: tmpvarid ! temporar y storea variable ID number47 integer :: tmpvarid ! temporarily stores a variable ID number 49 48 integer :: lonlen,latlen,altlen,timelen ! nb of grid points along longitude,latitude,altitude,time 50 49 integer :: GCM_layers ! number of GCM layers … … 57 56 real,dimension(:,:,:,:),allocatable :: rho ! atmospheric density [kg.m-3] 58 57 integer :: naerkind ! nb of aerosols to consider 59 integer :: iaer ! aerosol kind index (1=dust, 2=water ice) 58 integer :: iaer ! aerosol kind index (1=dust, 2=water ice) ! + NEW AER? 60 59 integer :: ilon,ilat,ialt,it ! Loop indices for coordinates 61 60 … … 69 68 ! altdimout: stores altitude dimension ID number 70 69 ! timedimout: stores time dimension ID number 71 integer :: tmpvaridout ! temporar y stores a variable ID number70 integer :: tmpvaridout ! temporarily stores a variable ID number 72 71 73 72 real :: wvl_val ! reference wavelength of the output opacities (given by the user) [m] 74 73 integer :: varshape(4) ! stores a variable shape (of dimensions' IDs) 75 character(len=16) :: tmpvarname ! temporar y stores a variable name76 real,dimension(:,:,:,:,:),allocatable :: opa_aer ! Opacity of the aerosols [1/km]74 character(len=16) :: tmpvarname ! temporarily stores a variable name 75 real,dimension(:,:,:,:,:),allocatable :: opa_aer ! Aerosols opacities [1/km] 77 76 real :: missval ! Value to put in outfile when the reff is out of bounds 78 77 PARAMETER(missval=1E+20) … … 100 99 ! Opacity computation 101 100 integer :: iwvl1,iwvl2,isize1,isize2 ! Wavelength and Particle size indices for the interpolation 102 real :: coeff ! Interpolation coef icient101 real :: coeff ! Interpolation coefficient 103 102 real,dimension(2) :: reffQext ! Qext after reff interpolation 104 103 real :: Qext_val ! Qext after both interpolations
Note: See TracChangeset
for help on using the changeset viewer.