| 
| def  | modelsp_utils.getGridFile (date=initDate, gfsAnaDir=GFSANA_DIR, nCells=40962) | 
|   | 
| def  | modelsp_utils.readGrid (date=initDate, gridFile=None, returnR=False) | 
|   | 
| def  | modelsp_utils.hasVar (varName, ncFile) | 
|   | 
| def  | modelsp_utils.varDims (varName, ncFile) | 
|   | 
| def  | modelsp_utils.varAttrs (varName, ncFile) | 
|   | 
| def  | modelsp_utils.varDatatype (varName, ncFile) | 
|   | 
| def  | modelsp_utils.getPressure (ncData) | 
|   | 
| def  | modelsp_utils.getTemperature (ncFile) | 
|   | 
| def  | modelsp_utils.varRead (varName, ncFile) | 
|   | 
| def  | modelsp_utils.varWrite (varName, varVals, ncFile, varAttrs, dims, datatype) | 
|   | 
| def  | modelsp_utils.createHeaderOnlyFile (infile, outfile, date) | 
|   | 
| def  | modelsp_utils.varDiff (varName, ncFile1, ncFile2) | 
|   | 
| def  | modelsp_utils.main () | 
|   | 
 | 
| string  | modelsp_utils.ncWriteFormat = 'NETCDF3_64BIT_OFFSET' | 
|   | 
|   | modelsp_utils.fcHours = os.getenv('fcHours', '0') | 
|   | 
|   | modelsp_utils.intervalHours = os.getenv('intervalHours', '6') | 
|   | 
|   | modelsp_utils.fcNums = os.getenv('fcNums', '1') | 
|   | 
|   | modelsp_utils.initDate = os.getenv('start_init', '2018041500') | 
|   | 
|   | modelsp_utils.endDate = os.getenv('end_init', '2018051400') | 
|   | 
|   | modelsp_utils.diff2exp = os.getenv('diff2exp', 'False') | 
|   | 
|   | modelsp_utils.expDirectory = os.getenv('TOP_DIR','/glade/scratch/$user/pandac/') | 
|   | 
|   | modelsp_utils.GFSANA_DIR = os.getenv('GFSANA_DIR', 'Please link GFSANA_DIR') | 
|   | 
|   | modelsp_utils.expLongNames = os.getenv('expLongNames', 'please set expLongNames') | 
|   | 
|   | modelsp_utils.expNames = os.getenv('expNames','please set expNames') | 
|   | 
|   | modelsp_utils.EXP_DIR1 = os.getenv('FCDIAG_WORK_DIR1','FC1DIAG DIR OR FC2DIAG DIR FOR CONTROL') | 
|   | 
|   | modelsp_utils.EXP_DIR2 = os.getenv('FCDIAG_WORK_DIR2','FC1DIAG DIR OR FC2DIAG DIR FOR CURRENT/target exp') | 
|   | 
|   | modelsp_utils.exp1Name = os.getenv('exp1Name','name for control expt') | 
|   | 
|   | modelsp_utils.exp2Name = os.getenv('exp2Name','name for current/target expt') | 
|   | 
| list  | modelsp_utils.aggregatableFileStats = ['RMS','Mean'] | 
|   | 
| list  | modelsp_utils.allFileStats = aggregatableFileStats | 
|   | 
| string  | modelsp_utils.expStats = 'expmgfs' | 
|   | 
| list  | modelsp_utils.varNames2d = ['t2m','surface_pressure','q2','u10','v10'] | 
|   | 
| list  | modelsp_utils.varNames3d = ['theta','temperature','rho','pressure','uReconstructZonal','uReconstructMeridional','qv','w'] | 
|   | 
| list  | modelsp_utils.varNames = varNames2d + varNames3d | 
|   | 
| list  | modelsp_utils.latBands = ['NXTro','Tro','SXTro'] | 
|   | 
| list  | modelsp_utils.latBandsBounds = [90.0, 30.0, -30.0, -90.0] | 
|   | 
| list  | modelsp_utils.inflationVariables | 
|   | 
| dictionary  | modelsp_utils.variableTraits | 
|   | 
| dictionary  | modelsp_utils.templateVariables | 
|   | 
| int  | modelsp_utils.nlevelSurface = 1 | 
|   | 
| int  | modelsp_utils.nlevels = 55 | 
|   | 
| int  | modelsp_utils.nlevelsP1 = 56 | 
|   | 
| int  | modelsp_utils.ncells = 40962 | 
|   | 
| int  | modelsp_utils.fcRange = int(fcHours)/24. | 
|   | 
| int  | modelsp_utils.interval = int(intervalHours)/24 | 
|   | 
|   | modelsp_utils.SDATE = datetime.strptime(initDate,'%Y%m%d%H') | 
|   | 
|   | modelsp_utils.EDATE = datetime.strptime(endDate,'%Y%m%d%H') | 
|   | 
|   | modelsp_utils.DATEINC = dt.timedelta(days=interval) | 
|   | 
|   | modelsp_utils.nExp = len(expNames) | 
|   |