<p><b>sprice@lanl.gov</b> 2012-01-09 12:53:34 -0700 (Mon, 09 Jan 2012)</p><p><br>
Branch commit (land ice):<br>
<br>
Removing existing mpas dir prior to copying latest version over.<br>
</p><hr noshade><pre><font color="gray">Deleted: branches/land_ice/mpas/Makefile
===================================================================
--- branches/land_ice/mpas/Makefile        2012-01-09 19:35:57 UTC (rev 1320)
+++ branches/land_ice/mpas/Makefile        2012-01-09 19:53:34 UTC (rev 1321)
@@ -1,203 +0,0 @@
-#MODEL_FORMULATION = -DNCAR_FORMULATION
-MODEL_FORMULATION = -DLANL_FORMULATION
-
-FILE_OFFSET = -DOFFSET64BIT
-
-#########################
-# Section for Zoltan TPL
-#########################
-ifdef ZOLTAN_HOME
- ZOLTAN_DEFINE = -DHAVE_ZOLTAN
-endif
-#########################
-
-
-dummy:
-        @( echo "try one of:"; \
-        echo " make xlf"; \
-        echo " make pgi"; \
-        echo " make ifort"; \
-        echo " make gfortran"; \
-        )
-
-xlf:
-        ( make all \
-        "FC = mpxlf90" \
-        "CC = mpcc" \
-        "SFC = xlf90" \
-        "SCC = xlc" \
-        "FFLAGS = -qrealsize=8 -g -C " \
-        "CFLAGS = -g" \
-        "LDFLAGS = -g -C" \
-        "CORE = $(CORE)" \
-        "CPPFLAGS = -DRKIND=8 $(MODEL_FORMULATION) -D_MPI $(FILE_OFFSET) $(ZOLTAN_DEFINE)" )
-
-ftn:
-        ( make all \
-        "FC = ftn" \
-        "CC = cc" \
-        "SFC = ftn" \
-        "SCC = cc" \
-        "FFLAGS = -i4 -r8 -gopt -O2 -Mvect=nosse -Kieee -convert big_endian" \
-        "CFLAGS = -fast" \
-        "LDFLAGS = " \
-        "CORE = $(CORE)" \
-        "CPPFLAGS = -DRKIND=8 $(MODEL_FORMULATION) -D_MPI -DUNDERSCORE $(FILE_OFFSET) $(ZOLTAN_DEFINE)" )
-
-pgi:
-        ( make all \
-        "FC = mpif90" \
-        "CC = mpicc" \
-        "SFC = pgf90" \
-        "SCC = pgcc" \
-        "FFLAGS = -r8 -O3 -byteswapio" \
-        "CFLAGS = -O3" \
-        "LDFLAGS = -O3" \
-        "CORE = $(CORE)" \
-        "CPPFLAGS = -DRKIND=8 $(MODEL_FORMULATION) -D_MPI -DUNDERSCORE $(FILE_OFFSET) $(ZOLTAN_DEFINE)" )
-
-pgi-llnl:
-        ( make all \
-        "FC = mpipgf90" \
-        "CC = pgcc" \
-        "SFC = pgf90" \
-        "SCC = pgcc" \
-        "FFLAGS = -i4 -r8 -g -O2 -byteswapio" \
-        "CFLAGS = -fast" \
-        "LDFLAGS = " \
-        "CORE = $(CORE)" \
-        "CPPFLAGS = -DRKIND=8 $(MODEL_FORMULATION) -D_MPI -DUNDERSCORE $(FILE_OFFSET) $(ZOLTAN_DEFINE)" )
-
-pgi-serial:
-        ( make all \
-        "FC = pgf90" \
-        "CC = pgcc" \
-        "SFC = pgf90" \
-        "SCC = pgcc" \
-        "FFLAGS = -r8 -O0 -g -Mbounds -Mchkptr -byteswapio" \
-        "CFLAGS = -O0 -g" \
-        "LDFLAGS = -O0 -g -Mbounds -Mchkptr" \
-        "CORE = $(CORE)" \
-        "CPPFLAGS = -DRKIND=8 $(MODEL_FORMULATION) -DUNDERSCORE $(FILE_OFFSET) $(ZOLTAN_DEFINE)" )
-
-ifort:
-        ( make all \
-        "FC = mpif90" \
-        "CC = gcc" \
-        "SFC = ifort" \
-        "SCC = gcc" \
-        "FFLAGS = -real-size 64 -O3 -convert big_endian" \
-        "CFLAGS = -O3 -m64" \
-        "LDFLAGS = -O3" \
-        "CORE = $(CORE)" \
-        "CPPFLAGS = -DRKIND=8 $(MODEL_FORMULATION) -D_MPI -DUNDERSCORE -m64 $(FILE_OFFSET) $(ZOLTAN_DEFINE)" )
-
-gfortran:
-        ( make all \
-        "FC = mpif90" \
-        "CC = mpicc" \
-        "SFC = gfortran" \
-        "SCC = gcc" \
-        "FFLAGS = -O3 -m64 -ffree-line-length-none -fdefault-real-8 -fconvert=big-endian" \
-        "CFLAGS = -O3 -m64" \
-        "LDFLAGS = -O3 -m64" \
-        "CORE = $(CORE)" \
-        "CPPFLAGS = -DRKIND=8 $(MODEL_FORMULATION) -D_MPI -DUNDERSCORE -m64 $(FILE_OFFSET) $(ZOLTAN_DEFINE)" )
-
-gfortran-serial:
-        ( make all \
-        "FC = gfortran" \
-        "CC = gcc" \
-        "SFC = gfortran" \
-        "SCC = gcc" \
-        "FFLAGS = -O3 -m64 -ffree-line-length-none -fdefault-real-8 -fconvert=big-endian" \
-        "CFLAGS = -O3 -m64" \
-        "LDFLAGS = -O3 -m64" \
-        "CORE = $(CORE)" \
-        "CPPFLAGS = -DRKIND=8 $(MODEL_FORMULATION) $(EXPAND_LEVELS) -DUNDERSCORE -m64 $(FILE_OFFSET) $(ZOLTAN_DEFINE)" )
-
-g95:
-        ( make all \
-        "FC = mpif90" \
-        "CC = mpicc" \
-        "SFC = g95" \
-        "SCC = gcc" \
-        "FFLAGS = -O3 -ffree-line-length-huge -r8 -fendian=big" \
-        "CFLAGS = -O3" \
-        "LDFLAGS = -O3" \
-        "CORE = $(CORE)" \
-        "CPPFLAGS = -DRKIND=8 $(MODEL_FORMULATION) -D_MPI -DUNDERSCORE $(FILE_OFFSET) $(ZOLTAN_DEFINE)" )
-
-g95-serial:
-        ( make all \
-        "FC = g95" \
-        "CC = gcc" \
-        "SFC = g95" \
-        "SCC = gcc" \
-        "FFLAGS = -O3 -ffree-line-length-huge -r8 -fendian=big" \
-        "CFLAGS = -O3" \
-        "LDFLAGS = -O3" \
-        "CORE = $(CORE)" \
-        "CPPFLAGS = -DRKIND=8 $(MODEL_FORMULATION) -DUNDERSCORE $(FILE_OFFSET) $(ZOLTAN_DEFINE)" )
-
-
-CPPINCLUDES = -I../inc -I$(NETCDF)/include
-FCINCLUDES = -I../inc -I$(NETCDF)/include
-LIBS = -L$(NETCDF)/lib -lnetcdf
-
-RM = rm -f
-CPP = cpp -C -P -traditional
-RANLIB = ranlib
-
-#########################
-# Section for Zoltan TPL
-#########################
-ifdef ZOLTAN_HOME
- ifdef ZOLTAN_INC_PATH
- FCINCLUDES += -I$(ZOLTAN_INC_PATH)
- else
- FCINCLUDES += -I$(ZOLTAN_HOME)/include
- endif
-
- ifdef ZOLTAN_LIB_PATH
- LIBS += -L$(ZOLTAN_LIB_PATH) -lzoltan
- else
- LIBS += -L$(ZOLTAN_HOME)/lib -lzoltan
- endif
-endif
-#########################
-
-
-ifdef CORE
-
-all: mpas_main
-
-mpas_main:
-        cd src; make FC="$(FC)" \
- CC="$(CC)" \
- CFLAGS="$(CFLAGS)" \
- FFLAGS="$(FFLAGS)" \
- LDFLAGS="$(LDFLAGS)" \
- RM="$(RM)" \
- CPP="$(CPP)" \
- CPPFLAGS="$(CPPFLAGS)" \
- LIBS="$(LIBS)" \
- CPPINCLUDES="$(CPPINCLUDES)" \
- FCINCLUDES="$(FCINCLUDES)" \
- CORE="$(CORE)"
-        if [ ! -e $(CORE)_model.exe ]; then ln -s src/$(CORE)_model.exe .; fi
-
-clean:
-        cd src; make clean RM="$(RM)" CORE="$(CORE)"
-        $(RM) $(CORE)_model.exe
-
-else
-
-all: errmsg
-clean: errmsg
-errmsg:
-        @echo "************ ERROR ************"
-        @echo "No CORE specified. Quitting."
-        @echo "************ ERROR ************"
-
-endif
Deleted: branches/land_ice/mpas/README
===================================================================
--- branches/land_ice/mpas/README        2012-01-09 19:35:57 UTC (rev 1320)
+++ branches/land_ice/mpas/README        2012-01-09 19:53:34 UTC (rev 1321)
@@ -1,146 +0,0 @@
-swmodel: A 2d shallow water model on a C-grid staggering.
-
-2 Sept 2009 -- Long overdue update to this readme.
-
-21 May 2009 -- Added vertical dimension (currently fixed at 1) and 3d scalar array dimensioned
- (nTracers,nVertLevels,nCells).
- Pushed loop over blocks down into RK4 time integration; now each RK step loops
- over blocks, and ghost-cell updates can be performed between steps.
- Temporary storage for intermediate RK steps is allocated once when a block is created
- Various other re-arrangements to code.
-
-15 May 2009 -- The "h" field is now consistently treated as fluid thickness.
- Fixed the computation of "vh".
- Added kiteAreasOnVertex and separate fEdge and fVertex fields to input files.
- Two formulations are now available in module_time_integration.F for computation
- of terms in the u tendency equation; either is selectable by suitably defining
- MODEL_FORMULATION in the Makefile.
-
-13 May 2009 -- Initial version
-
-
-I. Code layout
-
- The swmodel is written in Fortran (plus one C routine), with some of the code being generated
- by a C program called the "registry". All of the Fortran code for the model is contained in the
- src/ directory, while the registry program resides in the Registry/ directory. When building the
- model with the 'make' command, the registry is first compiled in the Registry/ directory; after
- the registry is built, it is run by make to generate pieces of Fortran code that are included in
- various hand-written Fortran routines in the src/ directory; these registry-generated pieces of
- code are placed in the inc/ directory. After running the registry program, the main swmodel code
- in the src/ directory is compiled, and the final executable, swmodel, is linked into the top-level
- directory. At present, the only external package needed by the model is the NetCDF library, which
- is linked in the swmodel executable. However, if the need arises to build other software libraries
- when the swmodel code is built, these packages can be located in the external/ directory.
-
- Briefly, the main Fortran source files in the src/ directory are as follows:
-
- swmodel.F -- Contains the main program, which essentially calls routines within other
- modules.
-
- module_block_decomp.F -- Contains code to read a mesh decomposition file to decompose the
- model grid into "blocks", each of which is solved for by a single MPI
- process.
-
- module_configure.F -- Contains user-specified configuration information (e.g., model time,
- number of timesteps to simulate, interval between writes of model state,
- and which shallow water test case to run) that is read from a Fortran
- namelist (namelist.input). The actual variables in the namelist are
- defined in the Registry/Registry file, and the code to read these variables
- as a namelist is generated by the registry program.
-
- module_constants.F -- Contains definitions of constants used at various points in the model
- (e.g., radius of the earth, omega, gravity, pi).
-
- module_dmpar.F -- Contains routines to perform distributed memory operations, such as
- update ghost cells in a block, determine which block owns a list of cells,
- and perform collective operations like broadcasts and sums. These operations
- are currently implemented using MPI.
-
- module_grid_types.F -- Contains definitions of derived data types used in the model, as well
- as routines for allocating and deallocating each type. The members of
- two of the types (grid meta, which contains time-invariant fields, and
- grid_state, which contains time-varying fields) are supplied by registry-
- generated code, and, therefore, all fields in the model should ultimately
- be defined in the Registry/Registry file.
-
- module_hash.F -- A simple dictionary/hash table implementation.
-
- module_io_input.F -- Contain code for reading grid and model state information from an input
- module_io_output.F file (grid.nc or restart.nc) and writing model state to an output file
- (output.nc or restart.nc). Like the fields in module_grid_types, the
- actual code to read or write a particular field is generated by the
- registry program at compile time.
-
- module_sort.F -- Contains implementations of mergesort, quicksort, and binary search.
-
- module_sw_solver.F -- Contains the main solver loop, which advances each block of the domain
- forward in time by a specified delta-t and periodically writes model state
- to an output file.
-
- module_test_cases.F -- Contains routines (one per test case) to initialize the model state for
- the particular case specified in the user input (namelist) file.
-
- module_time_integration.F -- Contains time integration routine (currently RK4) and a function
- to compute the tendencies for prognostic variables given the current
- model state.
-
- module_timer.F -- Contains functions to measure the execution time between two points
- in the code.
-
-
-II. Building the code
-
- The swmodel code may be built using the included Makefile, after suitably editing this file to
- set compiler and compiler flags appropriate to the system. Additionally, the environment
- variable NETCDF must be set to the path of the NetCDF installation. In the Makefile, the following
- should be set:
-
- FC -- The MPI Fortran compiler if compiling a parallel executable; otherwise, the serial
- Fortran compiler.
-
- CC -- The MPI C compiler if compiling a parallel executable; otherwise, the serial C compiler.
-
- SFC -- The serial Fortran compiler; the same as $(FC) when compiling a serial executable.
-
- SCC -- The serial C compiler; the same as $(CC) when compiling a serial executable.
-
- FFLAGS -- Flags specified to the compiler when compiling Fortran source files; there aren't
- any particular flags to be specified, although one might want to add debugging or
- optimization flags here
-
- LDFLAGS -- Flags given when linking the final executable; again, nothing in particular needs
- to be given here, although debugging and optimization flags can be helpful.
-
- CPPFLAGS -- These should *not* be changed, since -DRKIND=8 will set the kind of Fortran
- reals to be 8-bytes, which is necessary for reading the double precision model initial
- state from the input file, grid.nc. If building a serial executable, -D_MPI should
- not appear in the definition of CPPFLAGS.
-
- CPPINCLUDES -- The flags necessary to tell the C preprocessor where to find include/header files.
-
- FCINCLUDES -- The flags necessary to tell the compiler where to find NetCDF include/header files.
-
- LIBS -- The flags necessary to tell the compiler where to find NetCDF libraries; typically,
- these flags must include a flag specifying the path to libraries, as well as flags to
- link the libraries themselves (either libnetcdf.a, or in some installations, libnetcdff.a
- and libnetcdf.a)
-
-
-
-III. Running the code
-
- After successfully compiling but before running, it will be necessary to have downloaded an input
- file, and, if the code was compiled for parallel execution, a grid decomposition file. These input
- files may be downloaded for several grid sizes from http://www.mmm.ucar.edu/people/duda/files/mpas/,
- where the name of the tar file indicates the number of grid cells. Once the input files (grid.nc
- and graph.info.part.?) have been copied into the top-level directory, the swmodel executable may be
- run.
-
- For a parallel run, a graph.info.part.N file must be present in the run directory, where N is the
- number of processors to run on; then, the swmodel executable may be run with mpirun, mpiexec, etc.
-
- For a serial run, no grid decomposition file (i.e., graph.info.part.*) file is necessary. It should
- be noted that to run the code in serial, the code must not have been compiled with mpif90/mpicc, since
- no graph.info.part.1 files are available (although one could be trivially generated).
-
Deleted: branches/land_ice/mpas/namelist.input
===================================================================
--- branches/land_ice/mpas/namelist.input        2012-01-09 19:35:57 UTC (rev 1320)
+++ branches/land_ice/mpas/namelist.input        2012-01-09 19:53:34 UTC (rev 1321)
@@ -1 +0,0 @@
-link namelist.input.sw
\ No newline at end of file
Deleted: branches/land_ice/mpas/namelist.input.hyd_atmos
===================================================================
--- branches/land_ice/mpas/namelist.input.hyd_atmos        2012-01-09 19:35:57 UTC (rev 1320)
+++ branches/land_ice/mpas/namelist.input.hyd_atmos        2012-01-09 19:53:34 UTC (rev 1321)
@@ -1,33 +0,0 @@
-&sw_model
- config_test_case = 2
- config_time_integration = 'SRK3'
- config_dt = 3600
- config_ntimesteps = 240
- config_output_interval = 24
- config_number_of_sub_steps = 4
- config_h_mom_eddy_visc2 = 0.0
- config_h_mom_eddy_visc4 = 0.0
- config_v_mom_eddy_visc2 = 0.0
- config_h_theta_eddy_visc2 = 0.0
- config_h_theta_eddy_visc4 = 0.0
- config_v_theta_eddy_visc2 = 0.0
- config_theta_adv_order = 2
- config_scalar_adv_order = 2
- config_mp_physics = 0
-/
-
-&dimensions
- config_nvertlevels = 26
-/
-
-&io
- config_input_name = 'grid.nc'
- config_output_name = 'output.nc'
- config_restart_name = 'restart.nc'
-/
-
-&restart
- config_restart_interval = 3000
- config_do_restart = .false.
- config_restart_time = 1036800.0
-/
Deleted: branches/land_ice/mpas/namelist.input.land_ice
===================================================================
--- branches/land_ice/mpas/namelist.input.land_ice        2012-01-09 19:35:57 UTC (rev 1320)
+++ branches/land_ice/mpas/namelist.input.land_ice        2012-01-09 19:53:34 UTC (rev 1321)
@@ -1,28 +0,0 @@
-&sw_model
- config_test_case = 5
- config_time_integration = 'RK4'
- config_dt = 172.8
- config_ntimesteps = 7500
- config_output_interval = 500
- config_stats_interval = 0
- config_h_mom_eddy_visc2 = 0.0
- config_h_mom_eddy_visc4 = 0.0
- config_h_tracer_eddy_diff2 = 0.0
- config_h_tracer_eddy_diff4 = 0.0
- config_thickness_adv_order = 2
- config_tracer_adv_order = 2
- config_positive_definite = .false.
- config_monotonic = .false.
-/
-
-&io
- config_input_name = 'grid.nc'
- config_output_name = 'output.nc'
- config_restart_name = 'restart.nc'
-/
-
-&restart
- config_restart_interval = 3000
- config_do_restart = .false.
- config_restart_time = 1036800.0
-/
Deleted: branches/land_ice/mpas/namelist.input.ocean
===================================================================
--- branches/land_ice/mpas/namelist.input.ocean        2012-01-09 19:35:57 UTC (rev 1320)
+++ branches/land_ice/mpas/namelist.input.ocean        2012-01-09 19:53:34 UTC (rev 1321)
@@ -1,54 +0,0 @@
-&sw_model
- config_test_case = 0
- config_time_integration = 'RK4'
- config_dt = 90.0
- config_ntimesteps = 1920000
- config_output_interval = 19200
- config_stats_interval = 1920
-/
-
-&io
- config_input_name = grid.nc
- config_output_name = output.nc
- config_restart_name = restart.nc
-/
-
-&restart
- config_restart_interval = 115200
- config_do_restart = .false.
- config_restart_time = 31104000
-/
-
-&grid
- config_vert_grid_type = 'isopycnal'
- config_rho0 = 1015
-/
-&hmix
- config_h_mom_eddy_visc2 = 0.0
- config_h_mom_eddy_visc4 = 5.0e8
- config_h_tracer_eddy_diff2 = 10.0
- config_h_tracer_eddy_diff4 = 0.0
-/
-&vmix
- config_vert_visc_type = 'const'
- config_vert_diff_type = 'const'
- config_vmixTanhViscMax = 2.5e-1
- config_vmixTanhViscMin = 1.0e-4
- config_vmixTanhDiffMax = 2.5e-2
- config_vmixTanhDiffMin = 1.0e-5
- config_vmixTanhZMid = -100
- config_vmixTanhZWidth = 100
- config_vert_viscosity = 1.0e-4
- config_vert_diffusion = 1.0e-4
-/
-&eos
- config_eos_type = 'linear'
-/
-&advection
- config_vert_tracer_adv = 'spline'
- config_vert_tracer_adv_order = 3
- config_tracer_adv_order = 2
- config_thickness_adv_order = 2
- config_positive_definite = .false.
- config_monotonic = .false.
-/
Deleted: branches/land_ice/mpas/namelist.input.sw
===================================================================
--- branches/land_ice/mpas/namelist.input.sw        2012-01-09 19:35:57 UTC (rev 1320)
+++ branches/land_ice/mpas/namelist.input.sw        2012-01-09 19:53:34 UTC (rev 1321)
@@ -1,30 +0,0 @@
-&sw_model
- config_test_case = 5
- config_time_integration = 'RK4'
- config_dt = 172.8
- config_ntimesteps = 7500
- config_output_interval = 500
- config_stats_interval = 0
- config_h_mom_eddy_visc2 = 0.0
- config_h_mom_eddy_visc4 = 0.0
- config_h_tracer_eddy_diff2 = 0.0
- config_h_tracer_eddy_diff4 = 0.0
- config_thickness_adv_order = 2
- config_tracer_adv_order = 2
- config_positive_definite = .false.
- config_monotonic = .false.
- config_wind_stress = .false.
- config_bottom_drag = .false.
-/
-
-&io
- config_input_name = 'grid.nc'
- config_output_name = 'output.nc'
- config_restart_name = 'restart.nc'
-/
-
-&restart
- config_restart_interval = 3000
- config_do_restart = .false.
- config_restart_time = 1036800.0
-/
</font>
</pre>