8. Packages I - Physical Parameterizations
In this chapter and in the following chapter, the MITgcm ‘packages’ are described. While you can carry out many experiments with MITgcm by starting from case studies in section Section 4, configuring a brand new experiment or making major changes to an experimental configuration requires some knowledge of the packages that make up the full MITgcm code. Packages are used in MITgcm to help organize and layer various code building blocks that are assembled and selected to perform a specific experiment. Each of the specific experiments described in section Section 4 uses a particular combination of packages.
Figure 8.1 shows the full set of packages that are available. As shown in the figure packages are classified into different groupings that layer on top of each other. The top layer packages are generally specialized to specific simulation types. In this layer there are packages that deal with biogeochemical processes, ocean interior and boundary layer processes, atmospheric processes, sea-ice, coupled simulations and state estimation. Below this layer are a set of general purpose numerical and computational packages. The general purpose numerical packages provide code for kernel numerical algorithms that apply to many different simulation types. Similarly, the general purpose computational packages implement non-numerical algorithms that provide parallelism, I/O and time-keeping functions that are used in many different scenarios.
The following sections describe the packages shown in Figure 8.1. Section Section 8.1.1 describes the general procedure for using any package in MITgcm. Sections Section 8 to Section 10 layout the algorithms implemented in specific packages and describe how to use the individual packages. A brief synopsis of the function of each package is given in Figure 8.1. Organizationally package code is assigned a separate subdirectory in the MITgcm code distribution (within the source code directory pkg). The name of this subdirectory is used as the package name in Figure 8.1.
8.1. Overview
8.3. General purpose numerical infrastructure packages
- 8.3.1. OBCS: Open boundary conditions for regional modeling
- 8.3.2. RBCS Package
- 8.3.2.1. Introduction
- 8.3.2.2. Key subroutines and parameters
- 8.3.2.3. Timing of relaxation forcing fields
- 8.3.2.4. Example 1: forcing with time averages starting at \(t=0\)
- 8.3.2.5. Example 2: forcing with snapshots starting at \(t=0\)
- 8.3.2.6. Do’s and Don’ts
- 8.3.2.7. Reference Material
- 8.3.2.8. Experiments and tutorials that use rbcs
- 8.3.3. PTRACERS Package
8.4. Ocean Packages
- 8.4.1. GMREDI: Gent-McWilliams/Redi Eddy Parameterization
- 8.4.1.1. Introduction
- 8.4.1.2. Description
- 8.4.1.2.1. Redi scheme: Isopycnal diffusion
- 8.4.1.2.2. GM parameterization
- 8.4.1.2.3. Griffies Skew Flux
- 8.4.1.2.4. Redi and GM schemes in pressure coordinate
- 8.4.1.2.5. Visbeck et al. 1997 GM diffusivity \(\kappa_{GM}(x,y)\)
- 8.4.1.2.6. Marshall et al. 2012 GM diffusivity \(\kappa_{GM}(x,y)\)
- 8.4.1.2.7. Tapering and stability
- 8.4.1.3. GMREDI configuration and compiling
- 8.4.1.4. Run-time parameters
- 8.4.1.5. GMREDI Diagnostics
- 8.4.1.6. Experiments and tutorials that use GMREDI
- 8.4.2. KPP: Nonlocal K-Profile Parameterization for Vertical Mixing
- 8.4.2.1. Introduction
- 8.4.2.2. KPP configuration and compiling
- 8.4.2.3. Run-time parameters
- 8.4.2.4. Equations and key routines
- 8.4.2.4.1. KPP_CALC:
- 8.4.2.4.2. KPP_MIX:
- 8.4.2.4.3. BLMIX: Mixing in the boundary layer
- 8.4.2.4.4. RI_IWMIX: Mixing in the interior
- 8.4.2.4.5. BLDEPTH: Boundary layer depth calculation:
- 8.4.2.4.6. KPP_CALC_DIFF_T/_S, KPP_CALC_VISC:
- 8.4.2.4.7. KPP_TRANSPORT_T/_S/_PTR:
- 8.4.2.4.8. Implicit time integration
- 8.4.2.4.9. Penetration of shortwave radiation
- 8.4.2.5. Flow chart
- 8.4.2.6. KPP diagnostics
- 8.4.2.7. Reference experiments
- 8.4.2.8. References
- 8.4.2.9. Experiments and tutorials that use kpp
- 8.4.3. GGL90: a TKE vertical mixing scheme
- 8.4.4. OPPS: Ocean Penetrative Plume Scheme
- 8.4.5. KL10: Vertical Mixing Due to Breaking Internal Waves
- 8.4.6. BULK_FORCE: Bulk Formula Package
- 8.4.6.1. subroutine BULKF_FIELDS_LOAD
- 8.4.6.2. subroutine BULKF_FORCING
- 8.4.6.3. subroutine BULKF_FORMULA_LANL
- 8.4.6.4. Initializing subroutines
- 8.4.6.5. Diagnostic subroutines
- 8.4.6.6. Common Blocks
- 8.4.6.7. Input file DATA.ICE
- 8.4.6.8. Important Notes
- 8.4.6.9. References
- 8.4.6.10. Experiments and tutorials that use bulk_force
- 8.4.7. EXF: The external forcing package
- 8.4.8. CAL: The calendar package
8.5. Atmosphere Packages
- 8.5.1. Atmospheric Intermediate Physics: AIM
- 8.5.2. Land package
- 8.5.3. Fizhi: High-end Atmospheric Physics
- 8.5.3.1. Introduction
- 8.5.3.2. Equations
- 8.5.3.2.1. Sub-grid and Large-scale Convection
- 8.5.3.2.2. Cloud Formation
- 8.5.3.2.3. Shortwave Radiation
- 8.5.3.2.4. Longwave Radiation
- 8.5.3.2.5. Cloud-Radiation Interaction
- 8.5.3.2.6. Turbulence
- 8.5.3.2.7. Atmospheric Boundary Layer
- 8.5.3.2.8. Surface Energy Budget
- 8.5.3.2.9. Surface Type
- 8.5.3.2.10. Surface Roughness
- 8.5.3.2.11. Albedo
- 8.5.3.2.12. Gravity Wave Drag
- 8.5.3.2.13. Boundary Conditions and other Input Data
- 8.5.3.2.14. Topography and Topography Variance
- 8.5.3.2.15. Upper Level Moisture
- 8.5.3.3. Fizhi Diagnostics
- 8.5.3.4. Fizhi Diagnostic Description
- 8.5.3.4.1. Surface Zonal Wind Stress on the Atmosphere (\(Newton/m^2\))
- 8.5.3.4.2. Surface Meridional Wind Stress on the Atmosphere (\(Newton/m^2\))
- 8.5.3.4.3. Surface Flux of Sensible Heat (W m–2)
- 8.5.3.4.4. Surface Flux of Latent Heat (\(Watts/m^2\))
- 8.5.3.4.5. Heat Conduction Through Sea Ice (\(Watts/m^2\))
- 8.5.3.4.6. Net upward Longwave Flux at the surface (\(Watts/m^2\))
- 8.5.3.4.7. Net downard shortwave Flux at the surface (\(Watts/m^2\))
- 8.5.3.4.8. Richardson number (\(dimensionless\))
- 8.5.3.4.9. CT - Surface Exchange Coefficient for Temperature and Moisture (dimensionless)
- 8.5.3.4.10. CU - Surface Exchange Coefficient for Momentum (dimensionless)
- 8.5.3.4.11. ET - Diffusivity Coefficient for Temperature and Moisture (m^2/sec)
- 8.5.3.4.12. EU - Diffusivity Coefficient for Momentum (m^2/sec)
- 8.5.3.4.13. TURBU - Zonal U-Momentum changes due to Turbulence (m/sec/day)
- 8.5.3.4.14. TURBV - Meridional V-Momentum changes due to Turbulence (m/sec/day)
- 8.5.3.4.15. TURBT - Temperature changes due to Turbulence (deg/day)
- 8.5.3.4.16. TURBQ - Specific Humidity changes due to Turbulence (g/kg/day)
- 8.5.3.4.17. MOISTT - Temperature Changes Due to Moist Processes (deg/day)
- 8.5.3.4.18. MOISTQ - Specific Humidity Changes Due to Moist Processes (g/kg/day)
- 8.5.3.4.19. RADLW - Heating Rate due to Longwave Radiation (deg/day)
- 8.5.3.4.20. RADSW - Heating Rate due to Shortwave Radiation (deg/day)
- 8.5.3.4.21. PREACC - Total (Large-scale + Convective) Accumulated Precipition (mm/day)
- 8.5.3.4.22. PRECON - Convective Precipition (mm/day)
- 8.5.3.4.23. TUFLUX - Turbulent Flux of U-Momentum (Newton/m^2)
- 8.5.3.4.24. TVFLUX - Turbulent Flux of V-Momentum (Newton/m^2)
- 8.5.3.4.25. TTFLUX - Turbulent Flux of Sensible Heat (Watts/m^2)
- 8.5.3.4.26. TQFLUX - Turbulent Flux of Latent Heat (Watts/m^2)
- 8.5.3.4.27. CN - Neutral Drag Coefficient (dimensionless)
- 8.5.3.4.28. WINDS - Surface Wind Speed (meter/sec)
- 8.5.3.4.29. TG - Ground Temperature (deg K)
- 8.5.3.4.30. TS - Surface Temperature (deg K)
- 8.5.3.4.31. DTG - Surface Temperature Adjustment (deg K)
- 8.5.3.4.32. QG - Ground Specific Humidity (g/kg)
- 8.5.3.4.33. QS - Saturation Surface Specific Humidity (g/kg)
- 8.5.3.4.34. TGRLW - Instantaneous ground temperature used as input to the Longwave radiation subroutine (deg)
- 8.5.3.4.35. ST4 - Upward Longwave flux at the surface (Watts/m^2)
- 8.5.3.4.36. OLR - Net upward Longwave flux at \(p=p_{top}\) (Watts/m^2)
- 8.5.3.4.37. OLRCLR - Net upward clearsky Longwave flux at \(p=p_{top}\) (Watts/m^2)
- 8.5.3.4.38. LWGCLR - Net upward clearsky Longwave flux at the surface (Watts/m^2)
- 8.5.3.4.39. LWCLR - Heating Rate due to Clearsky Longwave Radiation (deg/day)
- 8.5.3.4.40. TLW - Instantaneous temperature used as input to the Longwave radiation subroutine (deg)
- 8.5.3.4.41. SHLW - Instantaneous specific humidity used as input to the Longwave radiation subroutine (kg/kg)
- 8.5.3.4.42. OZLW - Instantaneous ozone used as input to the Longwave radiation subroutine (kg/kg)
- 8.5.3.4.43. CLMOLW - Maximum Overlap cloud fraction used in LW Radiation (0-1)
- 8.5.3.4.44. CLDTOT - Total cloud fraction used in LW and SW Radiation (0-1)
- 8.5.3.4.45. CLMOSW - Maximum Overlap cloud fraction used in SW Radiation (0-1)
- 8.5.3.4.46. CLROSW - Random Overlap cloud fraction used in SW Radiation (0-1)
- 8.5.3.4.47. RADSWT - Incident Shortwave radiation at the top of the atmosphere (Watts/m^2)
- 8.5.3.4.48. EVAP - Surface Evaporation (mm/day)
- 8.5.3.4.49. DUDT - Total Zonal U-Wind Tendency (m/sec/day)
- 8.5.3.4.50. DVDT - Total Zonal V-Wind Tendency (m/sec/day)
- 8.5.3.4.51. DTDT - Total Temperature Tendency (deg/day)
- 8.5.3.4.52. DQDT - Total Specific Humidity Tendency (g/kg/day)
- 8.5.3.4.53. USTAR - Surface-Stress Velocity (m/sec)
- 8.5.3.4.54. Z0 - Surface Roughness Length (m)
- 8.5.3.4.55. FRQTRB - Frequency of Turbulence (0-1)
- 8.5.3.4.56. PBL - Planetary Boundary Layer Depth (mb)
- 8.5.3.4.57. SWCLR - Clear sky Heating Rate due to Shortwave Radiation (deg/day)
- 8.5.3.4.58. OSR - Net upward Shortwave flux at the top of the model (Watts/m^2)
- 8.5.3.4.59. OSRCLR - Net upward clearsky Shortwave flux at the top of the model (Watts/m^2)
- 8.5.3.4.60. CLDMAS - Convective Cloud Mass Flux (kg/m^2)
- 8.5.3.4.61. UAVE - Time-Averaged Zonal U-Wind (m/sec)
- 8.5.3.4.62. VAVE - Time-Averaged Meridional V-Wind (m/sec)
- 8.5.3.4.63. TAVE - Time-Averaged Temperature (Kelvin)
- 8.5.3.4.64. QAVE - Time-Averaged Specific Humidity (g/kg)
- 8.5.3.4.65. PAVE - Time-Averaged Surface Pressure - PTOP (mb)
- 8.5.3.4.66. QQAVE - Time-Averaged Turbulent Kinetic Energy (m/sec)^2
- 8.5.3.4.67. SWGCLR - Net downward clearsky Shortwave flux at the surface (Watts/m^2)
- 8.5.3.4.68. DIABU - Total Diabatic Zonal U-Wind Tendency (m/sec/day)
- 8.5.3.4.69. DIABV - Total Diabatic Meridional V-Wind Tendency (m/sec/day)
- 8.5.3.4.70. DIABT Total Diabatic Temperature Tendency (deg/day)
- 8.5.3.4.71. DIABQ - Total Diabatic Specific Humidity Tendency (g/kg/day)
- 8.5.3.4.72. VINTUQ - Vertically Integrated Moisture Flux (m/sec g/kg)
- 8.5.3.4.73. VINTVQ - Vertically Integrated Moisture Flux (m/sec g/kg)
- 8.5.3.4.74. VINTUT - Vertically Integrated Heat Flux (m/sec deg)
- 8.5.3.4.75. VINTVT - Vertically Integrated Heat Flux (m/sec deg)
- 8.5.3.4.76. CLDFRC - Total 2-Dimensional Cloud Fracton (0-1)
- 8.5.3.4.77. QINT - Total Precipitable Water (gm/cm^2)
- 8.5.3.4.78. U2M Zonal U-Wind at 2 Meter Depth (m/sec)
- 8.5.3.4.79. V2M - Meridional V-Wind at 2 Meter Depth (m/sec)
- 8.5.3.4.80. T2M - Temperature at 2 Meter Depth (deg K)
- 8.5.3.4.81. Q2M - Specific Humidity at 2 Meter Depth (g/kg)
- 8.5.3.4.82. U10M - Zonal U-Wind at 10 Meter Depth (m/sec)
- 8.5.3.4.83. V10M - Meridional V-Wind at 10 Meter Depth (m/sec)
- 8.5.3.4.84. T10M - Temperature at 10 Meter Depth (deg K)
- 8.5.3.4.85. Q10M - Specific Humidity at 10 Meter Depth (g/kg)
- 8.5.3.4.86. DTRAIN - Cloud Detrainment Mass Flux (kg/m^2)
- 8.5.3.4.87. QFILL - Filling of negative Specific Humidity (g/kg/day)
- 8.5.3.5. Key subroutines, parameters and files
- 8.5.3.6. Dos and don’ts
- 8.5.3.7. Fizhi Reference
- 8.5.3.8. Experiments and tutorials that use fizhi
8.6. Ice and Sea Ice Packages
- 8.6.1. THSICE: The Thermodynamic Sea Ice Package
- 8.6.2. SEAICE Package
- 8.6.2.1. Introduction
- 8.6.2.2. SEAICE configuration and compiling
- 8.6.2.3. Run-time parameters
- 8.6.2.4. Description
- 8.6.2.5. Dynamics
- 8.6.2.5.1. Viscous-Plastic (VP) Rheology
- 8.6.2.5.2. LSR and JFNK solver
- 8.6.2.5.3. Elastic-Viscous-Plastic (EVP) Dynamics
- 8.6.2.5.4. More stable variants of Elastic-Viscous-Plastic Dynamics: EVP*, mEVP, and aEVP
- 8.6.2.5.5. Ice-Ocean stress
- 8.6.2.5.6. Finite-volume discretization of the stress tensor divergence
- 8.6.2.6. Thermodynamics
- 8.6.2.7. Known issues and work-arounds
- 8.6.2.8. Key subroutines
- 8.6.2.9. SEAICE diagnostics
- 8.6.2.10. Experiments and tutorials that use seaice
- 8.6.3. SHELFICE Package
- 8.6.4. SHELFICE Remeshing
- 8.6.5. STREAMICE Package