ovrot.f
37 lines · 1 definitions · on GitHub (7be4133)
Python version: ovrot.py, 51 lines, on the right (switch to Python above the code).
Variables on this page (1)
Purpose
Sets the convection flags LCZ used for rotation and mixing so that they include convective overshoot: it calls CONVEC, which finds the mixed zones with overshoot, and marks every shell in a mixed zone convective and every shell in a radiative zone not.
How it fits
- Inputs: the model (
HCOMP,HD,HP,HR,HS,HT), the Schwarzschild flagsLCandM. - Who calls it: GETW, HPOINT, MIDMOD and STARIN.
- What it calls: CONVEC (which in turn calls OVERSH).
- Outputs:
LCZ, and the zone listsMRZONE,MXZONE,NRZONE,NZONE. The edgesJCORE,JENVand the zones without overshootMXZON0are local and dropped.
The method
The radiative zones are marked first, then the mixed zones (lines 24–34↗); a check I .GT. 0 guards LCZ(I) = .FALSE. (comment: "to avoid runtime error"). The check cannot fail: CONVEC gives every radiative region it counts a lower edge of at least 1 (convec.f, lines 183–205↗), and the loop counts up from it (settled from the code, Nov 9, 2026: lines 25–27↗). The out-of-range index is more likely CONVEC's bug 1 (convec.f, suspected bug 1), which leaves the top radiative region's upper edge stale, possibly beyond M (from an earlier call with more shells), which the check does not catch; the loop over MXZONE has no check either. That bug also makes the first loop mark shells 1 to M radiative, which is harmless here, since the second loop then marks the mixed zones.
Definitions
subroutineOVROT
Uses modules DIMENSIONS_MOD
Change log
The changes since rp_1
Changed since rp_1. Declarations only: JSON from DIMENSIONS_MOD, IMPLICIT NONE.