Ignore:
Timestamp:
Apr 14, 2016 4:54:12 PM (7 years ago)
Author:
srkline
Message:

updated the base "Write" routines to look locally first, then if no local folder found, write to the HDF file on disk. This is the same behavior as the base "Read" (or "get") routines.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sans/Dev/trunk/NCNR_User_Procedures/Reduction/VSANS/V_HDF5_RW_Utils.ipf

    r989 r991  
    443443         
    444444        if(!valExists) 
    445                 //then read in the file 
     445                //then read in the file, putting the data in RawVSANS 
     446                SetDataFolder ksBaseDFPath 
    446447                V_LoadHDF5_NoAtt(fname,"") 
     448                SetDataFolder root: 
    447449        endif 
    448450 
     
    484486                valExists=1 
    485487        endif 
    486          
     488 
    487489        if(!valExists) 
    488                 //then read in the file 
     490                //then read in the file, putting the data in RawVSANS 
     491                SetDataFolder ksBaseDFPath 
    489492                V_LoadHDF5_NoAtt(fname,"") 
    490         endif 
    491  
     493                SetDataFolder root: 
     494        endif 
     495                 
    492496// this should exist now - if not, I need to see the error 
    493497        Wave wOut = $(ksBaseDFPath+folderStr+":"+path) 
     
    526530         
    527531        if(!valExists) 
    528                 //then read in the file 
     532                //then read in the file, putting the data in RawVSANS 
     533                SetDataFolder ksBaseDFPath 
    529534                V_LoadHDF5_NoAtt(fname,"") 
     535                SetDataFolder root: 
    530536        endif 
    531537 
     
    592598                valExists=1 
    593599        endif 
    594          
     600 
    595601        if(!valExists) 
    596                 //then read in the file 
     602                //then read in the file, putting the data in RawVSANS 
     603                SetDataFolder ksBaseDFPath 
    597604                V_LoadHDF5_NoAtt(fname,"") 
     605                SetDataFolder root: 
    598606        endif 
    599607 
     
    638646        String fname, groupName, varName 
    639647        Wave wav 
     648         
     649         
     650        // try a local folder first, then try to save to disk 
     651        // 
     652        String folderStr = V_RemoveDotExtension(V_GetFileNameFromPathNoSemi(fname)) 
     653         
     654        String localPath = "root:Packages:NIST:VSANS:"+folderStr+":entry" 
     655        localPath += groupName + "/" + varName 
     656        // make everything colons for local data folders 
     657        localPath = ReplaceString("/", localPath, ":") 
     658         
     659        Wave/Z w = $localPath 
     660        if(waveExists(w) == 1) 
     661                w = wav 
     662                Print "write to local folder done" 
     663                return(0)               //we're done, get out 
     664        endif 
     665         
     666         
     667        // if the local wave did not exist, then we proceed to write to disk 
     668 
    640669         
    641670        variable err=0, fileID,groupID 
     
    724753        String fname, groupName, varName 
    725754        Wave/T wav 
     755 
     756        // try a local folder first, then try to save to disk 
     757        // 
     758        String folderStr = V_RemoveDotExtension(V_GetFileNameFromPathNoSemi(fname)) 
     759         
     760        String localPath = "root:Packages:NIST:VSANS:"+folderStr+":entry" 
     761        localPath += groupName + "/" + varName 
     762        // make everything colons for local data folders 
     763        localPath = ReplaceString("/", localPath, ":") 
     764         
     765        Wave/Z/T w = $localPath 
     766        if(waveExists(w) == 1) 
     767                w = wav 
     768                Print "write to local folder done" 
     769                return(0)               //we're done, get out 
     770        endif 
     771         
     772         
     773        // if the local wave did not exist, then we proceed to write to disk 
     774 
     775 
    726776         
    727777        variable err=0, fileID,groupID 
     
    863913//V_writeDet_cal_y(fname,detStr,inW) 
    864914 
     915                 
    865916// the dead time for each detector 
    866917// V_writeDetector_deadtime(fname,detStr,inW) 
     
    869920        endfor 
    870921         
     922        // TODO testing - delete this 
     923                V_writeDet_beam_center_x(fileName,detStr,321) 
    871924 
    872925 
Note: See TracChangeset for help on using the changeset viewer.