Package ucar.nc2.geoloc.vertical
Class AtmosSigma
- java.lang.Object
-
- ucar.nc2.geoloc.vertical.AtmosSigma
-
- All Implemented Interfaces:
VerticalTransform
@Immutable public class AtmosSigma extends Object
Implement CF "atmosphere_sigma_coordinate".Atmosphere sigma coordinate standard_name = "atmosphere_sigma_coordinate" Definition p(n,k,j,i) = ptop + sigma(k)*(ps(n,j,i)-ptop) where p(n,k,j,i) is the pressure at gridpoint (n,k,j,i), ptop is the pressure at the top of the model, sigma(k) is the dimensionless coordinate at vertical gridpoint (k), and ps(n,j,i) is the surface pressure at horizontal gridpoint (j,i)and time (n). The format for the formula_terms attribute is formula_terms = "sigma: var1 ps: var2 ptop: var3"
- See Also:
- "http://cfconventions.org/Data/cf-conventions/cf-conventions-1.9/cf-conventions.html#_atmosphere_sigma_coordinate"
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
AtmosSigma.Builder
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static Optional<VerticalTransform>
create(NetcdfDataset ds, AttributeContainer params, Formatter errlog)
Array<Number>
getCoordinateArray1D(int timeIndex, int xIndex, int yIndex)
Get the 1D vertical coordinate array for this time step and pointArray<Number>
getCoordinateArray3D(int timeIndex)
Get the 3D vertical coordinate array for this time step.String
getCtvName()
The name of the Coordinate Variable Transform container.String
getName()
The name of the Vertical Transform.String
getUnitString()
The unit string for the vertical coordinate.
-
-
-
Method Detail
-
create
public static Optional<VerticalTransform> create(NetcdfDataset ds, AttributeContainer params, Formatter errlog)
-
getCoordinateArray3D
public Array<Number> getCoordinateArray3D(int timeIndex) throws IOException, InvalidRangeException
Description copied from interface:VerticalTransform
Get the 3D vertical coordinate array for this time step. Must be in "canonical order" : z, y, x.- Parameters:
timeIndex
- the time index. Ignored if !isTimeDependent().- Returns:
- 3D vertical coordinate array, for the given t.
- Throws:
IOException
InvalidRangeException
-
getName
public String getName()
Description copied from interface:VerticalTransform
The name of the Vertical Transform.- Specified by:
getName
in interfaceVerticalTransform
-
getCtvName
public String getCtvName()
Description copied from interface:VerticalTransform
The name of the Coordinate Variable Transform container.- Specified by:
getCtvName
in interfaceVerticalTransform
-
getUnitString
@Nullable public String getUnitString()
Description copied from interface:VerticalTransform
The unit string for the vertical coordinate.- Specified by:
getUnitString
in interfaceVerticalTransform
-
getCoordinateArray1D
public Array<Number> getCoordinateArray1D(int timeIndex, int xIndex, int yIndex) throws IOException, InvalidRangeException
Description copied from interface:VerticalTransform
Get the 1D vertical coordinate array for this time step and point- Specified by:
getCoordinateArray1D
in interfaceVerticalTransform
- Parameters:
timeIndex
- the time index. Ignored if !isTimeDependent().xIndex
- the x indexyIndex
- the y index- Returns:
- vertical coordinate array
- Throws:
IOException
InvalidRangeException
-
-