weacast/weacast-grib2json

View on GitHub

Showing 14 of 14 total issues

Function grib2json has 55 lines of code (exceeds 25 allowed). Consider refactoring.
Open

var grib2json = function (filePath, options) {
var numberFormatter = function (key, value) {
return value.toFixed ? Number(value.toFixed(options.precision)) : value
}
 
 
Severity: Major
Found in index.js - About 2 hrs to fix

    Function promise has 49 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

    let promise = new Promise(function (resolve, reject) {
    let optionsNames = Object.keys(options)
    optionsNames = optionsNames.filter(arg => options[arg] &&
    // These ones are used internally
    !INTERNAL_OPTIONS.includes(arg))
    Severity: Minor
    Found in index.js - About 1 hr to fix

      Method writeGridDefinition has 32 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

      private void writeGridDefinition() {
      final int gridTemplate = gds.getGdtn();
       
      write("gridDefinitionTemplate", gridTemplate, codeTable3_1(gridTemplate));
      write("numberPoints", gds.getNumberPoints());
      Severity: Minor
      Found in src/main/java/net/nullschool/grib2json/GribRecordWriter.java - About 1 hr to fix

        Method main has 30 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

        public static void main(String[] args) {
        try {
        Options options = CliFactory.parseArguments(Options.class, args);
        if (options.getShowHelp() || options.getFile() == null) {
        printUsage();
        Severity: Minor
        Found in src/main/java/net/nullschool/grib2json/Launcher.java - About 1 hr to fix

          Similar blocks of code found in 2 locations. Consider refactoring.
          Open

          private void writeRotationAndStretch() {
          writeIfSet("spLon", gds.getSpLon()); // longitude of the southern pole of projection
          writeIfSet("spLat", gds.getSpLat()); // latitude of the southern pole of projection
          writeIfSet("rotationAngle", gds.getRotationAngle());
          writeIfSet("poleLon", gds.getPoleLon()); // longitude of the pole stretching
          Severity: Minor
          Found in src/main/java/net/nullschool/grib2json/GribRecordWriter.java and 1 other location - About 55 mins to fix
          src/main/java/net/nullschool/grib2json/GribRecordWriter.java on lines 131..138

          Similar blocks of code found in 2 locations. Consider refactoring.
          Open

          private void writeLonLatBounds() {
          writeIfSet("lo1", gds.getLo1()); // longitude of first grid point
          writeIfSet("la1", gds.getLa1()); // latitude of first grid point
          writeIfSet("lo2", gds.getLo2()); // longitude of last grid point
          writeIfSet("la2", gds.getLa2()); // latitude of last grid point
          Severity: Minor
          Found in src/main/java/net/nullschool/grib2json/GribRecordWriter.java and 1 other location - About 55 mins to fix
          src/main/java/net/nullschool/grib2json/GribRecordWriter.java on lines 140..147

          Method write has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
          Open

          public void write() throws IOException {
           
          // Try opening the file as GRIB format.
          RandomAccessFile raf = new RandomAccessFile(file.getPath(), "r");
          raf.order(RandomAccessFile.BIG_ENDIAN);
          Severity: Minor
          Found in src/main/java/net/nullschool/grib2json/Grib2Json.java - About 45 mins to fix

          Similar blocks of code found in 2 locations. Consider refactoring.
          Open

          if (options.verbose) {
          json.forEach(variable => console.log('Generated ' + variable.data.length + ' points in memory for variable ', variable.header))
          }
          Severity: Minor
          Found in index.js and 1 other location - About 40 mins to fix
          index.js on lines 45..47

          Similar blocks of code found in 2 locations. Consider refactoring.
          Open

          if (options.verbose) {
          json.forEach(variable => console.log('Wrote ' + variable.data.length + ' points into file for variable ', variable.header))
          }
          Severity: Minor
          Found in index.js and 1 other location - About 40 mins to fix
          index.js on lines 62..64

          Method main has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
          Open

          public static void main(String[] args) {
          try {
          Options options = CliFactory.parseArguments(Options.class, args);
          if (options.getShowHelp() || options.getFile() == null) {
          printUsage();
          Severity: Minor
          Found in src/main/java/net/nullschool/grib2json/Launcher.java - About 35 mins to fix

          Identical blocks of code found in 2 locations. Consider refactoring.
          Open

          const grib2jsonCommand = process.env.GRIB2JSON ||
          path.join(__dirname, 'bin', os.platform() === 'win32' ? 'grib2json.cmd' : 'grib2json')
          Severity: Minor
          Found in index.js and 1 other location - About 30 mins to fix
          set_permission.js on lines 5..6

          Identical blocks of code found in 2 locations. Consider refactoring.
          Open

          const grib2jsonCommand = process.env.GRIB2JSON ||
          path.join(__dirname, 'bin', os.platform() === 'win32' ? 'grib2json.cmd' : 'grib2json')
          Severity: Minor
          Found in set_permission.js and 1 other location - About 30 mins to fix
          index.js on lines 7..8

          Method isSelected has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
          Open

          boolean isSelected() {
          return
          (options.getFilterDiscipline() == null || options.getFilterDiscipline() == ins.getDiscipline()) &&
          (options.getFilterCategory() == null || options.getFilterCategory() == pds.getParameterCategory()) &&
          (options.getFilterSurface() == null || options.getFilterSurface() == pds.getLevelType1()) &&
          Severity: Minor
          Found in src/main/java/net/nullschool/grib2json/GribRecordWriter.java - About 25 mins to fix

          Method write has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
          Open

          private void write(RandomAccessFile raf, Grib2Input input, Options options) throws IOException {
          JsonGenerator jg = newJsonGenerator(options);
          jg.writeStartArray();
           
          List<Grib2Record> records = input.getRecords();
          Severity: Minor
          Found in src/main/java/net/nullschool/grib2json/Grib2Json.java - About 25 mins to fix
          Severity
          Category
          Status
          Source
          Language