[cam-users] CAM history files and mass storage

Ghan, Steven J Steve.Ghan@pnl.gov
Mon, 28 Oct 2002 11:40:12 -0800


Jim:

Your scripts provide utilities to substitute for msread and mswrite, but the
code is still hardwired to use a directory structure that may not be
compatible with other computer systems. It assumes a directory exists with
the path /LOGNAME/csm/caseid/... where LOGNAME is the user's logname in
upper case. Users may not have the ability to set up a directory beginning
with /LOGNAME. Users can go into the code to change the hardwired directory,
but they need to know that it must be done separately for each model. At the
very least it would be helpful if the cam and ccsm documentation would tell
the users which files need to be modified so that they can control the root
directory for their archives. A more general solution would be make it part
of the namelist which is broadcast to all submodels.

Just a suggestion. For now I'm justing inserting a return statement at the
beginning of subroutine putfile in atm/cam/src/control/ioFileMod.F90 and
lnd/clm2/src/main/fileutils.F90; the history files are retained in the run
directory.

-Steve Ghan


-----Original Message-----
From: Jim Rosinski [mailto:rosinski@cgd.ucar.edu]
Sent: Tuesday, October 15, 2002 10:53 AM
To: John Fasullo
Cc: cam-users@ucar.edu
Subject: Re: [cam-users] CAM history files and mass storage


On Sat, 28 Sep 2002, John Fasullo wrote:

> In running the CAM on our local SGI (without mass storage), I'm trying
> to configure my own archival process. I've turned the mss_irt namelist
> variable to 0 however the NETCDF history files are created by the CAM
> but are still deleted automatically by the CAM each month. Does anyone
> know the keyword or procedure used to turn off the automatic deletion
> of history netcdf files from the camwork directory?

What I've done for running on a machine without mass store access is to
write
my own "mswrite" and "msread".  They are csh scripts, but one could use
whatever they like, as long as they are executable from the user's
environment.  They're appended below.  Turns out this is set up for running
on a PC that happens to be at NCAR, and the archival command "msrcp" is
available.  But it could be changed to use "cp" or whatever.

Jim Rosinski
----------------------------------------------------------------------------
---
msread:

#!/bin/csh -f

set cmd = /usr/local/dcs-3.3/bin/msrcp

while ( $#argv )
switch ( $1 )
  case -t:
    set cmd = "$cmd -pe $2"
    shift argv
    shift argv
    breaksw
  case -w:
    set cmd = "$cmd -wpwd $2"
    shift argv
    shift argv
    breaksw
  default:
    if ( `echo $1 | cut -c 1-1` == '/' ) then
      set path = "mss:$1"
    else
      set file = "$1"
    endif
    shift argv
endsw
end
set cmd = "$cmd $path $file"
echo "msread script is executing the following:"
echo $cmd
$cmd
----------------------------------------------------------------------------
---
mswrite:
#!/bin/csh -f

set cmd = /usr/local/dcs-3.3/bin/msrcp

while ( $#argv )
switch ( $1 )
  case -t:
    set cmd = "$cmd -pe $2"
    shift argv
    shift argv
    breaksw
  case -w:
    set cmd = "$cmd -wpwd $2"
    shift argv
    shift argv
    breaksw
  default:
    if ( `echo $1 | cut -c 1-1` == '/' ) then
      set path = "mss:$1"
    else
      set file = "$1"
    endif
    shift argv
endsw
end
set cmd = "$cmd $file $path"
echo "mswrite script is executing the following:"
echo $cmd
$cmd

_______________________________________________
cam-users mailing list
cam-users@ucar.edu
http://mailman.ucar.edu/mailman/listinfo/cam-users