Re: read data from mass store system

From: Dennis Shea (shea AT XXXXXX)
Date: Wed Jan 21 2004 - 10:27:30 MST

  • Next message: Sylvia Murphy: "what's new"

    Here is a real world example. The approach below creates a string
    which is then passed to the system command. The extra step [explicit
    creation of the command string as a separate variable]
    is not needed. However, the user wanted to print out the
    various commands she was using.

    user is $USER
    She also used unix wild cards

    ---
    begin
      nyrstart=400
      nyrend  =799 
      
      mssi= "/CCSM/csm/b20.007/ocn/hist/"   ;move to directory
      fili= "b20.007.pop.h.0"     ; first part of file name
      diri= "/ptmp/user/"         ;where to put data
      diro= "/ptmp/user/"         ;where to put data
      filo= "b20.TEMP."                       ;rename output files
      
      do nyear=nyrstart,nyrend
                                  ; acquire files 
          msscmd= "msrcp -n 'mss:" + mssi + fili + nyear + "-[0-1][0-9].nc' "+ 
    diri+"."
          print (" msscmd= "+ msscmd)
          system (msscmd)
                                  ; use netCDF operator to strip desired
                                  ; variable(s) and concatenate 
          ncocmd= "ncrcat -v TEMP " + diri + fili + "*.nc "+diro+filo+nyear+".nc"
          print ("ncocmd = "+ncocmd)
          system (ncocmd)
                                  ; remove the current years files
          rmcmd = "'rm' "+diri+fili+nyear+"*.nc"
          print ("rmcmd ="+ rmcmd)
          system (rmcmd)
      end do
    

    end ===================== The commands look like:

    msscmd= msrcp -n 'mss:/CCSM/csm/b20.007/ocn/hist/b20.007.pop.h.0400-[0-1][0-9].nc' /ptmp/user/.

    ncocmd = ncrcat -v TEMP /ptmp/user/b20.007.pop.h.0*.nc /ptmp/user/b20.TEMP.400.nc

    rmcmd ='rm' /ptmp/sterling/b20.007.pop.h.0400*.nc

    msscmd= msrcp -n 'mss:/CCSM/csm/b20.007/ocn/hist/b20.007.pop.h.0401-[0-1][0-9].nc' /ptmp/user/.

    ncocmd = ncrcat -v TEMP /ptmp/sterling/b20.007.pop.h.0*.nc /ptmp/sterling/b20.TEMP.401.nc

    rmcmd ='rm' /ptmp/sterling/b20.007.pop.h.0401*.nc

    etc. ===================== Note: on the msrcp command above the -n option is present. This means to *not* acquire from the MSS if it already exists. ====================== system("msrcp -n 'mss:/LIXIN/FOAM/npforce0/atmos/mss_file_name.nc' /ptmp/LIXIN/.") ====================== You can also use "msread" system ("msread local_file_name /LIXIN/FOAM/npforce0/atmos/mss_file_name")

    Dennis Shea

    > >Feng, >you can not access the ncar mass store as if it were a directory. You must >first retreive the data to a local disk. > >you can excute the mass store read from the system prior to running ncl, >or you can use the system command in ncl to execute it within the >script: > >system("msread mscommands....") >etc > >sm > > > >On Wed, 21 Jan 2004, Feng He wrote: > >> I don't know how to input data from mss (mass store system) when I use ncl. >> >> I try to do it in this way: diri = "mss:/LIXIN/FOAM/npforce0/atmos/" >> , but I failed. >> > >-- > > >****************************************************** >Sylvia Murphy EML: murphys@ucar.edu >NCAR CGD/CSEG PHN: 303-497-1720 >1850 Table Mesa Drive FAX: 303-497-1333 >Boulder CO 80305 > > >WEB: http://www.cgd.ucar.edu/csm/support/ > http://www.cgd.ucar.edu/csm/support/CSM_Graphics/ >****************************************************** > > > >_______________________________________________ >ncl-talk mailing list >ncl-talk@ucar.edu >http://mailman.ucar.edu/mailman/listinfo/ncl-talk

    _______________________________________________ ncl-talk mailing list ncl-talk@ucar.edu http://mailman.ucar.edu/mailman/listinfo/ncl-talk



    This archive was generated by hypermail 2b29 : Wed Jan 21 2004 - 12:07:31 MST