org.wdssii.nse
Class NSEProfile

java.lang.Object
  extended by org.wdssii.nse.NSEProfile

public class NSEProfile
extends Object

Creates and maintains a NSE profile

Author:
lakshman

Field Summary
(package private)  float[][][] dewpoint
           
(package private)  float[][][] height
           
private  float[][][] lclPres
           
private  float[][][] lclTemp
           
private static org.apache.commons.logging.Log log
           
private  float[][][] mixingRatio
           
private  float[][][] moistParcelTemp
           
(package private)  float[][] mslPressure
           
private  int[][] nearSurfaceGridPoint
           
private  int numLat
           
private  int numLon
           
(package private)  float[] pressureLevels
           
private  float[][][] rh
           
private  float[][][] satVaporPressure
           
(package private)  float[][] sfcDewPoint
           
(package private)  float[][] sfcElevation
           
(package private)  float[][] sfcLclPressure
           
(package private)  float[][] sfcLclTemperature
           
(package private)  float[][] sfcMixingRatio
           
(package private)  float[][] sfcPressure
           
(package private)  float[][] sfcRelativeHumidity
           
(package private)  float[][] sfcTemperature
           
(package private)  float[][] sfcTheta
           
(package private)  float[][] sfcThetaE
           
(package private)  float[][] sfcUWind
           
(package private)  float[][] sfcVirtualTemperature
           
(package private)  float[][] sfcVWind
           
(package private)  float[][] sfcWetBulbTemperatureK
           
(package private)  float[][][] temperatureC
           
private  float[][][] theta
           
private  float[][][] thetaE
           
(package private)  float[][][] u
           
(package private)  float[][][] v
           
private  float[][][] vaporPressure
           
private  float[][][] virtualTempK
           
(package private)  float[][][] w
           
private  float[][][] wetBulbTempK
           
 
Constructor Summary
NSEProfile(float[] pressureLevels)
          Invoke this constructor, set the fields sfcElevation, mslPressure, ...
 
Method Summary
private static float calcDewPoint(float temp, float rh)
           
private static float calcEquivalentPotentialTemperature(float tempC, float rh, float pres)
           
private static float calcEquivalentPotentialTemperature(float tempC, float mixingRatio, float lclTemp, float pres)
           
private static float calcLclPres(float _LCLTemp, float _Pres, float _TempK)
           
private static float calcLclTemp(float tempC, float dewpointC)
           
private static float calcMixingRatio(float _VaporPressure, float _Pres)
           
private static float calcMoistParcelTemp(float thetae, float pres)
           
private static float calcPotentialTemperature(float _Pres, float _TempK)
           
private static float calcRHFromVaporPressures(float vaporPressure, float saturationVaporPressure)
           
private static float calcSaturationVaporPressure(float _TempC)
           
private static float calcVaporPressure(float dewpointC)
           
private static float calcVirtualTemperature(float _TempC, float _MixingRatio)
           
private static float calcWetBulb(float vaporPressure, float satVaporPressure, float DewPointC, float _TempC, float _Pres)
           
(package private)  void fillHeightOfIsotherm(float thresh, float[][] result)
           
(package private)  void fillHeightOfWetBulb(float threshInCelsius, float[][] result)
           
 void fillMeanValuePressureLayerTemperatureC(int botPressure, int topPressure, float[][] result)
           
 void fillMeanValuePressureLayerVerticalVelocity(int botPressure, int topPressure, float[][] result)
           
 void fillMeanWindSpeed(float botPressure, float topPressure, float[][] result)
           
 void fillNumberOfUndergroundGridpoints(float[][] result)
           
 void fillSurfaceRelativeHumidityPercent(float[][] result)
           
(package private)  void finishInit()
          Call after setting all fields.
(package private)  float getMeanValueLayer(int x, int y, float botHeight, float topHeight, float[][][] param)
           
private  float getMeanValuePressureLayer(int x, int y, float botPres, float topPres, float[][][] values)
           
(package private) static float getSpeedFromUV(float u, float v)
           
private  void initNsePoint(int k, int i, int j)
           
private  void initSfcNsePoints()
           
private static float interpolate(float y1, float y2, float x1, float x2, float x)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

private static org.apache.commons.logging.Log log

pressureLevels

float[] pressureLevels

sfcElevation

float[][] sfcElevation

mslPressure

float[][] mslPressure

sfcUWind

float[][] sfcUWind

sfcVWind

float[][] sfcVWind

sfcPressure

float[][] sfcPressure

sfcTemperature

float[][] sfcTemperature

sfcDewPoint

float[][] sfcDewPoint

temperatureC

float[][][] temperatureC

dewpoint

float[][][] dewpoint

height

float[][][] height

u

float[][][] u

v

float[][][] v

w

float[][][] w

numLat

private int numLat

numLon

private int numLon

satVaporPressure

private float[][][] satVaporPressure

vaporPressure

private float[][][] vaporPressure

rh

private float[][][] rh

lclTemp

private float[][][] lclTemp

lclPres

private float[][][] lclPres

theta

private float[][][] theta

mixingRatio

private float[][][] mixingRatio

virtualTempK

private float[][][] virtualTempK

thetaE

private float[][][] thetaE

wetBulbTempK

private float[][][] wetBulbTempK

moistParcelTemp

private float[][][] moistParcelTemp

nearSurfaceGridPoint

private int[][] nearSurfaceGridPoint

sfcRelativeHumidity

float[][] sfcRelativeHumidity

sfcVirtualTemperature

float[][] sfcVirtualTemperature

sfcTheta

float[][] sfcTheta

sfcThetaE

float[][] sfcThetaE

sfcMixingRatio

float[][] sfcMixingRatio

sfcLclTemperature

float[][] sfcLclTemperature

sfcLclPressure

float[][] sfcLclPressure

sfcWetBulbTemperatureK

float[][] sfcWetBulbTemperatureK
Constructor Detail

NSEProfile

NSEProfile(float[] pressureLevels)
Invoke this constructor, set the fields sfcElevation, mslPressure, ... sfcDewPoint and then call finishInit()

Parameters:
pressureLevels -
Method Detail

finishInit

void finishInit()
Call after setting all fields.


initNsePoint

private void initNsePoint(int k,
                          int i,
                          int j)

initSfcNsePoints

private void initSfcNsePoints()

calcDewPoint

private static float calcDewPoint(float temp,
                                  float rh)

calcMoistParcelTemp

private static float calcMoistParcelTemp(float thetae,
                                         float pres)

calcRHFromVaporPressures

private static float calcRHFromVaporPressures(float vaporPressure,
                                              float saturationVaporPressure)

calcVaporPressure

private static float calcVaporPressure(float dewpointC)

calcSaturationVaporPressure

private static float calcSaturationVaporPressure(float _TempC)

calcWetBulb

private static float calcWetBulb(float vaporPressure,
                                 float satVaporPressure,
                                 float DewPointC,
                                 float _TempC,
                                 float _Pres)

calcVirtualTemperature

private static float calcVirtualTemperature(float _TempC,
                                            float _MixingRatio)

calcMixingRatio

private static float calcMixingRatio(float _VaporPressure,
                                     float _Pres)

calcPotentialTemperature

private static float calcPotentialTemperature(float _Pres,
                                              float _TempK)

calcLclPres

private static float calcLclPres(float _LCLTemp,
                                 float _Pres,
                                 float _TempK)

calcLclTemp

private static float calcLclTemp(float tempC,
                                 float dewpointC)

calcEquivalentPotentialTemperature

private static float calcEquivalentPotentialTemperature(float tempC,
                                                        float rh,
                                                        float pres)

calcEquivalentPotentialTemperature

private static float calcEquivalentPotentialTemperature(float tempC,
                                                        float mixingRatio,
                                                        float lclTemp,
                                                        float pres)

interpolate

private static float interpolate(float y1,
                                 float y2,
                                 float x1,
                                 float x2,
                                 float x)
Returns:
value of y corresponding to x

fillHeightOfIsotherm

void fillHeightOfIsotherm(float thresh,
                          float[][] result)

fillHeightOfWetBulb

void fillHeightOfWetBulb(float threshInCelsius,
                         float[][] result)

fillMeanWindSpeed

public void fillMeanWindSpeed(float botPressure,
                              float topPressure,
                              float[][] result)

getSpeedFromUV

static float getSpeedFromUV(float u,
                            float v)

getMeanValueLayer

float getMeanValueLayer(int x,
                        int y,
                        float botHeight,
                        float topHeight,
                        float[][][] param)

getMeanValuePressureLayer

private float getMeanValuePressureLayer(int x,
                                        int y,
                                        float botPres,
                                        float topPres,
                                        float[][][] values)

fillMeanValuePressureLayerVerticalVelocity

public void fillMeanValuePressureLayerVerticalVelocity(int botPressure,
                                                       int topPressure,
                                                       float[][] result)

fillMeanValuePressureLayerTemperatureC

public void fillMeanValuePressureLayerTemperatureC(int botPressure,
                                                   int topPressure,
                                                   float[][] result)

fillNumberOfUndergroundGridpoints

public void fillNumberOfUndergroundGridpoints(float[][] result)

fillSurfaceRelativeHumidityPercent

public void fillSurfaceRelativeHumidityPercent(float[][] result)