the confuse about phase function of aerosol model

Please enter here to ask a question about any NASA Science related topics!
Post Reply
lwk1542
Posts: 26
Joined: Tue Apr 03, 2018 9:52 am America/New_York

the confuse about phase function of aerosol model

by lwk1542 » Thu May 06, 2021 10:00 am America/New_York

In aerosol.c of l2gen, the model_phase() can return phase. the one part of the code is as follows. I can't find the definition of splint() in all code, so I guess it returns a volume scattering function (phase) of aerosol look-up table according to scatter angle and wavelength. I am very confuse about "phase[im][iw] = exp(phase1) +exp(phase2)*(fres1[ig] + fres2[ig])". Why is it an exponential function of phase1 and phase2? if phase1 or phase2 is greater than 300 or 400, the result of the exponential function will be extremely great. Is there any literature or explanation? Thanks!

/* compute phase function for this geometry, all models */
for (iw = 0; iw < aertab->nwave; iw++) {
ig = gmult * iw;
splint(aertab->scatt,
&aertab->model[im]->lnphase[iw][0],
&aertab->model[im]->d2phase[iw][0],
aertab->nscatt, scatt1[ig], &phase1);
splint(aertab->scatt,
&aertab->model[im]->lnphase[iw][0],
&aertab->model[im]->d2phase[iw][0],
aertab->nscatt, scatt2[ig], &phase2);
// incident diffuse reflected diff dir
phase[im][iw] = exp(phase1) +
exp(phase2)*(fres1[ig] + fres2[ig]);
}

Tags:

jared
Posts: 8
Joined: Thu Jul 09, 2020 1:29 pm America/New_York

Re: the confuse about phase function of aerosol model

by jared » Thu May 13, 2021 11:14 am America/New_York

(1) Splint () returns the phase function interpolated from LUTs using the scattering angle (scatt1[ig]).
(2) The reason for the exponential function is that before the interpolation, the phase function in the LUTs is transformed to log(phase). So after interpolation, the phase function need to be transformed back. You may not see that big interpolated value (300 or 400) since the interpolation is based on log(phase).

Minwei

lwk1542
Posts: 26
Joined: Tue Apr 03, 2018 9:52 am America/New_York

Re: the confuse about phase function of aerosol model

by lwk1542 » Thu May 13, 2021 10:57 pm America/New_York

THANKS for your help! I was really anxious before your replying.
But, the big interpolated values exist in some LUTs(for example:aerosol_modist_r30f00v01.hdf, please see attachment). why?
Attachments
a part of phase function in  aerosol_modist_r30f00v01.hdf
a part of phase function in aerosol_modist_r30f00v01.hdf
aerosol_modist_r30f00v01.png (45.21 KiB) Not viewed yet

jared
Posts: 8
Joined: Thu Jul 09, 2020 1:29 pm America/New_York

Re: the confuse about phase function of aerosol model

by jared » Fri May 14, 2021 10:47 am America/New_York

You need to transform these big values in the LUTs to log(). These log transformed values are then used for the interpolation. The interpolated value is then transformed back using exp().
Minwei

lwk1542
Posts: 26
Joined: Tue Apr 03, 2018 9:52 am America/New_York

Re: the confuse about phase function of aerosol model

by lwk1542 » Sun May 16, 2021 2:27 am America/New_York

THANKS for your help!

Post Reply