public static void main(String args[]) { int nlats = 94; GaussianLatitudes glat = new GaussianLatitudes(nlats); for (int i=0; i<nlats; i++) { System.out.print(" lat "+i+" = "+ Format.dfrac( glat.latd[i], 4)); if (i < nlats - 1) System.out.print(" diff = " + (glat.latd[i + 1] - glat.latd[i])); System.out.println(" weight= "+ Format.dfrac( glat.gaussw[i], 6)); } }
double G = lgord( cosc[i], nlat); double GM = lgord( cosc[i], nlat-1); double GP = lgord( cosc[i], nlat+1); double GT = (cosc[i]*cosc[i]-1.0) / (A*GP-B*GM); double D = lgord( cosc[i], nlat-1 ); D = D * D * FI * FI; gaussw[i] = C *( FI-0.5 ) / D; cosc[next] = 0.0; double C = 2.0; double D = lgord(cosc[next], nlat-1); D = D*D*FI*FI; gaussw[next] = C *( FI-0.5 ) / D;
public static void main(String args[]) { int nlats = 512; GaussianLatitudes glat = new GaussianLatitudes(nlats); for (int i=0; i<nlats-1; i++) { System.out.print(" lat "+i+" = "+ Format.dfrac( glat.latd[i], 4)); System.out.print(" diff "+i+" = "+ (glat.latd[i+1]-glat.latd[i])); System.out.println(" weight= "+ Format.dfrac( glat.gaussw[i], 6)); } }
double G = lgord( cosc[i], nlat); double GM = lgord( cosc[i], nlat-1); double GP = lgord( cosc[i], nlat+1); double GT = (cosc[i]*cosc[i]-1.0) / (A*GP-B*GM); double D = lgord( cosc[i], nlat-1 ); D = D * D * FI * FI; gaussw[i] = C *( FI-0.5 ) / D; cosc[next] = 0.0; double C = 2.0; double D = lgord(cosc[next], nlat-1); D = D*D*FI*FI; gaussw[next] = C *( FI-0.5 ) / D;
public static void main(String args[]) { int nlats = 512; GaussianLatitudes glat = new GaussianLatitudes(nlats); for (int i=0; i<nlats-1; i++) { System.out.print(" lat "+i+" = "+ Format.dfrac( glat.latd[i], 4)); System.out.print(" diff "+i+" = "+ (glat.latd[i+1]-glat.latd[i])); System.out.println(" weight= "+ Format.dfrac( glat.gaussw[i], 6)); } }
double G = lgord( cosc[i], nlat); double GM = lgord( cosc[i], nlat-1); double GP = lgord( cosc[i], nlat+1); double GT = (cosc[i]*cosc[i]-1.0) / (A*GP-B*GM); double D = lgord( cosc[i], nlat-1 ); D = D * D * FI * FI; gaussw[i] = C *( FI-0.5 ) / D; cosc[next] = 0.0; double C = 2.0; double D = lgord(cosc[next], nlat-1); D = D*D*FI*FI; gaussw[next] = C *( FI-0.5 ) / D;
public static void main(String args[]) { int nlats = 512; GaussianLatitudes glat = new GaussianLatitudes(nlats); for (int i=0; i<nlats-1; i++) { System.out.print(" lat "+i+" = "+ Format.dfrac( glat.latd[i], 4)); System.out.print(" diff "+i+" = "+ (glat.latd[i+1]-glat.latd[i])); System.out.println(" weight= "+ Format.dfrac( glat.gaussw[i], 6)); } }
double G = lgord( cosc[i], nlat); double GM = lgord( cosc[i], nlat-1); double GP = lgord( cosc[i], nlat+1); double GT = (cosc[i]*cosc[i]-1.0) / (A*GP-B*GM); double D = lgord( cosc[i], nlat-1 ); D = D * D * FI * FI; gaussw[i] = C *( FI-0.5 ) / D; cosc[next] = 0.0; double C = 2.0; double D = lgord(cosc[next], nlat-1); D = D*D*FI*FI; gaussw[next] = C *( FI-0.5 ) / D;
public static GaussianLatitudes factory(int nlats) { GaussianLatitudes glats = hash.get(nlats); if (glats == null) { glats = new GaussianLatitudes(nlats); hash.put(nlats, glats); } return glats; }
GaussianLatitudes gaussLats = new GaussianLatitudes(nlats); log.warn("GRIB gaussian lats: NP != NY, use NY"); // see email from Toussaint@dkrz.de datafil: nlats = ny; gaussLats = new GaussianLatitudes(nlats); bestStartIndex = 0; bestEndIndex = ny-1;