public class MoonLight extends FilterTarget implements ParameterDepending
#KEY_ZERO, we use
V=-12.73, B-V=0.91 and U-B=0.45 from Allan, Astrophysical Quantities, p 144.
For V-R=0.74 and V-I=1.4 are used, p208, resembling a K0 star, which has the
B-V, U-B colors closest to the moon. For Stromgren, p202 giving central
wavelength and effective width is used. Sloan filters are from SDSS, namely
central wavelength 0.3543, 0.477, 0.6232, 0.7625, 0.9134 μm, fwhm 0.567,
1.387, 1.373, 1.526, 0.95.#KEY_KPRIME and resemble pure
estimates.I = 10^-0.4*(3.84+0.026|α|+4.0E-9α^4)where we use
f(θ)=C(λ) [1.06+cos(θ)&pow2;]+10^(6.15-θ/40)
B = f(θ) I 10^(-0.4kX_moon) [1-10^(-0.4kX_obj)].
α...phase angle of the moon, degree
θ...separation moon-object, degree
X_moon...airmass of moon
X_obj...airmass of object
C(λ) Rayleigh constant, see above..
PropertyResources.Load, PropertyResources.URLResource| Modifier and Type | Field and Description |
|---|---|
private Value |
alt
Target height.
|
private static String |
DEFALTTARGET
The default name of the target height to use.
|
private static String |
DEFEXTINCTIONCOEFFICIENT
The default name of the target height to use.
|
private static String |
DEFFILTER
If no filter is stated by the target, we use this one.
|
private static String |
DEFFILTERWAVELENGTH
The default name of the target height to use.
|
private static boolean |
DEFMAGARCSEC2 |
private static String |
DEFMOONANGLE
The default name of the moon phase angle to use.
|
private static String |
DEFMOONBRIGHTNESS
The full-moon brightness in different filters.
|
private static String |
DEFMOONHEIGHT
The default name of the moon height to use.
|
private static String |
DEFMOONSEPARATION
The default name of the moon-target distance to use.
|
static String |
DEFNAME
The default name of this parameter.
|
private FilterWavelength |
fw
The wavelength lookup table for Rayleigh scatering.
|
static String |
KEY_ALTTARGET
The name of the target height parameter to use.
|
static String |
KEY_EXTINCTIONCOEFFICIENT
Table of extinction coefficients.
|
static String |
KEY_FILTERWAVELENGTH
Table of filter name to central wavelength in nm.
|
static String |
KEY_MAGARCSEC2 |
static String |
KEY_MOONANGLE
The name of the moon phase angle parameter to use.
|
static String |
KEY_MOONBRIGHTNESS
Table of filter name to moon magnitudes.
|
static String |
KEY_MOONHEIGHT
The name of the moon height parameter to use.
|
static String |
KEY_MOONSEPARATION
The name of the on-sky distance of the object to the moon.
|
private ExtinctionCoefficient |
kp
The extinction coefficients.
|
private Value |
moonalt
Moon height.
|
private Map<String,Double> |
moonmag
Default moon brightness in various filters.
|
private Value |
moonphi
Moon phase angle value.
|
private Value |
separation
Distance parameter.
|
filter, KEY_CONSTANT, KEY_SETUPKEY_INDEXKEY_FORMAT, KEY_NAME, KEY_PRESERVE, UNKNOWNKEY_NOINITONCREATE, POSTFIX_ALPHABET, POSTFIX_BYTES, POSTFIX_DIR, POSTFIX_EXT, POSTFIX_FILE, POSTFIX_LIST, POSTFIX_MODTIME, POSTFIX_URLKEY_LISTSEPARATOR, KEY_MAPKEYVALUECHAR, KEY_MAPSEPARATORCONFIG, KEY_CLASSKEY_URLRESOURCES, KEY_URLUSECONFIG, KEY_URLUSECURRENT, KEY_URLUSEHOME| Constructor and Description |
|---|
MoonLight(Map<String,String> prop)
Constrcuts a new moon-brightness parameter.
|
| Modifier and Type | Method and Description |
|---|---|
private Double |
getBrightnessLambert(double sep,
double zero,
double h,
double kprime,
double lambda)
Calculates the moon brightness for the stated on-sky separation between
target and moon, target and moon height, moon zero magnitude and
extinction coefficient for the specific band in question.
|
protected Number |
getFilterValue(String f)
Returns the moon zero brightness in the specified filter or its visual
brightness, if brightness for the filter in question is undefined.
|
Number |
getForTarget(TargetDefinition td)
If queried with a target, we always ignore the filter registered.
|
Number |
getValue()
We get the value for the stated filter.
|
void |
registerParameter(Parameter p)
Registers the moon height, the on-sky separation of the target to the
moon, the moon phase angle and the target height to this parameter.
|
void |
registerTarget(TargetDefinition td)
We register the target.
|
double |
rescanned(String key,
String old,
String newval)
As any parameter depending instance we fail if the parameter we depend on
is now a different one.
|
parseFilter, setValueget, setgetAsStar, getConstant, getFormattedFor, getSetupcreateParameter, delivers, exit, getFormatted, getFormatted, getName, getPreserveFile, getString, getString, init, overrideDefaultName, register, setName, toStringclone, createFrom, createFrom, createFrom, createInstance, getApplet, getAsResources, getLocate, getPropertiesToKey, getPropertiesToKey, getResource, getResourceAsStream, getResourceFromKey, getResources, hasLocalURLs, initProperties, keyCreate, keyCreate, reload, setAppletaugment, augment, augment, augment, augment, defaultBoolean, defaultChar, defaultDouble, defaultFloat, defaultInt, defaultLong, defaultObject, defaultObject, defaultProperties, defaultProperty, getAsBoolean, getAsChar, getAsDouble, getAsEnums, getAsFloat, getAsInt, getAsList, getAsLong, getAsMap, getAsMap, getAsObject, getAsObject, getProperties, getProperty, has, isNew, parseObject, parseObject, reload, removeProperty, requires, setObject, setProperties, setProperty, stringPropertiesequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetFormattedForgetFormatted, getName, getStringdefaultBoolean, defaultChar, defaultDouble, defaultFloat, defaultInt, defaultLong, defaultObject, defaultObject, defaultProperties, defaultProperty, getAsBoolean, getAsChar, getAsDouble, getAsFloat, getAsInt, getAsList, getAsLong, getAsMap, getAsObject, getAsObject, getProperties, getProperty, has, parseObject, removeProperty, setObject, setProperty, stringPropertiesinitpublic static final String KEY_MOONSEPARATION
public static final String KEY_MOONANGLE
public static final String KEY_MOONHEIGHT
public static final String KEY_ALTTARGET
public static final String KEY_FILTERWAVELENGTH
public static final String KEY_MOONBRIGHTNESS
public static final String KEY_MAGARCSEC2
public static final String KEY_EXTINCTIONCOEFFICIENT
public static final String DEFNAME
private static final String DEFMOONANGLE
private static final String DEFMOONSEPARATION
private static final String DEFMOONHEIGHT
private static final String DEFALTTARGET
private static final String DEFFILTERWAVELENGTH
private static final String DEFEXTINCTIONCOEFFICIENT
private static final String DEFMOONBRIGHTNESS
private static final String DEFFILTER
private static final boolean DEFMAGARCSEC2
private Value separation
private Value moonphi
private Value moonalt
private Value alt
private FilterWavelength fw
private ExtinctionCoefficient kp
public void registerParameter(Parameter p)
registerParameter in interface ParameterDependingpublic double rescanned(String key, String old, String newval)
rescanned in class AbstractParameterpublic void registerTarget(TargetDefinition td)
registerTarget in interface TargetDependingregisterTarget in class FilterTargetpublic Number getForTarget(TargetDefinition td)
getForTarget in interface TargetDependingParametergetForTarget in interface TargetDependingValuegetForTarget in class FilterTargetpublic Number getValue()
getValue in interface ValuegetValue in class FilterTargetprotected Number getFilterValue(String f)
getFilterValue in class FilterTargetprivate Double getBrightnessLambert(double sep, double zero, double h, double kprime, double lambda)
sep - On-sky separation between moon and target, degreeszero - Magnitude of full moon in band in questionh - Height of target, deg.kprime - Extinction coefficient for filter bandlambda - Ratio of filter wavelength to V-wavelength.