96 |
& dQdTfile, ploadFile, |
& dQdTfile, ploadFile, |
97 |
& eddyTauxFile, eddyTauyFile, |
& eddyTauxFile, eddyTauyFile, |
98 |
& eosType, pickupSuff, |
& eosType, pickupSuff, |
99 |
& mdsioLocalDir, |
& mdsioLocalDir, |
100 |
& the_run_name |
& the_run_name |
101 |
CHARACTER*(5) checkPtSuff(maxNoChkptLev) |
CHARACTER*(5) checkPtSuff(maxNoChkptLev) |
102 |
CHARACTER*(MAX_LEN_FNAM) delXFile |
CHARACTER*(MAX_LEN_FNAM) delXFile |
196 |
INTEGER momForcingOutAB, tracForcingOutAB |
INTEGER momForcingOutAB, tracForcingOutAB |
197 |
INTEGER tempAdvScheme, tempVertAdvScheme |
INTEGER tempAdvScheme, tempVertAdvScheme |
198 |
INTEGER saltAdvScheme, saltVertAdvScheme |
INTEGER saltAdvScheme, saltVertAdvScheme |
199 |
INTEGER selectKEscheme |
INTEGER selectKEscheme |
200 |
INTEGER debugLevel |
INTEGER debugLevel |
201 |
|
|
202 |
C |
C |
222 |
C momPressureForcing :: Flag which turns pressure term in momentum equation |
C momPressureForcing :: Flag which turns pressure term in momentum equation |
223 |
C on and off. |
C on and off. |
224 |
C metricTerms :: Flag which turns metric terms on or off. |
C metricTerms :: Flag which turns metric terms on or off. |
225 |
C usingSphericalPolarMTerms :: If TRUE use spherical polar metric terms. |
C useNHMTerms :: If TRUE use non-hydrostatic metric terms. |
|
C useNHMTerms :: If TRUE use non-hydrostatic metric terms. |
|
226 |
C useCoriolis :: Flag which turns the coriolis terms on and off. |
C useCoriolis :: Flag which turns the coriolis terms on and off. |
227 |
C tempAdvection :: Flag which turns advection of temperature on |
C tempAdvection :: Flag which turns advection of temperature on |
228 |
C and off. |
C and off. |
254 |
C useConstantF :: Coriolis parameter set to f0 |
C useConstantF :: Coriolis parameter set to f0 |
255 |
C useBetaPlaneF :: Coriolis parameter set to f0 + beta.y |
C useBetaPlaneF :: Coriolis parameter set to f0 + beta.y |
256 |
C useSphereF :: Coriolis parameter set to 2.omega.sin(phi) |
C useSphereF :: Coriolis parameter set to 2.omega.sin(phi) |
257 |
|
C use3dCoriolis :: Turns the 3-D coriolis terms (in Omega.cos Phi) on - off |
258 |
C useCDscheme :: use CD-scheme to calculate Coriolis terms. |
C useCDscheme :: use CD-scheme to calculate Coriolis terms. |
259 |
C useJamartWetPoints :: Use wet-point method for Coriolis (Jamart and Ozer, 1986) |
C useJamartWetPoints :: Use wet-point method for Coriolis (Jamart and Ozer, 1986) |
260 |
C useJamartMomAdv :: Use wet-point method for V.I. non-linear term |
C useJamartMomAdv :: Use wet-point method for V.I. non-linear term |
306 |
C timeave_mdsio :: use mdsio for timeave output |
C timeave_mdsio :: use mdsio for timeave output |
307 |
C snapshot_mdsio :: use mdsio for "snapshot" (dumpfreq/diagfreq) output |
C snapshot_mdsio :: use mdsio for "snapshot" (dumpfreq/diagfreq) output |
308 |
C monitor_stdio :: use stdio for monitor output |
C monitor_stdio :: use stdio for monitor output |
|
C calendarDumps :: When set, approximate months (30-31 days) and years (360-372 days) |
|
|
C for parameters chkPtFreq, pChkPtFreq, taveFreq, SEAICE_taveFreq, |
|
|
C KPP_taveFreq, and freq in pkg/diagnostics are converted to exact |
|
|
C calendar months and years. Requires pkg/cal. |
|
309 |
C dumpInitAndLast :: dumps model state to files at Initial (nIter0) |
C dumpInitAndLast :: dumps model state to files at Initial (nIter0) |
310 |
C & Last iteration, in addition multiple of dumpFreq iter. |
C & Last iteration, in addition multiple of dumpFreq iter. |
311 |
C balanceEmPmR :: substract global mean of EmPmR at every time step |
C balanceEmPmR :: substract global mean of EmPmR at every time step |
315 |
COMMON /PARM_L/ usingCartesianGrid, usingSphericalPolarGrid, |
COMMON /PARM_L/ usingCartesianGrid, usingSphericalPolarGrid, |
316 |
& usingCurvilinearGrid, usingCylindricalGrid, |
& usingCurvilinearGrid, usingCylindricalGrid, |
317 |
& no_slip_sides,no_slip_bottom, |
& no_slip_sides,no_slip_bottom, |
318 |
& momViscosity, momAdvection, momForcing, useCoriolis, |
& momViscosity, momAdvection, momForcing, useCoriolis, |
319 |
& momPressureForcing, vectorInvariantMomentum, |
& momPressureForcing, vectorInvariantMomentum, |
320 |
& tempAdvection, tempForcing, |
& tempAdvection, tempForcing, |
321 |
& saltAdvection, saltForcing, |
& saltAdvection, saltForcing, |
325 |
& rigidLid, implicitFreeSurface, exactConserv, uniformLin_PhiSurf, |
& rigidLid, implicitFreeSurface, exactConserv, uniformLin_PhiSurf, |
326 |
& use3Dsolver, implicitIntGravWave, staggerTimeStep, |
& use3Dsolver, implicitIntGravWave, staggerTimeStep, |
327 |
& momStepping, tempStepping, saltStepping, |
& momStepping, tempStepping, saltStepping, |
328 |
& metricTerms, usingSphericalPolarMTerms, useNHMTerms, |
& metricTerms, useNHMTerms, |
329 |
& useConstantF, useBetaPlaneF, useSphereF, |
& useConstantF, useBetaPlaneF, useSphereF, use3dCoriolis, |
330 |
& useCDscheme, |
& useCDscheme, |
331 |
& useEnergyConservingCoriolis, useJamartWetPoints, useJamartMomAdv, |
& useEnergyConservingCoriolis, useJamartWetPoints, useJamartMomAdv, |
332 |
& SadournyCoriolis, upwindVorticity, highOrderVorticity, |
& SadournyCoriolis, upwindVorticity, highOrderVorticity, |
333 |
& useAbsVorticity, upwindShear, |
& useAbsVorticity, upwindShear, |
334 |
& implicitDiffusion, implicitViscosity, |
& implicitDiffusion, implicitViscosity, |
335 |
& tempImplVertAdv, saltImplVertAdv, momImplVertAdv, |
& tempImplVertAdv, saltImplVertAdv, momImplVertAdv, |
336 |
& multiDimAdvection, useMultiDimAdvec, |
& multiDimAdvection, useMultiDimAdvec, |
337 |
& momDissip_In_AB, doAB_onGtGs, |
& momDissip_In_AB, doAB_onGtGs, |
338 |
& doThetaClimRelax, doSaltClimRelax, doTr1ClimRelax, |
& doThetaClimRelax, doSaltClimRelax, doTr1ClimRelax, |
339 |
& periodicExternalForcing, |
& periodicExternalForcing, |
340 |
& fluidIsAir, fluidIsWater, |
& fluidIsAir, fluidIsWater, |
341 |
& usingPCoords, usingZCoords, useDynP_inEos_Zc, setCenterDr, |
& usingPCoords, usingZCoords, useDynP_inEos_Zc, setCenterDr, |
342 |
& nonHydrostatic, quasiHydrostatic, globalFiles, useSingleCpuIO, |
& nonHydrostatic, quasiHydrostatic, globalFiles, useSingleCpuIO, |
346 |
& timeave_mdsio, snapshot_mdsio, monitor_stdio, |
& timeave_mdsio, snapshot_mdsio, monitor_stdio, |
347 |
& outputTypesInclusive, dumpInitAndLast, debugMode, |
& outputTypesInclusive, dumpInitAndLast, debugMode, |
348 |
& inAdMode, inAdTrue, inAdFalse, inAdExact, |
& inAdMode, inAdTrue, inAdFalse, inAdExact, |
|
& calendarDumps, |
|
349 |
& balanceEmPmR, balanceQnet, balancePrintMean |
& balanceEmPmR, balanceQnet, balancePrintMean |
350 |
|
|
351 |
LOGICAL usingCartesianGrid |
LOGICAL usingCartesianGrid |
352 |
LOGICAL usingSphericalPolarGrid |
LOGICAL usingSphericalPolarGrid |
353 |
LOGICAL usingCylindricalGrid |
LOGICAL usingCylindricalGrid |
354 |
LOGICAL usingCurvilinearGrid |
LOGICAL usingCurvilinearGrid |
|
LOGICAL usingSphericalPolarMTerms |
|
355 |
LOGICAL useNHMTerms |
LOGICAL useNHMTerms |
356 |
LOGICAL no_slip_sides |
LOGICAL no_slip_sides |
357 |
LOGICAL no_slip_bottom |
LOGICAL no_slip_bottom |
383 |
LOGICAL useConstantF |
LOGICAL useConstantF |
384 |
LOGICAL useBetaPlaneF |
LOGICAL useBetaPlaneF |
385 |
LOGICAL useSphereF |
LOGICAL useSphereF |
386 |
|
LOGICAL use3dCoriolis |
387 |
LOGICAL useCDscheme |
LOGICAL useCDscheme |
388 |
LOGICAL useEnergyConservingCoriolis |
LOGICAL useEnergyConservingCoriolis |
389 |
LOGICAL useJamartWetPoints |
LOGICAL useJamartWetPoints |
395 |
LOGICAL upwindShear |
LOGICAL upwindShear |
396 |
LOGICAL implicitDiffusion |
LOGICAL implicitDiffusion |
397 |
LOGICAL implicitViscosity |
LOGICAL implicitViscosity |
398 |
LOGICAL tempImplVertAdv |
LOGICAL tempImplVertAdv |
399 |
LOGICAL saltImplVertAdv |
LOGICAL saltImplVertAdv |
400 |
LOGICAL momImplVertAdv |
LOGICAL momImplVertAdv |
401 |
LOGICAL multiDimAdvection |
LOGICAL multiDimAdvection |
402 |
LOGICAL useMultiDimAdvec |
LOGICAL useMultiDimAdvec |
428 |
LOGICAL timeave_mdsio, snapshot_mdsio, monitor_stdio |
LOGICAL timeave_mdsio, snapshot_mdsio, monitor_stdio |
429 |
LOGICAL outputTypesInclusive |
LOGICAL outputTypesInclusive |
430 |
LOGICAL inAdMode, inAdTrue, inAdFalse, inAdExact |
LOGICAL inAdMode, inAdTrue, inAdFalse, inAdExact |
|
LOGICAL calendarDumps |
|
431 |
|
|
432 |
LOGICAL balanceEmPmR |
LOGICAL balanceEmPmR |
433 |
LOGICAL balanceQnet |
LOGICAL balanceQnet |
486 |
C viscAhW :: Eddy viscosity coeff. for mixing of vertical |
C viscAhW :: Eddy viscosity coeff. for mixing of vertical |
487 |
C momentum laterally, no effect for hydrostatic |
C momentum laterally, no effect for hydrostatic |
488 |
C model, defaults to viscAh if unset ( m^2/s ) |
C model, defaults to viscAh if unset ( m^2/s ) |
489 |
|
C Not used if variable horiz. viscosity is used. |
490 |
C viscAr :: Eddy viscosity coeff. for mixing of |
C viscAr :: Eddy viscosity coeff. for mixing of |
491 |
C momentum vertically ( units of r^2/s ) |
C momentum vertically ( units of r^2/s ) |
492 |
C viscA4 :: Biharmonic viscosity coeff. for mixing of |
C viscA4 :: Biharmonic viscosity coeff. for mixing of |
494 |
C viscA4W :: Biharmonic viscosity coeff. for mixing of vertical |
C viscA4W :: Biharmonic viscosity coeff. for mixing of vertical |
495 |
C momentum laterally, no effect for hydrostatic |
C momentum laterally, no effect for hydrostatic |
496 |
C model, defaults to viscA4 if unset ( m^2/s ) |
C model, defaults to viscA4 if unset ( m^2/s ) |
497 |
|
C Not used if variable horiz. viscosity is used. |
498 |
C viscAhD :: Eddy viscosity coeff. for mixing of momentum laterally |
C viscAhD :: Eddy viscosity coeff. for mixing of momentum laterally |
499 |
C (act on Divergence part) ( m^2/s ) |
C (act on Divergence part) ( m^2/s ) |
500 |
C viscAhZ :: Eddy viscosity coeff. for mixing of momentum laterally |
C viscAhZ :: Eddy viscosity coeff. for mixing of momentum laterally |
612 |
C starting value (k=1) for vertical coordinate (rf(1)=Ro_SeaLevel) |
C starting value (k=1) for vertical coordinate (rf(1)=Ro_SeaLevel) |
613 |
C sideDragFactor :: side-drag scaling factor (used only if no_slip_sides) |
C sideDragFactor :: side-drag scaling factor (used only if no_slip_sides) |
614 |
C (default=2: full drag ; =1: gives half-slip BC) |
C (default=2: full drag ; =1: gives half-slip BC) |
615 |
C bottomDragLinear :: Drag coefficient built in to core dynamics |
C bottomDragLinear :: Linear bottom-drag coefficient (units of [r]/s) |
616 |
C bottomDragQuadratic ( linear: 1/s, quadratic: 1/m ) |
C bottomDragQuadratic :: Quadratic bottom-drag coefficient (units of [r]/m) |
617 |
|
C (if using zcoordinate, units becomes linear: m/s, quadratic: [-]) |
618 |
|
C smoothAbsFuncRange :: 1/2 of interval around zero, for which FORTRAN ABS |
619 |
|
C is to be replace by a smoother function |
620 |
|
C (affects myabs, mymin, mymax) |
621 |
C nh_Am2 :: scales the non-hydrostatic terms and changes internal scales |
C nh_Am2 :: scales the non-hydrostatic terms and changes internal scales |
622 |
C (i.e. allows convection at different Rayleigh numbers) |
C (i.e. allows convection at different Rayleigh numbers) |
623 |
COMMON /PARM_R/ cg2dTargetResidual, cg2dTargetResWunit, |
COMMON /PARM_R/ cg2dTargetResidual, cg2dTargetResWunit, |
624 |
& cg2dpcOffDFac, cg3dTargetResidual, |
& cg2dpcOffDFac, cg3dTargetResidual, |
625 |
& delR, delRc, delX, delY, |
& delR, delRc, delX, delY, |
626 |
& deltaT, deltaTmom, dTtracerLev, deltaTfreesurf, deltaTClock, |
& deltaT, deltaTmom, dTtracerLev, deltaTfreesurf, deltaTClock, |
631 |
& viscC2leith, viscC2leithD, |
& viscC2leith, viscC2leithD, |
632 |
& viscC2smag, viscC4smag, |
& viscC2smag, viscC4smag, |
633 |
& viscAhD, viscAhZ, viscA4D, viscA4Z, |
& viscAhD, viscAhZ, viscA4D, viscA4Z, |
634 |
& viscA4, viscA4W, |
& viscA4, viscA4W, |
635 |
& viscA4Max, viscA4Grid, viscA4GridMax, viscA4GridMin, |
& viscA4Max, viscA4Grid, viscA4GridMax, viscA4GridMin, |
636 |
& viscAhRemax, viscA4Remax, |
& viscAhRemax, viscA4Remax, |
637 |
& viscC4leith, viscC4leithD, viscAr, |
& viscC4leith, viscC4leithD, viscAr, |
640 |
& diffKrBL79surf, diffKrBL79deep, diffKrBL79scl, diffKrBL79Ho, |
& diffKrBL79surf, diffKrBL79deep, diffKrBL79scl, diffKrBL79Ho, |
641 |
& delT, tauCD, rCD, freeSurfFac, implicSurfPress, implicDiv2Dflow, |
& delT, tauCD, rCD, freeSurfFac, implicSurfPress, implicDiv2Dflow, |
642 |
& hFacMin, hFacMinDz, hFacInf, hFacSup, |
& hFacMin, hFacMinDz, hFacInf, hFacSup, |
643 |
& gravity, recip_Gravity, gBaro, rhonil, recip_rhonil, |
& gravity, recip_Gravity, gBaro, rhonil, recip_rhonil, |
644 |
& recip_rhoConst, rhoConst, |
& recip_rhoConst, rhoConst, |
645 |
& rhoConstFresh, convertEmP2rUnit, tRef, sRef, phiRef, dBdrRef, |
& rhoConstFresh, convertEmP2rUnit, tRef, sRef, phiRef, dBdrRef, |
646 |
& baseTime, startTime, endTime, |
& baseTime, startTime, endTime, |
647 |
& chkPtFreq, pchkPtFreq, dumpFreq, adjDumpFreq, |
& chkPtFreq, pChkPtFreq, dumpFreq, adjDumpFreq, |
648 |
& diagFreq, taveFreq, tave_lastIter, monitorFreq, adjMonitorFreq, |
& diagFreq, taveFreq, tave_lastIter, monitorFreq, adjMonitorFreq, |
649 |
& afFacMom, vfFacMom, pfFacMom, cfFacMom, foFacMom, mtFacMom, |
& afFacMom, vfFacMom, pfFacMom, cfFacMom, foFacMom, mtFacMom, |
650 |
& cosPower, cAdjFreq, omega, rotationPeriod, |
& cosPower, cAdjFreq, omega, rotationPeriod, |
656 |
& horiVertRatio, recip_horiVertRatio, |
& horiVertRatio, recip_horiVertRatio, |
657 |
& ivdc_kappa, Ro_SeaLevel, |
& ivdc_kappa, Ro_SeaLevel, |
658 |
& sideDragFactor, bottomDragLinear, bottomDragQuadratic, nh_Am2, |
& sideDragFactor, bottomDragLinear, bottomDragQuadratic, nh_Am2, |
659 |
|
& smoothAbsFuncRange, |
660 |
& tCylIn, tCylOut |
& tCylIn, tCylOut |
661 |
|
|
662 |
_RL cg2dTargetResidual |
_RL cg2dTargetResidual |
702 |
_RL viscC2smag |
_RL viscC2smag |
703 |
_RL viscC4smag |
_RL viscC4smag |
704 |
_RL viscAr |
_RL viscAr |
705 |
_RL viscA4 |
_RL viscA4 |
706 |
_RL viscA4W |
_RL viscA4W |
707 |
_RL viscA4D |
_RL viscA4D |
708 |
_RL viscA4Z |
_RL viscA4Z |
711 |
_RL viscA4Grid, viscA4GridMax, viscA4GridMin |
_RL viscA4Grid, viscA4GridMax, viscA4GridMin |
712 |
_RL viscC4leith |
_RL viscC4leith |
713 |
_RL viscC4leithD |
_RL viscC4leithD |
714 |
_RL diffKhT |
_RL diffKhT |
715 |
_RL diffKrNrT(Nr) |
_RL diffKrNrT(Nr) |
716 |
_RL diffK4T |
_RL diffK4T |
717 |
_RL diffKhS |
_RL diffKhS |
718 |
_RL diffKrNrS(Nr) |
_RL diffKrNrS(Nr) |
719 |
_RL diffK4S |
_RL diffK4S |
720 |
_RL diffKrBL79surf |
_RL diffKrBL79surf |
721 |
_RL diffKrBL79deep |
_RL diffKrBL79deep |
722 |
_RL diffKrBL79scl |
_RL diffKrBL79scl |
754 |
_RL pfFacMom |
_RL pfFacMom |
755 |
_RL cfFacMom |
_RL cfFacMom |
756 |
_RL foFacMom |
_RL foFacMom |
757 |
_RL mTFacMom |
_RL mtFacMom |
758 |
_RL cosPower |
_RL cosPower |
759 |
_RL cAdjFreq |
_RL cAdjFreq |
760 |
_RL omega |
_RL omega |
776 |
_RL sideDragFactor |
_RL sideDragFactor |
777 |
_RL bottomDragLinear |
_RL bottomDragLinear |
778 |
_RL bottomDragQuadratic |
_RL bottomDragQuadratic |
779 |
|
_RL smoothAbsFuncRange |
780 |
_RL nh_Am2 |
_RL nh_Am2 |
781 |
_RL tCylIn |
_RL tCylIn |
782 |
_RL tCylOut |
_RL tCylOut |
798 |
C (still a subject of discussions ...) |
C (still a subject of discussions ...) |
799 |
C selectFindRoSurf :: select the way surf. ref. pressure (=Ro_surf) is |
C selectFindRoSurf :: select the way surf. ref. pressure (=Ro_surf) is |
800 |
C derived from the orography. Implemented: 0,1 (see INI_P_GROUND) |
C derived from the orography. Implemented: 0,1 (see INI_P_GROUND) |
801 |
COMMON /PARM_ATM/ |
COMMON /PARM_ATM/ |
802 |
& celsius2K, |
& celsius2K, |
803 |
& atm_Cp, atm_Rd, atm_kappa, atm_Rq, atm_Po, |
& atm_Cp, atm_Rd, atm_kappa, atm_Rq, atm_Po, |
804 |
& integr_GeoPot, selectFindRoSurf |
& integr_GeoPot, selectFindRoSurf |
816 |
LOGICAL useOBCS |
LOGICAL useOBCS |
817 |
LOGICAL useAIM |
LOGICAL useAIM |
818 |
LOGICAL useLand |
LOGICAL useLand |
819 |
|
LOGICAL useCAL |
820 |
|
LOGICAL useEXF |
821 |
|
LOGICAL useEBM |
822 |
LOGICAL useGrdchk |
LOGICAL useGrdchk |
823 |
LOGICAL useECCO |
LOGICAL useECCO |
824 |
LOGICAL useSHAP_FILT |
LOGICAL useSHAP_FILT |
827 |
LOGICAL usePTRACERS |
LOGICAL usePTRACERS |
828 |
LOGICAL useGCHEM |
LOGICAL useGCHEM |
829 |
LOGICAL useRBCS |
LOGICAL useRBCS |
830 |
|
LOGICAL useOffLine |
831 |
|
LOGICAL useMATRIX |
832 |
LOGICAL useSBO |
LOGICAL useSBO |
833 |
LOGICAL useSEAICE |
LOGICAL useSEAICE |
834 |
LOGICAL useShelfIce |
LOGICAL useShelfIce |
|
LOGICAL useBulkForce |
|
835 |
LOGICAL useThSIce |
LOGICAL useThSIce |
836 |
|
LOGICAL useBulkForce |
837 |
LOGICAL usefizhi |
LOGICAL usefizhi |
838 |
LOGICAL usegridalt |
LOGICAL usegridalt |
839 |
LOGICAL useDiagnostics |
LOGICAL useDiagnostics |
|
LOGICAL useEBM |
|
840 |
LOGICAL useMNC |
LOGICAL useMNC |
841 |
LOGICAL useMATRIX |
LOGICAL useREGRID |
842 |
LOGICAL useRunClock |
LOGICAL useRunClock |
843 |
LOGICAL useEMBED_FILES |
LOGICAL useEMBED_FILES |
844 |
|
LOGICAL useMYPACKAGE |
845 |
COMMON /PARM_PACKAGES/ |
COMMON /PARM_PACKAGES/ |
846 |
& useKPP, useGMRedi, useOBCS, useAIM, useLand, useECCO, |
& useOPPS, usePP81, useMY82, useGGL90, useKPP, |
847 |
& useSHAP_FILT, useZONAL_FILT, useGrdchk, useFLT, |
& useGMRedi, useOBCS, useAIM, useLand, |
848 |
& usePTRACERS, useGCHEM, useRBCS, |
& useCAL, useEXF, useEBM, useGrdchk, useECCO, |
849 |
& useSBO, useSEAICE, useShelfIce, useThSIce, useBulkForce, |
& useSHAP_FILT, useZONAL_FILT, useFLT, |
850 |
& usefizhi, usegridalt, useDiagnostics, useEBM, useMNC, |
& usePTRACERS, useGCHEM, useRBCS, useOffLine, useMATRIX, |
851 |
& usePP81, useMY82, useOPPS, useGGL90, useMATRIX, |
& useSBO, useSEAICE, useShelfIce, useThSIce, useBulkForce, |
852 |
& useRunClock, useEMBED_FILES |
& usefizhi, usegridalt, useDiagnostics, useMNC, useREGRID, |
853 |
|
& useRunClock, useEMBED_FILES, useMYPACKAGE |
854 |
|
|
855 |
CEH3 ;;; Local Variables: *** |
CEH3 ;;; Local Variables: *** |
856 |
CEH3 ;;; mode:fortran *** |
CEH3 ;;; mode:fortran *** |