Routine of Tb Moon #1
Back to Handbook
#include
#include
#include
#define PI 3.14159265
double Tb, T0, T1, fr, sh, M, S, wl, phase;
/******** BRIGHTNESS TEMPERATURE OF MOON from radio data *************
for wavelengths (wl) from 0 to 30 cm
T0 = 206.06 + 1.6308 * wl - 0.043774 * wl^2 + 0.00043042 * wl^3
m: from 0 to 12 cm
M = 1.2207 + 5.3788 * wl - 0.26528 * wl^2 + 0.0064374 * wl^3
shift theta:
sh = 42.745 + 1.042 * ln(wl) for 0.1 to 1.2 cm
sh = 26.402 + 18.625 * x - 6.3123 * x^2 + 0.70462 * x^3 for 1.2 to 4 cm
sh = 45 for wl >4 cm
***********************************************************************/
main(int argc, char **argv)
{
if (argc != 3) {printf("tb_moon wl[cm] phase[deg] \n"); exit(0); }
sh = 0; wl =0; T0=0; T1= 0;
wl = atof( argv[1] );
phase = atof( argv[2] );
fr = wl/30.;
T0 = 206.06 + (1.6308 - 0.043774 * wl) * wl + 0.00043042 * wl*wl*wl ;
if( wl > 35.) T0 = 225.;
M = 1.2207 + 5.3788 * wl - 0.26528 * wl*wl + 0.0064374 * wl*wl*wl;
if( wl > 20.) M = 50.;
if( wl>0.1 || wl <= 1.29) sh = 42.745 + 1.042 * log(wl);
if( wl>1.3 || wl <= 4.) sh = 26.402 + 18.625 * wl - 6.3123 * wl*wl + 0.70462 * wl*wl*wl;
if( wl > 4.) sh = 45.;
Tb = T0 + T0/M * cos( (phase-sh)/180. *PI) ;
printf("Tb of Moon = %5.1f K at %4.2f cm \n", Tb, wl);
exit(0);
}