Class GEOSgridUtil

java.lang.Object
edu.wisc.ssec.mcidasv.util.GEOSgridUtil

public class GEOSgridUtil extends Object
Utilities for efficiently upscaling and downscaling data referenced on the GOES-16 2km, 1km and hkm Fixed Grid Frame (FGF).

Adapted from VisAD's resample, but realizes efficiencies when target and source domain sets are both rectilinear, especially avoiding the expansion of the domain samples (getSamples) for this special case.

Follows resampling rules outlined in the GOES-16 ABI ATBD for the Cloud and Moisture Imagery Product when incoming grids are at the their full resolution. Should be thought of as a grid transfer operation, to be used in conjunction with, not necessarily a replacement for, FlatField.resample.

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private static float
     
     
    private static double
     
    private static int
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static FlatField
    Efficiently upscales or downscales between ABI fields with domainSets on the Fixed Grid Frame.
    static FlatField
    geosResample(FlatField fld, Linear2DSet targetSet, int mode)
    Efficiently upscales or downscales between ABI fields with domainSets on the Fixed Grid Frame.
    static FlatField
    geosRGB(FlatField red, FlatField green, FlatField blue)
    DomainSets of red, green, blue must be (lambda, theta): the intermediate view angle coordinates (radians) for the Fixed Grid Frame.
    static FlatField
    geosRGB(FlatField red, FlatField green, FlatField blue, Linear2DSet targetSet)
     
    static FlatField
    geosRGB(FlatField red, FlatField green, FlatField blue, Linear2DSet targetSet, boolean copy)
    DomainSets of red, green, blue and targetSet must be (lambda, theta): the intermediate view angle coordinates (radians) for the Fixed Grid Frame.
    (package private) static void
    geosUpsample(int[] yidxs, int[] xidxs, int lenY, int lenX, float[][] values, int targetLenY, int targetLenX, float[][] targetValues, int mode)
     
    (package private) static void
    interp(float[] yidxs, float[] xidxs, int lenY, int lenX, float[][] values, int targetLenY, int targetLenX, float[][] targetValues, int mode)
     
    static FlatField
    makeGEOSRadiansDomainField(FlatField fltFld, double scaleX, double offsetX, double scaleY, double offsetY)
    Transforms FlatField with DomainCoordinateSystem (fgf_x, fgf_y) <-> (Lon,Lat) based on the Geostationary projection from fixed grid coordinates to intermediate coordinates view angle coordinates in radians (lambda, theta).
    static float[]
    minmax(float[] values, int length, int[] indexes)
     
    private static float[][]
    valueToGrid(Linear1DSet set, float[][] value)
    Adapted from VisAD except NaN is returned unless: val >= First and val invalid input: '<'= Last, First > Last val invalid input: '<'= First and val >= Last, Last > First i.e., clamp to inside the interval inclusive

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait