def initialize(name, meta, plane_type)
@name = name
@meta = meta
@type = :reference
@attr = Hash.new
case @meta[:projection].rstrip
when "LL", "GS", "RG", "MER", "NPS", "SPS", "LMN", "LMS", "OL"
case name
when "lon"
@name2 = "x"
@attr["units"] = "degrees_east"
@attr["long_name"] = "longitude"
when "lat"
@name2 = "y"
@attr["units"] = "degrees_north"
@attr["long_name"] = "latitude"
end
when "YP"
case name
when "lat"
@name2 = "x"
@attr["units"] = "degrees_north"
@attr["long_name"] = "latitude"
when "z"
@name2 = "y"
@attr["units"] = "m"
@attr["long_name"] = "height"
end
end
if !@name2 && @meta[:nplane] > 1
case plane_type
when "PP"
@name2 = "plane" if @name == "pressure"
@attr["units"] = "hPa"
@attr["long_name"] = "pressure_level"
when "SG"
@name2 = "plane" if @name == "sigma"
when "ZS", "ZZ"
@name2 = "plane" if @name == "z"
@attr["units"] = "m"
@attr["long_name"] = "height"
when "TH"
@name2 = "plane" if @name == "theta"
@attr["units"] = "K"
@attr["long_name"] = "theta_level"
end
end
if @name2 == "plane"
@attr["coordinate"] = @@vertical_grids[plane_type]
end
if @name2 == "validtime"
@attr["units"] = @meta[:validtime_unit].downcase
end
if @name2 == "basetime"
@attr["units"] = "minuits since 1801-01-01 00:00:0.0"
end
@name2 ||= @name
end