/[MITgcm]/MITgcm_contrib/high_res_cube/matlab-topology-generator/README
ViewVC logotype

Diff of /MITgcm_contrib/high_res_cube/matlab-topology-generator/README

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.1 by cnh, Tue Nov 11 18:08:08 2003 UTC revision 1.3 by afe, Fri Mar 12 21:29:45 2004 UTC
# Line 1  Line 1 
 Matlab code to generate topology description for MITgcm cs6 conventions.  
1    
2  o To run start matlab and execute script driver.m  The files in this directory:
3  o To set sizes edit lines in driver.m  MITgcm_contrib/high_res_cube/matlab-topology-generator
4      Settings nr, ng, nb are index space sizes for cube grid. These are the  have been moved to
5      number of points normal to the red, green and blue circumferences  MITgcm/util/exch2/matlab-topology-generator
     of a cube. Note - nr, ng and nb do not have to equal, however the  
     current physical grid generation software assumes they  
     are equal.  
     Settings tnx and tny are the tile sizes ( these correspond to  
     snx and sny in SIZE.h ). tnx and tny must subdivide nr, ng and nb  
     exactly.  
     The product nsx*npx from SIZE.h needs to equal the number of  
     tiles created by driver.m  
6    
 The key output from this code is a Fortran header file W2_EXCH2_TOPOLOGY.h  
 and one or more Fotran files called e2setup*.F. These are written  
 by exch2_setup_cs6_print.m. The header file contains the declarations  
 of the arrays used to describe the index space topology of the cube domain.  
 The e2setp*.F files contain the code to initialize these arrays.  
 Two output options ( variable outmode ) are available in  
 exch2_setup_cs6_print.m. One produces a single file e2setup.F with a driver  
 routine that calls a setup routine for each tile. For large numbers of tiles  
 this file can be huge and can cause some Fortran compilers (g77 certainly) to  
 allocate ridiculous amounts of memory to parse this file. An alternate output  
 mode produces one file for each tile initialization routine and one file  
 "e2setup.F" for the driver.  This mode is kinder to the compiler but creates a  
 visually annoying large number of source files (one for each tile).  
   
   
 File list  
 driver.m                                                :: Controls the topology generation  
 exch2_setup_cs6_domains.m                               :: Defines the cube faces (aka domains)  
 exch2_setup_cs6_get_external_neighbor_index_ranges.m    :: Figures out the index remapping operators  
                                                         :: and index ranges for halo's between cube faces.  
 exch2_setup_cs6_get_external_neighbor_tiles.m           :: Figures out neighbor between domains for each tile.  
 exch2_setup_cs6_get_internal_neighbor_index_ranges.m    :: Figures out the index remapping operators  
                                                         :: and index ranges for halo's within a cube face.  
 exch2_setup_cs6_get_internal_neighbor_tiles.m           :: Figures out neighbors with a domain for each tile.  
 exch2_setup_cs6_get_neighbor_domains.m                  :: Defines connectivity between domains.  
 exch2_setup_cs6_plot.m                                  :: Plots the tiles using the conventional cube  
                                                         :: domain layout.  
 exch2_setup_cs6_print.m                                 :: Writes the Fortran code that defines the topology  
                                                         :: and that is linked with the model run.  
 exch2_setup_cs6_tiles.m                                 :: Builds lists of each tile and its location within  
                                                         :: a domain and within the global index space.  

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.3

  ViewVC Help
Powered by ViewVC 1.1.22