#!/bin/csh -f # +-======-+ # Copyright (c) 2003-2007 United States Government as represented by # the Admistrator of the National Aeronautics and Space Administration. # All Rights Reserved. # # THIS OPEN SOURCE AGREEMENT ("AGREEMENT") DEFINES THE RIGHTS OF USE, # REPRODUCTION, DISTRIBUTION, MODIFICATION AND REDISTRIBUTION OF CERTAIN # COMPUTER SOFTWARE ORIGINALLY RELEASED BY THE UNITED STATES GOVERNMENT AS # REPRESENTED BY THE GOVERNMENT AGENCY LISTED BELOW ("GOVERNMENT AGENCY"). # THE UNITED STATES GOVERNMENT, AS REPRESENTED BY GOVERNMENT AGENCY, IS AN # INTENDED THIRD-PARTY BENEFICIARY OF ALL SUBSEQUENT DISTRIBUTIONS OR # REDISTRIBUTIONS OF THE SUBJECT SOFTWARE. ANYONE WHO USES, REPRODUCES, # DISTRIBUTES, MODIFIES OR REDISTRIBUTES THE SUBJECT SOFTWARE, AS DEFINED # HEREIN, OR ANY PART THEREOF, IS, BY THAT ACTION, ACCEPTING IN FULL THE # RESPONSIBILITIES AND OBLIGATIONS CONTAINED IN THIS AGREEMENT. # # Government Agency: National Aeronautics and Space Administration # Government Agency Original Software Designation: GSC-15354-1 # Government Agency Original Software Title: GEOS-5 GCM Modeling Software # User Registration Requested. Please Visit http://opensource.gsfc.nasa.gov # Government Agency Point of Contact for Original Software: # Dale Hithon, SRA Assistant, (301) 286-2691 # # +-======-+ ####################################################################### # Batch Parameters for Run Job ####################################################################### #PBS -l walltime=@RUN_T #PBS -l @CONVERT_P #PBS -N @CONVERT_N #PBS -q @RUN_Q #PBS -W group_list=@GROUP #PBS -j oe ####################################################################### # System Environment Variables ####################################################################### umask 022 limit stacksize unlimited @SETENVS ####################################################################### # Architecture Specific Environment Variables ####################################################################### setenv ARCH `uname` setenv SITE @SITE setenv GEOSBIN @GEOSBIN setenv RUN_CMD "@RUN_CMD" setenv GCMVER @GCMVER source $GEOSBIN/g5_modules setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${BASEDIR}/${ARCH}/lib ####################################################################### # Experiment Specific Environment Variables ####################################################################### setenv EXPID @EXPID setenv EXPDIR @EXPDIR setenv CNVDIR @CNVDIR setenv HOMDIR @HOMDIR setenv SCRDIR $CNVDIR/scratch setenv ORGDIR $CNVDIR/original_restarts setenv RSTDIR $CNVDIR/converted_restarts ####################################################################### # Create Experiment Sub-Directories ####################################################################### if (! -e $SCRDIR) mkdir -p $SCRDIR if (! -e $RSTDIR) mkdir -p $RSTDIR if (! -e $ORGDIR) mkdir -p $ORGDIR ####################################################################### # Clear Restarts Sub-Directories ####################################################################### /bin/rm -f $RSTDIR/* >& /dev/null /bin/rm -f $ORGDIR/* >& /dev/null ####################################################################### # Set Experiment Run Parameters ####################################################################### set NX = `grep NX: $HOMDIR/AGCM.rc | cut -d':' -f2` set NY = `grep NY: $HOMDIR/AGCM.rc | cut -d':' -f2` set AGCM_IM = `grep AGCM_IM: $HOMDIR/AGCM.rc | cut -d':' -f2` set AGCM_JM = `grep AGCM_JM: $HOMDIR/AGCM.rc | cut -d':' -f2` set AGCM_LM = `grep AGCM_LM: $HOMDIR/AGCM.rc | cut -d':' -f2` set OGCM_IM = `grep OGCM_IM: $HOMDIR/AGCM.rc | cut -d':' -f2` set OGCM_JM = `grep OGCM_JM: $HOMDIR/AGCM.rc | cut -d':' -f2` >>>COUPLED<<>>COUPLED<<>>FVLATLON<<>>FVCUBED<<>>DATAOCEAN<<>>COUPLED<<& /dev/null /bin/ln -sf $EXPDIR/RC/* . /bin/cp -f $HOMDIR/*.rc . ####################################################################### # Link Boundary Datasets ####################################################################### setenv BCSDIR @BCSDIR setenv SSTDIR @SSTDIR setenv CHMDIR @CHMDIR setenv BCRSLV ${ATMOStag}_${OCEANtag} setenv DATELINE DC >>>COUPLED<<>>COUPLED<<>>DATAOCEAN<<>>OSTIA<< $FILE #!/bin/csh -f >>>COUPLED<<>>COUPLED<<>>COUPLED<<>>COUPLED<<>>COUPLED<<>>COUPLED<<>>DATAOCEAN<<>>DATAOCEAN<<>>DATAOCEAN<<>>DATAOCEAN<<>>DATAOCEAN<<>>DATAOCEAN<<>>DATAOCEAN<<>>FVCUBED<<>>FVCUBED<<>>FVCUBED<<>>FVCUBED<<>>COUPLED<<>>COUPLED<<>>COUPLED<<>>COUPLED<<>>COUPLED<<>>FVCUBED<<>>FVCUBED<<>>FVCUBED<<>>COUPLED<< $FILE EXPID: Convert EXPDSC: Convert restarts COLLECTIONS: :: _EOF_ ####################################################################### # Use sed to alter AGCM.rc to do the conversion ####################################################################### /usr/bin/sed -r -i -e "/RESTART_TYPE:/ s/binary|pbinary|pnc4/$fromtype/" \ -e "/CHECKPOINT_TYPE:/ s/binary|pbinary|pnc4/$totype/" \ -e "/NX:/ s/[0-9][0-9]*/@CNV_NODE/" \ -e "/NY:/ s/[0-9][0-9]*/12/" \ -e "/AEROCLIM/ d" AGCM.rc if ( $fromext != "" ) then /usr/bin/sed -r -i -e "/RESTART_FILE:/ s/.nc4|.bin/$fromext/" \ -e "/CHECKPOINT_FILE:/ s/.nc4|.bin/$toext/" AGCM.rc endif ####################################################################### # Use sed to restore VEGDYN_INTERNAL_RESTART_TYPE ####################################################################### /usr/bin/sed -r -i -e "/VEGDYN_INTERNAL_RESTART_TYPE:/ s/$fromtype/binary/" AGCM.rc ####################################################################### # Set Experiment Run Parameters that were altered ####################################################################### set NX = `grep NX: AGCM.rc | cut -d':' -f2` set NY = `grep NY: AGCM.rc | cut -d':' -f2` # Check for Over-Specification of CPU Resources # --------------------------------------------- if ($?PBS_NODEFILE) then set NCPUS = `qstat -f $PBS_JOBID | grep -i Resource_List.ncpus | cut -d'=' -f2` @ NPES = $NX * $NY if( $NPES > $NCPUS ) then echo "CPU Resources are Over-Specified" echo "--------------------------------" echo "Allotted NCPUs: $NCPUS" echo "Specified NX : $NX" echo "Specified NY : $NY" exit 6 endif endif endif ################################################################## # Do the conversion with GEOSgcm.x ################################################################## @ NPES = $NX * $NY echo "Running GEOSgcm.x to do the conversion" set LOGFILE = "$CNVDIR/GEOSgcm.log" /bin/rm $LOGFILE >& /dev/null # Assume gcm_setup set these properly for the local platform @SETENVS $RUN_CMD $NPES ./GEOSgcm.x >& $LOGFILE set rc = $status if ( $rc != 0 ) then echo "GEOSgcm.x failed and returned with exit code $rc" /bin/cat $LOGFILE exit $rc else echo "Conversion successful!" endif ####################################################################### # Now copy the checkpoints into $RSTDIR ####################################################################### set rst_type_provided = '' foreach rst (*_rst$fromext) # What are their prefixes? # ------------------------ set rst_type_found = `echo $rst | sed -e 's/_rst.*$//'` set rst_type_provided = `echo $rst_type_provided $rst_type_found` end # Now copy the _rst to the RSTDIR # ------------------------------- foreach rst ( $rst_type_provided ) set chk_file = "${rst}_checkpoint${toext}" set rst_file = "${rst}_rst${toext}" echo "Copying $chk_file into $RSTDIR as $rst_file..." cp $chk_file $RSTDIR/$rst_file end # Copy over cap_restart as well # ----------------------------- cp cap_restart $RSTDIR/