Difference between revisions of "Navigating the source code bundle"
| (One intermediate revision by the same user not shown) | |||
| Line 1: | Line 1: | ||
| − | You can find a | + | You can find a wealth of useful information/files in the source code bundle. In general, each directory has a readme type file. Particularly useful is beta_notes in src/, which details all algorithmic and non-algorithmic changes. You can also find a number of sample input files in src/. |
We use v4.1 as an example to explain the structure inside. | We use v4.1 as an example to explain the structure inside. | ||
| Line 18: | Line 18: | ||
;test | ;test | ||
| − | This dir has | + | This dir has some test cases used to benchmark each version of SCHISM |
;src | ;src | ||
| Line 24: | Line 24: | ||
<UL> | <UL> | ||
<LI> All modules: Core, Driver, Hydro, EcoSim, ICM, OilSpill-Jung, ParMetis-3.1.-Sep2010, Sediment, and WWMII | <LI> All modules: Core, Driver, Hydro, EcoSim, ICM, OilSpill-Jung, ParMetis-3.1.-Sep2010, Sediment, and WWMII | ||
| + | <LI> Libraries: ParMetis-3.1-Sep2010, GOTM3.2.5 (internal use only) | ||
<LI> GNU make files: Makefile | <LI> GNU make files: Makefile | ||
<LI> cmake files: CMakeLists.txt | <LI> cmake files: CMakeLists.txt | ||
<LI> beta_notes: this file details all the changes in input file format for each version | <LI> beta_notes: this file details all the changes in input file format for each version | ||
| − | <LI> Utility: this dir contains a lot of useful utility | + | <LI> Utility: this dir contains a lot of useful utility scripts. The header of each program generally has info on its purpose and instructions on how to use it. |
<UL> | <UL> | ||
| − | <LI>ACE: source code and install notes for ACE tools; see [http://ccrm.vims.edu/w/index.php/ACE_tools] for more details. | + | <LI>ACE: source code and install notes for ACE tools; see [http://ccrm.vims.edu/w/index.php/ACE_tools] for more details. |
| − | |||
<LI>Combining_Scripts: FORTRAN and perl scripts used to gather outputs from SCHISM (e.g., outputs/?_0000_elev.61 etc) into one binary file (?_elev.61) | <LI>Combining_Scripts: FORTRAN and perl scripts used to gather outputs from SCHISM (e.g., outputs/?_0000_elev.61 etc) into one binary file (?_elev.61) | ||
| − | <LI>Grid_Scripts: FORTRAN codes to interpolate depths from DEM files in either structured grid (raster) or unstructured grid format. While xmgredit5 can do similar things, these scripts are mostly for interpolating from very large DEM files. | + | <LI>Grid_Scripts: FORTRAN codes to interpolate depths from DEM files in either structured grid (raster) or unstructured grid format. While ACE/xmgredit5 can do similar things, these scripts are mostly for interpolating from very large DEM files. |
| − | <LI>NCOM: scripts to read NCOM outputs and prepare hotstart.in and salt_nu.in, temp_nu.in, and Z0 components on the boundary in bctides.in. | + | <LI> Gen_Hotstart: scripts for preparing hotstart.in |
| − | <LI>OneWayNestScripts: scripts for 1-way nesting, by preparing * | + | <LI> NCOM: scripts to read NCOM outputs and prepare hotstart.in and salt_nu.in, temp_nu.in, and Z0 components on the boundary in bctides.in. |
| + | <LI> OneWayNestScripts: scripts for 1-way nesting, by preparing *[23]D.th (elevation, horizontal velocity, salinity and temperature etc boundary condition) that can be used for the 'small-domain' run. | ||
<LI>Particle_Tracking: particle tracking code that uses SCHISM's outputs for 3D tracking | <LI>Particle_Tracking: particle tracking code that uses SCHISM's outputs for 3D tracking | ||
| − | <LI>Post-Processing-Fortran: FORTRAN codes for extracting time series at selected 3D points (including transects). You can easily modify these codes for your own purposes. | + | <LI>Post-Processing-Fortran/More: FORTRAN codes for extracting time series at selected 3D points (including transects). You can easily modify these codes for your own purposes. |
<LI>Sflux_nc: matlab scripts useful for preparing your own .nc files for sflux/. NARR_util/ has scripts to prepare .nc files from NCEP's NARR products. | <LI>Sflux_nc: matlab scripts useful for preparing your own .nc files for sflux/. NARR_util/ has scripts to prepare .nc files from NCEP's NARR products. | ||
<LI>SMS: scripts to convert between .2dm of SMS and .gr3 | <LI>SMS: scripts to convert between .2dm of SMS and .gr3 | ||
| − | <LI>Vis_Matlab: matlab scripts for viz. We suggest you use this for presentations/publications, and use ACE tools for daily research. | + | <LI>Vis_Matlab: matlab scripts for viz. We suggest you use this for presentations/publications, and use ACE tools or VisIT for daily research. |
</UL> | </UL> | ||
</UL> | </UL> | ||
Latest revision as of 20:59, 22 December 2014
You can find a wealth of useful information/files in the source code bundle. In general, each directory has a readme type file. Particularly useful is beta_notes in src/, which details all algorithmic and non-algorithmic changes. You can also find a number of sample input files in src/.
We use v4.1 as an example to explain the structure inside.
- cmake
The README inside explains how to use cmake (needs to be installed on your system) to build SCHISM. See [1]for more details.
- mk
The files in this dir are local configuration settings used by src/Makefile. If your group happens to have a Make.defs.*, you can simply symlink it:
ln -sf Make.defs.HZG Make.defs.local (I'm using 'HZG' as an example here)
If you cannot find your local environment here, you can use one of the files as a starting point and add your own env in Make.defs.local.
Edit Make.defs.local (which is invoked by ../src/Makefile) to toggle on/off optional modules inside. Then cd ../src and make (to make sure you purge previous options, do make clean first).
- test
This dir has some test cases used to benchmark each version of SCHISM
- src
The source code dir has the following subirs and files:
- All modules: Core, Driver, Hydro, EcoSim, ICM, OilSpill-Jung, ParMetis-3.1.-Sep2010, Sediment, and WWMII
- Libraries: ParMetis-3.1-Sep2010, GOTM3.2.5 (internal use only)
- GNU make files: Makefile
- cmake files: CMakeLists.txt
- beta_notes: this file details all the changes in input file format for each version
- Utility: this dir contains a lot of useful utility scripts. The header of each program generally has info on its purpose and instructions on how to use it.
- ACE: source code and install notes for ACE tools; see [2] for more details.
- Combining_Scripts: FORTRAN and perl scripts used to gather outputs from SCHISM (e.g., outputs/?_0000_elev.61 etc) into one binary file (?_elev.61)
- Grid_Scripts: FORTRAN codes to interpolate depths from DEM files in either structured grid (raster) or unstructured grid format. While ACE/xmgredit5 can do similar things, these scripts are mostly for interpolating from very large DEM files.
- Gen_Hotstart: scripts for preparing hotstart.in
- NCOM: scripts to read NCOM outputs and prepare hotstart.in and salt_nu.in, temp_nu.in, and Z0 components on the boundary in bctides.in.
- OneWayNestScripts: scripts for 1-way nesting, by preparing *[23]D.th (elevation, horizontal velocity, salinity and temperature etc boundary condition) that can be used for the 'small-domain' run.
- Particle_Tracking: particle tracking code that uses SCHISM's outputs for 3D tracking
- Post-Processing-Fortran/More: FORTRAN codes for extracting time series at selected 3D points (including transects). You can easily modify these codes for your own purposes.
- Sflux_nc: matlab scripts useful for preparing your own .nc files for sflux/. NARR_util/ has scripts to prepare .nc files from NCEP's NARR products.
- SMS: scripts to convert between .2dm of SMS and .gr3
- Vis_Matlab: matlab scripts for viz. We suggest you use this for presentations/publications, and use ACE tools or VisIT for daily research.