diff --git a/Makefile b/Makefile index a0fea5c7c..995a8da3a 100644 --- a/Makefile +++ b/Makefile @@ -4,10 +4,12 @@ GITVERSION := $(shell git describe --tags --abbrev=40 --always) UNAME_S := $(shell uname -s) ifeq ($(UNAME_S),Linux) +CC = gcc GCC_FLAGS1 = -fPIC -Wl,-Bsymbolic-functions -c GCC_FLAGS2 = -shared -Wl,-Bsymbolic-functions,-soname,vplanetlib.so endif ifeq ($(UNAME_S),Darwin) +CC = clang GCC_FLAGS1 = -fPIC -c GCC_FLAGS2 = -shared -Wl,-install_name,vplanetlib.so endif @@ -17,7 +19,7 @@ default: -python setup.py develop legacy: - -gcc -o bin/vplanet src/*.c -lm -DGITVERSION=\"$(GITVERSION)\" + -$(CC) -o bin/vplanet src/*.c -lm -DGITVERSION=\"$(GITVERSION)\" @echo "" @echo "==========================================================================================================" @echo 'To add vplanet to your $$PATH, please run the appropriate command for your shell type:' @@ -30,13 +32,13 @@ legacy: @echo "==========================================================================================================" debug: - -gcc -g -D DEBUG -o bin/vplanet src/*.c -lm -DGITVERSION=\"$(GITVERSION)\" + -$(CC) -g -D DEBUG -o bin/vplanet src/*.c -lm -DGITVERSION=\"$(GITVERSION)\" debug_no_AE: - -gcc -g -o bin/vplanet src/*.c -lm -DGITVERSION=\"$(GITVERSION)\" + -$(CC) -g -o bin/vplanet src/*.c -lm -DGITVERSION=\"$(GITVERSION)\" opt: - -gcc -o bin/vplanet src/*.c -lm -O3 -DGITVERSION=\"$(GITVERSION)\" + -$(CC) -o bin/vplanet src/*.c -lm -O3 -DGITVERSION=\"$(GITVERSION)\" @echo "" @echo "==========================================================================================================" @echo 'To add vplanet to your $$PATH, please run the appropriate command for your shell type:' @@ -52,28 +54,28 @@ cpp: g++ -o bin/vplanet src/*.c -lm -O3 -fopenmp -fpermissive -w -DGITVERSION=\"$(GITVERSION)\" warnings: - -gcc -g -D DEBUG -Wunused-but-set-variable -Wunused-variable -Wfloat-equal -o bin/vplanet src/*.c -lm -DGITVERSION=\"$(GITVERSION)\" + -$(CC)-g -D DEBUG -Wunused-but-set-variable -Wunused-variable -Wfloat-equal -o bin/vplanet src/*.c -lm -DGITVERSION=\"$(GITVERSION)\" parallel: - gcc -o bin/vplanet src/*.c -lm -O3 -fopenmp -DGITVERSION=\"$(GITVERSION)\" + $(CC) -o bin/vplanet src/*.c -lm -O3 -fopenmp -DGITVERSION=\"$(GITVERSION)\" profile: - -gcc -pg -o bin/vplanet src/*.c -lm -DGITVERSION=\"$(GITVERSION)\" + -$(CC) -pg -o bin/vplanet src/*.c -lm -DGITVERSION=\"$(GITVERSION)\" optprof: - -gcc -pg -o bin/vplanet src/*.c -lm -O3 -DGITVERSION=\"$(GITVERSION)\" + -$(CC) -pg -o bin/vplanet src/*.c -lm -O3 -DGITVERSION=\"$(GITVERSION)\" sanitize: - -gcc -g -fsanitize=address -o bin/vplanet src/*.c -lm -DGITVERSION=\"$(GITVERSION)\" + -$(CC) -g -fsanitize=address -o bin/vplanet src/*.c -lm -DGITVERSION=\"$(GITVERSION)\" test: - -gcc -o bin/vplanet src/*.c -lm -O3 -DGITVERSION=\"$(GITVERSION)\" + -$(CC) -o bin/vplanet src/*.c -lm -O3 -DGITVERSION=\"$(GITVERSION)\" -pytest --tb=short coverage: -rm -f ./gcov/*.gcda ./gcov/*.gcno ./.coverage -mkdir -p ./gcov - -cd gcov && gcc -coverage -o ./../bin/vplanet ./../src/*.c -lm + -cd gcov && $(CC) -coverage -o ./../bin/vplanet ./../src/*.c -lm -python -m pytest --tb=short tests --junitxml=./junit/test-results.xml -lcov --capture --directory ./gcov --output-file ./.coverage -genhtml ./.coverage --output-directory ./gcov/html @@ -82,8 +84,8 @@ docs: -make -C docs html && echo 'Documentation available at `docs/.build/html/index.html`.' shared: - -gcc ${GCC_FLAGS1} src/*.c - -gcc ${GCC_FLAGS2} -o bin/vplanetlib.so *.o -lc + -$(CC) ${GCC_FLAGS1} src/*.c + -$(CC) ${GCC_FLAGS2} -o bin/vplanetlib.so *.o -lc clean: rm -f bin/vplanet diff --git a/README.md b/README.md index c7effb7b2..f63be54af 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@
- + diff --git a/src/distrot.c b/src/distrot.c index d02853c1f..f476ddbbc 100644 --- a/src/distrot.c +++ b/src/distrot.c @@ -161,7 +161,8 @@ void ReadFileOrbitData(BODY *body, CONTROL *control, FILES *files, void InitializeOptionsDistRot(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_DYNELLIP].cName, "dDynEllip"); - fvFormattedString(&options[OPT_DYNELLIP].cDescr, "Planet's dynamical ellipticity"); + fvFormattedString(&options[OPT_DYNELLIP].cDescr, + "Planet's dynamical ellipticity"); fvFormattedString(&options[OPT_DYNELLIP].cDefault, "0.00328"); fvFormattedString(&options[OPT_DYNELLIP].cDimension, "nd"); options[OPT_DYNELLIP].dDefault = 0.00328; @@ -171,7 +172,7 @@ void InitializeOptionsDistRot(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_CALCDYNELLIP].cName, "bCalcDynEllip"); fvFormattedString(&options[OPT_CALCDYNELLIP].cDescr, - "Calculate dynamical ellipticity from RotRate"); + "Calculate dynamical ellipticity from RotRate"); fvFormattedString(&options[OPT_CALCDYNELLIP].cDefault, "0"); options[OPT_CALCDYNELLIP].dDefault = 0; options[OPT_CALCDYNELLIP].iType = 0; @@ -193,35 +194,37 @@ void InitializeOptionsDistRot(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_FORCEPRECRATE].cName, "bForcePrecRate"); fvFormattedString(&options[OPT_FORCEPRECRATE].cDescr, - "Set the axial precession to a fixed rate?"); + "Set the axial precession to a fixed rate?"); fvFormattedString(&options[OPT_FORCEPRECRATE].cDefault, "0"); options[OPT_FORCEPRECRATE].dDefault = 0; options[OPT_FORCEPRECRATE].iType = 0; options[OPT_FORCEPRECRATE].bMultiFile = 1; fnRead[OPT_FORCEPRECRATE] = &ReadForcePrecRate; - fvFormattedString(&options[OPT_FORCEPRECRATE].cLongDescr, - "In DisRot, set the axial precession rate to a fixed value. This " - "option \n" - "can mimic the forcing of a natural satellite, or be used for " - "testing."); + fvFormattedString( + &options[OPT_FORCEPRECRATE].cLongDescr, + "In DisRot, set the axial precession rate to a fixed value. This " + "option \n" + "can mimic the forcing of a natural satellite, or be used for " + "testing."); fvFormattedString(&options[OPT_PRECRATE].cName, "dPrecRate"); fvFormattedString(&options[OPT_PRECRATE].cDescr, - "Fixed rate of axial precession (angle/s)"); + "Fixed rate of axial precession (angle/s)"); fvFormattedString(&options[OPT_PRECRATE].cDefault, "7.7261e-12"); fvFormattedString(&options[OPT_PRECRATE].cDimension, "angle/time"); options[OPT_PRECRATE].dDefault = 7.7261e-12; options[OPT_PRECRATE].iType = 2; options[OPT_PRECRATE].bMultiFile = 1; fnRead[OPT_PRECRATE] = &ReadPrecRate; - fvFormattedString(&options[OPT_READORBITDATA].cLongDescr, - "Value of the body's axial precession frequency if %s is set to 1.\n" - "Default value is the modern Earth's value as driven by the Moon.", - options[OPT_FORCEPRECRATE].cName); + fvFormattedString( + &options[OPT_READORBITDATA].cLongDescr, + "Value of the body's axial precession frequency if %s is set to 1.\n" + "Default value is the modern Earth's value as driven by the Moon.", + options[OPT_FORCEPRECRATE].cName); fvFormattedString(&options[OPT_SPECMOMINERTIA].cName, "dSpecMomInertia"); fvFormattedString(&options[OPT_SPECMOMINERTIA].cDescr, - "Specific moment of inertia of polar axis"); + "Specific moment of inertia of polar axis"); fvFormattedString(&options[OPT_SPECMOMINERTIA].cDefault, "0.33"); fvFormattedString(&options[OPT_SPECMOMINERTIA].cDimension, "nd"); options[OPT_SPECMOMINERTIA].dDefault = 0.33; @@ -233,7 +236,7 @@ void InitializeOptionsDistRot(OPTIONS *options, fnReadOption fnRead[]) { // Define OPT_READORBITDATA so it can be used in the long help fvFormattedString(&options[OPT_READORBITDATA].cName, "bReadOrbitData"); fvFormattedString(&options[OPT_FILEORBITDATA].cDescr, - "Name of file containing orbit time series"); + "Name of file containing orbit time series"); fvFormattedString(&options[OPT_FILEORBITDATA].cDefault, "orbit.txt"); options[OPT_FILEORBITDATA].iType = 3; fnRead[OPT_FILEORBITDATA] = &ReadFileOrbitData; @@ -252,18 +255,19 @@ void InitializeOptionsDistRot(OPTIONS *options, fnReadOption fnRead[]) { // cName defined above fvFormattedString(&options[OPT_READORBITDATA].cDescr, - "Read in orbital data for use with distrot?"); + "Read in orbital data for use with distrot?"); fvFormattedString(&options[OPT_READORBITDATA].cDefault, "0"); options[OPT_READORBITDATA].dDefault = 0; options[OPT_READORBITDATA].iType = 0; options[OPT_READORBITDATA].bMultiFile = 1; fnRead[OPT_READORBITDATA] = &ReadOrbitData; - fvFormattedString(&options[OPT_READORBITDATA].cLongDescr, - "Rather than calculate orbital evolution with DistOrb or SpiNBody, " - "users \n" - "may read in a previously run simulation. See %s for more \n" - "information.", - options[OPT_FILEORBITDATA].cName); + fvFormattedString( + &options[OPT_READORBITDATA].cLongDescr, + "Rather than calculate orbital evolution with DistOrb or SpiNBody, " + "users \n" + "may read in a previously run simulation. See %s for more \n" + "information.", + options[OPT_FILEORBITDATA].cName); } void ReadOptionsDistRot(BODY *body, CONTROL *control, FILES *files, @@ -1033,7 +1037,7 @@ void WriteOblTimeDistRot(BODY *body, CONTROL *control, OUTPUT *output, if (dDeriv == 0) { *dTmp = -1; } else { - *dTmp = fabs(PI / dDeriv); + *dTmp = fabs(PI / dDeriv); } if (output->bDoNeg[iBody]) { @@ -1265,7 +1269,7 @@ void WriteZoblTimeDistRot(BODY *body, CONTROL *control, OUTPUT *output, } else { *dTmp = fabs(1. / dDeriv); } - + if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; fvFormattedString(cUnit, output->cNeg); @@ -1374,6 +1378,7 @@ void WriteBodyCassOne(BODY *body, CONTROL *control, OUTPUT *output, control->Io.baCassiniOneMessage[iBody] = 1; } } + fvFormattedString(cUnit, ""); } void WriteBodyCassTwo(BODY *body, CONTROL *control, OUTPUT *output, @@ -1477,6 +1482,7 @@ void WriteBodyCassTwo(BODY *body, CONTROL *control, OUTPUT *output, control->Io.baCassiniTwoMessage[iBody] = 1; } } + fvFormattedString(cUnit, ""); } void WriteDynEllip(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, @@ -1510,7 +1516,8 @@ void WritePrecFNat(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, void InitializeOutputDistRot(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_DOBLDTDISTROT].cName, "DOblDtDistRot"); - fvFormattedString(&output[OUT_DOBLDTDISTROT].cDescr, "Body's dobl/dt in DistRot"); + fvFormattedString(&output[OUT_DOBLDTDISTROT].cDescr, + "Body's dobl/dt in DistRot"); fvFormattedString(&output[OUT_DOBLDTDISTROT].cNeg, "deg/year"); output[OUT_DOBLDTDISTROT].bNeg = 1; output[OUT_DOBLDTDISTROT].dNeg = YEARSEC / DEGRAD; @@ -1519,7 +1526,8 @@ void InitializeOutputDistRot(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_DOBLDTDISTROT] = &WriteBodyDOblDtDistRot; fvFormattedString(&output[OUT_DPRECADTDISTROT].cName, "DPrecADtDistRot"); - fvFormattedString(&output[OUT_DPRECADTDISTROT].cDescr, "Body's dpA/dt in DistRot"); + fvFormattedString(&output[OUT_DPRECADTDISTROT].cDescr, + "Body's dpA/dt in DistRot"); fvFormattedString(&output[OUT_DPRECADTDISTROT].cNeg, "deg/year"); output[OUT_DPRECADTDISTROT].bNeg = 1; output[OUT_DPRECADTDISTROT].dNeg = YEARSEC / DEGRAD; @@ -1528,7 +1536,8 @@ void InitializeOutputDistRot(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_DPRECADTDISTROT] = &WriteBodyDPrecADtDistRot; fvFormattedString(&output[OUT_DXOBLDTDISTROT].cName, "DXoblDtDistRot"); - fvFormattedString(&output[OUT_DXOBLDTDISTROT].cDescr, "Body's dXobl/dt in DistRot"); + fvFormattedString(&output[OUT_DXOBLDTDISTROT].cDescr, + "Body's dXobl/dt in DistRot"); fvFormattedString(&output[OUT_DXOBLDTDISTROT].cNeg, "1/year"); output[OUT_DXOBLDTDISTROT].bNeg = 1; output[OUT_DXOBLDTDISTROT].dNeg = YEARSEC; @@ -1537,7 +1546,8 @@ void InitializeOutputDistRot(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_DXOBLDTDISTROT] = &WriteBodyDXoblDtDistRot; fvFormattedString(&output[OUT_DYOBLDTDISTROT].cName, "DYoblDtDistRot"); - fvFormattedString(&output[OUT_DYOBLDTDISTROT].cDescr, "Body's dYobl/dt in DistRot"); + fvFormattedString(&output[OUT_DYOBLDTDISTROT].cDescr, + "Body's dYobl/dt in DistRot"); fvFormattedString(&output[OUT_DYOBLDTDISTROT].cNeg, "1/year"); output[OUT_DYOBLDTDISTROT].bNeg = 1; output[OUT_DYOBLDTDISTROT].dNeg = YEARSEC; @@ -1546,7 +1556,8 @@ void InitializeOutputDistRot(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_DYOBLDTDISTROT] = &WriteBodyDYoblDtDistRot; fvFormattedString(&output[OUT_DZOBLDTDISTROT].cName, "DZoblDtDistRot"); - fvFormattedString(&output[OUT_DZOBLDTDISTROT].cDescr, "Body's dZobl/dt in DistRot"); + fvFormattedString(&output[OUT_DZOBLDTDISTROT].cDescr, + "Body's dZobl/dt in DistRot"); fvFormattedString(&output[OUT_DZOBLDTDISTROT].cNeg, "1/year"); output[OUT_DZOBLDTDISTROT].bNeg = 1; output[OUT_DZOBLDTDISTROT].dNeg = YEARSEC; @@ -1555,7 +1566,8 @@ void InitializeOutputDistRot(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_DZOBLDTDISTROT] = &WriteBodyDZoblDtDistRot; fvFormattedString(&output[OUT_XOBLTIMEDISTROT].cName, "XoblTimeDistRot"); - fvFormattedString(&output[OUT_XOBLTIMEDISTROT].cDescr, "Xobl timescale in DistRot"); + fvFormattedString(&output[OUT_XOBLTIMEDISTROT].cDescr, + "Xobl timescale in DistRot"); fvFormattedString(&output[OUT_XOBLTIMEDISTROT].cNeg, "year"); output[OUT_XOBLTIMEDISTROT].bNeg = 1; output[OUT_XOBLTIMEDISTROT].dNeg = 1. / YEARSEC; @@ -1564,7 +1576,8 @@ void InitializeOutputDistRot(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_XOBLTIMEDISTROT] = &WriteXoblTimeDistRot; fvFormattedString(&output[OUT_YOBLTIMEDISTROT].cName, "YoblTimeDistRot"); - fvFormattedString(&output[OUT_YOBLTIMEDISTROT].cDescr, "Yobl timescale in DistRot"); + fvFormattedString(&output[OUT_YOBLTIMEDISTROT].cDescr, + "Yobl timescale in DistRot"); fvFormattedString(&output[OUT_YOBLTIMEDISTROT].cNeg, "year"); output[OUT_YOBLTIMEDISTROT].bNeg = 1; output[OUT_YOBLTIMEDISTROT].dNeg = 1. / YEARSEC; @@ -1573,7 +1586,8 @@ void InitializeOutputDistRot(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_YOBLTIMEDISTROT] = &WriteYoblTimeDistRot; fvFormattedString(&output[OUT_ZOBLTIMEDISTROT].cName, "ZoblTimeDistRot"); - fvFormattedString(&output[OUT_ZOBLTIMEDISTROT].cDescr, "Zobl timescale in DistRot"); + fvFormattedString(&output[OUT_ZOBLTIMEDISTROT].cDescr, + "Zobl timescale in DistRot"); fvFormattedString(&output[OUT_ZOBLTIMEDISTROT].cNeg, "year"); output[OUT_ZOBLTIMEDISTROT].bNeg = 1; output[OUT_ZOBLTIMEDISTROT].dNeg = 1. / YEARSEC; @@ -1582,7 +1596,8 @@ void InitializeOutputDistRot(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_ZOBLTIMEDISTROT] = &WriteZoblTimeDistRot; fvFormattedString(&output[OUT_OBLTIMEDISTROT].cName, "OblTimeDistRot"); - fvFormattedString(&output[OUT_OBLTIMEDISTROT].cDescr, "Obliquity timescale in DistRot"); + fvFormattedString(&output[OUT_OBLTIMEDISTROT].cDescr, + "Obliquity timescale in DistRot"); fvFormattedString(&output[OUT_OBLTIMEDISTROT].cNeg, "year"); output[OUT_OBLTIMEDISTROT].bNeg = 1; output[OUT_OBLTIMEDISTROT].dNeg = 1. / YEARSEC; @@ -1592,7 +1607,7 @@ void InitializeOutputDistRot(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_PRECATIMEDISTROT].cName, "PrecATimeDistRot"); fvFormattedString(&output[OUT_PRECATIMEDISTROT].cDescr, - "Axial precession timescale in DistRot"); + "Axial precession timescale in DistRot"); fvFormattedString(&output[OUT_PRECATIMEDISTROT].cNeg, "year"); output[OUT_PRECATIMEDISTROT].bNeg = 1; output[OUT_PRECATIMEDISTROT].dNeg = 1. / YEARSEC; @@ -1601,30 +1616,34 @@ void InitializeOutputDistRot(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_PRECATIMEDISTROT] = &WritePrecATimeDistRot; fvFormattedString(&output[OUT_CASS1].cName, "CassiniOne"); - fvFormattedString(&output[OUT_CASS1].cDescr, - "First Cassini parameter (misalignment of Cassini state vectors)"); + fvFormattedString( + &output[OUT_CASS1].cDescr, + "First Cassini parameter (misalignment of Cassini state vectors)"); output[OUT_CASS1].bNeg = 0; output[OUT_CASS1].iNum = 1; output[OUT_CASS1].iModuleBit = DISTROT; fnWrite[OUT_CASS1] = &WriteBodyCassOne; fvFormattedString(&output[OUT_CASS2].cName, "CassiniTwo"); - fvFormattedString(&output[OUT_CASS2].cDescr, - "Second Cassini parameter (alignment of Cassini state vectors"); + fvFormattedString( + &output[OUT_CASS2].cDescr, + "Second Cassini parameter (alignment of Cassini state vectors"); output[OUT_CASS2].bNeg = 0; output[OUT_CASS2].iNum = 1; output[OUT_CASS2].iModuleBit = DISTROT; fnWrite[OUT_CASS2] = &WriteBodyCassTwo; fvFormattedString(&output[OUT_DYNELLIP].cName, "DynEllip"); - fvFormattedString(&output[OUT_DYNELLIP].cDescr, "dynamical ellipticity of planet"); + fvFormattedString(&output[OUT_DYNELLIP].cDescr, + "dynamical ellipticity of planet"); output[OUT_DYNELLIP].bNeg = 0; output[OUT_DYNELLIP].iNum = 1; output[OUT_DYNELLIP].iModuleBit = DISTROT; fnWrite[OUT_DYNELLIP] = &WriteDynEllip; fvFormattedString(&output[OUT_PRECFNAT].cName, "PrecFNat"); - fvFormattedString(&output[OUT_PRECFNAT].cDescr, "natural precession freq of planet"); + fvFormattedString(&output[OUT_PRECFNAT].cDescr, + "natural precession freq of planet"); output[OUT_PRECFNAT].bNeg = 0; output[OUT_PRECFNAT].iNum = 1; output[OUT_PRECFNAT].iModuleBit = DISTROT; diff --git a/src/eqtide.c b/src/eqtide.c index de5c84e59..aa0c7549c 100644 --- a/src/eqtide.c +++ b/src/eqtide.c @@ -16,8 +16,8 @@ void InitializeControlEqtide(CONTROL *control, int iBody) { /* XXX We only want to initialize these values once, but if the user fails to instantiate eqtide for body 0, then the code segaults and fixing this is - hard. So we just re-malloc. This block of code causes memory to be permanently - lost, so should be fixed someday! + hard. So we just re-malloc. This block of code causes memory to be + permanently lost, so should be fixed someday! */ control->Evolve.bForceEqSpin = malloc(control->Evolve.iNumBodies * sizeof(int)); @@ -720,7 +720,7 @@ void InitializeOptionsEqtide(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_DISCRETEROT].cName, "bDiscreteRot"); fvFormattedString(&options[OPT_DISCRETEROT].cDescr, - "Use Discrete Rotation Model (Phase lag only)"); + "Use Discrete Rotation Model (Phase lag only)"); fvFormattedString(&options[OPT_DISCRETEROT].cDefault, "1"); options[OPT_DISCRETEROT].iType = 0; fnRead[OPT_DISCRETEROT] = &ReadDiscreteRot; @@ -745,36 +745,41 @@ void InitializeOptionsEqtide(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_FIXORBIT].iType = 0; options[OPT_FIXORBIT].bMultiFile = 1; fnRead[OPT_FIXORBIT] = &ReadFixOrbit; - fvFormattedString(&options[OPT_FIXORBIT].cLongDescr, - "In EqTide, setting this value to 1 holds the eccentricity and " - "semi-major \n" - "axis fixed during the evolution. This option can be helpful for " - "testing \n" - "or for faking planet-planet perturbations that maintain an " - "eccentricity. \n" - "(Although a bFixEcc option would probably be better!)\n"); + fvFormattedString( + &options[OPT_FIXORBIT].cLongDescr, + "In EqTide, setting this value to 1 holds the eccentricity and " + "semi-major \n" + "axis fixed during the evolution. This option can be helpful for " + "testing \n" + "or for faking planet-planet perturbations that maintain an " + "eccentricity. \n" + "(Although a bFixEcc option would probably be better!)\n"); fvFormattedString(&options[OPT_MAXLOCKDIFF].cName, "dMaxLockDiff"); - fvFormattedString(&options[OPT_FORCEEQSPIN].cName, "bForceEqSpin"); // for LongDescr - fvFormattedString(&options[OPT_MAXLOCKDIFF].cDescr, - "Maximum relative difference between spin and equilibrium spin rates " - "to force equilibrium rate"); + fvFormattedString(&options[OPT_FORCEEQSPIN].cName, + "bForceEqSpin"); // for LongDescr + fvFormattedString( + &options[OPT_MAXLOCKDIFF].cDescr, + "Maximum relative difference between spin and equilibrium spin rates " + "to force equilibrium rate"); fvFormattedString(&options[OPT_MAXLOCKDIFF].cDefault, "0"); fvFormattedString(&options[OPT_MAXLOCKDIFF].cDimension, "nd"); options[OPT_MAXLOCKDIFF].dDefault = 0; options[OPT_MAXLOCKDIFF].iType = 2; options[OPT_MAXLOCKDIFF].bMultiFile = 1; fnRead[OPT_MAXLOCKDIFF] = &ReadMaxLockDiff; - fvFormattedString(&options[OPT_MAXLOCKDIFF].cLongDescr, - "In EqTide, this is the maximum relative difference between the " - "actual \n" - "spin rate and the equilibrium spin rate without tidal locking. See " - "%s \n" - "for more information. %s must be set to 1 to enable this option.", - options[OPT_FORCEEQSPIN].cName, options[OPT_FORCEEQSPIN].cName); + fvFormattedString( + &options[OPT_MAXLOCKDIFF].cLongDescr, + "In EqTide, this is the maximum relative difference between the " + "actual \n" + "spin rate and the equilibrium spin rate without tidal locking. See " + "%s \n" + "for more information. %s must be set to 1 to enable this option.", + options[OPT_FORCEEQSPIN].cName, options[OPT_FORCEEQSPIN].cName); // cName defined above - fvFormattedString(&options[OPT_FORCEEQSPIN].cDescr, "Force Spin Rate to Equilibrium?"); + fvFormattedString(&options[OPT_FORCEEQSPIN].cDescr, + "Force Spin Rate to Equilibrium?"); fvFormattedString(&options[OPT_FORCEEQSPIN].cDefault, "0"); options[OPT_FORCEEQSPIN].iType = 0; options[OPT_FORCEEQSPIN].bMultiFile = 1; @@ -799,7 +804,8 @@ void InitializeOptionsEqtide(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_MAXLOCKDIFF].cName); fvFormattedString(&options[OPT_HALTDBLSYNC].cName, "bHaltDblSync"); - fvFormattedString(&options[OPT_HALTDBLSYNC].cDescr, "Halt at Double Synchronous State?"); + fvFormattedString(&options[OPT_HALTDBLSYNC].cDescr, + "Halt at Double Synchronous State?"); fvFormattedString(&options[OPT_HALTDBLSYNC].cDefault, "0"); options[OPT_HALTDBLSYNC].iType = 0; fnRead[OPT_HALTDBLSYNC] = &ReadHaltDblSync; @@ -824,7 +830,7 @@ void InitializeOptionsEqtide(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_HALTSYNCROT].cName, "bHaltSyncRot"); fvFormattedString(&options[OPT_HALTSYNCROT].cDescr, - "Halt if the rotation becomes syncrhonous?"); + "Halt if the rotation becomes syncrhonous?"); fvFormattedString(&options[OPT_HALTSYNCROT].cDefault, "0"); options[OPT_HALTSYNCROT].iType = 0; options[OPT_HALTSYNCROT].bMultiFile = 1; @@ -840,7 +846,8 @@ void InitializeOptionsEqtide(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_K2] = &ReadK2; fvFormattedString(&options[OPT_K2OCEAN].cName, "dK2Ocean"); - fvFormattedString(&options[OPT_K2OCEAN].cDescr, "Ocean's Love Number of Degree 2"); + fvFormattedString(&options[OPT_K2OCEAN].cDescr, + "Ocean's Love Number of Degree 2"); fvFormattedString(&options[OPT_K2OCEAN].cDefault, "0.05"); fvFormattedString(&options[OPT_K2OCEAN].cDimension, "nd"); options[OPT_K2OCEAN].dDefault = 0.01; @@ -849,7 +856,8 @@ void InitializeOptionsEqtide(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_K2OCEAN] = &ReadK2Ocean; fvFormattedString(&options[OPT_K2ENV].cName, "dK2Env"); - fvFormattedString(&options[OPT_K2ENV].cDescr, "Envelope's Love Number of Degree 2"); + fvFormattedString(&options[OPT_K2ENV].cDescr, + "Envelope's Love Number of Degree 2"); fvFormattedString(&options[OPT_K2ENV].cDefault, "0.01"); fvFormattedString(&options[OPT_K2ENV].cDimension, "nd"); options[OPT_K2ENV].dDefault = 0.01; @@ -858,9 +866,10 @@ void InitializeOptionsEqtide(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_K2ENV] = &ReadK2Env; fvFormattedString(&options[OPT_MAXLOCKDIFF].cName, "dMaxLockDiff"); - fvFormattedString(&options[OPT_MAXLOCKDIFF].cDescr, - "Maximum relative difference between spin and equilibrium spin rates " - "to force equilibrium spin rate"); + fvFormattedString( + &options[OPT_MAXLOCKDIFF].cDescr, + "Maximum relative difference between spin and equilibrium spin rates " + "to force equilibrium spin rate"); fvFormattedString(&options[OPT_MAXLOCKDIFF].cDefault, "0"); fvFormattedString(&options[OPT_MAXLOCKDIFF].cDimension, "nd"); options[OPT_MAXLOCKDIFF].dDefault = 0; @@ -869,14 +878,16 @@ void InitializeOptionsEqtide(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_MAXLOCKDIFF] = &ReadMaxLockDiff; fvFormattedString(&options[OPT_OCEANTIDES].cName, "bOceanTides"); - fvFormattedString(&options[OPT_OCEANTIDES].cDescr, "Include effects of ocean tides?"); + fvFormattedString(&options[OPT_OCEANTIDES].cDescr, + "Include effects of ocean tides?"); fvFormattedString(&options[OPT_OCEANTIDES].cDefault, "0"); options[OPT_OCEANTIDES].iType = 0; options[OPT_OCEANTIDES].bMultiFile = 1; fnRead[OPT_OCEANTIDES] = &ReadEqtideOceanTides; fvFormattedString(&options[OPT_MANTLETIDES].cName, "bMantleTides"); - fvFormattedString(&options[OPT_MANTLETIDES].cDescr, "Include effects of mantle tides?"); + fvFormattedString(&options[OPT_MANTLETIDES].cDescr, + "Include effects of mantle tides?"); fvFormattedString(&options[OPT_MANTLETIDES].cDefault, "0"); options[OPT_MANTLETIDES].iType = 0; options[OPT_MANTLETIDES].bMultiFile = 1; @@ -885,7 +896,7 @@ void InitializeOptionsEqtide(OPTIONS *options, fnReadOption fnRead[]) { // XXX What does this option do? fvFormattedString(&options[OPT_USETIDALRADIUS].cName, "bUseTidalRadius"); fvFormattedString(&options[OPT_USETIDALRADIUS].cDescr, - "Fix radius used for CPL tidal equations?"); + "Fix radius used for CPL tidal equations?"); fvFormattedString(&options[OPT_USETIDALRADIUS].cDefault, "0"); options[OPT_USETIDALRADIUS].iType = 0; options[OPT_USETIDALRADIUS].bMultiFile = 1; @@ -893,7 +904,7 @@ void InitializeOptionsEqtide(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_ENVTIDES].cName, "bEnvTides"); fvFormattedString(&options[OPT_ENVTIDES].cDescr, - "Include effects of gaseous envelope tides?"); + "Include effects of gaseous envelope tides?"); fvFormattedString(&options[OPT_ENVTIDES].cDefault, "0"); options[OPT_ENVTIDES].iType = 0; options[OPT_ENVTIDES].bMultiFile = 1; @@ -901,7 +912,7 @@ void InitializeOptionsEqtide(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_SYNCECC].cName, "dSyncEcc"); fvFormattedString(&options[OPT_SYNCECC].cDescr, - "Minimum Eccentricity for Non-Synchronous Rotation"); + "Minimum Eccentricity for Non-Synchronous Rotation"); fvFormattedString(&options[OPT_SYNCECC].cDefault, "0"); fvFormattedString(&options[OPT_SYNCECC].cDimension, "nd"); options[OPT_SYNCECC].dDefault = 0; @@ -919,7 +930,8 @@ void InitializeOptionsEqtide(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_TIDALQ] = &ReadTidalQ; fvFormattedString(&options[OPT_TIDALQOCEAN].cName, "dTidalQOcean"); - fvFormattedString(&options[OPT_TIDALQOCEAN].cDescr, "Ocean Tidal Quality Factor"); + fvFormattedString(&options[OPT_TIDALQOCEAN].cDescr, + "Ocean Tidal Quality Factor"); fvFormattedString(&options[OPT_TIDALQOCEAN].cDefault, "12"); fvFormattedString(&options[OPT_TIDALQOCEAN].cDimension, "nd"); options[OPT_TIDALQOCEAN].dDefault = 12; @@ -928,7 +940,8 @@ void InitializeOptionsEqtide(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_TIDALQOCEAN] = &ReadTidalQOcean; fvFormattedString(&options[OPT_TIDALQENV].cName, "dTidalQEnv"); - fvFormattedString(&options[OPT_TIDALQENV].cDescr, "Envelope Tidal Quality Factor"); + fvFormattedString(&options[OPT_TIDALQENV].cDescr, + "Envelope Tidal Quality Factor"); fvFormattedString(&options[OPT_TIDALQENV].cDefault, "1.0e4"); fvFormattedString(&options[OPT_TIDALQENV].cDimension, "nd"); options[OPT_TIDALQENV].dDefault = 1.0e4; @@ -949,22 +962,22 @@ void InitializeOptionsEqtide(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_TIDEMODEL].cName, "sTideModel"); fvFormattedString(&options[OPT_TIDEMODEL].cDescr, - "Tidal Model: p2 [constant-phase-lag, 2nd order] t8 " - "[constant-time-lag, 8th order]"); + "Tidal Model: p2 [constant-phase-lag, 2nd order] t8 " + "[constant-time-lag, 8th order]"); fvFormattedString(&options[OPT_TIDEMODEL].cDefault, "p2"); options[OPT_TIDEMODEL].iType = 3; fnRead[OPT_TIDEMODEL] = &ReadTideModel; fvFormattedString(&options[OPT_TIDEPERTS].cName, "saTidePerts"); fvFormattedString(&options[OPT_TIDEPERTS].cDescr, - "Names of bodies engaged in tidal evolution"); + "Names of bodies engaged in tidal evolution"); fvFormattedString(&options[OPT_TIDEPERTS].cDefault, "none"); options[OPT_TIDEPERTS].iType = 13; fnRead[OPT_TIDEPERTS] = &ReadTidePerts; fvFormattedString(&options[OPT_OCEANTIDES].cName, "bOceanTides"); fvFormattedString(&options[OPT_OCEANTIDES].cDescr, - "Include tidal dissapation due to oceans?"); + "Include tidal dissapation due to oceans?"); fvFormattedString(&options[OPT_OCEANTIDES].cDefault, "0"); options[OPT_OCEANTIDES].iType = 0; options[OPT_OCEANTIDES].bMultiFile = 1; @@ -980,7 +993,8 @@ void InitializeOptionsEqtide(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_TIDALQMANTLE] = &ReadTidalQMantle; fvFormattedString(&options[OPT_K2MANTLE].cName, "dK2Mantle"); - fvFormattedString(&options[OPT_K2MANTLE].cDescr, "Mantle's Love Number of Degree 2"); + fvFormattedString(&options[OPT_K2MANTLE].cDescr, + "Mantle's Love Number of Degree 2"); fvFormattedString(&options[OPT_K2MANTLE].cDefault, "0.01"); fvFormattedString(&options[OPT_K2MANTLE].cDimension, "nd"); options[OPT_K2MANTLE].dDefault = 0.01; @@ -1307,7 +1321,8 @@ void VerifyCTL(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, // if (memcmp(files->Outfile[iBody].caCol[iCol], // output[OUT_EQROTPERCONT].cName, // strlen(output[OUT_EQROTPERCONT].cName)) == 0) { - if (strcmp(files->Outfile[iBody].caCol[iCol],output[OUT_EQROTPERCONT].cName) == 0) { + if (strcmp(files->Outfile[iBody].caCol[iCol], + output[OUT_EQROTPERCONT].cName) == 0) { if (control->Io.iVerbose >= VERBINPUT) { fprintf(stderr, "ERROR: Time lag model selected; output %s is not allowed.\n", @@ -1324,7 +1339,8 @@ void VerifyCTL(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, // if (memcmp(files->Outfile[iBody].caCol[iCol], // output[OUT_EQROTPERDISCRETE].cName, // strlen(output[OUT_EQROTPERDISCRETE].cName)) == 0) { - if (strcmp(files->Outfile[iBody].caCol[iCol],output[OUT_EQROTPERDISCRETE].cName) == 0) { + if (strcmp(files->Outfile[iBody].caCol[iCol], + output[OUT_EQROTPERDISCRETE].cName) == 0) { if (control->Io.iVerbose >= VERBINPUT) { fprintf(stderr, "ERROR: Time lag model selected; output %s is not allowed.\n", @@ -1341,7 +1357,8 @@ void VerifyCTL(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, // if (memcmp(files->Outfile[iBody].caCol[iCol], // output[OUT_EQROTRATECONT].cName, // strlen(output[OUT_EQROTRATECONT].cName)) == 0) { - if (strcmp(files->Outfile[iBody].caCol[iCol],output[OUT_EQROTRATECONT].cName) == 0) { + if (strcmp(files->Outfile[iBody].caCol[iCol], + output[OUT_EQROTRATECONT].cName) == 0) { if (control->Io.iVerbose >= VERBINPUT) { fprintf(stderr, "ERROR: Time lag model selected; output %s is not allowed.\n", @@ -1358,7 +1375,8 @@ void VerifyCTL(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, // if (memcmp(files->Outfile[iBody].caCol[iCol], // output[OUT_EQROTRATEDISCRETE].cName, // strlen(output[OUT_EQROTRATEDISCRETE].cName)) == 0) { - if (strcmp(files->Outfile[iBody].caCol[iCol],output[OUT_EQROTRATEDISCRETE].cName) == 0) { + if (strcmp(files->Outfile[iBody].caCol[iCol], + output[OUT_EQROTRATEDISCRETE].cName) == 0) { if (control->Io.iVerbose >= VERBINPUT) { fprintf(stderr, "ERROR: Time lag model selected; output %s is not allowed.\n", @@ -1372,9 +1390,11 @@ void VerifyCTL(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, options[OPT_OUTPUTORDER].iLine[iBody + 1]); } - // if (memcmp(files->Outfile[iBody].caCol[iCol], output[OUT_GAMMAORB].cName, + // if (memcmp(files->Outfile[iBody].caCol[iCol], + // output[OUT_GAMMAORB].cName, // strlen(output[OUT_GAMMAORB].cName)) == 0) { - if (strcmp(files->Outfile[iBody].caCol[iCol], output[OUT_GAMMAORB].cName) == 0) { + if (strcmp(files->Outfile[iBody].caCol[iCol], + output[OUT_GAMMAORB].cName) == 0) { if (control->Io.iVerbose >= VERBINPUT) { fprintf(stderr, "ERROR: Time lag model selected; output %s is not allowed.\n", @@ -1388,9 +1408,11 @@ void VerifyCTL(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, options[OPT_OUTPUTORDER].iLine[iBody + 1]); } - // if (memcmp(files->Outfile[iBody].caCol[iCol], output[OUT_GAMMAROT].cName, + // if (memcmp(files->Outfile[iBody].caCol[iCol], + // output[OUT_GAMMAROT].cName, // strlen(output[OUT_GAMMAROT].cName)) == 0) { - if (strcmp(files->Outfile[iBody].caCol[iCol], output[OUT_GAMMAROT].cName) == 0) { + if (strcmp(files->Outfile[iBody].caCol[iCol], + output[OUT_GAMMAROT].cName) == 0) { if (control->Io.iVerbose >= VERBINPUT) { fprintf(stderr, "ERROR: Time lag model selected; output %s is not allowed.\n", @@ -1406,7 +1428,8 @@ void VerifyCTL(BODY *body, CONTROL *control, FILES *files, OPTIONS *options, // if (memcmp(files->Outfile[iBody].caCol[iCol], output[OUT_TIDALQ].cName, // strlen(output[OUT_TIDALQ].cName)) == 0) { - if (strcmp(files->Outfile[iBody].caCol[iCol], output[OUT_TIDALQ].cName) == 0) { + if (strcmp(files->Outfile[iBody].caCol[iCol], output[OUT_TIDALQ].cName) == + 0) { if (control->Io.iVerbose >= VERBINPUT) { fprintf(stderr, "ERROR: Time lag model selected; output %s is not allowed.\n", @@ -1610,7 +1633,7 @@ void VerifyPerturbersEqtide(BODY *body, FILES *files, OPTIONS *options, for (iBodyPert = 0; iBodyPert < iNumBodies; iBodyPert++) { if (iBodyPert != iBody) { if (strncmp(body[iBody].saTidePerts[iPert], body[iBodyPert].cName, - strlen(body[iBody].saTidePerts[iPert])) == 0) { + strlen(body[iBody].saTidePerts[iPert])) == 0) { /* This parameter contains the body # of the "iPert-th" tidal perturber */ body[iBody].iaTidePerts[iPert] = iBodyPert; @@ -1781,7 +1804,7 @@ void VerifyTideModel(CONTROL *control, FILES *files, OPTIONS *options) { } if (iFound == 0) { - char *cTmp=NULL; + char *cTmp = NULL; fvFormattedString(&cTmp, options[OPT_TIDEMODEL].cDefault); if (!memcmp(sLower(cTmp), "p2", 2)) { control->Evolve.iEqtideModel = CPL; @@ -2309,6 +2332,7 @@ void WriteBodyDsemiDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, */ *dTmp = -1; + fvFormattedString(cUnit, ""); } void WriteBodyDeccDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, @@ -2340,6 +2364,7 @@ void WriteBodyDeccDtEqtide(BODY *body, CONTROL *control, OUTPUT *output, } */ *dTmp = -1; + fvFormattedString(cUnit, ""); } void WriteLockTime(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, @@ -2805,8 +2830,8 @@ void WriteEqTidePower(BODY *body, CONTROL *control, OUTPUT *output, if (body[iBody].iTidePerts == 1) { int iPert = body[iBody].iaTidePerts[0]; *dTmp = fdCPLTidePowerEq(body[iBody].dTidalZ[iPert], body[iBody].dEccSq, - body[iBody].dMeanMotion, body[iBody].dObliquity, - control->Evolve.bDiscreteRot); + body[iBody].dMeanMotion, body[iBody].dObliquity, + control->Evolve.bDiscreteRot); } else { *dTmp = -1; } @@ -2838,7 +2863,7 @@ void WriteGammaOrb(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = -1; /* Negative option? */ - fsUnitsTime(units->iTime,cUnit); + fsUnitsTime(units->iTime, cUnit); } void WriteGammaRot(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, @@ -2854,7 +2879,7 @@ void WriteGammaRot(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, *dTmp = -1; /* Negative option? */ - fsUnitsTime(units->iTime,cUnit); + fsUnitsTime(units->iTime, cUnit); } void WriteK2Ocean(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, @@ -3004,7 +3029,7 @@ void InitializeOutputEqtide(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_BODYDSEMIDTEQTIDE].cName, "BodyDsemiDtEqtide"); fvFormattedString(&output[OUT_BODYDSEMIDTEQTIDE].cDescr, - "Body's Contribution to dSemi/dt in EqTide"); + "Body's Contribution to dSemi/dt in EqTide"); fvFormattedString(&output[OUT_BODYDSEMIDTEQTIDE].cNeg, "AU/Gyr"); output[OUT_BODYDSEMIDTEQTIDE].bNeg = 1; output[OUT_BODYDSEMIDTEQTIDE].dNeg = YEARSEC * 1e9 / AUM; @@ -3020,7 +3045,7 @@ void InitializeOutputEqtide(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_BODYDECCDTEQTIDE].cName, "BodyDeccDt"); fvFormattedString(&output[OUT_BODYDECCDTEQTIDE].cDescr, - "Body's Contribution to dEcc/dt in EqTide"); + "Body's Contribution to dEcc/dt in EqTide"); fvFormattedString(&output[OUT_BODYDECCDTEQTIDE].cNeg, "/Gyr"); output[OUT_BODYDECCDTEQTIDE].bNeg = 1; output[OUT_BODYDECCDTEQTIDE].dNeg = YEARSEC * 1e9; @@ -3035,7 +3060,7 @@ void InitializeOutputEqtide(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_DOBLDTEQTIDE].cName, "DOblDtEqtide"); fvFormattedString(&output[OUT_DOBLDTEQTIDE].cDescr, - "Time Rate of Change of Obliquity in EqTide"); + "Time Rate of Change of Obliquity in EqTide"); fvFormattedString(&output[OUT_DOBLDTEQTIDE].cNeg, "deg/Gyr"); output[OUT_DOBLDTEQTIDE].bNeg = 1; output[OUT_DOBLDTEQTIDE].dNeg = YEARSEC * 1e9 / DEGRAD; @@ -3072,7 +3097,8 @@ void InitializeOutputEqtide(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_TIDALQENV] = WriteTidalQEnv; fvFormattedString(&output[OUT_DSEMIDTEQTIDE].cName, "DsemiDtEqtide"); - fvFormattedString(&output[OUT_DSEMIDTEQTIDE].cDescr, "Total da/dt from EqTide"); + fvFormattedString(&output[OUT_DSEMIDTEQTIDE].cDescr, + "Total da/dt from EqTide"); fvFormattedString(&output[OUT_DSEMIDTEQTIDE].cNeg, "AU/Gyr"); output[OUT_DSEMIDTEQTIDE].bNeg = 1; output[OUT_DSEMIDTEQTIDE].dNeg = (YEARSEC * 1e9) / AUM; @@ -3081,7 +3107,8 @@ void InitializeOutputEqtide(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_DSEMIDTEQTIDE] = &WriteDSemiDtEqtide; fvFormattedString(&output[OUT_DECCDTEQTIDE].cName, "DeccDtEqtide"); - fvFormattedString(&output[OUT_DECCDTEQTIDE].cDescr, "Total de/dt from EqTide"); + fvFormattedString(&output[OUT_DECCDTEQTIDE].cDescr, + "Total de/dt from EqTide"); fvFormattedString(&output[OUT_DECCDTEQTIDE].cNeg, "/Gyr"); output[OUT_DECCDTEQTIDE].bNeg = 1; output[OUT_DECCDTEQTIDE].dNeg = YEARSEC * 1e9; @@ -3090,13 +3117,15 @@ void InitializeOutputEqtide(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_DECCDTEQTIDE] = &WriteDEccDtEqtide; fvFormattedString(&output[OUT_DMMDTEQTIDE].cName, "DMeanMotionDtEqtide"); - fvFormattedString(&output[OUT_DMMDTEQTIDE].cDescr, "Total dMeanMotion/dt from EqTide"); + fvFormattedString(&output[OUT_DMMDTEQTIDE].cDescr, + "Total dMeanMotion/dt from EqTide"); output[OUT_DMMDTEQTIDE].iNum = 1; output[OUT_DMMDTEQTIDE].iModuleBit = EQTIDE; fnWrite[OUT_DMMDTEQTIDE] = &WriteDMeanMotionDtEqtide; fvFormattedString(&output[OUT_DORBPERDTEQTIDE].cName, "DOrbPerDtEqtide"); - fvFormattedString(&output[OUT_DORBPERDTEQTIDE].cDescr, "Total dOrbPer/dt from EqTide"); + fvFormattedString(&output[OUT_DORBPERDTEQTIDE].cDescr, + "Total dOrbPer/dt from EqTide"); fvFormattedString(&output[OUT_DORBPERDTEQTIDE].cNeg, "days/Gyr"); output[OUT_DORBPERDTEQTIDE].bNeg = 1; output[OUT_DORBPERDTEQTIDE].dNeg = YEARSEC * 1e9 / DAYSEC; @@ -3106,7 +3135,7 @@ void InitializeOutputEqtide(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_DROTPERDTEQTIDE].cName, "DRotPerDtEqtide"); fvFormattedString(&output[OUT_DROTPERDTEQTIDE].cDescr, - "Time Rate of Change of Rotation Period in EqTide"); + "Time Rate of Change of Rotation Period in EqTide"); fvFormattedString(&output[OUT_DROTPERDTEQTIDE].cNeg, "days/Myr"); output[OUT_DROTPERDTEQTIDE].bNeg = 1; output[OUT_DROTPERDTEQTIDE].dNeg = DAYSEC / (YEARSEC * 1e6); @@ -3116,7 +3145,7 @@ void InitializeOutputEqtide(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_DROTRATEDTEQTIDE].cName, "DRotRateDtEqtide"); fvFormattedString(&output[OUT_DROTRATEDTEQTIDE].cDescr, - "Time Rate of Change of Rotation Rate in EqTide"); + "Time Rate of Change of Rotation Rate in EqTide"); output[OUT_DROTRATEDTEQTIDE].bNeg = 0; output[OUT_DROTRATEDTEQTIDE].iNum = 1; output[OUT_DROTRATEDTEQTIDE].iModuleBit = EQTIDE; @@ -3124,7 +3153,7 @@ void InitializeOutputEqtide(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_DHECCDTEQTIDE].cName, "DHEccDtEqtide"); fvFormattedString(&output[OUT_DHECCDTEQTIDE].cDescr, - "Time Rate of Change of Poincare's h in EqTide"); + "Time Rate of Change of Poincare's h in EqTide"); fvFormattedString(&output[OUT_DHECCDTEQTIDE].cNeg, "/Gyr"); output[OUT_DHECCDTEQTIDE].bNeg = 1; output[OUT_DHECCDTEQTIDE].dNeg = (1e9 * YEARSEC); @@ -3134,7 +3163,7 @@ void InitializeOutputEqtide(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_DKECCDTEQTIDE].cName, "DKEccDtEqtide"); fvFormattedString(&output[OUT_DKECCDTEQTIDE].cDescr, - "Time Rate of Change of Poincare's k in EqTide"); + "Time Rate of Change of Poincare's k in EqTide"); fvFormattedString(&output[OUT_DKECCDTEQTIDE].cNeg, "/Gyr"); output[OUT_DKECCDTEQTIDE].bNeg = 1; output[OUT_DKECCDTEQTIDE].dNeg = (1e9 * YEARSEC); @@ -3144,7 +3173,7 @@ void InitializeOutputEqtide(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_DXOBLDTEQTIDE].cName, "DXoblDtEqtide"); fvFormattedString(&output[OUT_DXOBLDTEQTIDE].cDescr, - "Time Rate of Change of Laskar's X in EqTide"); + "Time Rate of Change of Laskar's X in EqTide"); fvFormattedString(&output[OUT_DXOBLDTEQTIDE].cNeg, "/Gyr"); output[OUT_DXOBLDTEQTIDE].bNeg = 1; output[OUT_DXOBLDTEQTIDE].dNeg = (1e9 * YEARSEC); @@ -3154,7 +3183,7 @@ void InitializeOutputEqtide(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_DYOBLDTEQTIDE].cName, "DYoblDtEqtide"); fvFormattedString(&output[OUT_DYOBLDTEQTIDE].cDescr, - "Time Rate of Change of Laskar's Y in EqTide"); + "Time Rate of Change of Laskar's Y in EqTide"); fvFormattedString(&output[OUT_DYOBLDTEQTIDE].cNeg, "/Gyr"); output[OUT_DYOBLDTEQTIDE].bNeg = 1; output[OUT_DYOBLDTEQTIDE].dNeg = (1e9 * YEARSEC); @@ -3164,7 +3193,7 @@ void InitializeOutputEqtide(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_DZOBLDTEQTIDE].cName, "DZoblDtEqtide"); fvFormattedString(&output[OUT_DZOBLDTEQTIDE].cDescr, - "Time Rate of Change of Laskar's Z in EqTide"); + "Time Rate of Change of Laskar's Z in EqTide"); fvFormattedString(&output[OUT_DZOBLDTEQTIDE].cNeg, "/Gyr"); output[OUT_DZOBLDTEQTIDE].bNeg = 1; output[OUT_DZOBLDTEQTIDE].dNeg = (1e9 * YEARSEC); @@ -3177,8 +3206,9 @@ void InitializeOutputEqtide(OUTPUT *output, fnWriteOutput fnWrite[]) { */ fvFormattedString(&output[OUT_ECCTIMEEQTIDE].cName, "EccTimeEqtide"); - fvFormattedString(&output[OUT_ECCTIMEEQTIDE].cDescr, - "Timescale for Eccentricity Evolution (e/[de/dt]) in EqTide"); + fvFormattedString( + &output[OUT_ECCTIMEEQTIDE].cDescr, + "Timescale for Eccentricity Evolution (e/[de/dt]) in EqTide"); fvFormattedString(&output[OUT_ECCTIMEEQTIDE].cNeg, "years"); output[OUT_ECCTIMEEQTIDE].bNeg = 1; output[OUT_ECCTIMEEQTIDE].dNeg = 1. / YEARSEC; @@ -3187,7 +3217,8 @@ void InitializeOutputEqtide(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_ECCTIMEEQTIDE] = &WriteEccTimescaleEqtide; fvFormattedString(&output[OUT_EQROTPER].cName, "EqRotPer"); - fvFormattedString(&output[OUT_EQROTPER].cDescr, "Equilibrium Rotation Period"); + fvFormattedString(&output[OUT_EQROTPER].cDescr, + "Equilibrium Rotation Period"); fvFormattedString(&output[OUT_EQROTPER].cNeg, "days"); output[OUT_EQROTPER].bNeg = 1; output[OUT_EQROTPER].dNeg = 1. / DAYSEC; @@ -3197,7 +3228,7 @@ void InitializeOutputEqtide(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_EQROTPERCONT].cName, "EqRotPerCont"); fvFormattedString(&output[OUT_EQROTPERCONT].cDescr, - "CPL2 Continuous Equilibrium Rotation Period"); + "CPL2 Continuous Equilibrium Rotation Period"); fvFormattedString(&output[OUT_EQROTPERCONT].cNeg, "days"); output[OUT_EQROTPERCONT].bNeg = 1; output[OUT_EQROTPERCONT].dNeg = 1. / DAYSEC; @@ -3207,7 +3238,7 @@ void InitializeOutputEqtide(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_EQROTPERDISCRETE].cName, "EqRotPerDiscrete"); fvFormattedString(&output[OUT_EQROTPERDISCRETE].cDescr, - "CPL2 Discrete Equilibrium Spin Period"); + "CPL2 Discrete Equilibrium Spin Period"); fvFormattedString(&output[OUT_EQROTPERDISCRETE].cNeg, "days"); output[OUT_EQROTPERDISCRETE].bNeg = 1; output[OUT_EQROTPERDISCRETE].dNeg = 1. / DAYSEC; @@ -3226,7 +3257,7 @@ void InitializeOutputEqtide(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_EQROTRATECONT].cName, "EqRotRateCont"); fvFormattedString(&output[OUT_EQROTRATECONT].cDescr, - "CPL2 Continuous Equilibrium Spin Rate"); + "CPL2 Continuous Equilibrium Spin Rate"); fvFormattedString(&output[OUT_EQROTRATECONT].cNeg, "/day"); output[OUT_EQROTRATE].bNeg = 1; output[OUT_EQROTRATECONT].dNeg = DAYSEC; @@ -3236,7 +3267,7 @@ void InitializeOutputEqtide(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_EQROTRATEDISCRETE].cName, "EqRotRateDiscrete"); fvFormattedString(&output[OUT_EQROTRATEDISCRETE].cDescr, - "CPL2 Discrete Equilibrium Spin Rate"); + "CPL2 Discrete Equilibrium Spin Rate"); fvFormattedString(&output[OUT_EQROTRATEDISCRETE].cNeg, "/day"); output[OUT_EQROTRATEDISCRETE].bNeg = 1; output[OUT_EQROTRATEDISCRETE].dNeg = DAYSEC; @@ -3245,7 +3276,8 @@ void InitializeOutputEqtide(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_EQROTRATEDISCRETE] = &WriteEqRotRateDiscrete; fvFormattedString(&output[OUT_EQTIDEPOWER].cName, "EqTidePower"); - fvFormattedString(&output[OUT_EQTIDEPOWER].cDescr, "Equilibrium Power from Tides"); + fvFormattedString(&output[OUT_EQTIDEPOWER].cDescr, + "Equilibrium Power from Tides"); fvFormattedString(&output[OUT_EQTIDEPOWER].cNeg, "/day"); output[OUT_EQTIDEPOWER].bNeg = 1; output[OUT_EQTIDEPOWER].dNeg = DAYSEC; @@ -3292,7 +3324,7 @@ void InitializeOutputEqtide(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_OBLTIMEEQTIDE].cName, "OblTimeEqtide"); fvFormattedString(&output[OUT_OBLTIMEEQTIDE].cDescr, - "Timescale for Obliquity Evolution in EqTide"); + "Timescale for Obliquity Evolution in EqTide"); fvFormattedString(&output[OUT_OBLTIMEEQTIDE].cNeg, "years"); output[OUT_OBLTIMEEQTIDE].bNeg = 1; output[OUT_OBLTIMEEQTIDE].dNeg = 1. / YEARSEC; @@ -3306,7 +3338,7 @@ void InitializeOutputEqtide(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_ROTRATETIMEEQTIDE].cName, "RotTimeEqtide"); fvFormattedString(&output[OUT_ROTRATETIMEEQTIDE].cDescr, - "Timescale for Rotational Evolution in EqTide"); + "Timescale for Rotational Evolution in EqTide"); output[OUT_ROTRATETIMEEQTIDE].bNeg = 0; fvFormattedString(&output[OUT_ROTRATETIMEEQTIDE].cNeg, "years"); output[OUT_ROTRATETIMEEQTIDE].bNeg = 1; @@ -3317,7 +3349,7 @@ void InitializeOutputEqtide(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_DROTPERDTEQTIDE].cName, "DRotPerDtEqtide"); fvFormattedString(&output[OUT_DROTPERDTEQTIDE].cDescr, - "Time Rate of Change of Rotation Period in EqTide"); + "Time Rate of Change of Rotation Period in EqTide"); fvFormattedString(&output[OUT_DROTPERDTEQTIDE].cNeg, "days/Myr"); output[OUT_DROTPERDTEQTIDE].bNeg = 1; output[OUT_DROTPERDTEQTIDE].dNeg = DAYSEC / (1e6 * YEARSEC); @@ -3327,7 +3359,7 @@ void InitializeOutputEqtide(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_DROTRATEDTEQTIDE].cName, "DRotRateDtEqtide"); fvFormattedString(&output[OUT_DROTRATEDTEQTIDE].cDescr, - "Time Rate of Change of Rotational Frequency in EqTide"); + "Time Rate of Change of Rotational Frequency in EqTide"); output[OUT_DROTRATEDTEQTIDE].bNeg = 0; output[OUT_DROTRATEDTEQTIDE].iNum = 1; output[OUT_DROTRATEDTEQTIDE].iModuleBit = EQTIDE; @@ -3338,8 +3370,9 @@ void InitializeOutputEqtide(OUTPUT *output, fnWriteOutput fnWrite[]) { */ fvFormattedString(&output[OUT_SEMITIMEEQTIDE].cName, "SemiTimeEqtide"); - fvFormattedString(&output[OUT_SEMITIMEEQTIDE].cDescr, - "Timescale for Semi-major Axis Evolution (a/[da/dt]) in EqTide"); + fvFormattedString( + &output[OUT_SEMITIMEEQTIDE].cDescr, + "Timescale for Semi-major Axis Evolution (a/[da/dt]) in EqTide"); output[OUT_SEMITIMEEQTIDE].bNeg = 0; fvFormattedString(&output[OUT_SEMITIMEEQTIDE].cNeg, "years"); output[OUT_SEMITIMEEQTIDE].bNeg = 1; @@ -3363,7 +3396,7 @@ void InitializeOutputEqtide(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_ENFLUXEQTIDE].cName, "SurfEnFluxEqtide"); fvFormattedString(&output[OUT_ENFLUXEQTIDE].cDescr, - "Surface Energy Flux due to Tides in EqTide"); + "Surface Energy Flux due to Tides in EqTide"); fvFormattedString(&output[OUT_ENFLUXEQTIDE].cNeg, "W/m^2"); output[OUT_ENFLUXEQTIDE].bNeg = 1; output[OUT_ENFLUXEQTIDE].dNeg = 1; @@ -3373,7 +3406,7 @@ void InitializeOutputEqtide(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_POWEREQTIDE].cName, "PowerEqtide"); fvFormattedString(&output[OUT_POWEREQTIDE].cDescr, - "Internal Power due to Tides in EqTide"); + "Internal Power due to Tides in EqTide"); fvFormattedString(&output[OUT_POWEREQTIDE].cNeg, "TW"); output[OUT_POWEREQTIDE].bNeg = 1; output[OUT_POWEREQTIDE].dNeg = 1e-12; @@ -3389,7 +3422,8 @@ void InitializeOutputEqtide(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_TIDELOCK] = &WriteTideLock; fvFormattedString(&output[OUT_LOCKTIME].cName, "LockTime"); - fvFormattedString(&output[OUT_LOCKTIME].cDescr, "Time when body tidally locked."); + fvFormattedString(&output[OUT_LOCKTIME].cDescr, + "Time when body tidally locked."); fvFormattedString(&output[OUT_LOCKTIME].cNeg, "Myr"); output[OUT_LOCKTIME].bNeg = 1; output[OUT_LOCKTIME].dNeg = 1. / (YEARSEC * 1e6); @@ -3979,8 +4013,8 @@ double fdCPLTidePower(BODY *body, int iBody) { // Does this work with DF's changes to da/dt with the synchronous case? // See Fleming et al., 2018 - //fprintf(stderr,"\niBody: %d\n",iBody); - //fprintf(stderr,"TidalZ[%d]: %lf\n",iIndex,body[iBody].dTidalZ[iIndex]); + // fprintf(stderr,"\niBody: %d\n",iBody); + // fprintf(stderr,"TidalZ[%d]: %lf\n",iIndex,body[iBody].dTidalZ[iIndex]); dOrbPow += -body[iBody].dTidalZ[iIndex] / 8 * (4 * body[iBody].iTidalEpsilon[iIndex][0] + @@ -3992,7 +4026,7 @@ double fdCPLTidePower(BODY *body, int iBody) { 4 * sin(body[iBody].dObliquity) * sin(body[iBody].dObliquity) * (body[iBody].iTidalEpsilon[iIndex][0] - body[iBody].iTidalEpsilon[iIndex][8])); - //fprintf(stderr,"dOrbPow: %lf\n",dOrbPow); + // fprintf(stderr,"dOrbPow: %lf\n",dOrbPow); dRotPow += body[iBody].dTidalZ[iIndex] * body[iBody].dRotRate / (8 * body[iOrbiter].dMeanMotion) * @@ -4004,7 +4038,7 @@ double fdCPLTidePower(BODY *body, int iBody) { (-2 * body[iBody].iTidalEpsilon[iIndex][0] + body[iBody].iTidalEpsilon[iIndex][8] + body[iBody].iTidalEpsilon[iIndex][9])); - //fprintf(stderr,"dRotPow: %lf\n",dRotPow); + // fprintf(stderr,"dRotPow: %lf\n",dRotPow); } return dOrbPow + dRotPow; diff --git a/src/galhabit.c b/src/galhabit.c index bee152c8e..2a85a5943 100644 --- a/src/galhabit.c +++ b/src/galhabit.c @@ -555,9 +555,10 @@ void ReadHostBinMass1(BODY *body, CONTROL *control, FILES *files, void InitializeOptionsGalHabit(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_GALACDENSITY].cName, "dGalacDensity"); - fvFormattedString(&options[OPT_GALACDENSITY].cDescr, "Density of galactic environment"); + fvFormattedString(&options[OPT_GALACDENSITY].cDescr, + "Density of galactic environment"); fvFormattedString(&options[OPT_GALACDENSITY].cDefault, - "0.102"); // need to find updated value + "0.102"); // need to find updated value fvFormattedString(&options[OPT_GALACDENSITY].cDimension, "mass/length^3"); options[OPT_GALACDENSITY].dDefault = 0.102; options[OPT_GALACDENSITY].iType = 2; @@ -566,7 +567,7 @@ void InitializeOptionsGalHabit(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_ENCOUNTERRAD].cName, "dEncounterRad"); fvFormattedString(&options[OPT_ENCOUNTERRAD].cDescr, - "Radius at which stellar encounters occur"); + "Radius at which stellar encounters occur"); fvFormattedString(&options[OPT_ENCOUNTERRAD].cDefault, "206265 AU"); fvFormattedString(&options[OPT_ENCOUNTERRAD].cDimension, "length"); options[OPT_ENCOUNTERRAD].dDefault = 206265.0 * AUM; @@ -584,7 +585,8 @@ void InitializeOptionsGalHabit(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_RFORM] = &ReadRForm; fvFormattedString(&options[OPT_TMIGRATION].cName, "dTMigration"); - fvFormattedString(&options[OPT_TMIGRATION].cDescr, "Time of radial migration"); + fvFormattedString(&options[OPT_TMIGRATION].cDescr, + "Time of radial migration"); fvFormattedString(&options[OPT_TMIGRATION].cDefault, "3 Gy"); fvFormattedString(&options[OPT_TMIGRATION].cDimension, "time"); options[OPT_TMIGRATION].dDefault = 3e9 * YEARSEC; @@ -612,7 +614,8 @@ void InitializeOptionsGalHabit(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_GASDENSITY] = &ReadGasDensity; fvFormattedString(&options[OPT_DMDENSITY].cName, "dDMDensity"); - fvFormattedString(&options[OPT_DMDENSITY].cDescr, "Local dark matter density"); + fvFormattedString(&options[OPT_DMDENSITY].cDescr, + "Local dark matter density"); fvFormattedString(&options[OPT_DMDENSITY].cDefault, "0.01 Msun pc^3"); fvFormattedString(&options[OPT_DMDENSITY].cDimension, "mass/length^3"); options[OPT_DMDENSITY].dDefault = 0.01; @@ -621,7 +624,8 @@ void InitializeOptionsGalHabit(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_DMDENSITY] = &ReadDMDensity; fvFormattedString(&options[OPT_STARSCALEL].cName, "dStarScaleL"); - fvFormattedString(&options[OPT_STARSCALEL].cDescr, "Stellar radial scale length in MW"); + fvFormattedString(&options[OPT_STARSCALEL].cDescr, + "Stellar radial scale length in MW"); fvFormattedString(&options[OPT_STARSCALEL].cDefault, "2.4 kpc"); fvFormattedString(&options[OPT_STARSCALEL].cDimension, "length"); options[OPT_STARSCALEL].dDefault = 2.4; @@ -631,7 +635,8 @@ void InitializeOptionsGalHabit(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_STELLARENC].cName, "bStellarEnc"); - fvFormattedString(&options[OPT_STELLARENC].cDescr, "Model stellar encounters?"); + fvFormattedString(&options[OPT_STELLARENC].cDescr, + "Model stellar encounters?"); fvFormattedString(&options[OPT_STELLARENC].cDefault, "1"); options[OPT_STELLARENC].dDefault = 1; options[OPT_STELLARENC].iType = 0; @@ -640,7 +645,7 @@ void InitializeOptionsGalHabit(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_OUTPUTENC].cName, "bOutputEnc"); fvFormattedString(&options[OPT_OUTPUTENC].cDescr, - "Output stellar encounter information?"); + "Output stellar encounter information?"); fvFormattedString(&options[OPT_OUTPUTENC].cDefault, "0"); options[OPT_OUTPUTENC].dDefault = 0; options[OPT_OUTPUTENC].iType = 0; @@ -649,7 +654,7 @@ void InitializeOptionsGalHabit(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_TIMEEVOLVELDISP].cName, "bTimeEvolVelDisp"); fvFormattedString(&options[OPT_TIMEEVOLVELDISP].cDescr, - "Scale velocity dispersion of stars with sqrt(t)?"); + "Scale velocity dispersion of stars with sqrt(t)?"); fvFormattedString(&options[OPT_TIMEEVOLVELDISP].cDefault, "1"); fvFormattedString(&options[OPT_TIMEEVOLVELDISP].cDimension, "length/time"); options[OPT_TIMEEVOLVELDISP].dDefault = 1; @@ -659,7 +664,7 @@ void InitializeOptionsGalHabit(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_HOSTBINARY].cName, "bHostBinary"); fvFormattedString(&options[OPT_HOSTBINARY].cDescr, - "Include 3 body interactions with binary star"); + "Include 3 body interactions with binary star"); fvFormattedString(&options[OPT_HOSTBINARY].cDefault, "0"); options[OPT_HOSTBINARY].dDefault = 0; options[OPT_HOSTBINARY].iType = 0; @@ -674,9 +679,10 @@ void InitializeOptionsGalHabit(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_GALACTIDES].bMultiFile = 0; fnRead[OPT_GALACTIDES] = &ReadGalacTides; - fvFormattedString(&options[OPT_MINSTELLARAPPROACH].cName, "dMinStellarApproach"); + fvFormattedString(&options[OPT_MINSTELLARAPPROACH].cName, + "dMinStellarApproach"); fvFormattedString(&options[OPT_MINSTELLARAPPROACH].cDescr, - "Minimum close approach distance to primary"); + "Minimum close approach distance to primary"); fvFormattedString(&options[OPT_MINSTELLARAPPROACH].cDefault, "1 AU"); fvFormattedString(&options[OPT_MINSTELLARAPPROACH].cDimension, "length"); options[OPT_MINSTELLARAPPROACH].dDefault = AUM; @@ -687,7 +693,8 @@ void InitializeOptionsGalHabit(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_MINSTELLARAPPROACH] = &ReadMinStellarApproach; fvFormattedString(&options[OPT_HOSTBINECC].cName, "dHostBinEcc"); - fvFormattedString(&options[OPT_HOSTBINECC].cDescr, "eccentricity of host binary"); + fvFormattedString(&options[OPT_HOSTBINECC].cDescr, + "eccentricity of host binary"); fvFormattedString(&options[OPT_HOSTBINECC].cDefault, "0.51"); fvFormattedString(&options[OPT_HOSTBINECC].cDimension, "nd"); options[OPT_HOSTBINECC].dDefault = 0.51; @@ -696,7 +703,8 @@ void InitializeOptionsGalHabit(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_HOSTBINECC] = &ReadHostBinEcc; fvFormattedString(&options[OPT_HOSTBINSEMI].cName, "dHostBinSemi"); - fvFormattedString(&options[OPT_HOSTBINSEMI].cDescr, "Semi-major of host binary"); + fvFormattedString(&options[OPT_HOSTBINSEMI].cDescr, + "Semi-major of host binary"); fvFormattedString(&options[OPT_HOSTBINSEMI].cDefault, "17.57 AU"); fvFormattedString(&options[OPT_HOSTBINSEMI].cDimension, "length"); options[OPT_HOSTBINSEMI].dDefault = 17.57 * AUM; @@ -707,7 +715,8 @@ void InitializeOptionsGalHabit(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_HOSTBINSEMI] = &ReadHostBinSemi; fvFormattedString(&options[OPT_HOSTBININC].cName, "dHostBinInc"); - fvFormattedString(&options[OPT_HOSTBININC].cDescr, "inclination of host binary"); + fvFormattedString(&options[OPT_HOSTBININC].cDescr, + "inclination of host binary"); fvFormattedString(&options[OPT_HOSTBININC].cDefault, "60.0 deg"); fvFormattedString(&options[OPT_HOSTBININC].cDimension, "angle"); options[OPT_HOSTBININC].dDefault = 60.0 * DEGRAD; @@ -716,7 +725,8 @@ void InitializeOptionsGalHabit(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_HOSTBININC] = &ReadHostBinInc; fvFormattedString(&options[OPT_HOSTBINARGP].cName, "dHostBinArgP"); - fvFormattedString(&options[OPT_HOSTBINARGP].cDescr, "Arg periapse of host binary"); + fvFormattedString(&options[OPT_HOSTBINARGP].cDescr, + "Arg periapse of host binary"); fvFormattedString(&options[OPT_HOSTBINARGP].cDefault, "0.0"); fvFormattedString(&options[OPT_HOSTBINARGP].cDimension, "angle"); options[OPT_HOSTBINARGP].dDefault = 0.0; @@ -726,7 +736,7 @@ void InitializeOptionsGalHabit(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_HOSTBINLONGA].cName, "dHostBinLongA"); fvFormattedString(&options[OPT_HOSTBINLONGA].cDescr, - "Long of ascending node of host binary"); + "Long of ascending node of host binary"); fvFormattedString(&options[OPT_HOSTBINLONGA].cDefault, "0.0"); fvFormattedString(&options[OPT_HOSTBINLONGA].cDimension, "angle"); options[OPT_HOSTBINLONGA].dDefault = 0.0; @@ -735,7 +745,8 @@ void InitializeOptionsGalHabit(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_HOSTBINLONGA] = &ReadHostBinLongA; fvFormattedString(&options[OPT_HOSTBINMASS1].cName, "dHostBinMass1"); - fvFormattedString(&options[OPT_HOSTBINMASS1].cDescr, "mass of larger host binary star"); + fvFormattedString(&options[OPT_HOSTBINMASS1].cDescr, + "mass of larger host binary star"); fvFormattedString(&options[OPT_HOSTBINMASS1].cDefault, "1.1 Msun"); fvFormattedString(&options[OPT_HOSTBINMASS1].cDimension, "mass"); options[OPT_HOSTBINMASS1].dDefault = 1.1 * MSUN; @@ -1136,7 +1147,8 @@ void VerifyGalHabit(BODY *body, CONTROL *control, FILES *files, if (iBody >= 1) { if (system->bOutputEnc) { - fvFormattedString(&cOut, "%s.%s.Encounters", system->cName, body[iBody].cName); + fvFormattedString(&cOut, "%s.%s.Encounters", system->cName, + body[iBody].cName); fOut = fopen(cOut, "w"); fprintf(fOut, "#time encdt tstart MV mass sigma impx impy impz u_rel v_rel " @@ -1402,6 +1414,7 @@ void WriteBodyEccX(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, char **cUnit) { *dTmp = body[iBody].dEccX; + fvFormattedString(cUnit, ""); } void WriteBodyEccY(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, @@ -1409,6 +1422,7 @@ void WriteBodyEccY(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, char **cUnit) { *dTmp = body[iBody].dEccY; + fvFormattedString(cUnit, ""); } void WriteBodyEccZ(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, @@ -1416,6 +1430,7 @@ void WriteBodyEccZ(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, char **cUnit) { *dTmp = body[iBody].dEccZ; + fvFormattedString(cUnit, ""); } void WriteBodyAngMX(BODY *body, CONTROL *control, OUTPUT *output, @@ -1423,6 +1438,7 @@ void WriteBodyAngMX(BODY *body, CONTROL *control, OUTPUT *output, double *dTmp, char **cUnit) { *dTmp = body[iBody].dAngMX; + fvFormattedString(cUnit, ""); } void WriteBodyAngMY(BODY *body, CONTROL *control, OUTPUT *output, @@ -1430,6 +1446,7 @@ void WriteBodyAngMY(BODY *body, CONTROL *control, OUTPUT *output, double *dTmp, char **cUnit) { *dTmp = body[iBody].dAngMY; + fvFormattedString(cUnit, ""); } void WriteBodyAngMZ(BODY *body, CONTROL *control, OUTPUT *output, @@ -1437,6 +1454,7 @@ void WriteBodyAngMZ(BODY *body, CONTROL *control, OUTPUT *output, double *dTmp, char **cUnit) { *dTmp = body[iBody].dAngMZ; + fvFormattedString(cUnit, ""); } @@ -1445,6 +1463,7 @@ void WriteNEncounters(BODY *body, CONTROL *control, OUTPUT *output, double *dTmp, char **cUnit) { *dTmp = (double)system->iNEncounters; + fvFormattedString(cUnit, ""); } void WriteNBadImpulse(BODY *body, CONTROL *control, OUTPUT *output, @@ -1452,6 +1471,7 @@ void WriteNBadImpulse(BODY *body, CONTROL *control, OUTPUT *output, double *dTmp, char **cUnit) { *dTmp = (double)body[iBody].iBadImpulse; + fvFormattedString(cUnit, ""); } void WriteFVelDisp(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, @@ -1459,6 +1479,7 @@ void WriteFVelDisp(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, char **cUnit) { *dTmp = system->dScalingFVelDisp; + fvFormattedString(cUnit, ""); } void WriteDEccDtGalHTidal(BODY *body, CONTROL *control, OUTPUT *output, @@ -1667,7 +1688,8 @@ void InitializeOutputGalHabit(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_ECCZ] = &WriteBodyEccZ; fvFormattedString(&output[OUT_ANGMX].cName, "AngMX"); - fvFormattedString(&output[OUT_ANGMX].cDescr, "X component of angular mom vector"); + fvFormattedString(&output[OUT_ANGMX].cDescr, + "X component of angular mom vector"); fvFormattedString(&output[OUT_ANGMX].cNeg, " "); output[OUT_ANGMX].bNeg = 0; output[OUT_ANGMX].iNum = 1; @@ -1675,7 +1697,8 @@ void InitializeOutputGalHabit(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_ANGMX] = &WriteBodyAngMX; fvFormattedString(&output[OUT_ANGMY].cName, "AngMY"); - fvFormattedString(&output[OUT_ANGMY].cDescr, "Y component of angular mom vector"); + fvFormattedString(&output[OUT_ANGMY].cDescr, + "Y component of angular mom vector"); fvFormattedString(&output[OUT_ANGMY].cNeg, " "); output[OUT_ANGMY].bNeg = 0; output[OUT_ANGMY].iNum = 1; @@ -1683,7 +1706,8 @@ void InitializeOutputGalHabit(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_ANGMY] = &WriteBodyAngMY; fvFormattedString(&output[OUT_ANGMZ].cName, "AngMZ"); - fvFormattedString(&output[OUT_ANGMZ].cDescr, "Z component of angular mom vector"); + fvFormattedString(&output[OUT_ANGMZ].cDescr, + "Z component of angular mom vector"); fvFormattedString(&output[OUT_ANGMZ].cNeg, " "); output[OUT_ANGMZ].bNeg = 0; output[OUT_ANGMZ].iNum = 1; @@ -1692,7 +1716,7 @@ void InitializeOutputGalHabit(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_NENCOUNTERS].cName, "NEncounters"); fvFormattedString(&output[OUT_NENCOUNTERS].cDescr, - "cumulative number of stellar encounters"); + "cumulative number of stellar encounters"); fvFormattedString(&output[OUT_NENCOUNTERS].cNeg, " "); output[OUT_NENCOUNTERS].bNeg = 0; output[OUT_NENCOUNTERS].iNum = 1; @@ -1701,7 +1725,7 @@ void InitializeOutputGalHabit(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_NBADIMPULSE].cName, "NBadImpulse"); fvFormattedString(&output[OUT_NBADIMPULSE].cDescr, - "cumulative number of questionable encounters"); + "cumulative number of questionable encounters"); fvFormattedString(&output[OUT_NBADIMPULSE].cNeg, " "); output[OUT_NBADIMPULSE].bNeg = 0; output[OUT_NBADIMPULSE].iNum = 1; @@ -1710,7 +1734,7 @@ void InitializeOutputGalHabit(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_FVELDISP].cName, "FVelDisp"); fvFormattedString(&output[OUT_FVELDISP].cDescr, - "Scaling factor for velocity dispersion"); + "Scaling factor for velocity dispersion"); fvFormattedString(&output[OUT_FVELDISP].cNeg, " "); output[OUT_FVELDISP].bNeg = 0; output[OUT_FVELDISP].iNum = 1; @@ -1719,7 +1743,7 @@ void InitializeOutputGalHabit(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_DECCDTGALHTIDAL].cName, "DEccDtGalHTidal"); fvFormattedString(&output[OUT_DECCDTGALHTIDAL].cDescr, - "Body's tidal decc/dt in GalHabit"); + "Body's tidal decc/dt in GalHabit"); fvFormattedString(&output[OUT_DECCDTGALHTIDAL].cNeg, "1/year"); output[OUT_DECCDTGALHTIDAL].bNeg = 1; output[OUT_DECCDTGALHTIDAL].dNeg = YEARSEC; @@ -1728,7 +1752,7 @@ void InitializeOutputGalHabit(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_DINCDTGALHTIDAL].cName, "DIncDtGalHTidal"); fvFormattedString(&output[OUT_DINCDTGALHTIDAL].cDescr, - "Body's tidal dinc/dt in GalHabit"); + "Body's tidal dinc/dt in GalHabit"); fvFormattedString(&output[OUT_DINCDTGALHTIDAL].cNeg, "1/year"); output[OUT_DINCDTGALHTIDAL].bNeg = 1; output[OUT_DINCDTGALHTIDAL].dNeg = YEARSEC / DEGRAD; @@ -1737,7 +1761,7 @@ void InitializeOutputGalHabit(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_DARGPDTGALHTIDAL].cName, "DArgPDtGalHTidal"); fvFormattedString(&output[OUT_DARGPDTGALHTIDAL].cDescr, - "Body's tidal dargp/dt in GalHabit"); + "Body's tidal dargp/dt in GalHabit"); fvFormattedString(&output[OUT_DARGPDTGALHTIDAL].cNeg, "1/year"); output[OUT_DARGPDTGALHTIDAL].bNeg = 1; output[OUT_DARGPDTGALHTIDAL].dNeg = YEARSEC / DEGRAD; @@ -1746,7 +1770,7 @@ void InitializeOutputGalHabit(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_DLONGADTGALHTIDAL].cName, "DLongADtGalHTidal"); fvFormattedString(&output[OUT_DLONGADTGALHTIDAL].cDescr, - "Body's tidal dlonga/dt in GalHabit"); + "Body's tidal dlonga/dt in GalHabit"); fvFormattedString(&output[OUT_DLONGADTGALHTIDAL].cNeg, "1/year"); output[OUT_DLONGADTGALHTIDAL].bNeg = 1; output[OUT_DLONGADTGALHTIDAL].dNeg = YEARSEC / DEGRAD; @@ -1823,7 +1847,7 @@ void PropsAuxGalHabit(BODY *body, EVOLVE *evolve, IO *io, UPDATE *update, body[iBody].dEcc = sqrt(pow(body[iBody].dEccX, 2) + pow(body[iBody].dEccY, 2) + pow(body[iBody].dEccZ, 2)); - + body[iBody].dAngM = sqrt(1.0 - pow(body[iBody].dEcc, 2)); body[iBody].dInc = acos(body[iBody].dAngMZ / body[iBody].dAngM); @@ -1987,7 +2011,8 @@ void ForceBehaviorGalHabit(BODY *body, MODULE *module, EVOLVE *evolve, IO *io, /* write out encounter info */ if (system->bOutputEnc) { - fvFormattedString(&cOut, "%s.%s.Encounters", system->cName, body[iBody].cName); + fvFormattedString(&cOut, "%s.%s.Encounters", system->cName, + body[iBody].cName); fOut = fopen(cOut, "a"); // fprintf(fOut,"#time MV mass sigma impx impy impz u_s v_s w_s u_r v_r // w_r u_sun v_sun w_sun Rx Ry Rz\n"); @@ -2956,7 +2981,7 @@ double fndGalHabitDEccZDtTidal(BODY *body, SYSTEM *system, int *iaBody) { double fndGalHabitDAngMXDtTidal(BODY *body, SYSTEM *system, int *iaBody) { double dJ; - dJ = sqrt((1.0 - pow(body[iaBody[0]].dEcc, 2))); + dJ = sqrt((1.0 - pow(body[iaBody[0]].dEcc, 2))); return sin(body[iaBody[0]].dLongA) * sin(body[iaBody[0]].dInc) * fndGalHabitDJDt(body, system, iaBody) + @@ -2966,7 +2991,7 @@ double fndGalHabitDAngMXDtTidal(BODY *body, SYSTEM *system, int *iaBody) { double fndGalHabitDAngMYDtTidal(BODY *body, SYSTEM *system, int *iaBody) { double dJ; - dJ = sqrt((1.0 - pow(body[iaBody[0]].dEcc, 2))); + dJ = sqrt((1.0 - pow(body[iaBody[0]].dEcc, 2))); return -cos(body[iaBody[0]].dLongA) * sin(body[iaBody[0]].dInc) * fndGalHabitDJDt(body, system, iaBody) + diff --git a/src/magmoc.c b/src/magmoc.c index cea343cf5..f8029c6eb 100644 --- a/src/magmoc.c +++ b/src/magmoc.c @@ -493,27 +493,30 @@ void InitializeOptionsMagmOc(OPTIONS *options, fnReadOption fnRead[]) { /* FeO */ - fvFormattedString(&options[OPT_FEO].cName, "dMassFracFeOIni"); // name of the variable + fvFormattedString(&options[OPT_FEO].cName, + "dMassFracFeOIni"); // name of the variable fvFormattedString(&options[OPT_FEO].cDescr, - "Initial Mass Fraction of FeO in the " - "mantle"); // description that will be shown for vplanet -h - fvFormattedString(&options[OPT_FEO].cDefault, - "BSE Earth: 0.0788"); // comment what the default value will be + "Initial Mass Fraction of FeO in the " + "mantle"); // description that will be shown for vplanet -h + fvFormattedString( + &options[OPT_FEO].cDefault, + "BSE Earth: 0.0788"); // comment what the default value will be fvFormattedString(&options[OPT_FEO].cDimension, "nd"); options[OPT_FEO].iType = 2; // type of the variable: double?? options[OPT_FEO].bMultiFile = 1; // can it be used in multiple files? 1 = yes options[OPT_FEO].dNeg = 1; // is there a unit other than the SI unit? factor // to convert between both units - options[OPT_FEO].dDefault = 0.0788; // default value - fvFormattedString(&options[OPT_FEO].cNeg, "no unit"); // specify unit (for help) - fnRead[OPT_FEO] = &ReadMassFracFeOIni; // link read function from above + options[OPT_FEO].dDefault = 0.0788; // default value + fvFormattedString(&options[OPT_FEO].cNeg, + "no unit"); // specify unit (for help) + fnRead[OPT_FEO] = &ReadMassFracFeOIni; // link read function from above /* Water */ // XXX This probably overlaps with dSurfWaterMass in AtmEsc fvFormattedString(&options[OPT_WATERMASSATM].cName, "dWaterMassAtm"); fvFormattedString(&options[OPT_WATERMASSATM].cDescr, - "Initial Water Mass in the atmosphere"); + "Initial Water Mass in the atmosphere"); fvFormattedString(&options[OPT_WATERMASSATM].cDefault, "1 Terrestrial Ocean"); fvFormattedString(&options[OPT_WATERMASSATM].cDimension, "mass"); options[OPT_WATERMASSATM].iType = 2; @@ -528,7 +531,8 @@ void InitializeOptionsMagmOc(OPTIONS *options, fnReadOption fnRead[]) { /* CO2 */ fvFormattedString(&options[OPT_CO2MASSMOATM].cName, "dCO2MassMOAtm"); - fvFormattedString(&options[OPT_CO2MASSMOATM].cDescr, "Initial CO2 mass in the system"); + fvFormattedString(&options[OPT_CO2MASSMOATM].cDescr, + "Initial CO2 mass in the system"); fvFormattedString(&options[OPT_CO2MASSMOATM].cDefault, "0 TO"); fvFormattedString(&options[OPT_CO2MASSMOATM].cDimension, "mass"); options[OPT_CO2MASSMOATM].iType = 2; @@ -556,7 +560,8 @@ void InitializeOptionsMagmOc(OPTIONS *options, fnReadOption fnRead[]) { /* Density */ fvFormattedString(&options[OPT_MANMELTDENSITY].cName, "dManMeltDensity"); - fvFormattedString(&options[OPT_MANMELTDENSITY].cDescr, "Density of the molten mantle"); + fvFormattedString(&options[OPT_MANMELTDENSITY].cDescr, + "Density of the molten mantle"); fvFormattedString(&options[OPT_MANMELTDENSITY].cDefault, "4000 kg/m^3"); fvFormattedString(&options[OPT_MANMELTDENSITY].cDimension, "mass/length^3"); options[OPT_MANMELTDENSITY].iType = 2; @@ -570,7 +575,7 @@ void InitializeOptionsMagmOc(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_WATERPARTCOEFF].cName, "dWaterPartCoeff"); fvFormattedString(&options[OPT_WATERPARTCOEFF].cDescr, - "Water partition coefficient between melt and solid"); + "Water partition coefficient between melt and solid"); fvFormattedString(&options[OPT_WATERPARTCOEFF].cDefault, "0.01"); fvFormattedString(&options[OPT_WATERPARTCOEFF].cDimension, "nd"); options[OPT_WATERPARTCOEFF].iType = 2; @@ -583,7 +588,8 @@ void InitializeOptionsMagmOc(OPTIONS *options, fnReadOption fnRead[]) { /* Magma Ocean Depth */ fvFormattedString(&options[OPT_DEPTHMO].cName, "dDepthMO"); - fvFormattedString(&options[OPT_DEPTHMO].cDescr, "Initial depth of the magma ocean"); + fvFormattedString(&options[OPT_DEPTHMO].cDescr, + "Initial depth of the magma ocean"); fvFormattedString(&options[OPT_DEPTHMO].cDefault, "core radius"); fvFormattedString(&options[OPT_DEPTHMO].cDimension, "length"); options[OPT_DEPTHMO].iType = 2; @@ -595,45 +601,50 @@ void InitializeOptionsMagmOc(OPTIONS *options, fnReadOption fnRead[]) { /* Halts */ - fvFormattedString(&options[OPT_HALTMANTLESOLIDIFIED].cName, "bHaltMantleSolidified"); + fvFormattedString(&options[OPT_HALTMANTLESOLIDIFIED].cName, + "bHaltMantleSolidified"); fvFormattedString(&options[OPT_HALTMANTLESOLIDIFIED].cDescr, - "Halt when mantle solidified?"); + "Halt when mantle solidified?"); fvFormattedString(&options[OPT_HALTMANTLESOLIDIFIED].cDefault, "0"); options[OPT_HALTMANTLESOLIDIFIED].iType = 0; fnRead[OPT_HALTMANTLESOLIDIFIED] = &ReadHaltMantleSolidified; - fvFormattedString(&options[OPT_HALTMANTLEMELTFRACLOW].cName, "bHaltMantleMeltFracLow"); + fvFormattedString(&options[OPT_HALTMANTLEMELTFRACLOW].cName, + "bHaltMantleMeltFracLow"); fvFormattedString(&options[OPT_HALTMANTLEMELTFRACLOW].cDescr, - "Halt when mantle mostly solidified?"); + "Halt when mantle mostly solidified?"); fvFormattedString(&options[OPT_HALTMANTLEMELTFRACLOW].cDefault, "0"); options[OPT_HALTMANTLEMELTFRACLOW].iType = 0; fnRead[OPT_HALTMANTLEMELTFRACLOW] = &ReadHaltMantleMeltFracLow; - fvFormattedString(&options[OPT_HALTATMDESISRUFCOOL].cName, "bHaltAtmDesiSurfCool"); + fvFormattedString(&options[OPT_HALTATMDESISRUFCOOL].cName, + "bHaltAtmDesiSurfCool"); fvFormattedString(&options[OPT_HALTATMDESISRUFCOOL].cDescr, - "Halt when atmosphere desiccated and surface below 1000K?"); + "Halt when atmosphere desiccated and surface below 1000K?"); fvFormattedString(&options[OPT_HALTATMDESISRUFCOOL].cDefault, "0"); options[OPT_HALTATMDESISRUFCOOL].iType = 0; fnRead[OPT_HALTATMDESISRUFCOOL] = &ReadHaltAtmDesiSurfCool; fvFormattedString(&options[OPT_HALTENTERHABZONE].cName, "bHaltEnterHabZone"); fvFormattedString(&options[OPT_HALTENTERHABZONE].cDescr, - "Halt when planet enters habitable zone?"); + "Halt when planet enters habitable zone?"); fvFormattedString(&options[OPT_HALTENTERHABZONE].cDefault, "0"); options[OPT_HALTENTERHABZONE].iType = 0; fnRead[OPT_HALTENTERHABZONE] = &ReadHaltEnterHabZone; - fvFormattedString(&options[OPT_HALTALLPLANETSSOLID].cName, "bHaltAllPlanetsSolid"); + fvFormattedString(&options[OPT_HALTALLPLANETSSOLID].cName, + "bHaltAllPlanetsSolid"); fvFormattedString(&options[OPT_HALTALLPLANETSSOLID].cDescr, - "Halt when all planets solidified?"); + "Halt when all planets solidified?"); fvFormattedString(&options[OPT_HALTALLPLANETSSOLID].cDefault, "0"); options[OPT_HALTALLPLANETSSOLID].iType = 0; fnRead[OPT_HALTALLPLANETSSOLID] = &ReadHaltAllPlanetsSolid; // XXX Overlap with bHaltSurfaceDesiccated in AtmEsc - fvFormattedString(&options[OPT_HALTALLPLANETSDESICC].cName, "bHaltAllPlanetsDesicc"); + fvFormattedString(&options[OPT_HALTALLPLANETSDESICC].cName, + "bHaltAllPlanetsDesicc"); fvFormattedString(&options[OPT_HALTALLPLANETSDESICC].cDescr, - "Halt when all planets desiccated?"); + "Halt when all planets desiccated?"); fvFormattedString(&options[OPT_HALTALLPLANETSDESICC].cDefault, "0"); options[OPT_HALTALLPLANETSDESICC].iType = 0; fnRead[OPT_HALTALLPLANETSDESICC] = &ReadHaltAllPlanetsDesicc; @@ -641,7 +652,8 @@ void InitializeOptionsMagmOc(OPTIONS *options, fnReadOption fnRead[]) { /* Model options */ fvFormattedString(&options[OPT_RADIOHEATMODEL].cName, "sRadioHeatModel"); - fvFormattedString(&options[OPT_RADIOHEATMODEL].cDescr, "Radiogenic heating model"); + fvFormattedString(&options[OPT_RADIOHEATMODEL].cDescr, + "Radiogenic heating model"); fvFormattedString(&options[OPT_RADIOHEATMODEL].cDefault, "NONE"); options[OPT_RADIOHEATMODEL].iType = 3; options[OPT_RADIOHEATMODEL].bMultiFile = 1; @@ -649,14 +661,15 @@ void InitializeOptionsMagmOc(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_MAGMOCATMMODEL].cName, "sMagmOcAtmModel"); fvFormattedString(&options[OPT_MAGMOCATMMODEL].cDescr, - "Atmospheric flux model: Grey or Petit"); + "Atmospheric flux model: Grey or Petit"); fvFormattedString(&options[OPT_MAGMOCATMMODEL].cDefault, "GREY"); options[OPT_MAGMOCATMMODEL].iType = 3; options[OPT_MAGMOCATMMODEL].bMultiFile = 1; fnRead[OPT_MAGMOCATMMODEL] = &ReadMagmOcAtmModel; fvFormattedString(&options[OPT_MANQUASISOL].cName, "bOptManQuasiSol"); - fvFormattedString(&options[OPT_MANQUASISOL].cDescr, "Solidify when melt frac = 0.4?"); + fvFormattedString(&options[OPT_MANQUASISOL].cDescr, + "Solidify when melt frac = 0.4?"); fvFormattedString(&options[OPT_MANQUASISOL].cDefault, "0"); options[OPT_MANQUASISOL].iType = 0; options[OPT_MANQUASISOL].bMultiFile = 1; @@ -866,9 +879,9 @@ double fndBisection(double (*f)(BODY *, double, int), BODY *body, double dXl, } return dXm; } else { - fprintf(stderr,"ERROR: Tolerance factor <= 0 in fndBisection."); + fprintf(stderr, "ERROR: Tolerance factor <= 0 in fndBisection."); exit(EXIT_INT); - } + } } /** @@ -1810,7 +1823,7 @@ void VerifyPotTemp(BODY *body, OPTIONS *options, UPDATE *update, double dAge, update[iBody].iaType[update[iBody].iPotTemp][0] = 1; update[iBody].iNumBodies[update[iBody].iPotTemp][0] = 1; update[iBody].iaBody[update[iBody].iPotTemp][0] = malloc( - update[iBody].iNumBodies[update[iBody].iPotTemp][0] * sizeof(int)); + update[iBody].iNumBodies[update[iBody].iPotTemp][0] * sizeof(int)); update[iBody].iaBody[update[iBody].iPotTemp][0][0] = iBody; update[iBody].pdDPotTemp = @@ -1822,7 +1835,7 @@ void VerifySurfTemp(BODY *body, OPTIONS *options, UPDATE *update, double dAge, update[iBody].iaType[update[iBody].iSurfTemp][0] = 1; update[iBody].iNumBodies[update[iBody].iSurfTemp][0] = 1; update[iBody].iaBody[update[iBody].iSurfTemp][0] = malloc( - update[iBody].iNumBodies[update[iBody].iSurfTemp][0] * sizeof(int)); + update[iBody].iNumBodies[update[iBody].iSurfTemp][0] * sizeof(int)); update[iBody].iaBody[update[iBody].iSurfTemp][0][0] = iBody; update[iBody].pdDSurfTemp = @@ -1834,7 +1847,7 @@ void VerifySolidRadius(BODY *body, OPTIONS *options, UPDATE *update, update[iBody].iaType[update[iBody].iSolidRadius][0] = 1; update[iBody].iNumBodies[update[iBody].iSolidRadius][0] = 1; update[iBody].iaBody[update[iBody].iSolidRadius][0] = malloc( - update[iBody].iNumBodies[update[iBody].iSolidRadius][0] * sizeof(int)); + update[iBody].iNumBodies[update[iBody].iSolidRadius][0] * sizeof(int)); update[iBody].iaBody[update[iBody].iSolidRadius][0][0] = iBody; update[iBody].pdDSolidRadius = @@ -1859,7 +1872,7 @@ void VerifyWaterMassSol(BODY *body, OPTIONS *options, UPDATE *update, update[iBody].iaType[update[iBody].iWaterMassSol][0] = 1; update[iBody].iNumBodies[update[iBody].iWaterMassSol][0] = 1; update[iBody].iaBody[update[iBody].iWaterMassSol][0] = malloc( - update[iBody].iNumBodies[update[iBody].iWaterMassSol][0] * sizeof(int)); + update[iBody].iNumBodies[update[iBody].iWaterMassSol][0] * sizeof(int)); update[iBody].iaBody[update[iBody].iWaterMassSol][0][0] = iBody; update[iBody].pdDWaterMassSol = @@ -1871,7 +1884,7 @@ void VerifyCO2MassMOAtm(BODY *body, OPTIONS *options, UPDATE *update, update[iBody].iaType[update[iBody].iCO2MassMOAtm][0] = 1; update[iBody].iNumBodies[update[iBody].iCO2MassMOAtm][0] = 1; update[iBody].iaBody[update[iBody].iCO2MassMOAtm][0] = malloc( - update[iBody].iNumBodies[update[iBody].iCO2MassMOAtm][0] * sizeof(int)); + update[iBody].iNumBodies[update[iBody].iCO2MassMOAtm][0] * sizeof(int)); update[iBody].iaBody[update[iBody].iCO2MassMOAtm][0][0] = iBody; update[iBody].pdDCO2MassMOAtm = @@ -1883,7 +1896,7 @@ void VerifyCO2MassSol(BODY *body, OPTIONS *options, UPDATE *update, double dAge, update[iBody].iaType[update[iBody].iCO2MassSol][0] = 1; update[iBody].iNumBodies[update[iBody].iCO2MassSol][0] = 1; update[iBody].iaBody[update[iBody].iCO2MassSol][0] = malloc( - update[iBody].iNumBodies[update[iBody].iCO2MassSol][0] * sizeof(int)); + update[iBody].iNumBodies[update[iBody].iCO2MassSol][0] * sizeof(int)); update[iBody].iaBody[update[iBody].iCO2MassSol][0][0] = iBody; update[iBody].pdDCO2MassSol = @@ -2394,6 +2407,7 @@ void WriteFracFe2O3Man(BODY *body, CONTROL *control, OUTPUT *output, *dTmp *= output->dNeg; fvFormattedString(cUnit, output->cNeg); } else { + fvFormattedString(cUnit, ""); } } @@ -2416,6 +2430,7 @@ void WriteWaterFracMelt(BODY *body, CONTROL *control, OUTPUT *output, *dTmp *= output->dNeg; fvFormattedString(cUnit, output->cNeg); } else { + fvFormattedString(cUnit, ""); } } @@ -2427,6 +2442,7 @@ void WriteCO2FracMelt(BODY *body, CONTROL *control, OUTPUT *output, *dTmp *= output->dNeg; fvFormattedString(cUnit, output->cNeg); } else { + fvFormattedString(cUnit, ""); } } @@ -2481,6 +2497,7 @@ void WriteMeltFraction(BODY *body, CONTROL *control, OUTPUT *output, *dTmp *= output->dNeg; fvFormattedString(cUnit, output->cNeg); } else { + fvFormattedString(cUnit, ""); } } @@ -2488,7 +2505,8 @@ void WriteMeltFraction(BODY *body, CONTROL *control, OUTPUT *output, void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_POTTEMP].cName, "PotTemp"); - fvFormattedString(&output[OUT_POTTEMP].cDescr, "Potential temperature magma ocean"); + fvFormattedString(&output[OUT_POTTEMP].cDescr, + "Potential temperature magma ocean"); fvFormattedString(&output[OUT_POTTEMP].cNeg, "K"); output[OUT_POTTEMP].bNeg = 1; output[OUT_POTTEMP].dNeg = @@ -2498,7 +2516,8 @@ void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_POTTEMP] = &WritePotTemp; fvFormattedString(&output[OUT_SURFTEMP].cName, "SurfTemp"); - fvFormattedString(&output[OUT_SURFTEMP].cDescr, "Surface temperature magma ocean"); + fvFormattedString(&output[OUT_SURFTEMP].cDescr, + "Surface temperature magma ocean"); fvFormattedString(&output[OUT_SURFTEMP].cNeg, "K"); output[OUT_SURFTEMP].bNeg = 1; output[OUT_SURFTEMP].dNeg = @@ -2509,7 +2528,7 @@ void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_SOLIDRADIUS].cName, "SolidRadius"); fvFormattedString(&output[OUT_SOLIDRADIUS].cDescr, - "Solidification radius of the mantle"); + "Solidification radius of the mantle"); fvFormattedString(&output[OUT_SOLIDRADIUS].cNeg, "Rearth"); output[OUT_SOLIDRADIUS].bNeg = 1; output[OUT_SOLIDRADIUS].dNeg = @@ -2520,7 +2539,7 @@ void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_WATERMASSMOATM].cName, "WaterMassMOAtm"); fvFormattedString(&output[OUT_WATERMASSMOATM].cDescr, - "Water mass in magma ocean and atmosphere"); + "Water mass in magma ocean and atmosphere"); fvFormattedString(&output[OUT_WATERMASSMOATM].cNeg, "TO"); output[OUT_WATERMASSMOATM].bNeg = 1; output[OUT_WATERMASSMOATM].dNeg = @@ -2530,7 +2549,8 @@ void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_WATERMASSMOATM] = &WriteWaterMassMOAtm; fvFormattedString(&output[OUT_WATERMASSSOL].cName, "WaterMassSol"); - fvFormattedString(&output[OUT_WATERMASSSOL].cDescr, "Water mass in solidified mantle"); + fvFormattedString(&output[OUT_WATERMASSSOL].cDescr, + "Water mass in solidified mantle"); fvFormattedString(&output[OUT_WATERMASSSOL].cNeg, "TO"); output[OUT_WATERMASSSOL].bNeg = 1; output[OUT_WATERMASSSOL].dNeg = @@ -2541,7 +2561,7 @@ void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_CO2MASSMOATM].cName, "CO2MassMOAtm"); fvFormattedString(&output[OUT_CO2MASSMOATM].cDescr, - "CO2 mass in magma ocean and atmosphere"); + "CO2 mass in magma ocean and atmosphere"); fvFormattedString(&output[OUT_CO2MASSMOATM].cNeg, "kg"); output[OUT_CO2MASSMOATM].bNeg = 1; output[OUT_CO2MASSMOATM].dNeg = @@ -2551,7 +2571,8 @@ void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_CO2MASSMOATM] = &WriteCO2MassMOAtm; fvFormattedString(&output[OUT_CO2MASSSOL].cName, "CO2MassSol"); - fvFormattedString(&output[OUT_CO2MASSSOL].cDescr, "CO2 mass in solidified mantle"); + fvFormattedString(&output[OUT_CO2MASSSOL].cDescr, + "CO2 mass in solidified mantle"); fvFormattedString(&output[OUT_CO2MASSSOL].cNeg, "kg"); output[OUT_CO2MASSSOL].bNeg = 1; output[OUT_CO2MASSSOL].dNeg = @@ -2562,7 +2583,7 @@ void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_OXYGENMASSMOATM].cName, "OxygenMassMOAtm"); fvFormattedString(&output[OUT_OXYGENMASSMOATM].cDescr, - "Oxygen mass in magma ocean and atmosphere"); + "Oxygen mass in magma ocean and atmosphere"); fvFormattedString(&output[OUT_OXYGENMASSMOATM].cNeg, "kg"); output[OUT_OXYGENMASSMOATM].bNeg = 1; output[OUT_OXYGENMASSMOATM].dNeg = @@ -2572,7 +2593,8 @@ void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_OXYGENMASSMOATM] = &WriteOxygenMassMOAtm; fvFormattedString(&output[OUT_OXYGENMASSSOL].cName, "OxygenMassSol"); - fvFormattedString(&output[OUT_OXYGENMASSSOL].cDescr, "Oxygen Mass in solidified mantle"); + fvFormattedString(&output[OUT_OXYGENMASSSOL].cDescr, + "Oxygen Mass in solidified mantle"); fvFormattedString(&output[OUT_OXYGENMASSSOL].cNeg, "kg"); output[OUT_OXYGENMASSSOL].bNeg = 1; output[OUT_OXYGENMASSSOL].dNeg = @@ -2582,7 +2604,8 @@ void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_OXYGENMASSSOL] = &WriteOxygenMassSol; fvFormattedString(&output[OUT_PRESSWATERATM].cName, "PressWaterAtm"); - fvFormattedString(&output[OUT_PRESSWATERATM].cDescr, "Water pressure in atmosphere"); + fvFormattedString(&output[OUT_PRESSWATERATM].cDescr, + "Water pressure in atmosphere"); fvFormattedString(&output[OUT_PRESSWATERATM].cNeg, "bar"); output[OUT_PRESSWATERATM].bNeg = 1; output[OUT_PRESSWATERATM].dNeg = @@ -2592,7 +2615,8 @@ void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_PRESSWATERATM] = &WritePressWaterAtm; fvFormattedString(&output[OUT_PRESSCO2ATM].cName, "PressCO2Atm"); - fvFormattedString(&output[OUT_PRESSCO2ATM].cDescr, "CO2 pressure in atmosphere"); + fvFormattedString(&output[OUT_PRESSCO2ATM].cDescr, + "CO2 pressure in atmosphere"); fvFormattedString(&output[OUT_PRESSCO2ATM].cNeg, "bar"); output[OUT_PRESSCO2ATM].bNeg = 1; output[OUT_PRESSCO2ATM].dNeg = @@ -2602,7 +2626,8 @@ void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_PRESSCO2ATM] = &WritePressCO2Atm; fvFormattedString(&output[OUT_PRESSOXYGENATM].cName, "PressOxygenAtm"); - fvFormattedString(&output[OUT_PRESSOXYGENATM].cDescr, "Oxygen pressure in atmosphere"); + fvFormattedString(&output[OUT_PRESSOXYGENATM].cDescr, + "Oxygen pressure in atmosphere"); fvFormattedString(&output[OUT_PRESSOXYGENATM].cNeg, "bar"); output[OUT_PRESSOXYGENATM].bNeg = 1; output[OUT_PRESSOXYGENATM].dNeg = @@ -2612,7 +2637,8 @@ void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_PRESSOXYGENATM] = &WritePressOxygenAtm; fvFormattedString(&output[OUT_HYDROGENMASSSPACE].cName, "HydrogenMassSpace"); - fvFormattedString(&output[OUT_HYDROGENMASSSPACE].cDescr, "H mass lost to space"); + fvFormattedString(&output[OUT_HYDROGENMASSSPACE].cDescr, + "H mass lost to space"); fvFormattedString(&output[OUT_HYDROGENMASSSPACE].cNeg, "kg"); output[OUT_HYDROGENMASSSPACE].bNeg = 1; output[OUT_HYDROGENMASSSPACE].dNeg = @@ -2622,7 +2648,8 @@ void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_HYDROGENMASSSPACE] = &WriteHydrogenMassSpace; fvFormattedString(&output[OUT_OXYGENMASSSPACE].cName, "OxygenMassSpace"); - fvFormattedString(&output[OUT_OXYGENMASSSPACE].cDescr, "O atoms lost to space"); + fvFormattedString(&output[OUT_OXYGENMASSSPACE].cDescr, + "O atoms lost to space"); fvFormattedString(&output[OUT_OXYGENMASSSPACE].cNeg, "kg"); output[OUT_OXYGENMASSSPACE].bNeg = 1; output[OUT_OXYGENMASSSPACE].dNeg = @@ -2633,14 +2660,15 @@ void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_FRACFE2O3MAN].cName, "FracFe2O3Man"); fvFormattedString(&output[OUT_FRACFE2O3MAN].cDescr, - "Fe2O3 mass fraction in magma ocean"); + "Fe2O3 mass fraction in magma ocean"); output[OUT_FRACFE2O3MAN].bNeg = 1; output[OUT_FRACFE2O3MAN].iNum = 1; output[OUT_FRACFE2O3MAN].iModuleBit = MAGMOC; // name of module fnWrite[OUT_FRACFE2O3MAN] = &WriteFracFe2O3Man; fvFormattedString(&output[OUT_NETFLUXATMO].cName, "NetFluxAtmo"); - fvFormattedString(&output[OUT_NETFLUXATMO].cDescr, "Atmospheric Net Flux (OLR-ASR)"); + fvFormattedString(&output[OUT_NETFLUXATMO].cDescr, + "Atmospheric Net Flux (OLR-ASR)"); fvFormattedString(&output[OUT_NETFLUXATMO].cNeg, "W/m^2"); output[OUT_NETFLUXATMO].bNeg = 1; output[OUT_NETFLUXATMO].iNum = 1; @@ -2649,14 +2677,15 @@ void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_WATERFRACMELT].cName, "WaterFracMelt"); fvFormattedString(&output[OUT_WATERFRACMELT].cDescr, - "water mass fraction in magma ocean"); + "water mass fraction in magma ocean"); output[OUT_WATERFRACMELT].bNeg = 1; output[OUT_WATERFRACMELT].iNum = 1; output[OUT_WATERFRACMELT].iModuleBit = MAGMOC; // name of module fnWrite[OUT_WATERFRACMELT] = &WriteWaterFracMelt; fvFormattedString(&output[OUT_CO2FRACMELT].cName, "CO2FracMelt"); - fvFormattedString(&output[OUT_CO2FRACMELT].cDescr, "CO2 mass fraction in magma ocean"); + fvFormattedString(&output[OUT_CO2FRACMELT].cDescr, + "CO2 mass fraction in magma ocean"); output[OUT_CO2FRACMELT].bNeg = 1; output[OUT_CO2FRACMELT].iNum = 1; output[OUT_CO2FRACMELT].iModuleBit = MAGMOC; // name of module @@ -2665,7 +2694,7 @@ void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { // XXX Overlap with RadPowerMan from thermint fvFormattedString(&output[OUT_RADIOPOWER].cName, "RadioPower"); fvFormattedString(&output[OUT_RADIOPOWER].cDescr, - "Power from radiogenic heating in the mantle"); + "Power from radiogenic heating in the mantle"); fvFormattedString(&output[OUT_RADIOPOWER].cNeg, "TW"); output[OUT_RADIOPOWER].bNeg = 1; output[OUT_RADIOPOWER].dNeg = 1e-12; @@ -2676,7 +2705,7 @@ void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { // XXX Overlap with PowerTidal from Eqtide fvFormattedString(&output[OUT_TIDALPOWER].cName, "TidalPower"); fvFormattedString(&output[OUT_TIDALPOWER].cDescr, - "Power from tidal heating in the mantle"); + "Power from tidal heating in the mantle"); fvFormattedString(&output[OUT_TIDALPOWER].cNeg, "TW"); output[OUT_TIDALPOWER].bNeg = 1; output[OUT_TIDALPOWER].dNeg = 1e-12; @@ -2687,7 +2716,7 @@ void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { // XXX Overlap with HZ outputs in output.c fvFormattedString(&output[OUT_HZINNEREDGE].cName, "HZInnerEdge"); fvFormattedString(&output[OUT_HZINNEREDGE].cDescr, - "Inner Edge of the Habitable Zone (Runaway Greenhouse)"); + "Inner Edge of the Habitable Zone (Runaway Greenhouse)"); fvFormattedString(&output[OUT_HZINNEREDGE].cNeg, "AU"); output[OUT_HZINNEREDGE].bNeg = 1; output[OUT_HZINNEREDGE].dNeg = @@ -2697,7 +2726,8 @@ void InitializeOutputMagmOc(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_HZINNEREDGE] = &WriteHZInnerEdge; fvFormattedString(&output[OUT_MELTFRACTION].cName, "MeltFraction"); - fvFormattedString(&output[OUT_MELTFRACTION].cDescr, "Melt fraction of the magma ocean"); + fvFormattedString(&output[OUT_MELTFRACTION].cDescr, + "Melt fraction of the magma ocean"); output[OUT_MELTFRACTION].bNeg = 1; output[OUT_MELTFRACTION].iNum = 1; output[OUT_MELTFRACTION].iModuleBit = MAGMOC; // name of module diff --git a/src/options.c b/src/options.c index fcd50762b..916257d76 100644 --- a/src/options.c +++ b/src/options.c @@ -1161,6 +1161,10 @@ void ReadInitialOptions(BODY **body, CONTROL *control, FILES *files, ReadVerbose(files, options, &control->Io.iVerbose, iFile); } + if (control->Io.iVerbose >= VERBERR) { + fprintf(stderr, "INFO: Running VPLanet %s.\n", control->sGitVersion); + } + /* Need units prior to any parameter read */ control->Units = malloc(files->iNumInputs * sizeof(UNITS)); diff --git a/src/output.c b/src/output.c index 34528cd3d..38a499244 100644 --- a/src/output.c +++ b/src/output.c @@ -433,6 +433,7 @@ void WriteK2Man(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, } else { *dTmp = -1; } + fvFormattedString(cUnit, ""); } void WriteImK2Man(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, @@ -449,6 +450,7 @@ void WriteImK2Man(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, } else { *dTmp = -1; } + fvFormattedString(cUnit, ""); } void WriteKecc(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, @@ -2100,7 +2102,7 @@ void LogOutputOrder(BODY *body, CONTROL *control, FILES *files, OUTPUT *output, &control->Units[iBody], update, iBody, dTmp, &cUnit); for (iSubOut = 0; iSubOut < output[iOut].iNum; iSubOut++) { cCol[iCol + iSubOut + iExtra] = NULL; - fvFormattedString(&cCol[iCol + iSubOut + iExtra], "%s [%s]", + fvFormattedString(&cCol[iCol + iSubOut + iExtra], "%s[%s]", files->Outfile[iBody].caCol[iCol], cUnit); } iExtra += (output[iOut].iNum - 1); diff --git a/src/radheat.c b/src/radheat.c index 0612b205e..4f7672c29 100644 --- a/src/radheat.c +++ b/src/radheat.c @@ -1770,7 +1770,8 @@ void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[]) { /* 26Al */ fvFormattedString(&options[OPT_26ALMASSMAN].cName, "d26AlMassMan"); - fvFormattedString(&options[OPT_26ALMASSMAN].cDescr, "Initial Mantle Mass of 26Al"); + fvFormattedString(&options[OPT_26ALMASSMAN].cDescr, + "Initial Mantle Mass of 26Al"); fvFormattedString(&options[OPT_26ALMASSMAN].cDefault, "0"); fvFormattedString(&options[OPT_26ALMASSMAN].cDimension, "mass"); options[OPT_26ALMASSMAN].iType = 2; @@ -1781,7 +1782,8 @@ void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_26ALMASSMAN] = &fvRead26AlMassMan; fvFormattedString(&options[OPT_26ALMASSCORE].cName, "d26AlMassCore"); - fvFormattedString(&options[OPT_26ALMASSCORE].cDescr, "Initial Core Mass of 26Al"); + fvFormattedString(&options[OPT_26ALMASSCORE].cDescr, + "Initial Core Mass of 26Al"); fvFormattedString(&options[OPT_26ALMASSCORE].cDefault, "0"); fvFormattedString(&options[OPT_26ALMASSCORE].cDimension, "mass"); options[OPT_26ALMASSCORE].iType = 2; @@ -1793,30 +1795,33 @@ void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_26ALNUMMAN].cName, "d26AlNumMan"); fvFormattedString(&options[OPT_26ALNUMMAN].cDescr, - "Initial Mantle Number of 26Al Atoms"); + "Initial Mantle Number of 26Al Atoms"); fvFormattedString(&options[OPT_26ALNUMMAN].cDefault, "0"); fvFormattedString(&options[OPT_26ALNUMMAN].cDimension, "mass"); options[OPT_26ALNUMMAN].iType = 2; options[OPT_26ALNUMMAN].bMultiFile = 1; options[OPT_26ALNUMMAN].dNeg = ENUMMAN26AL; options[OPT_26ALNUMMAN].dDefault = 0; - fvFormattedString(&options[OPT_26ALNUMMAN].cNeg, "Primordial Earth 26Al Number"); + fvFormattedString(&options[OPT_26ALNUMMAN].cNeg, + "Primordial Earth 26Al Number"); fnRead[OPT_26ALNUMMAN] = &fvRead26AlNumMan; fvFormattedString(&options[OPT_26ALNUMCORE].cName, "d26AlNumCore"); - fvFormattedString(&options[OPT_26ALNUMCORE].cDescr, "Initial Core Number of 26Al Atoms"); + fvFormattedString(&options[OPT_26ALNUMCORE].cDescr, + "Initial Core Number of 26Al Atoms"); fvFormattedString(&options[OPT_26ALNUMCORE].cDefault, "0"); fvFormattedString(&options[OPT_26ALNUMCORE].cDimension, "nd"); options[OPT_26ALNUMCORE].iType = 2; options[OPT_26ALNUMCORE].bMultiFile = 1; options[OPT_26ALNUMCORE].dNeg = ENUMCORE26AL; options[OPT_26ALNUMCORE].dDefault = 0; - fvFormattedString(&options[OPT_26ALNUMCORE].cNeg, "Primordial Earth 26Al Number"); + fvFormattedString(&options[OPT_26ALNUMCORE].cNeg, + "Primordial Earth 26Al Number"); fnRead[OPT_26ALNUMCORE] = &fvRead26AlNumCore; fvFormattedString(&options[OPT_26ALPOWERMAN].cName, "d26AlPowerMan"); fvFormattedString(&options[OPT_26ALPOWERMAN].cDescr, - "Initial Mantle Power Production from 26Al Atoms"); + "Initial Mantle Power Production from 26Al Atoms"); fvFormattedString(&options[OPT_26ALPOWERMAN].cDefault, "0"); fvFormattedString(&options[OPT_26ALPOWERMAN].cDimension, "energy/time"); options[OPT_26ALPOWERMAN].iType = 2; @@ -1828,7 +1833,7 @@ void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_26ALPOWERCORE].cName, "d26AlPowerCore"); fvFormattedString(&options[OPT_26ALPOWERCORE].cDescr, - "Initial Core Power Production from 26Al Atoms"); + "Initial Core Power Production from 26Al Atoms"); fvFormattedString(&options[OPT_26ALPOWERCORE].cDefault, "0"); fvFormattedString(&options[OPT_26ALPOWERCORE].cDimension, "energy/time"); options[OPT_26ALPOWERCORE].iType = 2; @@ -1840,7 +1845,8 @@ void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[]) { /* 40K */ fvFormattedString(&options[OPT_40KMASSMAN].cName, "d40KMassMan"); - fvFormattedString(&options[OPT_40KMASSMAN].cDescr, "Initial Mantle Mass of 40K"); + fvFormattedString(&options[OPT_40KMASSMAN].cDescr, + "Initial Mantle Mass of 40K"); fvFormattedString(&options[OPT_40KMASSMAN].cDefault, "Primordial Earth"); fvFormattedString(&options[OPT_40KMASSMAN].cDimension, "mass"); options[OPT_40KMASSMAN].iType = 2; @@ -1851,8 +1857,10 @@ void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_40KMASSMAN] = &fvRead40KMassMan; fvFormattedString(&options[OPT_40KMASSCORE].cName, "d40KMassCore"); - fvFormattedString(&options[OPT_40KMASSCORE].cDescr, "Initial Core Mass of 40K"); - fvFormattedString(&options[OPT_40KMASSCORE].cDefault, "Primordial Earth Units"); + fvFormattedString(&options[OPT_40KMASSCORE].cDescr, + "Initial Core Mass of 40K"); + fvFormattedString(&options[OPT_40KMASSCORE].cDefault, + "Primordial Earth Units"); fvFormattedString(&options[OPT_40KMASSCORE].cDimension, "mass"); options[OPT_40KMASSCORE].iType = 2; options[OPT_40KMASSCORE].bMultiFile = 1; @@ -1862,7 +1870,8 @@ void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_40KMASSCORE] = &fvRead40KMassCore; fvFormattedString(&options[OPT_40KMASSCRUST].cName, "d40KMassCrust"); - fvFormattedString(&options[OPT_40KMASSCRUST].cDescr, "Initial Crust Mass of 40K"); + fvFormattedString(&options[OPT_40KMASSCRUST].cDescr, + "Initial Crust Mass of 40K"); fvFormattedString(&options[OPT_40KMASSCRUST].cDefault, "Primordial Earth"); fvFormattedString(&options[OPT_40KMASSCRUST].cDimension, "mass"); options[OPT_40KMASSCRUST].iType = 2; @@ -1873,7 +1882,8 @@ void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_40KMASSCRUST] = &fvRead40KMassCrust; fvFormattedString(&options[OPT_40KNUMMAN].cName, "d40KNumMan"); - fvFormattedString(&options[OPT_40KNUMMAN].cDescr, "Initial Mantle Number of 40K Atoms"); + fvFormattedString(&options[OPT_40KNUMMAN].cDescr, + "Initial Mantle Number of 40K Atoms"); fvFormattedString(&options[OPT_40KNUMMAN].cDefault, "Primordial Earth"); fvFormattedString(&options[OPT_40KNUMMAN].cDimension, "nd"); options[OPT_40KNUMMAN].iType = 2; @@ -1884,7 +1894,8 @@ void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_40KNUMMAN] = &fvRead40KNumMan; fvFormattedString(&options[OPT_40KNUMCORE].cName, "d40KNumCore"); - fvFormattedString(&options[OPT_40KNUMCORE].cDescr, "Initial Core Number of 40K Atoms"); + fvFormattedString(&options[OPT_40KNUMCORE].cDescr, + "Initial Core Number of 40K Atoms"); fvFormattedString(&options[OPT_40KNUMCORE].cDefault, "Primordial Earth"); fvFormattedString(&options[OPT_40KNUMCORE].cDimension, "nd"); options[OPT_40KNUMCORE].iType = 2; @@ -1895,7 +1906,8 @@ void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_40KNUMCORE] = &fvRead40KNumCore; fvFormattedString(&options[OPT_40KNUMCRUST].cName, "d40KNumCrust"); - fvFormattedString(&options[OPT_40KNUMCRUST].cDescr, "Initial Crust Number of 40K Atoms"); + fvFormattedString(&options[OPT_40KNUMCRUST].cDescr, + "Initial Crust Number of 40K Atoms"); fvFormattedString(&options[OPT_40KNUMCRUST].cDefault, "Primordial Earth"); fvFormattedString(&options[OPT_40KNUMCRUST].cDimension, "nd"); options[OPT_40KNUMCRUST].iType = 2; @@ -1907,7 +1919,7 @@ void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_40KPOWERMAN].cName, "d40KPowerMan"); fvFormattedString(&options[OPT_40KPOWERMAN].cDescr, - "Initial Mantle Power Production from 40K Atoms"); + "Initial Mantle Power Production from 40K Atoms"); fvFormattedString(&options[OPT_40KPOWERMAN].cDefault, "Primordial Earth"); fvFormattedString(&options[OPT_40KPOWERMAN].cDimension, "energy/time"); options[OPT_40KPOWERMAN].iType = 2; @@ -1919,7 +1931,7 @@ void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_40KPOWERCORE].cName, "d40KPowerCore"); fvFormattedString(&options[OPT_40KPOWERCORE].cDescr, - "Initial Core Power Production from 40K Atoms"); + "Initial Core Power Production from 40K Atoms"); fvFormattedString(&options[OPT_40KPOWERCORE].cDefault, "Primordial Earth"); fvFormattedString(&options[OPT_40KPOWERCORE].cDimension, "energy/time"); options[OPT_40KPOWERCORE].iType = 2; @@ -1931,7 +1943,7 @@ void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_40KPOWERCRUST].cName, "d40KPowerCrust"); fvFormattedString(&options[OPT_40KPOWERCRUST].cDescr, - "Initial Crust Power Production from 40K Atoms"); + "Initial Crust Power Production from 40K Atoms"); fvFormattedString(&options[OPT_40KPOWERCRUST].cDefault, "Primordial Earth"); fvFormattedString(&options[OPT_40KPOWERCRUST].cDimension, "energy/time"); options[OPT_40KPOWERCRUST].iType = 2; @@ -1954,7 +1966,8 @@ void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_232THMASSMAN] = &fvRead232ThMassMan; fvFormattedString(&options[OPT_232THNUMMAN].cName, "d232ThNumMan"); - fvFormattedString(&options[OPT_232THNUMMAN].cDescr, "Initial Number of 232Th Atoms"); + fvFormattedString(&options[OPT_232THNUMMAN].cDescr, + "Initial Number of 232Th Atoms"); fvFormattedString(&options[OPT_232THNUMMAN].cDefault, "Primordial Earth"); fvFormattedString(&options[OPT_232THNUMMAN].cDimension, "nd"); options[OPT_232THNUMMAN].iType = 2; @@ -1966,7 +1979,7 @@ void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_232THPOWERMAN].cName, "d232ThPowerMan"); fvFormattedString(&options[OPT_232THPOWERMAN].cDescr, - "Initial Power Production from 232Th Atoms"); + "Initial Power Production from 232Th Atoms"); fvFormattedString(&options[OPT_232THPOWERMAN].cDefault, "Primordial Earth"); fvFormattedString(&options[OPT_232THPOWERMAN].cDimension, "energy/time"); options[OPT_232THPOWERMAN].iType = 2; @@ -1977,7 +1990,8 @@ void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_232THPOWERMAN] = &fvRead232ThPowerMan; fvFormattedString(&options[OPT_232THMASSCORE].cName, "d232ThMassCore"); - fvFormattedString(&options[OPT_232THMASSCORE].cDescr, "Initial Core Mass of 232Th"); + fvFormattedString(&options[OPT_232THMASSCORE].cDescr, + "Initial Core Mass of 232Th"); fvFormattedString(&options[OPT_232THMASSCORE].cDefault, "Primordial Earth"); fvFormattedString(&options[OPT_232THMASSCORE].cDimension, "mass"); options[OPT_232THMASSCORE].iType = 2; @@ -1989,7 +2003,7 @@ void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_232THNUMCORE].cName, "d232ThNumCore"); fvFormattedString(&options[OPT_232THNUMCORE].cDescr, - "Initial Core Number of 232Th Atoms"); + "Initial Core Number of 232Th Atoms"); fvFormattedString(&options[OPT_232THNUMCORE].cDefault, "Primordial Earth"); fvFormattedString(&options[OPT_232THNUMCORE].cDimension, "nd"); options[OPT_232THNUMCORE].iType = 2; @@ -2001,30 +2015,33 @@ void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_232THPOWERCORE].cName, "d232ThPowerCore"); fvFormattedString(&options[OPT_232THPOWERCORE].cDescr, - "Initial Core Power Production from 232Th Atoms"); + "Initial Core Power Production from 232Th Atoms"); fvFormattedString(&options[OPT_232THPOWERCORE].cDefault, "Primordial Earth"); fvFormattedString(&options[OPT_232THPOWERCORE].cDimension, "energy/time"); options[OPT_232THPOWERCORE].iType = 2; options[OPT_232THPOWERCORE].bMultiFile = 1; options[OPT_232THPOWERCORE].dNeg = EPOWERCORE232TH; // 1e12*1e-7; // cgs options[OPT_232THPOWERCORE].dDefault = EPOWERCORE232TH; - fvFormattedString(&options[OPT_232THPOWERCORE].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_232THPOWERCORE].cNeg, + "Primordial Earth Units"); fnRead[OPT_232THPOWERCORE] = &fvRead232ThPowerCore; fvFormattedString(&options[OPT_232THMASSCRUST].cName, "d232ThMassCrust"); - fvFormattedString(&options[OPT_232THMASSCRUST].cDescr, "Initial Crust Mass of 232Th"); + fvFormattedString(&options[OPT_232THMASSCRUST].cDescr, + "Initial Crust Mass of 232Th"); fvFormattedString(&options[OPT_232THMASSCRUST].cDefault, "Primordial Earth"); fvFormattedString(&options[OPT_232THMASSCRUST].cDimension, "mass"); options[OPT_232THMASSCRUST].iType = 2; options[OPT_232THMASSCRUST].bMultiFile = 1; options[OPT_232THMASSCRUST].dNeg = EMASSCRUST232TH; options[OPT_232THMASSCRUST].dDefault = EMASSCRUST232TH; - fvFormattedString(&options[OPT_232THMASSCRUST].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_232THMASSCRUST].cNeg, + "Primordial Earth Units"); fnRead[OPT_232THMASSCRUST] = &fvRead232ThMassCrust; fvFormattedString(&options[OPT_232THNUMCRUST].cName, "d232ThNumCrust"); fvFormattedString(&options[OPT_232THNUMCRUST].cDescr, - "Initial Crust Number of 232Th Atoms"); + "Initial Crust Number of 232Th Atoms"); fvFormattedString(&options[OPT_232THNUMCRUST].cDefault, "Primordial Earth"); fvFormattedString(&options[OPT_232THNUMCRUST].cDimension, "nd"); options[OPT_232THNUMCRUST].iType = 2; @@ -2036,14 +2053,15 @@ void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_232THPOWERCRUST].cName, "d232ThPowerCrust"); fvFormattedString(&options[OPT_232THPOWERCRUST].cDescr, - "Initial Crust Power Production from 232Th Atoms"); + "Initial Crust Power Production from 232Th Atoms"); fvFormattedString(&options[OPT_232THPOWERCRUST].cDefault, "Primordial Earth"); fvFormattedString(&options[OPT_232THPOWERCRUST].cDimension, "energy/time"); options[OPT_232THPOWERCRUST].iType = 2; options[OPT_232THPOWERCRUST].bMultiFile = 1; options[OPT_232THPOWERCRUST].dNeg = EPOWERCRUST232TH; // 1e12*1e-7; // cgs options[OPT_232THPOWERCRUST].dDefault = EPOWERCRUST232TH; - fvFormattedString(&options[OPT_232THPOWERCRUST].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_232THPOWERCRUST].cNeg, + "Primordial Earth Units"); fnRead[OPT_232THPOWERCRUST] = &fvRead232ThPowerCrust; /* 238U*/ @@ -2059,7 +2077,8 @@ void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_238UMASSMAN] = &fvRead238UMassMan; fvFormattedString(&options[OPT_238UNUMMAN].cName, "d238UNumMan"); - fvFormattedString(&options[OPT_238UNUMMAN].cDescr, "Initial Number of 238U Atoms"); + fvFormattedString(&options[OPT_238UNUMMAN].cDescr, + "Initial Number of 238U Atoms"); fvFormattedString(&options[OPT_238UNUMMAN].cDefault, "Primordial Earth"); fvFormattedString(&options[OPT_238UNUMMAN].cDimension, "nd"); options[OPT_238UNUMMAN].dDefault = 0; @@ -2070,10 +2089,11 @@ void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_238UNUMMAN].cNeg, "Primordial Earth Units"); fnRead[OPT_238UNUMMAN] = &fvRead238UNumMan; - fvFormattedString(&options[OPT_238UPOWERMAN].cName, "d238UPowerMan"); // section added - // PED + fvFormattedString(&options[OPT_238UPOWERMAN].cName, + "d238UPowerMan"); // section added + // PED fvFormattedString(&options[OPT_238UPOWERMAN].cDescr, - "Initial Power Production from 238U Atoms"); + "Initial Power Production from 238U Atoms"); fvFormattedString(&options[OPT_238UPOWERMAN].cDefault, "Primordial Earth"); fvFormattedString(&options[OPT_238UPOWERMAN].cDimension, "energy/time"); options[OPT_238UPOWERMAN].iType = 2; @@ -2084,7 +2104,8 @@ void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_238UPOWERMAN] = &fvRead238UPowerMan; fvFormattedString(&options[OPT_238UMASSCORE].cName, "d238UMassCore"); - fvFormattedString(&options[OPT_238UMASSCORE].cDescr, "Initial Core Mass of 238U"); + fvFormattedString(&options[OPT_238UMASSCORE].cDescr, + "Initial Core Mass of 238U"); fvFormattedString(&options[OPT_238UMASSCORE].cDefault, "Primordial Earth"); fvFormattedString(&options[OPT_238UMASSCORE].cDimension, "mass"); options[OPT_238UMASSCORE].iType = 2; @@ -2095,7 +2116,8 @@ void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_238UMASSCORE] = &fvRead238UMassCore; fvFormattedString(&options[OPT_238UNUMCORE].cName, "d238UNumCore"); - fvFormattedString(&options[OPT_238UNUMCORE].cDescr, "Initial Core Number of 238U Atoms"); + fvFormattedString(&options[OPT_238UNUMCORE].cDescr, + "Initial Core Number of 238U Atoms"); fvFormattedString(&options[OPT_238UNUMCORE].cDefault, "Primordial Earth"); fvFormattedString(&options[OPT_238UNUMCORE].cDimension, "nd"); options[OPT_238UNUMCORE].dDefault = 0; @@ -2107,9 +2129,9 @@ void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_238UNUMCORE] = &fvRead238UNumCore; fvFormattedString(&options[OPT_238UPOWERCORE].cName, - "d238UPowerCore"); // section added PED + "d238UPowerCore"); // section added PED fvFormattedString(&options[OPT_238UPOWERCORE].cDescr, - "Initial Core Power Production from 238U Atoms"); + "Initial Core Power Production from 238U Atoms"); fvFormattedString(&options[OPT_238UPOWERCORE].cDefault, "Primordial Earth"); fvFormattedString(&options[OPT_238UPOWERCORE].cDimension, "energy/time"); options[OPT_238UPOWERCORE].iType = 2; @@ -2120,7 +2142,8 @@ void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_238UPOWERCORE] = &fvRead238UPowerCore; fvFormattedString(&options[OPT_238UMASSCRUST].cName, "d238UMassCrust"); - fvFormattedString(&options[OPT_238UMASSCRUST].cDescr, "Initial Crust Mass of 238U"); + fvFormattedString(&options[OPT_238UMASSCRUST].cDescr, + "Initial Crust Mass of 238U"); fvFormattedString(&options[OPT_238UMASSCRUST].cDefault, "Primordial Earth"); fvFormattedString(&options[OPT_238UMASSCRUST].cDimension, "mass"); options[OPT_238UMASSCRUST].iType = 2; @@ -2132,7 +2155,7 @@ void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_238UNUMCRUST].cName, "d238UNumCrust"); fvFormattedString(&options[OPT_238UNUMCRUST].cDescr, - "Initial Crust Number of 238U Atoms"); + "Initial Crust Number of 238U Atoms"); fvFormattedString(&options[OPT_238UNUMCRUST].cDefault, "Primordial Earth"); fvFormattedString(&options[OPT_238UNUMCRUST].cDimension, "nd"); options[OPT_238UNUMCRUST].dDefault = 0; @@ -2144,16 +2167,17 @@ void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_238UNUMCRUST] = &fvRead238UNumCrust; fvFormattedString(&options[OPT_238UPOWERCRUST].cName, - "d238UPowerCrust"); // section added PED + "d238UPowerCrust"); // section added PED fvFormattedString(&options[OPT_238UPOWERCRUST].cDescr, - "Initial Crust Power Production from 238U Atoms"); + "Initial Crust Power Production from 238U Atoms"); fvFormattedString(&options[OPT_238UPOWERCRUST].cDefault, "Primordial Earth"); fvFormattedString(&options[OPT_238UPOWERCRUST].cDimension, "energy/time"); options[OPT_238UPOWERCRUST].iType = 2; options[OPT_238UPOWERCRUST].bMultiFile = 1; options[OPT_238UPOWERCRUST].dNeg = EPOWERCRUST238U; // 1e12*1e-7; // cgs options[OPT_238UPOWERCRUST].dDefault = EPOWERCRUST238U; - fvFormattedString(&options[OPT_238UPOWERCRUST].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_238UPOWERCRUST].cNeg, + "Primordial Earth Units"); fnRead[OPT_238UPOWERCRUST] = &fvRead238UPowerCrust; /* 235U */ @@ -2169,7 +2193,8 @@ void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_235UMASSMAN] = &fvRead235UMassMan; fvFormattedString(&options[OPT_235UNUMMAN].cName, "d235UNumMan"); // PED - fvFormattedString(&options[OPT_235UNUMMAN].cDescr, "Initial Number of 235U Atoms"); + fvFormattedString(&options[OPT_235UNUMMAN].cDescr, + "Initial Number of 235U Atoms"); fvFormattedString(&options[OPT_235UNUMMAN].cDefault, "Primordial Earth"); fvFormattedString(&options[OPT_235UNUMMAN].cDimension, "nd"); options[OPT_235UNUMMAN].iType = 2; @@ -2179,10 +2204,11 @@ void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_235UNUMMAN].cNeg, "Primordial Earth Units"); fnRead[OPT_235UNUMMAN] = &fvRead235UNumMan; - fvFormattedString(&options[OPT_235UPOWERMAN].cName, "d235UPowerMan"); // section added - // PED + fvFormattedString(&options[OPT_235UPOWERMAN].cName, + "d235UPowerMan"); // section added + // PED fvFormattedString(&options[OPT_235UPOWERMAN].cDescr, - "Initial Power Production from 235U Atoms"); + "Initial Power Production from 235U Atoms"); fvFormattedString(&options[OPT_235UPOWERMAN].cDefault, "Primordial Earth"); fvFormattedString(&options[OPT_235UPOWERMAN].cDimension, "energy/time"); options[OPT_235UPOWERMAN].iType = 2; @@ -2193,7 +2219,8 @@ void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_235UPOWERMAN] = &fvRead235UPowerMan; fvFormattedString(&options[OPT_235UMASSCORE].cName, "d235UMassCore"); - fvFormattedString(&options[OPT_235UMASSCORE].cDescr, "Initial Core Mass of 235U"); + fvFormattedString(&options[OPT_235UMASSCORE].cDescr, + "Initial Core Mass of 235U"); fvFormattedString(&options[OPT_235UMASSCORE].cDefault, "Primordial Earth"); fvFormattedString(&options[OPT_235UMASSCORE].cDimension, "mass"); options[OPT_235UMASSCORE].iType = 2; @@ -2204,7 +2231,8 @@ void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_235UMASSCORE] = &fvRead235UMassCore; fvFormattedString(&options[OPT_235UNUMCORE].cName, "d235UNumCore"); - fvFormattedString(&options[OPT_235UNUMCORE].cDescr, "Initial Core Number of 235U Atoms"); + fvFormattedString(&options[OPT_235UNUMCORE].cDescr, + "Initial Core Number of 235U Atoms"); fvFormattedString(&options[OPT_235UNUMCORE].cDefault, "Primordial Earth"); fvFormattedString(&options[OPT_235UNUMCORE].cDimension, "nd"); options[OPT_235UNUMCORE].iType = 2; @@ -2215,9 +2243,9 @@ void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_235UNUMCORE] = &fvRead235UNumCore; fvFormattedString(&options[OPT_235UPOWERCORE].cName, - "d235UPowerCore"); // section added PED + "d235UPowerCore"); // section added PED fvFormattedString(&options[OPT_235UPOWERCORE].cDescr, - "Initial Core Power Production from 235U Atoms"); + "Initial Core Power Production from 235U Atoms"); fvFormattedString(&options[OPT_235UPOWERCORE].cDefault, "Primordial Earth"); fvFormattedString(&options[OPT_235UPOWERCORE].cDimension, "energy/time"); options[OPT_235UPOWERCORE].iType = 2; @@ -2228,7 +2256,8 @@ void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_235UPOWERCORE] = &fvRead235UPowerCore; fvFormattedString(&options[OPT_235UMASSCRUST].cName, "d235UMassCrust"); - fvFormattedString(&options[OPT_235UMASSCRUST].cDescr, "Initial Crust Mass of 235U"); + fvFormattedString(&options[OPT_235UMASSCRUST].cDescr, + "Initial Crust Mass of 235U"); fvFormattedString(&options[OPT_235UMASSCRUST].cDefault, "Primordial Earth"); fvFormattedString(&options[OPT_235UMASSCRUST].cDimension, "mass"); options[OPT_235UMASSCRUST].iType = 2; @@ -2240,7 +2269,7 @@ void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_235UNUMCRUST].cName, "d235UNumCrust"); fvFormattedString(&options[OPT_235UNUMCRUST].cDescr, - "Initial Crust Number of 235U Atoms"); + "Initial Crust Number of 235U Atoms"); fvFormattedString(&options[OPT_235UNUMCRUST].cDefault, "Primordial Earth"); fvFormattedString(&options[OPT_235UNUMCRUST].cDimension, "nd"); options[OPT_235UNUMCRUST].iType = 2; @@ -2251,16 +2280,17 @@ void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_235UNUMCRUST] = &fvRead235UNumCrust; fvFormattedString(&options[OPT_235UPOWERCRUST].cName, - "d235UPowerCrust"); // section added PED + "d235UPowerCrust"); // section added PED fvFormattedString(&options[OPT_235UPOWERCRUST].cDescr, - "Initial Crust Power Production from 235U Atoms"); + "Initial Crust Power Production from 235U Atoms"); fvFormattedString(&options[OPT_235UPOWERCRUST].cDefault, "Primordial Earth"); fvFormattedString(&options[OPT_235UPOWERCRUST].cDimension, "energy/time"); options[OPT_235UPOWERCRUST].iType = 2; options[OPT_235UPOWERCRUST].bMultiFile = 1; options[OPT_235UPOWERCRUST].dNeg = EPOWERCRUST235U; options[OPT_235UPOWERCRUST].dDefault = EPOWERCRUST235U; - fvFormattedString(&options[OPT_235UPOWERCRUST].cNeg, "Primordial Earth Units"); + fvFormattedString(&options[OPT_235UPOWERCRUST].cNeg, + "Primordial Earth Units"); fnRead[OPT_235UPOWERCRUST] = &fvRead235UPowerCrust; fvFormattedString(&options[OPT_HALT40KPOWER].cName, "dHalt40KPower"); @@ -2308,7 +2338,8 @@ void fvInitializeOptionsRadheat(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_HALT238UPOWER] = &fvReadHalt238UPower; fvFormattedString(&options[OPT_HALTRADPOWER].cName, "dHaltRadPower"); - fvFormattedString(&options[OPT_HALTRADPOWER].cDescr, "Minimum Total Radgiogenic Power"); + fvFormattedString(&options[OPT_HALTRADPOWER].cDescr, + "Minimum Total Radgiogenic Power"); fvFormattedString(&options[OPT_HALTRADPOWER].cDefault, "0"); fvFormattedString(&options[OPT_HALTRADPOWER].cDimension, "energy/time"); options[OPT_HALTRADPOWER].iType = 2; @@ -2618,7 +2649,7 @@ void fvVerify26Al(BODY *body, OPTIONS *options, SYSTEM *system, UPDATE *update, update[iBody].iaType[update[iBody].i26AlCore][0] = 1; update[iBody].iNumBodies[update[iBody].i26AlCore][0] = 1; update[iBody].iaBody[update[iBody].i26AlCore][0] = malloc( - update[iBody].iNumBodies[update[iBody].i26AlCore][0] * sizeof(int)); + update[iBody].iNumBodies[update[iBody].i26AlCore][0] * sizeof(int)); update[iBody].iaBody[update[iBody].i26AlCore][0][0] = iBody; // Initialize derivative so radiogenic power is known at the beginning update[iBody].daDerivProc[update[iBody].i26AlCore][0] = fdD26AlNumCoreDt( @@ -2667,7 +2698,7 @@ void fvVerify40K(BODY *body, OPTIONS *options, SYSTEM *system, UPDATE *update, update[iBody].iaType[update[iBody].i40KCore][0] = 1; update[iBody].iNumBodies[update[iBody].i40KCore][0] = 1; update[iBody].iaBody[update[iBody].i40KCore][0] = malloc( - update[iBody].iNumBodies[update[iBody].i40KCore][0] * sizeof(int)); + update[iBody].iNumBodies[update[iBody].i40KCore][0] * sizeof(int)); update[iBody].iaBody[update[iBody].i40KCore][0][0] = iBody; update[iBody].daDerivProc[update[iBody].i40KCore][0] = fdD40KNumCoreDt( body, system, update[iBody].iaBody[update[iBody].i40KCore][0]); @@ -2682,7 +2713,7 @@ void fvVerify40K(BODY *body, OPTIONS *options, SYSTEM *system, UPDATE *update, update[iBody].iaType[update[iBody].i40KCrust][0] = 1; update[iBody].iNumBodies[update[iBody].i40KCrust][0] = 1; update[iBody].iaBody[update[iBody].i40KCrust][0] = malloc( - update[iBody].iNumBodies[update[iBody].i40KCrust][0] * sizeof(int)); + update[iBody].iNumBodies[update[iBody].i40KCrust][0] * sizeof(int)); update[iBody].iaBody[update[iBody].i40KCrust][0][0] = iBody; update[iBody].daDerivProc[update[iBody].i40KCrust][0] = fdD40KNumCrustDt( body, system, update[iBody].iaBody[update[iBody].i40KCrust][0]); @@ -2711,7 +2742,7 @@ void fvVerify232Th(BODY *body, OPTIONS *options, SYSTEM *system, UPDATE *update, update[iBody].iaType[update[iBody].i232ThMan][0] = 1; update[iBody].iNumBodies[update[iBody].i232ThMan][0] = 1; update[iBody].iaBody[update[iBody].i232ThMan][0] = malloc( - update[iBody].iNumBodies[update[iBody].i232ThMan][0] * sizeof(int)); + update[iBody].iNumBodies[update[iBody].i232ThMan][0] * sizeof(int)); update[iBody].iaBody[update[iBody].i232ThMan][0][0] = iBody; // Initialize derivative so radiogenic power is known at the beginning update[iBody].daDerivProc[update[iBody].i232ThMan][0] = fdD232ThNumManDt( @@ -2727,7 +2758,7 @@ void fvVerify232Th(BODY *body, OPTIONS *options, SYSTEM *system, UPDATE *update, update[iBody].iaType[update[iBody].i232ThCore][0] = 1; update[iBody].iNumBodies[update[iBody].i232ThCore][0] = 1; update[iBody].iaBody[update[iBody].i232ThCore][0] = malloc( - update[iBody].iNumBodies[update[iBody].i232ThCore][0] * sizeof(int)); + update[iBody].iNumBodies[update[iBody].i232ThCore][0] * sizeof(int)); update[iBody].iaBody[update[iBody].i232ThCore][0][0] = iBody; update[iBody].daDerivProc[update[iBody].i232ThCore][0] = fdD232ThNumCoreDt( body, system, update[iBody].iaBody[update[iBody].i232ThCore][0]); @@ -2742,7 +2773,7 @@ void fvVerify232Th(BODY *body, OPTIONS *options, SYSTEM *system, UPDATE *update, update[iBody].iaType[update[iBody].i232ThCrust][0] = 1; update[iBody].iNumBodies[update[iBody].i232ThCrust][0] = 1; update[iBody].iaBody[update[iBody].i232ThCrust][0] = malloc( - update[iBody].iNumBodies[update[iBody].i232ThCrust][0] * sizeof(int)); + update[iBody].iNumBodies[update[iBody].i232ThCrust][0] * sizeof(int)); update[iBody].iaBody[update[iBody].i232ThCrust][0][0] = iBody; update[iBody].daDerivProc[update[iBody].i232ThCrust][0] = fdD232ThNumCrustDt( @@ -2773,7 +2804,7 @@ void fvVerify238U(BODY *body, OPTIONS *options, SYSTEM *system, UPDATE *update, update[iBody].iaType[update[iBody].i238UMan][0] = 1; update[iBody].iNumBodies[update[iBody].i238UMan][0] = 1; update[iBody].iaBody[update[iBody].i238UMan][0] = malloc( - update[iBody].iNumBodies[update[iBody].i238UMan][0] * sizeof(int)); + update[iBody].iNumBodies[update[iBody].i238UMan][0] * sizeof(int)); update[iBody].iaBody[update[iBody].i238UMan][0][0] = iBody; // Initialize derivative so radiogenic power is known at the beginning update[iBody].daDerivProc[update[iBody].i238UMan][0] = fdD238UNumManDt( @@ -2789,7 +2820,7 @@ void fvVerify238U(BODY *body, OPTIONS *options, SYSTEM *system, UPDATE *update, update[iBody].iaType[update[iBody].i238UCore][0] = 1; update[iBody].iNumBodies[update[iBody].i238UCore][0] = 1; update[iBody].iaBody[update[iBody].i238UCore][0] = malloc( - update[iBody].iNumBodies[update[iBody].i238UCore][0] * sizeof(int)); + update[iBody].iNumBodies[update[iBody].i238UCore][0] * sizeof(int)); update[iBody].iaBody[update[iBody].i238UCore][0][0] = iBody; update[iBody].daDerivProc[update[iBody].i238UCore][0] = fdD238UNumCoreDt( body, system, update[iBody].iaBody[update[iBody].i238UCore][0]); @@ -2804,7 +2835,7 @@ void fvVerify238U(BODY *body, OPTIONS *options, SYSTEM *system, UPDATE *update, update[iBody].iaType[update[iBody].i238UCrust][0] = 1; update[iBody].iNumBodies[update[iBody].i238UCrust][0] = 1; update[iBody].iaBody[update[iBody].i238UCrust][0] = malloc( - update[iBody].iNumBodies[update[iBody].i238UCrust][0] * sizeof(int)); + update[iBody].iNumBodies[update[iBody].i238UCrust][0] * sizeof(int)); update[iBody].iaBody[update[iBody].i238UCrust][0][0] = iBody; update[iBody].daDerivProc[update[iBody].i238UCrust][0] = fdD238UNumCrustDt( body, system, update[iBody].iaBody[update[iBody].i238UCrust][0]); @@ -2833,7 +2864,7 @@ void fvVerify235U(BODY *body, OPTIONS *options, SYSTEM *system, UPDATE *update, update[iBody].iaType[update[iBody].i235UMan][0] = 1; update[iBody].iNumBodies[update[iBody].i235UMan][0] = 1; update[iBody].iaBody[update[iBody].i235UMan][0] = malloc( - update[iBody].iNumBodies[update[iBody].i235UMan][0] * sizeof(int)); + update[iBody].iNumBodies[update[iBody].i235UMan][0] * sizeof(int)); update[iBody].iaBody[update[iBody].i235UMan][0][0] = iBody; // Initialize derivative so radiogenic power is known at the beginning update[iBody].daDerivProc[update[iBody].i235UMan][0] = fdD235UNumManDt( @@ -2849,7 +2880,7 @@ void fvVerify235U(BODY *body, OPTIONS *options, SYSTEM *system, UPDATE *update, update[iBody].iaType[update[iBody].i235UCore][0] = 1; update[iBody].iNumBodies[update[iBody].i235UCore][0] = 1; update[iBody].iaBody[update[iBody].i235UCore][0] = malloc( - update[iBody].iNumBodies[update[iBody].i235UCore][0] * sizeof(int)); + update[iBody].iNumBodies[update[iBody].i235UCore][0] * sizeof(int)); update[iBody].iaBody[update[iBody].i235UCore][0][0] = iBody; update[iBody].pdD235UNumCoreDt = &update[iBody].daDerivProc[update[iBody].i235UCore][0]; @@ -2864,7 +2895,7 @@ void fvVerify235U(BODY *body, OPTIONS *options, SYSTEM *system, UPDATE *update, update[iBody].iaType[update[iBody].i235UCrust][0] = 1; update[iBody].iNumBodies[update[iBody].i235UCrust][0] = 1; update[iBody].iaBody[update[iBody].i235UCrust][0] = malloc( - update[iBody].iNumBodies[update[iBody].i235UCrust][0] * sizeof(int)); + update[iBody].iNumBodies[update[iBody].i235UCrust][0] * sizeof(int)); update[iBody].iaBody[update[iBody].i235UCrust][0][0] = iBody; update[iBody].pdD235UNumCrustDt = &update[iBody].daDerivProc[update[iBody].i235UCrust][0]; @@ -3739,6 +3770,7 @@ void fvWrite26AlTimescale(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit) { *dTmp = -1; + fvFormattedString(cUnit, ""); } /** Write radiogenic 26Al mantle mass. @@ -3782,6 +3814,7 @@ void fvWriteD26AlPowerDt(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit) { *dTmp = -1; + fvFormattedString(cUnit, ""); } /** Write radiogenic 26Al mantle number. @@ -3803,8 +3836,9 @@ void fvWrite26AlNumMan(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; fvFormattedString(cUnit, output->cNeg); + } else { + fvFormattedString(cUnit, ""); } - /* else nothing, as it is a number */ } /* Core */ @@ -3879,8 +3913,9 @@ void fvWrite26AlNumCore(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; fvFormattedString(cUnit, output->cNeg); + } else { + fvFormattedString(cUnit, ""); } - /* else nothing, as it is a number */ } /** @@ -4006,6 +4041,7 @@ void fvWrite40KTimescale(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit) { *dTmp = -1; + fvFormattedString(cUnit, ""); } /** Write radiogenic 40K mantle mass. @@ -4050,6 +4086,7 @@ void fvWriteD40KPowerDt(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit) { *dTmp = -1; + fvFormattedString(cUnit, ""); } /** Write radiogenic 40K mantle number. @@ -4071,8 +4108,9 @@ void fvWrite40KNumMan(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; fvFormattedString(cUnit, output->cNeg); + } else { + fvFormattedString(cUnit, ""); } - /* else nothing, as it is a number */ } /* Core */ @@ -4147,8 +4185,9 @@ void fvWrite40KNumCore(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; fvFormattedString(cUnit, output->cNeg); + } else { + fvFormattedString(cUnit, ""); } - /* else nothing, as it is a number */ } /* Crust */ @@ -4223,8 +4262,9 @@ void fvWrite40KNumCrust(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; fvFormattedString(cUnit, output->cNeg); + } else { + fvFormattedString(cUnit, ""); } - /* else nothing, as it is a number */ } /** @@ -4324,6 +4364,7 @@ void fvWritedD232ThPowerDt(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit) { *dTmp = -1; + fvFormattedString(cUnit, ""); } /** Write radiogenic 232Th decay time? @@ -4414,8 +4455,9 @@ void fvWrite232ThNumMan(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; fvFormattedString(cUnit, output->cNeg); + } else { + fvFormattedString(cUnit, ""); } - /* else nothing, as it is a number */ } /* Core */ @@ -4490,8 +4532,9 @@ void fvWrite232ThNumCore(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; fvFormattedString(cUnit, output->cNeg); + } else { + fvFormattedString(cUnit, ""); } - /* else nothing, as it is a number */ } /* Crust */ @@ -4566,8 +4609,9 @@ void fvWrite232ThNumCrust(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; fvFormattedString(cUnit, output->cNeg); + } else { + fvFormattedString(cUnit, ""); } - /* else nothing, as it is a number */ } /** @@ -4665,6 +4709,7 @@ void fvWritedD238UPowerDt(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit) { *dTmp = -1; + fvFormattedString(cUnit, ""); } /** Write radiogenic 238U decay time? @@ -4683,6 +4728,7 @@ void fvWrite238UTimescale(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit) { *dTmp = -1; + fvFormattedString(cUnit, ""); } /* Mantle */ @@ -4757,8 +4803,9 @@ void fvWrite238UNumMan(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; fvFormattedString(cUnit, output->cNeg); + } else { + fvFormattedString(cUnit, ""); } - /* else nothing, as it is a number */ } /* Core */ @@ -4833,8 +4880,9 @@ void fvWrite238UNumCore(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; fvFormattedString(cUnit, output->cNeg); + } else { + fvFormattedString(cUnit, ""); } - /* else nothing, as it is a number */ } /* Crust */ @@ -4909,8 +4957,9 @@ void fvWrite238UNumCrust(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; fvFormattedString(cUnit, output->cNeg); + } else { + fvFormattedString(cUnit, ""); } - /* else nothing, as it is a number */ } /** @@ -5011,6 +5060,7 @@ void fvWritedD235UPowerDt(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit) { *dTmp = -1; + fvFormattedString(cUnit, ""); } /** Write radiogenic 235U decay time? @@ -5029,6 +5079,7 @@ void fvWrite235UTimescale(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, UNITS *units, UPDATE *update, int iBody, double *dTmp, char **cUnit) { *dTmp = -1; + fvFormattedString(cUnit, ""); } /* Mantle */ @@ -5103,8 +5154,9 @@ void fvWrite235UNumMan(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; fvFormattedString(cUnit, output->cNeg); + } else { + fvFormattedString(cUnit, ""); } - /* else nothing, as it is a number */ } /* Core */ @@ -5179,8 +5231,9 @@ void fvWrite235UNumCore(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; fvFormattedString(cUnit, output->cNeg); + } else { + fvFormattedString(cUnit, ""); } - /* else nothing, as it is a number */ } /* Crust */ @@ -5255,8 +5308,9 @@ void fvWrite235UNumCrust(BODY *body, CONTROL *control, OUTPUT *output, if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; fvFormattedString(cUnit, output->cNeg); + } else { + fvFormattedString(cUnit, ""); } - /* else nothing, as it is a number */ } /** @@ -5428,7 +5482,8 @@ void fvWriteSurfEnFluxRadTotal(BODY *body, CONTROL *control, OUTPUT *output, void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { /* Aluminum */ fvFormattedString(&output[OUT_26ALPOWERMAN].cName, "26AlPowerMan"); - fvFormattedString(&output[OUT_26ALPOWERMAN].cDescr, "Total Power Generated by 26Al"); + fvFormattedString(&output[OUT_26ALPOWERMAN].cDescr, + "Total Power Generated by 26Al"); fvFormattedString(&output[OUT_26ALPOWERMAN].cNeg, "TW"); output[OUT_26ALPOWERMAN].bNeg = 1; output[OUT_26ALPOWERMAN].dNeg = 1e-12; @@ -5437,7 +5492,8 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_26ALPOWERMAN] = &fvWrite26AlPowerMan; fvFormattedString(&output[OUT_26ALENFLUX].cName, "26AlEnFlux"); - fvFormattedString(&output[OUT_26ALENFLUX].cDescr, "Surface Energy Flux from 26Al"); + fvFormattedString(&output[OUT_26ALENFLUX].cDescr, + "Surface Energy Flux from 26Al"); fvFormattedString(&output[OUT_26ALENFLUX].cNeg, "W/m^2"); output[OUT_26ALENFLUX].bNeg = 1; output[OUT_26ALENFLUX].dNeg = 1; @@ -5447,7 +5503,7 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_26ALDPOWERDT].cName, "D26AlPowerDt"); fvFormattedString(&output[OUT_26ALDPOWERDT].cDescr, - "Time Rate of Change of 26Al Power Generation"); + "Time Rate of Change of 26Al Power Generation"); fvFormattedString(&output[OUT_26ALDPOWERDT].cNeg, "TW/Gyr"); output[OUT_26ALDPOWERDT].bNeg = 1; output[OUT_26ALDPOWERDT].dNeg = @@ -5458,7 +5514,7 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_26ALDNUMDT].cName, "D26AlNumManDt"); fvFormattedString(&output[OUT_26ALDNUMDT].cDescr, - "Time Rate of Change of 26Al Heat Generation"); + "Time Rate of Change of 26Al Heat Generation"); fvFormattedString(&output[OUT_26ALDNUMDT].cNeg, "/Gyr"); output[OUT_26ALDNUMDT].bNeg = 1; output[OUT_26ALDNUMDT].dNeg = YEARSEC * 1e9; //[s/Gyr] @@ -5467,7 +5523,8 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_26ALDNUMDT] = &fvWriteD26AlNumDt; fvFormattedString(&output[OUT_26ALTIME].cName, "26AlTimescale"); - fvFormattedString(&output[OUT_26ALTIME].cDescr, "Timescale for 26Al Power Generation"); + fvFormattedString(&output[OUT_26ALTIME].cDescr, + "Timescale for 26Al Power Generation"); fvFormattedString(&output[OUT_26ALTIME].cNeg, "Gyr"); output[OUT_26ALTIME].bNeg = 1; output[OUT_26ALTIME].dNeg = 1 / (YEARSEC * 1e9); //[Gyr/s] //YEARSEC*1e9; @@ -5485,8 +5542,10 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_26ALMASSMAN] = &fvWrite26AlMassMan; fvFormattedString(&output[OUT_26ALNUMMAN].cName, "26AlNumMan"); - fvFormattedString(&output[OUT_26ALNUMMAN].cDescr, "Total Number of 26Al Atoms"); - fvFormattedString(&output[OUT_26ALNUMMAN].cNeg, "Initial Primordial Earth Number"); + fvFormattedString(&output[OUT_26ALNUMMAN].cDescr, + "Total Number of 26Al Atoms"); + fvFormattedString(&output[OUT_26ALNUMMAN].cNeg, + "Initial Primordial Earth Number"); output[OUT_26ALNUMMAN].bNeg = 1; output[OUT_26ALNUMMAN].dNeg = EMASSMAN26AL / MASS26AL; output[OUT_26ALNUMMAN].iNum = 1; @@ -5495,7 +5554,8 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { /* Core */ fvFormattedString(&output[OUT_26ALPOWERCORE].cName, "26AlPowerCore"); - fvFormattedString(&output[OUT_26ALPOWERCORE].cDescr, "Core Power Generated by 26Al"); + fvFormattedString(&output[OUT_26ALPOWERCORE].cDescr, + "Core Power Generated by 26Al"); fvFormattedString(&output[OUT_26ALPOWERCORE].cNeg, "TW"); output[OUT_26ALPOWERCORE].bNeg = 1; output[OUT_26ALPOWERCORE].dNeg = 1 / 1e12; //[TW/W] @@ -5513,8 +5573,10 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_26ALMASSCORE] = &fvWrite26AlMassCore; fvFormattedString(&output[OUT_26ALNUMCORE].cName, "26AlNumCore"); - fvFormattedString(&output[OUT_26ALNUMCORE].cDescr, "Total Core Number of 26Al Atoms"); - fvFormattedString(&output[OUT_26ALNUMCORE].cNeg, "Initial Primordial Earth Number"); + fvFormattedString(&output[OUT_26ALNUMCORE].cDescr, + "Total Core Number of 26Al Atoms"); + fvFormattedString(&output[OUT_26ALNUMCORE].cNeg, + "Initial Primordial Earth Number"); output[OUT_26ALNUMCORE].bNeg = 1; output[OUT_26ALNUMCORE].dNeg = EMASSCORE26AL / MASS26AL; output[OUT_26ALNUMCORE].iNum = 1; @@ -5523,7 +5585,7 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_26ALPOWERTOT].cName, "26AlPowerTotal"); fvFormattedString(&output[OUT_26ALPOWERTOT].cDescr, - "Total Power from Decay of 26Al Atoms"); + "Total Power from Decay of 26Al Atoms"); fvFormattedString(&output[OUT_26ALPOWERTOT].cNeg, "TW"); output[OUT_26ALPOWERTOT].bNeg = 1; output[OUT_26ALPOWERTOT].dNeg = 1e-12; @@ -5533,7 +5595,8 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { /* Potassium */ fvFormattedString(&output[OUT_40KENFLUX].cName, "40KEnFlux"); - fvFormattedString(&output[OUT_40KENFLUX].cDescr, "Surface Energy Flux from 40K"); + fvFormattedString(&output[OUT_40KENFLUX].cDescr, + "Surface Energy Flux from 40K"); fvFormattedString(&output[OUT_40KENFLUX].cNeg, "W/m^2"); output[OUT_40KENFLUX].bNeg = 1; output[OUT_40KENFLUX].dNeg = 1; @@ -5543,7 +5606,7 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_40KDPOWERDT].cName, "D40KPowerDt"); fvFormattedString(&output[OUT_40KDPOWERDT].cDescr, - "Time Rate of Change of 40K Power Generation"); + "Time Rate of Change of 40K Power Generation"); fvFormattedString(&output[OUT_40KDPOWERDT].cNeg, "TW/Gyr"); output[OUT_40KDPOWERDT].bNeg = 1; output[OUT_40KDPOWERDT].dNeg = 1e9 / 1e12; /* :) */ @@ -5553,7 +5616,7 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_40KDNUMDT].cName, "D40KNumManDt"); fvFormattedString(&output[OUT_40KDNUMDT].cDescr, - "Time Rate of Change of 40K Heat Generation"); + "Time Rate of Change of 40K Heat Generation"); fvFormattedString(&output[OUT_40KDNUMDT].cNeg, "/Gyr"); output[OUT_40KDNUMDT].bNeg = 1; output[OUT_40KDNUMDT].dNeg = YEARSEC * 1e9; @@ -5562,7 +5625,8 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_40KDNUMDT] = &fvWriteD40KNumDt; fvFormattedString(&output[OUT_40KTIME].cName, "40KTimescale"); - fvFormattedString(&output[OUT_40KTIME].cDescr, "Timescale for 40K Power Generation"); + fvFormattedString(&output[OUT_40KTIME].cDescr, + "Timescale for 40K Power Generation"); fvFormattedString(&output[OUT_40KTIME].cNeg, "Gyr"); output[OUT_40KTIME].bNeg = 1; output[OUT_40KTIME].dNeg = 1 / (YEARSEC * 1e9); @@ -5571,7 +5635,8 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_40KTIME] = &fvWrite40KTimescale; fvFormattedString(&output[OUT_40KPOWERMAN].cName, "40KPowerMan"); - fvFormattedString(&output[OUT_40KPOWERMAN].cDescr, "Total Power Generated by 40K"); + fvFormattedString(&output[OUT_40KPOWERMAN].cDescr, + "Total Power Generated by 40K"); fvFormattedString(&output[OUT_40KPOWERMAN].cNeg, "TW"); output[OUT_40KPOWERMAN].bNeg = 1; output[OUT_40KPOWERMAN].dNeg = 1e-12; @@ -5590,7 +5655,8 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_40KNUMMAN].cName, "40KNumMan"); fvFormattedString(&output[OUT_40KNUMMAN].cDescr, "Total Number of 40K Atoms"); - fvFormattedString(&output[OUT_40KNUMMAN].cNeg, "Initial Primordial Earth Number"); + fvFormattedString(&output[OUT_40KNUMMAN].cNeg, + "Initial Primordial Earth Number"); output[OUT_40KNUMMAN].bNeg = 1; output[OUT_40KNUMMAN].dNeg = EMASSMAN40K / MASS40K; output[OUT_40KNUMMAN].iNum = 1; @@ -5599,7 +5665,8 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { /* Core */ fvFormattedString(&output[OUT_40KPOWERCORE].cName, "40KPowerCore"); - fvFormattedString(&output[OUT_40KPOWERCORE].cDescr, "Core Power Generated by 40K"); + fvFormattedString(&output[OUT_40KPOWERCORE].cDescr, + "Core Power Generated by 40K"); fvFormattedString(&output[OUT_40KPOWERCORE].cNeg, "TW"); output[OUT_40KPOWERCORE].bNeg = 1; output[OUT_40KPOWERCORE].dNeg = 1e-12; // ergs/s -> TW @@ -5617,8 +5684,10 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_40KMASSCORE] = &fvWrite40KMassCore; fvFormattedString(&output[OUT_40KNUMCORE].cName, "40KNumCore"); - fvFormattedString(&output[OUT_40KNUMCORE].cDescr, "Total Core Number of 40K Atoms"); - fvFormattedString(&output[OUT_40KNUMCORE].cNeg, "Initial Primordial Earth Number"); + fvFormattedString(&output[OUT_40KNUMCORE].cDescr, + "Total Core Number of 40K Atoms"); + fvFormattedString(&output[OUT_40KNUMCORE].cNeg, + "Initial Primordial Earth Number"); output[OUT_40KNUMCORE].bNeg = 1; output[OUT_40KNUMCORE].dNeg = EMASSCORE40K / MASS40K; output[OUT_40KNUMCORE].iNum = 1; @@ -5627,7 +5696,8 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { /* Crust */ fvFormattedString(&output[OUT_40KPOWERCRUST].cName, "40KPowerCrust"); - fvFormattedString(&output[OUT_40KPOWERCRUST].cDescr, "Crust Power Generated by 40K"); + fvFormattedString(&output[OUT_40KPOWERCRUST].cDescr, + "Crust Power Generated by 40K"); fvFormattedString(&output[OUT_40KPOWERCRUST].cNeg, "TW"); output[OUT_40KPOWERCRUST].bNeg = 1; output[OUT_40KPOWERCRUST].dNeg = 1e-12; // ergs/s -> TW @@ -5636,7 +5706,8 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_40KPOWERCRUST] = &fvWrite40KPowerCrust; fvFormattedString(&output[OUT_40KMASSCRUST].cName, "40KMassCrust"); - fvFormattedString(&output[OUT_40KMASSCRUST].cDescr, "Total Crust Mass of 40K"); + fvFormattedString(&output[OUT_40KMASSCRUST].cDescr, + "Total Crust Mass of 40K"); fvFormattedString(&output[OUT_40KMASSCRUST].cNeg, "Mearth"); output[OUT_40KMASSCRUST].bNeg = 1; output[OUT_40KMASSCRUST].dNeg = 1. / MEARTH; @@ -5645,8 +5716,10 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_40KMASSCRUST] = &fvWrite40KMassCrust; fvFormattedString(&output[OUT_40KNUMCRUST].cName, "40KNumCrust"); - fvFormattedString(&output[OUT_40KNUMCRUST].cDescr, "Total Crust Number of 40K Atoms"); - fvFormattedString(&output[OUT_40KNUMCRUST].cNeg, "Initial Primordial Earth Number"); + fvFormattedString(&output[OUT_40KNUMCRUST].cDescr, + "Total Crust Number of 40K Atoms"); + fvFormattedString(&output[OUT_40KNUMCRUST].cNeg, + "Initial Primordial Earth Number"); output[OUT_40KNUMCRUST].bNeg = 1; output[OUT_40KNUMCRUST].dNeg = EMASSCRUST40K / MASS40K; output[OUT_40KNUMCRUST].iNum = 1; @@ -5655,7 +5728,7 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_40KPOWERTOT].cName, "40KPowerTotal"); fvFormattedString(&output[OUT_40KPOWERTOT].cDescr, - "Total Power from Decay of 40K Atoms"); + "Total Power from Decay of 40K Atoms"); fvFormattedString(&output[OUT_40KPOWERTOT].cNeg, "TW"); output[OUT_40KPOWERTOT].bNeg = 1; output[OUT_40KPOWERTOT].dNeg = 1e-12; @@ -5665,7 +5738,8 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { /* Thorium */ fvFormattedString(&output[OUT_232THPOWERMAN].cName, "232ThPowerMan"); - fvFormattedString(&output[OUT_232THPOWERMAN].cDescr, "Total Power Generated by 232Th"); + fvFormattedString(&output[OUT_232THPOWERMAN].cDescr, + "Total Power Generated by 232Th"); fvFormattedString(&output[OUT_232THPOWERMAN].cNeg, "TW"); output[OUT_232THPOWERMAN].bNeg = 1; output[OUT_232THPOWERMAN].dNeg = 1e-12; @@ -5674,7 +5748,8 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_232THPOWERMAN] = &fvWrite232ThPowerMan; fvFormattedString(&output[OUT_232THENFLUX].cName, "232ThEnFlux"); - fvFormattedString(&output[OUT_232THENFLUX].cDescr, "Surface Energy Flux from 232Th"); + fvFormattedString(&output[OUT_232THENFLUX].cDescr, + "Surface Energy Flux from 232Th"); fvFormattedString(&output[OUT_232THENFLUX].cNeg, "W/m^2"); output[OUT_232THENFLUX].bNeg = 1; output[OUT_232THENFLUX].dNeg = 1; @@ -5684,7 +5759,7 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_232THDNUMDT].cName, "D232ThNumManDt"); fvFormattedString(&output[OUT_232THDNUMDT].cDescr, - "Time Rate of Change of the number of 232Th nuclei"); + "Time Rate of Change of the number of 232Th nuclei"); fvFormattedString(&output[OUT_232THDNUMDT].cNeg, "/Gyr"); output[OUT_232THDNUMDT].bNeg = 1; output[OUT_232THDNUMDT].dNeg = YEARSEC * 1e9; @@ -5693,7 +5768,8 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_232THDNUMDT] = &fvWriteD232ThNumDt; fvFormattedString(&output[OUT_232THTIME].cName, "232ThTimescale"); - fvFormattedString(&output[OUT_232THTIME].cDescr, "Timescale for 232Th Power Generation"); + fvFormattedString(&output[OUT_232THTIME].cDescr, + "Timescale for 232Th Power Generation"); fvFormattedString(&output[OUT_232THTIME].cNeg, "Gyr"); output[OUT_232THTIME].bNeg = 1; output[OUT_232THTIME].dNeg = 1. / (YEARSEC * 1e9); @@ -5711,8 +5787,10 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_232THMASSMAN] = &fvWrite232ThMassMan; fvFormattedString(&output[OUT_232THNUMMAN].cName, "232ThNumMan"); - fvFormattedString(&output[OUT_232THNUMMAN].cDescr, "Total Number of 232Th Atoms"); - fvFormattedString(&output[OUT_232THNUMMAN].cNeg, "Initial Primordial Earth Number"); + fvFormattedString(&output[OUT_232THNUMMAN].cDescr, + "Total Number of 232Th Atoms"); + fvFormattedString(&output[OUT_232THNUMMAN].cNeg, + "Initial Primordial Earth Number"); output[OUT_232THNUMMAN].bNeg = 1; output[OUT_232THNUMMAN].dNeg = EMASSMAN232TH / MASS232TH; output[OUT_232THNUMMAN].iNum = 1; @@ -5721,7 +5799,8 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { /* Core */ fvFormattedString(&output[OUT_232THPOWERCORE].cName, "232ThPowerCore"); - fvFormattedString(&output[OUT_232THPOWERCORE].cDescr, "Total Power Generated by 232Th"); + fvFormattedString(&output[OUT_232THPOWERCORE].cDescr, + "Total Power Generated by 232Th"); fvFormattedString(&output[OUT_232THPOWERCORE].cNeg, "TW"); output[OUT_232THPOWERCORE].bNeg = 1; output[OUT_232THPOWERCORE].dNeg = 1e-12; @@ -5739,8 +5818,10 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_232THMASSCORE] = &fvWrite232ThMassCore; fvFormattedString(&output[OUT_232THNUMCORE].cName, "232ThNumCore"); - fvFormattedString(&output[OUT_232THNUMCORE].cDescr, "Total Number of 232Th Atoms"); - fvFormattedString(&output[OUT_232THNUMCORE].cNeg, "Initial Primordial Earth Number"); + fvFormattedString(&output[OUT_232THNUMCORE].cDescr, + "Total Number of 232Th Atoms"); + fvFormattedString(&output[OUT_232THNUMCORE].cNeg, + "Initial Primordial Earth Number"); output[OUT_232THNUMCORE].bNeg = 1; output[OUT_232THNUMCORE].dNeg = EMASSCORE232TH / MASS232TH; output[OUT_232THNUMCORE].iNum = 1; @@ -5749,7 +5830,8 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { /* Crust */ fvFormattedString(&output[OUT_232THPOWERCRUST].cName, "232ThPowerCrust"); - fvFormattedString(&output[OUT_232THPOWERCRUST].cDescr, "Total Power Generated by 232Th"); + fvFormattedString(&output[OUT_232THPOWERCRUST].cDescr, + "Total Power Generated by 232Th"); fvFormattedString(&output[OUT_232THPOWERCRUST].cNeg, "TW"); output[OUT_232THPOWERCRUST].bNeg = 1; output[OUT_232THPOWERCRUST].dNeg = 1e-12; @@ -5767,8 +5849,10 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_232THMASSCRUST] = &fvWrite232ThMassCrust; fvFormattedString(&output[OUT_232THNUMCRUST].cName, "232ThNumCrust"); - fvFormattedString(&output[OUT_232THNUMCRUST].cDescr, "Total Number of 232Th Atoms"); - fvFormattedString(&output[OUT_232THNUMCRUST].cNeg, "Initial Primordial Earth Number"); + fvFormattedString(&output[OUT_232THNUMCRUST].cDescr, + "Total Number of 232Th Atoms"); + fvFormattedString(&output[OUT_232THNUMCRUST].cNeg, + "Initial Primordial Earth Number"); output[OUT_232THNUMCRUST].bNeg = 1; output[OUT_232THNUMCRUST].dNeg = EMASSCRUST232TH / MASS232TH; output[OUT_232THNUMCRUST].iNum = 1; @@ -5777,7 +5861,7 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_232THPOWERTOT].cName, "232ThPowerTotal"); fvFormattedString(&output[OUT_232THPOWERTOT].cDescr, - "Total Power from Decay of 232Th Atoms"); + "Total Power from Decay of 232Th Atoms"); fvFormattedString(&output[OUT_232THPOWERTOT].cNeg, "TW"); output[OUT_232THPOWERTOT].bNeg = 1; output[OUT_232THPOWERTOT].dNeg = 1e-12; @@ -5789,7 +5873,8 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { /* Uranium 238 */ fvFormattedString(&output[OUT_238UPOWERMAN].cName, "238UPowerMan"); - fvFormattedString(&output[OUT_238UPOWERMAN].cDescr, "Total Power Generated by 238U"); + fvFormattedString(&output[OUT_238UPOWERMAN].cDescr, + "Total Power Generated by 238U"); fvFormattedString(&output[OUT_238UPOWERMAN].cNeg, "TW"); output[OUT_238UPOWERMAN].bNeg = 1; output[OUT_238UPOWERMAN].dNeg = 1e-12; @@ -5798,7 +5883,8 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_238UPOWERMAN] = &fvWrite238UPowerMan; fvFormattedString(&output[OUT_238UENFLUX].cName, "238UEnFlux"); - fvFormattedString(&output[OUT_238UENFLUX].cDescr, "Surface Energy Flux due to 238U"); + fvFormattedString(&output[OUT_238UENFLUX].cDescr, + "Surface Energy Flux due to 238U"); fvFormattedString(&output[OUT_238UENFLUX].cNeg, "W/m^2"); output[OUT_238UENFLUX].bNeg = 1; output[OUT_238UENFLUX].dNeg = 1; @@ -5808,7 +5894,7 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_238UDNUMDT].cName, "D238UNumManDt"); fvFormattedString(&output[OUT_238UDNUMDT].cDescr, - "Time Rate of Change of the Number of 238U Nuclei"); + "Time Rate of Change of the Number of 238U Nuclei"); fvFormattedString(&output[OUT_238UDNUMDT].cNeg, "/Gyr"); output[OUT_238UDNUMDT].bNeg = 1; output[OUT_238UDNUMDT].dNeg = YEARSEC * 1e9; @@ -5817,7 +5903,8 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_238UDNUMDT] = &fvWriteD238UNumDt; fvFormattedString(&output[OUT_238UTIME].cName, "238UTimescale"); - fvFormattedString(&output[OUT_238UTIME].cDescr, "Timescale for 238U Power Generation"); + fvFormattedString(&output[OUT_238UTIME].cDescr, + "Timescale for 238U Power Generation"); fvFormattedString(&output[OUT_238UTIME].cNeg, "Gyr"); output[OUT_238UTIME].bNeg = 1; output[OUT_238UTIME].dNeg = 1. / (YEARSEC * 1e9); @@ -5835,8 +5922,10 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_238UMASSMAN] = &fvWrite238UMassMan; fvFormattedString(&output[OUT_238UNUMMAN].cName, "238UNumMan"); - fvFormattedString(&output[OUT_238UNUMMAN].cDescr, "Total Number of 238U Atoms"); - fvFormattedString(&output[OUT_238UNUMMAN].cNeg, "Initial Primordial Earth Number"); + fvFormattedString(&output[OUT_238UNUMMAN].cDescr, + "Total Number of 238U Atoms"); + fvFormattedString(&output[OUT_238UNUMMAN].cNeg, + "Initial Primordial Earth Number"); output[OUT_238UNUMMAN].bNeg = 1; output[OUT_238UNUMMAN].dNeg = EMASSMAN238U / MASS238U; output[OUT_238UNUMMAN].iNum = 1; @@ -5846,7 +5935,7 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { /* Core */ fvFormattedString(&output[OUT_238UPOWERCORE].cName, "238UPowerCore"); fvFormattedString(&output[OUT_238UPOWERCORE].cDescr, - "Total Core Power Generated by 238U"); + "Total Core Power Generated by 238U"); fvFormattedString(&output[OUT_238UPOWERCORE].cNeg, "TW"); output[OUT_238UPOWERCORE].bNeg = 1; output[OUT_238UPOWERCORE].dNeg = 1e-12; @@ -5855,7 +5944,8 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_238UPOWERCORE] = &fvWrite238UPowerCore; fvFormattedString(&output[OUT_238UMASSCORE].cName, "238UMassCore"); - fvFormattedString(&output[OUT_238UMASSCORE].cDescr, "Total Core Mass of 238U"); + fvFormattedString(&output[OUT_238UMASSCORE].cDescr, + "Total Core Mass of 238U"); fvFormattedString(&output[OUT_238UMASSCORE].cNeg, "Mearth"); output[OUT_238UMASSCORE].bNeg = 1; output[OUT_238UMASSCORE].dNeg = 1. / MEARTH; @@ -5864,8 +5954,10 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_238UMASSCORE] = &fvWrite238UMassCore; fvFormattedString(&output[OUT_238UNUMCORE].cName, "238UNumCore"); - fvFormattedString(&output[OUT_238UNUMCORE].cDescr, "Total Core Number of 238U Atoms"); - fvFormattedString(&output[OUT_238UNUMCORE].cNeg, "Initial Primordial Earth Number"); + fvFormattedString(&output[OUT_238UNUMCORE].cDescr, + "Total Core Number of 238U Atoms"); + fvFormattedString(&output[OUT_238UNUMCORE].cNeg, + "Initial Primordial Earth Number"); output[OUT_238UNUMCORE].bNeg = 1; output[OUT_238UNUMCORE].dNeg = EMASSCORE238U / MASS238U; output[OUT_238UNUMCORE].iNum = 1; @@ -5875,7 +5967,7 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { /* Crust */ fvFormattedString(&output[OUT_238UPOWERCRUST].cName, "238UPowerCrust"); fvFormattedString(&output[OUT_238UPOWERCRUST].cDescr, - "Total Crust Power Generated by 238U"); + "Total Crust Power Generated by 238U"); fvFormattedString(&output[OUT_238UPOWERCRUST].cNeg, "TW"); output[OUT_238UPOWERCRUST].bNeg = 1; output[OUT_238UPOWERCRUST].dNeg = 1e-12; @@ -5884,7 +5976,8 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_238UPOWERCRUST] = &fvWrite238UPowerCrust; fvFormattedString(&output[OUT_238UMASSCRUST].cName, "238UMassCrust"); - fvFormattedString(&output[OUT_238UMASSCRUST].cDescr, "Total Crust Mass of 238U"); + fvFormattedString(&output[OUT_238UMASSCRUST].cDescr, + "Total Crust Mass of 238U"); fvFormattedString(&output[OUT_238UMASSCRUST].cNeg, "Mearth"); output[OUT_238UMASSCRUST].bNeg = 1; output[OUT_238UMASSCRUST].dNeg = 1. / MEARTH; @@ -5893,8 +5986,10 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_238UMASSCRUST] = &fvWrite238UMassCrust; fvFormattedString(&output[OUT_238UNUMCRUST].cName, "238UNumCrust"); - fvFormattedString(&output[OUT_238UNUMCRUST].cDescr, "Total Crust Number of 238U Atoms"); - fvFormattedString(&output[OUT_238UNUMCRUST].cNeg, "Initial Primordial Earth Number"); + fvFormattedString(&output[OUT_238UNUMCRUST].cDescr, + "Total Crust Number of 238U Atoms"); + fvFormattedString(&output[OUT_238UNUMCRUST].cNeg, + "Initial Primordial Earth Number"); output[OUT_238UNUMCRUST].bNeg = 1; output[OUT_238UNUMCRUST].dNeg = EMASSCRUST238U / MASS238U; output[OUT_238UNUMCRUST].iNum = 1; @@ -5903,7 +5998,7 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_238UPOWERTOT].cName, "238UPowerTotal"); fvFormattedString(&output[OUT_238UPOWERTOT].cDescr, - "Total Power from Decay of 238U Atoms"); + "Total Power from Decay of 238U Atoms"); fvFormattedString(&output[OUT_238UPOWERTOT].cNeg, "TW"); output[OUT_238UPOWERTOT].bNeg = 1; output[OUT_238UPOWERTOT].dNeg = 1e-12; @@ -5915,7 +6010,8 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { /* Uranium 235 */ fvFormattedString(&output[OUT_235UPOWERMAN].cName, "235UPowerMan"); - fvFormattedString(&output[OUT_235UPOWERMAN].cDescr, "Total Power Generated by 235U"); + fvFormattedString(&output[OUT_235UPOWERMAN].cDescr, + "Total Power Generated by 235U"); fvFormattedString(&output[OUT_235UPOWERMAN].cNeg, "TW"); output[OUT_235UPOWERMAN].bNeg = 1; output[OUT_235UPOWERMAN].dNeg = 1e-12; @@ -5924,7 +6020,8 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_235UPOWERMAN] = &fvWrite235UPowerMan; fvFormattedString(&output[OUT_235UENFLUX].cName, "235UEnFlux"); - fvFormattedString(&output[OUT_235UENFLUX].cDescr, "Surface Energy Flux due to 235U"); + fvFormattedString(&output[OUT_235UENFLUX].cDescr, + "Surface Energy Flux due to 235U"); fvFormattedString(&output[OUT_235UENFLUX].cNeg, "W/m^2"); output[OUT_235UENFLUX].bNeg = 1; output[OUT_235UENFLUX].dNeg = 1; @@ -5934,7 +6031,7 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_235UDNUMDT].cName, "D235UNumManDt"); fvFormattedString(&output[OUT_235UDNUMDT].cDescr, - "Time Rate of Change of the Number of 235U Nuclei"); + "Time Rate of Change of the Number of 235U Nuclei"); fvFormattedString(&output[OUT_235UDNUMDT].cNeg, "/Gyr"); output[OUT_235UDNUMDT].bNeg = 1; output[OUT_235UDNUMDT].dNeg = YEARSEC * 1e9; @@ -5943,7 +6040,8 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_235UDNUMDT] = &fvWriteD235UNumDt; fvFormattedString(&output[OUT_235UTIME].cName, "235UTimescale"); - fvFormattedString(&output[OUT_235UTIME].cDescr, "Timescale for 235U Power Generation"); + fvFormattedString(&output[OUT_235UTIME].cDescr, + "Timescale for 235U Power Generation"); fvFormattedString(&output[OUT_235UTIME].cNeg, "Gyr"); output[OUT_235UTIME].bNeg = 1; output[OUT_235UTIME].dNeg = 1. / (YEARSEC * 1e9); @@ -5961,8 +6059,10 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_235UMASSMAN] = &fvWrite235UMassMan; fvFormattedString(&output[OUT_235UNUMMAN].cName, "235UNumMan"); - fvFormattedString(&output[OUT_235UNUMMAN].cDescr, "Total Number of 235U Atoms"); - fvFormattedString(&output[OUT_235UNUMMAN].cNeg, "Initial Primordial Earth Number"); + fvFormattedString(&output[OUT_235UNUMMAN].cDescr, + "Total Number of 235U Atoms"); + fvFormattedString(&output[OUT_235UNUMMAN].cNeg, + "Initial Primordial Earth Number"); output[OUT_235UNUMMAN].bNeg = 1; output[OUT_235UNUMMAN].dNeg = EMASSMAN235U / MASS235U; output[OUT_235UNUMMAN].iNum = 1; @@ -5972,7 +6072,7 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { /* Core */ fvFormattedString(&output[OUT_235UPOWERCORE].cName, "235UPowerCore"); fvFormattedString(&output[OUT_235UPOWERCORE].cDescr, - "Total Core Power Generated by 235U"); + "Total Core Power Generated by 235U"); fvFormattedString(&output[OUT_235UPOWERCORE].cNeg, "TW"); output[OUT_235UPOWERCORE].bNeg = 1; output[OUT_235UPOWERCORE].dNeg = 1e-12; @@ -5981,7 +6081,8 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_235UPOWERCORE] = &fvWrite235UPowerCore; fvFormattedString(&output[OUT_235UMASSCORE].cName, "235UMassCore"); - fvFormattedString(&output[OUT_235UMASSCORE].cDescr, "Total Core Mass of 235U"); + fvFormattedString(&output[OUT_235UMASSCORE].cDescr, + "Total Core Mass of 235U"); fvFormattedString(&output[OUT_235UMASSCORE].cNeg, "Mearth"); output[OUT_235UMASSCORE].bNeg = 1; output[OUT_235UMASSCORE].dNeg = 1. / MEARTH; @@ -5990,8 +6091,10 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_235UMASSCORE] = &fvWrite235UMassCore; fvFormattedString(&output[OUT_235UNUMCORE].cName, "235UNumCore"); - fvFormattedString(&output[OUT_235UNUMCORE].cDescr, "Total Core Number of 235U Atoms"); - fvFormattedString(&output[OUT_235UNUMCORE].cNeg, "Initial Primordial Earth Number"); + fvFormattedString(&output[OUT_235UNUMCORE].cDescr, + "Total Core Number of 235U Atoms"); + fvFormattedString(&output[OUT_235UNUMCORE].cNeg, + "Initial Primordial Earth Number"); output[OUT_235UNUMCORE].bNeg = 1; output[OUT_235UNUMCORE].dNeg = EMASSCORE235U / MASS235U; output[OUT_235UNUMCORE].iNum = 1; @@ -6001,7 +6104,7 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { /* Crust */ fvFormattedString(&output[OUT_235UPOWERCRUST].cName, "235UPowerCrust"); fvFormattedString(&output[OUT_235UPOWERCRUST].cDescr, - "Total Crust Power Generated by 235U"); + "Total Crust Power Generated by 235U"); fvFormattedString(&output[OUT_235UPOWERCRUST].cNeg, "TW"); output[OUT_235UPOWERCRUST].bNeg = 1; output[OUT_235UPOWERCRUST].dNeg = 1e-12; @@ -6010,7 +6113,8 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_235UPOWERCRUST] = &fvWrite235UPowerCrust; fvFormattedString(&output[OUT_235UMASSCRUST].cName, "235UMassCrust"); - fvFormattedString(&output[OUT_235UMASSCRUST].cDescr, "Total Crust Mass of 235U"); + fvFormattedString(&output[OUT_235UMASSCRUST].cDescr, + "Total Crust Mass of 235U"); fvFormattedString(&output[OUT_235UMASSCRUST].cNeg, "Mearth"); output[OUT_235UMASSCRUST].bNeg = 1; output[OUT_235UMASSCRUST].dNeg = 1. / MEARTH; @@ -6019,8 +6123,10 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_235UMASSCRUST] = &fvWrite235UMassCrust; fvFormattedString(&output[OUT_235UNUMCRUST].cName, "235UNumCrust"); - fvFormattedString(&output[OUT_235UNUMCRUST].cDescr, "Total Crust Number of 235U Atoms"); - fvFormattedString(&output[OUT_235UNUMCRUST].cNeg, "Initial Primordial Earth Number"); + fvFormattedString(&output[OUT_235UNUMCRUST].cDescr, + "Total Crust Number of 235U Atoms"); + fvFormattedString(&output[OUT_235UNUMCRUST].cNeg, + "Initial Primordial Earth Number"); output[OUT_235UNUMCRUST].bNeg = 1; output[OUT_235UNUMCRUST].dNeg = EMASSCRUST235U / MASS235U; output[OUT_235UNUMCRUST].iNum = 1; @@ -6029,7 +6135,7 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_235UPOWERTOT].cName, "235UPowerTotal"); fvFormattedString(&output[OUT_235UPOWERTOT].cDescr, - "Total Power from Decay of 235U Atoms"); + "Total Power from Decay of 235U Atoms"); fvFormattedString(&output[OUT_235UPOWERTOT].cNeg, "TW"); output[OUT_235UPOWERTOT].bNeg = 1; output[OUT_235UPOWERTOT].dNeg = 1e-12; @@ -6040,8 +6146,9 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { /* Totals */ fvFormattedString(&output[OUT_RADPOWERCRUST].cName, "RadPowerCrust"); - fvFormattedString(&output[OUT_RADPOWERCRUST].cDescr, - "Total Power Generated by Radiogenic Nuclides in the crust"); + fvFormattedString( + &output[OUT_RADPOWERCRUST].cDescr, + "Total Power Generated by Radiogenic Nuclides in the crust"); fvFormattedString(&output[OUT_RADPOWERCRUST].cNeg, "TW"); output[OUT_RADPOWERCRUST].bNeg = 1; output[OUT_RADPOWERCRUST].dNeg = 1e-12; @@ -6050,8 +6157,9 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_RADPOWERCRUST] = &fvWriteRadPowerCrust; fvFormattedString(&output[OUT_RADPOWERMAN].cName, "RadPowerMan"); - fvFormattedString(&output[OUT_RADPOWERMAN].cDescr, - "Total Power Generated by Radiogenic Nuclides in the mantle"); + fvFormattedString( + &output[OUT_RADPOWERMAN].cDescr, + "Total Power Generated by Radiogenic Nuclides in the mantle"); fvFormattedString(&output[OUT_RADPOWERMAN].cNeg, "TW"); output[OUT_RADPOWERMAN].bNeg = 1; output[OUT_RADPOWERMAN].dNeg = 1e-12; @@ -6061,7 +6169,7 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_RADPOWERCORE].cName, "RadPowerCore"); fvFormattedString(&output[OUT_RADPOWERCORE].cDescr, - "Total Power Generated by Radiogenic Nuclides in Core"); + "Total Power Generated by Radiogenic Nuclides in Core"); fvFormattedString(&output[OUT_RADPOWERCORE].cNeg, "TW"); output[OUT_RADPOWERCORE].bNeg = 1; output[OUT_RADPOWERCORE].dNeg = 1e-12; @@ -6070,8 +6178,9 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_RADPOWERCORE] = &fvWriteRadPowerCore; fvFormattedString(&output[OUT_RADPOWERTOTAL].cName, "RadPowerTotal"); - fvFormattedString(&output[OUT_RADPOWERTOTAL].cDescr, - "Total Power Generated by Radiogenic Nuclides in Total (M+C)"); + fvFormattedString( + &output[OUT_RADPOWERTOTAL].cDescr, + "Total Power Generated by Radiogenic Nuclides in Total (M+C)"); fvFormattedString(&output[OUT_RADPOWERTOTAL].cNeg, "TW"); output[OUT_RADPOWERTOTAL].bNeg = 1; output[OUT_RADPOWERTOTAL].dNeg = 1e-12; @@ -6079,9 +6188,10 @@ void fvInitializeOutputRadheat(OUTPUT *output, fnWriteOutput fnWrite[]) { output[OUT_RADPOWERTOTAL].iModuleBit = RADHEAT; fnWrite[OUT_RADPOWERTOTAL] = &fvWriteRadPowerTotal; - fvFormattedString(&output[OUT_SURFENFLUXRADTOTAL].cName, "SurfEnFluxRadTotal"); + fvFormattedString(&output[OUT_SURFENFLUXRADTOTAL].cName, + "SurfEnFluxRadTotal"); fvFormattedString(&output[OUT_SURFENFLUXRADTOTAL].cDescr, - "Total Surface Heat Flux Generated by Radiogenic Nuclides"); + "Total Surface Heat Flux Generated by Radiogenic Nuclides"); fvFormattedString(&output[OUT_SURFENFLUXRADTOTAL].cNeg, "W/m^2"); output[OUT_SURFENFLUXRADTOTAL].bNeg = 1; output[OUT_SURFENFLUXRADTOTAL].dNeg = 1; diff --git a/src/thermint.c b/src/thermint.c index 3fc651193..b730fb030 100644 --- a/src/thermint.c +++ b/src/thermint.c @@ -1224,11 +1224,12 @@ void fvInitializeOptionsThermint(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_VISCJUMPMAN].dDefault = VISCJUMPMAN; fvFormattedString(&options[OPT_VISCJUMPMAN].cNeg, "No negative behavior"); fnRead[OPT_VISCJUMPMAN] = &fvReadViscJumpMan; - fvFormattedString(&options[OPT_VISCJUMPMAN].cLongDescr, - "Numerical factor that is used to get the lower mantle thermal " - "boundary \n" - "viscosity visc_UMan from the upper mantle viscosity visc_LM by \n" - "visc_LM=ViscJumpMan*visc_UM. See eq (163) in Barnes et al (2020)."); + fvFormattedString( + &options[OPT_VISCJUMPMAN].cLongDescr, + "Numerical factor that is used to get the lower mantle thermal " + "boundary \n" + "viscosity visc_UMan from the upper mantle viscosity visc_LM by \n" + "visc_LM=ViscJumpMan*visc_UM. See eq (163) in Barnes et al (2020)."); fvFormattedString(&options[OPT_VISCREF].cName, "dViscRef"); fvFormattedString(&options[OPT_VISCREF].cDescr, "ViscRef"); @@ -1241,8 +1242,8 @@ void fvInitializeOptionsThermint(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_VISCREF].cNeg, "No negative behavior"); fnRead[OPT_VISCREF] = &fvReadViscRef; fvFormattedString(&options[OPT_VISCREF].cLongDescr, - "Coefficient in front of viscosity equation \n" - "see eq (159) in Barnes et al. (2020)."); + "Coefficient in front of viscosity equation \n" + "see eq (159) in Barnes et al. (2020)."); fvFormattedString(&options[OPT_TREFLIND].cName, "dTrefLind"); fvFormattedString(&options[OPT_TREFLIND].cDescr, "TrefLind"); @@ -1255,12 +1256,13 @@ void fvInitializeOptionsThermint(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_TREFLIND].dDefault = TREFLIND; fvFormattedString(&options[OPT_TREFLIND].cNeg, "No negative behavior"); fnRead[OPT_TREFLIND] = &fvReadTrefLind; - fvFormattedString(&options[OPT_TREFLIND].cLongDescr, - "Lindemann's law reference temperature, also called T_Fe0 in " - "Driscoll \n" - "Bercovici (2015), see their Eq. A23. Default value is set to " - "TREFLIND,\n" - "which is defined in thermint.h)"); + fvFormattedString( + &options[OPT_TREFLIND].cLongDescr, + "Lindemann's law reference temperature, also called T_Fe0 in " + "Driscoll \n" + "Bercovici (2015), see their Eq. A23. Default value is set to " + "TREFLIND,\n" + "which is defined in thermint.h)"); fvFormattedString(&options[OPT_DTCHIREF].cName, "dDTChiRef"); fvFormattedString(&options[OPT_DTCHIREF].cDescr, "DTChiRef"); @@ -1287,13 +1289,16 @@ void fvInitializeOptionsThermint(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_ERUPTEFF].dDefault = ERUPTEFF; fvFormattedString(&options[OPT_ERUPTEFF].cNeg, "No negative behavior"); fnRead[OPT_ERUPTEFF] = &fvReadEruptEff; - fvFormattedString(&options[OPT_ERUPTEFF].cLongDescr, - "Fraction of heat in mantle melt that escapes to the surface. \n" - "See eq (187) in Barnes et al (2020)."); + fvFormattedString( + &options[OPT_ERUPTEFF].cLongDescr, + "Fraction of heat in mantle melt that escapes to the surface. \n" + "See eq (187) in Barnes et al (2020)."); fvFormattedString(&options[OPT_VISCMELTPHIS].cName, "dViscMeltPhis"); - fvFormattedString(&options[OPT_VISCMELTPHIS].cDescr, "Viscosity Melt Factor Phi star"); - fvFormattedString(&options[OPT_VISCMELTPHIS].cDefault, "Default is VISCMELTPHIS"); + fvFormattedString(&options[OPT_VISCMELTPHIS].cDescr, + "Viscosity Melt Factor Phi star"); + fvFormattedString(&options[OPT_VISCMELTPHIS].cDefault, + "Default is VISCMELTPHIS"); fvFormattedString(&options[OPT_VISCMELTPHIS].cDimension, "nd"); options[OPT_VISCMELTPHIS].iType = 2; options[OPT_VISCMELTPHIS].bMultiFile = 1; @@ -1307,7 +1312,8 @@ void fvInitializeOptionsThermint(OPTIONS *options, fnReadOption fnRead[]) { "Bercovici (2015)."); fvFormattedString(&options[OPT_VISCMELTXI].cName, "dViscMeltXi"); - fvFormattedString(&options[OPT_VISCMELTXI].cDescr, "Viscosity Melt Factor Xi"); + fvFormattedString(&options[OPT_VISCMELTXI].cDescr, + "Viscosity Melt Factor Xi"); fvFormattedString(&options[OPT_VISCMELTXI].cDefault, "Default is VISCMELTXI"); fvFormattedString(&options[OPT_VISCMELTXI].cDimension, "nd"); options[OPT_VISCMELTXI].iType = 2; @@ -1316,14 +1322,17 @@ void fvInitializeOptionsThermint(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_VISCMELTXI].dDefault = VISCMELTXI; fvFormattedString(&options[OPT_VISCMELTXI].cNeg, "No negative behavior"); fnRead[OPT_VISCMELTXI] = &fvReadViscMeltXi; - fvFormattedString(&options[OPT_VISCMELTXI].cLongDescr, - "Constant used to compute the reduction in mantle viscosity \n" - "due to the presence of melt. See eq (162) in Barnes et al (2020) \n" - "and Costa et al (2009) for values for different materials."); + fvFormattedString( + &options[OPT_VISCMELTXI].cLongDescr, + "Constant used to compute the reduction in mantle viscosity \n" + "due to the presence of melt. See eq (162) in Barnes et al (2020) \n" + "and Costa et al (2009) for values for different materials."); fvFormattedString(&options[OPT_VISCMELTGAMMA].cName, "dViscMeltGamma"); - fvFormattedString(&options[OPT_VISCMELTGAMMA].cDescr, "Viscosity Melt Factor Gamma"); - fvFormattedString(&options[OPT_VISCMELTGAMMA].cDefault, "Default is VISCMELTGAMMA"); + fvFormattedString(&options[OPT_VISCMELTGAMMA].cDescr, + "Viscosity Melt Factor Gamma"); + fvFormattedString(&options[OPT_VISCMELTGAMMA].cDefault, + "Default is VISCMELTGAMMA"); fvFormattedString(&options[OPT_VISCMELTGAMMA].cDimension, "nd"); options[OPT_VISCMELTGAMMA].iType = 2; options[OPT_VISCMELTGAMMA].bMultiFile = 1; @@ -1331,14 +1340,17 @@ void fvInitializeOptionsThermint(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_VISCMELTGAMMA].dDefault = VISCMELTGAMMA; fvFormattedString(&options[OPT_VISCMELTGAMMA].cNeg, "No negative behavior"); fnRead[OPT_VISCMELTGAMMA] = &fvReadViscMeltGamma; - fvFormattedString(&options[OPT_VISCMELTGAMMA].cLongDescr, - "Constant used to compute the reduction in mantle viscosity \n" - "due to the presence of melt. See eq (162) in Barnes et al (2020) \n" - "and Costa et al (2009) for values for different materials."); + fvFormattedString( + &options[OPT_VISCMELTGAMMA].cLongDescr, + "Constant used to compute the reduction in mantle viscosity \n" + "due to the presence of melt. See eq (162) in Barnes et al (2020) \n" + "and Costa et al (2009) for values for different materials."); fvFormattedString(&options[OPT_VISCMELTDELTA].cName, "dViscMeltDelta"); - fvFormattedString(&options[OPT_VISCMELTDELTA].cDescr, "Viscosity Melt Factor Delta"); - fvFormattedString(&options[OPT_VISCMELTDELTA].cDefault, "Default is VISCMELTDELTA"); + fvFormattedString(&options[OPT_VISCMELTDELTA].cDescr, + "Viscosity Melt Factor Delta"); + fvFormattedString(&options[OPT_VISCMELTDELTA].cDefault, + "Default is VISCMELTDELTA"); fvFormattedString(&options[OPT_VISCMELTDELTA].cDimension, "nd"); options[OPT_VISCMELTDELTA].iType = 2; options[OPT_VISCMELTDELTA].bMultiFile = 1; @@ -1346,10 +1358,11 @@ void fvInitializeOptionsThermint(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_VISCMELTDELTA].dDefault = VISCMELTDELTA; fvFormattedString(&options[OPT_VISCMELTDELTA].cNeg, "No negative behavior"); fnRead[OPT_VISCMELTDELTA] = &fvReadViscMeltDelta; - fvFormattedString(&options[OPT_VISCMELTDELTA].cLongDescr, - "Constant used to compute the reduction in mantle viscosity \n" - "due to the presence of melt. See eq (161) in Barnes et al (2020) \n" - "and Costa et al (2009) for values for different materials."); + fvFormattedString( + &options[OPT_VISCMELTDELTA].cLongDescr, + "Constant used to compute the reduction in mantle viscosity \n" + "due to the presence of melt. See eq (161) in Barnes et al (2020) \n" + "and Costa et al (2009) for values for different materials."); fvFormattedString(&options[OPT_VISCMELTB].cName, "dViscMeltB"); fvFormattedString(&options[OPT_VISCMELTB].cDescr, "Viscosity Melt Factor B"); @@ -1361,22 +1374,25 @@ void fvInitializeOptionsThermint(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_VISCMELTB].dDefault = VISCMELTB; fvFormattedString(&options[OPT_VISCMELTB].cNeg, "No negative behavior"); fnRead[OPT_VISCMELTB] = &fvReadViscMeltB; - fvFormattedString(&options[OPT_VISCMELTB].cLongDescr, - "Constant used to compute the reduction in mantle viscosity \n" - "due to the presence of melt. See eq (161) in Barnes et al (2020) \n" - "and Costa et al (2009) for values for different materials."); + fvFormattedString( + &options[OPT_VISCMELTB].cLongDescr, + "Constant used to compute the reduction in mantle viscosity \n" + "due to the presence of melt. See eq (161) in Barnes et al (2020) \n" + "and Costa et al (2009) for values for different materials."); fvFormattedString(&options[OPT_MELTFACTORLMAN].cName, "dMeltfactorLMan"); fvFormattedString(&options[OPT_MELTFACTORLMAN].cDescr, - "Lower Mantle Viscosity Melt Factor"); - fvFormattedString(&options[OPT_MELTFACTORLMAN].cDefault, "%f", MELTFACTORLMAN); + "Lower Mantle Viscosity Melt Factor"); + fvFormattedString(&options[OPT_MELTFACTORLMAN].cDefault, "%f", + MELTFACTORLMAN); fvFormattedString(&options[OPT_MELTFACTORLMAN].cDimension, "nd"); options[OPT_MELTFACTORLMAN].iType = 2; options[OPT_MELTFACTORLMAN].bMultiFile = 1; // XXX Rory doesn't think negative options should be allowed here // options[OPT_MELTFACTORLMAN].dNeg = MELTFACTORLMAN; options[OPT_MELTFACTORLMAN].dDefault = MELTFACTORLMAN; - // fvFormattedString(options[OPT_MELTFACTORLMAN].cNeg,"Default is MELTFACTORLMAN"); + // fvFormattedString(options[OPT_MELTFACTORLMAN].cNeg,"Default is + // MELTFACTORLMAN"); fnRead[OPT_MELTFACTORLMAN] = &fvReadMeltfactorLMan; fvFormattedString( &options[OPT_MELTFACTORLMAN].cLongDescr, @@ -1387,8 +1403,9 @@ void fvInitializeOptionsThermint(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_MELTFACTORUMAN].cName, "dMeltfactorUMan"); fvFormattedString(&options[OPT_MELTFACTORUMAN].cDescr, - "Upper Mantle Viscosity Melt Factor"); - fvFormattedString(&options[OPT_MELTFACTORUMAN].cDefault, "%f", MELTFACTORUMAN); + "Upper Mantle Viscosity Melt Factor"); + fvFormattedString(&options[OPT_MELTFACTORUMAN].cDefault, "%f", + MELTFACTORUMAN); fvFormattedString(&options[OPT_MELTFACTORUMAN].cDimension, "nd"); options[OPT_MELTFACTORUMAN].iType = 2; options[OPT_MELTFACTORUMAN].bMultiFile = 1; @@ -1403,22 +1420,26 @@ void fvInitializeOptionsThermint(OPTIONS *options, fnReadOption fnRead[]) { "this is an option. Default behavior is to compute this factor from \n" "the local temperature."); - fvFormattedString(&options[OPT_FIXMELTFACTORUMAN].cName, "dFixMeltfactorUMan"); - fvFormattedString(&options[OPT_FIXMELTFACTORUMAN].cDescr, "Fix Viscosity Melt Factor"); + fvFormattedString(&options[OPT_FIXMELTFACTORUMAN].cName, + "dFixMeltfactorUMan"); + fvFormattedString(&options[OPT_FIXMELTFACTORUMAN].cDescr, + "Fix Viscosity Melt Factor"); fvFormattedString(&options[OPT_FIXMELTFACTORUMAN].cDefault, - "Default is FIXMELTFACTORUMAN"); + "Default is FIXMELTFACTORUMAN"); fvFormattedString(&options[OPT_FIXMELTFACTORUMAN].cDimension, "nd"); options[OPT_FIXMELTFACTORUMAN].iType = 2; options[OPT_FIXMELTFACTORUMAN].bMultiFile = 1; options[OPT_FIXMELTFACTORUMAN].dNeg = FIXMELTFACTORUMAN; options[OPT_FIXMELTFACTORUMAN].dDefault = FIXMELTFACTORUMAN; - fvFormattedString(&options[OPT_FIXMELTFACTORUMAN].cNeg, "No negative behavior"); + fvFormattedString(&options[OPT_FIXMELTFACTORUMAN].cNeg, + "No negative behavior"); fnRead[OPT_FIXMELTFACTORUMAN] = &fvReadFixMeltfactorUMan; - fvFormattedString(&options[OPT_FIXMELTFACTORUMAN].cLongDescr, - "Boolean: 1 tells the code to used a fixed upper mantle viscosity " - "melt \n" - "factor, 0 tells the code to compute it from the local temperature " - "(default)."); + fvFormattedString( + &options[OPT_FIXMELTFACTORUMAN].cLongDescr, + "Boolean: 1 tells the code to used a fixed upper mantle viscosity " + "melt \n" + "factor, 0 tells the code to compute it from the local temperature " + "(default)."); /* RB: I don't understand this. STAGLID is 0 in thermint.h, so isn't the default not to use staglid? I'd also prefer to see this change to @@ -1441,7 +1462,8 @@ void fvInitializeOptionsThermint(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_MANHFLOWPREF].cName, "dManHFlowPref"); fvFormattedString(&options[OPT_MANHFLOWPREF].cDescr, "Mantle HFlow Prefix"); - fvFormattedString(&options[OPT_MANHFLOWPREF].cDefault, "Default is MANHFLOWPREF"); + fvFormattedString(&options[OPT_MANHFLOWPREF].cDefault, + "Default is MANHFLOWPREF"); fvFormattedString(&options[OPT_MANHFLOWPREF].cDimension, "nd"); options[OPT_MANHFLOWPREF].iType = 2; options[OPT_MANHFLOWPREF].bMultiFile = 1; @@ -1449,13 +1471,15 @@ void fvInitializeOptionsThermint(OPTIONS *options, fnReadOption fnRead[]) { options[OPT_MANHFLOWPREF].dDefault = MANHFLOWPREF; fvFormattedString(&options[OPT_MANHFLOWPREF].cNeg, "No negative behavior"); fnRead[OPT_MANHFLOWPREF] = &fvReadManHFlowPref; - fvFormattedString(&options[OPT_MANHFLOWPREF].cLongDescr, - "Coefficient in front of HflowUMan, value can be anything. \n" - "If StagLid>0 then ManHFlowPref=HFLOWREDUCTSTAG. \n" - "Otherwise default behavior is 1."); + fvFormattedString( + &options[OPT_MANHFLOWPREF].cLongDescr, + "Coefficient in front of HflowUMan, value can be anything. \n" + "If StagLid>0 then ManHFlowPref=HFLOWREDUCTSTAG. \n" + "Otherwise default behavior is 1."); fvFormattedString(&options[OPT_MAGMOMCOEF].cName, "dMagMomCoef"); - fvFormattedString(&options[OPT_MAGMOMCOEF].cDescr, "Magnetic Moment Coefficient"); + fvFormattedString(&options[OPT_MAGMOMCOEF].cDescr, + "Magnetic Moment Coefficient"); fvFormattedString(&options[OPT_MAGMOMCOEF].cDefault, "Default is MAGMOMCOEF"); fvFormattedString(&options[OPT_MAGMOMCOEF].cDimension, "nd"); options[OPT_MAGMOMCOEF].iType = 2; @@ -1465,11 +1489,12 @@ void fvInitializeOptionsThermint(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_MAGMOMCOEF].cNeg, "No negative behavior"); fnRead[OPT_MAGMOMCOEF] = &fvReadMagMomCoef; fvFormattedString(&options[OPT_MAGMOMCOEF].cLongDescr, - "Coefficient in front of magnetic moment scaling law, \n" - "gamma_d in eq (192) in Barnes et al (2020)."); + "Coefficient in front of magnetic moment scaling law, \n" + "gamma_d in eq (192) in Barnes et al (2020)."); fvFormattedString(&options[OPT_PRESSWIND].cName, "dPresSWind"); - fvFormattedString(&options[OPT_PRESSWIND].cDescr, "Stellar Wind Pressure at body"); + fvFormattedString(&options[OPT_PRESSWIND].cDescr, + "Stellar Wind Pressure at body"); fvFormattedString(&options[OPT_PRESSWIND].cDefault, "Default is EPRESSWIND"); fvFormattedString(&options[OPT_PRESSWIND].cDimension, "pressure"); options[OPT_PRESSWIND].iType = 2; @@ -1482,7 +1507,7 @@ void fvInitializeOptionsThermint(OPTIONS *options, fnReadOption fnRead[]) { /* Halt at Minimum Mantle Temperature */ fvFormattedString(&options[OPT_HALTMINTMAN].cName, "dHaltMinTMan"); fvFormattedString(&options[OPT_HALTMINTMAN].cDescr, - "Halt at Minimum Mantle Temperature"); + "Halt at Minimum Mantle Temperature"); fvFormattedString(&options[OPT_HALTMINTMAN].cDefault, "0 K"); fvFormattedString(&options[OPT_HALTMINTMAN].cDimension, "temperature"); options[OPT_HALTMINTMAN].iType = 2; @@ -1494,7 +1519,8 @@ void fvInitializeOptionsThermint(OPTIONS *options, fnReadOption fnRead[]) { /* Halt at Minimum Core Temperature */ fvFormattedString(&options[OPT_HALTMINTCORE].cName, "dHaltMinTCore"); - fvFormattedString(&options[OPT_HALTMINTCORE].cDescr, "Halt at Minimum Core Temperature"); + fvFormattedString(&options[OPT_HALTMINTCORE].cDescr, + "Halt at Minimum Core Temperature"); fvFormattedString(&options[OPT_HALTMINTCORE].cDefault, "0 K"); fvFormattedString(&options[OPT_HALTMINTCORE].cDimension, "temperature"); options[OPT_HALTMINTCORE].iType = 2; @@ -1507,7 +1533,8 @@ void fvInitializeOptionsThermint(OPTIONS *options, fnReadOption fnRead[]) { /* Begin vemcee parameters */ /* ActViscMan */ fvFormattedString(&options[OPT_ACTVISCMAN].cName, "dActViscMan"); - fvFormattedString(&options[OPT_ACTVISCMAN].cDescr, "Mantle viscosity activation energy"); + fvFormattedString(&options[OPT_ACTVISCMAN].cDescr, + "Mantle viscosity activation energy"); fvFormattedString(&options[OPT_ACTVISCMAN].cDefault, "Default is ACTVISCMAN"); fvFormattedString(&options[OPT_ACTVISCMAN].cDimension, "pressure"); options[OPT_ACTVISCMAN].iType = 2; @@ -1518,14 +1545,14 @@ void fvInitializeOptionsThermint(OPTIONS *options, fnReadOption fnRead[]) { fnRead[OPT_ACTVISCMAN] = &fvReadActViscMan; // Needs a LongDescr fvFormattedString(&options[OPT_ACTVISCMAN].cLongDescr, - "Mantle viscosity activation energy, E_nu in \n" - "eq (159) of Barnes et al (2020). Physically it is\n" - "a measure of how sensitive viscosity is to temperature."); + "Mantle viscosity activation energy, E_nu in \n" + "eq (159) of Barnes et al (2020). Physically it is\n" + "a measure of how sensitive viscosity is to temperature."); /* ShModRef */ fvFormattedString(&options[OPT_SHMODREF].cName, "dShModRef"); fvFormattedString(&options[OPT_SHMODREF].cDescr, - "Reference kinematic mantle shear modulus"); + "Reference kinematic mantle shear modulus"); fvFormattedString(&options[OPT_SHMODREF].cDefault, "Default is SHMODREF"); fvFormattedString(&options[OPT_SHMODREF].cDimension, "pressure"); options[OPT_SHMODREF].iType = 2; @@ -1535,14 +1562,16 @@ void fvInitializeOptionsThermint(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_SHMODREF].cNeg, "No negative behavior"); fnRead[OPT_SHMODREF] = &fvReadShModRef; // Needs a LongDescr - fvFormattedString(&options[OPT_SHMODREF].cLongDescr, - "Reference kinematic mantle shear modulus coefficient, mu_ref\n" - "in eq (160) of Barnes et al (2020). Analogous to reference \n" - "viscosity ViscRef."); + fvFormattedString( + &options[OPT_SHMODREF].cLongDescr, + "Reference kinematic mantle shear modulus coefficient, mu_ref\n" + "in eq (160) of Barnes et al (2020). Analogous to reference \n" + "viscosity ViscRef."); /* Stiffness */ fvFormattedString(&options[OPT_STIFFNESS].cName, "dStiffness"); - fvFormattedString(&options[OPT_STIFFNESS].cDescr, "Effective stiffness of mantle"); + fvFormattedString(&options[OPT_STIFFNESS].cDescr, + "Effective stiffness of mantle"); fvFormattedString(&options[OPT_STIFFNESS].cDefault, "Default is STIFFNESS"); fvFormattedString(&options[OPT_STIFFNESS].cDimension, "pressure"); options[OPT_STIFFNESS].iType = 2; @@ -1555,7 +1584,7 @@ void fvInitializeOptionsThermint(OPTIONS *options, fnReadOption fnRead[]) { /* DLind */ fvFormattedString(&options[OPT_DLIND].cName, "dDLind"); fvFormattedString(&options[OPT_DLIND].cDescr, - "Lindemann's law length scale for iron liquidus"); + "Lindemann's law length scale for iron liquidus"); fvFormattedString(&options[OPT_DLIND].cDefault, "Default is DLIND"); fvFormattedString(&options[OPT_DLIND].cDimension, "length"); options[OPT_DLIND].iType = 2; @@ -1565,16 +1594,18 @@ void fvInitializeOptionsThermint(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_DLIND].cNeg, "No negative behavior"); fnRead[OPT_DLIND] = &fvReadDLind; // Needs a LongDescr - fvFormattedString(&options[OPT_DLIND].cLongDescr, - "Length scale for core iron liquidus (Lindemann's law), D_Fe \n" - "in eq (175) of Barnes et al (2020). It determines the \n" - "curvature of the core iron liquidus as a function of radius \n" - "so that smaller values cause the iron liquidus to drop faster \n" - "with radius."); + fvFormattedString( + &options[OPT_DLIND].cLongDescr, + "Length scale for core iron liquidus (Lindemann's law), D_Fe \n" + "in eq (175) of Barnes et al (2020). It determines the \n" + "curvature of the core iron liquidus as a function of radius \n" + "so that smaller values cause the iron liquidus to drop faster \n" + "with radius."); /* DAdCore */ fvFormattedString(&options[OPT_DADCORE].cName, "dDAdCore"); - fvFormattedString(&options[OPT_DADCORE].cDescr, "Liq iron core adiabatic length scale"); + fvFormattedString(&options[OPT_DADCORE].cDescr, + "Liq iron core adiabatic length scale"); fvFormattedString(&options[OPT_DADCORE].cDefault, "Default is DADCORE"); fvFormattedString(&options[OPT_DADCORE].cDimension, "length"); options[OPT_DADCORE].iType = 2; @@ -1584,17 +1615,18 @@ void fvInitializeOptionsThermint(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_DADCORE].cNeg, "No negative behavior"); fnRead[OPT_DADCORE] = &fvReadDAdCore; // Needs a LongDescr - fvFormattedString(&options[OPT_DADCORE].cLongDescr, - "Length scale for core iron adiabatic temperature profile, D_N \n" - "in eq (174) of Barnes et al (2020). It determines the \n" - "curvature of the core iron adiabat as a function of radius \n" - "so that smaller values cause the core adiabat to drop faster \n" - "with radius."); + fvFormattedString( + &options[OPT_DADCORE].cLongDescr, + "Length scale for core iron adiabatic temperature profile, D_N \n" + "in eq (174) of Barnes et al (2020). It determines the \n" + "curvature of the core iron adiabat as a function of radius \n" + "so that smaller values cause the core adiabat to drop faster \n" + "with radius."); /* AdJumpM2UM */ fvFormattedString(&options[OPT_ADJUMPM2UM].cName, "dAdJumpM2UM"); fvFormattedString(&options[OPT_ADJUMPM2UM].cDescr, - "Adiabatic temp jump from ave mantle to UM"); + "Adiabatic temp jump from ave mantle to UM"); fvFormattedString(&options[OPT_ADJUMPM2UM].cDefault, "Default is ADJUMPM2UM"); fvFormattedString(&options[OPT_ADJUMPM2UM].cDimension, "temperature"); options[OPT_ADJUMPM2UM].iType = 2; @@ -1604,14 +1636,15 @@ void fvInitializeOptionsThermint(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_ADJUMPM2UM].cNeg, "No negative behavior"); fnRead[OPT_ADJUMPM2UM] = &fvReadAdJumpM2UM; // Needs a LongDescr - fvFormattedString(&options[OPT_ADJUMPM2UM].cLongDescr, - "Constant used to relate TUMan to TMan (TUMan=AdJumpM2UM*TMan),\n" - "eta_UM below eq (8) in Driscoll & Bercovici (2014)."); + fvFormattedString( + &options[OPT_ADJUMPM2UM].cLongDescr, + "Constant used to relate TUMan to TMan (TUMan=AdJumpM2UM*TMan),\n" + "eta_UM below eq (8) in Driscoll & Bercovici (2014)."); /* AdJumpM2LM */ fvFormattedString(&options[OPT_ADJUMPM2LM].cName, "dAdJumpM2LM"); fvFormattedString(&options[OPT_ADJUMPM2LM].cDescr, - "Adiabatic temp jump from ave mantle to LM"); + "Adiabatic temp jump from ave mantle to LM"); fvFormattedString(&options[OPT_ADJUMPM2LM].cDefault, "Default is ADJUMPM2LM"); fvFormattedString(&options[OPT_ADJUMPM2LM].cDimension, "nd"); options[OPT_ADJUMPM2LM].iType = 2; @@ -1621,15 +1654,17 @@ void fvInitializeOptionsThermint(OPTIONS *options, fnReadOption fnRead[]) { fvFormattedString(&options[OPT_ADJUMPM2LM].cNeg, "No negative behavior"); fnRead[OPT_ADJUMPM2LM] = &fvReadAdJumpM2LM; // Needs a LongDescr - fvFormattedString(&options[OPT_ADJUMPM2LM].cLongDescr, - "Constant used to relate TLMan to TMan (TLMan=AdJumpM2LM*TMan),\n" - "analogous to AdJumpM2UM."); + fvFormattedString( + &options[OPT_ADJUMPM2LM].cLongDescr, + "Constant used to relate TLMan to TMan (TLMan=AdJumpM2LM*TMan),\n" + "analogous to AdJumpM2UM."); /* AdJumpC2CMB */ fvFormattedString(&options[OPT_ADJUMPC2CMB].cName, "dAdJumpC2CMB"); fvFormattedString(&options[OPT_ADJUMPC2CMB].cDescr, - "Adiabatic temp jump from ave core to CMB"); - fvFormattedString(&options[OPT_ADJUMPC2CMB].cDefault, "Default is ADJUMPC2CMB"); + "Adiabatic temp jump from ave core to CMB"); + fvFormattedString(&options[OPT_ADJUMPC2CMB].cDefault, + "Default is ADJUMPC2CMB"); fvFormattedString(&options[OPT_ADJUMPC2CMB].cDimension, "nd"); options[OPT_ADJUMPC2CMB].iType = 2; options[OPT_ADJUMPC2CMB].bMultiFile = 1; @@ -1640,9 +1675,12 @@ void fvInitializeOptionsThermint(OPTIONS *options, fnReadOption fnRead[]) { /* ElecCondCore */ fvFormattedString(&options[OPT_ELECCONDCORE].cName, "dElecCondCore"); - fvFormattedString(&options[OPT_ELECCONDCORE].cDescr, "Electrical conductivity of core"); - fvFormattedString(&options[OPT_ELECCONDCORE].cDefault, "Default is ELECCONDCORE"); - fvFormattedString(&options[OPT_ELECCONDCORE].cDimension, "time^3*ampere^2/mass/length"); + fvFormattedString(&options[OPT_ELECCONDCORE].cDescr, + "Electrical conductivity of core"); + fvFormattedString(&options[OPT_ELECCONDCORE].cDefault, + "Default is ELECCONDCORE"); + fvFormattedString(&options[OPT_ELECCONDCORE].cDimension, + "time^3*ampere^2/mass/length"); options[OPT_ELECCONDCORE].iType = 2; options[OPT_ELECCONDCORE].bMultiFile = 1; options[OPT_ELECCONDCORE].dNeg = ELECCONDCORE; @@ -1652,9 +1690,11 @@ void fvInitializeOptionsThermint(OPTIONS *options, fnReadOption fnRead[]) { /* ImK2ManOrbModel */ fvFormattedString(&options[OPT_IMK2MANORBMODEL].cName, "dImK2ManOrbModel"); - fvFormattedString(&options[OPT_IMK2MANORBMODEL].cDescr, - "ImK2Man model to use in orbital equations (1=ImK2(T), 2=k2/Q(T)"); - fvFormattedString(&options[OPT_IMK2MANORBMODEL].cDefault, "Default is IMK2MANORBMODEL"); + fvFormattedString( + &options[OPT_IMK2MANORBMODEL].cDescr, + "ImK2Man model to use in orbital equations (1=ImK2(T), 2=k2/Q(T)"); + fvFormattedString(&options[OPT_IMK2MANORBMODEL].cDefault, + "Default is IMK2MANORBMODEL"); fvFormattedString(&options[OPT_IMK2MANORBMODEL].cDimension, "nd"); options[OPT_IMK2MANORBMODEL].iType = 2; options[OPT_IMK2MANORBMODEL].bMultiFile = 1; @@ -2168,15 +2208,15 @@ void fvWriteTUMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, @param dTmp Temporary variable @param cUnit Variable units */ -void fvWriteTsolUMan(BODY *body, CONTROL *control, OUTPUT *output, SYSTEM *system, - UNITS *units, UPDATE *update, int iBody, double *dTmp, - char **cUnit) { - /* Get TsolUMan */ +void fvWriteTsolUMan(BODY *body, CONTROL *control, OUTPUT *output, + SYSTEM *system, UNITS *units, UPDATE *update, int iBody, + double *dTmp, char **cUnit) { + /* Get TsolUMan */ *dTmp = body[iBody].dTsolUMan; if (output->bDoNeg[iBody]) { *dTmp *= output->dNeg; fvFormattedString(cUnit, output->cNeg); - } else{ + } else { } } /** @@ -2273,6 +2313,7 @@ void fvWriteSignTJumpUMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp *= output->dNeg; fvFormattedString(cUnit, output->cNeg); } else { + fvFormattedString(cUnit, ""); } } /** @@ -2297,6 +2338,7 @@ void fvWriteSignTJumpLMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp *= output->dNeg; fvFormattedString(cUnit, output->cNeg); } else { + fvFormattedString(cUnit, ""); } } /** @@ -2595,6 +2637,7 @@ void fvWriteFMeltUMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp *= output->dNeg; fvFormattedString(cUnit, output->cNeg); } else { + fvFormattedString(cUnit, ""); } } /** @@ -2618,6 +2661,7 @@ void fvWriteFMeltLMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp *= output->dNeg; fvFormattedString(cUnit, output->cNeg); } else { + fvFormattedString(cUnit, ""); } } /** @@ -2641,6 +2685,7 @@ void fvWriteMeltfactorUMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp *= output->dNeg; fvFormattedString(cUnit, output->cNeg); } else { + fvFormattedString(cUnit, ""); } } /** @@ -2664,6 +2709,7 @@ void fvWriteMeltfactorLMan(BODY *body, CONTROL *control, OUTPUT *output, *dTmp *= output->dNeg; fvFormattedString(cUnit, output->cNeg); } else { + fvFormattedString(cUnit, ""); } } /** @@ -2802,6 +2848,7 @@ void fvWriteEruptEff(BODY *body, CONTROL *control, OUTPUT *output, *dTmp *= output->dNeg; fvFormattedString(cUnit, output->cNeg); } else { + fvFormattedString(cUnit, ""); } } @@ -3660,13 +3707,14 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_TUMAN] = &fvWriteTUMan; fvFormattedString(&output[OUT_TSOLUMAN].cName, "TsolUMan"); - fvFormattedString(&output[OUT_TSOLUMAN].cDescr, "Upper Mantle Thermal Boundary Layer Solidus Temperature"); + fvFormattedString(&output[OUT_TSOLUMAN].cDescr, + "Upper Mantle Thermal Boundary Layer Solidus Temperature"); fvFormattedString(&output[OUT_TSOLUMAN].cNeg, "K"); - output[OUT_TSOLUMAN].bNeg = 1; - output[OUT_TSOLUMAN].dNeg = 1; - output[OUT_TSOLUMAN].iNum = 1; + output[OUT_TSOLUMAN].bNeg = 1; + output[OUT_TSOLUMAN].dNeg = 1; + output[OUT_TSOLUMAN].iNum = 1; output[OUT_TSOLUMAN].iModuleBit = THERMINT; - fnWrite[OUT_TSOLUMAN] = &fvWriteTsolUMan; + fnWrite[OUT_TSOLUMAN] = &fvWriteTsolUMan; fvFormattedString(&output[OUT_TLMAN].cName, "TLMan"); fvFormattedString(&output[OUT_TLMAN].cDescr, "Lower Mantle Temperature"); @@ -3678,7 +3726,8 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_TLMAN] = &fvWriteTLMan; fvFormattedString(&output[OUT_TJUMPUMAN].cName, "TJumpUMan"); - fvFormattedString(&output[OUT_TJUMPUMAN].cDescr, "Upper Mantle Temperature Jump"); + fvFormattedString(&output[OUT_TJUMPUMAN].cDescr, + "Upper Mantle Temperature Jump"); fvFormattedString(&output[OUT_TJUMPUMAN].cNeg, "K"); output[OUT_TJUMPUMAN].bNeg = 1; output[OUT_TJUMPUMAN].dNeg = 1; @@ -3687,7 +3736,8 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fnWrite[OUT_TJUMPUMAN] = &fvWriteTJumpUMan; fvFormattedString(&output[OUT_TJUMPLMAN].cName, "TJumpLMan"); - fvFormattedString(&output[OUT_TJUMPLMAN].cDescr, "Lower Mantle Temperature Jump"); + fvFormattedString(&output[OUT_TJUMPLMAN].cDescr, + "Lower Mantle Temperature Jump"); fvFormattedString(&output[OUT_TJUMPLMAN].cNeg, "K"); output[OUT_TJUMPLMAN].bNeg = 1; output[OUT_TJUMPLMAN].dNeg = 1; @@ -3697,7 +3747,7 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_SIGNTJUMPUMAN].cName, "SignTJumpUMan"); fvFormattedString(&output[OUT_SIGNTJUMPUMAN].cDescr, - "Sign of Upper Mantle Temperature Jump"); + "Sign of Upper Mantle Temperature Jump"); fvFormattedString(&output[OUT_SIGNTJUMPUMAN].cNeg, "K"); output[OUT_SIGNTJUMPUMAN].bNeg = 1; output[OUT_SIGNTJUMPUMAN].dNeg = 1; @@ -3707,7 +3757,7 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { fvFormattedString(&output[OUT_SIGNTJUMPLMAN].cName, "SignTJumpLMan"); fvFormattedString(&output[OUT_SIGNTJUMPLMAN].cDescr, - "Sign of Lower Mantle Temperature Jump"); + "Sign of Lower Mantle Temperature Jump"); fvFormattedString(&output[OUT_SIGNTJUMPLMAN].cNeg, "K"); output[OUT_SIGNTJUMPLMAN].bNeg = 1; output[OUT_SIGNTJUMPLMAN].dNeg = 1; @@ -3745,7 +3795,8 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { /* ViscUManArr Arrhenius Only */ fvFormattedString(&output[OUT_VISCUMANARR].cName, "ViscUManArr"); - fvFormattedString(&output[OUT_VISCUMANARR].cDescr, "Upper Mantle Arrhenius Viscosity"); + fvFormattedString(&output[OUT_VISCUMANARR].cDescr, + "Upper Mantle Arrhenius Viscosity"); fvFormattedString(&output[OUT_VISCUMANARR].cNeg, "m^2/s"); output[OUT_VISCUMANARR].bNeg = 1; output[OUT_VISCUMANARR].dNeg = 1; @@ -3766,7 +3817,8 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { /* ViscMMan */ fvFormattedString(&output[OUT_VISCMMAN].cName, "ViscMMan"); - fvFormattedString(&output[OUT_VISCMMAN].cDescr, "Average (mid) Mantle Viscosity"); + fvFormattedString(&output[OUT_VISCMMAN].cDescr, + "Average (mid) Mantle Viscosity"); fvFormattedString(&output[OUT_VISCMMAN].cNeg, "m^2/s"); output[OUT_VISCMMAN].bNeg = 1; output[OUT_VISCMMAN].dNeg = 1; @@ -3786,7 +3838,8 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { /* BLUMan */ fvFormattedString(&output[OUT_BLUMAN].cName, "BLUMan"); - fvFormattedString(&output[OUT_BLUMAN].cDescr, "Boundary Layer Thickness Upper Mantle"); + fvFormattedString(&output[OUT_BLUMAN].cDescr, + "Boundary Layer Thickness Upper Mantle"); fvFormattedString(&output[OUT_BLUMAN].cNeg, "km"); output[OUT_BLUMAN].bNeg = 1; output[OUT_BLUMAN].dNeg = 1e-3; // KM; @@ -3797,7 +3850,8 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { /* BLLMan */ fvFormattedString(&output[OUT_BLLMAN].cName, "BLLMan"); - fvFormattedString(&output[OUT_BLLMAN].cDescr, "Boundary Layer Thickness Lower Mantle"); + fvFormattedString(&output[OUT_BLLMAN].cDescr, + "Boundary Layer Thickness Lower Mantle"); fvFormattedString(&output[OUT_BLLMAN].cNeg, "km"); output[OUT_BLLMAN].bNeg = 1; output[OUT_BLLMAN].dNeg = 1e-3; @@ -3808,7 +3862,8 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { /* ShmodUMan */ fvFormattedString(&output[OUT_SHMODUMAN].cName, "ShmodUMan"); - fvFormattedString(&output[OUT_SHMODUMAN].cDescr, "Shear Modulus Upper Mantle"); + fvFormattedString(&output[OUT_SHMODUMAN].cDescr, + "Shear Modulus Upper Mantle"); fvFormattedString(&output[OUT_SHMODUMAN].cNeg, "Pa"); output[OUT_SHMODUMAN].bNeg = 1; output[OUT_SHMODUMAN].dNeg = 1; @@ -3818,7 +3873,8 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { /* FMeltUMan */ fvFormattedString(&output[OUT_FMELTUMAN].cName, "FMeltUMan"); - fvFormattedString(&output[OUT_FMELTUMAN].cDescr, "Melt Fraction Upper Mantle"); + fvFormattedString(&output[OUT_FMELTUMAN].cDescr, + "Melt Fraction Upper Mantle"); fvFormattedString(&output[OUT_FMELTUMAN].cNeg, "nd"); output[OUT_FMELTUMAN].bNeg = 1; output[OUT_FMELTUMAN].dNeg = 1; @@ -3828,7 +3884,8 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { /* FMeltLMan */ fvFormattedString(&output[OUT_FMELTLMAN].cName, "FMeltLMan"); - fvFormattedString(&output[OUT_FMELTLMAN].cDescr, "Melt Fraction Lower Mantle"); + fvFormattedString(&output[OUT_FMELTLMAN].cDescr, + "Melt Fraction Lower Mantle"); fvFormattedString(&output[OUT_FMELTLMAN].cNeg, "nd"); output[OUT_FMELTLMAN].bNeg = 1; output[OUT_FMELTLMAN].dNeg = 1; @@ -3838,7 +3895,8 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { /* MeltfactorUMan */ fvFormattedString(&output[OUT_MELTFACTORUMAN].cName, "MeltfactorUMan"); - fvFormattedString(&output[OUT_MELTFACTORUMAN].cDescr, "Melt Factor Upper Mantle"); + fvFormattedString(&output[OUT_MELTFACTORUMAN].cDescr, + "Melt Factor Upper Mantle"); fvFormattedString(&output[OUT_MELTFACTORUMAN].cNeg, "nd"); output[OUT_MELTFACTORUMAN].bNeg = 1; output[OUT_MELTFACTORUMAN].dNeg = 1; @@ -3849,7 +3907,8 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { /* MeltfactorLMan */ fvFormattedString(&output[OUT_MELTFACTORLMAN].cName, "MeltfactorLMan"); - fvFormattedString(&output[OUT_MELTFACTORLMAN].cDescr, "Melt Factor Lower Mantle"); + fvFormattedString(&output[OUT_MELTFACTORLMAN].cDescr, + "Melt Factor Lower Mantle"); fvFormattedString(&output[OUT_MELTFACTORLMAN].cNeg, "nd"); output[OUT_MELTFACTORLMAN].bNeg = 1; output[OUT_MELTFACTORLMAN].dNeg = 1; @@ -3861,7 +3920,7 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { /* DepthMeltMan */ fvFormattedString(&output[OUT_DEPTHMELTMAN].cName, "DepthMeltMan"); fvFormattedString(&output[OUT_DEPTHMELTMAN].cDescr, - "Depth to base of Upper Mantle Melt Region"); + "Depth to base of Upper Mantle Melt Region"); fvFormattedString(&output[OUT_DEPTHMELTMAN].cNeg, "m"); output[OUT_DEPTHMELTMAN].bNeg = 1; output[OUT_DEPTHMELTMAN].dNeg = 1; @@ -3872,7 +3931,7 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { /* TDepthMeltMan */ fvFormattedString(&output[OUT_TDEPTHMELTMAN].cName, "TDepthMeltMan"); fvFormattedString(&output[OUT_TDEPTHMELTMAN].cDescr, - "Temp at base of Upper Mantle Melt Region"); + "Temp at base of Upper Mantle Melt Region"); fvFormattedString(&output[OUT_TDEPTHMELTMAN].cNeg, "K"); output[OUT_TDEPTHMELTMAN].bNeg = 1; output[OUT_TDEPTHMELTMAN].dNeg = 1; @@ -3883,7 +3942,7 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { /* TJumpMeltMan */ fvFormattedString(&output[OUT_TJUMPMELTMAN].cName, "TJumpMeltMan"); fvFormattedString(&output[OUT_TJUMPMELTMAN].cDescr, - "Temp Jump across Upper Mantle Melt Region"); + "Temp Jump across Upper Mantle Melt Region"); fvFormattedString(&output[OUT_TJUMPMELTMAN].cNeg, "K"); output[OUT_TJUMPMELTMAN].bNeg = 1; output[OUT_TJUMPMELTMAN].dNeg = 1; @@ -3893,7 +3952,8 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { /* MeltMassFluxMan */ fvFormattedString(&output[OUT_MELTMASSFLUXMAN].cName, "MeltMassFluxMan"); - fvFormattedString(&output[OUT_MELTMASSFLUXMAN].cDescr, "Mantle Melt Mass Flux"); + fvFormattedString(&output[OUT_MELTMASSFLUXMAN].cDescr, + "Mantle Melt Mass Flux"); fvFormattedString(&output[OUT_MELTMASSFLUXMAN].cNeg, "kg/s"); output[OUT_MELTMASSFLUXMAN].bNeg = 1; output[OUT_MELTMASSFLUXMAN].dNeg = 1; @@ -3903,7 +3963,8 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { /* EruptEff */ fvFormattedString(&output[OUT_ERUPTEFF].cName, "EruptEff"); - fvFormattedString(&output[OUT_ERUPTEFF].cDescr, "Mantle Melt Eruption Efficiency"); + fvFormattedString(&output[OUT_ERUPTEFF].cDescr, + "Mantle Melt Eruption Efficiency"); fvFormattedString(&output[OUT_ERUPTEFF].cNeg, "nd"); output[OUT_ERUPTEFF].bNeg = 1; output[OUT_ERUPTEFF].dNeg = 1; @@ -3944,7 +4005,8 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { // Dynamic Viscosity fvFormattedString(&output[OUT_DYNVISC].cName, "DynViscUMan"); - fvFormattedString(&output[OUT_DYNVISC].cDescr, "Upper Mantle's Dynamic Viscosity"); + fvFormattedString(&output[OUT_DYNVISC].cDescr, + "Upper Mantle's Dynamic Viscosity"); fvFormattedString(&output[OUT_DYNVISC].cNeg, "Pa"); output[OUT_DYNVISC].bNeg = 1; output[OUT_DYNVISC].dNeg = 1; @@ -3955,7 +4017,7 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { /* ChiOC */ fvFormattedString(&output[OUT_CHIOC].cName, "ChiOC"); fvFormattedString(&output[OUT_CHIOC].cDescr, - "Light Element Concentration in Outer Core"); + "Light Element Concentration in Outer Core"); fvFormattedString(&output[OUT_CHIOC].cNeg, "nd"); output[OUT_CHIOC].bNeg = 1; output[OUT_CHIOC].dNeg = 1; @@ -3966,7 +4028,7 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { /* ChiIC */ fvFormattedString(&output[OUT_CHIIC].cName, "ChiIC"); fvFormattedString(&output[OUT_CHIIC].cDescr, - "Light Element Concentration in Inner Core"); + "Light Element Concentration in Inner Core"); fvFormattedString(&output[OUT_CHIIC].cNeg, "nd"); output[OUT_CHIIC].bNeg = 1; output[OUT_CHIIC].dNeg = 1; @@ -4029,7 +4091,8 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { /* CoreBuoyTherm */ fvFormattedString(&output[OUT_COREBUOYTHERM].cName, "CoreBuoyTherm"); - fvFormattedString(&output[OUT_COREBUOYTHERM].cDescr, "Core Thermal Buoyancy Flux"); + fvFormattedString(&output[OUT_COREBUOYTHERM].cDescr, + "Core Thermal Buoyancy Flux"); fvFormattedString(&output[OUT_COREBUOYTHERM].cNeg, "m^2/s^3"); output[OUT_COREBUOYTHERM].bNeg = 1; output[OUT_COREBUOYTHERM].dNeg = 1; @@ -4040,7 +4103,8 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { /* CoreBuoyCompo */ fvFormattedString(&output[OUT_COREBUOYCOMPO].cName, "CoreBuoyCompo"); - fvFormattedString(&output[OUT_COREBUOYCOMPO].cDescr, "Core Compositional Buoyancy Flux"); + fvFormattedString(&output[OUT_COREBUOYCOMPO].cDescr, + "Core Compositional Buoyancy Flux"); fvFormattedString(&output[OUT_COREBUOYCOMPO].cNeg, "m^2/s^3"); output[OUT_COREBUOYCOMPO].bNeg = 1; output[OUT_COREBUOYCOMPO].dNeg = 1; @@ -4051,7 +4115,8 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { /* CoreBuoyTotal */ fvFormattedString(&output[OUT_COREBUOYTOTAL].cName, "CoreBuoyTotal"); - fvFormattedString(&output[OUT_COREBUOYTOTAL].cDescr, "Core Total Buoyancy Flux"); + fvFormattedString(&output[OUT_COREBUOYTOTAL].cDescr, + "Core Total Buoyancy Flux"); fvFormattedString(&output[OUT_COREBUOYTOTAL].cNeg, "m^2/s^3"); output[OUT_COREBUOYTOTAL].bNeg = 1; output[OUT_COREBUOYTOTAL].dNeg = 1; @@ -4092,7 +4157,8 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { /* PresSWind */ fvFormattedString(&output[OUT_PRESSWIND].cName, "PresSWind"); - fvFormattedString(&output[OUT_PRESSWIND].cDescr, "Stellar wind pressure at body"); + fvFormattedString(&output[OUT_PRESSWIND].cDescr, + "Stellar wind pressure at body"); fvFormattedString(&output[OUT_PRESSWIND].cNeg, "EPRESSWIND"); output[OUT_PRESSWIND].bNeg = 1; output[OUT_PRESSWIND].dNeg = 1. / (EPRESSWIND); @@ -4133,7 +4199,8 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { /* HFluxCMB */ fvFormattedString(&output[OUT_HFLUXCMB].cName, "HfluxCMB"); - fvFormattedString(&output[OUT_HFLUXCMB].cDescr, "Heat Flux Core-Mantle Boundary"); + fvFormattedString(&output[OUT_HFLUXCMB].cDescr, + "Heat Flux Core-Mantle Boundary"); fvFormattedString(&output[OUT_HFLUXCMB].cNeg, "W/m^2"); output[OUT_HFLUXCMB].bNeg = 1; output[OUT_HFLUXCMB].dNeg = 1; @@ -4144,7 +4211,7 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { /* HfluxCMBAd */ fvFormattedString(&output[OUT_HFLUXCMBAD].cName, "HfluxCMBAd"); fvFormattedString(&output[OUT_HFLUXCMBAD].cDescr, - "Adiabatic Heat Flux Core-Mantle Boundary"); + "Adiabatic Heat Flux Core-Mantle Boundary"); fvFormattedString(&output[OUT_HFLUXCMBAD].cNeg, "W/m^2"); output[OUT_HFLUXCMBAD].bNeg = 1; output[OUT_HFLUXCMBAD].dNeg = 1; @@ -4155,8 +4222,9 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { /* HfluxCMBConv */ fvFormattedString(&output[OUT_HFLUXCMBCONV].cName, "HfluxCMBConv"); - fvFormattedString(&output[OUT_HFLUXCMBCONV].cDescr, - "Super-Adiabatic (convective) Heat Flux Core-Mantle Boundary"); + fvFormattedString( + &output[OUT_HFLUXCMBCONV].cDescr, + "Super-Adiabatic (convective) Heat Flux Core-Mantle Boundary"); fvFormattedString(&output[OUT_HFLUXCMBCONV].cNeg, "W/m^2"); output[OUT_HFLUXCMBCONV].bNeg = 1; output[OUT_HFLUXCMBCONV].dNeg = 1; @@ -4167,7 +4235,7 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { /* ThermConductOC */ fvFormattedString(&output[OUT_THERMCONDUCTOC].cName, "ThermConductOC"); fvFormattedString(&output[OUT_THERMCONDUCTOC].cDescr, - "Thermal Conductivity of the Outer Core"); + "Thermal Conductivity of the Outer Core"); fvFormattedString(&output[OUT_THERMCONDUCTOC].cNeg, "W/m/K"); output[OUT_THERMCONDUCTOC].bNeg = 1; output[OUT_THERMCONDUCTOC].dNeg = 1; @@ -4197,7 +4265,8 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { /* HFlowCMB */ fvFormattedString(&output[OUT_HFLOWCMB].cName, "HflowCMB"); - fvFormattedString(&output[OUT_HFLOWCMB].cDescr, "Heat Flow Core-Mantle Boundary"); + fvFormattedString(&output[OUT_HFLOWCMB].cDescr, + "Heat Flow Core-Mantle Boundary"); fvFormattedString(&output[OUT_HFLOWCMB].cNeg, "TW"); output[OUT_HFLOWCMB].bNeg = 1; output[OUT_HFLOWCMB].dNeg = 1e-12; @@ -4207,7 +4276,8 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { /* HflowLatentMan */ fvFormattedString(&output[OUT_HFLOWLATENTMAN].cName, "HflowLatentMan"); - fvFormattedString(&output[OUT_HFLOWLATENTMAN].cDescr, "Latent Heat Flow Mantle"); + fvFormattedString(&output[OUT_HFLOWLATENTMAN].cDescr, + "Latent Heat Flow Mantle"); fvFormattedString(&output[OUT_HFLOWLATENTMAN].cNeg, "TW"); output[OUT_HFLOWLATENTMAN].bNeg = 1; output[OUT_HFLOWLATENTMAN].dNeg = 1e-12; @@ -4227,7 +4297,8 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { /* HFlowSecMan */ fvFormattedString(&output[OUT_HFLOWSECMAN].cName, "HflowSecMan"); - fvFormattedString(&output[OUT_HFLOWSECMAN].cDescr, "Mantle Secular Heat Flow"); + fvFormattedString(&output[OUT_HFLOWSECMAN].cDescr, + "Mantle Secular Heat Flow"); fvFormattedString(&output[OUT_HFLOWSECMAN].cNeg, "TW"); output[OUT_HFLOWSECMAN].bNeg = 1; output[OUT_HFLOWSECMAN].dNeg = 1e-12; @@ -4249,7 +4320,8 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { /* HFlowLatentIC */ fvFormattedString(&output[OUT_HFLOWLATENTIC].cName, "HflowLatentIC"); - fvFormattedString(&output[OUT_HFLOWLATENTIC].cDescr, "Latent Heat Release at ICB"); + fvFormattedString(&output[OUT_HFLOWLATENTIC].cDescr, + "Latent Heat Release at ICB"); fvFormattedString(&output[OUT_HFLOWLATENTIC].cNeg, "TW"); output[OUT_HFLOWLATENTIC].bNeg = 1; output[OUT_HFLOWLATENTIC].dNeg = 1e-12; @@ -4259,7 +4331,8 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { /* PowerGravIC */ fvFormattedString(&output[OUT_POWERGRAVIC].cName, "PowerGravIC"); - fvFormattedString(&output[OUT_POWERGRAVIC].cDescr, "Gravitational Power Release at ICB"); + fvFormattedString(&output[OUT_POWERGRAVIC].cDescr, + "Gravitational Power Release at ICB"); fvFormattedString(&output[OUT_POWERGRAVIC].cNeg, "TW"); output[OUT_POWERGRAVIC].bNeg = 1; output[OUT_POWERGRAVIC].dNeg = 1e-12; @@ -4269,7 +4342,8 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { /* TDotMan */ fvFormattedString(&output[OUT_TDOTMAN].cName, "TDotMan"); - fvFormattedString(&output[OUT_TDOTMAN].cDescr, "Change in Mantle Temperature"); + fvFormattedString(&output[OUT_TDOTMAN].cDescr, + "Change in Mantle Temperature"); fvFormattedString(&output[OUT_TDOTMAN].cNeg, "K/s"); output[OUT_TDOTMAN].bNeg = 1; output[OUT_TDOTMAN].dNeg = 1; @@ -4290,7 +4364,8 @@ void fvInitializeOutputThermint(OUTPUT *output, fnWriteOutput fnWrite[]) { /* Constants */ /* TrefLind */ fvFormattedString(&output[OUT_TREFLIND].cName, "TrefLind"); - fvFormattedString(&output[OUT_TREFLIND].cDescr, "Core Liquidus Lindeman Reference"); + fvFormattedString(&output[OUT_TREFLIND].cDescr, + "Core Liquidus Lindeman Reference"); fvFormattedString(&output[OUT_TREFLIND].cNeg, "K"); output[OUT_TREFLIND].bNeg = 1; output[OUT_TREFLIND].dNeg = 1; diff --git a/tests/Stellar/MagneticBraking/breiman.in b/tests/Stellar/MagneticBraking/breiman.in new file mode 100644 index 000000000..b681a31f6 --- /dev/null +++ b/tests/Stellar/MagneticBraking/breiman.in @@ -0,0 +1,12 @@ +# +sName breimann +saModules stellar +dMass 1.0 +dAge 5.0e6 +dRotPeriod -1.0 # Initial rotaiton period (days) +sStellarModel baraffe +sMagBrakingModel breimann21 +bHaltEndBaraffeGrid 1 +dSatXUVFrac 1.e-3 +dSatXUVTime -0.1 +saOutputOrder Time -TotAngMom -Luminosity -Radius Temperature -RotPer RadGyra WindTorque RossbyNumber diff --git a/tests/Stellar/MagneticBraking/test_MagneticBraking.py b/tests/Stellar/MagneticBraking/test_MagneticBraking.py index 725aec6e7..a8c53c518 100644 --- a/tests/Stellar/MagneticBraking/test_MagneticBraking.py +++ b/tests/Stellar/MagneticBraking/test_MagneticBraking.py @@ -1,394 +1,246 @@ -import astropy.units as u -from benchmark import Benchmark, benchmark - - -@benchmark( - { - "log.initial.system.Age": {"value": 1.577880e14, "unit": u.sec}, - "log.initial.system.Time": {"value": 0.000000, "unit": u.sec}, - "log.initial.system.TotAngMom": { - "value": 8.714482e43, - "unit": (u.kg * u.m**2) / u.sec, - }, - "log.initial.system.TotEnergy": {"value": -4.729901e41, "unit": u.erg}, - "log.initial.system.PotEnergy": {"value": -1.587196e41, "unit": u.Joule}, - "log.initial.system.KinEnergy": {"value": 1.056225e39, "unit": u.Joule}, - "log.initial.system.DeltaTime": {"value": 0.000000, "unit": u.sec}, - "log.initial.matt.Mass": {"value": 1.988416e30, "unit": u.kg}, - "log.initial.matt.Radius": {"value": 156.404167, "unit": u.Rearth}, - "log.initial.matt.RadGyra": {"value": 0.449297}, - "log.initial.matt.RotAngMom": { - "value": 2.904827e43, - "unit": (u.kg * u.m**2) / u.sec, - }, - "log.initial.matt.RotVel": {"value": 7.254471e04, "unit": u.m / u.sec}, - "log.initial.matt.BodyType": {"value": 0.000000}, - "log.initial.matt.RotRate": {"value": 7.272205e-05, "unit": 1 / u.sec}, - "log.initial.matt.RotPer": {"value": 1.000000, "unit": u.day}, - "log.initial.matt.Density": {"value": 478.189139, "unit": u.kg / u.m**3}, - "log.initial.matt.HZLimitDryRunaway": {"value": 1.084540e11, "unit": u.m}, - "log.initial.matt.HZLimRecVenus": {"value": 1.636341e11, "unit": u.m}, - "log.initial.matt.HZLimRunaway": {"value": 2.172445e11, "unit": u.m}, - "log.initial.matt.HZLimMoistGreenhouse": {"value": 2.165140e11, "unit": u.m}, - "log.initial.matt.HZLimMaxGreenhouse": {"value": 3.930539e11, "unit": u.m}, - "log.initial.matt.HZLimEarlyMars": {"value": 4.287405e11, "unit": u.m}, - "log.initial.matt.Instellation": { - "value": -1.000000, - "unit": u.kg / u.sec**3, - }, - "log.initial.matt.CriticalSemiMajorAxis": {"value": -1.000000, "unit": u.m}, - "log.initial.matt.LXUVTot": {"value": 0.000638, "unit": u.LSUN}, - "log.initial.matt.LostEnergy": {"value": 5.562685e-309, "unit": u.Joule}, - "log.initial.matt.LostAngMom": { - "value": 5.562685e-309, - "unit": (u.kg * u.m**2) / u.sec, - }, - "log.initial.matt.Luminosity": {"value": 0.637970, "unit": u.LSUN}, - "log.initial.matt.LXUVStellar": {"value": 2.453632e23, "unit": u.W}, - "log.initial.matt.Temperature": {"value": 4309.980416, "unit": u.K}, - "log.initial.matt.LXUVFrac": {"value": 0.001000}, - "log.initial.matt.RossbyNumber": {"value": 0.028968}, - "log.initial.matt.DRotPerDtStellar": {"value": -3.381379e-10}, - "log.initial.sk.Mass": {"value": 1.988416e30, "unit": u.kg}, - "log.initial.sk.Radius": {"value": 156.404167, "unit": u.Rearth}, - "log.initial.sk.RadGyra": {"value": 0.449297}, - "log.initial.sk.RotAngMom": { - "value": 2.904827e43, - "unit": (u.kg * u.m**2) / u.sec, - }, - "log.initial.sk.RotVel": {"value": 7.254471e04, "unit": u.m / u.sec}, - "log.initial.sk.BodyType": {"value": 0.000000}, - "log.initial.sk.RotRate": {"value": 7.272205e-05, "unit": 1 / u.sec}, - "log.initial.sk.RotPer": {"value": 1.000000, "unit": u.day}, - "log.initial.sk.Density": {"value": 478.189139, "unit": u.kg / u.m**3}, - "log.initial.sk.HZLimitDryRunaway": {"value": 1.084540e11, "unit": u.m}, - "log.initial.sk.HZLimRecVenus": {"value": 1.636341e11, "unit": u.m}, - "log.initial.sk.HZLimRunaway": {"value": 2.172445e11, "unit": u.m}, - "log.initial.sk.HZLimMoistGreenhouse": {"value": 2.165140e11, "unit": u.m}, - "log.initial.sk.HZLimMaxGreenhouse": {"value": 3.930539e11, "unit": u.m}, - "log.initial.sk.HZLimEarlyMars": {"value": 4.287405e11, "unit": u.m}, - "log.initial.sk.Instellation": {"value": 872.466408, "unit": u.kg / u.sec**3}, - "log.initial.sk.CriticalSemiMajorAxis": {"value": -1.000000, "unit": u.m}, - "log.initial.sk.LXUVTot": {"value": 0.000638, "unit": u.LSUN}, - "log.initial.sk.LostEnergy": {"value": 5.562685e-309, "unit": u.Joule}, - "log.initial.sk.LostAngMom": { - "value": 5.562685e-309, - "unit": (u.kg * u.m**2) / u.sec, - }, - "log.initial.sk.Luminosity": {"value": 0.637970, "unit": u.LSUN}, - "log.initial.sk.LXUVStellar": {"value": 2.453632e23, "unit": u.W}, - "log.initial.sk.Temperature": {"value": 4309.980416, "unit": u.K}, - "log.initial.sk.LXUVFrac": {"value": 0.001000}, - "log.initial.sk.RossbyNumber": {"value": 0.028968}, - "log.initial.sk.DRotPerDtStellar": {"value": -1.268066e-10}, - "log.initial.reiners.Mass": {"value": 1.988416e30, "unit": u.kg}, - "log.initial.reiners.Radius": {"value": 156.404167, "unit": u.Rearth}, - "log.initial.reiners.RadGyra": {"value": 0.449297}, - "log.initial.reiners.RotAngMom": { - "value": 2.904827e43, - "unit": (u.kg * u.m**2) / u.sec, - }, - "log.initial.reiners.RotVel": {"value": 7.254471e04, "unit": u.m / u.sec}, - "log.initial.reiners.BodyType": {"value": 0.000000}, - "log.initial.reiners.RotRate": {"value": 7.272205e-05, "unit": 1 / u.sec}, - "log.initial.reiners.RotPer": {"value": 1.000000, "unit": u.day}, - "log.initial.reiners.Density": {"value": 478.189139, "unit": u.kg / u.m**3}, - "log.initial.reiners.HZLimitDryRunaway": {"value": 1.084540e11, "unit": u.m}, - "log.initial.reiners.HZLimRecVenus": {"value": 1.636341e11, "unit": u.m}, - "log.initial.reiners.HZLimRunaway": {"value": 2.172445e11, "unit": u.m}, - "log.initial.reiners.HZLimMoistGreenhouse": {"value": 2.165140e11, "unit": u.m}, - "log.initial.reiners.HZLimMaxGreenhouse": {"value": 3.930539e11, "unit": u.m}, - "log.initial.reiners.HZLimEarlyMars": {"value": 4.287405e11, "unit": u.m}, - "log.initial.reiners.Instellation": { - "value": 872.466408, - "unit": u.kg / u.sec**3, - }, - "log.initial.reiners.CriticalSemiMajorAxis": {"value": -1.000000, "unit": u.m}, - "log.initial.reiners.LXUVTot": {"value": 0.000638, "unit": u.LSUN}, - "log.initial.reiners.LostEnergy": {"value": 5.562685e-309, "unit": u.Joule}, - "log.initial.reiners.LostAngMom": { - "value": 5.562685e-309, - "unit": (u.kg * u.m**2) / u.sec, - }, - "log.initial.reiners.Luminosity": {"value": 0.637970, "unit": u.LSUN}, - "log.initial.reiners.LXUVStellar": {"value": 2.453632e23, "unit": u.W}, - "log.initial.reiners.Temperature": {"value": 4309.980416, "unit": u.K}, - "log.initial.reiners.LXUVFrac": {"value": 0.001000}, - "log.initial.reiners.RossbyNumber": {"value": 0.028968}, - "log.initial.reiners.DRotPerDtStellar": {"value": -1.874516e-10}, - "log.final.system.Age": {"value": 1.735668e15, "unit": u.sec, "rtol": 1e-4}, - "log.final.system.Time": {"value": 1.577880e15, "unit": u.sec, "rtol": 1e-4}, - "log.final.system.TotAngMom": { - "value": 8.715570e43, - "unit": (u.kg * u.m**2) / u.sec, - "rtol": 1e-4, - }, - "log.final.system.TotEnergy": { - "value": -4.729764e41, - "unit": u.erg, - "rtol": 1e-4, - }, - "log.final.system.PotEnergy": { - "value": -2.539332e41, - "unit": u.Joule, - "rtol": 1e-4, - }, - "log.final.system.KinEnergy": { - "value": 2.876242e39, - "unit": u.Joule, - "rtol": 1e-4, - }, - "log.final.matt.Mass": {"value": 1.988416e30, "unit": u.kg, "rtol": 1e-4}, - "log.final.matt.Radius": {"value": 97.759576, "unit": u.Rearth, "rtol": 1e-4}, - "log.final.matt.RadGyra": {"value": 0.299433, "rtol": 1e-4}, - "log.final.matt.RotAngMom": { - "value": 1.996789e43, - "unit": (u.kg * u.m**2) / u.sec, - "rtol": 1e-4, - }, - "log.final.matt.RotVel": { - "value": 1.796279e05, - "unit": u.m / u.sec, - "rtol": 1e-4, - }, - "log.final.matt.BodyType": {"value": 0.000000, "rtol": 1e-4}, - "log.final.matt.RotRate": {"value": 0.000288, "unit": 1 / u.sec, "rtol": 1e-4}, - "log.final.matt.RotPer": {"value": 0.252431, "unit": u.day, "rtol": 1e-4}, - "log.final.matt.Density": { - "value": 1958.243703, - "unit": u.kg / u.m**3, - "rtol": 1e-4, - }, - "log.final.matt.HZLimitDryRunaway": { - "value": 1.117753e11, - "unit": u.m, - "rtol": 1e-4, - }, - "log.final.matt.HZLimRecVenus": { - "value": 1.611200e11, - "unit": u.m, - "rtol": 1e-4, - }, - "log.final.matt.HZLimRunaway": { - "value": 2.113828e11, - "unit": u.m, - "rtol": 1e-4, - }, - "log.final.matt.HZLimMoistGreenhouse": { - "value": 2.131868e11, - "unit": u.m, - "rtol": 1e-4, - }, - "log.final.matt.HZLimMaxGreenhouse": { - "value": 3.653514e11, - "unit": u.m, - "rtol": 1e-4, - }, - "log.final.matt.HZLimEarlyMars": { - "value": 3.986121e11, - "unit": u.m, - "rtol": 1e-4, - }, - "log.final.matt.Instellation": { - "value": -1.000000, - "unit": u.kg / u.sec**3, - "rtol": 1e-4, - }, - "log.final.matt.CriticalSemiMajorAxis": { - "value": -1.000000, - "unit": u.m, - "rtol": 1e-4, - }, - "log.final.matt.LXUVTot": {"value": 0.000678, "unit": u.LSUN, "rtol": 1e-4}, - "log.final.matt.LostEnergy": { - "value": 9.339815e40, - "unit": u.Joule, - "rtol": 1e-4, - }, - "log.final.matt.LostAngMom": { - "value": 9.083485e42, - "unit": (u.kg * u.m**2) / u.sec, - "rtol": 1e-4, - }, - "log.final.matt.Luminosity": {"value": 0.677642, "unit": u.LSUN, "rtol": 1e-4}, - "log.final.matt.LXUVStellar": {"value": 2.606209e23, "unit": u.W, "rtol": 1e-4}, - "log.final.matt.Temperature": {"value": 5533.499918, "unit": u.K, "rtol": 1e-4}, - "log.final.matt.LXUVFrac": {"value": 0.001000, "rtol": 1e-4}, - "log.final.matt.RossbyNumber": {"value": 0.015282, "rtol": 1e-4}, - "log.final.matt.DRotPerDtStellar": {"value": 5.922558e-12, "rtol": 1e-4}, - "log.final.sk.Mass": {"value": 1.988416e30, "unit": u.kg, "rtol": 1e-4}, - "log.final.sk.Radius": {"value": 97.759576, "unit": u.Rearth, "rtol": 1e-4}, - "log.final.sk.RadGyra": {"value": 0.299433, "rtol": 1e-4}, - "log.final.sk.RotAngMom": { - "value": 3.390981e42, - "unit": (u.kg * u.m**2) / u.sec, - "rtol": 1e-4, - }, - "log.final.sk.RotVel": { - "value": 3.050471e04, - "unit": u.m / u.sec, - "rtol": 1e-4, - }, - "log.final.sk.BodyType": {"value": 0.000000, "rtol": 1e-4}, - "log.final.sk.RotRate": { - "value": 4.892336e-05, - "unit": 1 / u.sec, - "rtol": 1e-4, - }, - "log.final.sk.RotPer": {"value": 1.486448, "unit": u.day, "rtol": 1e-4}, - "log.final.sk.Density": { - "value": 1958.243703, - "unit": u.kg / u.m**3, - "rtol": 1e-4, - }, - "log.final.sk.HZLimitDryRunaway": { - "value": 1.117753e11, - "unit": u.m, - "rtol": 1e-4, - }, - "log.final.sk.HZLimRecVenus": {"value": 1.611200e11, "unit": u.m, "rtol": 1e-4}, - "log.final.sk.HZLimRunaway": {"value": 2.113828e11, "unit": u.m, "rtol": 1e-4}, - "log.final.sk.HZLimMoistGreenhouse": { - "value": 2.131868e11, - "unit": u.m, - "rtol": 1e-4, - }, - "log.final.sk.HZLimMaxGreenhouse": { - "value": 3.653514e11, - "unit": u.m, - "rtol": 1e-4, - }, - "log.final.sk.HZLimEarlyMars": { - "value": 3.986121e11, - "unit": u.m, - "rtol": 1e-4, - }, - "log.final.sk.Instellation": { - "value": 926.720119, - "unit": u.kg / u.sec**3, - "rtol": 1e-4, - }, - "log.final.sk.CriticalSemiMajorAxis": { - "value": -1.000000, - "unit": u.m, - "rtol": 1e-4, - }, - "log.final.sk.LXUVTot": {"value": 0.000678, "unit": u.LSUN, "rtol": 1e-4}, - "log.final.sk.LostEnergy": { - "value": 9.619152e40, - "unit": u.Joule, - "rtol": 1e-4, - }, - "log.final.sk.LostAngMom": { - "value": 2.566131e43, - "unit": (u.kg * u.m**2) / u.sec, - "rtol": 1e-4, - }, - "log.final.sk.Luminosity": {"value": 0.677642, "unit": u.LSUN, "rtol": 1e-4}, - "log.final.sk.LXUVStellar": {"value": 2.606209e23, "unit": u.W, "rtol": 1e-4}, - "log.final.sk.Temperature": {"value": 5533.499918, "unit": u.K, "rtol": 1e-4}, - "log.final.sk.LXUVFrac": {"value": 0.001000, "rtol": 1e-4}, - "log.final.sk.RossbyNumber": {"value": 0.089986, "rtol": 1e-4}, - "log.final.sk.DRotPerDtStellar": {"value": 6.265864e-11, "rtol": 1e-4}, - "log.final.reiners.Mass": {"value": 1.988416e30, "unit": u.kg, "rtol": 1e-4}, - "log.final.reiners.Radius": { - "value": 97.759576, - "unit": u.Rearth, - "rtol": 1e-4, - }, - "log.final.reiners.RadGyra": {"value": 0.299433, "rtol": 1e-4}, - "log.final.reiners.RotAngMom": { - "value": 4.758849e42, - "unit": (u.kg * u.m**2) / u.sec, - "rtol": 1e-4, - }, - "log.final.reiners.RotVel": { - "value": 4.280982e04, - "unit": u.m / u.sec, - "rtol": 1e-4, - }, - "log.final.reiners.BodyType": {"value": 0.000000, "rtol": 1e-4}, - "log.final.reiners.RotRate": { - "value": 6.865826e-05, - "unit": 1 / u.sec, - "rtol": 1e-4, - }, - "log.final.reiners.RotPer": {"value": 1.059189, "unit": u.day, "rtol": 1e-4}, - "log.final.reiners.Density": { - "value": 1958.243703, - "unit": u.kg / u.m**3, - "rtol": 1e-4, - }, - "log.final.reiners.HZLimitDryRunaway": { - "value": 1.117753e11, - "unit": u.m, - "rtol": 1e-4, - }, - "log.final.reiners.HZLimRecVenus": { - "value": 1.611200e11, - "unit": u.m, - "rtol": 1e-4, - }, - "log.final.reiners.HZLimRunaway": { - "value": 2.113828e11, - "unit": u.m, - "rtol": 1e-4, - }, - "log.final.reiners.HZLimMoistGreenhouse": { - "value": 2.131868e11, - "unit": u.m, - "rtol": 1e-4, - }, - "log.final.reiners.HZLimMaxGreenhouse": { - "value": 3.653514e11, - "unit": u.m, - "rtol": 1e-4, - }, - "log.final.reiners.HZLimEarlyMars": { - "value": 3.986121e11, - "unit": u.m, - "rtol": 1e-4, - }, - "log.final.reiners.Instellation": { - "value": 926.720119, - "unit": u.kg / u.sec**3, - "rtol": 1e-4, - }, - "log.final.reiners.CriticalSemiMajorAxis": { - "value": -1.000000, - "unit": u.m, - "rtol": 1e-4, - }, - "log.final.reiners.LXUVTot": {"value": 0.000678, "unit": u.LSUN, "rtol": 1e-4}, - "log.final.reiners.LostEnergy": { - "value": 9.611108e40, - "unit": u.Joule, - "rtol": 1e-4, - }, - "log.final.reiners.LostAngMom": { - "value": 2.429319e43, - "unit": (u.kg * u.m**2) / u.sec, - "rtol": 1e-4, - }, - "log.final.reiners.Luminosity": { - "value": 0.677642, - "unit": u.LSUN, - "rtol": 1e-4, - }, - "log.final.reiners.LXUVStellar": { - "value": 2.606209e23, - "unit": u.W, - "rtol": 1e-4, - }, - "log.final.reiners.Temperature": { - "value": 5533.499918, - "unit": u.K, - "rtol": 1e-4, - }, - "log.final.reiners.LXUVFrac": {"value": 0.001000, "rtol": 1e-4}, - "log.final.reiners.RossbyNumber": {"value": 0.064121, "rtol": 1e-4}, - "log.final.reiners.DRotPerDtStellar": {"value": 8.507246e-11, "rtol": 1e-4}, - } +from benchmark import Benchmark, benchmark +import astropy.units as u + +@benchmark( + { + "log.initial.system.Age": {"value": 1.577880e+14, "unit": u.sec}, + "log.initial.system.Time": {"value": 0.000000, "unit": u.sec}, + "log.initial.system.TotAngMom": {"value": 1.161931e+44, "unit": (u.kg * u.m ** 2) / u.sec}, + "log.initial.system.TotEnergy": {"value": -6.306535e+41, "unit": u.erg}, + "log.initial.system.PotEnergy": {"value": -1.587196e+41, "unit": u.Joule}, + "log.initial.system.KinEnergy": {"value": 1.056225e+39, "unit": u.Joule}, + "log.initial.system.DeltaTime": {"value": 0.000000, "unit": u.sec}, + "log.initial.matt.Mass": {"value": 1.988416e+30, "unit": u.kg}, + "log.initial.matt.Radius": {"value": 156.404167, "unit": u.Rearth}, + "log.initial.matt.RadGyra": {"value": 0.449297}, + "log.initial.matt.RotAngMom": {"value": 2.904827e+43, "unit": (u.kg * u.m ** 2) / u.sec}, + "log.initial.matt.RotVel": {"value": 7.254471e+04, "unit": u.m / u.sec}, + "log.initial.matt.BodyType": {"value": 0.000000}, + "log.initial.matt.RotRate": {"value": 7.272205e-05, "unit": 1 / u.sec}, + "log.initial.matt.RotPer": {"value": 1.000000, "unit": u.day}, + "log.initial.matt.Density": {"value": 478.189139, "unit": u.kg / u.m ** 3}, + "log.initial.matt.HZLimitDryRunaway": {"value": 1.084540e+11, "unit": u.m}, + "log.initial.matt.HZLimRecVenus": {"value": 1.889483e+11, "unit": u.m}, + "log.initial.matt.HZLimRunaway": {"value": 2.508523e+11, "unit": u.m}, + "log.initial.matt.HZLimMoistGreenhouse": {"value": 2.500088e+11, "unit": u.m}, + "log.initial.matt.HZLimMaxGreenhouse": {"value": 4.538595e+11, "unit": u.m}, + "log.initial.matt.HZLimEarlyMars": {"value": 4.950669e+11, "unit": u.m}, + "log.initial.matt.Instellation": {"value": -1.000000, "unit": u.kg / u.sec ** 3}, + "log.initial.matt.CriticalSemiMajorAxis": {"value": -1.000000, "unit": u.m}, + "log.initial.matt.LXUVTot": {"value": 0.000638, "unit": u.LSUN}, + "log.initial.matt.LostEnergy": {"value": 5.562685e-309, "unit": u.Joule}, + "log.initial.matt.LostAngMom": {"value": 5.562685e-309, "unit": (u.kg * u.m ** 2) / u.sec}, + "log.initial.matt.EscapeVelocity": {"value": 5.158234e+05, "unit": u.m / u.sec}, + "log.initial.matt.Luminosity": {"value": 0.637970, "unit": u.LSUN}, + "log.initial.matt.LXUVStellar": {"value": 2.453632e+23, "unit": u.W}, + "log.initial.matt.Temperature": {"value": 4309.980416, "unit": u.K}, + "log.initial.matt.LXUVFrac": {"value": 0.001000}, + "log.initial.matt.RossbyNumber": {"value": 0.028968}, + "log.initial.matt.DRotPerDtStellar": {"value": -3.381379e-10}, + "log.initial.matt.WindTorque": {"value": 5.385649e+27}, + "log.initial.sk.Mass": {"value": 1.988416e+30, "unit": u.kg}, + "log.initial.sk.Radius": {"value": 156.404167, "unit": u.Rearth}, + "log.initial.sk.RadGyra": {"value": 0.449297}, + "log.initial.sk.RotAngMom": {"value": 2.904827e+43, "unit": (u.kg * u.m ** 2) / u.sec}, + "log.initial.sk.RotVel": {"value": 7.254471e+04, "unit": u.m / u.sec}, + "log.initial.sk.BodyType": {"value": 0.000000}, + "log.initial.sk.RotRate": {"value": 7.272205e-05, "unit": 1 / u.sec}, + "log.initial.sk.RotPer": {"value": 1.000000, "unit": u.day}, + "log.initial.sk.Density": {"value": 478.189139, "unit": u.kg / u.m ** 3}, + "log.initial.sk.HZLimitDryRunaway": {"value": 1.084540e+11, "unit": u.m}, + "log.initial.sk.HZLimRecVenus": {"value": 1.889483e+11, "unit": u.m}, + "log.initial.sk.HZLimRunaway": {"value": 2.508523e+11, "unit": u.m}, + "log.initial.sk.HZLimMoistGreenhouse": {"value": 2.500088e+11, "unit": u.m}, + "log.initial.sk.HZLimMaxGreenhouse": {"value": 4.538595e+11, "unit": u.m}, + "log.initial.sk.HZLimEarlyMars": {"value": 4.950669e+11, "unit": u.m}, + "log.initial.sk.Instellation": {"value": 872.466408, "unit": u.kg / u.sec ** 3}, + "log.initial.sk.CriticalSemiMajorAxis": {"value": -1.000000, "unit": u.m}, + "log.initial.sk.LXUVTot": {"value": 0.000638, "unit": u.LSUN}, + "log.initial.sk.LostEnergy": {"value": 5.562685e-309, "unit": u.Joule}, + "log.initial.sk.LostAngMom": {"value": 5.562685e-309, "unit": (u.kg * u.m ** 2) / u.sec}, + "log.initial.sk.EscapeVelocity": {"value": 5.158234e+05, "unit": u.m / u.sec}, + "log.initial.sk.Luminosity": {"value": 0.637970, "unit": u.LSUN}, + "log.initial.sk.LXUVStellar": {"value": 2.453632e+23, "unit": u.W}, + "log.initial.sk.Temperature": {"value": 4309.980416, "unit": u.K}, + "log.initial.sk.LXUVFrac": {"value": 0.001000}, + "log.initial.sk.RossbyNumber": {"value": 0.028968}, + "log.initial.sk.DRotPerDtStellar": {"value": -1.268066e-10}, + "log.initial.sk.WindTorque": {"value": 7.643669e+28}, + "log.initial.reiners.Mass": {"value": 1.988416e+30, "unit": u.kg}, + "log.initial.reiners.Radius": {"value": 156.404167, "unit": u.Rearth}, + "log.initial.reiners.RadGyra": {"value": 0.449297}, + "log.initial.reiners.RotAngMom": {"value": 2.904827e+43, "unit": (u.kg * u.m ** 2) / u.sec}, + "log.initial.reiners.RotVel": {"value": 7.254471e+04, "unit": u.m / u.sec}, + "log.initial.reiners.BodyType": {"value": 0.000000}, + "log.initial.reiners.RotRate": {"value": 7.272205e-05, "unit": 1 / u.sec}, + "log.initial.reiners.RotPer": {"value": 1.000000, "unit": u.day}, + "log.initial.reiners.Density": {"value": 478.189139, "unit": u.kg / u.m ** 3}, + "log.initial.reiners.HZLimitDryRunaway": {"value": 1.084540e+11, "unit": u.m}, + "log.initial.reiners.HZLimRecVenus": {"value": 1.889483e+11, "unit": u.m}, + "log.initial.reiners.HZLimRunaway": {"value": 2.508523e+11, "unit": u.m}, + "log.initial.reiners.HZLimMoistGreenhouse": {"value": 2.500088e+11, "unit": u.m}, + "log.initial.reiners.HZLimMaxGreenhouse": {"value": 4.538595e+11, "unit": u.m}, + "log.initial.reiners.HZLimEarlyMars": {"value": 4.950669e+11, "unit": u.m}, + "log.initial.reiners.Instellation": {"value": 872.466408, "unit": u.kg / u.sec ** 3}, + "log.initial.reiners.CriticalSemiMajorAxis": {"value": -1.000000, "unit": u.m}, + "log.initial.reiners.LXUVTot": {"value": 0.000638, "unit": u.LSUN}, + "log.initial.reiners.LostEnergy": {"value": 5.562685e-309, "unit": u.Joule}, + "log.initial.reiners.LostAngMom": {"value": 5.562685e-309, "unit": (u.kg * u.m ** 2) / u.sec}, + "log.initial.reiners.EscapeVelocity": {"value": 5.158234e+05, "unit": u.m / u.sec}, + "log.initial.reiners.Luminosity": {"value": 0.637970, "unit": u.LSUN}, + "log.initial.reiners.LXUVStellar": {"value": 2.453632e+23, "unit": u.W}, + "log.initial.reiners.Temperature": {"value": 4309.980416, "unit": u.K}, + "log.initial.reiners.LXUVFrac": {"value": 0.001000}, + "log.initial.reiners.RossbyNumber": {"value": 0.028968}, + "log.initial.reiners.DRotPerDtStellar": {"value": -1.874516e-10}, + "log.initial.reiners.WindTorque": {"value": 5.604739e+28}, + "log.initial.breimann.Mass": {"value": 1.988416e+30, "unit": u.kg}, + "log.initial.breimann.Radius": {"value": 156.404167, "unit": u.Rearth}, + "log.initial.breimann.RadGyra": {"value": 0.449297}, + "log.initial.breimann.RotAngMom": {"value": 2.904827e+43, "unit": (u.kg * u.m ** 2) / u.sec}, + "log.initial.breimann.RotVel": {"value": 7.254471e+04, "unit": u.m / u.sec}, + "log.initial.breimann.BodyType": {"value": 0.000000}, + "log.initial.breimann.RotRate": {"value": 7.272205e-05, "unit": 1 / u.sec}, + "log.initial.breimann.RotPer": {"value": 1.000000, "unit": u.day}, + "log.initial.breimann.Density": {"value": 478.189139, "unit": u.kg / u.m ** 3}, + "log.initial.breimann.HZLimitDryRunaway": {"value": 1.084540e+11, "unit": u.m}, + "log.initial.breimann.HZLimRecVenus": {"value": 1.889483e+11, "unit": u.m}, + "log.initial.breimann.HZLimRunaway": {"value": 2.508523e+11, "unit": u.m}, + "log.initial.breimann.HZLimMoistGreenhouse": {"value": 2.500088e+11, "unit": u.m}, + "log.initial.breimann.HZLimMaxGreenhouse": {"value": 4.538595e+11, "unit": u.m}, + "log.initial.breimann.HZLimEarlyMars": {"value": 4.950669e+11, "unit": u.m}, + "log.initial.breimann.Instellation": {"value": 872.466408, "unit": u.kg / u.sec ** 3}, + "log.initial.breimann.CriticalSemiMajorAxis": {"value": -1.000000, "unit": u.m}, + "log.initial.breimann.LXUVTot": {"value": 2.453632e+23, "unit": u.kg / u.sec ** 3}, + "log.initial.breimann.LostEnergy": {"value": 5.562685e-309, "unit": u.Joule}, + "log.initial.breimann.LostAngMom": {"value": 5.562685e-309, "unit": (u.kg * u.m ** 2) / u.sec}, + "log.initial.breimann.EscapeVelocity": {"value": 5.158234e+05, "unit": u.m / u.sec}, + "log.initial.breimann.Luminosity": {"value": 0.637970, "unit": u.LSUN}, + "log.initial.breimann.LXUVStellar": {"value": 2.453632e+23, "unit": u.W}, + "log.initial.breimann.Temperature": {"value": 4309.980416, "unit": u.K}, + "log.initial.breimann.LXUVFrac": {"value": 0.001000}, + "log.initial.breimann.RossbyNumber": {"value": 0.028968}, + "log.initial.breimann.DRotPerDtStellar": {"value": -3.352695e-10}, + "log.initial.breimann.WindTorque": {"value": 6.350015e+27}, + "log.final.system.Age": {"value": 1.735668e+15, "unit": u.sec, "rtol": 1e-4}, + "log.final.system.Time": {"value": 1.577880e+15, "unit": u.sec, "rtol": 1e-4}, + "log.final.system.TotAngMom": {"value": 1.162071e+44, "unit": (u.kg * u.m ** 2) / u.sec, "rtol": 1e-4}, + "log.final.system.TotEnergy": {"value": -6.306352e+41, "unit": u.erg, "rtol": 1e-4}, + "log.final.system.PotEnergy": {"value": -2.539332e+41, "unit": u.Joule, "rtol": 1e-4}, + "log.final.system.KinEnergy": {"value": 2.876242e+39, "unit": u.Joule, "rtol": 1e-4}, + "log.final.matt.Mass": {"value": 1.988416e+30, "unit": u.kg, "rtol": 1e-4}, + "log.final.matt.Radius": {"value": 97.759576, "unit": u.Rearth, "rtol": 1e-4}, + "log.final.matt.RadGyra": {"value": 0.299433, "rtol": 1e-4}, + "log.final.matt.RotAngMom": {"value": 1.996789e+43, "unit": (u.kg * u.m ** 2) / u.sec, "rtol": 1e-4}, + "log.final.matt.RotVel": {"value": 1.796279e+05, "unit": u.m / u.sec, "rtol": 1e-4}, + "log.final.matt.BodyType": {"value": 0.000000, "rtol": 1e-4}, + "log.final.matt.RotRate": {"value": 0.000288, "unit": 1 / u.sec, "rtol": 1e-4}, + "log.final.matt.RotPer": {"value": 0.252431, "unit": u.day, "rtol": 1e-4}, + "log.final.matt.Density": {"value": 1958.243703, "unit": u.kg / u.m ** 3, "rtol": 1e-4}, + "log.final.matt.HZLimitDryRunaway": {"value": 1.117753e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.matt.HZLimRecVenus": {"value": 1.860454e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.matt.HZLimRunaway": {"value": 2.440838e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.matt.HZLimMoistGreenhouse": {"value": 2.461670e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.matt.HZLimMaxGreenhouse": {"value": 4.218714e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.matt.HZLimEarlyMars": {"value": 4.602776e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.matt.Instellation": {"value": -1.000000, "unit": u.kg / u.sec ** 3, "rtol": 1e-4}, + "log.final.matt.CriticalSemiMajorAxis": {"value": -1.000000, "unit": u.m, "rtol": 1e-4}, + "log.final.matt.LXUVTot": {"value": 0.000678, "unit": u.LSUN, "rtol": 1e-4}, + "log.final.matt.LostEnergy": {"value": 9.339815e+40, "unit": u.Joule, "rtol": 1e-4}, + "log.final.matt.LostAngMom": {"value": 9.083485e+42, "unit": (u.kg * u.m ** 2) / u.sec, "rtol": 1e-4}, + "log.final.matt.EscapeVelocity": {"value": 6.524474e+05, "unit": u.m / u.sec, "rtol": 1e-4}, + "log.final.matt.Luminosity": {"value": 0.677642, "unit": u.LSUN, "rtol": 1e-4}, + "log.final.matt.LXUVStellar": {"value": 2.606209e+23, "unit": u.W, "rtol": 1e-4}, + "log.final.matt.Temperature": {"value": 5533.499918, "unit": u.K, "rtol": 1e-4}, + "log.final.matt.LXUVFrac": {"value": 0.001000, "rtol": 1e-4}, + "log.final.matt.RossbyNumber": {"value": 0.015282, "rtol": 1e-4}, + "log.final.matt.DRotPerDtStellar": {"value": 5.922558e-12, "rtol": 1e-4}, + "log.final.matt.WindTorque": {"value": 4.970718e+27, "rtol": 1e-4}, + "log.final.sk.Mass": {"value": 1.988416e+30, "unit": u.kg, "rtol": 1e-4}, + "log.final.sk.Radius": {"value": 97.759576, "unit": u.Rearth, "rtol": 1e-4}, + "log.final.sk.RadGyra": {"value": 0.299433, "rtol": 1e-4}, + "log.final.sk.RotAngMom": {"value": 3.390981e+42, "unit": (u.kg * u.m ** 2) / u.sec, "rtol": 1e-4}, + "log.final.sk.RotVel": {"value": 3.050471e+04, "unit": u.m / u.sec, "rtol": 1e-4}, + "log.final.sk.BodyType": {"value": 0.000000, "rtol": 1e-4}, + "log.final.sk.RotRate": {"value": 4.892336e-05, "unit": 1 / u.sec, "rtol": 1e-4}, + "log.final.sk.RotPer": {"value": 1.486448, "unit": u.day, "rtol": 1e-4}, + "log.final.sk.Density": {"value": 1958.243703, "unit": u.kg / u.m ** 3, "rtol": 1e-4}, + "log.final.sk.HZLimitDryRunaway": {"value": 1.117753e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.sk.HZLimRecVenus": {"value": 1.860454e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.sk.HZLimRunaway": {"value": 2.440838e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.sk.HZLimMoistGreenhouse": {"value": 2.461670e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.sk.HZLimMaxGreenhouse": {"value": 4.218714e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.sk.HZLimEarlyMars": {"value": 4.602776e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.sk.Instellation": {"value": 926.720119, "unit": u.kg / u.sec ** 3, "rtol": 1e-4}, + "log.final.sk.CriticalSemiMajorAxis": {"value": -1.000000, "unit": u.m, "rtol": 1e-4}, + "log.final.sk.LXUVTot": {"value": 0.000678, "unit": u.LSUN, "rtol": 1e-4}, + "log.final.sk.LostEnergy": {"value": 9.619152e+40, "unit": u.Joule, "rtol": 1e-4}, + "log.final.sk.LostAngMom": {"value": 2.566131e+43, "unit": (u.kg * u.m ** 2) / u.sec, "rtol": 1e-4}, + "log.final.sk.EscapeVelocity": {"value": 6.524474e+05, "unit": u.m / u.sec, "rtol": 1e-4}, + "log.final.sk.Luminosity": {"value": 0.677642, "unit": u.LSUN, "rtol": 1e-4}, + "log.final.sk.LXUVStellar": {"value": 2.606209e+23, "unit": u.W, "rtol": 1e-4}, + "log.final.sk.Temperature": {"value": 5533.499918, "unit": u.K, "rtol": 1e-4}, + "log.final.sk.LXUVFrac": {"value": 0.001000, "rtol": 1e-4}, + "log.final.sk.RossbyNumber": {"value": 0.089986, "rtol": 1e-4}, + "log.final.sk.DRotPerDtStellar": {"value": 6.265864e-11, "rtol": 1e-4}, + "log.final.sk.WindTorque": {"value": 1.577718e+27, "rtol": 1e-4}, + "log.final.reiners.Mass": {"value": 1.988416e+30, "unit": u.kg, "rtol": 1e-4}, + "log.final.reiners.Radius": {"value": 97.759576, "unit": u.Rearth, "rtol": 1e-4}, + "log.final.reiners.RadGyra": {"value": 0.299433, "rtol": 1e-4}, + "log.final.reiners.RotAngMom": {"value": 4.758849e+42, "unit": (u.kg * u.m ** 2) / u.sec, "rtol": 1e-4}, + "log.final.reiners.RotVel": {"value": 4.280982e+04, "unit": u.m / u.sec, "rtol": 1e-4}, + "log.final.reiners.BodyType": {"value": 0.000000, "rtol": 1e-4}, + "log.final.reiners.RotRate": {"value": 6.865826e-05, "unit": 1 / u.sec, "rtol": 1e-4}, + "log.final.reiners.RotPer": {"value": 1.059189, "unit": u.day, "rtol": 1e-4}, + "log.final.reiners.Density": {"value": 1958.243703, "unit": u.kg / u.m ** 3, "rtol": 1e-4}, + "log.final.reiners.HZLimitDryRunaway": {"value": 1.117753e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.reiners.HZLimRecVenus": {"value": 1.860454e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.reiners.HZLimRunaway": {"value": 2.440838e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.reiners.HZLimMoistGreenhouse": {"value": 2.461670e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.reiners.HZLimMaxGreenhouse": {"value": 4.218714e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.reiners.HZLimEarlyMars": {"value": 4.602776e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.reiners.Instellation": {"value": 926.720119, "unit": u.kg / u.sec ** 3, "rtol": 1e-4}, + "log.final.reiners.CriticalSemiMajorAxis": {"value": -1.000000, "unit": u.m, "rtol": 1e-4}, + "log.final.reiners.LXUVTot": {"value": 0.000678, "unit": u.LSUN, "rtol": 1e-4}, + "log.final.reiners.LostEnergy": {"value": 9.611108e+40, "unit": u.Joule, "rtol": 1e-4}, + "log.final.reiners.LostAngMom": {"value": 2.429319e+43, "unit": (u.kg * u.m ** 2) / u.sec, "rtol": 1e-4}, + "log.final.reiners.EscapeVelocity": {"value": 6.524474e+05, "unit": u.m / u.sec, "rtol": 1e-4}, + "log.final.reiners.Luminosity": {"value": 0.677642, "unit": u.LSUN, "rtol": 1e-4}, + "log.final.reiners.LXUVStellar": {"value": 2.606209e+23, "unit": u.W, "rtol": 1e-4}, + "log.final.reiners.Temperature": {"value": 5533.499918, "unit": u.K, "rtol": 1e-4}, + "log.final.reiners.LXUVFrac": {"value": 0.001000, "rtol": 1e-4}, + "log.final.reiners.RossbyNumber": {"value": 0.064121, "rtol": 1e-4}, + "log.final.reiners.DRotPerDtStellar": {"value": 8.507246e-11, "rtol": 1e-4}, + "log.final.reiners.WindTorque": {"value": 4.316258e+27, "rtol": 1e-4}, + "log.final.breimann.Mass": {"value": 1.988416e+30, "unit": u.kg, "rtol": 1e-4}, + "log.final.breimann.Radius": {"value": 97.759576, "unit": u.Rearth, "rtol": 1e-4}, + "log.final.breimann.RadGyra": {"value": 0.299433, "rtol": 1e-4}, + "log.final.breimann.RotAngMom": {"value": 2.164332e+43, "unit": (u.kg * u.m ** 2) / u.sec, "rtol": 1e-4}, + "log.final.breimann.RotVel": {"value": 1.946997e+05, "unit": u.m / u.sec, "rtol": 1e-4}, + "log.final.breimann.BodyType": {"value": 0.000000, "rtol": 1e-4}, + "log.final.breimann.RotRate": {"value": 0.000312, "unit": 1 / u.sec, "rtol": 1e-4}, + "log.final.breimann.RotPer": {"value": 0.232890, "unit": u.day, "rtol": 1e-4}, + "log.final.breimann.Density": {"value": 1958.243703, "unit": u.kg / u.m ** 3, "rtol": 1e-4}, + "log.final.breimann.HZLimitDryRunaway": {"value": 1.117753e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.breimann.HZLimRecVenus": {"value": 1.860454e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.breimann.HZLimRunaway": {"value": 2.440838e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.breimann.HZLimMoistGreenhouse": {"value": 2.461670e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.breimann.HZLimMaxGreenhouse": {"value": 4.218714e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.breimann.HZLimEarlyMars": {"value": 4.602776e+11, "unit": u.m, "rtol": 1e-4}, + "log.final.breimann.Instellation": {"value": 926.720119, "unit": u.kg / u.sec ** 3, "rtol": 1e-4}, + "log.final.breimann.CriticalSemiMajorAxis": {"value": -1.000000, "unit": u.m, "rtol": 1e-4}, + "log.final.breimann.LXUVTot": {"value": 2.606209e+23, "unit": u.kg / u.sec ** 3, "rtol": 1e-4}, + "log.final.breimann.LostEnergy": {"value": 9.289524e+40, "unit": u.Joule, "rtol": 1e-4}, + "log.final.breimann.LostAngMom": {"value": 7.408068e+42, "unit": (u.kg * u.m ** 2) / u.sec, "rtol": 1e-4}, + "log.final.breimann.EscapeVelocity": {"value": 6.524474e+05, "unit": u.m / u.sec, "rtol": 1e-4}, + "log.final.breimann.Luminosity": {"value": 0.677642, "unit": u.LSUN, "rtol": 1e-4}, + "log.final.breimann.LXUVStellar": {"value": 2.606209e+23, "unit": u.W, "rtol": 1e-4}, + "log.final.breimann.Temperature": {"value": 5533.499918, "unit": u.K, "rtol": 1e-4}, + "log.final.breimann.LXUVFrac": {"value": 0.001000, "rtol": 1e-4}, + "log.final.breimann.RossbyNumber": {"value": 0.014099, "rtol": 1e-4}, + "log.final.breimann.DRotPerDtStellar": {"value": 4.204086e-12, "rtol": 1e-4}, + "log.final.breimann.WindTorque": {"value": 4.032506e+27, "rtol": 1e-4}, + } ) -class Test_MagneticBraking(Benchmark): - pass +class Test_MagneticBraking(Benchmark): + pass diff --git a/tests/Stellar/MagneticBraking/vpl.in b/tests/Stellar/MagneticBraking/vpl.in index 77903ec5b..bb4aefcf5 100644 --- a/tests/Stellar/MagneticBraking/vpl.in +++ b/tests/Stellar/MagneticBraking/vpl.in @@ -2,7 +2,7 @@ sSystemName system iVerbose 5 bOverwrite 1 -saBodyFiles matt.in sk.in reiners.in +saBodyFiles matt.in sk.in reiners.in breiman.in sUnitMass solar sUnitLength AU sUnitTime YEARS diff --git a/tests/conftest.py b/tests/conftest.py index 93b905394..1a58d184e 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -11,7 +11,7 @@ sys.path.insert(1, os.path.abspath(os.path.dirname(__file__))) # Set to False to keep .log, .forward, etc files -CLEAN_OUTPUTS = True +CLEAN_OUTPUTS = False @pytest.fixture(scope="module") diff --git a/tests/maketest.py b/tests/maketest.py index b794cdec0..82d6b0a84 100644 --- a/tests/maketest.py +++ b/tests/maketest.py @@ -363,6 +363,9 @@ def ProcessUnits(data): if units == "kg/m^3": v[0] = "u.kg / u.m ** 3" + if units == "kg/sec^3": + v[0] = "u.kg / u.sec ** 3" + if units == "m/sec" or units == "m/s": v[0] = "u.m / u.sec"