Exemplo n.º 1
0
if isParallel : comm.Barrier() 


for ip in PROCESSES[rank::nranks]:
    (ifile, ivar) = divmod(ip,nvars)
    var     = VARLIST[ivar]
    avefile =aveLIST[ifile]
    dim     = var_dim[ivar]
    print "rank %03d scans %s on %s" %(rank,var,os.path.basename(avefile))
    
    
    datestr=os.path.basename(avefile)[IOnames.Input.date_startpos:IOnames.Input.date_endpos]
    if doStatistics:
        ncOUT__profiles,ncOUT_integrals = create_tmp_headers(datestr,var)
    F = GB_lib.filename_manager(avefile)
    filename = F.get_filename(avefile, var,INPUT_AVEDIR,AGGREGATE_AVEDIR)
    ncIN = NC.netcdf_file(filename,"r")
    nDim = len(ncIN.variables[var].dimensions)
    if var_dim [ivar] == '3D':
        
        if nDim==4 : VAR   = ncIN.variables[var].data[0,:,:,:].copy()
        if nDim==3 : VAR   = ncIN.variables[var].data.copy()

    else:
        VAR        = np.zeros((jpk,jpj,jpi),np.float32)
        if nDim==3 : VAR[0,:,:] = ncIN.variables[var].data[0,:,:].copy()
        if nDim==2 : VAR[0,:,:] = ncIN.variables[var].data.copy()
    
    if doStatistics:
        if var_dim [ivar] == '3D':