Technical Manual for a Coupled Sea-Ice/Ocean Circulation Model (Version 3)
Total Page:16
File Type:pdf, Size:1020Kb
OCS Study MMS 2009-062 Technical Manual for a Coupled Sea-Ice/Ocean Circulation Model (Version 3) Katherine S. Hedström Arctic Region Supercomputing Center University of Alaska Fairbanks U.S. Department of the Interior Minerals Management Service Anchorage, Alaska Contract No. M07PC13368 OCS Study MMS 2009-062 Technical Manual for a Coupled Sea-Ice/Ocean Circulation Model (Version 3) Katherine S. Hedström Arctic Region Supercomputing Center University of Alaska Fairbanks Nov 2009 This study was funded by the Alaska Outer Continental Shelf Region of the Minerals Manage- ment Service, U.S. Department of the Interior, Anchorage, Alaska, through Contract M07PC13368 with Rutgers University, Institute of Marine and Coastal Sciences. The opinions, findings, conclusions, or recommendations expressed in this report or product are those of the authors and do not necessarily reflect the views of the U.S. Department of the Interior, nor does mention of trade names or commercial products constitute endorsement or recommenda- tion for use by the Federal Government. This document was prepared with LATEX xfig, and inkscape. Acknowledgments The ROMS model is descended from the SPEM and SCRUM models, but has been entirely rewritten by Sasha Shchepetkin, Hernan Arango and John Warner, with many, many other con- tributors. I am indebted to every one of them for their hard work. Bill Hibler first came up with the viscous-plastic rheology we are using. Paul Budgell has rewritten the dynamic sea-ice model, improving the solution procedure and making the water- stress term implicit in time, then changing it again to use the elastic-viscous-plastic rheology of Hunke and Dukowicz. I am very grateful that he is allowing us to use his version of the code. The sea-ice thermodynamics is derived from Sirpa Häkkinen’s implementation of the Mellor-Kantha scheme. She was kind enough to allow Paul and I to start with her code. Thanks to the internet community for providing great tools like Perl, patch, cpp, svn, and gmake to aid in software development (and to make it more fun). This work was supported in part by a grant of HPC resources from the Arctic Region Super- computing Center and the DoD High Performance Computing Modernization Program. Development and testing of the ROMS model has been funded by many, including the USGS Coastal and Marine Program, the Office of Naval Research, the National Ocean Partnership Pro- gram... UNIX is a registered trademark of the Open Group. Cygwin is a registered trademark of Red Hat, Inc. Abstract The Regional Ocean Modeling System (ROMS), authored by many, most notably Sasha Shchepetkin, is one approach to regional and basin-scale ocean modeling. This user’s manual for ROMS describes the model equations and algorithms, as well as additional user configurations necessary for specific applications. ROMS itself has now branched out as well - the version described here is that available through the myroms.org svn site with modifications to include sea ice and other minor changes. Contents 1 Introduction 1 2 Getting started 3 2.1 myroms.org . .3 2.2 Prerequisites . .3 2.3 Acquiring the ROMS code . .3 2.4 Compiling ROMS . .4 2.4.1 Environment Variables for make .........................4 2.4.2 Providing the Environment . .5 2.4.3 Build scripts . .6 2.5 Running ROMS . .6 2.6 Warnings and bugs . .7 3 Ocean Model Formulation 8 3.1 Equations of motion . .8 3.2 Vertical boundary conditions . .9 3.3 Horizontal boundary conditions . 10 3.4 Terrain-following coordinate system . 10 3.5 Horizontal curvilinear coordinates . 11 4 Numerical Solution Technique 13 4.1 Vertical and horizontal discretization . 13 4.1.1 Horizontal grid . 13 4.1.2 Vertical grid . 13 4.2 Masking of land areas . 14 4.2.1 Velocity . 14 4.2.2 Temperature, salinity and surface elevation . 14 4.2.3 Wetting and drying . 15 4.3 Time-stepping overview . 15 4.4 Conservation properties . 17 4.5 Depth-integrated equations . 18 4.6 Density in the mode coupling . 20 4.7 Time stepping: internal velocity modes and tracers . 22 4.8 Advection schemes . 22 4.8.1 Second-order Centered . 23 4.8.2 Fourth-order Centered . 23 4.8.3 Fourth-order Akima . 24 4.8.4 Third-order Upwind . 24 4.9 Determination of the vertical velocity and density fields . 25 4.10 Horizontal mixing . 25 4.10.1 Deviatory stress tensor . 25 4.10.2 Transverse stress tensor . 27 4.10.3 Rotated Transverse Stress Tensor . 27 4.10.4 Biharmonic . 28 4.11 Vertical mixing schemes . 28 4.11.1 Mellor-Yamada . 29 4.11.2 The Large, McWilliams and Doney parameterization . 30 4.12 Timestepping vertical viscosity and diffusion . 33 4.13 Boundary Conditions . 35 1 4.13.1 Gradient boundary condition . 35 4.13.2 Wall boundary condition . 35 4.13.3 Clamped boundary condition . 35 4.13.4 Flather boundary condition . 35 4.13.5 Chapman boundary condition . 35 4.13.6 Radiation boundary condition . 36 4.13.7 Mixed radiation-nudging boundary condition . 36 5 Ice Model Formulation 37 5.1 Dynamics . 37 5.2 Thermodynamics . 38 5.2.1 Ocean surface boundary conditions . 43 5.2.2 Frazil ice formation . 44 5.2.3 Differences from Mellor and Kantha . 45 6 Details of the Code 46 6.1 Directory structure . 46 6.2 Main subroutines . 48 6.2.1 master.F . 48 6.2.2 ocean_control.F . 48 6.2.3 ROMS_initialize . 48 6.2.4 ROMS_run . 49 6.2.5 ROMS_finalize . 49 6.2.6 main3d . 49 6.3 Initialization . 52 6.4 Modules . 52 6.5 Functionals . 54 6.6 Other subroutines and functions . 56 6.7 C preprocessor variables . 56 6.8 Important parameters . 65 6.9 Domain decomposition . 65 6.9.1 ROMS internal numbers . 66 6.9.2 MPI exchange . 68 6.9.3 Code syntax . 69 6.9.4 Input/output . 72 7 Configuring ROMS for a Specific Application 75 7.1 Configuring ROMS . 75 7.1.1 Case Name . 75 7.1.2 Case-specific Include File . 76 7.1.3 Functionals . 76 7.1.4 checkdefs.F .................................... 76 7.1.5 Model domain . 76 7.1.6 x, y grid....................................... 77 7.1.7 ξ, η grid....................................... 77 7.1.8 Initial conditions . 77 7.1.9 Equation of state . 78 7.1.10 Boundary conditions . 78 7.1.11 Model forcing . 78 7.1.12 ocean.in ...................................... 79 7.1.13 User variables and subroutines . 88 2 7.2 Upwelling/Downwelling Example . 88 7.2.1.