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':
if args.tmpdir: TMPOUTdir = addsep(args.tmpdir) if rank==0 : print "TMPOUTDIR= ", TMPOUTdir os.system("mkdir -p " + TMPOUTdir) if args.chlsupdir: CHLSUPdir = addsep(args.chlsupdir) if rank==0 : print "CHLSUPDIR =", CHLSUPdir os.system("mkdir -p " + CHLSUPdir) SingleVar_filelist=glob.glob(PATH_NAME) SingleVar_filelist.sort() for N1pfile in SingleVar_filelist[rank::nranks]: varname = N1pfile[-6:-3] dailyAve = os.path.basename(N1pfile).replace("."+ varname,"") print "writing ", dailyAve if args.archivedir : Big_Ave__archive = ARCHIVEdir + dailyAve G.WriteBigAve(N1pfile, Big_Ave__archive, RD.ARCHIVE_VARS) if args.tmpdir: Big_Ave_postproc = TMPOUTdir + dailyAve G.WriteTMPave(N1pfile, Big_Ave_postproc, RD) if args.chlsupdir: chlfile =dailyAve.replace("ave","chl") G.writeChlSup(Big_Ave_postproc, CHLSUPdir+chlfile)