/** * Copy Constructor * @param from copy from this one */ public VerticalCT (VerticalCT from) { super( from.getName(), from.getAuthority(), from.getTransformType()); this.type = from.getVerticalTransformType(); this.builder = from.getBuilder(); }
void makeVerticalTransform(GridDataset gds, Formatter parseInfo) { if (vt != null) return; // already done if (vCT == null) return; // no vt vt = vCT.makeVerticalTransform(gds.getNetcdfDataset(), timeDim); if (vt == null) { if (parseInfo != null) parseInfo.format(" - ERR can't make VerticalTransform = %s%n", vCT.getVerticalTransformType()); } else { if (parseInfo != null) parseInfo.format(" - VerticalTransform = %s%n", vCT.getVerticalTransformType()); } }
public VerticalCT makeCoordinateTransform(NetcdfDataset ds, AttributeContainer ctv) { VerticalCT ct = new VerticalCT (ctv.getName(), getTransformName(), VerticalCT.Type.Existing3DField, this); String fieldName = ctv.findAttValueIgnoreCase(VTfromExistingData.existingDataField, null); if (null == fieldName) throw new IllegalArgumentException("ExplicitField Vertical Transform must have attribute "+VTfromExistingData.existingDataField); ct.addParameter(new Parameter("standard_name", getTransformName())); ct.addParameter(new Parameter(VTfromExistingData.existingDataField, fieldName)); return ct; }
/** * Make the vertical transform transform * * @param ds the dataset * @param timeDim the time dimention * @param vCT the vertical coordinate transform * @return the VerticalTransform */ public ucar.unidata.geoloc.vertical.VerticalTransform makeMathTransform(NetcdfDataset ds, Dimension timeDim, VerticalCT vCT) { return new HybridHeight(ds, timeDim, vCT.getParameters()); } }
VerticalCT vt = gcs.getVerticalCT(); if (vt != null) out.print(" transform= " + vt.getVerticalTransformType());
public CoordinateTransform makeCoordinateTransform(NetcdfDataset ds, Variable ctv) { CoordinateTransform rs = new VerticalCT("sigma-" + ctv.getFullName(), conventionName, VerticalCT.Type.Sigma, this); rs.addParameter(new Parameter("formula", "pressure(x,y,z) = ptop + sigma(z)*(surfacePressure(x,y)-ptop)")); if (!addParameter2(rs, AtmosSigma.PS, ds, ctv, "PS_var", false)) return null; if (!addParameter2(rs, AtmosSigma.SIGMA, ds, ctv, "B_var", false)) return null; if (!addParameter2(rs, AtmosSigma.PTOP, ds, ctv, "P0_var", false)) return null; parseInfo.format("CSMConvention made SigmaCT %s\n", ctv.getFullName()); return rs; }
public ucar.unidata.geoloc.vertical.VerticalTransform makeMathTransform(NetcdfDataset ds, Dimension timeDim, VerticalCT vCT) { return new OceanSigma(ds, timeDim, vCT.getParameters()); } }
VerticalCT vt = gcs.getVerticalCT(); if (vt != null) out.print(" transform= " + vt.getVerticalTransformType());
public CoordinateTransform makeCoordinateTransform(NetcdfDataset ds, Variable ctv) { CoordinateTransform rs = new VerticalCT("sigma-" + ctv.getFullName(), conventionName, VerticalCT.Type.Sigma, this); rs.addParameter(new Parameter("formula", "pressure(x,y,z) = ptop + sigma(z)*(surfacePressure(x,y)-ptop)")); if (!addParameter2(rs, AtmosSigma.PS, ds, ctv, "PS_var", false)) return null; if (!addParameter2(rs, AtmosSigma.SIGMA, ds, ctv, "B_var", false)) return null; if (!addParameter2(rs, AtmosSigma.PTOP, ds, ctv, "P0_var", false)) return null; parseInfo.format("CSMConvention made SigmaCT %s%n", ctv.getFullName()); return rs; }
/** * Copy Constructor * @param from copy from this one */ public VerticalCT (VerticalCT from) { super( from.getName(), from.getAuthority(), from.getTransformType()); this.type = from.getVerticalTransformType(); this.builder = from.getBuilder(); }
public CoordinateTransform makeCoordinateTransform(NetcdfDataset ds, Variable ctv) { VerticalCT ct = new VerticalCT (ctv.getShortName(), getTransformName(), VerticalCT.Type.Existing3DField, this); String fieldName = ds.findAttValueIgnoreCase(ctv, VTfromExistingData.existingDataField, null); if (null == fieldName) throw new IllegalArgumentException("ExplicitField Vertical Transform must have attribute "+VTfromExistingData.existingDataField); ct.addParameter(new Parameter("standard_name", getTransformName())); ct.addParameter(new Parameter(VTfromExistingData.existingDataField, fieldName)); return ct; }
void makeVerticalTransform(GridDataset gds, Formatter parseInfo) { if (vt != null) return; // already done if (vCT == null) return; // no vt vt = vCT.makeVerticalTransform(gds.getNetcdfDataset(), timeDim); if (vt == null) { if (parseInfo != null) parseInfo.format(" - ERR can't make VerticalTransform = %s%n", vCT.getVerticalTransformType()); } else { if (parseInfo != null) parseInfo.format(" - VerticalTransform = %s%n", vCT.getVerticalTransformType()); } }
public ucar.unidata.geoloc.vertical.VerticalTransform makeMathTransform(NetcdfDataset ds, Dimension timeDim, VerticalCT vCT) { return new OceanSG1(ds, timeDim, vCT.getParameters()); } }
VerticalCT vt = gcs.getVerticalCT(); if (vt != null) out.print(" transform= " + vt.getVerticalTransformType());
public CoordinateTransform makeCoordinateTransform(NetcdfDataset ds, Variable ctv) { CoordinateTransform rs = new VerticalCT(ctv.getFullName(), getTransformName(), VerticalCT.Type.HybridSigmaPressure, this); rs.addParameter(new Parameter("formula", "pressure(x,y,z) = a(z)*p0 + b(z)*surfacePressure(x,y)")); if (!addParameter2(rs, HybridSigmaPressure.PS, ds, ctv, "PS_var", false)) return null; if (!addParameter2(rs, HybridSigmaPressure.A, ds, ctv, "A_var", false)) return null; if (!addParameter2(rs, HybridSigmaPressure.B, ds, ctv, "B_var", false)) return null; if (!addParameter2(rs, HybridSigmaPressure.P0, ds, ctv, "P0_var", false)) return null; parseInfo.format("CSMConvention made SigmaPressureCT %s\n",ctv.getFullName()); return rs; }
/** * Copy Constructor * * @param from copy from this one */ public VerticalCT(VerticalCT from) { super(from.getName(), from.getAuthority(), from.getTransformType()); this.type = from.getVerticalTransformType(); this.builder = from.getBuilder(); }
public CoordinateTransform makeCoordinateTransform(NetcdfDataset ds, Variable ctv) { VerticalCT ct = new VerticalCT (ctv.getShortName(), getTransformName(), VerticalCT.Type.Existing3DField, this); String fieldName = ds.findAttValueIgnoreCase(ctv, VTfromExistingData.existingDataField, null); if (null == fieldName) throw new IllegalArgumentException("ExplicitField Vertical Transform must have attribute "+VTfromExistingData.existingDataField); ct.addParameter(new Parameter("standard_name", getTransformName())); ct.addParameter(new Parameter(VTfromExistingData.existingDataField, fieldName)); return ct; }
void makeVerticalTransform(GridDataset gds, Formatter parseInfo) { if (vt != null) return; // already done if (vCT == null) return; // no vt vt = vCT.makeVerticalTransform(gds.getNetcdfDataset(), timeDim); if (vt == null) { if (parseInfo != null) parseInfo.format(" - ERR can't make VerticalTransform = %s\n", vCT.getVerticalTransformType()); } else { if (parseInfo != null) parseInfo.format(" - VerticalTransform = %s\n", vCT.getVerticalTransformType()); } }
public ucar.unidata.geoloc.vertical.VerticalTransform makeMathTransform(NetcdfDataset ds, Dimension timeDim, VerticalCT vCT) { return new HybridSigmaPressure(ds, timeDim, vCT.getParameters()); } }
public void testWrfEta() throws java.io.IOException, InvalidRangeException { GridDataset gds = ucar.nc2.dt.grid.GridDataset.open( TestDir.cdmUnitTestDir + "conventions/wrf/wrfout_v2_Lambert.nc"); GridDatatype grid = gds.findGridDatatype("T"); assert grid != null; GridCoordSystem gcs = grid.getCoordinateSystem(); assert gcs != null; VerticalCT vct = gcs.getVerticalCT(); assert vct != null; assert vct.getVerticalTransformType() == VerticalCT.Type.WRFEta : vct.getVerticalTransformType(); VerticalTransform vt = gcs.getVerticalTransform(); assert vt != null; ArrayDouble.D3 ca = vt.getCoordinateArray(0); assert ca != null; assert ca.getRank() == 3 : ca.getRank(); int[] shape = ca.getShape(); for (int i = 0; i < 3; i++) System.out.println(" shape " + i + " = " + shape[i]); gds.close(); }