Changeset 97f4f4c in flex_extract.git


Ignore:
Timestamp:
Nov 30, 2018, 6:26:24 PM (8 months ago)
Author:
Anne Philipp <anne.philipp@…>
Branches:
dev
Children:
3f36e42
Parents:
1d15e27
Message:

better check on grid and arae parameter formats

Location:
source/python
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • source/python/classes/ControlFile.py

    r631ba13 r97f4f4c  
    6161import _config
    6262from mods.tools import my_error, silent_remove
     63from mods.checks import check_grid_area
    6364
    6465# ------------------------------------------------------------------------------
     
    475476            self.accmaxstep='12'
    476477
    477         # if area was provided (only from commandline)
    478         # decompose area into its 4 components
    479         if self.area:
    480             components = self.area.split('/')
    481             self.upper, self.left, self.lower, self.right = components
     478
     479        self.grid, self.area = check_grid_area(self.grid, self.area,
     480                                               self.upper, self.lower,
     481                                               self.left, self.right)
     482
     483
    482484
    483485        # convert grid and area components to correct format and input
    484         if 'N' in self.grid:  # Gaussian output grid
    485             self.area = 'G'
    486         else:
    487             # check on grid format
    488             if float(self.grid) / 100. >= 0.5:
    489                 # grid is defined in 1/1000 degrees; old method
    490                 self.grid = '{}/{}'.format(float(self.grid) / 1000.,
    491                                            float(self.grid) / 1000.)
    492                 self.area = '{}/{}/{}/{}'.format(float(self.upper) / 1000.,
    493                                                  float(self.left) / 1000.,
    494                                                  float(self.lower) / 1000.,
    495                                                  float(self.right) / 1000.)
    496             elif float(self.grid) / 100. < 0.5:
    497                 # grid is defined in normal degree; new method
    498                 self.grid = '{}/{}'.format(float(self.grid), float(self.grid))
    499                 self.area = '{}/{}/{}/{}'.format(float(self.upper),
    500                                                  float(self.left),
    501                                                  float(self.lower),
    502                                                  float(self.right))
     486        #if 'N' in self.grid:  # Gaussian output grid
     487        #    self.area = 'G'
     488        # else:
     489            # if '/' in self.grid:
     490                # gridx, gridy = self.grid.split('/')
     491                # if gridx == gridy:
     492                    # self.grid = gridx
     493
     494
     495            # # check on grid format
     496            # if float(self.grid) / 100. >= 0.5:
     497                # # grid is defined in 1/1000 degrees; old format
     498                # self.grid = '{}/{}'.format(float(self.grid) / 1000.,
     499                                           # float(self.grid) / 1000.)
     500                # self.area = '{}/{}/{}/{}'.format(float(self.upper) / 1000.,
     501                                                 # float(self.left) / 1000.,
     502                                                 # float(self.lower) / 1000.,
     503                                                 # float(self.right) / 1000.)
     504            # elif float(self.grid) / 100. < 0.5:
     505                # # grid is defined in normal degree; new format
     506                # self.grid = '{}/{}'.format(float(self.grid), float(self.grid))
     507                # self.area = '{}/{}/{}/{}'.format(float(self.upper),
     508                                                 # float(self.left),
     509                                                 # float(self.lower),
     510                                                 # float(self.right))
    503511
    504512        return
  • source/python/mods/tools.py

    rb2e95c3 r97f4f4c  
    9999        return None
    100100    return int(value)
    101 
    102101
    103102def get_cmdline_arguments():
Note: See TracChangeset for help on using the changeset viewer.
hosted by ZAMG