typeOfWavelengthIntervall used to decide if mars.wavelength is a simple wavelength or wavelengthRanger

This commit is contained in:
Robert Osinski 2024-08-06 08:54:45 +00:00
parent 7ab63e814a
commit 3ad3fe852e
3 changed files with 9 additions and 20 deletions

View File

@ -1,17 +1,11 @@
# (C) Copyright 2005- ECMWF.
if (chem_param_split == 1 && wavelength_param_split == 0){
if (chem_param_split == 1){
constant paramTypeChemical = "chemical" ;
unalias mars.paramtype;
alias mars.paramtype = paramTypeChemical ;
}
if (chem_param_split == 1 && wavelength_param_split == 1){
constant paramTypeChemical = "chemical_optical" ;
unalias mars.paramtype;
alias mars.paramtype = paramTypeChemical ;
}
# Aerosol type - now replaced by constituent type
# Note: Code tables 4.230 and 4.233 are identical
codetable[2] constituentType ('4.233.table',masterDir,localDir) : dump;

View File

@ -1,17 +1,11 @@
# (C) Copyright 2005- ECMWF.
if (chem_param_split == 1 && wavelength_param_split == 0){
if (chem_param_split == 1){
constant paramTypeChemical = "chemical" ;
unalias mars.paramtype;
alias mars.paramtype = paramTypeChemical ;
}
if (chem_param_split == 1 && wavelength_param_split == 1){
constant paramTypeChemical = "chemical_optical" ;
unalias mars.paramtype;
alias mars.paramtype = paramTypeChemical ;
}
# Atmospheric chemical or physical constituent type
codetable[2] constituentType ('4.230.table',masterDir,localDir) : dump;
meta constituentTypeName codetable_title(constituentType);

View File

@ -31,14 +31,15 @@ meta firstWavelengthInNanometres multdouble(firstWavelength, billion) : read_on
meta secondWavelengthInNanometres multdouble(secondWavelength, billion) : read_only;
if (wavelength_param_split == 1) {
meta wavelengthRange sprintf("%s-%s",firstWavelengthInNanometres,secondWavelengthInNanometres) ;
if (firstWavelengthInNanometres > 0 && secondWavelengthInNanometres > 0) {
alias mars.wavelength = wavelengthRange;
}
if (firstWavelengthInNanometres > 0 && secondWavelengthInNanometres <= 0) {
# typeOfWavelengthInterval (table 4.91 specifies if first / second / first+second limit(s) are to be defined)
if ( typeOfWavelengthInterval == 0 || typeOfWavelengthInterval == 3 || typeOfWavelengthInterval == 5 || typeOfWavelengthInterval == 8 || typeOfWavelengthInterval == 11 ){
alias mars.wavelength = firstWavelengthInNanometres ;
}
if (firstWavelengthInNanometres <= 0 && secondWavelengthInNanometres > 0) {
if ( typeOfWavelengthInterval == 1 || typeOfWavelengthInterval == 4 || typeOfWavelengthInterval == 6 || typeOfWavelengthInterval == 9 ){
alias mars.wavelength = secondWavelengthInNanometres ;
}
if ( typeOfWavelengthInterval == 2 || typeOfWavelengthInterval == 7 || typeOfWavelengthInterval == 10 ){
meta wavelengthRange sprintf("%s-%s",firstWavelengthInNanometres,secondWavelengthInNanometres) ;
alias mars.wavelength = wavelengthRange ;
}
}